VTK  9.1.0
vtkCell3D.h
Go to the documentation of this file.
1/*=========================================================================
2
3 Program: Visualization Toolkit
4 Module: vtkCell3D.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=========================================================================*/
27#ifndef vtkCell3D_h
28#define vtkCell3D_h
29
30#include "vtkCell.h"
31#include "vtkCommonDataModelModule.h" // For export macro
32#include "vtkDeprecation.h" // For VTK_DEPRECATED_IN_9_0_0
33
35class vtkTetra;
36class vtkCellArray;
37class vtkDoubleArray;
38
39class VTKCOMMONDATAMODEL_EXPORT vtkCell3D : public vtkCell
40{
41public:
42 vtkTypeMacro(vtkCell3D, vtkCell);
43 void PrintSelf(ostream& os, vtkIndent indent) override;
44
52 virtual void GetEdgePoints(vtkIdType edgeId, const vtkIdType*& pts) = 0;
53 // @deprecated Replaced by GetEdgePoints(vtkIdType, const vtkIdType*&) as of VTK 9.0
54 VTK_DEPRECATED_IN_9_0_0("Replaced by vtkCell::GetEdgePoints(vtkIdType, const vtkIdType*&)")
55 virtual void GetEdgePoints(int edgeId, int*& pts) = 0;
56
66 virtual vtkIdType GetFacePoints(vtkIdType faceId, const vtkIdType*& pts) = 0;
67 // @deprecated Replaced by GetFacePoints(vtkIdType, const vtkIdType*&) as of VTK 9.0
68 VTK_DEPRECATED_IN_9_0_0("Replaced by vtkCell::GetFacePoints(vtkIdType, const vtkIdType*&)")
69 virtual void GetFacePoints(int faceId, int*& pts) = 0;
70
78 virtual void GetEdgeToAdjacentFaces(vtkIdType edgeId, const vtkIdType*& faceIds) = 0;
79
95 virtual vtkIdType GetFaceToAdjacentFaces(vtkIdType faceId, const vtkIdType*& faceIds) = 0;
96
111 virtual vtkIdType GetPointToIncidentEdges(vtkIdType pointId, const vtkIdType*& edgeIds) = 0;
112
129 virtual vtkIdType GetPointToIncidentFaces(vtkIdType pointId, const vtkIdType*& faceIds) = 0;
130
142 virtual vtkIdType GetPointToOneRingPoints(vtkIdType pointId, const vtkIdType*& pts) = 0;
143
150 virtual bool IsInsideOut();
151
155 virtual bool GetCentroid(double centroid[3]) const = 0;
156
157 void Contour(double value, vtkDataArray* cellScalars, vtkIncrementalPointLocator* locator,
158 vtkCellArray* verts, vtkCellArray* lines, vtkCellArray* polys, vtkPointData* inPd,
159 vtkPointData* outPd, vtkCellData* inCd, vtkIdType cellId, vtkCellData* outCd) override;
160
173 void Clip(double value, vtkDataArray* cellScalars, vtkIncrementalPointLocator* locator,
174 vtkCellArray* connectivity, vtkPointData* inPd, vtkPointData* outPd, vtkCellData* inCd,
175 vtkIdType cellId, vtkCellData* outCd, int insideOut) override;
176
180 int GetCellDimension() override { return 3; }
181
193 int Inflate(double dist) override;
194
196
201 vtkSetClampMacro(MergeTolerance, double, 0.0001, 0.25);
202 vtkGetMacro(MergeTolerance, double);
204
205protected:
207 ~vtkCell3D() override;
208
211
212 // used to support clipping
215
216private:
217 vtkCell3D(const vtkCell3D&) = delete;
218 void operator=(const vtkCell3D&) = delete;
219};
220
221#endif
abstract class to specify 3D cell interface
Definition: vtkCell3D.h:40
~vtkCell3D() override
double MergeTolerance
Definition: vtkCell3D.h:210
vtkOrderedTriangulator * Triangulator
Definition: vtkCell3D.h:209
vtkTetra * ClipTetra
Definition: vtkCell3D.h:213
virtual void GetEdgePoints(vtkIdType edgeId, const vtkIdType *&pts)=0
Get the pair of vertices that define an edge.
int Inflate(double dist) override
Inflates the cell.
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
vtkDoubleArray * ClipScalars
Definition: vtkCell3D.h:214
object to represent cell connectivity
Definition: vtkCellArray.h:290
represent and manipulate cell attribute data
Definition: vtkCellData.h:142
abstract class to specify cell behavior
Definition: vtkCell.h:147
abstract superclass for arrays of numeric data
Definition: vtkDataArray.h:159
dynamic, self-adjusting array of double
Abstract class in support of both point location and point insertion.
a simple class to control print indentation
Definition: vtkIndent.h:113
helper class to generate triangulations
represent and manipulate point attribute data
Definition: vtkPointData.h:142
a 3D cell that represents a tetrahedron
Definition: vtkTetra.h:111
#define VTK_DEPRECATED_IN_9_0_0(reason)
int vtkIdType
Definition: vtkType.h:332