61 #ifndef __vtkGenericAdaptorCell_h
62 #define __vtkGenericAdaptorCell_h
76 class vtkGenericCellIterator;
81 class vtkGenericAttributeCollection;
82 class vtkGenericAttribute;
85 class vtkOrderedTriangulator;
104 virtual int IsInDataSet()=0;
110 virtual int GetType()=0;
114 virtual int GetDimension() = 0;
118 virtual int GetGeometryOrder()=0;
122 int IsGeometryLinear();
126 virtual int GetAttributeOrder(vtkGenericAttribute *a)=0;
131 virtual int GetHighestOrderAttribute(vtkGenericAttributeCollection *ac);
135 int IsAttributeLinear(vtkGenericAttribute *a);
138 virtual int IsPrimary()=0;
142 virtual int GetNumberOfPoints()=0;
152 virtual int GetNumberOfBoundaries(
int dim=-1)=0;
162 virtual int GetNumberOfDOFNodes()=0;
169 virtual vtkGenericCellIterator *NewCellIterator()=0;
176 virtual void GetBoundaryIterator(vtkGenericCellIterator *boundaries,
187 virtual void CountEdgeNeighbors(
int* sharing ) = 0;
198 vtkGenericCellIterator *neighbors)=0;
206 virtual int FindClosestBoundary(
int subId,
208 vtkGenericCellIterator* &boundary)=0;
220 virtual int EvaluatePosition(
double x[3],
221 double *closestPoint,
233 virtual void EvaluateLocation(
int subId,
245 virtual void InterpolateTuple(vtkGenericAttribute *a,
double pcoords[3],
256 virtual void InterpolateTuple(vtkGenericAttributeCollection *c,
293 vtkGenericAttributeCollection *attributes,
301 vtkPointData *internalPd,
302 vtkPointData *secondaryPd,
337 virtual void Clip(
double value,
339 vtkGenericAttributeCollection *attributes,
346 vtkPointData *internalPd,
347 vtkPointData *secondaryPd,
358 virtual int IntersectWithLine(
double p1[3],
377 virtual void Derivatives(
int subId,
379 vtkGenericAttribute *attribute,
385 virtual void GetBounds(
double bounds[6])=0;
390 virtual double *GetBounds();
394 virtual double GetLength2();
400 virtual int GetParametricCenter(
double pcoords[3])=0;
408 virtual double GetParametricDistance(
double pcoords[3])=0;
418 virtual double *GetParametricCoords()=0;
435 virtual void Tessellate(vtkGenericAttributeCollection *attributes,
440 vtkPointData *internalPd,
450 virtual int IsFaceOnBoundary(
vtkIdType faceId) = 0;
454 virtual int IsOnBoundary() = 0;
459 virtual void GetPointIds(
vtkIdType *
id) = 0;
468 virtual void TriangulateFace(vtkGenericAttributeCollection *attributes,
473 vtkPointData *internalPd,
482 virtual int *GetFaceArray(
int faceId)=0;
488 virtual int GetNumberOfVerticesOnFace(
int faceId)=0;
495 virtual int *GetEdgeArray(
int edgeId)=0;
506 void AllocateTuples(
int size);
abstract interface for implicit functions
helper object to manage setting and generating contour values
abstract base class for most VTK objects
helper class to perform cell tessellation
a cell that represents a 3D point
a 3D cell that represents a linear pyramid
vtkCellArray * InternalCellArray
represent and manipulate cell attribute data
Abstract class in support of both point location and point insertion.
iterator used to traverse points
vtkDoubleArray * PointDataScalars
dynamic, self-adjusting array of double
a 3D cell that represents a tetrahedron
virtual void PrintSelf(ostream &os, vtkIndent indent)
a simple class to control print indentation
list of point or cell ids
vtkDoubleArray * InternalScalars
a cell that represents a linear 3D hexahedron
dynamic, self-adjusting array of unsigned char
object to represent cell connectivity
a cell that represents a triangle
vtkDoubleArray * InternalPoints
represent and manipulate 3D points