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
vtkBiQuadraticQuadraticWedge Class Reference

cell represents a parabolic, 18-node isoparametric wedge More...

#include <vtkBiQuadraticQuadraticWedge.h>

Inherits vtkNonLinearCell.

Collaboration diagram for vtkBiQuadraticQuadraticWedge:
[legend]

Public Types

typedef vtkNonLinearCell Superclass
 

Public Member Functions

virtual int IsA (const char *type)
 
vtkBiQuadraticQuadraticWedgeNewInstance () 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])
 
void JacobianInverse (double pcoords[3], double **inverse, double derivs[45])
 
int GetCellType ()
 
int GetCellDimension ()
 
int GetNumberOfEdges ()
 
int GetNumberOfFaces ()
 
vtkCellGetEdge (int edgeId)
 
vtkCellGetFace (int faceId)
 
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[15])
 
virtual void InterpolateDerivs (double pcoords[3], double derivs[45])
 

Static Public Member Functions

static
vtkBiQuadraticQuadraticWedge
New ()
 
static int IsTypeOf (const char *type)
 
static
vtkBiQuadraticQuadraticWedge
SafeDownCast (vtkObjectBase *o)
 
static void InterpolationFunctions (double pcoords[3], double weights[15])
 
static void InterpolationDerivs (double pcoords[3], double derivs[45])
 
static int * GetEdgeArray (int edgeId)
 
static int * GetFaceArray (int faceId)
 

Protected Member Functions

virtual vtkObjectBaseNewInstanceInternal () const
 
 vtkBiQuadraticQuadraticWedge ()
 
 ~vtkBiQuadraticQuadraticWedge ()
 

Protected Attributes

vtkQuadraticEdge * Edge
 
vtkQuadraticTriangle * TriangleFace
 
vtkBiQuadraticQuadFace
 
vtkWedge * Wedge
 
vtkDoubleArrayScalars
 

Detailed Description

cell represents a parabolic, 18-node isoparametric wedge

vtkBiQuadraticQuadraticWedge is a concrete implementation of vtkNonLinearCell to represent a three-dimensional, 18-node isoparametric biquadratic wedge. The interpolation is the standard finite element, biquadratic-quadratic isoparametric shape function plus the linear functions. The cell includes a mid-edge node. The ordering of the 18 points defining the cell is point ids (0-5,6-15, 16-18) where point ids 0-5 are the six corner vertices of the wedge; followed by nine midedge nodes (6-15) and 3 center-face nodes. Note that these midedge nodes correspond lie on the edges defined by (0,1), (1,2), (2,0), (3,4), (4,5), (5,3), (0,3), (1,4), (2,5), and the center-face nodes are laying in quads 16-(0,1,4,3), 17-(1,2,5,4) and (2,0,3,5).

See Also
vtkQuadraticEdge vtkQuadraticTriangle vtkQuadraticTetra vtkQuadraticHexahedron vtkQuadraticQuad vtkQuadraticPyramid
Thanks:
Thanks to Soeren Gebbert who developed this class and integrated it into VTK 5.0.
Tests:
vtkBiQuadraticQuadraticWedge (Tests)

Definition at line 55 of file vtkBiQuadraticQuadraticWedge.h.

Member Typedef Documentation

typedef vtkNonLinearCell vtkBiQuadraticQuadraticWedge::Superclass

Definition at line 59 of file vtkBiQuadraticQuadraticWedge.h.

Constructor & Destructor Documentation

vtkBiQuadraticQuadraticWedge::vtkBiQuadraticQuadraticWedge ( )
protected
vtkBiQuadraticQuadraticWedge::~vtkBiQuadraticQuadraticWedge ( )
protected

Member Function Documentation

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

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

Definition at line 65 of file vtkBiQuadraticQuadraticWedge.h.

int vtkBiQuadraticQuadraticWedge::GetCellDimension ( )
inline

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

Definition at line 66 of file vtkBiQuadraticQuadraticWedge.h.

int vtkBiQuadraticQuadraticWedge::GetNumberOfEdges ( )
inline

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

Definition at line 67 of file vtkBiQuadraticQuadraticWedge.h.

int vtkBiQuadraticQuadraticWedge::GetNumberOfFaces ( )
inline

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

Definition at line 68 of file vtkBiQuadraticQuadraticWedge.h.

vtkCell* vtkBiQuadraticQuadraticWedge::GetEdge ( int  edgeId)

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

vtkCell* vtkBiQuadraticQuadraticWedge::GetFace ( int  faceId)

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

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

Clip this quadratic Wedge using scalar value provided. Like contouring, except that it cuts the hex to produce linear tetrahedron.

int vtkBiQuadraticQuadraticWedge::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 vtkBiQuadraticQuadraticWedge::GetParametricCenter ( double  pcoords[3])
inline

Return the center of the quadratic wedge in parametric coordinates.

Definition at line 156 of file vtkBiQuadraticQuadraticWedge.h.

static void vtkBiQuadraticQuadraticWedge::InterpolationFunctions ( double  pcoords[3],
double  weights[15] 
)
static
static void vtkBiQuadraticQuadraticWedge::InterpolationDerivs ( double  pcoords[3],
double  derivs[45] 
)
static
virtual void vtkBiQuadraticQuadraticWedge::InterpolateFunctions ( double  pcoords[3],
double  weights[15] 
)
inlinevirtual

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

Definition at line 119 of file vtkBiQuadraticQuadraticWedge.h.

virtual void vtkBiQuadraticQuadraticWedge::InterpolateDerivs ( double  pcoords[3],
double  derivs[45] 
)
inlinevirtual

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

Definition at line 123 of file vtkBiQuadraticQuadraticWedge.h.

static int* vtkBiQuadraticQuadraticWedge::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* vtkBiQuadraticQuadraticWedge::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 vtkBiQuadraticQuadraticWedge::JacobianInverse ( double  pcoords[3],
double **  inverse,
double  derivs[45] 
)

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

Member Data Documentation

vtkQuadraticEdge* vtkBiQuadraticQuadraticWedge::Edge
protected

Definition at line 144 of file vtkBiQuadraticQuadraticWedge.h.

vtkQuadraticTriangle* vtkBiQuadraticQuadraticWedge::TriangleFace
protected

Definition at line 145 of file vtkBiQuadraticQuadraticWedge.h.

vtkBiQuadraticQuad* vtkBiQuadraticQuadraticWedge::Face
protected

Definition at line 146 of file vtkBiQuadraticQuadraticWedge.h.

vtkWedge* vtkBiQuadraticQuadraticWedge::Wedge
protected

Definition at line 147 of file vtkBiQuadraticQuadraticWedge.h.

vtkDoubleArray* vtkBiQuadraticQuadraticWedge::Scalars
protected

Definition at line 148 of file vtkBiQuadraticQuadraticWedge.h.


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