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:

[legend]
Collaboration diagram for vtkConvexPointSet:

[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 vtkCell * | GetEdge (int)
virtual int | GetNumberOfFaces ()
virtual vtkCell * | GetFace (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

vtkTetra * | Tetra
vtkIdList * | TetraIds
vtkPoints * | TetraPoints
vtkFloatArray * | TetraScalars
vtkCellArray * | BoundaryTris
vtkTriangle * | Triangle
vtkFloatArray * | ParametricCoords

## 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:

- Common/vtkConvexPointSet.h