VTK
Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
vtkConvexPointSet Class Reference

a 3D cell defined by a set of convex points More...

#include <vtkConvexPointSet.h>

Inheritance diagram for vtkConvexPointSet:
[legend]
Collaboration diagram for vtkConvexPointSet:
[legend]

Public Types

typedef vtkCell3D Superclass
 
- Public Types inherited from vtkCell3D
typedef vtkCell Superclass
 
- Public Types inherited from vtkCell
typedef vtkObject Superclass
 
- Public Types inherited from vtkObject
typedef vtkObjectBase Superclass
 

Public Member Functions

virtual int IsA (const char *type)
 
vtkConvexPointSetNewInstance () const
 
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 doubleGetParametricCoords ()
 
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, 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)
 
- Public Member Functions inherited from vtkCell3D
vtkCell3DNewInstance () const
 
virtual void GetEdgePoints (int edgeId, int *&pts)=0
 
virtual void GetFacePoints (int faceId, int *&pts)=0
 
virtual int GetCellDimension ()
 
virtual void SetMergeTolerance (double)
 
virtual double GetMergeTolerance ()
 
- Public Member Functions inherited from vtkCell
vtkCellNewInstance () const
 
void Initialize (int npts, vtkIdType *pts, vtkPoints *p)
 
virtual void ShallowCopy (vtkCell *c)
 
virtual void DeepCopy (vtkCell *c)
 
virtual int IsLinear ()
 
virtual int IsExplicitCell ()
 
vtkPointsGetPoints ()
 
vtkIdType GetNumberOfPoints ()
 
vtkIdListGetPointIds ()
 
vtkIdType GetPointId (int ptId)
 
void GetBounds (double bounds[6])
 
doubleGetBounds ()
 
double GetLength2 ()
 
virtual double GetParametricDistance (double pcoords[3])
 
virtual int RequiresExplicitFaceRepresentation ()
 
virtual void SetFaces (vtkIdType *vtkNotUsed(faces))
 
virtual vtkIdTypeGetFaces ()
 
virtual void InterpolateFunctions (double vtkNotUsed(pcoords)[3], double *vtkNotUsed(weight))
 
virtual void InterpolateDerivs (double vtkNotUsed(pcoords)[3], double *vtkNotUsed(derivs))
 
- Public Member Functions inherited from vtkObject
vtkObjectNewInstance () const
 
virtual void DebugOn ()
 
virtual void DebugOff ()
 
bool GetDebug ()
 
void SetDebug (bool debugFlag)
 
virtual void Modified ()
 
virtual unsigned long GetMTime ()
 
unsigned long AddObserver (unsigned long event, vtkCommand *, float priority=0.0f)
 
unsigned long AddObserver (const char *event, vtkCommand *, float priority=0.0f)
 
vtkCommandGetCommand (unsigned long tag)
 
void RemoveObserver (vtkCommand *)
 
void RemoveObservers (unsigned long event, vtkCommand *)
 
void RemoveObservers (const char *event, vtkCommand *)
 
int HasObserver (unsigned long event, vtkCommand *)
 
int HasObserver (const char *event, vtkCommand *)
 
void RemoveObserver (unsigned long tag)
 
void RemoveObservers (unsigned long event)
 
void RemoveObservers (const char *event)
 
void RemoveAllObservers ()
 
int HasObserver (unsigned long event)
 
int HasObserver (const char *event)
 
template<class U , class T >
unsigned long AddObserver (unsigned long event, U observer, void(T::*callback)(), float priority=0.0f)
 
template<class U , class T >
unsigned long AddObserver (unsigned long event, U observer, void(T::*callback)(vtkObject *, unsigned long, void *), float priority=0.0f)
 
template<class U , class T >
unsigned long AddObserver (unsigned long event, U observer, bool(T::*callback)(vtkObject *, unsigned long, void *), float priority=0.0f)
 
int InvokeEvent (unsigned long event, void *callData)
 
int InvokeEvent (const char *event, void *callData)
 
int InvokeEvent (unsigned long event)
 
int InvokeEvent (const char *event)
 
- Public Member Functions inherited from vtkObjectBase
const char * GetClassName () const
 
virtual void Delete ()
 
virtual void FastDelete ()
 
void Print (ostream &os)
 
virtual void Register (vtkObjectBase *o)
 
virtual void UnRegister (vtkObjectBase *o)
 
void SetReferenceCount (int)
 
void PrintRevisions (ostream &)
 
virtual void PrintHeader (ostream &os, vtkIndent indent)
 
virtual void PrintTrailer (ostream &os, vtkIndent indent)
 
int GetReferenceCount ()
 

Static Public Member Functions

static vtkConvexPointSetNew ()
 
static int IsTypeOf (const char *type)
 
static vtkConvexPointSetSafeDownCast (vtkObjectBase *o)
 
- Static Public Member Functions inherited from vtkCell3D
static int IsTypeOf (const char *type)
 
static vtkCell3DSafeDownCast (vtkObjectBase *o)
 
- Static Public Member Functions inherited from vtkCell
static int IsTypeOf (const char *type)
 
static vtkCellSafeDownCast (vtkObjectBase *o)
 
- Static Public Member Functions inherited from vtkObject
static int IsTypeOf (const char *type)
 
static vtkObjectSafeDownCast (vtkObjectBase *o)
 
static vtkObjectNew ()
 
static void BreakOnError ()
 
static void SetGlobalWarningDisplay (int val)
 
static void GlobalWarningDisplayOn ()
 
static void GlobalWarningDisplayOff ()
 
static int GetGlobalWarningDisplay ()
 
- Static Public Member Functions inherited from vtkObjectBase
static int IsTypeOf (const char *name)
 
