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

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.

See also:
vtkHexahedron vtkPyramid vtkTetra vtkVoxel vtkWedge
Tests:
vtkConvexPointSet (Tests)

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 vtkCellGetEdge (int)
virtual int GetNumberOfFaces ()
virtual vtkCellGetFace (int faceId)
virtual void Contour (double value, vtkDataArray *cellScalars, vtkPointLocator *locator, vtkCellArray *verts, vtkCellArray *lines, vtkCellArray *polys, vtkPointData *inPd, vtkPointData *outPd, vtkCellData *inCd, vtkIdType cellId, vtkCellData *outCd)
virtual void Clip (double value, vtkDataArray *cellScalars, vtkPointLocator *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 vtkConvexPointSetNew ()
static int IsTypeOf (const char *type)
static vtkConvexPointSetSafeDownCast (vtkObject *o)

Protected Member Functions

 vtkConvexPointSet ()
 ~vtkConvexPointSet ()

Protected Attributes

vtkTetraTetra
vtkIdListTetraIds
vtkPointsTetraPoints
vtkDoubleArrayTetraScalars
vtkCellArrayBoundaryTris
vtkTriangleTriangle
vtkDoubleArrayParametricCoords

Member Typedef Documentation

Reimplemented from vtkCell3D.

Definition at line 47 of file vtkConvexPointSet.h.


Constructor & Destructor Documentation

vtkConvexPointSet::vtkConvexPointSet (  )  [protected]

vtkConvexPointSet::~vtkConvexPointSet (  )  [protected]


Member Function Documentation

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 vtkTypeRevisionMacro 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 vtkTypeRevisionMacro 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]

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 vtkCell3D.

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]

See vtkCell3D API for description of these methods.

Reimplemented from vtkCell.

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,
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.

Reimplemented from vtkCell3D.

virtual void vtkConvexPointSet::Clip ( double  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 ( double  x[3],
double *  closestPoint,
int &  subId,
double  pcoords[3],
double &  dist2,
double *  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,
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)


Member Data Documentation

Definition at line 161 of file vtkConvexPointSet.h.

Definition at line 162 of file vtkConvexPointSet.h.

Definition at line 163 of file vtkConvexPointSet.h.

Definition at line 164 of file vtkConvexPointSet.h.

Definition at line 166 of file vtkConvexPointSet.h.

Definition at line 167 of file vtkConvexPointSet.h.

Definition at line 168 of file vtkConvexPointSet.h.


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

Generated on Wed Jun 3 18:58:27 2009 for VTK by  doxygen 1.5.6