VMTK
vtkvmtkInternalTetrahedraExtractor.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3 Program: VMTK
4 Module: $RCSfile: vtkvmtkInternalTetrahedraExtractor.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 =========================================================================*/
30 #ifndef __vtkvmtkInternalTetrahedraExtractor_h
31 #define __vtkvmtkInternalTetrahedraExtractor_h
32 
33 #include "vtkUnstructuredGridAlgorithm.h"
34 #include "vtkPolyData.h"
35 #include "vtkIdList.h"
36 //#include "vtkvmtkComputationalGeometryWin32Header.h"
37 #include "vtkvmtkWin32Header.h"
38 
39 class VTK_VMTK_COMPUTATIONAL_GEOMETRY_EXPORT vtkvmtkInternalTetrahedraExtractor : public vtkUnstructuredGridAlgorithm
40 {
41  public:
42  vtkTypeMacro(vtkvmtkInternalTetrahedraExtractor,vtkUnstructuredGridAlgorithm);
43  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
44 
46 
48 
50  vtkSetStringMacro(OutwardNormalsArrayName);
51  vtkGetStringMacro(OutwardNormalsArrayName);
53 
55 
56  vtkSetMacro(UseCaps,int);
57  vtkGetMacro(UseCaps,int);
58  vtkBooleanMacro(UseCaps,int);
60 
62 
63  vtkSetObjectMacro(CapCenterIds,vtkIdList);
64  vtkGetObjectMacro(CapCenterIds,vtkIdList);
66 
67  vtkSetMacro(Tolerance,double);
68  vtkGetMacro(Tolerance,double);
69 
71 
72  vtkSetMacro(RemoveSubresolutionTetrahedra,int);
73  vtkGetMacro(RemoveSubresolutionTetrahedra,int);
74  vtkBooleanMacro(RemoveSubresolutionTetrahedra,int);
76 
77  vtkSetMacro(SubresolutionFactor,double);
78  vtkGetMacro(SubresolutionFactor,double);
79 
80  vtkSetObjectMacro(Surface,vtkPolyData);
81  vtkGetObjectMacro(Surface,vtkPolyData);
82 
83  protected:
86 
87  virtual int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *) VTK_OVERRIDE;
88 
89  int UseCaps;
90  vtkIdList* CapCenterIds;
92 
93  double Tolerance;
94 
96  vtkPolyData* Surface;
98 
99  private:
101  void operator=(const vtkvmtkInternalTetrahedraExtractor&); // Not implemented.
102 };
103 
104 #endif
Extract internal tetrahedra from a Delaunay tessellation of a surface.