VMTK
vtkvmtkPolyDataLineEmbedder.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3 Program: VMTK
4 Module: $RCSfile: vtkvmtkPolyDataLineEmbedder.h,v $
5 Language: C++
6 
7  Copyright (c) Luca Antiga, David Steinman. All rights reserved.
8  See LICENSE file for details.
9 
10  Portions of this code are covered under the VTK copyright.
11  See VTKCopyright.txt or http://www.kitware.com/VTKCopyright.htm
12  for details.
13 
14  This software is distributed WITHOUT ANY WARRANTY; without even
15  the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
16  PURPOSE. See the above copyright notices for more information.
17 
18 =========================================================================*/
28 #ifndef __vtkvmtkPolyDataLineEmbedder_h
29 #define __vtkvmtkPolyDataLineEmbedder_h
30 
31 #include "vtkPolyDataAlgorithm.h"
32 #include "vtkPolyData.h"
33 //#include "vtkvmtkComputationalGeometryWin32Header.h"
34 #include "vtkvmtkWin32Header.h"
35 
36 class VTK_VMTK_COMPUTATIONAL_GEOMETRY_EXPORT vtkvmtkPolyDataLineEmbedder : public vtkPolyDataAlgorithm
37 {
38  public:
39  vtkTypeMacro(vtkvmtkPolyDataLineEmbedder,vtkPolyDataAlgorithm);
40  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
41 
42  static vtkvmtkPolyDataLineEmbedder *New();
43 
44  vtkSetObjectMacro(Lines,vtkPolyData);
45  vtkGetObjectMacro(Lines,vtkPolyData);
46 
47  vtkSetStringMacro(EdgeArrayName);
48  vtkGetStringMacro(EdgeArrayName);
49 
50  vtkSetStringMacro(EdgePCoordArrayName);
51  vtkGetStringMacro(EdgePCoordArrayName);
52 
53  vtkSetMacro(SnapToMeshTolerance,double);
54  vtkGetMacro(SnapToMeshTolerance,double);
55 
56  vtkGetObjectMacro(EmbeddedLinePointIds,vtkIdList);
57 
58  protected:
61 
62  virtual int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *) VTK_OVERRIDE;
63 
64  vtkIdType GetCellId(vtkPolyData* input, vtkIdList* pointIds);
65  void GetNeighbors(vtkIdType pointId, vtkIdList* neighborPointIds);
66  void OrderNeighborhood(vtkIdList* cellPointIds, vtkIdList* neighborIds, vtkIdList* addedPointIds, vtkIdList* snapToMeshIds, vtkDataArray* edgeArray, vtkDataArray* edgePCoordArray, vtkIdList* orderedNeighborIds);
67  void Triangulate(vtkIdList* cellPointIds, vtkIdList* orderedNeighborIds, vtkIdList* triangulationIds);
68 
72  vtkPolyData* Lines;
73 
75 
76  private:
77  vtkvmtkPolyDataLineEmbedder(const vtkvmtkPolyDataLineEmbedder&); // Not implemented.
78  void operator=(const vtkvmtkPolyDataLineEmbedder&); // Not implemented.
79 };
80 
81 #endif
not implemented. Takes a number of lines and embed them in a mesh.