Main Page | Class Hierarchy | Alphabetical List | Class List | File List | Class Members | File Members | Related Pages

dox/Common/vtkOrderedTriangulator.h

Go to the documentation of this file.
00001 /*========================================================================= 00002 00003 Program: Visualization Toolkit 00004 Module: $RCSfile: vtkOrderedTriangulator.h,v $ 00005 Language: C++ 00006 00007 Copyright (c) 1993-2002 Ken Martin, Will Schroeder, Bill Lorensen 00008 All rights reserved. 00009 See Copyright.txt or http://www.kitware.com/Copyright.htm for details. 00010 00011 This software is distributed WITHOUT ANY WARRANTY; without even 00012 the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR 00013 PURPOSE. See the above copyright notice for more information. 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; //number of points inserted 00196 int MaximumNumberOfPoints; //maximum possible number of points to be inserted 00197 int PreSorted; 00198 int UseTwoSortIds; 00199 vtkMemoryPool* Pool; 00200 double Quanta; 00201 00202 private: 00203 vtkOrderedTriangulator(const vtkOrderedTriangulator&); // Not implemented. 00204 void operator=(const vtkOrderedTriangulator&); // Not implemented. 00205 }; 00206 00207 #endif 00208 00209