VTK
|
cell represents a biquadratic, 24-node isoparametric hexahedron More...
#include <vtkBiQuadraticQuadraticHexahedron.h>
Inherits vtkNonLinearCell.
Public Types | |
typedef vtkNonLinearCell | Superclass |
Public Member Functions | |
virtual int | IsA (const char *type) |
vtkBiQuadraticQuadraticHexahedron * | NewInstance () 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 () |
void | JacobianInverse (double pcoords[3], double **inverse, double derivs[72]) |
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[24]) |
virtual void | InterpolateDerivs (double pcoords[3], double derivs[72]) |
Static Public Member Functions | |
static vtkBiQuadraticQuadraticHexahedron * | New () |
static int | IsTypeOf (const char *type) |
static vtkBiQuadraticQuadraticHexahedron * | SafeDownCast (vtkObjectBase *o) |
static void | InterpolationFunctions (double pcoords[3], double weights[24]) |
static void | InterpolationDerivs (double pcoords[3], double derivs[72]) |
static int * | GetEdgeArray (int edgeId) |
static int * | GetFaceArray (int faceId) |
Protected Member Functions | |
virtual vtkObjectBase * | NewInstanceInternal () const |
vtkBiQuadraticQuadraticHexahedron () | |
~vtkBiQuadraticQuadraticHexahedron () | |
void | Subdivide (vtkPointData *inPd, vtkCellData *inCd, vtkIdType cellId, vtkDataArray *cellScalars) |
Protected Attributes | |
vtkQuadraticEdge * | Edge |
vtkQuadraticQuad * | Face |
vtkBiQuadraticQuad * | BiQuadFace |
vtkHexahedron * | Hex |
vtkPointData * | PointData |
vtkCellData * | CellData |
vtkDoubleArray * | CellScalars |
vtkDoubleArray * | Scalars |
cell represents a biquadratic, 24-node isoparametric hexahedron
vtkBiQuadraticQuadraticHexahedron is a concrete implementation of vtkNonLinearCell to represent a three-dimensional, 24-node isoparametric biquadratic hexahedron. The interpolation is the standard finite element, biquadratic-quadratic isoparametric shape function. The cell includes mid-edge and center-face nodes. The ordering of the 24 points defining the cell is point ids (0-7,8-19, 20-23) where point ids 0-7 are the eight corner vertices of the cube; followed by twelve midedge nodes (8-19), nodes 20-23 are the center-face nodes. Note that these midedge nodes correspond lie on the edges defined by (0,1), (1,2), (2,3), (3,0), (4,5), (5,6), (6,7), (7,4), (0,4), (1,5), (2,6), (3,7). The center face nodes laying in quad 22-(0,1,5,4), 21-(1,2,6,5), 23-(2,3,7,6) and 22-(3,0,4,7)
top 7--14--6 | | 15 13 | | 4--12--5 middle 19--23--18 | | 20 21 | | 16--22--17 bottom 3--10--2 | | 11 9 | | 0-- 8--1
Definition at line 82 of file vtkBiQuadraticQuadraticHexahedron.h.
typedef vtkNonLinearCell vtkBiQuadraticQuadraticHexahedron::Superclass |
Definition at line 86 of file vtkBiQuadraticQuadraticHexahedron.h.
|
protected |
|
protected |
|
static |
|
static |
|
virtual |
|
static |
|
protectedvirtual |
vtkBiQuadraticQuadraticHexahedron* vtkBiQuadraticQuadraticHexahedron::NewInstance | ( | ) | const |
void vtkBiQuadraticQuadraticHexahedron::PrintSelf | ( | ostream & | os, |
vtkIndent | indent | ||
) |
|
inline |
Implement the vtkCell API. See the vtkCell API for descriptions of these methods.
Definition at line 92 of file vtkBiQuadraticQuadraticHexahedron.h.
|
inline |
Implement the vtkCell API. See the vtkCell API for descriptions of these methods.
Definition at line 93 of file vtkBiQuadraticQuadraticHexahedron.h.
|
inline |
Implement the vtkCell API. See the vtkCell API for descriptions of these methods.
Definition at line 94 of file vtkBiQuadraticQuadraticHexahedron.h.
|
inline |
Implement the vtkCell API. See the vtkCell API for descriptions of these methods.
Definition at line 95 of file vtkBiQuadraticQuadraticHexahedron.h.
vtkCell* vtkBiQuadraticQuadraticHexahedron::GetEdge | ( | int | ) |
vtkCell* vtkBiQuadraticQuadraticHexahedron::GetFace | ( | int | ) |
int vtkBiQuadraticQuadraticHexahedron::CellBoundary | ( | int | subId, |
double | pcoords[3], | ||
vtkIdList * | pts | ||
) |
void vtkBiQuadraticQuadraticHexahedron::Contour | ( | double | value, |
vtkDataArray * | cellScalars, | ||
vtkIncrementalPointLocator * | locator, | ||
vtkCellArray * | verts, | ||
vtkCellArray * | lines, | ||
vtkCellArray * | polys, | ||
vtkPointData * | inPd, | ||
vtkPointData * | outPd, | ||
vtkCellData * | inCd, | ||
vtkIdType | cellId, | ||
vtkCellData * | outCd | ||
) |
int vtkBiQuadraticQuadraticHexahedron::EvaluatePosition | ( | double | x[3], |
double * | closestPoint, | ||
int & | subId, | ||
double | pcoords[3], | ||
double & | dist2, | ||
double * | weights | ||
) |
void vtkBiQuadraticQuadraticHexahedron::EvaluateLocation | ( | int & | subId, |
double | pcoords[3], | ||
double | x[3], | ||
double * | weights | ||
) |
int vtkBiQuadraticQuadraticHexahedron::Triangulate | ( | int | index, |
vtkIdList * | ptIds, | ||
vtkPoints * | pts | ||
) |
void vtkBiQuadraticQuadraticHexahedron::Derivatives | ( | int | subId, |
double | pcoords[3], | ||
double * | values, | ||
int | dim, | ||
double * | derivs | ||
) |
|
virtual |
void vtkBiQuadraticQuadraticHexahedron::Clip | ( | double | value, |
vtkDataArray * | cellScalars, | ||
vtkIncrementalPointLocator * | locator, | ||
vtkCellArray * | tetras, | ||
vtkPointData * | inPd, | ||
vtkPointData * | outPd, | ||
vtkCellData * | inCd, | ||
vtkIdType | cellId, | ||
vtkCellData * | outCd, | ||
int | insideOut | ||
) |
Clip this biquadratic hexahedron using scalar value provided. Like contouring, except that it cuts the hex to produce linear tetrahedron.
int vtkBiQuadraticQuadraticHexahedron::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.
|
static |
|
static |
|
inlinevirtual |
Compute the interpolation functions/derivatives (aka shape functions/derivatives)
Definition at line 143 of file vtkBiQuadraticQuadraticHexahedron.h.
|
inlinevirtual |
Compute the interpolation functions/derivatives (aka shape functions/derivatives)
Definition at line 147 of file vtkBiQuadraticQuadraticHexahedron.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.
void vtkBiQuadraticQuadraticHexahedron::JacobianInverse | ( | double | pcoords[3], |
double ** | inverse, | ||
double | derivs[72] | ||
) |
Given parametric coordinates compute inverse Jacobian transformation matrix. Returns 9 elements of 3x3 inverse Jacobian plus interpolation function derivatives.
|
protected |
|
protected |
Definition at line 168 of file vtkBiQuadraticQuadraticHexahedron.h.
|
protected |
Definition at line 169 of file vtkBiQuadraticQuadraticHexahedron.h.
|
protected |
Definition at line 170 of file vtkBiQuadraticQuadraticHexahedron.h.
|
protected |
Definition at line 171 of file vtkBiQuadraticQuadraticHexahedron.h.
|
protected |
Definition at line 172 of file vtkBiQuadraticQuadraticHexahedron.h.
|
protected |
Definition at line 173 of file vtkBiQuadraticQuadraticHexahedron.h.
|
protected |
Definition at line 174 of file vtkBiQuadraticQuadraticHexahedron.h.
|
protected |
Definition at line 175 of file vtkBiQuadraticQuadraticHexahedron.h.