61 #ifndef __vtkGenericAdaptorCell_h
62 #define __vtkGenericAdaptorCell_h
65 #include "vtkCommonDataModelModule.h"
66 #include "vtkObject.h"
77 class vtkGenericCellIterator;
80 class vtkImplicitFunction;
82 class vtkGenericAttributeCollection;
83 class vtkGenericAttribute;
86 class vtkOrderedTriangulator;
88 class vtkUnsignedCharArray;
98 void PrintSelf(ostream& os, vtkIndent indent);
102 virtual vtkIdType GetId() = 0;
105 virtual int IsInDataSet()=0;
111 virtual int GetType()=0;
115 virtual int GetDimension() = 0;
119 virtual int GetGeometryOrder()=0;
123 int IsGeometryLinear();
127 virtual int GetAttributeOrder(vtkGenericAttribute *a)=0;
132 virtual int GetHighestOrderAttribute(vtkGenericAttributeCollection *ac);
136 int IsAttributeLinear(vtkGenericAttribute *a);
139 virtual int IsPrimary()=0;
143 virtual int GetNumberOfPoints()=0;
153 virtual int GetNumberOfBoundaries(
int dim=-1)=0;
163 virtual int GetNumberOfDOFNodes()=0;
170 virtual vtkGenericCellIterator *NewCellIterator()=0;
177 virtual void GetBoundaryIterator(vtkGenericCellIterator *boundaries,
188 virtual void CountEdgeNeighbors(
int* sharing ) = 0;
199 vtkGenericCellIterator *neighbors)=0;
207 virtual int FindClosestBoundary(
int subId,
209 vtkGenericCellIterator* &boundary)=0;
221 virtual int EvaluatePosition(
double x[3],
222 double *closestPoint,
234 virtual void EvaluateLocation(
int subId,
246 virtual void InterpolateTuple(vtkGenericAttribute *a,
double pcoords[3],
257 virtual void InterpolateTuple(vtkGenericAttributeCollection *c,
293 vtkImplicitFunction *f,
294 vtkGenericAttributeCollection *attributes,
302 vtkPointData *internalPd,
303 vtkPointData *secondaryPd,
338 virtual void Clip(
double value,
339 vtkImplicitFunction *f,
340 vtkGenericAttributeCollection *attributes,
347 vtkPointData *internalPd,
348 vtkPointData *secondaryPd,
359 virtual int IntersectWithLine(
double p1[3],
378 virtual void Derivatives(
int subId,
380 vtkGenericAttribute *attribute,
386 virtual void GetBounds(
double bounds[6])=0;
391 virtual double *GetBounds();
395 virtual double GetLength2();
401 virtual int GetParametricCenter(
double pcoords[3])=0;
409 virtual double GetParametricDistance(
double pcoords[3])=0;
419 virtual double *GetParametricCoords()=0;
436 virtual void Tessellate(vtkGenericAttributeCollection *attributes,
441 vtkPointData *internalPd,
443 vtkUnsignedCharArray *types);
451 virtual int IsFaceOnBoundary(vtkIdType faceId) = 0;
455 virtual int IsOnBoundary() = 0;
460 virtual void GetPointIds(vtkIdType *
id) = 0;
469 virtual void TriangulateFace(vtkGenericAttributeCollection *attributes,
474 vtkPointData *internalPd,
483 virtual int *GetFaceArray(
int faceId)=0;
489 virtual int GetNumberOfVerticesOnFace(
int faceId)=0;
496 virtual int *GetEdgeArray(
int edgeId)=0;
507 void AllocateTuples(
int size);
helper object to manage setting and generating contour values
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
a 3D cell that represents a tetrahedron
vtkDoubleArray * InternalScalars
a cell that represents a linear 3D hexahedron
object to represent cell connectivity
a cell that represents a triangle
vtkDoubleArray * InternalPoints