42 #define VTK_CELL_SIZE 512
43 #define VTK_TOL 1.e-05 // Tolerance for geometric calculation
45 #include "vtkCommonDataModelModule.h"
55 class vtkIncrementalPointLocator;
71 virtual void ShallowCopy(
vtkCell *c);
78 virtual int GetCellType() = 0;
81 virtual int GetCellDimension() = 0;
117 virtual int GetNumberOfEdges() = 0;
120 virtual int GetNumberOfFaces() = 0;
129 virtual vtkCell *GetEdge(
int edgeId) = 0;
132 virtual vtkCell *GetFace(
int faceId) = 0;
139 virtual int CellBoundary(
int subId,
double pcoords[3],
vtkIdList *pts) = 0;
157 virtual int EvaluatePosition(
double x[3],
double* closestPoint,
158 int& subId,
double pcoords[3],
159 double& dist2,
double *weights) = 0;
166 virtual void EvaluateLocation(
int& subId,
double pcoords[3],
167 double x[3],
double *weights) = 0;
182 virtual void Contour(
double value,
vtkDataArray *cellScalars,
183 vtkIncrementalPointLocator *locator,
vtkCellArray *verts,
185 vtkPointData *inPd, vtkPointData *outPd,
202 virtual void Clip(
double value,
vtkDataArray *cellScalars,
203 vtkIncrementalPointLocator *locator,
vtkCellArray *connectivity,
204 vtkPointData *inPd, vtkPointData *outPd,
213 virtual int IntersectWithLine(
double p1[3],
double p2[3],
214 double tol,
double& t,
double x[3],
215 double pcoords[3],
int& subId) = 0;
242 virtual void Derivatives(
int subId,
double pcoords[3],
double *values,
243 int dim,
double *derivs) = 0;
249 void GetBounds(
double bounds[6]);
266 virtual int GetParametricCenter(
double pcoords[3]);
274 virtual double GetParametricDistance(
double pcoords[3]);
292 virtual double *GetParametricCoords();
322 void operator=(
const vtkCell&);
vtkIdType GetNumberOfPoints()
abstract base class for most VTK objects
represent and manipulate cell attribute data
virtual void InterpolateFunctions(double pcoords[3], double weights[3])
void DeepCopy(vtkPistonReference *self, vtkPistonReference *other)
vtkIdType GetPointId(int ptId)
virtual void SetFaces(vtkIdType *vtkNotUsed(faces))
abstract class to specify cell behavior
virtual void PrintSelf(ostream &os, vtkIndent indent)
a simple class to control print indentation
list of point or cell ids
abstract superclass for arrays of numeric data
virtual int RequiresInitialization()
virtual int RequiresExplicitFaceRepresentation()
object to represent cell connectivity
virtual int IsExplicitCell()
virtual int IsPrimaryCell()
virtual void InterpolateDerivs(double pcoords[3], double derivs[3])
vtkIdList * GetPointIds()
virtual vtkIdType * GetFaces()
virtual void Initialize()
represent and manipulate 3D points