VTK  9.1.0
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 =========================================================================*/
137 #ifndef vtkUnstructuredGrid_h
138 #define vtkUnstructuredGrid_h
139 
140 #include "vtkCellArray.h" //inline GetCellPoints()
141 #include "vtkCommonDataModelModule.h" // For export macro
142 #include "vtkDeprecation.h" // for VTK_DEPRECATED_IN_9_0_0
143 #include "vtkIdTypeArray.h" //inline GetCellPoints()
144 #include "vtkUnstructuredGridBase.h"
145 
146 #include "vtkSmartPointer.h" // for smart pointer
147 
148 class vtkCellArray;
150 class vtkBezierCurve;
152 class vtkBezierHexahedron;
153 class vtkBezierTriangle;
154 class vtkBezierTetra;
155 class vtkBezierWedge;
156 class vtkConvexPointSet;
157 class vtkEmptyCell;
158 class vtkHexahedron;
159 class vtkIdList;
160 class vtkIdTypeArray;
161 class vtkLagrangeCurve;
164 class vtkLagrangeTriangle;
165 class vtkLagrangeTetra;
166 class vtkLagrangeWedge;
167 class vtkLine;
168 class vtkPixel;
169 class vtkPolyLine;
170 class vtkPolyVertex;
171 class vtkPolygon;
172 class vtkPyramid;
173 class vtkPentagonalPrism;
174 class vtkHexagonalPrism;
175 class vtkQuad;
176 class vtkQuadraticEdge;
178 class vtkQuadraticWedge;
179 class vtkQuadraticPolygon;
180 class vtkQuadraticPyramid;
181 class vtkQuadraticQuad;
182 class vtkQuadraticTetra;
184 class vtkTetra;
185 class vtkTriangle;
186 class vtkTriangleStrip;
188 class vtkVertex;
189 class vtkVoxel;
190 class vtkWedge;
195 class vtkBiQuadraticQuad;
199 class vtkCubicLine;
200 class vtkPolyhedron;
201 class vtkIdTypeArray;
202 
203 class VTKCOMMONDATAMODEL_EXPORT vtkUnstructuredGrid : public vtkUnstructuredGridBase
204 {
205 public:
211 
213 
217  void PrintSelf(ostream& os, vtkIndent indent) override;
219 
223  int GetDataObjectType() override { return VTK_UNSTRUCTURED_GRID; }
224 
234  bool AllocateEstimate(vtkIdType numCells, vtkIdType maxCellSize)
235  {
236  return this->AllocateExact(numCells, numCells * maxCellSize);
237  }
238 
248  bool AllocateExact(vtkIdType numCells, vtkIdType connectivitySize);
249 
259  void Allocate(vtkIdType numCells = 1000, int vtkNotUsed(extSize) = 1000) override
260  {
261  this->AllocateExact(numCells, numCells);
262  }
263 
265 
268  void Reset();
269  void CopyStructure(vtkDataSet* ds) override;
271  using vtkDataSet::GetCell;
272  vtkCell* GetCell(vtkIdType cellId) override;
273  void GetCell(vtkIdType cellId, vtkGenericCell* cell) override;
274  void GetCellBounds(vtkIdType cellId, double bounds[6]) override;
275  void GetCellPoints(vtkIdType cellId, vtkIdList* ptIds) override;
276  void GetPointCells(vtkIdType ptId, vtkIdList* cellIds) override;
279 
283  int GetCellType(vtkIdType cellId) override;
284 
296  void GetCellTypes(vtkCellTypes* types) override;
297 
308  void GetCellPoints(vtkIdType cellId, vtkIdType& npts, vtkIdType const*& pts)
309  {
310  this->Connectivity->GetCellAtId(cellId, npts, pts);
311  }
312 
314 
319  void GetPointCells(vtkIdType ptId, vtkIdType& ncells, vtkIdType*& cells)
320  VTK_SIZEHINT(cells, ncells);
322  "Use vtkUnstructuredGrid::GetPointCells::vtkIdType, vtkIdType&, vtkIdType*&)")
323  void GetPointCells(vtkIdType ptId, unsigned short& ncells, vtkIdType*& cells)
324  VTK_SIZEHINT(cells, ncells);
326 
333  vtkUnsignedCharArray* GetCellTypesArray();
334 
338  void Squeeze() override;
339 
343  void Initialize() override;
344 
348  int GetMaxCellSize() override;
349 
354  void BuildLinks();
355 
363  vtkAbstractCellLinks* GetCellLinks();
364 
371  void GetFaceStream(vtkIdType cellId, vtkIdList* ptIds);
372 
381  void GetFaceStream(vtkIdType cellId, vtkIdType& nfaces, vtkIdType const*& ptIds);
382 
384 
393  void SetCells(int type, vtkCellArray* cells);
394  void SetCells(int* types, vtkCellArray* cells);
395  void SetCells(vtkUnsignedCharArray* cellTypes, vtkCellArray* cells);
396  void SetCells(vtkUnsignedCharArray* cellTypes, vtkCellArray* cells, vtkIdTypeArray* faceLocations,
397  vtkIdTypeArray* faces);
399 
403  vtkCellArray* GetCells() { return this->Connectivity; }
404 
406 
412  void GetCellNeighbors(vtkIdType cellId, vtkIdList* ptIds, vtkIdList* cellIds) override
413  {
414  this->GetCellNeighbors(cellId, ptIds->GetNumberOfIds(), ptIds->GetPointer(0), cellIds);
415  }
417  vtkIdType cellId, vtkIdType npts, const vtkIdType* ptIds, vtkIdList* cellIds);
419 
421 
431  bool IsCellBoundary(vtkIdType cellId, vtkIdType npts, const vtkIdType* ptIds);
433 
435 
439  vtkIdType InsertNextLinkedCell(int type, int npts, const vtkIdType pts[]) VTK_SIZEHINT(pts, npts);
442  void ResizeCellList(vtkIdType ptId, int size);
444 
446 
449  virtual int GetPiece();
450  virtual int GetNumberOfPieces();
452 
456  virtual int GetGhostLevel();
457 
466  unsigned long GetActualMemorySize() override;
467 
469 
472  void ShallowCopy(vtkDataObject* src) override;
473  void DeepCopy(vtkDataObject* src) override;
475 
481  void GetIdsOfCellsOfType(int type, vtkIdTypeArray* array) override;
482 
486  int IsHomogeneous() override;
487 
494 
496 
502 
507 
509 
515 
524 
533 
546  static void DecomposeAPolyhedronCell(vtkCellArray* polyhedronCellArray, vtkIdType& nCellpts,
547  vtkIdType& nCellfaces, vtkCellArray* cellArray, vtkIdTypeArray* faces);
548 
549  static void DecomposeAPolyhedronCell(const vtkIdType* polyhedronCellStream, vtkIdType& nCellpts,
550  vtkIdType& nCellfaces, vtkCellArray* cellArray, vtkIdTypeArray* faces);
551 
564  static void DecomposeAPolyhedronCell(vtkIdType nCellFaces, const vtkIdType* inFaceStream,
565  vtkIdType& nCellpts, vtkCellArray* cellArray, vtkIdTypeArray* faces);
566 
573  static void ConvertFaceStreamPointIds(vtkIdList* faceStream, vtkIdType* idMap);
574 
580  static void ConvertFaceStreamPointIds(vtkIdType nfaces, vtkIdType* faceStream, vtkIdType* idMap);
581 
582  //====================== Begin Legacy Methods ================================
583 
592 
594 
610  void SetCells(
611  vtkUnsignedCharArray* cellTypes, vtkIdTypeArray* cellLocations, vtkCellArray* cells);
612  void SetCells(vtkUnsignedCharArray* cellTypes, vtkIdTypeArray* cellLocations, vtkCellArray* cells,
613  vtkIdTypeArray* faceLocations, vtkIdTypeArray* faces);
615 
616  //====================== End Legacy Methods ==================================
617 
618 protected:
621 
622  // These are all the cells that vtkUnstructuredGrid can represent. Used by
623  // GetCell() (and similar) methods.
672 
673  // Points derived from vtkPointSet.
674  // Attribute data (i.e., point and cell data (i.e., scalars, vectors, normals, tcoords)
675  // derived from vtkDataSet.
676 
677  // The heart of the data represention. The points are managed by the
678  // superclass vtkPointSet. A cell is defined by its connectivity (i.e., the
679  // point ids that define the cell) and the cell type, represented by the
680  // Connectivity and Types arrays.
681  // Finally, when certain topological information is needed (e.g.,
682  // all the cells that use a point), the cell links array is built.
686 
687  // Set of all cell types present in the grid. All entries are unique.
689 
690  // The DistinctCellTypes is cached, so we keep track of the last time it was
691  // updated so we can compare it to the modified time of the Types array.
693 
694  // Special support for polyhedra/cells with explicit face representations.
695  // The Faces class represents polygonal faces using a modified vtkCellArray
696  // structure. Each cell face list begins with the total number of faces in
697  // the cell, followed by a vtkCellArray data organization
698  // (n,i,j,k,n,i,j,k,...).
701 
702  // Legacy support -- stores the old-style cell array locations.
704 
705  vtkIdType InternalInsertNextCell(int type, vtkIdType npts, const vtkIdType ptIds[]) override;
708  vtkIdType nfaces, const vtkIdType faces[]) override;
709  void InternalReplaceCell(vtkIdType cellId, int npts, const vtkIdType pts[]) override;
710 
711 private:
712  // Hide these from the user and the compiler.
713  vtkUnstructuredGrid(const vtkUnstructuredGrid&) = delete;
714  void operator=(const vtkUnstructuredGrid&) = delete;
715 
716  void Cleanup();
717 };
718 
719 #endif
vtkUnstructuredGrid::QuadraticQuad
vtkQuadraticQuad * QuadraticQuad
Definition: vtkUnstructuredGrid.h:654
vtkUnstructuredGrid::Vertex
vtkVertex * Vertex
Definition: vtkUnstructuredGrid.h:624
vtkUnstructuredGrid::AddReferenceToCell
void AddReferenceToCell(vtkIdType ptId, vtkIdType cellId)
Use these methods only if the dataset has been specified as Editable.
vtkUnstructuredGrid::Links
vtkSmartPointer< vtkAbstractCellLinks > Links
Definition: vtkUnstructuredGrid.h:684
vtkLagrangeWedge
A 3D cell that represents an arbitrary order Lagrange wedge.
Definition: vtkLagrangeWedge.h:57
vtkBezierQuadrilateral
Definition: vtkBezierQuadrilateral.h:41
vtkUnstructuredGrid::PrintSelf
void PrintSelf(ostream &os, vtkIndent indent) override
Standard methods for type information and printing.
vtkUnstructuredGrid::BiQuadraticTriangle
vtkBiQuadraticTriangle * BiQuadraticTriangle
Definition: vtkUnstructuredGrid.h:667
vtkUnstructuredGridBase.h
vtkUnstructuredGrid::QuadraticEdge
vtkQuadraticEdge * QuadraticEdge
Definition: vtkUnstructuredGrid.h:652
vtkUnstructuredGrid::Wedge
vtkWedge * Wedge
Definition: vtkUnstructuredGrid.h:648
vtkUnstructuredGrid::~vtkUnstructuredGrid
~vtkUnstructuredGrid() override
vtkUnstructuredGrid::Tetra
vtkTetra * Tetra
Definition: vtkUnstructuredGrid.h:645
vtkUnstructuredGrid::Hexahedron
vtkHexahedron * Hexahedron
Definition: vtkUnstructuredGrid.h:647
vtkCellTypes
object provides direct access to cells in vtkCellArray and type information
Definition: vtkCellTypes.h:137
vtkUnstructuredGrid::CopyStructure
void CopyStructure(vtkDataSet *ds) override
Standard vtkDataSet methods; see vtkDataSet.h for documentation.
vtkUnstructuredGrid::QuadraticPyramid
vtkQuadraticPyramid * QuadraticPyramid
Definition: vtkUnstructuredGrid.h:659
vtkHexagonalPrism
a 3D cell that represents a prism with hexagonal base
Definition: vtkHexagonalPrism.h:95
vtkBezierTetra
A 3D cell that represents an arbitrary order Bezier tetrahedron.
Definition: vtkBezierTetra.h:45
vtkUnstructuredGrid::DistinctCellTypes
vtkSmartPointer< vtkCellTypes > DistinctCellTypes
Definition: vtkUnstructuredGrid.h:688
vtkHexahedron
a cell that represents a linear 3D hexahedron
Definition: vtkHexahedron.h:111
vtkUnstructuredGrid::GetDataObjectType
int GetDataObjectType() override
Standard vtkDataSet API methods.
Definition: vtkUnstructuredGrid.h:223
vtkConvexPointSet
a 3D cell defined by a set of convex points
Definition: vtkConvexPointSet.h:62
vtkUnstructuredGrid::GetGhostLevel
virtual int GetGhostLevel()
Get the ghost level.
vtkBezierWedge
A 3D cell that represents an arbitrary order Bezier wedge.
Definition: vtkBezierWedge.h:59
vtkUnstructuredGrid::Reset
void Reset()
Standard vtkDataSet methods; see vtkDataSet.h for documentation.
vtkUnstructuredGrid::IsCellBoundary
bool IsCellBoundary(vtkIdType cellId, vtkIdType npts, const vtkIdType *ptIds)
A topological inquiry to determine whether a topological entity (e.g., point, edge,...
vtkX3D::type
@ type
Definition: vtkX3D.h:522
vtkIdType
int vtkIdType
Definition: vtkType.h:332
vtkPolygon
a cell that represents an n-sided polygon
Definition: vtkPolygon.h:149
vtkUnstructuredGrid::ExtendedNew
static vtkUnstructuredGrid * ExtendedNew()
vtkInformationVector
Store zero or more vtkInformation instances.
Definition: vtkInformationVector.h:145
vtkUnstructuredGrid::Quad
vtkQuad * Quad
Definition: vtkUnstructuredGrid.h:643
vtkEmptyCell
an empty cell used as a place-holder during processing
Definition: vtkEmptyCell.h:30
vtkUnstructuredGrid::LagrangeTriangle
vtkLagrangeTriangle * LagrangeTriangle
Definition: vtkUnstructuredGrid.h:635
vtkUnstructuredGrid::QuadraticTetra
vtkQuadraticTetra * QuadraticTetra
Definition: vtkUnstructuredGrid.h:656
vtkUnstructuredGrid::PentagonalPrism
vtkPentagonalPrism * PentagonalPrism
Definition: vtkUnstructuredGrid.h:650
vtkBiQuadraticTriangle
cell represents a parabolic, isoparametric triangle
Definition: vtkBiQuadraticTriangle.h:68
vtkUnsignedCharArray
dynamic, self-adjusting array of unsigned char
Definition: vtkUnsignedCharArray.h:145
vtkBezierCurve
Definition: vtkBezierCurve.h:40
vtkCellArray.h
vtkUnstructuredGridBase
dataset represents arbitrary combinations of all possible cell types.
Definition: vtkUnstructuredGridBase.h:35
vtkSmartPointer< vtkCellArray >
vtkQuadraticTriangle
cell represents a parabolic, isoparametric triangle
Definition: vtkQuadraticTriangle.h:63
vtkUnstructuredGrid::HexagonalPrism
vtkHexagonalPrism * HexagonalPrism
Definition: vtkUnstructuredGrid.h:651
vtkQuadraticHexahedron
cell represents a parabolic, 20-node isoparametric hexahedron
Definition: vtkQuadraticHexahedron.h:85
vtkPyramid
a 3D cell that represents a linear pyramid
Definition: vtkPyramid.h:103
vtkUnstructuredGrid::GetCellNeighbors
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...
vtkBiQuadraticQuadraticHexahedron
cell represents a biquadratic, 24-node isoparametric hexahedron
Definition: vtkBiQuadraticQuadraticHexahedron.h:100
vtkQuadraticQuad
cell represents a parabolic, 8-node isoparametric quad
Definition: vtkQuadraticQuad.h:63
vtkUnstructuredGrid::GetPointCells
void GetPointCells(vtkIdType ptId, vtkIdList *cellIds) override
Standard vtkDataSet methods; see vtkDataSet.h for documentation.
vtkVertex
a cell that represents a 3D point
Definition: vtkVertex.h:100
vtkUnstructuredGrid::GetFaceLocations
vtkIdTypeArray * GetFaceLocations()
Get pointer to faces and facelocations.
vtkUnstructuredGrid::GetNumberOfCells
vtkIdType GetNumberOfCells() override
Standard vtkDataSet methods; see vtkDataSet.h for documentation.
vtkUnstructuredGrid::GetCellPoints
void GetCellPoints(vtkIdType cellId, vtkIdList *ptIds) override
Standard vtkDataSet methods; see vtkDataSet.h for documentation.
vtkUnstructuredGrid::PolyVertex
vtkPolyVertex * PolyVertex
Definition: vtkUnstructuredGrid.h:625
vtkBezierHexahedron
A 3D cell that represents an arbitrary order Bezier hex.
Definition: vtkBezierHexahedron.h:50
vtkLine
cell represents a 1D line
Definition: vtkLine.h:140
vtkUnstructuredGrid::BezierHexahedron
vtkBezierHexahedron * BezierHexahedron
Definition: vtkUnstructuredGrid.h:628
vtkUnstructuredGrid::BezierQuadrilateral
vtkBezierQuadrilateral * BezierQuadrilateral
Definition: vtkUnstructuredGrid.h:627
vtkUnstructuredGrid::GetIdsOfCellsOfType
void GetIdsOfCellsOfType(int type, vtkIdTypeArray *array) override
Fill vtkIdTypeArray container with list of cell Ids.
vtkUnstructuredGrid::GetFaces
vtkIdTypeArray * GetFaces()
Get pointer to faces and facelocations.
vtkUnstructuredGrid::BiQuadraticQuadraticWedge
vtkBiQuadraticQuadraticWedge * BiQuadraticQuadraticWedge
Definition: vtkUnstructuredGrid.h:665
vtkQuadraticPyramid
cell represents a parabolic, 13-node isoparametric pyramid
Definition: vtkQuadraticPyramid.h:72
vtkUnstructuredGrid::SetCells
void SetCells(vtkUnsignedCharArray *cellTypes, vtkIdTypeArray *cellLocations, vtkCellArray *cells)
Special methods specific to vtkUnstructuredGrid for defining the cells composing the dataset.
vtkUnstructuredGrid::TriangleStrip
vtkTriangleStrip * TriangleStrip
Definition: vtkUnstructuredGrid.h:641
vtkUnstructuredGrid::GetCellType
int GetCellType(vtkIdType cellId) override
Get the type of the cell with the given cellId.
vtkUnstructuredGrid::Voxel
vtkVoxel * Voxel
Definition: vtkUnstructuredGrid.h:646
vtkUnstructuredGrid::TriQuadraticPyramid
vtkTriQuadraticPyramid * TriQuadraticPyramid
Definition: vtkUnstructuredGrid.h:663
vtkUnstructuredGrid::BiQuadraticQuadraticHexahedron
vtkBiQuadraticQuadraticHexahedron * BiQuadraticQuadraticHexahedron
Definition: vtkUnstructuredGrid.h:666
vtkUnstructuredGrid::FaceLocations
vtkSmartPointer< vtkIdTypeArray > FaceLocations
Definition: vtkUnstructuredGrid.h:700
vtkPentagonalPrism
a 3D cell that represents a convex prism with pentagonal base
Definition: vtkPentagonalPrism.h:103
vtkUnstructuredGrid::Allocate
void Allocate(vtkIdType numCells=1000, int vtkNotUsed(extSize)=1000) override
Method allocates initial storage for the cell connectivity.
Definition: vtkUnstructuredGrid.h:259
vtkUnstructuredGrid::LagrangeCurve
vtkLagrangeCurve * LagrangeCurve
Definition: vtkUnstructuredGrid.h:632
VTK_SIZEHINT
#define VTK_SIZEHINT(...)
Definition: vtkWrappingHints.h:48
vtkPolyLine
cell represents a set of 1D lines
Definition: vtkPolyLine.h:146
vtkUnstructuredGrid::BiQuadraticQuad
vtkBiQuadraticQuad * BiQuadraticQuad
Definition: vtkUnstructuredGrid.h:661
vtkUnstructuredGrid::New
static vtkUnstructuredGrid * New()
Standard instantiation method.
vtkUnstructuredGrid::CellLocations
vtkSmartPointer< vtkIdTypeArray > CellLocations
Definition: vtkUnstructuredGrid.h:703
vtkUnstructuredGrid::GetCellBounds
void GetCellBounds(vtkIdType cellId, double bounds[6]) override
Standard vtkDataSet methods; see vtkDataSet.h for documentation.
vtkBiQuadraticQuad
cell represents a parabolic, 9-node isoparametric quad
Definition: vtkBiQuadraticQuad.h:71
vtkUnstructuredGrid::DecomposeAPolyhedronCell
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,...
vtkUnstructuredGrid::BezierCurve
vtkBezierCurve * BezierCurve
Definition: vtkUnstructuredGrid.h:626
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:88
vtkWedge
a 3D cell that represents a linear wedge
Definition: vtkWedge.h:93
vtkUnstructuredGrid::DecomposeAPolyhedronCell
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,...
vtkCell
abstract class to specify cell behavior
Definition: vtkCell.h:147
vtkUnstructuredGrid::Types
vtkSmartPointer< vtkUnsignedCharArray > Types
Definition: vtkUnstructuredGrid.h:685
vtkUnstructuredGrid::InternalInsertNextCell
vtkIdType InternalInsertNextCell(int type, vtkIdType npts, const vtkIdType ptIds[]) override
vtkUnstructuredGrid::AllocateEstimate
bool AllocateEstimate(vtkIdType numCells, vtkIdType maxCellSize)
Pre-allocate memory in internal data structures.
Definition: vtkUnstructuredGrid.h:234
vtkQuadraticWedge
cell represents a parabolic, 15-node isoparametric wedge
Definition: vtkQuadraticWedge.h:68
vtkQuadraticPolygon
a cell that represents a parabolic n-sided polygon
Definition: vtkQuadraticPolygon.h:63
vtkUnstructuredGrid::EmptyCell
vtkEmptyCell * EmptyCell
Definition: vtkUnstructuredGrid.h:671
vtkUnstructuredGrid::LagrangeTetra
vtkLagrangeTetra * LagrangeTetra
Definition: vtkUnstructuredGrid.h:636
vtkUnstructuredGrid::IsHomogeneous
int IsHomogeneous() override
Returns whether cells are all of the same type.
vtkUnstructuredGrid::GetData
static vtkUnstructuredGrid * GetData(vtkInformationVector *v, int i=0)
Retrieve an instance of this class from an information object.
vtkUnstructuredGrid::AllocateExact
bool AllocateExact(vtkIdType numCells, vtkIdType connectivitySize)
Pre-allocate memory in internal data structures.
vtkUnstructuredGrid::ConvertFaceStreamPointIds
static void ConvertFaceStreamPointIds(vtkIdList *faceStream, vtkIdType *idMap)
Convert pid in a face stream into idMap[pid].
vtkIndent
a simple class to control print indentation
Definition: vtkIndent.h:113
vtkCubicLine
cell represents a cubic , isoparametric 1D line
Definition: vtkCubicLine.h:62
vtkCellArray
object to represent cell connectivity
Definition: vtkCellArray.h:290
vtkUnstructuredGrid::BezierWedge
vtkBezierWedge * BezierWedge
Definition: vtkUnstructuredGrid.h:631
vtkUnstructuredGrid::InitializeFacesRepresentation
int InitializeFacesRepresentation(vtkIdType numPrevCells)
Special function used by vtkUnstructuredGridReader.
VTK_DEPRECATED_IN_9_0_0
#define VTK_DEPRECATED_IN_9_0_0(reason)
Definition: vtkDeprecation.h:126
vtkLagrangeQuadrilateral
Definition: vtkLagrangeQuadrilateral.h:39
vtkUnstructuredGrid::Polygon
vtkPolygon * Polygon
Definition: vtkUnstructuredGrid.h:644
vtkSmartPointer.h
vtkIdList
list of point or cell ids
Definition: vtkIdList.h:140
vtkUnstructuredGrid::GetNumberOfPieces
virtual int GetNumberOfPieces()
Set / Get the piece and the number of pieces.
vtkLagrangeTriangle
A 2D cell that represents an arbitrary order Lagrange triangle.
Definition: vtkLagrangeTriangle.h:44
vtkUnstructuredGrid::QuadraticPolygon
vtkQuadraticPolygon * QuadraticPolygon
Definition: vtkUnstructuredGrid.h:655
vtkUnstructuredGrid::GetPiece
virtual int GetPiece()
Set / Get the piece and the number of pieces.
vtkUnstructuredGrid::QuadraticHexahedron
vtkQuadraticHexahedron * QuadraticHexahedron
Definition: vtkUnstructuredGrid.h:657
vtkX3D::size
@ size
Definition: vtkX3D.h:259
vtkUnstructuredGrid::GetCell
void GetCell(vtkIdType cellId, vtkGenericCell *cell) override
Standard vtkDataSet methods; see vtkDataSet.h for documentation.
vtkQuadraticLinearWedge
cell represents a, 12-node isoparametric wedge
Definition: vtkQuadraticLinearWedge.h:72
vtkUnstructuredGrid::InternalReplaceCell
void InternalReplaceCell(vtkIdType cellId, int npts, const vtkIdType pts[]) override
vtkUnstructuredGrid::Faces
vtkSmartPointer< vtkIdTypeArray > Faces
Definition: vtkUnstructuredGrid.h:699
vtkUnstructuredGrid::TriQuadraticHexahedron
vtkTriQuadraticHexahedron * TriQuadraticHexahedron
Definition: vtkUnstructuredGrid.h:662
vtkUnstructuredGrid::InternalInsertNextCell
vtkIdType InternalInsertNextCell(int type, vtkIdType npts, const vtkIdType ptIds[], vtkIdType nfaces, const vtkIdType faces[]) override
vtkUnstructuredGrid::CubicLine
vtkCubicLine * CubicLine
Definition: vtkUnstructuredGrid.h:668
vtkIdList::GetNumberOfIds
vtkIdType GetNumberOfIds() const noexcept
Return the number of id's in the list.
Definition: vtkIdList.h:166
vtkIdTypeArray.h
vtkTriangle
a cell that represents a triangle
Definition: vtkTriangle.h:145
vtkUnstructuredGrid::LagrangeWedge
vtkLagrangeWedge * LagrangeWedge
Definition: vtkUnstructuredGrid.h:637
vtkTriQuadraticHexahedron
cell represents a parabolic, 27-node isoparametric hexahedron
Definition: vtkTriQuadraticHexahedron.h:102
vtkUnstructuredGrid::ConvertFaceStreamPointIds
static void ConvertFaceStreamPointIds(vtkIdType nfaces, vtkIdType *faceStream, vtkIdType *idMap)
Convert pid in a face stream into idMap[pid].
vtkUnstructuredGrid::NewCellIterator
vtkCellIterator * NewCellIterator() override
Standard vtkDataSet methods; see vtkDataSet.h for documentation.
vtkUnstructuredGrid::Pixel
vtkPixel * Pixel
Definition: vtkUnstructuredGrid.h:642
vtkUnstructuredGrid::InternalInsertNextCell
vtkIdType InternalInsertNextCell(int type, vtkIdList *ptIds) override
vtkDataSet
abstract class to specify dataset behavior
Definition: vtkDataSet.h:166
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:308
vtkInformation
Store vtkAlgorithm input/output information.
Definition: vtkInformation.h:183
vtkUnstructuredGrid::QuadraticWedge
vtkQuadraticWedge * QuadraticWedge
Definition: vtkUnstructuredGrid.h:658
vtkX3D::info
@ info
Definition: vtkX3D.h:382
vtkUnstructuredGrid::RemoveReferenceToCell
void RemoveReferenceToCell(vtkIdType ptId, vtkIdType cellId)
Use these methods only if the dataset has been specified as Editable.
vtkUnstructuredGrid::BezierTriangle
vtkBezierTriangle * BezierTriangle
Definition: vtkUnstructuredGrid.h:629
vtkUnstructuredGrid::DistinctCellTypesUpdateMTime
vtkMTimeType DistinctCellTypesUpdateMTime
Definition: vtkUnstructuredGrid.h:692
vtkUnstructuredGrid::LagrangeQuadrilateral
vtkLagrangeQuadrilateral * LagrangeQuadrilateral
Definition: vtkUnstructuredGrid.h:633
vtkUnstructuredGrid::GetData
static vtkUnstructuredGrid * GetData(vtkInformation *info)
Retrieve an instance of this class from an information object.
vtkIdTypeArray
dynamic, self-adjusting array of vtkIdType
Definition: vtkIdTypeArray.h:145
vtkUnstructuredGrid::BezierTetra
vtkBezierTetra * BezierTetra
Definition: vtkUnstructuredGrid.h:630
vtkUnstructuredGrid::DecomposeAPolyhedronCell
static void DecomposeAPolyhedronCell(const vtkIdType *polyhedronCellStream, vtkIdType &nCellpts, vtkIdType &nCellfaces, vtkCellArray *cellArray, vtkIdTypeArray *faces)
vtkUnstructuredGrid::GetFaces
vtkIdType * GetFaces(vtkIdType cellId)
Special support for polyhedron.
vtkDeprecation.h
vtkUnstructuredGrid::ResizeCellList
void ResizeCellList(vtkIdType ptId, int size)
Use these methods only if the dataset has been specified as Editable.
vtkPixel
a cell that represents an orthogonal quadrilateral
Definition: vtkPixel.h:74
vtkUnstructuredGrid::Pyramid
vtkPyramid * Pyramid
Definition: vtkUnstructuredGrid.h:649
vtkUnstructuredGrid::PolyLine
vtkPolyLine * PolyLine
Definition: vtkUnstructuredGrid.h:639
vtkLagrangeTetra
A 3D cell that represents an arbitrary order Lagrange tetrahedron.
Definition: vtkLagrangeTetra.h:45
vtkQuadraticLinearQuad
cell represents a quadratic-linear, 6-node isoparametric quad
Definition: vtkQuadraticLinearQuad.h:67
vtkUnstructuredGrid::InsertNextLinkedCell
vtkIdType InsertNextLinkedCell(int type, int npts, const vtkIdType pts[])
Use these methods only if the dataset has been specified as Editable.
vtkUnstructuredGrid::QuadraticLinearWedge
vtkQuadraticLinearWedge * QuadraticLinearWedge
Definition: vtkUnstructuredGrid.h:664
vtkUnstructuredGrid::Connectivity
vtkSmartPointer< vtkCellArray > Connectivity
Definition: vtkUnstructuredGrid.h:683
vtkUnstructuredGrid::GetPointCells
void GetPointCells(vtkIdType ptId, vtkIdType &ncells, vtkIdType *&cells)
Special (efficient) operation to return the list of cells using the specified point ptId.
vtkBiQuadraticQuadraticWedge
cell represents a parabolic, 18-node isoparametric wedge
Definition: vtkBiQuadraticQuadraticWedge.h:73
vtkGenericCell
provides thread-safe access to cells
Definition: vtkGenericCell.h:116
vtkLagrangeCurve
Definition: vtkLagrangeCurve.h:38
vtkUnstructuredGrid::LagrangeHexahedron
vtkLagrangeHexahedron * LagrangeHexahedron
Definition: vtkUnstructuredGrid.h:634
vtkUnstructuredGrid::GetActualMemorySize
unsigned long GetActualMemorySize() override
Return the actual size of the data in kibibytes (1024 bytes).
vtkIdList::GetPointer
vtkIdType * GetPointer(const vtkIdType i)
Get a pointer to a particular data index.
Definition: vtkIdList.h:235
vtkTriQuadraticPyramid
cell represents a parabolic, 13-node isoparametric pyramid
Definition: vtkTriQuadraticPyramid.h:105
vtkUnstructuredGrid::vtkUnstructuredGrid
vtkUnstructuredGrid()
vtkUnstructuredGrid::Polyhedron
vtkPolyhedron * Polyhedron
Definition: vtkUnstructuredGrid.h:670
vtkUnstructuredGrid
dataset represents arbitrary combinations of all possible cell types
Definition: vtkUnstructuredGrid.h:204
vtkUnstructuredGrid::GetCellNeighbors
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...
Definition: vtkUnstructuredGrid.h:412
vtkUnstructuredGrid::Triangle
vtkTriangle * Triangle
Definition: vtkUnstructuredGrid.h:640
vtkUnstructuredGrid::GetCellLocationsArray
vtkIdTypeArray * GetCellLocationsArray()
Get the array of all the starting indices of cell definitions in the cell array.
vtkCellIterator
Efficient cell iterator for vtkDataSet topologies.
Definition: vtkCellIterator.h:177
vtkTetra
a 3D cell that represents a tetrahedron
Definition: vtkTetra.h:111
VTK_UNSTRUCTURED_GRID
#define VTK_UNSTRUCTURED_GRID
Definition: vtkType.h:81
vtkUnstructuredGrid::ConvexPointSet
vtkConvexPointSet * ConvexPointSet
Definition: vtkUnstructuredGrid.h:669
vtkUnstructuredGrid::ShallowCopy
void ShallowCopy(vtkDataObject *src) override
Shallow and Deep copy.
vtkDataObject
general representation of visualization data
Definition: vtkDataObject.h:169
vtkLagrangeHexahedron
A 3D cell that represents an arbitrary order Lagrange hex.
Definition: vtkLagrangeHexahedron.h:48
vtkQuadraticEdge
cell represents a parabolic, isoparametric edge
Definition: vtkQuadraticEdge.h:60
vtkUnstructuredGrid::RemoveGhostCells
void RemoveGhostCells()
This method will remove any cell that is marked as ghost (has the vtkDataSetAttributes::DUPLICATECELL...
vtkUnstructuredGrid::QuadraticTriangle
vtkQuadraticTriangle * QuadraticTriangle
Definition: vtkUnstructuredGrid.h:653
vtkBezierTriangle
A 2D cell that represents an arbitrary order Bezier triangle.
Definition: vtkBezierTriangle.h:44
vtkPolyhedron
a 3D cell defined by a set of polygonal faces
Definition: vtkPolyhedron.h:97
vtkTriangleStrip
a cell that represents a triangle strip
Definition: vtkTriangleStrip.h:87
vtkUnstructuredGrid::QuadraticLinearQuad
vtkQuadraticLinearQuad * QuadraticLinearQuad
Definition: vtkUnstructuredGrid.h:660
vtkUnstructuredGrid::GetCell
vtkCell * GetCell(vtkIdType cellId) override
Standard vtkDataSet methods; see vtkDataSet.h for documentation.
vtkUnstructuredGrid::DeepCopy
void DeepCopy(vtkDataObject *src) override
Shallow and Deep copy.
vtkQuad
a cell that represents a 2D quadrilateral
Definition: vtkQuad.h:95
vtkUnstructuredGrid::SetCells
void SetCells(vtkUnsignedCharArray *cellTypes, vtkIdTypeArray *cellLocations, vtkCellArray *cells, vtkIdTypeArray *faceLocations, vtkIdTypeArray *faces)
Special methods specific to vtkUnstructuredGrid for defining the cells composing the dataset.
vtkUnstructuredGrid::GetMeshMTime
virtual vtkMTimeType GetMeshMTime()
Return the mesh (geometry/topology) modification time.
vtkDataSet::GetCell
virtual vtkCell * GetCell(vtkIdType cellId)=0
Get cell with cellId such that: 0 <= cellId < NumberOfCells.
vtkMTimeType
vtkTypeUInt32 vtkMTimeType
Definition: vtkType.h:287
vtkUnstructuredGrid::Line
vtkLine * Line
Definition: vtkUnstructuredGrid.h:638
vtkUnstructuredGrid::GetCellTypes
void GetCellTypes(vtkCellTypes *types) override
Get a list of types of cells in a dataset.
vtkPolyVertex
cell represents a set of 0D vertices
Definition: vtkPolyVertex.h:72
vtkVoxel
a cell that represents a 3D orthogonal parallelepiped
Definition: vtkVoxel.h:88