Main Page   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members   File Members   Related Pages  

vtkConvexPointSet Class Reference

#include <vtkConvexPointSet.h>

Inheritance diagram for vtkConvexPointSet:

Inheritance graph
[legend]
Collaboration diagram for vtkConvexPointSet:

Collaboration graph
[legend]
List of all members.

Detailed Description

a 3D cell defined by a set of convex points

Date:
2002/12/26 18:24:21
Revision:
1.12

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.

Created by:
  • Schroeder, Will
CVS contributions (if > 5%):
  • Schroeder, Will (95%)
CVS logs (CVSweb):
  • .cxx (/Common/vtkConvexPointSet.cxx)
  • .h (/Common/vtkConvexPointSet.h)
Tests:
vtkConvexPointSet (Tests)

Definition at line 54 of file vtkConvexPointSet.h.

Public Types

typedef vtkCell3D Superclass

Public Methods

virtual const char * GetClassName ()
virtual int IsA (const char *type)
virtual int GetCellType ()
virtual int Triangulate (int index, vtkIdList *ptIds, vtkPoints *pts)
virtual int CellBoundary (int subId, float pcoords[3], vtkIdList *pts)
virtual int GetParametricCenter (float pcoords[3])
virtual void GetEdgePoints (int vtkNotUsed(edgeId), int *&vtkNotUsed(pts))
virtual void GetFacePoints (int vtkNotUsed(faceId), int *&vtkNotUsed(pts))
virtual float * GetParametricCoords ()
virtual int RequiresInitialization ()
virtual void Initialize ()
virtual int GetNumberOfEdges ()
virtual vtkCellGetEdge (int)
virtual int GetNumberOfFaces ()
virtual vtkCellGetFace (int faceId)
virtual void Contour (float value, vtkDataArray *cellScalars, vtkPointLocator *locator, vtkCellArray *verts, vtkCellArray *lines, vtkCellArray *polys, vtkPointData *inPd, vtkPointData *outPd, vtkCellData *inCd, vtkIdType cellId, vtkCellData *outCd)
virtual void Clip (float value, vtkDataArray *cellScalars, vtkPointLocator *locator, vtkCellArray *connectivity, vtkPointData *inPd, vtkPointData *outPd, vtkCellData *inCd, vtkIdType cellId, vtkCellData *outCd, int insideOut)
virtual int EvaluatePosition (float x[3], float *closestPoint, int &subId, float pcoords[3], float &dist2, float *weights)
virtual void EvaluateLocation (int &subId, float pcoords[3], float x[3], float *weights)
virtual int IntersectWithLine (float p1[3], float p2[3], float tol, float &t, float x[3], float pcoords[3], int &subId)
virtual void Derivatives (int subId, float pcoords[3], float *values, int dim, float *derivs)

Static Public Methods

vtkConvexPointSet * New ()
int IsTypeOf (const char *type)
vtkConvexPointSet * SafeDownCast (vtkObject *o)

Protected Methods

 vtkConvexPointSet ()
 ~vtkConvexPointSet ()

Protected Attributes

vtkTetraTetra
vtkIdListTetraIds
vtkPointsTetraPoints
vtkFloatArrayTetraScalars
vtkCellArrayBoundaryTris
vtkTriangleTriangle
vtkFloatArrayParametricCoords


Member Typedef Documentation

typedef vtkCell3D vtkConvexPointSet::Superclass
 

Reimplemented from vtkCell3D.

Definition at line 58 of file vtkConvexPointSet.h.


Constructor & Destructor Documentation

vtkConvexPointSet::vtkConvexPointSet   [protected]
 

vtkConvexPointSet::~vtkConvexPointSet   [protected]
 


Member Function Documentation

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.

