VMTK
vtkvmtkTetGenWrapper.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3 Program: VMTK
4 Module: $RCSfile: vtkvmtkTetGenWrapper.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 __vtkvmtkTetGenWrapper_h
29 #define __vtkvmtkTetGenWrapper_h
30 
31 #include "vtkUnstructuredGridAlgorithm.h"
32 //#include "vtkPointSet.h"
33 #include "vtkvmtkWin32Header.h"
34 
35 class VTK_VMTK_MISC_EXPORT vtkvmtkTetGenWrapper : public vtkUnstructuredGridAlgorithm
36 {
37  public:
38  static vtkvmtkTetGenWrapper *New();
39  vtkTypeMacro(vtkvmtkTetGenWrapper,vtkUnstructuredGridAlgorithm);
40  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
41 
42  vtkSetMacro(PLC,int);
43  vtkGetMacro(PLC,int);
44  vtkBooleanMacro(PLC,int);
45 
46  vtkSetMacro(Refine,int);
47  vtkGetMacro(Refine,int);
48  vtkBooleanMacro(Refine,int);
49 
50  vtkSetMacro(Coarsen,int);
51  vtkGetMacro(Coarsen,int);
52  vtkBooleanMacro(Coarsen,int);
53 
54  vtkSetMacro(NoBoundarySplit,int);
55  vtkGetMacro(NoBoundarySplit,int);
56  vtkBooleanMacro(NoBoundarySplit,int);
57 
58  vtkSetMacro(Quality,int);
59  vtkGetMacro(Quality,int);
60  vtkBooleanMacro(Quality,int);
61 
62  vtkSetMacro(MinRatio,double);
63  vtkGetMacro(MinRatio,double);
64 
65  vtkSetMacro(VarVolume,int);
66  vtkGetMacro(VarVolume,int);
67  vtkBooleanMacro(VarVolume,int);
68 
69  vtkSetMacro(FixedVolume,int);
70  vtkGetMacro(FixedVolume,int);
71  vtkBooleanMacro(FixedVolume,int);
72 
73  vtkSetMacro(MaxVolume,double);
74  vtkGetMacro(MaxVolume,double);
75 
76  vtkSetMacro(RemoveSliver,int);
77  vtkGetMacro(RemoveSliver,int);
78  vtkBooleanMacro(RemoveSliver,int);
79 
80  vtkSetMacro(MaxDihedral,double);
81  vtkGetMacro(MaxDihedral,double);
82 
83  vtkSetMacro(MinDihedral,double);
84  vtkGetMacro(MinDihedral,double);
85 
86  vtkSetMacro(RegionAttrib,int);
87  vtkGetMacro(RegionAttrib,int);
88  vtkBooleanMacro(RegionAttrib,int);
89 
90  vtkSetMacro(Epsilon,double);
91  vtkGetMacro(Epsilon,double);
92 
93  vtkSetMacro(NoMerge,int);
94  vtkGetMacro(NoMerge,int);
95  vtkBooleanMacro(NoMerge,int);
96 
97  vtkSetMacro(DetectInter,int);
98  vtkGetMacro(DetectInter,int);
99  vtkBooleanMacro(DetectInter,int);
100 
101  vtkSetMacro(CheckClosure,int);
102  vtkGetMacro(CheckClosure,int);
103  vtkBooleanMacro(CheckClosure,int);
104 
105  vtkSetMacro(Order,int);
106  vtkGetMacro(Order,int);
107 
108  vtkSetMacro(DoCheck,int);
109  vtkGetMacro(DoCheck,int);
110  vtkBooleanMacro(DoCheck,int);
111 
112  vtkSetMacro(Verbose,int);
113  vtkGetMacro(Verbose,int);
114  vtkBooleanMacro(Verbose,int);
115 
116  vtkSetStringMacro(CellEntityIdsArrayName);
117  vtkGetStringMacro(CellEntityIdsArrayName);
118 
119  vtkSetStringMacro(TetrahedronVolumeArrayName);
120  vtkGetStringMacro(TetrahedronVolumeArrayName);
121 
122  vtkSetStringMacro(SizingFunctionArrayName);
123  vtkGetStringMacro(SizingFunctionArrayName);
124 
125  vtkSetMacro(OutputSurfaceElements,int);
126  vtkGetMacro(OutputSurfaceElements,int);
127  vtkBooleanMacro(OutputSurfaceElements,int);
128 
129  vtkSetMacro(OutputVolumeElements,int);
130  vtkGetMacro(OutputVolumeElements,int);
131  vtkBooleanMacro(OutputVolumeElements,int);
132 
133  vtkSetMacro(UseSizingFunction,int);
134  vtkGetMacro(UseSizingFunction,int);
135  vtkBooleanMacro(UseSizingFunction,int);
136 
137  vtkSetMacro(LastRunExitStatus,int);
138 
139  protected:
142 
143  virtual int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *) VTK_OVERRIDE;
144 
145  int PLC;
146  int Refine;
147  int Coarsen;
149  int Quality;
150  double MinRatio;
153  double MaxVolume;
155  double MinDihedral;
156  double MaxDihedral;
158  double Epsilon;
159  int NoMerge;
162  int Order;
163  int DoCheck;
164  int Verbose;
167 
171 
174 
175  private:
176  vtkvmtkTetGenWrapper(const vtkvmtkTetGenWrapper&); // Not implemented.
177  void operator=(const vtkvmtkTetGenWrapper&); // Not implemented.
178 };
179 
180 #endif
Wrapped tetgen volumetric meshing utility.