VTK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
vtkQuadraticTetra Class Reference

cell represents a parabolic, 10-node isoparametric tetrahedron More...

#include <vtkQuadraticTetra.h>

Inherits vtkNonLinearCell.

Collaboration diagram for vtkQuadraticTetra:
[legend]

Public Types

typedef vtkNonLinearCell Superclass
 

Public Member Functions

virtual int IsA (const char *type)
 
vtkQuadraticTetraNewInstance () const
 
void PrintSelf (ostream &os, vtkIndent indent)
 
int CellBoundary (int subId, double pcoords[3], vtkIdList *pts)
 
void Contour (double value, vtkDataArray *cellScalars, vtkIncrementalPointLocator *locator, vtkCellArray *verts, vtkCellArray *lines, vtkCellArray *polys, vtkPointData *inPd, vtkPointData *outPd, vtkCellData *inCd, vtkIdType cellId, vtkCellData *outCd)
 
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 Triangulate (int index, vtkIdList *ptIds, vtkPoints *pts)
 
void Derivatives (int subId, double pcoords[3], double *values, int dim, double *derivs)
 
virtual double * GetParametricCoords ()
 
int GetParametricCenter (double pcoords[3])
 
double GetParametricDistance (double pcoords[3])
 
void JacobianInverse (double pcoords[3], double **inverse, double derivs[30])
 
int GetCellType ()
 
int GetCellDimension ()
 
int GetNumberOfEdges ()
 
int GetNumberOfFaces ()
 
vtkCell * GetEdge (int)
 
vtkCell * GetFace (int)
 
void Clip (double value, vtkDataArray *cellScalars, vtkIncrementalPointLocator *locator, vtkCellArray *tetras, vtkPointData *inPd, vtkPointData *outPd, vtkCellData *inCd, vtkIdType cellId, vtkCellData *outCd, int insideOut)
 
int IntersectWithLine (double p1[3], double p2[3], double tol, double &t, double x[3], double pcoords[3], int &subId)
 
virtual void InterpolateFunctions (double pcoords[3], double weights[10])
 
virtual void InterpolateDerivs (double pcoords[3], double derivs[30])
 

Static Public Member Functions

static vtkQuadraticTetraNew ()
 
static int IsTypeOf (const char *type)
 
static vtkQuadraticTetraSafeDownCast (vtkObjectBase *o)
 
static void InterpolationFunctions (double pcoords[3], double weights[10])
 
static void InterpolationDerivs (double pcoords[3], double derivs[30])
 
static int * GetEdgeArray (int edgeId)
 
static int * GetFaceArray (int faceId)
 

Protected Member Functions

virtual vtkObjectBaseNewInstanceInternal () const
 
 vtkQuadraticTetra ()
 
 ~vtkQuadraticTetra ()
 

Protected Attributes

vtkQuadraticEdgeEdge
 
vtkQuadraticTriangle * Face
 
vtkTetraTetra
 
vtkDoubleArrayScalars
 

Detailed Description

cell represents a parabolic, 10-node isoparametric tetrahedron

vtkQuadraticTetra is a concrete implementation of vtkNonLinearCell to represent a three-dimensional, 10-node, isoparametric parabolic tetrahedron. The interpolation is the standard finite element, quadratic isoparametric shape function. The cell includes a mid-edge node on each of the size edges of the tetrahedron. The ordering of the ten points defining the cell is point ids (0-3,4-9) where ids 0-3 are the four tetra vertices; and point ids 4-9 are the midedge nodes between (0,1), (1,2), (2,0), (0,3), (1,3), and (2,3).

See Also
vtkQuadraticEdge vtkQuadraticTriangle vtkQuadraticWedge vtkQuadraticQuad vtkQuadraticHexahedron vtkQuadraticPyramid
Tests:
vtkQuadraticTetra (Tests)

Definition at line 46 of file vtkQuadraticTetra.h.

Member Typedef Documentation

typedef vtkNonLinearCell vtkQuadraticTetra::Superclass

Definition at line 50 of file vtkQuadraticTetra.h.

Constructor & Destructor Documentation

vtkQuadraticTetra::vtkQuadraticTetra ( )
protected
vtkQuadraticTetra::~vtkQuadraticTetra ( )
protected

Member Function Documentation

static vtkQuadraticTetra* vtkQuadraticTetra::New ( )
static
static int vtkQuadraticTetra::IsTypeOf ( const char *  type)
static
virtual int vtkQuadraticTetra::IsA ( const char *  type)
virtual
static vtkQuadraticTetra* vtkQuadraticTetra::SafeDownCast ( vtkObjectBase o)
static
virtual vtkObjectBase* vtkQuadraticTetra::NewInstanceInternal ( ) const
protectedvirtual
vtkQuadraticTetra* vtkQuadraticTetra::NewInstance ( ) const
void vtkQuadraticTetra::PrintSelf ( ostream &  os,
vtkIndent  indent 
)
int vtkQuadraticTetra::GetCellType ( )
inline

Implement the vtkCell API. See the vtkCell API for descriptions of these methods.

Definition at line 56 of file vtkQuadraticTetra.h.

int vtkQuadraticTetra::GetCellDimension ( )
inline