static vtkObjectBaseNew ()
 

Protected Member Functions

virtual vtkObjectBaseNewInstanceInternal () const
 
 vtkConvexPointSet ()
 
 ~vtkConvexPointSet ()
 
- Protected Member Functions inherited from vtkCell3D
 vtkCell3D ()
 
 ~vtkCell3D ()
 
- Protected Member Functions inherited from vtkCell
 vtkCell ()
 
 ~vtkCell ()
 
- Protected Member Functions inherited from vtkObject
 vtkObject ()
 
virtual ~vtkObject ()
 
virtual void RegisterInternal (vtkObjectBase *, int check)
 
virtual void UnRegisterInternal (vtkObjectBase *, int check)
 
void InternalGrabFocus (vtkCommand *mouseEvents, vtkCommand *keypressEvents=NULL)
 
void InternalReleaseFocus ()
 
- Protected Member Functions inherited from vtkObjectBase
 vtkObjectBase ()
 
virtual ~vtkObjectBase ()
 
virtual void CollectRevisions (ostream &)
 
virtual void ReportReferences (vtkGarbageCollector *)
 
 vtkObjectBase (const vtkObjectBase &)
 
void operator= (const vtkObjectBase &)
 

Protected Attributes

vtkTetraTetra
 
vtkIdListTetraIds
 
vtkPointsTetraPoints
 
vtkDoubleArrayTetraScalars
 
vtkCellArrayBoundaryTris
 
vtkTriangleTriangle
 
vtkDoubleArrayParametricCoords
 
- Protected Attributes inherited from vtkCell3D
vtkOrderedTriangulatorTriangulator
 
double MergeTolerance
 
vtkTetraClipTetra
 
vtkDoubleArrayClipScalars
 
- Protected Attributes inherited from vtkCell
double Bounds [6]
 
- Protected Attributes inherited from vtkObject
bool Debug
 
vtkTimeStamp MTime
 
vtkSubjectHelper * SubjectHelper
 
- Protected Attributes inherited from vtkObjectBase
vtkAtomicInt32 ReferenceCount
 
vtkWeakPointerBase ** WeakPointers
 

Additional Inherited Members

- Public Attributes inherited from vtkCell
vtkPointsPoints
 
vtkIdListPointIds
 

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 44 of file vtkConvexPointSet.h.

Member Typedef Documentation

Definition at line 48 of file vtkConvexPointSet.h.

Constructor & Destructor Documentation

vtkConvexPointSet::vtkConvexPointSet ( )
protected
vtkConvexPointSet::~vtkConvexPointSet ( )
protected

Member Function Documentation

static vtkConvexPointSet* vtkConvexPointSet::New ( )
static
static int vtkConvexPointSet::IsTypeOf ( const char *  type)
static
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 ( vtkObjectBase o)
static
virtual vtkObjectBase* vtkConvexPointSet::NewInstanceInternal ( ) const
protectedvirtual

Reimplemented from vtkCell3D.

vtkConvexPointSet* vtkConvexPointSet::NewInstance ( ) const
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 ( )
inlinevirtual

See vtkCell3D API for description of this method.

Definition at line 52 of file vtkConvexPointSet.h.

virtual void vtkConvexPointSet::GetEdgePoints ( int   vtkNotUsededgeId,
int *&  vtkNotUsedpts 
)
inlinevirtual

See vtkCell3D API for description of these methods.

Definition at line 56 of file vtkConvexPointSet.h.

virtual void vtkConvexPointSet::GetFacePoints ( int   vtkNotUsedfaceId,
int *&  vtkNotUsedpts 
)
inlinevirtual

See vtkCell3D API for description of these methods.

Definition at line 57 of file vtkConvexPointSet.h.

virtual double* vtkConvexPointSet::GetParametricCoords ( )
virtual

See vtkCell3D API for description of these methods.

Reimplemented from vtkCell.

virtual int vtkConvexPointSet::GetCellType ( )
inlinevirtual

See the vtkCell API for descriptions of these methods.

Implements vtkCell.

Definition at line 62 of file vtkConvexPointSet.h.

virtual int vtkConvexPointSet::RequiresInitialization ( )
inlinevirtual

This cell requires that it be initialized prior to access.

Reimplemented from vtkCell.

Definition at line 66 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 ( )
inlinevirtual

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 vtkCell* vtkConvexPointSet::GetEdge ( int  )
inlinevirtual

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 81 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

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,
vtkIncrementalPointLocator 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])
inlinevirtual

Return the center of the cell in parametric coordinates.

Reimplemented from vtkCell.

Definition at line 177 of file vtkConvexPointSet.h.

int vtkConvexPointSet::IsPrimaryCell ( )
inlinevirtual

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 149 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

vtkTetra* vtkConvexPointSet::Tetra
protected

Definition at line 162 of file vtkConvexPointSet.h.

vtkIdList* vtkConvexPointSet::TetraIds
protected

Definition at line 163 of file vtkConvexPointSet.h.

vtkPoints* vtkConvexPointSet::TetraPoints
protected

Definition at line 164 of file vtkConvexPointSet.h.

vtkDoubleArray* vtkConvexPointSet::TetraScalars
protected

Definition at line 165 of file vtkConvexPointSet.h.

vtkCellArray* vtkConvexPointSet::BoundaryTris
protected

Definition at line 167 of file vtkConvexPointSet.h.

vtkTriangle* vtkConvexPointSet::Triangle
protected

Definition at line 168 of file vtkConvexPointSet.h.

vtkDoubleArray* vtkConvexPointSet::ParametricCoords
protected

Definition at line 169 of file vtkConvexPointSet.h.


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