65 #ifndef vtkCellArrayIterator_h 66 #define vtkCellArrayIterator_h 68 #include "vtkCommonDataModelModule.h" 76 #include <type_traits> 103 this->CurrentCellId = cellId;
104 this->NumberOfCells = this->CellArray->GetNumberOfCells();
105 assert(cellId <= this->NumberOfCells);
123 this->GoToCell(cellId);
124 this->GetCurrentCell(numCellPts, cellPts);
128 this->GoToCell(cellId);
129 this->GetCurrentCell(cellIds);
133 this->GoToCell(cellId);
134 return this->GetCurrentCell();
148 this->CurrentCellId = 0;
149 this->NumberOfCells = this->CellArray->GetNumberOfCells();
178 assert(this->CurrentCellId < this->NumberOfCells);
180 if (this->CellArray->IsStorageShareable())
182 this->CellArray->GetCellAtId(this->CurrentCellId, cellSize, cellPoints);
186 this->CellArray->GetCellAtId(this->CurrentCellId, this->TempCell);
187 cellSize = this->TempCell->GetNumberOfIds();
188 cellPoints = this->TempCell->GetPointer(0);
193 assert(this->CurrentCellId < this->NumberOfCells);
194 this->CellArray->GetCellAtId(this->CurrentCellId, ids);
198 assert(this->CurrentCellId < this->NumberOfCells);
199 this->CellArray->GetCellAtId(this->CurrentCellId, this->TempCell);
200 return this->TempCell;
216 assert(this->CurrentCellId < this->NumberOfCells);
217 this->CellArray->ReplaceCellAtId(this->CurrentCellId, list);
227 assert(this->CurrentCellId < this->NumberOfCells);
228 this->CellArray->ReplaceCellAtId(this->CurrentCellId, npts, pts);
236 assert(this->CurrentCellId < this->NumberOfCells);
237 this->CellArray->ReverseCellAtId(this->CurrentCellId);
258 #endif // vtkCellArrayIterator_h void ReplaceCurrentCell(vtkIdList *list)
Specialized methods for performing operations on the vtkCellArray.
void GetCellAtId(vtkIdType cellId, vtkIdList *cellIds)
The following are methods supporting random access iteration.
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.
void ReverseCurrentCell()
Reverses the order of the point ids in the current cell.
void GetCurrentCell(vtkIdList *ids)
vtkCellArray * GetCellArray()
Return the vtkCellArray object over which iteration is occuring.
vtkIdList * GetCellAtId(vtkIdType cellId)
The following are methods supporting random access iteration.
void GetCurrentCell(vtkIdType &cellSize, vtkIdType const *&cellPoints)
Returns the definition of the current cell during forward traversal.
bool IsDoneWithTraversal()
Returns true if the iterator has completed the traversal.
void ReplaceCurrentCell(vtkIdType npts, const vtkIdType *pts)
Replace the current cell with the ids in pts.
a simple class to control print indentation
void GetCellAtId(vtkIdType cellId, vtkIdType &numCellPts, vtkIdType const *&cellPts)
The following are methods supporting random access iteration.
list of point or cell ids
friend class vtkCellArrayIterator
void GoToNextCell()
Advance the forward iterator to the next cell.
vtkSmartPointer< vtkCellArray > CellArray
vtkNew< vtkIdList > TempCell
object to represent cell connectivity
vtkIdList * GetCurrentCell()
void GoToFirstCell()
The following are methods supporting forward iteration.
static vtkObject * New()
Create an object with Debug turned off, modified time initialized to zero, and reference counting on...
Encapsulate traversal logic for vtkCellArray.
void GoToCell(vtkIdType cellId)
Intialize the iterator to a specific cell.
vtkIdType GetCurrentCellId() const
Returns the id of the current cell during forward iteration.