#include <vtkConvexPointSet.h>
vtkConvexPointSet is a concrete implementation that represents a 3D cell defined by a convex set of points. An example of such a cell is an octant (from an octree). vtkConvexPointSet uses the ordered triangulations approach (vtkOrderedTriangulator) to create triangulations guaranteed to be compatible across shared faces. This allows a general approach to processing complex, convex cell types.
Definition at line 43 of file vtkConvexPointSet.h.
Public Types | |
typedef vtkCell3D | Superclass |
Public Member Functions | |
virtual const char * | GetClassName () |
virtual int | IsA (const char *type) |
void | PrintSelf (ostream &os, vtkIndent indent) |
virtual int | HasFixedTopology () |
virtual int | GetCellType () |
virtual int | Triangulate (int index, vtkIdList *ptIds, vtkPoints *pts) |
virtual int | CellBoundary (int subId, double pcoords[3], vtkIdList *pts) |
virtual int | GetParametricCenter (double pcoords[3]) |
int | IsPrimaryCell () |
virtual void | GetEdgePoints (int vtkNotUsed(edgeId), int *&vtkNotUsed(pts)) |
virtual void | GetFacePoints (int vtkNotUsed(faceId), int *&vtkNotUsed(pts)) |
virtual double * | GetParametricCoords () |
virtual int | RequiresInitialization () |
virtual void | Initialize () |
virtual int | GetNumberOfEdges () |
virtual vtkCell * | GetEdge (int) |
virtual int | GetNumberOfFaces () |
virtual vtkCell * | GetFace (int faceId) |
virtual void | Contour (double value, vtkDataArray *cellScalars, vtkIncrementalPointLocator *locator, vtkCellArray *verts, vtkCellArray *lines, vtkCellArray *polys, vtkPointData *inPd, vtkPointData *outPd, vtkCellData *inCd, vtkIdType cellId, vtkCellData *outCd) |
virtual void | Clip (double value, vtkDataArray *cellScalars, vtkIncrementalPointLocator *locator, vtkCellArray *connectivity, vtkPointData *inPd, vtkPointData *outPd, vtkCellData *inCd, vtkIdType cellId, vtkCellData *outCd, int insideOut) |
virtual int | EvaluatePosition (double x[3], double *closestPoint, int &subId, double pcoords[3], double &dist2, double *weights) |
virtual void | EvaluateLocation (int &subId, double pcoords[3], double x[3], double *weights) |
virtual int | IntersectWithLine (double p1[3], double p2[3], double tol, double &t, double x[3], double pcoords[3], int &subId) |
virtual void | Derivatives (int subId, double pcoords[3], double *values, int dim, double *derivs) |
virtual void | InterpolateFunctions (double pcoords[3], double *sf) |
virtual void | InterpolateDerivs (double pcoords[3], double *derivs) |
Static Public Member Functions | |
static vtkConvexPointSet * | New () |
static int | IsTypeOf (const char *type) |
static vtkConvexPointSet * | SafeDownCast (vtkObject *o) |
Protected Member Functions | |
vtkConvexPointSet () | |
~vtkConvexPointSet () | |
Protected Attributes | |
vtkTetra * | Tetra |
vtkIdList * | TetraIds |
vtkPoints * | TetraPoints |
vtkDoubleArray * | TetraScalars |
vtkCellArray * | BoundaryTris |
vtkTriangle * | Triangle |
vtkDoubleArray * | ParametricCoords |
vtkConvexPointSet::vtkConvexPointSet | ( | ) | [protected] |
vtkConvexPointSet::~vtkConvexPointSet | ( | ) | [protected] |
static vtkConvexPointSet* vtkConvexPointSet::New | ( | ) | [static] |
Create an object with Debug turned off, modified time initialized to zero, and reference counting on.
Reimplemented from vtkObject.
virtual const char* vtkConvexPointSet::GetClassName | ( | ) | [virtual] |
Reimplemented from vtkCell3D.
static int vtkConvexPointSet::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 vtkCell3D.
virtual int vtkConvexPointSet::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 vtkCell3D.
static vtkConvexPointSet* vtkConvexPointSet::SafeDownCast | ( | vtkObject * | o | ) | [static] |
Reimplemented from vtkCell3D.
void vtkConvexPointSet::PrintSelf | ( | ostream & | os, | |
vtkIndent | indent | |||
) | [virtual] |
virtual int vtkConvexPointSet::HasFixedTopology | ( | ) | [inline, virtual] |
See vtkCell3D API for description of this method.
Definition at line 51 of file vtkConvexPointSet.h.
virtual void vtkConvexPointSet::GetEdgePoints | ( | int | vtkNotUsededgeId, | |
int *& | vtkNotUsedpts | |||
) | [inline, virtual] |
See vtkCell3D API for description of these methods.
Definition at line 55 of file vtkConvexPointSet.h.
virtual void vtkConvexPointSet::GetFacePoints | ( | int | vtkNotUsedfaceId, | |
int *& | vtkNotUsedpts | |||
) | [inline, virtual] |
See vtkCell3D API for description of these methods.
Definition at line 56 of file vtkConvexPointSet.h.
virtual double* vtkConvexPointSet::GetParametricCoords | ( | ) | [virtual] |
virtual int vtkConvexPointSet::GetCellType | ( | ) | [inline, virtual] |
See the vtkCell API for descriptions of these methods.
Implements vtkCell.
Definition at line 61 of file vtkConvexPointSet.h.
virtual int vtkConvexPointSet::RequiresInitialization | ( | ) | [inline, virtual] |
This cell requires that it be initialized prior to access.
Reimplemented from vtkCell.
Definition at line 65 of file vtkConvexPointSet.h.
virtual void vtkConvexPointSet::Initialize | ( | ) | [virtual] |
This cell requires that it be initialized prior to access.
Reimplemented from vtkCell.
virtual int vtkConvexPointSet::GetNumberOfEdges | ( | ) | [inline, virtual] |
A convex point set has no explicit cell edge or faces; however implicitly (after triangulation) it does. Currently the method GetNumberOfEdges() always returns 0 while the GetNumberOfFaces() returns the number of boundary triangles of the triangulation of the convex point set. The method GetNumberOfFaces() triggers a triangulation of the convex point set; repeated calls to GetFace() then return the boundary faces. (Note: GetNumberOfEdges() currently returns 0 because it is a rarely used method and hard to implement. It can be changed in the future.
Implements vtkCell.
Definition at line 79 of file vtkConvexPointSet.h.
virtual vtkCell* vtkConvexPointSet::GetEdge | ( | int | ) | [inline, virtual] |
A convex point set has no explicit cell edge or faces; however implicitly (after triangulation) it does. Currently the method GetNumberOfEdges() always returns 0 while the GetNumberOfFaces() returns the number of boundary triangles of the triangulation of the convex point set. The method GetNumberOfFaces() triggers a triangulation of the convex point set; repeated calls to GetFace() then return the boundary faces. (Note: GetNumberOfEdges() currently returns 0 because it is a rarely used method and hard to implement. It can be changed in the future.
Implements vtkCell.
Definition at line 80 of file vtkConvexPointSet.h.
virtual int vtkConvexPointSet::GetNumberOfFaces | ( | ) | [virtual] |
A convex point set has no explicit cell edge or faces; however implicitly (after triangulation) it does. Currently the method GetNumberOfEdges() always returns 0 while the GetNumberOfFaces() returns the number of boundary triangles of the triangulation of the convex point set. The method GetNumberOfFaces() triggers a triangulation of the convex point set; repeated calls to GetFace() then return the boundary faces. (Note: GetNumberOfEdges() currently returns 0 because it is a rarely used method and hard to implement. It can be changed in the future.
Implements vtkCell.
virtual vtkCell* vtkConvexPointSet::GetFace | ( | int | faceId | ) | [virtual] |
A convex point set has no explicit cell edge or faces; however implicitly (after triangulation) it does. Currently the method GetNumberOfEdges() always returns 0 while the GetNumberOfFaces() returns the number of boundary triangles of the triangulation of the convex point set. The method GetNumberOfFaces() triggers a triangulation of the convex point set; repeated calls to GetFace() then return the boundary faces. (Note: GetNumberOfEdges() currently returns 0 because it is a rarely used method and hard to implement. It can be changed in the future.
Implements vtkCell.
virtual void vtkConvexPointSet::Contour | ( | double | value, | |
vtkDataArray * | cellScalars, | |||
vtkIncrementalPointLocator * | locator, | |||
vtkCellArray * | verts, | |||
vtkCellArray * | lines, | |||
vtkCellArray * | polys, | |||
vtkPointData * | inPd, | |||
vtkPointData * | outPd, | |||
vtkCellData * | inCd, | |||
vtkIdType | cellId, | |||
vtkCellData * | outCd | |||
) | [virtual] |
virtual void vtkConvexPointSet::Clip | ( | double | value, | |
vtkDataArray * | cellScalars, | |||
vtkIncrementalPointLocator * | locator, | |||
vtkCellArray * | connectivity, | |||
vtkPointData * | inPd, | |||
vtkPointData * | outPd, | |||
vtkCellData * | inCd, | |||
vtkIdType | cellId, | |||
vtkCellData * | outCd, | |||
int | insideOut | |||
) | [virtual] |
virtual int vtkConvexPointSet::EvaluatePosition | ( | double | x[3], | |
double * | closestPoint, | |||
int & | subId, | |||
double | pcoords[3], | |||
double & | dist2, | |||
double * | weights | |||
) | [virtual] |
virtual void vtkConvexPointSet::EvaluateLocation | ( | int & | subId, | |
double | pcoords[3], | |||
double | x[3], | |||
double * | weights | |||
) | [virtual] |
The inverse of EvaluatePosition.
Implements vtkCell.
virtual int vtkConvexPointSet::IntersectWithLine | ( | double | p1[3], | |
double | p2[3], | |||
double | tol, | |||
double & | t, | |||
double | x[3], | |||
double | pcoords[3], | |||
int & | subId | |||
) | [virtual] |
Triangulates the cells and then intersects them to determine the intersection point.
Implements vtkCell.
virtual int vtkConvexPointSet::Triangulate | ( | int | index, | |
vtkIdList * | ptIds, | |||
vtkPoints * | pts | |||
) | [virtual] |
Triangulate using methods of vtkOrderedTriangulator.
Implements vtkCell.
virtual void vtkConvexPointSet::Derivatives | ( | int | subId, | |
double | pcoords[3], | |||
double * | values, | |||
int | dim, | |||
double * | derivs | |||
) | [virtual] |
Computes derivatives by triangulating and from subId and pcoords, evaluating derivatives on the resulting tetrahedron.
Implements vtkCell.
virtual int vtkConvexPointSet::CellBoundary | ( | int | subId, | |
double | pcoords[3], | |||
vtkIdList * | pts | |||
) | [virtual] |
Returns the set of points forming a face of the triangulation of these points that are on the boundary of the cell that are closest parametrically to the point specified.
Implements vtkCell.
int vtkConvexPointSet::GetParametricCenter | ( | double | pcoords[3] | ) | [inline, virtual] |
Return the center of the cell in parametric coordinates.
Reimplemented from vtkCell.
Definition at line 176 of file vtkConvexPointSet.h.
int vtkConvexPointSet::IsPrimaryCell | ( | ) | [inline, virtual] |
A convex point set is triangulated prior to any operations on it so it is not a primary cell, it is a composite cell.
Reimplemented from vtkCell.
Definition at line 148 of file vtkConvexPointSet.h.
virtual void vtkConvexPointSet::InterpolateFunctions | ( | double | pcoords[3], | |
double * | sf | |||
) | [virtual] |
Compute the interpolation functions/derivatives (aka shape functions/derivatives)
virtual void vtkConvexPointSet::InterpolateDerivs | ( | double | pcoords[3], | |
double * | derivs | |||
) | [virtual] |
Compute the interpolation functions/derivatives (aka shape functions/derivatives)
vtkTetra* vtkConvexPointSet::Tetra [protected] |
Definition at line 161 of file vtkConvexPointSet.h.
vtkIdList* vtkConvexPointSet::TetraIds [protected] |
Definition at line 162 of file vtkConvexPointSet.h.
vtkPoints* vtkConvexPointSet::TetraPoints [protected] |
Definition at line 163 of file vtkConvexPointSet.h.
vtkDoubleArray* vtkConvexPointSet::TetraScalars [protected] |
Definition at line 164 of file vtkConvexPointSet.h.
vtkCellArray* vtkConvexPointSet::BoundaryTris [protected] |
Definition at line 166 of file vtkConvexPointSet.h.
vtkTriangle* vtkConvexPointSet::Triangle [protected] |
Definition at line 167 of file vtkConvexPointSet.h.
vtkDoubleArray* vtkConvexPointSet::ParametricCoords [protected] |
Definition at line 168 of file vtkConvexPointSet.h.