Go to the documentation of this file.
62 #ifndef vtkGenericAdaptorCell_h
63 #define vtkGenericAdaptorCell_h
66 #include "vtkCommonDataModelModule.h"
270 double *closestPoint,
represent and manipulate 3D points
virtual int GetAttributeOrder(vtkGenericAttribute *a)=0
Return the interpolation order of attribute ‘a’ on the cell (may differ by cell).
iterator used to traverse points
virtual int GetNumberOfDOFNodes()=0
Accumulated number of DOF nodes of the current cell.
virtual void InterpolateTuple(vtkGenericAttribute *a, double pcoords[3], double *val)=0
Interpolate the attribute ‘a’ at local position ‘pcoords’ of the cell into ‘val’.
virtual int FindClosestBoundary(int subId, double pcoords[3], vtkGenericCellIterator *&boundary)=0
Compute the closest boundary of the current sub-cell ‘subId’ for point ‘pcoord’ (in parametric coordi...
virtual void InterpolateTuple(vtkGenericAttributeCollection *c, double pcoords[3], double *val)=0
Interpolate the whole collection of attributes ‘c’ at local position ‘pcoords’ of the cell into ‘val’...
virtual int GetNumberOfPoints()=0
Return the number of corner points that compose the cell.
a cell that represents a linear 3D hexahedron
virtual int GetDimension()=0
Return the topological dimension of the current cell.
virtual void Tessellate(vtkGenericAttributeCollection *attributes, vtkGenericCellTessellator *tess, vtkPoints *points, vtkIncrementalPointLocator *locator, vtkCellArray *cellArray, vtkPointData *internalPd, vtkPointData *pd, vtkCellData *cd, vtkUnsignedCharArray *types)
Tessellate the cell if it is not linear or if at least one attribute of ‘attributes’ is not linear.
virtual void EvaluateLocation(int subId, double pcoords[3], double x[3])=0
Determine the global coordinates ‘x’ from sub-cell ‘subId’ and parametric coordinates ‘pcoords’ in th...
virtual int IsPrimary()=0
Is the cell primary (i.e.
virtual void GetPointIterator(vtkGenericPointIterator *it)=0
Return the points of cell into ‘it’.
represent and manipulate point attribute data
a cell that represents an n-sided polygon
virtual void GetPointIds(vtkIdType *id)=0
Put into ‘id’ the list of the dataset points that define the corner points of the cell.
dynamic, self-adjusting array of unsigned char
abstract base class for most VTK objects
vtkDoubleArray * InternalPoints
vtkDoubleArray * PointDataScalars
virtual int IsInDataSet()=0
Does ‘this’ a cell of a dataset? (otherwise, it is a boundary cell)
~vtkGenericAdaptorCell() override
iterator used to traverse cells
a 3D cell that represents a linear pyramid
a cell that represents a 3D point
void Reset()
Reset internal structures.
vtkDoubleArray * InternalScalars
cell represents a 1D line
helper class to generate triangulations
virtual void Contour(vtkContourValues *values, vtkImplicitFunction *f, vtkGenericAttributeCollection *attributes, vtkGenericCellTessellator *tess, vtkIncrementalPointLocator *locator, vtkCellArray *verts, vtkCellArray *lines, vtkCellArray *polys, vtkPointData *outPd, vtkCellData *outCd, vtkPointData *internalPd, vtkPointData *secondaryPd, vtkCellData *secondaryCd)
Generate a contour (contouring primitives) for each ‘values’ or with respect to an implicit function ...
void AllocateTuples(int size)
Allocate some memory if Tuples does not exist or is smaller than size.
vtkTypeBool IsAttributeLinear(vtkGenericAttribute *a)
Does the attribute ‘a’ have a non-linear interpolation?
abstract interface for implicit functions
helper class to perform cell tessellation
virtual int GetType()=0
Return the type of the current cell.
virtual int IsFaceOnBoundary(vtkIdType faceId)=0
Is the face ‘faceId’ of the current cell on the exterior boundary of the dataset?
virtual int * GetEdgeArray(int edgeId)=0
Return the ids of the vertices defining edge ‘edgeId’.
virtual int IntersectWithLine(double p1[3], double p2[3], double tol, double &t, double x[3], double pcoords[3], int &subId)=0
Is there an intersection between the current cell and the ray (‘p1’,‘p2’) according to a tolerance ‘t...
virtual double * GetBounds()
Return the bounding box of the current cell in global coordinates.
a 3D cell that represents a linear wedge
virtual void Clip(double value, vtkImplicitFunction *f, vtkGenericAttributeCollection *attributes, vtkGenericCellTessellator *tess, int insideOut, vtkIncrementalPointLocator *locator, vtkCellArray *connectivity, vtkPointData *outPd, vtkCellData *outCd, vtkPointData *internalPd, vtkPointData *secondaryPd, vtkCellData *secondaryCd)
Cut (or clip) the current cell with respect to the contour defined by the ‘value’ or the implicit fun...
helper object to manage setting and generating contour values
virtual void GetBoundaryIterator(vtkGenericCellIterator *boundaries, int dim=-1)=0
Return the ‘boundaries’ cells of dimension ‘dim’ (or all dimensions less than GetDimension() if -1) t...
virtual double * GetParametricCoords()=0
Return a contiguous array of parametric coordinates of the corrner points defining the current cell.
represent and manipulate cell attribute data
virtual int CountNeighbors(vtkGenericAdaptorCell *boundary)=0
Number of cells (dimension>boundary->GetDimension()) of the dataset that share the boundary ‘boundary...
a simple class to control print indentation
object to represent cell connectivity
Abstract class in support of both point location and point insertion.
list of point or cell ids
virtual int EvaluatePosition(const double x[3], double *closestPoint, int &subId, double pcoords[3], double &dist2)=0
Is ‘x’ inside the current cell? It also evaluates parametric coordinates ‘pcoords’,...
virtual int GetNumberOfBoundaries(int dim=-1)=0
Return the number of boundaries of dimension ‘dim’ (or all dimensions greater than 0 and less than Ge...
vtkCellArray * InternalCellArray
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
a cell that represents a triangle
virtual int GetGeometryOrder()=0
Return the interpolation order of the geometry.
virtual int GetParametricCenter(double pcoords[3])=0
Get the center of the current cell (in parametric coordinates) and place it in ‘pcoords’.
virtual double GetLength2()
Return the bounding box diagonal squared of the current cell.
virtual double GetParametricDistance(const double pcoords[3])=0
Return the distance of the parametric coordinate ‘pcoords’ to the current cell.
virtual vtkGenericCellIterator * NewCellIterator()=0
Create an empty cell iterator.
virtual void CountEdgeNeighbors(int *sharing)=0
virtual int * GetFaceArray(int faceId)=0
Return the ids of the vertices defining face ‘faceId’.
virtual void GetNeighbors(vtkGenericAdaptorCell *boundary, vtkGenericCellIterator *neighbors)=0
Put into ‘neighbors’ the cells (dimension>boundary->GetDimension()) of the dataset that share the bou...
virtual int GetHighestOrderAttribute(vtkGenericAttributeCollection *ac)
Return the index of the first point centered attribute with the highest order in ‘ac’.
virtual int IsOnBoundary()=0
Is the cell on the exterior boundary of the dataset?
int IsGeometryLinear()
Does the cell have a non-linear interpolation for the geometry?
a collection of attributes
abstract class defined API for attribute data
dynamic, self-adjusting array of double
virtual void Derivatives(int subId, double pcoords[3], vtkGenericAttribute *attribute, double *derivs)=0
Compute derivatives ‘derivs’ of the attribute ‘attribute’ (from its values at the corner points of th...
virtual vtkIdType GetId()=0
Unique identification number of the cell over the whole data set.
virtual void GetBounds(double bounds[6])=0
Compute the bounding box of the current cell in ‘bounds’ in global coordinates.
a 3D cell that represents a tetrahedron
virtual int GetNumberOfVerticesOnFace(int faceId)=0
Return the number of vertices defining face ‘faceId’.
a cell that represents a 2D quadrilateral
virtual void TriangulateFace(vtkGenericAttributeCollection *attributes, vtkGenericCellTessellator *tess, int index, vtkPoints *points, vtkIncrementalPointLocator *locator, vtkCellArray *cellArray, vtkPointData *internalPd, vtkPointData *pd, vtkCellData *cd)
Tessellate face ‘index’ of the cell.