68 #ifndef vtkCellIterator_h
69 #define vtkCellIterator_h
71 #include "vtkCommonDataModelModule.h"
99 virtual bool IsDoneWithTraversal() = 0;
111 int GetCellDimension();
163 virtual void ResetToFirstCell() = 0;
168 virtual void IncrementToNextCell() = 0;
173 virtual void FetchCellType() = 0;
178 virtual void FetchPointIds() = 0;
183 virtual void FetchPoints() = 0;
204 UninitializedFlag = 0x0,
213 this->CacheFlags = UninitializedFlag;
217 void SetCache(
unsigned char flags)
219 this->CacheFlags |= flags;
222 bool CheckCache(
unsigned char flags)
224 return (this->CacheFlags & flags) == flags;
230 unsigned char CacheFlags;
234 inline void vtkCellIterator::InitTraversal()
250 if (!this->CheckCache(CellTypeFlag))
253 this->SetCache(CellTypeFlag);
261 if (!this->CheckCache(PointIdsFlag))
264 this->SetCache(PointIdsFlag);
272 if (!this->CheckCache(PointsFlag))
275 this->SetCache(PointsFlag);
283 if (!this->CheckCache(FacesFlag))
286 this->SetCache(FacesFlag);
294 if (!this->CheckCache(PointIdsFlag))
297 this->SetCache(PointIdsFlag);
368 if (!this->CheckCache(FacesFlag))
371 this->SetCache(FacesFlag);
376 vtkGenericWarningMacro(
"Unknown cell type: " << this->CellType);
383 #endif //vtkCellIterator_h
vtkIdType GetNumberOfFaces()
Return the number of faces in the current cell.
abstract base class for most VTK objects
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
vtkIdType GetNumberOfIds()
Return the number of id's in the list.
virtual void FetchCellType()=0
Lookup the cell type in the data set and store it in this->CellType.
virtual void ResetToFirstCell()=0
Update internal state to point to the first cell.
provides thread-safe access to cells
virtual void IncrementToNextCell()=0
Update internal state to point to the next cell.
void GoToNextCell()
Increment to next cell.
virtual void FetchPointIds()=0
Lookup the cell point ids in the data set and store them in this->PointIds.
a simple class to control print indentation
list of point or cell ids
vtkIdList * GetPointIds()
Get the ids of the points in the current cell.
vtkIdList * GetFaces()
Get the faces for a polyhedral cell.
virtual void FetchFaces()
Lookup the cell faces in the data set and store them in this->Points.
vtkIdType GetId(const vtkIdType i)
Return the id at location i.
int GetCellType()
Get the current cell type (e.g.
vtkPoints * GetPoints()
Get the points in the current cell.
virtual void FetchPoints()=0
Lookup the cell points in the data set and store them in this->Points.
Efficient cell iterator for vtkDataSet topologies.
represent and manipulate 3D points
vtkIdType GetNumberOfPoints()
Return the number of points in the current cell.