38 #ifndef vtkPolyhedron_h
39 #define vtkPolyhedron_h
41 #include "vtkCommonDataModelModule.h"
52 class vtkIdToIdVectorMapType;
53 class vtkIdToIdMapType;
75 void GetEdgePoints(
int vtkNotUsed(edgeId),
int* &vtkNotUsed(pts)) VTK_OVERRIDE {}
76 void GetFacePoints(
int vtkNotUsed(faceId),
int* &vtkNotUsed(pts)) VTK_OVERRIDE {}
95 int GetNumberOfEdges() VTK_OVERRIDE;
96 vtkCell *GetEdge(
int) VTK_OVERRIDE;
97 int GetNumberOfFaces() VTK_OVERRIDE;
98 vtkCell *GetFace(
int faceId) VTK_OVERRIDE;
125 int insideOut) VTK_OVERRIDE;
134 int EvaluatePosition(
double x[3],
double* closestPoint,
135 int& subId,
double pcoords[3],
136 double& dist2,
double *weights) VTK_OVERRIDE;
142 void EvaluateLocation(
int& subId,
double pcoords[3],
double x[3],
143 double *weights) VTK_OVERRIDE;
151 int IntersectWithLine(
double p1[3],
double p2[3],
double tol,
double& t,
152 double x[3],
double pcoords[3],
int& subId) VTK_OVERRIDE;
178 void Derivatives(
int subId,
double pcoords[3],
double *values,
179 int dim,
double *derivs) VTK_OVERRIDE;
185 int CellBoundary(
int subId,
double pcoords[3],
vtkIdList *pts) VTK_OVERRIDE;
191 int GetParametricCenter(
double pcoords[3]) VTK_OVERRIDE;
196 int IsPrimaryCell() VTK_OVERRIDE {
return 1;}
228 int IsInside(
double x[3],
double tolerance);
245 ~vtkPolyhedron() VTK_OVERRIDE;
261 vtkPointIdMap *PointIdMap;
277 void GenerateFaces();
281 void ComputeBounds();
282 void ComputeParametricCoordinate(
double x[3],
double pc[3]);
283 void ComputePositionFromParametricCoordinate(
double pc[3],
double x[3]);
286 int PolyDataConstructed;
290 void ConstructPolyData();
291 int LocatorConstructed;
293 void ConstructLocator();
299 int InternalContour(
double value,
307 vtkIdToIdVectorMapType & faceToPointsMap,
308 vtkIdToIdVectorMapType & pointToFacesMap,
309 vtkIdToIdMapType & pointIdMap);
315 int IntersectWithContour(
double value,
320 vtkPolyhedron(const vtkPolyhedron&) VTK_DELETE_FUNCTION;
321 void operator=(const vtkPolyhedron&) VTK_DELETE_FUNCTION;
324 vtkInternal * Internal;
329 inline
int vtkPolyhedron::GetParametricCenter(
double pcoords[3])
331 pcoords[0] = pcoords[1] = pcoords[2] = 0.5;
represent and manipulate point attribute data
int RequiresInitialization() override
This cell requires that it be initialized prior to access.
quickly locate points in 3-space
void GetFacePoints(int vtkNotUsed(faceId), int *&vtkNotUsed(pts)) override
virtual void InterpolateFunctions(double vtkNotUsed(pcoords)[3], double *vtkNotUsed(weight))
Compute the interpolation functions/derivatives (aka shape functions/derivatives) No-ops at this leve...
virtual double * GetParametricCoords()
Return a contiguous array of parametric coordinates of the points defining this cell.
represent and manipulate cell attribute data
Abstract class in support of both point location and point insertion.
a cell that represents a 2D quadrilateral
dynamic, self-adjusting array of vtkIdType
concrete dataset represents vertices, lines, polygons, and triangle strips
provides thread-safe access to cells
abstract class to specify 3D cell interface
keep track of edges (edge is pair of integer id's)
a 3D cell that represents a tetrahedron
virtual void SetFaces(vtkIdType *vtkNotUsed(faces))
cell represents a 1D line
abstract class to specify cell behavior
octree-based spatial search object to quickly locate cells
void GetEdgePoints(int vtkNotUsed(edgeId), int *&vtkNotUsed(pts)) override
See vtkCell3D API for description of these methods.
a simple class to control print indentation
list of point or cell ids
abstract superclass for arrays of numeric data
a cell that represents an n-sided polygon
virtual void InterpolateDerivs(double vtkNotUsed(pcoords)[3], double *vtkNotUsed(derivs))
object to represent cell connectivity
a cell that represents a triangle
int Contour(vtkDataSet *input, vtkPolyData *output, vtkDataArray *field, float isoValue, bool computeScalars)
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
a 3D cell defined by a set of polygonal faces
virtual vtkIdType * GetFaces()
virtual void Initialize()
static vtkObject * New()
Create an object with Debug turned off, modified time initialized to zero, and reference counting on...
represent and manipulate 3D points
int RequiresExplicitFaceRepresentation() override
Methods supporting the definition of faces.