Implement the vtkCell API. See the vtkCell API for descriptions of these methods.

Definition at line 57 of file vtkQuadraticTetra.h.

int vtkQuadraticTetra::GetNumberOfEdges ( )
inline

Implement the vtkCell API. See the vtkCell API for descriptions of these methods.

Definition at line 58 of file vtkQuadraticTetra.h.

int vtkQuadraticTetra::GetNumberOfFaces ( )
inline

Implement the vtkCell API. See the vtkCell API for descriptions of these methods.

Definition at line 59 of file vtkQuadraticTetra.h.

vtkCell* vtkQuadraticTetra::GetEdge ( int  )

Implement the vtkCell API. See the vtkCell API for descriptions of these methods.

vtkCell* vtkQuadraticTetra::GetFace ( int  )

Implement the vtkCell API. See the vtkCell API for descriptions of these methods.

int vtkQuadraticTetra::CellBoundary ( int  subId,
double  pcoords[3],
vtkIdList pts 
)
void vtkQuadraticTetra::Contour ( double  value,
vtkDataArray cellScalars,
vtkIncrementalPointLocator locator,
vtkCellArray *  verts,
vtkCellArray *  lines,
vtkCellArray *  polys,
vtkPointData *  inPd,
vtkPointData *  outPd,
vtkCellData *  inCd,
vtkIdType  cellId,
vtkCellData *  outCd 
)
int vtkQuadraticTetra::EvaluatePosition ( double  x[3],
double *  closestPoint,
int &  subId,
double  pcoords[3],
double &  dist2,
double *  weights 
)
void vtkQuadraticTetra::EvaluateLocation ( int &  subId,
double  pcoords[3],
double  x[3],
double *  weights 
)
int vtkQuadraticTetra::Triangulate ( int  index,
vtkIdList ptIds,
vtkPoints pts 
)
void vtkQuadraticTetra::Derivatives ( int  subId,
double  pcoords[3],
double *  values,
int  dim,
double *  derivs 
)
virtual double* vtkQuadraticTetra::GetParametricCoords ( )
virtual
void vtkQuadraticTetra::Clip ( double  value,
vtkDataArray cellScalars,
vtkIncrementalPointLocator locator,
vtkCellArray *  tetras,
vtkPointData *  inPd,
vtkPointData *  outPd,
vtkCellData *  inCd,
vtkIdType  cellId,
vtkCellData *  outCd,
int  insideOut 
)

Clip this edge using scalar value provided. Like contouring, except that it cuts the tetra to produce new tetras.

int vtkQuadraticTetra::IntersectWithLine ( double  p1[3],
double  p2[3],
double  tol,
double &  t,
double  x[3],
double  pcoords[3],
int &  subId 
)

Line-edge intersection. Intersection has to occur within [0,1] parametric coordinates and with specified tolerance.

int vtkQuadraticTetra::GetParametricCenter ( double  pcoords[3])

Return the center of the quadratic tetra in parametric coordinates.

double vtkQuadraticTetra::GetParametricDistance ( double  pcoords[3])

Return the distance of the parametric coordinate provided to the cell. If inside the cell, a distance of zero is returned.

static void vtkQuadraticTetra::InterpolationFunctions ( double  pcoords[3],
double  weights[10] 
)
static
static void vtkQuadraticTetra::InterpolationDerivs ( double  pcoords[3],
double  derivs[30] 
)
static
virtual void vtkQuadraticTetra::InterpolateFunctions ( double  pcoords[3],
double  weights[10] 
)
inlinevirtual

Compute the interpolation functions/derivatives (aka shape functions/derivatives)

Definition at line 114 of file vtkQuadraticTetra.h.

virtual void vtkQuadraticTetra::InterpolateDerivs ( double  pcoords[3],
double  derivs[30] 
)
inlinevirtual

Compute the interpolation functions/derivatives (aka shape functions/derivatives)

Definition at line 118 of file vtkQuadraticTetra.h.

static int* vtkQuadraticTetra::GetEdgeArray ( int  edgeId)
static

Return the ids of the vertices defining edge/face (edgeId/`faceId'). Ids are related to the cell, not to the dataset.

static int* vtkQuadraticTetra::GetFaceArray ( int  faceId)
static

Return the ids of the vertices defining edge/face (edgeId/`faceId'). Ids are related to the cell, not to the dataset.

void vtkQuadraticTetra::JacobianInverse ( double  pcoords[3],
double **  inverse,
double  derivs[30] 
)

Given parametric coordinates compute inverse Jacobian transformation matrix. Returns 9 elements of 3x3 inverse Jacobian plus interpolation function derivatives.

Member Data Documentation

vtkQuadraticEdge* vtkQuadraticTetra::Edge
protected

Definition at line 139 of file vtkQuadraticTetra.h.

vtkQuadraticTriangle* vtkQuadraticTetra::Face
protected

Definition at line 140 of file vtkQuadraticTetra.h.

vtkTetra* vtkQuadraticTetra::Tetra
protected

Definition at line 141 of file vtkQuadraticTetra.h.

vtkDoubleArray* vtkQuadraticTetra::Scalars
protected

Definition at line 142 of file vtkQuadraticTetra.h.


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