VTK  9.2.6
vtkUnstructuredGrid.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: Visualization Toolkit
4  Module: vtkUnstructuredGrid.h
5 
6  Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
7  All rights reserved.
8  See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
9 
10  This software is distributed WITHOUT ANY WARRANTY; without even
11  the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
12  PURPOSE. See the above copyright notice for more information.
13 
14 =========================================================================*/
143 #ifndef vtkUnstructuredGrid_h
144 #define vtkUnstructuredGrid_h
145 
146 #include "vtkAbstractCellLinks.h" // For vtkAbstractCellLinks
147 #include "vtkCellArray.h" // inline GetCellPoints()
148 #include "vtkCommonDataModelModule.h" // For export macro
149 #include "vtkDeprecation.h" // For deprecation
150 #include "vtkIdTypeArray.h" // inline GetCellPoints()
151 #include "vtkUnstructuredGridBase.h"
152 
153 #include "vtkSmartPointer.h" // for smart pointer
154 
155 class vtkCellArray;
157 class vtkBezierCurve;
159 class vtkBezierHexahedron;
160 class vtkBezierTriangle;
161 class vtkBezierTetra;
162 class vtkBezierWedge;
163 class vtkConvexPointSet;
164 class vtkEmptyCell;
165 class vtkHexahedron;
166 class vtkIdList;
167 class vtkIdTypeArray;
168 class vtkLagrangeCurve;
171 class vtkLagrangeTriangle;
172 class vtkLagrangeTetra;
173 class vtkLagrangeWedge;
174 class vtkLine;
175 class vtkPixel;
176 class vtkPolyLine;
177 class vtkPolyVertex;
178 class vtkPolygon;
179 class vtkPyramid;
180 class vtkPentagonalPrism;
181 class vtkHexagonalPrism;
182 class vtkQuad;
183 class vtkQuadraticEdge;
185 class vtkQuadraticWedge;
186 class vtkQuadraticPolygon;
187 class vtkQuadraticPyramid;
188 class vtkQuadraticQuad;
189 class vtkQuadraticTetra;
191 class vtkTetra;
192 class vtkTriangle;
193 class vtkTriangleStrip;
195 class vtkVertex;
196 class vtkVoxel;
197 class vtkWedge;
202 class vtkBiQuadraticQuad;
206 class vtkCubicLine;
207 class vtkPolyhedron;
208 class vtkIdTypeArray;
209 
210 class VTKCOMMONDATAMODEL_EXPORT vtkUnstructuredGrid : public vtkUnstructuredGridBase
211 {
212 public:
218 
220 
224  void PrintSelf(ostream& os, vtkIndent indent) override;
226 
230  int GetDataObjectType() override { return VTK_UNSTRUCTURED_GRID; }
231 
241  bool AllocateEstimate(vtkIdType numCells, vtkIdType maxCellSize)
242  {
243  return this->AllocateExact(numCells, numCells * maxCellSize);
244  }
245 
255  bool AllocateExact(vtkIdType numCells, vtkIdType connectivitySize);
256 
266  void Allocate(vtkIdType numCells = 1000, int vtkNotUsed(extSize) = 1000) override
267  {
268  this->AllocateExact(numCells, numCells);
269  }
270 
272 
275  void Reset();
276  void CopyStructure(vtkDataSet* ds) override;
278  using vtkDataSet::GetCell;
279  vtkCell* GetCell(vtkIdType cellId) override;
280  void GetCell(vtkIdType cellId, vtkGenericCell* cell) override;
281  void GetCellBounds(vtkIdType cellId, double bounds[6]) override;
282  void GetCellPoints(vtkIdType cellId, vtkIdList* ptIds) override;
283  void GetPointCells(vtkIdType ptId, vtkIdList* cellIds) override;
286 
290  int GetCellType(vtkIdType cellId) override;
291 
295  vtkIdType GetCellSize(vtkIdType cellId) override;
296 
308  VTK_DEPRECATED_IN_9_2_0("Please use GetDistinctCellTypesArray() instead.")
309  void GetCellTypes(vtkCellTypes* types) override;
310 
323  vtkUnsignedCharArray* GetDistinctCellTypesArray();
324 
337  void GetCellPoints(vtkIdType cellId, vtkIdType& npts, vtkIdType const*& pts)
338  {
339  this->Connectivity->GetCellAtId(cellId, npts, pts);
340  }
341 
358  vtkIdType cellId, vtkIdType& npts, vtkIdType const*& pts, vtkIdList* ptIds) override
359  {
360  this->Connectivity->GetCellAtId(cellId, npts, pts, ptIds);
361  }
362 
364 
369  void GetPointCells(vtkIdType ptId, vtkIdType& ncells, vtkIdType*& cells)
370  VTK_SIZEHINT(cells, ncells);
372 
380 
384  void Squeeze() override;
385 
389  void Initialize() override;
390 
394  int GetMaxCellSize() override;
395 
400  void BuildLinks();
401 
403 
409 
418 
425  void GetFaceStream(vtkIdType cellId, vtkIdList* ptIds);
426 
435  void GetFaceStream(vtkIdType cellId, vtkIdType& nfaces, vtkIdType const*& ptIds);
436 
438 
447  void SetCells(int type, vtkCellArray* cells);
448  void SetCells(int* types, vtkCellArray* cells);
449  void SetCells(vtkUnsignedCharArray* cellTypes, vtkCellArray* cells);
450  void SetCells(vtkUnsignedCharArray* cellTypes, vtkCellArray* cells, vtkIdTypeArray* faceLocations,
451  vtkIdTypeArray* faces);
453 
457  vtkCellArray* GetCells() { return this->Connectivity; }
458 
460 
466  void GetCellNeighbors(vtkIdType cellId, vtkIdList* ptIds, vtkIdList* cellIds) override
467  {
468  this->GetCellNeighbors(cellId, ptIds->GetNumberOfIds(), ptIds->GetPointer(0), cellIds);
469  }
471  vtkIdType cellId, vtkIdType npts, const vtkIdType* ptIds, vtkIdList* cellIds);
473 
475 
486  bool IsCellBoundary(vtkIdType cellId, vtkIdType npts, const vtkIdType* ptIds);
487  bool IsCellBoundary(vtkIdType cellId, vtkIdType npts, const vtkIdType* ptIds, vtkIdList* cellIds);
489 
491 
495  vtkIdType InsertNextLinkedCell(int type, int npts, const vtkIdType pts[]) VTK_SIZEHINT(pts, npts);
498  void ResizeCellList(vtkIdType ptId, int size);
500 
502 
505  virtual int GetPiece();
506  virtual int GetNumberOfPieces();
508 
512  virtual int GetGhostLevel();
513 
522  unsigned long GetActualMemorySize() override;
523 
525 
528  void ShallowCopy(vtkDataObject* src) override;
529  void DeepCopy(vtkDataObject* src) override;
531 
537  void GetIdsOfCellsOfType(int type, vtkIdTypeArray* array) override;
538 
542  int IsHomogeneous() override;
543 
550 
552 
558 
563 
565 
571 
580 
589 
602  static void DecomposeAPolyhedronCell(vtkCellArray* polyhedronCellArray, vtkIdType& nCellpts,
603  vtkIdType& nCellfaces, vtkCellArray* cellArray, vtkIdTypeArray* faces);
604 
605  static void DecomposeAPolyhedronCell(const vtkIdType* polyhedronCellStream, vtkIdType& nCellpts,
606  vtkIdType& nCellfaces, vtkCellArray* cellArray, vtkIdTypeArray* faces);
607 
620  static void DecomposeAPolyhedronCell(vtkIdType nCellFaces, const vtkIdType* inFaceStream,
621  vtkIdType& nCellpts, vtkCellArray* cellArray, vtkIdTypeArray* faces);
622 
629  static void ConvertFaceStreamPointIds(vtkIdList* faceStream, vtkIdType* idMap);
630 
636  static void ConvertFaceStreamPointIds(vtkIdType nfaces, vtkIdType* faceStream, vtkIdType* idMap);
637 
638  //====================== Begin Legacy Methods ================================
639 
648 
650 
666  void SetCells(
667  vtkUnsignedCharArray* cellTypes, vtkIdTypeArray* cellLocations, vtkCellArray* cells);
668  void SetCells(vtkUnsignedCharArray* cellTypes, vtkIdTypeArray* cellLocations, vtkCellArray* cells,
669  vtkIdTypeArray* faceLocations, vtkIdTypeArray* faces);
671 
672  //====================== End Legacy Methods ==================================
673 
674 protected:
677 
678  // These are all the cells that vtkUnstructuredGrid can represent. Used by
679  // GetCell() (and similar) methods.
728 
729  // Points derived from vtkPointSet.
730  // Attribute data (i.e., point and cell data (i.e., scalars, vectors, normals, tcoords)
731  // derived from vtkDataSet.
732 
733  // The heart of the data representation. The points are managed by the
734  // superclass vtkPointSet. A cell is defined by its connectivity (i.e., the
735  // point ids that define the cell) and the cell type, represented by the
736  // Connectivity and Types arrays.
737  // Finally, when certain topological information is needed (e.g.,
738  // all the cells that use a point), the cell links array is built.
742 
743  // Set of all cell types present in the grid. All entries are unique.
745 
746  // The DistinctCellTypes is cached, so we keep track of the last time it was
747  // updated so we can compare it to the modified time of the Types array.
749 
750  // Special support for polyhedra/cells with explicit face representations.
751  // The Faces class represents polygonal faces using a modified vtkCellArray
752  // structure. Each cell face list begins with the total number of faces in
753  // the cell, followed by a vtkCellArray data organization
754  // (n,i,j,k,n,i,j,k,...).
757 
758  // Legacy support -- stores the old-style cell array locations.
760 
761  vtkIdType InternalInsertNextCell(int type, vtkIdType npts, const vtkIdType ptIds[]) override;
764  vtkIdType nfaces, const vtkIdType faces[]) override;
765  void InternalReplaceCell(vtkIdType cellId, int npts, const vtkIdType pts[]) override;
766 
767 private:
768  // Hide these from the user and the compiler.
769  vtkUnstructuredGrid(const vtkUnstructuredGrid&) = delete;
770  void operator=(const vtkUnstructuredGrid&) = delete;
771 
772  void Cleanup();
773 };
774 
775 #endif
A 3D cell that represents an arbitrary order Bezier hex.
A 3D cell that represents an arbitrary order Bezier tetrahedron.
A 2D cell that represents an arbitrary order Bezier triangle.
A 3D cell that represents an arbitrary order Bezier wedge.
cell represents a parabolic, 9-node isoparametric quad
cell represents a biquadratic, 24-node isoparametric hexahedron
cell represents a parabolic, 18-node isoparametric wedge
cell represents a parabolic, isoparametric triangle
object to represent cell connectivity
Definition: vtkCellArray.h:296
Efficient cell iterator for vtkDataSet topologies.
object provides direct access to cells in vtkCellArray and type information
Definition: vtkCellTypes.h:146
abstract class to specify cell behavior
Definition: vtkCell.h:150
a 3D cell defined by a set of convex points
cell represents a cubic , isoparametric 1D line
Definition: vtkCubicLine.h:65
general representation of visualization data
abstract class to specify dataset behavior
Definition: vtkDataSet.h:172
virtual vtkCell * GetCell(vtkIdType cellId)=0
Get cell with cellId such that: 0 <= cellId < NumberOfCells.
virtual void GetCellNeighbors(vtkIdType cellId, vtkIdList *ptIds, vtkIdList *cellIds)
Topological inquiry to get all cells using list of points exclusive of cell specified (e....
an empty cell used as a place-holder during processing
Definition: vtkEmptyCell.h:33
provides thread-safe access to cells
a 3D cell that represents a prism with hexagonal base
a cell that represents a linear 3D hexahedron
list of point or cell ids
Definition: vtkIdList.h:143
vtkIdType * GetPointer(const vtkIdType i)
Get a pointer to a particular data index.
Definition: vtkIdList.h:238
vtkIdType GetNumberOfIds() const noexcept
Return the number of id's in the list.
Definition: vtkIdList.h:169
dynamic, self-adjusting array of vtkIdType
a simple class to control print indentation
Definition: vtkIndent.h:119
Store zero or more vtkInformation instances.
Store vtkAlgorithm input/output information.
A 3D cell that represents an arbitrary order Lagrange hex.
A 3D cell that represents an arbitrary order Lagrange tetrahedron.
A 2D cell that represents an arbitrary order Lagrange triangle.
A 3D cell that represents an arbitrary order Lagrange wedge.
cell represents a 1D line
Definition: vtkLine.h:143
a 3D cell that represents a convex prism with pentagonal base
a cell that represents an orthogonal quadrilateral
Definition: vtkPixel.h:77
cell represents a set of 1D lines
Definition: vtkPolyLine.h:149
cell represents a set of 0D vertices
Definition: vtkPolyVertex.h:75
a cell that represents an n-sided polygon
Definition: vtkPolygon.h:152
a 3D cell defined by a set of polygonal faces
a 3D cell that represents a linear pyramid
Definition: vtkPyramid.h:106
a cell that represents a 2D quadrilateral
Definition: vtkQuad.h:98
cell represents a parabolic, isoparametric edge
cell represents a parabolic, 20-node isoparametric hexahedron
cell represents a quadratic-linear, 6-node isoparametric quad
cell represents a, 12-node isoparametric wedge
a cell that represents a parabolic n-sided polygon
cell represents a parabolic, 13-node isoparametric pyramid
cell represents a parabolic, 8-node isoparametric quad
cell represents a parabolic, 10-node isoparametric tetrahedron
cell represents a parabolic, isoparametric triangle
cell represents a parabolic, 15-node isoparametric wedge
a 3D cell that represents a tetrahedron
Definition: vtkTetra.h:114
cell represents a parabolic, 27-node isoparametric hexahedron
cell represents a parabolic, 19-node isoparametric pyramid
a cell that represents a triangle strip
a cell that represents a triangle
Definition: vtkTriangle.h:148
dynamic, self-adjusting array of unsigned char
dataset represents arbitrary combinations of all possible cell types.
dataset represents arbitrary combinations of all possible cell types
vtkBezierCurve * BezierCurve
void RemoveReferenceToCell(vtkIdType ptId, vtkIdType cellId)
Use these methods only if the dataset has been specified as Editable.
void SetCells(vtkUnsignedCharArray *cellTypes, vtkIdTypeArray *cellLocations, vtkCellArray *cells)
Special methods specific to vtkUnstructuredGrid for defining the cells composing the dataset.
vtkLagrangeWedge * LagrangeWedge
vtkQuadraticLinearWedge * QuadraticLinearWedge
vtkQuadraticQuad * QuadraticQuad
vtkCell * GetCell(vtkIdType cellId) override
Standard vtkDataSet methods; see vtkDataSet.h for documentation.
vtkQuadraticTriangle * QuadraticTriangle
void GetCell(vtkIdType cellId, vtkGenericCell *cell) override
Standard vtkDataSet methods; see vtkDataSet.h for documentation.
vtkQuadraticPyramid * QuadraticPyramid
void SetCells(vtkUnsignedCharArray *cellTypes, vtkIdTypeArray *cellLocations, vtkCellArray *cells, vtkIdTypeArray *faceLocations, vtkIdTypeArray *faces)
Special methods specific to vtkUnstructuredGrid for defining the cells composing the dataset.
void InternalReplaceCell(vtkIdType cellId, int npts, const vtkIdType pts[]) override
static vtkUnstructuredGrid * GetData(vtkInformation *info)
Retrieve an instance of this class from an information object.
vtkBezierQuadrilateral * BezierQuadrilateral
vtkSmartPointer< vtkIdTypeArray > CellLocations
vtkAbstractCellLinks * GetCellLinks()
Get the cell links.
vtkQuadraticLinearQuad * QuadraticLinearQuad
void GetFaceStream(vtkIdType cellId, vtkIdType &nfaces, vtkIdType const *&ptIds)
Get the number of faces and the face stream of a polyhedral cell.
vtkTriangleStrip * TriangleStrip
vtkBiQuadraticTriangle * BiQuadraticTriangle
vtkLagrangeQuadrilateral * LagrangeQuadrilateral
vtkBiQuadraticQuadraticWedge * BiQuadraticQuadraticWedge
vtkIdType InternalInsertNextCell(int type, vtkIdList *ptIds) override
virtual vtkMTimeType GetMeshMTime()
Return the mesh (geometry/topology) modification time.
void SetCells(vtkUnsignedCharArray *cellTypes, vtkCellArray *cells, vtkIdTypeArray *faceLocations, vtkIdTypeArray *faces)
Provide cell information to define the dataset.
vtkSmartPointer< vtkCellTypes > DistinctCellTypes
void SetCells(int *types, vtkCellArray *cells)
Provide cell information to define the dataset.
vtkQuadraticTetra * QuadraticTetra
vtkMTimeType DistinctCellTypesUpdateMTime
void GetCellPoints(vtkIdType cellId, vtkIdList *ptIds) override
Standard vtkDataSet methods; see vtkDataSet.h for documentation.
vtkSmartPointer< vtkIdTypeArray > Faces
vtkPolyVertex * PolyVertex
void Squeeze() override
Squeeze all arrays in the grid to conserve memory.
vtkQuadraticPolygon * QuadraticPolygon
vtkLagrangeHexahedron * LagrangeHexahedron
vtkIdType GetCellSize(vtkIdType cellId) override
Get the size of the cell with given cellId.
static void DecomposeAPolyhedronCell(vtkIdType nCellFaces, const vtkIdType *inFaceStream, vtkIdType &nCellpts, vtkCellArray *cellArray, vtkIdTypeArray *faces)
A static method for converting an input polyhedron cell stream of format [nFace0Pts,...
vtkTriQuadraticHexahedron * TriQuadraticHexahedron
vtkLagrangeTriangle * LagrangeTriangle
vtkHexagonalPrism * HexagonalPrism
static vtkUnstructuredGrid * GetData(vtkInformationVector *v, int i=0)
Retrieve an instance of this class from an information object.
vtkCellArray * GetCells()
Return the unstructured grid connectivity array.
vtkBiQuadraticQuad * BiQuadraticQuad
vtkQuadraticEdge * QuadraticEdge
int IsHomogeneous() override
Returns whether cells are all of the same type.
static void ConvertFaceStreamPointIds(vtkIdList *faceStream, vtkIdType *idMap)
Convert pid in a face stream into idMap[pid].
vtkUnsignedCharArray * GetCellTypesArray()
Get the array of all cell types in the grid.
vtkIdType InternalInsertNextCell(int type, vtkIdType npts, const vtkIdType ptIds[]) override
void GetCellNeighbors(vtkIdType cellId, vtkIdType npts, const vtkIdType *ptIds, vtkIdList *cellIds)
A topological inquiry to retrieve all of the cells using list of points exclusive of the current cell...
vtkIdTypeArray * GetFaceLocations()
Get pointer to faces and facelocations.
void ResizeCellList(vtkIdType ptId, int size)
Use these methods only if the dataset has been specified as Editable.
vtkBiQuadraticQuadraticHexahedron * BiQuadraticQuadraticHexahedron
bool AllocateEstimate(vtkIdType numCells, vtkIdType maxCellSize)
Pre-allocate memory in internal data structures.
int InitializeFacesRepresentation(vtkIdType numPrevCells)
Special function used by vtkUnstructuredGridReader.
void GetCellBounds(vtkIdType cellId, double bounds[6]) override
Standard vtkDataSet methods; see vtkDataSet.h for documentation.
void SetCells(int type, vtkCellArray *cells)
Provide cell information to define the dataset.
vtkGetSmartPointerMacro(Links, vtkAbstractCellLinks)
Set/Get the links that you created possibly without using BuildLinks.
vtkHexahedron * Hexahedron
vtkIdType InternalInsertNextCell(int type, vtkIdType npts, const vtkIdType ptIds[], vtkIdType nfaces, const vtkIdType faces[]) override
vtkSetSmartPointerMacro(Links, vtkAbstractCellLinks)
Set/Get the links that you created possibly without using BuildLinks.
static void DecomposeAPolyhedronCell(const vtkIdType *polyhedronCellStream, vtkIdType &nCellpts, vtkIdType &nCellfaces, vtkCellArray *cellArray, vtkIdTypeArray *faces)
vtkBezierWedge * BezierWedge
bool IsCellBoundary(vtkIdType cellId, vtkIdType npts, const vtkIdType *ptIds)
A topological inquiry to determine whether a topological entity (e.g., point, edge,...
vtkIdType InsertNextLinkedCell(int type, int npts, const vtkIdType pts[])
Use these methods only if the dataset has been specified as Editable.
void GetFaceStream(vtkIdType cellId, vtkIdList *ptIds)
Get the face stream of a polyhedron cell in the following format: (numCellFaces, numFace0Pts,...
vtkSmartPointer< vtkAbstractCellLinks > Links
vtkIdType GetNumberOfCells() override
Standard vtkDataSet methods; see vtkDataSet.h for documentation.
void Allocate(vtkIdType numCells=1000, int vtkNotUsed(extSize)=1000) override
Method allocates initial storage for the cell connectivity.
vtkLagrangeTetra * LagrangeTetra
vtkQuadraticHexahedron * QuadraticHexahedron
bool AllocateExact(vtkIdType numCells, vtkIdType connectivitySize)
Pre-allocate memory in internal data structures.
void Reset()
Standard vtkDataSet methods; see vtkDataSet.h for documentation.
vtkSmartPointer< vtkIdTypeArray > FaceLocations
void GetPointCells(vtkIdType ptId, vtkIdList *cellIds) override
Standard vtkDataSet methods; see vtkDataSet.h for documentation.
vtkBezierTetra * BezierTetra
void GetPointCells(vtkIdType ptId, vtkIdType &ncells, vtkIdType *&cells)
Special (efficient) operation to return the list of cells using the specified point ptId.
vtkIdType * GetFaces(vtkIdType cellId)
Special support for polyhedron.
vtkSmartPointer< vtkUnsignedCharArray > Types
vtkLagrangeCurve * LagrangeCurve
void SetCells(vtkUnsignedCharArray *cellTypes, vtkCellArray *cells)
Provide cell information to define the dataset.
vtkIdTypeArray * GetCellLocationsArray()
Get the array of all the starting indices of cell definitions in the cell array.
void RemoveGhostCells()
This method will remove any cell that is marked as ghost (has the vtkDataSetAttributes::DUPLICATECELL...
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...
static vtkUnstructuredGrid * ExtendedNew()
void CopyStructure(vtkDataSet *ds) override
Standard vtkDataSet methods; see vtkDataSet.h for documentation.
void Initialize() override
Reset the grid to an empty state and free any memory.
int GetMaxCellSize() override
Get the size, in number of points, of the largest cell.
vtkConvexPointSet * ConvexPointSet
vtkSmartPointer< vtkCellArray > Connectivity
vtkBezierHexahedron * BezierHexahedron
vtkCellIterator * NewCellIterator() override
Standard vtkDataSet methods; see vtkDataSet.h for documentation.
~vtkUnstructuredGrid() override
static void DecomposeAPolyhedronCell(vtkCellArray *polyhedronCellArray, vtkIdType &nCellpts, vtkIdType &nCellfaces, vtkCellArray *cellArray, vtkIdTypeArray *faces)
A static method for converting a polyhedron vtkCellArray of format [nCellFaces, nFace0Pts,...
bool IsCellBoundary(vtkIdType cellId, vtkIdType npts, const vtkIdType *ptIds, vtkIdList *cellIds)
A topological inquiry to determine whether a topological entity (e.g., point, edge,...
vtkTriQuadraticPyramid * TriQuadraticPyramid
virtual int GetGhostLevel()
Get the ghost level.
int GetCellType(vtkIdType cellId) override
Get the type of the cell with the given cellId.
vtkQuadraticWedge * QuadraticWedge
void PrintSelf(ostream &os, vtkIndent indent) override
Standard methods for type information and printing.
static void ConvertFaceStreamPointIds(vtkIdType nfaces, vtkIdType *faceStream, vtkIdType *idMap)
Convert pid in a face stream into idMap[pid].
void BuildLinks()
Build topological links from points to lists of cells that use each point.
void GetIdsOfCellsOfType(int type, vtkIdTypeArray *array) override
Fill vtkIdTypeArray container with list of cell Ids.
virtual int GetPiece()
Set / Get the piece and the number of pieces.
vtkPentagonalPrism * PentagonalPrism
unsigned long GetActualMemorySize() override
Return the actual size of the data in kibibytes (1024 bytes).
vtkBezierTriangle * BezierTriangle
vtkIdTypeArray * GetFaces()
Get pointer to faces and facelocations.
virtual int GetNumberOfPieces()
Set / Get the piece and the number of pieces.
void AddReferenceToCell(vtkIdType ptId, vtkIdType cellId)
Use these methods only if the dataset has been specified as Editable.
vtkPolyhedron * Polyhedron
static vtkUnstructuredGrid * New()
Standard instantiation method.
void GetCellPoints(vtkIdType cellId, vtkIdType &npts, vtkIdType const *&pts, vtkIdList *ptIds) override
A higher-performing variant of the virtual vtkDataSet::GetCellPoints() for unstructured grids.
void ShallowCopy(vtkDataObject *src) override
Shallow and Deep copy.
void DeepCopy(vtkDataObject *src) override
Shallow and Deep copy.
int GetDataObjectType() override
Standard vtkDataSet API methods.
a cell that represents a 3D point
Definition: vtkVertex.h:103
a cell that represents a 3D orthogonal parallelepiped
Definition: vtkVoxel.h:91
a 3D cell that represents a linear wedge
Definition: vtkWedge.h:96
@ info
Definition: vtkX3D.h:382
@ type
Definition: vtkX3D.h:522
@ size
Definition: vtkX3D.h:259
#define VTK_DEPRECATED_IN_9_2_0(reason)
int vtkIdType
Definition: vtkType.h:332
#define VTK_UNSTRUCTURED_GRID
Definition: vtkType.h:81
vtkTypeUInt32 vtkMTimeType
Definition: vtkType.h:287
#define VTK_SIZEHINT(...)