VTK  9.0.1
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 =========================================================================*/
28 #ifndef vtkUnstructuredGrid_h
29 #define vtkUnstructuredGrid_h
30 
31 #include "vtkCellArray.h" //inline GetCellPoints()
32 #include "vtkCommonDataModelModule.h" // For export macro
33 #include "vtkIdTypeArray.h" //inline GetCellPoints()
35 
36 #include "vtkSmartPointer.h" // for smart pointer
37 
38 class vtkCellArray;
40 class vtkBezierCurve;
43 class vtkBezierTriangle;
44 class vtkBezierTetra;
45 class vtkBezierWedge;
46 class vtkConvexPointSet;
47 class vtkEmptyCell;
48 class vtkHexahedron;
49 class vtkIdList;
50 class vtkIdTypeArray;
51 class vtkLagrangeCurve;
55 class vtkLagrangeTetra;
56 class vtkLagrangeWedge;
57 class vtkLine;
58 class vtkPixel;
59 class vtkPolyLine;
60 class vtkPolyVertex;
61 class vtkPolygon;
62 class vtkPyramid;
63 class vtkPentagonalPrism;
64 class vtkHexagonalPrism;
65 class vtkQuad;
66 class vtkQuadraticEdge;
68 class vtkQuadraticWedge;
71 class vtkQuadraticQuad;
72 class vtkQuadraticTetra;
74 class vtkTetra;
75 class vtkTriangle;
76 class vtkTriangleStrip;
78 class vtkVertex;
79 class vtkVoxel;
80 class vtkWedge;
84 class vtkBiQuadraticQuad;
88 class vtkCubicLine;
89 class vtkPolyhedron;
90 class vtkIdTypeArray;
91 
92 class VTKCOMMONDATAMODEL_EXPORT vtkUnstructuredGrid : public vtkUnstructuredGridBase
93 {
94 public:
98  static vtkUnstructuredGrid* New();
99 
101 
105  void PrintSelf(ostream& os, vtkIndent indent) override;
107 
111  int GetDataObjectType() override { return VTK_UNSTRUCTURED_GRID; }
112 
122  bool AllocateEstimate(vtkIdType numCells, vtkIdType maxCellSize)
123  {
124  return this->AllocateExact(numCells, numCells * maxCellSize);
125  }
126 
136  bool AllocateExact(vtkIdType numCells, vtkIdType connectivitySize);
137 
147  void Allocate(vtkIdType numCells = 1000, int vtkNotUsed(extSize) = 1000) override
148  {
149  this->AllocateExact(numCells, numCells);
150  }
151 
153 
156  void Reset();
157  void CopyStructure(vtkDataSet* ds) override;
158  vtkIdType GetNumberOfCells() override;
159  using vtkDataSet::GetCell;
160  vtkCell* GetCell(vtkIdType cellId) override;
161  void GetCell(vtkIdType cellId, vtkGenericCell* cell) override;
162  void GetCellBounds(vtkIdType cellId, double bounds[6]) override;
163  void GetCellPoints(vtkIdType cellId, vtkIdList* ptIds) override;
164  void GetPointCells(vtkIdType ptId, vtkIdList* cellIds) override;
165  vtkCellIterator* NewCellIterator() override;
167 
171  int GetCellType(vtkIdType cellId) override;
172 
184  void GetCellTypes(vtkCellTypes* types) override;
185 
196  void GetCellPoints(vtkIdType cellId, vtkIdType& npts, vtkIdType const*& pts)
197  {
198  this->Connectivity->GetCellAtId(cellId, npts, pts);
199  }
200 
202 
207  void GetPointCells(vtkIdType ptId, vtkIdType& ncells, vtkIdType*& cells)
208  VTK_SIZEHINT(cells, ncells);
209 #ifndef VTK_LEGACY_REMOVE
210  VTK_LEGACY(void GetPointCells(vtkIdType ptId, unsigned short& ncells, vtkIdType*& cells))
211  VTK_SIZEHINT(cells, ncells);
212 #endif
213 
214 
221  vtkUnsignedCharArray* GetCellTypesArray();
222 
226  void Squeeze() override;
227 
231  void Initialize() override;
232 
236  int GetMaxCellSize() override;
237 
242  void BuildLinks();
243 
251  vtkAbstractCellLinks* GetCellLinks();
252 
259  void GetFaceStream(vtkIdType cellId, vtkIdList* ptIds);
260 
269  void GetFaceStream(vtkIdType cellId, vtkIdType& nfaces, vtkIdType const*& ptIds);
270 
272 
281  void SetCells(int type, vtkCellArray* cells);
282  void SetCells(int* types, vtkCellArray* cells);
283  void SetCells(vtkUnsignedCharArray* cellTypes, vtkCellArray* cells);
284  void SetCells(vtkUnsignedCharArray* cellTypes, vtkCellArray* cells, vtkIdTypeArray* faceLocations,
285  vtkIdTypeArray* faces);
287 
291  vtkCellArray* GetCells() { return this->Connectivity; }
292 
299  void GetCellNeighbors(vtkIdType cellId, vtkIdList* ptIds, vtkIdList* cellIds) override;
300 
302 
306  vtkIdType InsertNextLinkedCell(int type, int npts, const vtkIdType pts[]) VTK_SIZEHINT(pts, npts);
307  void RemoveReferenceToCell(vtkIdType ptId, vtkIdType cellId);
308  void AddReferenceToCell(vtkIdType ptId, vtkIdType cellId);
309  void ResizeCellList(vtkIdType ptId, int size);
311 
313 
316  virtual int GetPiece();
317  virtual int GetNumberOfPieces();
319 
323  virtual int GetGhostLevel();
324 
333  unsigned long GetActualMemorySize() override;
334 
336 
339  void ShallowCopy(vtkDataObject* src) override;
340  void DeepCopy(vtkDataObject* src) override;
342 
348  void GetIdsOfCellsOfType(int type, vtkIdTypeArray* array) override;
349 
353  int IsHomogeneous() override;
354 
359  void RemoveGhostCells();
360 
362 
366  static vtkUnstructuredGrid* GetData(vtkInformationVector* v, int i = 0);
368 
372  vtkIdType* GetFaces(vtkIdType cellId);
373 
375 
378  vtkIdTypeArray* GetFaces();
379  vtkIdTypeArray* GetFaceLocations();
381 
389  int InitializeFacesRepresentation(vtkIdType numPrevCells);
390 
398  virtual vtkMTimeType GetMeshMTime();
399 
412  static void DecomposeAPolyhedronCell(vtkCellArray* polyhedronCellArray, vtkIdType& nCellpts,
413  vtkIdType& nCellfaces, vtkCellArray* cellArray, vtkIdTypeArray* faces);
414 
415  static void DecomposeAPolyhedronCell(const vtkIdType* polyhedronCellStream, vtkIdType& nCellpts,
416  vtkIdType& nCellfaces, vtkCellArray* cellArray, vtkIdTypeArray* faces);
417 
430  static void DecomposeAPolyhedronCell(vtkIdType nCellFaces, const vtkIdType* inFaceStream,
431  vtkIdType& nCellpts, vtkCellArray* cellArray, vtkIdTypeArray* faces);
432 
439  static void ConvertFaceStreamPointIds(vtkIdList* faceStream, vtkIdType* idMap);
440 
446  static void ConvertFaceStreamPointIds(vtkIdType nfaces, vtkIdType* faceStream, vtkIdType* idMap);
447 
448  //====================== Begin Legacy Methods ================================
449 
457  vtkIdTypeArray* GetCellLocationsArray();
458 
460 
476  void SetCells(
477  vtkUnsignedCharArray* cellTypes, vtkIdTypeArray* cellLocations, vtkCellArray* cells);
478  void SetCells(vtkUnsignedCharArray* cellTypes, vtkIdTypeArray* cellLocations, vtkCellArray* cells,
479  vtkIdTypeArray* faceLocations, vtkIdTypeArray* faces);
481 
482  //====================== End Legacy Methods ==================================
483 
484 protected:
486  ~vtkUnstructuredGrid() override;
487 
488  // These are all the cells that vtkUnstructuredGrid can represent. Used by
489  // GetCell() (and similar) methods.
537 
538  // Points derived from vtkPointSet.
539  // Attribute data (i.e., point and cell data (i.e., scalars, vectors, normals, tcoords)
540  // derived from vtkDataSet.
541 
542  // The heart of the data represention. The points are managed by the
543  // superclass vtkPointSet. A cell is defined by its connectivity (i.e., the
544  // point ids that define the cell) and the cell type, represented by the
545  // Connectivity and Types arrays.
546  // Finally, when certain topological information is needed (e.g.,
547  // all the cells that use a point), the cell links array is built.
551 
552  // Set of all cell types present in the grid. All entries are unique.
554 
555  // The DistinctCellTypes is cached, so we keep track of the last time it was
556  // updated so we can compare it to the modified time of the Types array.
558 
559  // Special support for polyhedra/cells with explicit face representations.
560  // The Faces class represents polygonal faces using a modified vtkCellArray
561  // structure. Each cell face list begins with the total number of faces in
562  // the cell, followed by a vtkCellArray data organization
563  // (n,i,j,k,n,i,j,k,...).
566 
567  // Legacy support -- stores the old-style cell array locations.
569 
570  vtkIdType InternalInsertNextCell(int type, vtkIdType npts, const vtkIdType ptIds[]) override;
571  vtkIdType InternalInsertNextCell(int type, vtkIdList* ptIds) override;
572  vtkIdType InternalInsertNextCell(int type, vtkIdType npts, const vtkIdType ptIds[],
573  vtkIdType nfaces, const vtkIdType faces[]) override;
574  void InternalReplaceCell(vtkIdType cellId, int npts, const vtkIdType pts[]) override;
575 
576 private:
577  // Hide these from the user and the compiler.
578  vtkUnstructuredGrid(const vtkUnstructuredGrid&) = delete;
579  void operator=(const vtkUnstructuredGrid&) = delete;
580 
581  void Cleanup();
582 };
583 
584 #endif
vtkUnstructuredGrid::QuadraticQuad
vtkQuadraticQuad * QuadraticQuad
Definition: vtkUnstructuredGrid.h:520
vtkUnstructuredGrid::Vertex
vtkVertex * Vertex
Definition: vtkUnstructuredGrid.h:490
vtkUnstructuredGridBase::GetData
static vtkUnstructuredGridBase * GetData(vtkInformation *info)
Retrieve an instance of this class from an information object.
vtkUnstructuredGrid::Links
vtkSmartPointer< vtkAbstractCellLinks > Links
Definition: vtkUnstructuredGrid.h:549
vtkLagrangeWedge
A 3D cell that represents an arbitrary order Lagrange wedge.
Definition: vtkLagrangeWedge.h:56
vtkBezierQuadrilateral
Definition: vtkBezierQuadrilateral.h:39
vtkUnstructuredGrid::BiQuadraticTriangle
vtkBiQuadraticTriangle * BiQuadraticTriangle
Definition: vtkUnstructuredGrid.h:532
vtkUnstructuredGridBase.h
vtkUnstructuredGrid::QuadraticEdge
vtkQuadraticEdge * QuadraticEdge
Definition: vtkUnstructuredGrid.h:518
vtkUnstructuredGrid::Wedge
vtkWedge * Wedge
Definition: vtkUnstructuredGrid.h:514
vtkUnstructuredGrid::Tetra
vtkTetra * Tetra
Definition: vtkUnstructuredGrid.h:511
vtkUnstructuredGrid::Hexahedron
vtkHexahedron * Hexahedron
Definition: vtkUnstructuredGrid.h:513
vtkCellTypes
object provides direct access to cells in vtkCellArray and type information
Definition: vtkCellTypes.h:47
vtkUnstructuredGrid::QuadraticPyramid
vtkQuadraticPyramid * QuadraticPyramid
Definition: vtkUnstructuredGrid.h:525
vtkHexagonalPrism
a 3D cell that represents a prism with hexagonal base
Definition: vtkHexagonalPrism.h:45
vtkBezierTetra
A 3D cell that represents an arbitrary order Bezier tetrahedron.
Definition: vtkBezierTetra.h:43
vtkUnstructuredGrid::DistinctCellTypes
vtkSmartPointer< vtkCellTypes > DistinctCellTypes
Definition: vtkUnstructuredGrid.h:553
vtkHexahedron
a cell that represents a linear 3D hexahedron
Definition: vtkHexahedron.h:41
vtkUnstructuredGrid::GetDataObjectType
int GetDataObjectType() override
Standard vtkDataSet API methods.
Definition: vtkUnstructuredGrid.h:111
vtkConvexPointSet
a 3D cell defined by a set of convex points
Definition: vtkConvexPointSet.h:42
vtkBezierWedge
A 3D cell that represents an arbitrary order Bezier wedge.
Definition: vtkBezierWedge.h:57
vtkX3D::type
@ type
Definition: vtkX3D.h:522
vtkIdType
int vtkIdType
Definition: vtkType.h:338
vtkPolygon
a cell that represents an n-sided polygon
Definition: vtkPolygon.h:39
vtkInformationVector
Store zero or more vtkInformation instances.
Definition: vtkInformationVector.h:35
vtkUnstructuredGrid::Quad
vtkQuad * Quad
Definition: vtkUnstructuredGrid.h:509
vtkEmptyCell
an empty cell used as a place-holder during processing
Definition: vtkEmptyCell.h:29
vtkUnstructuredGrid::LagrangeTriangle
vtkLagrangeTriangle * LagrangeTriangle
Definition: vtkUnstructuredGrid.h:501
vtkUnstructuredGrid::QuadraticTetra
vtkQuadraticTetra * QuadraticTetra
Definition: vtkUnstructuredGrid.h:522
vtkUnstructuredGrid::PentagonalPrism
vtkPentagonalPrism * PentagonalPrism
Definition: vtkUnstructuredGrid.h:516
vtkBiQuadraticTriangle
cell represents a parabolic, isoparametric triangle
Definition: vtkBiQuadraticTriangle.h:48
vtkUnsignedCharArray
dynamic, self-adjusting array of unsigned char
Definition: vtkUnsignedCharArray.h:35
vtkBezierCurve
Definition: vtkBezierCurve.h:38
vtkCellArray.h
vtkUnstructuredGridBase
dataset represents arbitrary combinations of all possible cell types. May be mapped onto a non-standa...
Definition: vtkUnstructuredGridBase.h:34
vtkSmartPointer< vtkCellArray >
vtkQuadraticTriangle
cell represents a parabolic, isoparametric triangle
Definition: vtkQuadraticTriangle.h:43
vtkPointSet::Squeeze
void Squeeze() override
Reclaim any unused memory.
vtkUnstructuredGrid::HexagonalPrism
vtkHexagonalPrism * HexagonalPrism
Definition: vtkUnstructuredGrid.h:517
vtkQuadraticHexahedron
cell represents a parabolic, 20-node isoparametric hexahedron
Definition: vtkQuadraticHexahedron.h:45
vtkPyramid
a 3D cell that represents a linear pyramid
Definition: vtkPyramid.h:43
vtkUnstructuredGridBase::PrintSelf
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
Definition: vtkUnstructuredGridBase.h:38
vtkBiQuadraticQuadraticHexahedron
cell represents a biquadratic, 24-node isoparametric hexahedron
Definition: vtkBiQuadraticQuadraticHexahedron.h:80
vtkQuadraticQuad
cell represents a parabolic, 8-node isoparametric quad
Definition: vtkQuadraticQuad.h:43
vtkUnstructuredGridBase::GetIdsOfCellsOfType
virtual void GetIdsOfCellsOfType(int type, vtkIdTypeArray *array)=0
Fill vtkIdTypeArray container with list of cell Ids.
vtkVertex
a cell that represents a 3D point
Definition: vtkVertex.h:30
vtkUnstructuredGrid::PolyVertex
vtkPolyVertex * PolyVertex
Definition: vtkUnstructuredGrid.h:491
vtkBezierHexahedron
A 3D cell that represents an arbitrary order Bezier hex.
Definition: vtkBezierHexahedron.h:48
vtkLine
cell represents a 1D line
Definition: vtkLine.h:29
vtkUnstructuredGrid::BezierHexahedron
vtkBezierHexahedron * BezierHexahedron
Definition: vtkUnstructuredGrid.h:494
vtkUnstructuredGrid::BezierQuadrilateral
vtkBezierQuadrilateral * BezierQuadrilateral
Definition: vtkUnstructuredGrid.h:493
vtkUnstructuredGrid::BiQuadraticQuadraticWedge
vtkBiQuadraticQuadraticWedge * BiQuadraticQuadraticWedge
Definition: vtkUnstructuredGrid.h:530
vtkQuadraticPyramid
cell represents a parabolic, 13-node isoparametric pyramid
Definition: vtkQuadraticPyramid.h:52
vtkUnstructuredGrid::TriangleStrip
vtkTriangleStrip * TriangleStrip
Definition: vtkUnstructuredGrid.h:507
vtkUnstructuredGrid::Voxel
vtkVoxel * Voxel
Definition: vtkUnstructuredGrid.h:512
vtkUnstructuredGrid::BiQuadraticQuadraticHexahedron
vtkBiQuadraticQuadraticHexahedron * BiQuadraticQuadraticHexahedron
Definition: vtkUnstructuredGrid.h:531
vtkUnstructuredGridBase::InternalInsertNextCell
virtual vtkIdType InternalInsertNextCell(int type, vtkIdList *ptIds)=0
vtkUnstructuredGrid::FaceLocations
vtkSmartPointer< vtkIdTypeArray > FaceLocations
Definition: vtkUnstructuredGrid.h:565
vtkPentagonalPrism
a 3D cell that represents a convex prism with pentagonal base
Definition: vtkPentagonalPrism.h:53
vtkUnstructuredGrid::Allocate
void Allocate(vtkIdType numCells=1000, int vtkNotUsed(extSize)=1000) override
Method allocates initial storage for the cell connectivity.
Definition: vtkUnstructuredGrid.h:147
vtkUnstructuredGrid::LagrangeCurve
vtkLagrangeCurve * LagrangeCurve
Definition: vtkUnstructuredGrid.h:498
VTK_SIZEHINT
#define VTK_SIZEHINT(...)
Definition: vtkWrappingHints.h:45
vtkPolyLine
cell represents a set of 1D lines
Definition: vtkPolyLine.h:36
vtkUnstructuredGrid::BiQuadraticQuad
vtkBiQuadraticQuad * BiQuadraticQuad
Definition: vtkUnstructuredGrid.h:527
vtkUnstructuredGrid::CellLocations
vtkSmartPointer< vtkIdTypeArray > CellLocations
Definition: vtkUnstructuredGrid.h:568
vtkBiQuadraticQuad
cell represents a parabolic, 9-node isoparametric quad
Definition: vtkBiQuadraticQuad.h:51
vtkUnstructuredGrid::BezierCurve
vtkBezierCurve * BezierCurve
Definition: vtkUnstructuredGrid.h:492
vtkDataSet::GetCellNeighbors
virtual void GetCellNeighbors(vtkIdType cellId, vtkIdList *ptIds, vtkIdList *cellIds)
Topological inquiry to get all cells using list of points exclusive of cell specified (e....
vtkQuadraticTetra
cell represents a parabolic, 10-node isoparametric tetrahedron
Definition: vtkQuadraticTetra.h:48
vtkWedge
a 3D cell that represents a linear wedge
Definition: vtkWedge.h:43
vtkCell
abstract class to specify cell behavior
Definition: vtkCell.h:56
vtkUnstructuredGrid::Types
vtkSmartPointer< vtkUnsignedCharArray > Types
Definition: vtkUnstructuredGrid.h:550
vtkUnstructuredGrid::AllocateEstimate
bool AllocateEstimate(vtkIdType numCells, vtkIdType maxCellSize)
Pre-allocate memory in internal data structures.
Definition: vtkUnstructuredGrid.h:122
vtkQuadraticWedge
cell represents a parabolic, 15-node isoparametric wedge
Definition: vtkQuadraticWedge.h:48
vtkQuadraticPolygon
a cell that represents a parabolic n-sided polygon
Definition: vtkQuadraticPolygon.h:43
vtkUnstructuredGrid::EmptyCell
vtkEmptyCell * EmptyCell
Definition: vtkUnstructuredGrid.h:536
vtkUnstructuredGrid::LagrangeTetra
vtkLagrangeTetra * LagrangeTetra
Definition: vtkUnstructuredGrid.h:502
vtkDataSet::GetPointCells
virtual void GetPointCells(vtkIdType ptId, vtkIdList *cellIds)=0
Topological inquiry to get cells using point.
vtkIndent
a simple class to control print indentation
Definition: vtkIndent.h:33
vtkCubicLine
cell represents a cubic , isoparametric 1D line
Definition: vtkCubicLine.h:42
vtkCellArray
object to represent cell connectivity
Definition: vtkCellArray.h:179
vtkUnstructuredGrid::BezierWedge
vtkBezierWedge * BezierWedge
Definition: vtkUnstructuredGrid.h:497
vtkLagrangeQuadrilateral
Definition: vtkLagrangeQuadrilateral.h:38
vtkUnstructuredGrid::Polygon
vtkPolygon * Polygon
Definition: vtkUnstructuredGrid.h:510
vtkUnstructuredGridBase::InternalReplaceCell
virtual void InternalReplaceCell(vtkIdType cellId, int npts, const vtkIdType pts[])=0
vtkSmartPointer.h
vtkIdList
list of point or cell ids
Definition: vtkIdList.h:30
vtkPointSet::Initialize
void Initialize() override
Reset to an empty state and free any memory.
vtkLagrangeTriangle
A 2D cell that represents an arbitrary order Lagrange triangle.
Definition: vtkLagrangeTriangle.h:43
vtkUnstructuredGrid::QuadraticPolygon
vtkQuadraticPolygon * QuadraticPolygon
Definition: vtkUnstructuredGrid.h:521
vtkUnstructuredGrid::QuadraticHexahedron
vtkQuadraticHexahedron * QuadraticHexahedron
Definition: vtkUnstructuredGrid.h:523
vtkX3D::size
@ size
Definition: vtkX3D.h:259
vtkQuadraticLinearWedge
cell represents a, 12-node isoparametric wedge
Definition: vtkQuadraticLinearWedge.h:52
vtkUnstructuredGrid::Faces
vtkSmartPointer< vtkIdTypeArray > Faces
Definition: vtkUnstructuredGrid.h:564
vtkUnstructuredGrid::TriQuadraticHexahedron
vtkTriQuadraticHexahedron * TriQuadraticHexahedron
Definition: vtkUnstructuredGrid.h:528
vtkUnstructuredGrid::CubicLine
vtkCubicLine * CubicLine
Definition: vtkUnstructuredGrid.h:533
vtkIdTypeArray.h
vtkTriangle
a cell that represents a triangle
Definition: vtkTriangle.h:35
vtkUnstructuredGrid::LagrangeWedge
vtkLagrangeWedge * LagrangeWedge
Definition: vtkUnstructuredGrid.h:503
vtkTriQuadraticHexahedron
cell represents a parabolic, 27-node isoparametric hexahedron
Definition: vtkTriQuadraticHexahedron.h:82
vtkUnstructuredGrid::Pixel
vtkPixel * Pixel
Definition: vtkUnstructuredGrid.h:508
vtkDataSet
abstract class to specify dataset behavior
Definition: vtkDataSet.h:56
vtkUnstructuredGrid::GetCellPoints
void GetCellPoints(vtkIdType cellId, vtkIdType &npts, vtkIdType const *&pts)
A higher-performing variant of the virtual vtkDataSet::GetCellPoints() for unstructured grids.
Definition: vtkUnstructuredGrid.h:196
vtkPointSet::NewCellIterator
vtkCellIterator * NewCellIterator() override
Return an iterator that traverses the cells in this data set.
vtkInformation
Store vtkAlgorithm input/output information.
Definition: vtkInformation.h:73
vtkDataSet::GetCellPoints
virtual void GetCellPoints(vtkIdType cellId, vtkIdList *ptIds)=0
Topological inquiry to get points defining cell.
vtkUnstructuredGrid::QuadraticWedge
vtkQuadraticWedge * QuadraticWedge
Definition: vtkUnstructuredGrid.h:524
vtkX3D::info
@ info
Definition: vtkX3D.h:382
vtkUnstructuredGrid::BezierTriangle
vtkBezierTriangle * BezierTriangle
Definition: vtkUnstructuredGrid.h:495
vtkUnstructuredGrid::DistinctCellTypesUpdateMTime
vtkMTimeType DistinctCellTypesUpdateMTime
Definition: vtkUnstructuredGrid.h:557
vtkUnstructuredGrid::LagrangeQuadrilateral
vtkLagrangeQuadrilateral * LagrangeQuadrilateral
Definition: vtkUnstructuredGrid.h:499
vtkIdTypeArray
dynamic, self-adjusting array of vtkIdType
Definition: vtkIdTypeArray.h:35
vtkUnstructuredGrid::BezierTetra
vtkBezierTetra * BezierTetra
Definition: vtkUnstructuredGrid.h:496
vtkUnstructuredGridBase::DeepCopy
void DeepCopy(vtkDataObject *src) override
Shallow and Deep copy.
vtkPixel
a cell that represents an orthogonal quadrilateral
Definition: vtkPixel.h:34
vtkUnstructuredGrid::Pyramid
vtkPyramid * Pyramid
Definition: vtkUnstructuredGrid.h:515
vtkUnstructuredGrid::PolyLine
vtkPolyLine * PolyLine
Definition: vtkUnstructuredGrid.h:505
vtkLagrangeTetra
A 3D cell that represents an arbitrary order Lagrange tetrahedron.
Definition: vtkLagrangeTetra.h:44
vtkQuadraticLinearQuad
cell represents a quadratic-linear, 6-node isoparametric quad
Definition: vtkQuadraticLinearQuad.h:47
vtkDataSet::GetCellTypes
virtual void GetCellTypes(vtkCellTypes *types)
Get a list of types of cells in a dataset.
vtkUnstructuredGrid::QuadraticLinearWedge
vtkQuadraticLinearWedge * QuadraticLinearWedge
Definition: vtkUnstructuredGrid.h:529
vtkUnstructuredGrid::Connectivity
vtkSmartPointer< vtkCellArray > Connectivity
Definition: vtkUnstructuredGrid.h:548
vtkPointSet::ShallowCopy
void ShallowCopy(vtkDataObject *src) override
Shallow and Deep copy.
vtkBiQuadraticQuadraticWedge
cell represents a parabolic, 18-node isoparametric wedge
Definition: vtkBiQuadraticQuadraticWedge.h:53
vtkGenericCell
provides thread-safe access to cells
Definition: vtkGenericCell.h:36
vtkLagrangeCurve
Definition: vtkLagrangeCurve.h:37
vtkUnstructuredGrid::LagrangeHexahedron
vtkLagrangeHexahedron * LagrangeHexahedron
Definition: vtkUnstructuredGrid.h:500
vtkUnstructuredGrid::Polyhedron
vtkPolyhedron * Polyhedron
Definition: vtkUnstructuredGrid.h:535
vtkUnstructuredGrid
dataset represents arbitrary combinations of all possible cell types
Definition: vtkUnstructuredGrid.h:92
vtkUnstructuredGrid::Triangle
vtkTriangle * Triangle
Definition: vtkUnstructuredGrid.h:506
vtkDataSet::GetNumberOfCells
virtual vtkIdType GetNumberOfCells()=0
Determine the number of cells composing the dataset.
vtkCellIterator
Efficient cell iterator for vtkDataSet topologies.
Definition: vtkCellIterator.h:77
vtkTetra
a 3D cell that represents a tetrahedron
Definition: vtkTetra.h:41
VTK_UNSTRUCTURED_GRID
#define VTK_UNSTRUCTURED_GRID
Definition: vtkType.h:89
vtkUnstructuredGrid::ConvexPointSet
vtkConvexPointSet * ConvexPointSet
Definition: vtkUnstructuredGrid.h:534
vtkDataObject
general representation of visualization data
Definition: vtkDataObject.h:59
vtkDataSet::GetCellType
virtual int GetCellType(vtkIdType cellId)=0
Get type of cell with cellId such that: 0 <= cellId < NumberOfCells.
vtkPointSet::GetActualMemorySize
unsigned long GetActualMemorySize() override
Return the actual size of the data in kibibytes (1024 bytes).
vtkLagrangeHexahedron
A 3D cell that represents an arbitrary order Lagrange hex.
Definition: vtkLagrangeHexahedron.h:47
vtkUnstructuredGridBase::IsHomogeneous
virtual int IsHomogeneous()=0
Traverse cells and determine if cells are all of the same type.
vtkQuadraticEdge
cell represents a parabolic, isoparametric edge
Definition: vtkQuadraticEdge.h:40
vtkDataSet::GetCellBounds
virtual void GetCellBounds(vtkIdType cellId, double bounds[6])
Get the bounds of the cell with cellId such that: 0 <= cellId < NumberOfCells.
vtkUnstructuredGrid::QuadraticTriangle
vtkQuadraticTriangle * QuadraticTriangle
Definition: vtkUnstructuredGrid.h:519
vtkUnstructuredGrid::GetCells
vtkCellArray * GetCells()
Return the unstructured grid connectivity array.
Definition: vtkUnstructuredGrid.h:291
vtkBezierTriangle
A 2D cell that represents an arbitrary order Bezier triangle.
Definition: vtkBezierTriangle.h:42
vtkPointSet::CopyStructure
void CopyStructure(vtkDataSet *pd) override
Copy the geometric structure of an input point set object.
vtkPolyhedron
a 3D cell defined by a set of polygonal faces
Definition: vtkPolyhedron.h:57
vtkDataSet::GetMaxCellSize
virtual int GetMaxCellSize()=0
Convenience method returns largest cell size in dataset.
vtkTriangleStrip
a cell that represents a triangle strip
Definition: vtkTriangleStrip.h:37
vtkUnstructuredGrid::QuadraticLinearQuad
vtkQuadraticLinearQuad * QuadraticLinearQuad
Definition: vtkUnstructuredGrid.h:526
vtkQuad
a cell that represents a 2D quadrilateral
Definition: vtkQuad.h:35
vtkDataObject::New
static vtkDataObject * New()
vtkDataSet::GetCell
virtual vtkCell * GetCell(vtkIdType cellId)=0
Get cell with cellId such that: 0 <= cellId < NumberOfCells.
vtkMTimeType
vtkTypeUInt32 vtkMTimeType
Definition: vtkType.h:293
vtkUnstructuredGrid::Line
vtkLine * Line
Definition: vtkUnstructuredGrid.h:504
vtkPolyVertex
cell represents a set of 0D vertices
Definition: vtkPolyVertex.h:32
vtkVoxel
a cell that represents a 3D orthogonal parallelepiped
Definition: vtkVoxel.h:38