int vtkConvexPointSet::IsTypeOf const char *    type [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 vtkTypeRevisionMacro found in vtkSetGet.h.

Reimplemented from vtkCell3D.

virtual int vtkConvexPointSet::IsA const char *    type [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 vtkTypeRevisionMacro found in vtkSetGet.h.

Reimplemented from vtkCell3D.

vtkConvexPointSet* vtkConvexPointSet::SafeDownCast vtkObject   o [static]
 

Reimplemented from vtkCell3D.

virtual void vtkConvexPointSet::GetEdgePoints int     vtkNotUsed(edgeId),
int *&    vtkNotUsed(pts)
[inline, virtual]
 

See vtkCell3D API for description of these methods.

Definition at line 62 of file vtkConvexPointSet.h.

virtual void vtkConvexPointSet::GetFacePoints int     vtkNotUsed(faceId),
int *&    vtkNotUsed(pts)
[inline, virtual]
 

See vtkCell3D API for description of these methods.

Definition at line 63 of file vtkConvexPointSet.h.

virtual float* vtkConvexPointSet::GetParametricCoords   [virtual]
 

See vtkCell3D API for description of these methods.

Reimplemented from vtkCell3D.

virtual int vtkConvexPointSet::GetCellType   [inline, virtual]
 

See the vtkCell API for descriptions of these methods.

Implements vtkCell.

Definition at line 68 of file vtkConvexPointSet.h.

References VTK_CONVEX_POINT_SET.

virtual int vtkConvexPointSet::RequiresInitialization   [inline, virtual]
 

This cell requires that it be initialized prior to access.

Reimplemented from vtkCell.

Definition at line 72 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 86 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 87 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 float    value,
vtkDataArray   cellScalars,
vtkPointLocator   locator,
vtkCellArray   verts,
vtkCellArray   lines,
vtkCellArray   polys,
vtkPointData   inPd,
vtkPointData   outPd,
vtkCellData   inCd,
vtkIdType    cellId,
vtkCellData   outCd
[virtual]
 

Satisfy the vtkCell API. This method contours by triangulating the cell and then contouring the resulting tetrahedra.

Implements vtkCell.

virtual void vtkConvexPointSet::Clip float    value,
vtkDataArray   cellScalars,
vtkPointLocator   locator,
vtkCellArray   connectivity,
vtkPointData   inPd,
vtkPointData   outPd,
vtkCellData   inCd,
vtkIdType    cellId,
vtkCellData   outCd,
int    insideOut
[virtual]
 

Satisfy the vtkCell API. This method contours by triangulating the cell and then adding clip-edge intersection points into the triangulation; extracting the clipped region.

Reimplemented from vtkCell3D.

virtual int vtkConvexPointSet::EvaluatePosition float    x[3],
float *    closestPoint,
int &    subId,
float    pcoords[3],
float &    dist2,
float *    weights
[virtual]
 

Satisfy the vtkCell API. This method determines the subId, pcoords, and weights by triangulating the convex point set, and then determining which tetrahedron the point lies in.

Implements vtkCell.

virtual void vtkConvexPointSet::EvaluateLocation int &    subId,
float    pcoords[3],
float    x[3],
float *    weights
[virtual]
 

The inverse of EvaluatePosition.

Implements vtkCell.

virtual int vtkConvexPointSet::IntersectWithLine float    p1[3],
float    p2[3],
float    tol,
float &    t,
float    x[3],
float    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,
float    pcoords[3],
float *    values,
int    dim,
float *    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,
float    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 float    pcoords[3] [inline, virtual]
 

Return the center of the cell in parametric coordinates.

Reimplemented from vtkCell.

Definition at line 171 of file vtkConvexPointSet.h.


Member Data Documentation

vtkTetra* vtkConvexPointSet::Tetra [protected]
 

Definition at line 157 of file vtkConvexPointSet.h.

vtkIdList* vtkConvexPointSet::TetraIds [protected]
 

Definition at line 158 of file vtkConvexPointSet.h.

vtkPoints* vtkConvexPointSet::TetraPoints [protected]
 

Definition at line 159 of file vtkConvexPointSet.h.

vtkFloatArray* vtkConvexPointSet::TetraScalars [protected]
 

Definition at line 160 of file vtkConvexPointSet.h.

vtkCellArray* vtkConvexPointSet::BoundaryTris [protected]
 

Definition at line 162 of file vtkConvexPointSet.h.

vtkTriangle* vtkConvexPointSet::Triangle [protected]
 

Definition at line 163 of file vtkConvexPointSet.h.

vtkFloatArray* vtkConvexPointSet::ParametricCoords [protected]
 

Definition at line 164 of file vtkConvexPointSet.h.


The documentation for this class was generated from the following file: