|
virtual int | IsA (const char *type) |
| Return 1 if this class is the same type of (or a subclass of) the named class. More...
|
|
vtkGenericAdaptorCell * | NewInstance () const |
|
void | PrintSelf (ostream &os, vtkIndent indent) override |
| Methods invoked by print to print information about the object including superclasses. More...
|
|
virtual vtkIdType | GetId ()=0 |
| Unique identification number of the cell over the whole data set. More...
|
|
virtual int | IsInDataSet ()=0 |
| Does `this' a cell of a dataset? (otherwise, it is a boundary cell) More...
|
|
virtual int | GetType ()=0 |
| Return the type of the current cell. More...
|
|
virtual int | GetDimension ()=0 |
| Return the topological dimension of the current cell. More...
|
|
virtual int | GetGeometryOrder ()=0 |
| Return the interpolation order of the geometry. More...
|
|
int | IsGeometryLinear () |
| Does the cell have a non-linear interpolation for the geometry? More...
|
|
virtual int | GetAttributeOrder (vtkGenericAttribute *a)=0 |
| Return the interpolation order of attribute `a' on the cell (may differ by cell). More...
|
|
virtual int | GetHighestOrderAttribute (vtkGenericAttributeCollection *ac) |
| Return the index of the first point centered attribute with the highest order in `ac'. More...
|
|
int | IsAttributeLinear (vtkGenericAttribute *a) |
| Does the attribute `a' have a non-linear interpolation? More...
|
|
virtual int | IsPrimary ()=0 |
| Is the cell primary (i.e. More...
|
|
virtual int | GetNumberOfPoints ()=0 |
| Return the number of corner points that compose the cell. More...
|
|
virtual int | GetNumberOfBoundaries (int dim=-1)=0 |
| Return the number of boundaries of dimension `dim' (or all dimensions greater than 0 and less than GetDimension() if -1) of the cell. More...
|
|
virtual int | GetNumberOfDOFNodes ()=0 |
| Accumulated number of DOF nodes of the current cell. More...
|
|
virtual void | GetPointIterator (vtkGenericPointIterator *it)=0 |
| Return the points of cell into `it'. More...
|
|
virtual vtkGenericCellIterator * | NewCellIterator ()=0 |
| Create an empty cell iterator. More...
|
|
virtual void | GetBoundaryIterator (vtkGenericCellIterator *boundaries, int dim=-1)=0 |
| Return the `boundaries' cells of dimension `dim' (or all dimensions less than GetDimension() if -1) that are part of the boundary of the cell. More...
|
|
virtual void | GetNeighbors (vtkGenericAdaptorCell *boundary, vtkGenericCellIterator *neighbors)=0 |
| Put into `neighbors' the cells (dimension>boundary->GetDimension()) of the dataset that share the boundary `boundary' with this cell. More...
|
|
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 coordinates) in `boundary', and return whether the point is inside the cell or not. More...
|
|
virtual int | EvaluatePosition (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', sub-cell id `subId' (0 means primary cell), distance squared to the sub-cell in `dist2' and closest corner point `closestPoint'. More...
|
|
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 the cell. More...
|
|
virtual void | InterpolateTuple (vtkGenericAttribute *a, double pcoords[3], double *val)=0 |
| Interpolate the attribute `a' at local position `pcoords' of the cell into `val'. More...
|
|
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'. More...
|
|
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 `f'. More...
|
|
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 function `f' of the scalar attribute (`attributes->GetActiveAttribute()',`attributes->GetActiveComponent()'). More...
|
|
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 `tol'? If true, `x' is the global intersection, `t' is the parametric coordinate for the line, `pcoords' are the parametric coordinates for cell. More...
|
|
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 the cell) given sub-cell `subId' (0 means primary cell) and parametric coordinates `pcoords'. More...
|
|
virtual void | GetBounds (double bounds[6])=0 |
| Compute the bounding box of the current cell in `bounds' in global coordinates. More...
|
|
virtual double * | GetBounds () |
| Return the bounding box of the current cell in global coordinates. More...
|
|
virtual double | GetLength2 () |
| Return the bounding box diagonal squared of the current cell. More...
|
|
virtual int | GetParametricCenter (double pcoords[3])=0 |
| Get the center of the current cell (in parametric coordinates) and place it in `pcoords'. More...
|
|
virtual double | GetParametricDistance (double pcoords[3])=0 |
| Return the distance of the parametric coordinate `pcoords' to the current cell. More...
|
|
virtual double * | GetParametricCoords ()=0 |
| Return a contiguous array of parametric coordinates of the corrner points defining the current cell. More...
|
|
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. More...
|
|
virtual int | IsFaceOnBoundary (vtkIdType faceId)=0 |
| Is the face `faceId' of the current cell on the exterior boundary of the dataset? More...
|
|
virtual int | IsOnBoundary ()=0 |
| Is the cell on the exterior boundary of the dataset? More...
|
|
virtual void | GetPointIds (vtkIdType *id)=0 |
| Put into `id' the list of the dataset points that define the corner points of the cell. More...
|
|
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. More...
|
|
virtual int * | GetFaceArray (int faceId)=0 |
| Return the ids of the vertices defining face `faceId'. More...
|
|
virtual int | GetNumberOfVerticesOnFace (int faceId)=0 |
| Return the number of vertices defining face `faceId'. More...
|
|
virtual int * | GetEdgeArray (int edgeId)=0 |
| Return the ids of the vertices defining edge `edgeId'. More...
|
|
|
virtual int | CountNeighbors (vtkGenericAdaptorCell *boundary)=0 |
| Number of cells (dimension>boundary->GetDimension()) of the dataset that share the boundary `boundary' of `this'. More...
|
|
virtual void | CountEdgeNeighbors (int *sharing)=0 |
| Number of cells (dimension>boundary->GetDimension()) of the dataset that share the boundary `boundary' of `this'. More...
|
|
| vtkBaseTypeMacro (vtkObject, vtkObjectBase) |
|
virtual void | DebugOn () |
| Turn debugging output on. More...
|
|
virtual void | DebugOff () |
| Turn debugging output off. More...
|
|
bool | GetDebug () |
| Get the value of the debug flag. More...
|
|
void | SetDebug (bool debugFlag) |
| Set the value of the debug flag. More...
|
|
virtual void | Modified () |
| Update the modification time for this object. More...
|
|
virtual vtkMTimeType | GetMTime () |
| Return this object's modified time. More...
|
|
void | RemoveObserver (unsigned long tag) |
|
void | RemoveObservers (unsigned long event) |
|
void | RemoveObservers (const char *event) |
|
void | RemoveAllObservers () |
|
int | HasObserver (unsigned long event) |
|
int | HasObserver (const char *event) |
|
int | InvokeEvent (unsigned long event) |
|
int | InvokeEvent (const char *event) |
|
unsigned long | AddObserver (unsigned long event, vtkCommand *, float priority=0.0f) |
| Allow people to add/remove/invoke observers (callbacks) to any VTK object. More...
|
|
unsigned long | AddObserver (const char *event, vtkCommand *, float priority=0.0f) |
| Allow people to add/remove/invoke observers (callbacks) to any VTK object. More...
|
|
vtkCommand * | GetCommand (unsigned long tag) |
| Allow people to add/remove/invoke observers (callbacks) to any VTK object. More...
|
|
void | RemoveObserver (vtkCommand *) |
| Allow people to add/remove/invoke observers (callbacks) to any VTK object. More...
|
|
void | RemoveObservers (unsigned long event, vtkCommand *) |
| Allow people to add/remove/invoke observers (callbacks) to any VTK object. More...
|
|
void | RemoveObservers (const char *event, vtkCommand *) |
| Allow people to add/remove/invoke observers (callbacks) to any VTK object. More...
|
|
int | HasObserver (unsigned long event, vtkCommand *) |
| Allow people to add/remove/invoke observers (callbacks) to any VTK object. More...
|
|
int | HasObserver (const char *event, vtkCommand *) |
| Allow people to add/remove/invoke observers (callbacks) to any VTK object. More...
|
|
template<class U , class T > |
unsigned long | AddObserver (unsigned long event, U observer, void(T::*callback)(), float priority=0.0f) |
| Overloads to AddObserver that allow developers to add class member functions as callbacks for events. More...
|
|
template<class U , class T > |
unsigned long | AddObserver (unsigned long event, U observer, void(T::*callback)(vtkObject *, unsigned long, void *), float priority=0.0f) |
| Overloads to AddObserver that allow developers to add class member functions as callbacks for events. More...
|
|
template<class U , class T > |
unsigned long | AddObserver (unsigned long event, U observer, bool(T::*callback)(vtkObject *, unsigned long, void *), float priority=0.0f) |
| Allow user to set the AbortFlagOn() with the return value of the callback method. More...
|
|
int | InvokeEvent (unsigned long event, void *callData) |
| This method invokes an event and return whether the event was aborted or not. More...
|
|
int | InvokeEvent (const char *event, void *callData) |
| This method invokes an event and return whether the event was aborted or not. More...
|
|
const char * | GetClassName () const |
| Return the class name as a string. More...
|
|
virtual void | Delete () |
| Delete a VTK object. More...
|
|
virtual void | FastDelete () |
| Delete a reference to this object. More...
|
|
void | InitializeObjectBase () |
|
void | Print (ostream &os) |
| Print an object to an ostream. More...
|
|
virtual void | Register (vtkObjectBase *o) |
| Increase the reference count (mark as used by another object). More...
|
|
virtual void | UnRegister (vtkObjectBase *o) |
| Decrease the reference count (release by another object). More...
|
|
int | GetReferenceCount () |
| Return the current reference count of this object. More...
|
|
void | SetReferenceCount (int) |
| Sets the reference count. More...
|
|
void | PrintRevisions (ostream &) |
| Legacy. More...
|
|
virtual void | PrintHeader (ostream &os, vtkIndent indent) |
| Methods invoked by print to print information about the object including superclasses. More...
|
|
virtual void | PrintTrailer (ostream &os, vtkIndent indent) |
| Methods invoked by print to print information about the object including superclasses. More...
|
|
defines cell interface
In VTK, spatial-temporal data is defined in terms of a dataset which is composed of cells. The cells are topological entities over which an interpolation field is applied. Cells are defined in terms of a topology (e.g., vertices, lines, triangles, polygons, tetrahedra, etc.), points that instantiate the geometry of the cells, and interpolation fields (in the general case one interpolation field is for geometry, the other is for attribute data associated with the cell).
Currently most algorithms in VTK use vtkCell and vtkDataSet, which make assumptions about the nature of datasets, cells, and attributes. In particular, this abstraction assumes that cell interpolation functions are linear, or products of linear functions. Further, VTK implements most of the interpolation functions. This implementation starts breaking down as the complexity of the interpolation (or basis) functions increases.
vtkGenericAdaptorCell addresses these issues by providing more general abstraction for cells. It also adopts modern C++ practices including using iterators. The vtkGenericAdaptorCell is designed to fit within the adaptor framework; meaning that it is meant to adapt VTK to external simulation systems (see the GenericFiltering/README.html).
Please note that most cells are defined in terms of other cells (the boundary cells). They are also defined in terms of points, which are not the same as vertices (vertices are a 0-D cell; points represent a position in space).
Another important concept is the notion of DOFNodes. These concept supports cell types with complex interpolation functions. For example, higher-order p-method finite elements may have different functions on each of their topological features (edges, faces, region). The coefficients of these polynomial functions are associated with DOFNodes. (There is a single DOFNode for each topological feature.) Note that from this perspective, points are used to establish the topological form of the cell; mid-side nodes and such are considered DOFNodes.
- See also
- vtkGenericDataSet
- Tests:
- vtkGenericAdaptorCell (Tests)
Definition at line 95 of file vtkGenericAdaptorCell.h.