34 #ifndef vtkUnstructuredGrid_h
35 #define vtkUnstructuredGrid_h
39 #include "vtkCommonDataModelModule.h"
134 return this->AllocateExact(numCells, numCells * maxCellSize);
159 this->AllocateExact(numCells, numCells);
230 this->Connectivity->GetCellAtId(cellId, npts, pts);
251 this->Connectivity->GetCellAtId(cellId, npts, pts, ptIds);
396 virtual int GetPiece();
397 virtual int GetNumberOfPieces();
403 virtual int GetGhostLevel();
440 void RemoveGhostCells();
470 int InitializeFacesRepresentation(
vtkIdType numPrevCells);
496 static void DecomposeAPolyhedronCell(
const vtkIdType* polyhedronCellStream,
vtkIdType& nCellpts,
511 static void DecomposeAPolyhedronCell(
vtkIdType nCellFaces,
const vtkIdType* inFaceStream,
vtkIdType GetCellSize(vtkIdType) override
This method always returns 1, as all cells are point in a pure vtkPointSet.
bool AllocateEstimate(vtkIdType numCells, vtkIdType maxCellSize)
Pre-allocate memory in internal data structures.
static vtkUnstructuredGridBase * GetData(vtkInformation *info)
Retrieve an instance of this class from an information object.
vtkTriangleStrip * TriangleStrip
cell represents a parabolic, 13-node isoparametric pyramid
vtkTriQuadraticHexahedron * TriQuadraticHexahedron
vtkLagrangeTriangle * LagrangeTriangle
vtkTypeUInt32 vtkMTimeType
vtkLagrangeWedge * LagrangeWedge
vtkSmartPointer< vtkCellTypes > DistinctCellTypes
abstract class to specify dataset behavior
a cell that represents a 3D point
a 3D cell that represents a linear pyramid
vtkQuadraticWedge * QuadraticWedge
#define VTK_DEPRECATED_IN_9_2_0(reason)
an abstract base class for classes that build topological links from points to cells ...
a cell that represents an orthogonal quadrilateral
cell represents a parabolic, 9-node isoparametric quad
vtkBezierTriangle * BezierTriangle
vtkBezierWedge * BezierWedge
A 2D cell that represents an arbitrary order Bezier triangle.
vtkBezierQuadrilateral * BezierQuadrilateral
void GetCellPoints(vtkIdType, vtkIdList *idList) override
Topological inquiry to get points defining cell.
vtkBezierHexahedron * BezierHexahedron
vtkQuadraticTriangle * QuadraticTriangle
vtkPentagonalPrism * PentagonalPrism
a cell that represents a 2D quadrilateral
A 3D cell that represents an arbitrary order Bezier hex.
cell represents a parabolic, 19-node isoparametric pyramid
dynamic, self-adjusting array of vtkIdType
vtkIdType GetNumberOfCells() override
This method always returns 0, as there are no cells in a vtkPointSet.
vtkTriQuadraticPyramid * TriQuadraticPyramid
an empty cell used as a place-holder during processing
vtkQuadraticHexahedron * QuadraticHexahedron
cell represents a set of 0D vertices
void Squeeze() override
Reclaim any unused memory.
A 3D cell that represents an arbitrary order Lagrange tetrahedron.
vtkQuadraticTetra * QuadraticTetra
cell represents a parabolic, 18-node isoparametric wedge
int GetCellType(vtkIdType) override
This method always returns VTK_EMPTY_CELL, as there is no cell in a vtkPointSet.
void PrintSelf(ostream &os, vtkIndent indent) override
Standard methods for type information and printing.
provides thread-safe access to cells
vtkPolyhedron * Polyhedron
cell represents a biquadratic, 24-node isoparametric hexahedron
a 3D cell that represents a prism with hexagonal base
virtual vtkIdType InternalInsertNextCell(int type, vtkIdList *ptIds)=0
vtkHexagonalPrism * HexagonalPrism
cell represents a cubic , isoparametric 1D line
vtkBiQuadraticQuad * BiQuadraticQuad
a cell that represents a triangle strip
vtkMTimeType DistinctCellTypesUpdateMTime
a 3D cell that represents a tetrahedron
a 3D cell that represents a convex prism with pentagonal base
vtkBezierCurve * BezierCurve
cell represents a 1D line
abstract class to specify cell behavior
A 3D cell that represents an arbitrary order Lagrange wedge.
a cell that represents a 3D orthogonal parallelepiped
A 2D cell that represents an arbitrary order Lagrange triangle.
cell represents a parabolic, 8-node isoparametric quad
virtual void GetIdsOfCellsOfType(int type, vtkIdTypeArray *array)=0
Fill vtkIdTypeArray container with list of cell Ids.
a simple class to control print indentation
vtkQuadraticQuad * QuadraticQuad
vtkSmartPointer< vtkAbstractCellLinks > Links
vtkLagrangeHexahedron * LagrangeHexahedron
static vtkPointSet * New()
Standard instantiation method.
list of point or cell ids
void Initialize() override
Reset to an empty state and free any memory.
A 3D cell that represents an arbitrary order Bezier tetrahedron.
dataset represents arbitrary combinations of all possible cell types
vtkBiQuadraticTriangle * BiQuadraticTriangle
vtkSmartPointer< vtkUnsignedCharArray > Types
vtkHexahedron * Hexahedron
a cell that represents an n-sided polygon
vtkSmartPointer< vtkIdTypeArray > CellLocations
vtkLagrangeTetra * LagrangeTetra
cell represents a parabolic, isoparametric triangle
a cell that represents a linear 3D hexahedron
vtkIdType GetNumberOfIds() const noexcept
Return the number of id's in the list.
cell represents a parabolic, 10-node isoparametric tetrahedron
a 3D cell defined by a set of convex points
virtual void GetCellNeighbors(vtkIdType cellId, vtkIdList *ptIds, vtkIdList *cellIds)
Topological inquiry to get all cells using list of points exclusive of cell specified (e...
#define VTK_SIZEHINT(...)
dynamic, self-adjusting array of unsigned char
A 3D cell that represents an arbitrary order Bezier wedge.
vtkQuadraticLinearWedge * QuadraticLinearWedge
vtkLagrangeQuadrilateral * LagrangeQuadrilateral
int GetMaxCellSize() override
This method always returns 0, as there are no cells in a vtkPointSet.
static vtkPointSet * ExtendedNew()
vtkBiQuadraticQuadraticWedge * BiQuadraticQuadraticWedge
object to represent cell connectivity
vtkBiQuadraticQuadraticHexahedron * BiQuadraticQuadraticHexahedron
virtual void InternalReplaceCell(vtkIdType cellId, int npts, const vtkIdType pts[])=0
cell represents a parabolic, 27-node isoparametric hexahedron
vtkCellIterator * NewCellIterator() override
Return an iterator that traverses the cells in this data set.
a cell that represents a parabolic n-sided polygon
vtkLagrangeCurve * LagrangeCurve
cell represents a parabolic, isoparametric edge
virtual int IsHomogeneous()=0
Traverse cells and determine if cells are all of the same type.
a cell that represents a triangle
cell represents a parabolic, 20-node isoparametric hexahedron
void GetPointCells(vtkIdType, vtkIdList *idList) override
Topological inquiry to get cells using point.
int GetDataObjectType() override
Standard vtkDataSet API methods.
void DeepCopy(vtkDataObject *src) override
Shallow and Deep copy.
cell represents a parabolic, isoparametric triangle
vtkBezierTetra * BezierTetra
cell represents a parabolic, 15-node isoparametric wedge
vtkQuadraticLinearQuad * QuadraticLinearQuad
vtkConvexPointSet * ConvexPointSet
a 3D cell defined by a set of polygonal faces
vtkCellArray * GetCells()
Return the unstructured grid connectivity array.
Efficient cell iterator for vtkDataSet topologies.
vtkPolyVertex * PolyVertex
unsigned long GetActualMemorySize() override
Return the actual size of the data in kibibytes (1024 bytes).
void ShallowCopy(vtkDataObject *src) override
Shallow and Deep copy.
vtkCell * GetCell(vtkIdType) override
This method always return a vtkEmptyCell, as there is no cell in a vtkPointSet.
A 3D cell that represents an arbitrary order Lagrange hex.
void CopyStructure(vtkDataSet *pd) override
Copy the geometric structure of an input point set object.
void GetCellPoints(vtkIdType cellId, vtkIdType &npts, vtkIdType const *&pts, vtkIdList *ptIds) override
A higher-performing variant of the virtual vtkDataSet::GetCellPoints() for unstructured grids...
general representation of visualization data
cell represents a, 12-node isoparametric wedge
vtkSmartPointer< vtkIdTypeArray > Faces
vtkSmartPointer< vtkCellArray > Connectivity
object provides direct access to cells in vtkCellArray and type information
cell represents a quadratic-linear, 6-node isoparametric quad
vtkQuadraticPolygon * QuadraticPolygon
dataset represents arbitrary combinations of all possible cell types.
vtkQuadraticEdge * QuadraticEdge
vtkSmartPointer< vtkIdTypeArray > FaceLocations
vtkIdType * GetPointer(const vtkIdType i)
Get a pointer to a particular data index.
a 3D cell that represents a linear wedge
virtual vtkCell * GetCell(vtkIdType cellId)=0
Get cell with cellId such that: 0 <= cellId < NumberOfCells.
virtual void GetCellBounds(vtkIdType cellId, double bounds[6])
Get the bounds of the cell with cellId such that: 0 <= cellId < NumberOfCells.
#define VTK_UNSTRUCTURED_GRID
vtkQuadraticPyramid * QuadraticPyramid
cell represents a set of 1D lines
void Allocate(vtkIdType numCells=1000, int vtkNotUsed(extSize)=1000) override
Method allocates initial storage for the cell connectivity.
void GetCellNeighbors(vtkIdType cellId, vtkIdList *ptIds, vtkIdList *cellIds) override
A topological inquiry to retrieve all of the cells using list of points exclusive of the current cell...