VTK
|
a 3D cell defined by a set of convex points More...
#include <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 |
a 3D cell defined by a set of convex points
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.
Reimplemented from vtkCell3D.
Definition at line 47 of file vtkConvexPointSet.h.
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.
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.
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 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.
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.
Compute the interpolation functions/derivatives (aka shape functions/derivatives)
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.