vtkOrderedTriangulator.h
Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00069 #ifndef __vtkOrderedTriangulator_h
00070 #define __vtkOrderedTriangulator_h
00071
00072 #include "vtkObject.h"
00073
00074 class vtkUnstructuredGrid;
00075 class vtkOTMesh;
00076 class vtkCellArray;
00077 class vtkMemoryPool;
00078 class vtkIdList;
00079 class vtkPoints;
00080
00081 class VTK_COMMON_EXPORT vtkOrderedTriangulator : public vtkObject
00082 {
00083 public:
00084 vtkTypeRevisionMacro(vtkOrderedTriangulator,vtkObject);
00085 void PrintSelf(ostream& os, vtkIndent indent);
00086
00088 static vtkOrderedTriangulator *New();
00089
00091
00093 void InitTriangulation(float xmin, float xmax, float ymin, float ymax,
00094 float zmin, float zmax, int numPts);
00095 void InitTriangulation(float bounds[6], int numPts);
00097
00099
00112 vtkIdType InsertPoint(vtkIdType id, float x[3], float p[3], int type);
00113 vtkIdType InsertPoint(vtkIdType id, vtkIdType sortid, float x[3], float p[3],
00114 int type);
00115 vtkIdType InsertPoint(vtkIdType id, vtkIdType sortid, vtkIdType sortid2,
00116 float x[3], float p[3], int type);
00118
00121 void Triangulate();
00122
00128 void UpdatePointType(vtkIdType internalId, int type);
00129
00131
00135 vtkSetMacro(PreSorted,int);
00136 vtkGetMacro(PreSorted,int);
00137 vtkBooleanMacro(PreSorted,int);
00139
00141
00143 vtkSetMacro(UseTwoSortIds,int);
00144 vtkGetMacro(UseTwoSortIds,int);
00145 vtkBooleanMacro(UseTwoSortIds,int);
00147
00157 vtkIdType GetTetras(int classification, vtkUnstructuredGrid *ugrid);
00158
00166 vtkIdType AddTetras(int classification, vtkUnstructuredGrid *ugrid);
00167
00173 vtkIdType AddTetras(int classification, vtkCellArray *connectivity);
00174
00178 vtkIdType AddTetras(int classification, vtkIdList *ptIds, vtkPoints *pts);
00179
00182 vtkIdType AddTriangles(vtkCellArray *connectivity);
00183
00187 vtkIdType AddTriangles(vtkIdType id, vtkCellArray *connectivity);
00188
00189 protected:
00190 vtkOrderedTriangulator();
00191 ~vtkOrderedTriangulator();
00192
00193 private:
00194 vtkOTMesh *Mesh;
00195 int NumberOfPoints;
00196 int MaximumNumberOfPoints;
00197 int PreSorted;
00198 int UseTwoSortIds;
00199 vtkMemoryPool* Pool;
00200 double Quanta;
00201
00202 private:
00203 vtkOrderedTriangulator(const vtkOrderedTriangulator&);
00204 void operator=(const vtkOrderedTriangulator&);
00205 };
00206
00207 #endif
00208
00209