VTK
|
Implementation of vtkGenericAdaptorCell. More...
#include <vtkBridgeCell.h>
Implementation of vtkGenericAdaptorCell.
It is just an example that show how to implement the Generic. It is also used for testing and evaluating the Generic.
Definition at line 37 of file vtkBridgeCell.h.
Reimplemented from vtkGenericAdaptorCell.
Definition at line 41 of file vtkBridgeCell.h.
vtkBridgeCell::vtkBridgeCell | ( | ) | [protected] |
virtual vtkBridgeCell::~vtkBridgeCell | ( | ) | [protected, virtual] |
static vtkBridgeCell* vtkBridgeCell::New | ( | ) | [static] |
Create an object with Debug turned off, modified time initialized to zero, and reference counting on.
Reimplemented from vtkObject.
static int vtkBridgeCell::IsTypeOf | ( | const char * | name | ) | [static] |
Return 1 if this class type is the same type of (or a subclass of) the named class. Returns 0 otherwise. This method works in combination with vtkTypeMacro found in vtkSetGet.h.
Reimplemented from vtkGenericAdaptorCell.
virtual int vtkBridgeCell::IsA | ( | const char * | name | ) | [virtual] |
Return 1 if this class is the same type of (or a subclass of) the named class. Returns 0 otherwise. This method works in combination with vtkTypeMacro found in vtkSetGet.h.
Reimplemented from vtkGenericAdaptorCell.
static vtkBridgeCell* vtkBridgeCell::SafeDownCast | ( | vtkObjectBase * | o | ) | [static] |
Reimplemented from vtkGenericAdaptorCell.
virtual vtkObjectBase* vtkBridgeCell::NewInstanceInternal | ( | ) | const [protected, virtual] |
Reimplemented from vtkGenericAdaptorCell.
vtkBridgeCell* vtkBridgeCell::NewInstance | ( | ) | const |
Reimplemented from vtkGenericAdaptorCell.
void vtkBridgeCell::PrintSelf | ( | ostream & | os, |
vtkIndent | indent | ||
) | [virtual] |
Methods invoked by print to print information about the object including superclasses. Typically not called by the user (use Print() instead) but used in the hierarchical print process to combine the output of several classes.
Reimplemented from vtkGenericAdaptorCell.
virtual vtkIdType vtkBridgeCell::GetId | ( | ) | [virtual] |
Unique identification number of the cell over the whole data set. This unique key may not be contiguous.
Implements vtkGenericAdaptorCell.
virtual int vtkBridgeCell::IsInDataSet | ( | ) | [virtual] |
Does `this' a cell of a dataset? (otherwise, it is a boundary cell)
Implements vtkGenericAdaptorCell.
virtual int vtkBridgeCell::GetType | ( | ) | [virtual] |
Type of the current cell.
Implements vtkGenericAdaptorCell.
virtual int vtkBridgeCell::GetDimension | ( | ) | [virtual] |
Topological dimension of the current cell.
Implements vtkGenericAdaptorCell.
virtual int vtkBridgeCell::GetGeometryOrder | ( | ) | [virtual] |
Interpolation order of the geometry.
Implements vtkGenericAdaptorCell.
Does the cell have no higher-order interpolation for geometry?
Reimplemented from vtkGenericAdaptorCell.
virtual int vtkBridgeCell::GetAttributeOrder | ( | vtkGenericAttribute * | a | ) | [virtual] |
Interpolation order of attribute `a' on the cell (may differ by cell).
Implements vtkGenericAdaptorCell.
Does the attribute `a' have no higher-order interpolation for the cell?
Reimplemented from vtkGenericAdaptorCell.
virtual int vtkBridgeCell::IsPrimary | ( | ) | [virtual] |
Is the cell primary (i.e. not composite) ?
Implements vtkGenericAdaptorCell.
virtual int vtkBridgeCell::GetNumberOfPoints | ( | ) | [virtual] |
Number of points that compose the cell.
Implements vtkGenericAdaptorCell.
virtual int vtkBridgeCell::GetNumberOfBoundaries | ( | int | dim = -1 | ) | [virtual] |
Return the number of boundaries of dimension `dim' (or all dimensions greater than 0 and less than GetDimension() if -1) of the cell. When dim is -1, the number of vertices is not included in the count because vertices are a special case: a vertex will have at most a single field value associated with it; DOF nodes may have an arbitrary number of field values associated with them.
Implements vtkGenericAdaptorCell.
virtual int vtkBridgeCell::GetNumberOfDOFNodes | ( | ) | [virtual] |
Accumulated number of DOF nodes of the current cell. A DOF node is a component of cell with a given topological dimension. e.g.: a triangle has 4 DOF: 1 face and 3 edges. An hexahedron has 19 DOF: 1 region, 6 faces, and 12 edges. The number of vertices is not included in the count because vertices are a special case: a vertex will have at most a single field value associated with it; DOF nodes may have an arbitrary number of field values associated with them.
Implements vtkGenericAdaptorCell.
virtual void vtkBridgeCell::GetPointIterator | ( | vtkGenericPointIterator * | it | ) | [virtual] |
Return the points of cell into `it'.
Implements vtkGenericAdaptorCell.
virtual vtkGenericCellIterator* vtkBridgeCell::NewCellIterator | ( | ) | [virtual] |
Create an empty cell iterator.
Implements vtkGenericAdaptorCell.
virtual void vtkBridgeCell::GetBoundaryIterator | ( | vtkGenericCellIterator * | boundaries, |
int | dim = -1 |
||
) | [virtual] |
Return in `boundaries' the cells of dimension `dim' (or all dimensions less than GetDimension() if -1) that are part of the boundary of the cell.
Implements vtkGenericAdaptorCell.
virtual int vtkBridgeCell::CountNeighbors | ( | vtkGenericAdaptorCell * | boundary | ) | [virtual] |
Number of cells (dimension>boundary->GetDimension()) of the dataset that share the boundary `boundary' of `this'. `this' IS NOT INCLUDED.
Implements vtkGenericAdaptorCell.
void vtkBridgeCell::CountEdgeNeighbors | ( | int * | sharing | ) | [virtual] |
Number of cells (dimension>boundary->GetDimension()) of the dataset that share the boundary `boundary' of `this'. `this' IS NOT INCLUDED.
Implements vtkGenericAdaptorCell.
virtual void vtkBridgeCell::GetNeighbors | ( | vtkGenericAdaptorCell * | boundary, |
vtkGenericCellIterator * | neighbors | ||
) | [virtual] |
Put into `neighbors' the cells (dimension>boundary->GetDimension()) of the dataset that share the boundary `boundary' of `this'. `this' IS NOT INCLUDED.
Implements vtkGenericAdaptorCell.
virtual int vtkBridgeCell::FindClosestBoundary | ( | int | subId, |
double | pcoords[3], | ||
vtkGenericCellIterator *& | boundary | ||
) | [virtual] |
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. `boundary' is of dimension GetDimension()-1.
Implements vtkGenericAdaptorCell.
virtual int vtkBridgeCell::EvaluatePosition | ( | double | x[3], |
double * | closestPoint, | ||
int & | subId, | ||
double | pcoords[3], | ||
double & | dist2 | ||
) | [virtual] |
Is `x' inside the current cell? It also evaluate parametric coordinates `pcoords', sub-cell id `subId' (0 means primary cell), distance squared to the sub-cell in `dist2' and closest corner point `closestPoint'. `dist2' and `closestPoint' are not evaluated if `closestPoint'==0. If a numerical error occurred, -1 is returned and all other results should be ignored.
Implements vtkGenericAdaptorCell.
virtual void vtkBridgeCell::EvaluateLocation | ( | int | subId, |
double | pcoords[3], | ||
double | x[3] | ||
) | [virtual] |
Determine global coordinates `x' from sub-cell `subId' and parametric coordinates `pcoords' in the cell.
Implements vtkGenericAdaptorCell.
virtual void vtkBridgeCell::InterpolateTuple | ( | vtkGenericAttribute * | a, |
double | pcoords[3], | ||
double * | val | ||
) | [virtual] |
Interpolate the attribute `a' at local position `pcoords' of the cell into `val'.
Implements vtkGenericAdaptorCell.
virtual void vtkBridgeCell::InterpolateTuple | ( | vtkGenericAttributeCollection * | c, |
double | pcoords[3], | ||
double * | val | ||
) | [virtual] |
Interpolate the whole collection of attributes `c' at local position `pcoords' of the cell into `val'. Only point centered attributes are taken into account.
Implements vtkGenericAdaptorCell.
virtual int vtkBridgeCell::IntersectWithLine | ( | double | p1[3], |
double | p2[3], | ||
double | tol, | ||
double & | t, | ||
double | x[3], | ||
double | pcoords[3], | ||
int & | subId | ||
) | [virtual] |
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. `subId' is the sub-cell where the intersection occurs.
Implements vtkGenericAdaptorCell.
virtual void vtkBridgeCell::Derivatives | ( | int | subId, |
double | pcoords[3], | ||
vtkGenericAttribute * | attribute, | ||
double * | derivs | ||
) | [virtual] |
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'. Derivatives are in the x-y-z coordinate directions for each data value.
Implements vtkGenericAdaptorCell.
virtual void vtkBridgeCell::GetBounds | ( | double | bounds[6] | ) | [virtual] |
Compute the bounding box of the current cell in `bounds' in global coordinates. THREAD SAFE
Implements vtkGenericAdaptorCell.
virtual double* vtkBridgeCell::GetBounds | ( | ) | [virtual] |
Return the bounding box of the current cell in global coordinates. NOT THREAD SAFE
Reimplemented from vtkGenericAdaptorCell.
virtual double vtkBridgeCell::GetLength2 | ( | ) | [virtual] |
Bounding box diagonal squared of the current cell.
Reimplemented from vtkGenericAdaptorCell.
virtual int vtkBridgeCell::GetParametricCenter | ( | double | pcoords[3] | ) | [virtual] |
Center of the current cell in parametric coordinates `pcoords'. If the current cell is a composite, the return value is the sub-cell id that the center is in.
Implements vtkGenericAdaptorCell.
virtual double vtkBridgeCell::GetParametricDistance | ( | double | pcoords[3] | ) | [virtual] |
Distance of the parametric coordinate `pcoords' to the current cell. If inside the cell, a distance of zero is returned. This is used during picking to get the correct cell picked. (The tolerance will occasionally allow cells to be picked who are not really intersected "inside" the cell.)
Implements vtkGenericAdaptorCell.
virtual double* vtkBridgeCell::GetParametricCoords | ( | ) | [virtual] |
Return a contiguous array of parametric coordinates of the points defining the current cell. In other words, (px,py,pz, px,py,pz, etc..) The coordinates are ordered consistent with the definition of the point ordering for the cell. Note that 3D parametric coordinates are returned no matter what the topological dimension of the cell. It includes the DOF nodes.
Implements vtkGenericAdaptorCell.
virtual int vtkBridgeCell::IsFaceOnBoundary | ( | vtkIdType | faceId | ) | [virtual] |
Return a contiguous array of parametric coordinates of the points defining the current cell. In other words, (px,py,pz, px,py,pz, etc..) The coordinates are ordered consistent with the definition of the point ordering for the cell. Note that 3D parametric coordinates are returned no matter what the topological dimension of the cell. It includes the DOF nodes.
Implements vtkGenericAdaptorCell.
virtual int vtkBridgeCell::IsOnBoundary | ( | ) | [virtual] |
Return a contiguous array of parametric coordinates of the points defining the current cell. In other words, (px,py,pz, px,py,pz, etc..) The coordinates are ordered consistent with the definition of the point ordering for the cell. Note that 3D parametric coordinates are returned no matter what the topological dimension of the cell. It includes the DOF nodes.
Implements vtkGenericAdaptorCell.
virtual void vtkBridgeCell::GetPointIds | ( | vtkIdType * | id | ) | [virtual] |
Put into `id' the list of ids the point of the cell.
Implements vtkGenericAdaptorCell.
int* vtkBridgeCell::GetFaceArray | ( | int | faceId | ) | [virtual] |
Return the ids of the vertices defining face `faceId'.
Implements vtkGenericAdaptorCell.
int vtkBridgeCell::GetNumberOfVerticesOnFace | ( | int | faceId | ) | [virtual] |
Return the number of vertices defining face `faceId'
Implements vtkGenericAdaptorCell.
int* vtkBridgeCell::GetEdgeArray | ( | int | edgeId | ) | [virtual] |
Return the ids of the vertices defining edge `edgeId'.
Implements vtkGenericAdaptorCell.
void vtkBridgeCell::Init | ( | vtkBridgeDataSet * | ds, |
vtkIdType | cellid | ||
) |
Used internally for the Bridge. Initialize the cell from a dataset `ds' and `cellid'.
void vtkBridgeCell::InitWithCell | ( | vtkCell * | c, |
vtkIdType | id | ||
) |
Used internally for the Bridge. Initialize the cell from a cell `c' and an `id'.
void vtkBridgeCell::DeepCopy | ( | vtkBridgeCell * | other | ) |
Recursive copy of `other' into `this'.
void vtkBridgeCell::AllocateWeights | ( | ) | [protected] |
Allocate an array for the weights, only if it does not exist yet or if the capacity is too small.
void vtkBridgeCell::InterpolationFunctions | ( | double | pcoords[3], |
double * | weights | ||
) | [protected] |
Compute the weights for parametric coordinates `pcoords'.
friend class vtkBridgeDataSet [friend] |
Definition at line 419 of file vtkBridgeCell.h.
friend class vtkBridgeAttribute [friend] |
Definition at line 420 of file vtkBridgeCell.h.
friend class vtkBridgeCellIterator [friend] |
Definition at line 421 of file vtkBridgeCell.h.
friend class vtkBridgeCellIteratorOnDataSet [friend] |
Definition at line 422 of file vtkBridgeCell.h.
friend class vtkBridgeCellIteratorOne [friend] |
Definition at line 423 of file vtkBridgeCell.h.
friend class vtkBridgeCellIteratorOnCellBoundaries [friend] |
Definition at line 424 of file vtkBridgeCell.h.
friend class vtkBridgePointIteratorOnCell [friend] |
Definition at line 425 of file vtkBridgeCell.h.
vtkCell* vtkBridgeCell::Cell [protected] |
Definition at line 427 of file vtkBridgeCell.h.
vtkBridgeDataSet* vtkBridgeCell::DataSet [protected] |
Definition at line 428 of file vtkBridgeCell.h.
vtkIdType vtkBridgeCell::Id [protected] |
Definition at line 429 of file vtkBridgeCell.h.
int vtkBridgeCell::BoolIsInDataSet [protected] |
Definition at line 430 of file vtkBridgeCell.h.
vtkBridgeCellIterator* vtkBridgeCell::InternalIterator [protected] |
Definition at line 431 of file vtkBridgeCell.h.
double* vtkBridgeCell::Weights [protected] |
Definition at line 433 of file vtkBridgeCell.h.
int vtkBridgeCell::WeightsCapacity [protected] |
Definition at line 434 of file vtkBridgeCell.h.