 |
VTK
9.0.1
|
Go to the documentation of this file.
65 #ifndef vtkCellIterator_h
66 #define vtkCellIterator_h
69 #include "vtkCommonDataModelModule.h"
96 virtual bool IsDoneWithTraversal() = 0;
108 int GetCellDimension();
160 virtual void ResetToFirstCell() = 0;
165 virtual void IncrementToNextCell() = 0;
170 virtual void FetchCellType() = 0;
175 virtual void FetchPointIds() = 0;
180 virtual void FetchPoints() = 0;
201 UninitializedFlag = 0x0,
210 this->CacheFlags = UninitializedFlag;
214 void SetCache(
unsigned char flags) { this->CacheFlags |= flags; }
216 bool CheckCache(
unsigned char flags) {
return (this->CacheFlags & flags) == flags; }
221 unsigned char CacheFlags;
241 if (!this->CheckCache(CellTypeFlag))
244 this->SetCache(CellTypeFlag);
252 if (!this->CheckCache(PointIdsFlag))
255 this->SetCache(PointIdsFlag);
263 if (!this->CheckCache(PointsFlag))
266 this->SetCache(PointsFlag);
274 if (!this->CheckCache(FacesFlag))
277 this->SetCache(FacesFlag);
285 if (!this->CheckCache(PointIdsFlag))
288 this->SetCache(PointIdsFlag);
371 if (!this->CheckCache(FacesFlag))
374 this->SetCache(FacesFlag);
379 vtkGenericWarningMacro(
"Unknown cell type: " << this->CellType);
386 #endif // vtkCellIterator_h
represent and manipulate 3D points
@ VTK_HIGHER_ORDER_TETRAHEDRON
@ VTK_PARAMETRIC_TETRA_REGION
@ VTK_QUADRATIC_LINEAR_WEDGE
int GetCellType()
Get the current cell type (e.g.
@ VTK_BEZIER_QUADRILATERAL
virtual void FetchPointIds()=0
Lookup the cell point ids in the data set and store them in this->PointIds.
abstract base class for most VTK objects
@ VTK_LAGRANGE_HEXAHEDRON
@ VTK_HIGHER_ORDER_TRIANGLE
vtkIdList * GetPointIds()
Get the ids of the points in the current cell.
virtual void FetchCellType()=0
Lookup the cell type in the data set and store it in this->CellType.
vtkPoints * GetPoints()
Get the points in the current cell.
@ VTK_PARAMETRIC_HEX_REGION
vtkIdType GetNumberOfPoints()
Return the number of points in the current cell.
@ VTK_QUADRATIC_LINEAR_QUAD
virtual void ResetToFirstCell()=0
Update internal state to point to the first cell.
virtual void FetchFaces()
Lookup the cell faces in the data set and store them in this->Faces.
@ VTK_TRIQUADRATIC_HEXAHEDRON
a simple class to control print indentation
vtkIdType GetId(const vtkIdType i)
Return the id at location i.
list of point or cell ids
@ VTK_BIQUADRATIC_QUADRATIC_HEXAHEDRON
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
void InitTraversal()
Reset to the first cell.
@ VTK_HIGHER_ORDER_PYRAMID
vtkIdList * GetFaces()
Get the faces for a polyhedral cell.
@ VTK_HIGHER_ORDER_POLYGON
@ VTK_LAGRANGE_TETRAHEDRON
@ VTK_PARAMETRIC_TRI_SURFACE
provides thread-safe access to cells
virtual void IncrementToNextCell()=0
Update internal state to point to the next cell.
@ VTK_PARAMETRIC_QUAD_SURFACE
@ VTK_QUADRATIC_HEXAHEDRON
void GoToNextCell()
Increment to next cell.
@ VTK_BIQUADRATIC_QUADRATIC_WEDGE
Efficient cell iterator for vtkDataSet topologies.
virtual void FetchPoints()=0
Lookup the cell points in the data set and store them in this->Points.
vtkIdType GetNumberOfFaces()
Return the number of faces in the current cell.
vtkIdType GetNumberOfIds()
Return the number of id's in the list.
@ VTK_HIGHER_ORDER_HEXAHEDRON
@ VTK_LAGRANGE_QUADRILATERAL
@ VTK_BIQUADRATIC_TRIANGLE