|
VTK
|
a 3D cell that represents a tetrahedron More...
#include <vtkTetra.h>
Public Types | |
| typedef vtkCell3D | Superclass |
Public Types inherited from vtkCell3D | |
Public Types inherited from vtkCell | |
Public Types inherited from vtkObject | |
Public Member Functions | |
| virtual const char * | GetClassName () |
| virtual int | IsA (const char *type) |
| void | PrintSelf (ostream &os, vtkIndent indent) |
| int | CellBoundary (int subId, double pcoords[3], vtkIdList *pts) |
| int | GetParametricCenter (double pcoords[3]) |
| double | GetParametricDistance (double pcoords[3]) |
| int | JacobianInverse (double **inverse, double derivs[12]) |
| virtual void | GetEdgePoints (int edgeId, int *&pts) |
| virtual void | GetFacePoints (int faceId, int *&pts) |
| int | GetCellType () |
| int | GetNumberOfEdges () |
| int | GetNumberOfFaces () |
| vtkCell * | GetEdge (int edgeId) |
| vtkCell * | GetFace (int faceId) |
| void | Contour (double value, vtkDataArray *cellScalars, vtkIncrementalPointLocator *locator, vtkCellArray *verts, vtkCellArray *lines, vtkCellArray *polys, vtkPointData *inPd, vtkPointData *outPd, vtkCellData *inCd, vtkIdType cellId, vtkCellData *outCd) |
| void | Clip (double value, vtkDataArray *cellScalars, vtkIncrementalPointLocator *locator, vtkCellArray *connectivity, vtkPointData *inPd, vtkPointData *outPd, vtkCellData *inCd, vtkIdType cellId, vtkCellData *outCd, int insideOut) |
| int | EvaluatePosition (double x[3], double *closestPoint, int &subId, double pcoords[3], double &dist2, double *weights) |
| void | EvaluateLocation (int &subId, double pcoords[3], double x[3], double *weights) |
| int | IntersectWithLine (double p1[3], double p2[3], double tol, double &t, double x[3], double pcoords[3], int &subId) |
| int | Triangulate (int index, vtkIdList *ptIds, vtkPoints *pts) |
| void | Derivatives (int subId, double pcoords[3], double *values, int dim, double *derivs) |
| virtual double * | GetParametricCoords () |
Public Member Functions inherited from vtkCell3D | |
| virtual int | GetCellDimension () |
| virtual void | SetMergeTolerance (double) |
| virtual double | GetMergeTolerance () |
Public Member Functions inherited from vtkCell | |
| void | Initialize (int npts, vtkIdType *pts, vtkPoints *p) |
| virtual void | ShallowCopy (vtkCell *c) |
| virtual void | DeepCopy (vtkCell *c) |
| virtual int | IsLinear () |
| virtual int | IsExplicitCell () |
| vtkPoints * | GetPoints () |
| vtkIdType | GetNumberOfPoints () |
| vtkIdList * | GetPointIds () |
| vtkIdType | GetPointId (int ptId) |
| void | GetBounds (double bounds[6]) |
| double * | GetBounds () |
| double | GetLength2 () |
| virtual int | IsPrimaryCell () |
| virtual int | RequiresInitialization () |
| virtual void | Initialize () |
| virtual int | RequiresExplicitFaceRepresentation () |
| virtual void | SetFaces (vtkIdType *vtkNotUsed(faces)) |
| virtual vtkIdType * | GetFaces () |
| virtual void | InterpolateFunctions (double pcoords[3], double weights[3]) |
| virtual void | InterpolateDerivs (double pcoords[3], double derivs[3]) |
Public Member Functions inherited from vtkObject | |
| virtual void | DebugOn () |
| virtual void | DebugOff () |
| unsigned char | GetDebug () |
| void | SetDebug (unsigned char 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) |
| vtkCommand * | GetCommand (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) |
| 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 &os) |
| virtual void | PrintHeader (ostream &os, vtkIndent indent) |
| virtual void | PrintTrailer (ostream &os, vtkIndent indent) |
| int | GetReferenceCount () |
Static Public Member Functions | |
| static vtkTetra * | New () |
| static int | IsTypeOf (const char *type) |
| static vtkTetra * | SafeDownCast (vtkObject *o) |
| static void | TetraCenter (double p1[3], double p2[3], double p3[3], double p4[3], double center[3]) |
| static double | Circumsphere (double p1[3], double p2[3], double p3[3], double p4[3], double center[3]) |
| static double | Insphere (double p1[3], double p2[3], double p3[3], double p4[3], double center[3]) |
| static int | BarycentricCoords (double x[3], double x1[3], double x2[3], double x3[3], double x4[3], double bcoords[4]) |
| static double | ComputeVolume (double p1[3], double p2[3], double p3[3], double p4[3]) |
| static int * | GetEdgeArray (int edgeId) |
| static int * | GetFaceArray (int faceId) |
Protected Member Functions | |
| vtkTetra () | |
| ~vtkTetra () | |
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 &os) |
| virtual void | ReportReferences (vtkGarbageCollector *) |
| vtkObjectBase (const vtkObjectBase &) | |
| void | operator= (const vtkObjectBase &) |
Protected Attributes | |
| vtkLine * | Line |
| vtkTriangle * | Triangle |
Protected Attributes inherited from vtkCell3D | |
| vtkOrderedTriangulator * | Triangulator |
| double | MergeTolerance |
| vtkTetra * | ClipTetra |
| vtkDoubleArray * | ClipScalars |
Protected Attributes inherited from vtkCell | |
| double | Bounds [6] |
Protected Attributes inherited from vtkObject | |
| unsigned char | Debug |
| vtkTimeStamp | MTime |
| vtkSubjectHelper * | SubjectHelper |
Protected Attributes inherited from vtkObjectBase | |
| int | ReferenceCount |
| vtkWeakPointerBase ** | WeakPointers |
| static void | InterpolationFunctions (double pcoords[3], double weights[4]) |
| static void | InterpolationDerivs (double pcoords[3], double derivs[12]) |
| virtual void | InterpolateFunctions (double pcoords[3], double weights[4]) |
| virtual void | InterpolateDerivs (double pcoords[3], double derivs[12]) |
a 3D cell that represents a tetrahedron
vtkTetra is a concrete implementation of vtkCell to represent a 3D tetrahedron. vtkTetra uses the standard isoparametric shape functions for a linear tetrahedron. The tetrahedron is defined by the four points (0-3); where (0,1,2) is the base of the tetrahedron which, using the right hand rule, forms a triangle whose normal points in the direction of the fourth point.
Definition at line 45 of file vtkTetra.h.
| typedef vtkCell3D vtkTetra::Superclass |
Reimplemented from vtkCell3D.
Definition at line 49 of file vtkTetra.h.
|
protected |
|
protected |
|
static |
Create an object with Debug turned off, modified time initialized to zero, and reference counting on.
Reimplemented from vtkObject.
|
virtual |
Reimplemented from vtkCell3D.
|
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 |
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.
|
virtual |
|
virtual |
|
virtual |
|
inlinevirtual |
See the vtkCell API for descriptions of these methods.
Implements vtkCell.
Definition at line 60 of file vtkTetra.h.
|
inlinevirtual |
See the vtkCell API for descriptions of these methods.
Implements vtkCell.
Definition at line 61 of file vtkTetra.h.
|
inlinevirtual |
See the vtkCell API for descriptions of these methods.
Implements vtkCell.
Definition at line 62 of file vtkTetra.h.
|
virtual |
|
virtual |
|
virtual |
|
virtual |
|
virtual |
|
virtual |
|
virtual |
|
virtual |
|
virtual |
|
virtual |
Returns the set of points that are on the boundary of the tetrahedron that are closest parametrically to the point specified. This may include faces, edges, or vertices.
Implements vtkCell.
|
inlinevirtual |
Return the center of the tetrahedron in parametric coordinates.
Reimplemented from vtkCell.
Definition at line 188 of file vtkTetra.h.
|
virtual |
Return the distance of the parametric coordinate provided to the cell. If inside the cell, a distance of zero is returned.
Reimplemented from vtkCell.
|
static |
Compute the center of the tetrahedron,
|
static |
Compute the circumcenter (center[3]) and radius squared (method return value) of a tetrahedron defined by the four points x1, x2, x3, and x4.
|
static |
Compute the center (center[3]) and radius (method return value) of a sphere that just fits inside the faces of a tetrahedron defined by the four points x1, x2, x3, and x4.
|
static |
Given a 3D point x[3], determine the barycentric coordinates of the point. Barycentric coordinates are a natural coordinate system for simplices that express a position as a linear combination of the vertices. For a tetrahedron, there are four barycentric coordinates (because there are four vertices), and the sum of the coordinates must equal 1. If a point x is inside a simplex, then all four coordinates will be strictly positive. If three coordinates are zero (so the fourth =1), then the point x is on a vertex. If two coordinates are zero, the point x is on an edge (and so on). In this method, you must specify the vertex coordinates x1->x4. Returns 0 if tetrahedron is degenerate.
|
static |
Compute the volume of a tetrahedron defined by the four points p1, p2, p3, and p4.
| int vtkTetra::JacobianInverse | ( | double ** | inverse, |
| double | derivs[12] | ||
| ) |
Given parametric coordinates compute inverse Jacobian transformation matrix. Returns 9 elements of 3x3 inverse Jacobian plus interpolation function derivatives. Returns 0 if no inverse exists.
|
static |
|
static |
|
inlinevirtual |
Definition at line 159 of file vtkTetra.h.
|
inlinevirtual |
Definition at line 163 of file vtkTetra.h.
|
static |
Return the ids of the vertices defining edge/face (edgeId/`faceId'). Ids are related to the cell, not to the dataset.
|
static |
Return the ids of the vertices defining edge/face (edgeId/`faceId'). Ids are related to the cell, not to the dataset.
|
protected |
Definition at line 180 of file vtkTetra.h.
|
protected |
Definition at line 181 of file vtkTetra.h.
1.8.1