13#ifndef vtkAbstractCellArray_h
14#define vtkAbstractCellArray_h
16#include "vtkCommonDataModelModule.h"
21#include <initializer_list>
23VTK_ABI_NAMESPACE_BEGIN
113 VTK_EXPECTS(0 <= cellId && cellId < GetNumberOfCells()) = 0;
abstract object to represent cell connectivity
virtual void Initialize()=0
Free any memory and reset to an empty state.
virtual void DeepCopy(vtkAbstractCellArray *ca)=0
Perform a deep copy (no reference counting) of the given cell array.
virtual bool IsStorageShareable() const =0
virtual int GetMaxCellSize()=0
Returns the size of the largest cell.
virtual void GetCellAtId(vtkIdType cellId, vtkIdType &cellSize, vtkIdType *cellPoints)=0
Return the point ids for the cell at cellId.
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
virtual void GetCellAtId(vtkIdType cellId, vtkIdType &cellSize, vtkIdType const *&cellPoints, vtkIdList *ptIds)=0
Return the point ids for the cell at cellId.
virtual void GetCellAtId(vtkIdType cellId, vtkIdList *pts)=0
Return the point ids for the cell at cellId.
virtual vtkIdType GetNumberOfCells() const =0
Get the number of cells in the array.
vtkNew< vtkIdList > TempCell
virtual vtkIdType IsHomogeneous()=0
Check if all cells have the same number of vertices.
virtual vtkIdType GetOffset(vtkIdType cellId)=0
Get the offset (into the connectivity) for a specified cell id.
void GetCellAtId(vtkIdType cellId, vtkIdType &cellSize, vtkIdType const *&cellPoints)
Return the point ids for the cell at cellId.
~vtkAbstractCellArray() override
virtual vtkIdType GetNumberOfConnectivityIds() const =0
Get the size of the connectivity array that stores the point ids.
virtual void ShallowCopy(vtkAbstractCellArray *ca)=0
Shallow copy ca into this cell array.
virtual vtkIdType GetNumberOfOffsets() const =0
Get the number of elements in the offsets array.
virtual vtkIdType GetCellSize(vtkIdType cellId) const =0
Return the size of the cell at cellId.
abstract superclass for arrays of numeric data
list of point or cell ids
a simple class to control print indentation
Allocate and hold a VTK object.
abstract base class for most VTK objects
#define VTK_SIZEHINT(...)