VTK  9.6.1
vtkQuadraticHexahedron.h File Reference
#include "vtkCommonDataModelModule.h"
#include "vtkNonLinearCell.h"
Include dependency graph for vtkQuadraticHexahedron.h:

Go to the source code of this file.

Classes

class  vtkQuadraticHexahedron
 cell represents a parabolic, 20-node isoparametric hexahedron More...

Functions

vtkQuadraticHexahedron vtkNonLinearCell JacobianInverse (const double pcoords[3], double **inverse, double derivs[60])
 Given parametric coordinates compute inverse Jacobian transformation matrix.
static vtkQuadraticHexahedronNew ()
static vtkTypeBool IsTypeOf (const char *type)
virtual vtkTypeBool IsA (const char *type)
static vtkQuadraticHexahedronSafeDownCast (vtkObjectBase *o)
virtual vtkObjectBaseNewInstanceInternal () const
vtkQuadraticHexahedronNewInstance () const
void PrintSelf (ostream &os, vtkIndent indent) override
int CellBoundary (int subId, const double pcoords[3], vtkIdList *pts) override
void Contour (double value, vtkDataArray *cellScalars, vtkIncrementalPointLocator *locator, vtkCellArray *verts, vtkCellArray *lines, vtkCellArray *polys, vtkPointData *inPd, vtkPointData *outPd, vtkCellData *inCd, vtkIdType cellId, vtkCellData *outCd) override
int EvaluatePosition (const double x[3], double closestPoint[3], int &subId, double pcoords[3], double &dist2, double weights[]) override
void EvaluateLocation (int &subId, const double pcoords[3], double x[3], double *weights) override
int TriangulateLocalIds (int index, vtkIdList *ptIds) override
void Derivatives (int subId, const double pcoords[3], const double *values, int dim, double *derivs) override
double * GetParametricCoords () override
void Clip (double value, vtkDataArray *cellScalars, vtkIncrementalPointLocator *locator, vtkCellArray *tetras, vtkPointData *inPd, vtkPointData *outPd, vtkCellData *inCd, vtkIdType cellId, vtkCellData *outCd, int insideOut) override
 Clip this quadratic hexahedron using scalar value provided.
int IntersectWithLine (const double p1[3], const double p2[3], double tol, double &t, double x[3], double pcoords[3], int &subId) override
 Line-edge intersection.
static void InterpolationFunctions (const double pcoords[3], double weights[20])
static void InterpolationDerivs (const double pcoords[3], double derivs[60])
 vtkQuadraticHexahedron ()
 ~vtkQuadraticHexahedron () override
void Subdivide (vtkPointData *inPd, vtkCellData *inCd, vtkIdType cellId, vtkDataArray *cellScalars)
int GetCellType () override
 Implement the vtkCell API.
int GetCellDimension () override
 Implement the vtkCell API.
int GetNumberOfEdges () override
 Implement the vtkCell API.
int GetNumberOfFaces () override
 Implement the vtkCell API.
vtkCellGetEdge (int) override
 Implement the vtkCell API.
vtkCellGetFace (int) override
 Implement the vtkCell API.
void InterpolateFunctions (const double pcoords[3], double weights[20]) override
 Compute the interpolation functions/derivatives (aka shape functions/derivatives).
void InterpolateDerivs (const double pcoords[3], double derivs[60]) override
 Compute the interpolation functions/derivatives (aka shape functions/derivatives).

Variables

vtkQuadraticEdgeEdge
vtkQuadraticQuadFace
vtkHexahedronHex
vtkPointDataPointData
vtkCellDataCellData
vtkDoubleArrayCellScalars
vtkDoubleArrayScalars

Function Documentation

◆ JacobianInverse()

vtkQuadraticHexahedron vtkNonLinearCell JacobianInverse ( const double pcoords[3],
double ** inverse,
double derivs[60] )

Given parametric coordinates compute inverse Jacobian transformation matrix.

Returns 9 elements of 3x3 inverse Jacobian plus interpolation function derivatives.

◆ New()

vtkQuadraticHexahedron * JacobianInverse::New ( )
static

◆ IsTypeOf()

vtkTypeBool JacobianInverse::IsTypeOf ( const char * type)
static

◆ IsA()

virtual vtkTypeBool JacobianInverse::IsA ( const char * type)
virtual

◆ SafeDownCast()

vtkQuadraticHexahedron * JacobianInverse::SafeDownCast ( vtkObjectBase * o)
static

◆ NewInstanceInternal()

virtual vtkObjectBase * JacobianInverse::NewInstanceInternal ( ) const
protectedvirtual

◆ NewInstance()

vtkQuadraticHexahedron * JacobianInverse::NewInstance ( ) const

◆ PrintSelf()

void JacobianInverse::PrintSelf ( ostream & os,
vtkIndent indent )
override

◆ GetCellType()

int JacobianInverse::GetCellType ( )
override

Implement the vtkCell API.

See the vtkCell API for descriptions of these methods.

Definition at line 10 of file vtkQuadraticHexahedron.h.

◆ GetCellDimension()

int JacobianInverse::GetCellDimension ( )
override

Implement the vtkCell API.

See the vtkCell API for descriptions of these methods.

Definition at line 11 of file vtkQuadraticHexahedron.h.

◆ GetNumberOfEdges()

int JacobianInverse::GetNumberOfEdges ( )
override

Implement the vtkCell API.

See the vtkCell API for descriptions of these methods.

Definition at line 12 of file vtkQuadraticHexahedron.h.

◆ GetNumberOfFaces()

int JacobianInverse::GetNumberOfFaces ( )
override

Implement the vtkCell API.

See the vtkCell API for descriptions of these methods.

Definition at line 13 of file vtkQuadraticHexahedron.h.

◆ GetEdge()

vtkCell * JacobianInverse::GetEdge ( int )
override

Implement the vtkCell API.

See the vtkCell API for descriptions of these methods.

◆ GetFace()

vtkCell * JacobianInverse::GetFace ( int )
override

Implement the vtkCell API.

See the vtkCell API for descriptions of these methods.

◆ CellBoundary()

int JacobianInverse::CellBoundary ( int subId,
const double pcoords[3],
vtkIdList * pts )
override

◆ Contour()

void JacobianInverse::Contour ( double value,
vtkDataArray * cellScalars,
vtkIncrementalPointLocator * locator,
vtkCellArray * verts,
vtkCellArray * lines,
vtkCellArray * polys,
vtkPointData * inPd,
vtkPointData * outPd,
vtkCellData * inCd,
vtkIdType cellId,
vtkCellData * outCd )
override

◆ EvaluatePosition()

int JacobianInverse::EvaluatePosition ( const double x[3],
double closestPoint[3],
int & subId,
double pcoords[3],
double & dist2,
double weights[] )
override

◆ EvaluateLocation()

void JacobianInverse::EvaluateLocation ( int & subId,
const double pcoords[3],
double x[3],
double * weights )
override

◆ TriangulateLocalIds()

int JacobianInverse::TriangulateLocalIds ( int index,
vtkIdList * ptIds )
override

◆ Derivatives()

void JacobianInverse::Derivatives ( int subId,
const double pcoords[3],
const double * values,
int dim,
double * derivs )
override

◆ GetParametricCoords()

double * JacobianInverse::GetParametricCoords ( )
override

◆ Clip()

void JacobianInverse::Clip ( double value,
vtkDataArray * cellScalars,
vtkIncrementalPointLocator * locator,
vtkCellArray * tetras,
vtkPointData * inPd,
vtkPointData * outPd,
vtkCellData * inCd,
vtkIdType cellId,
vtkCellData * outCd,
int insideOut )
override

Clip this quadratic hexahedron using scalar value provided.

Like contouring, except that it cuts the hex to produce linear tetrahedron.

◆ IntersectWithLine()

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

Line-edge intersection.

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

Line-edge intersection.

See vtkCell.h parameters documentation.

THIS FUNCTION IS NOT THREAD SAFE.

◆ InterpolationFunctions()

void JacobianInverse::InterpolationFunctions ( const double pcoords[3],
double weights[20] )
static

◆ InterpolationDerivs()

void JacobianInverse::InterpolationDerivs ( const double pcoords[3],
double derivs[60] )
static

◆ InterpolateFunctions()

void JacobianInverse::InterpolateFunctions ( const double pcoords[3],
double weights[20] )
override

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

Definition at line 53 of file vtkQuadraticHexahedron.h.

◆ InterpolateDerivs()

void JacobianInverse::InterpolateDerivs ( const double pcoords[3],
double derivs[60] )
override

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

Definition at line 57 of file vtkQuadraticHexahedron.h.

◆ vtkQuadraticHexahedron()

vtkQuadraticHexahedron ( )
protected

◆ ~vtkQuadraticHexahedron()

~vtkQuadraticHexahedron ( )
overrideprotected

◆ Subdivide()

void Subdivide ( vtkPointData * inPd,
vtkCellData * inCd,
vtkIdType cellId,
vtkDataArray * cellScalars )
protected

Variable Documentation

◆ Edge

vtkQuadraticEdge* Edge
protected

Definition at line 124 of file vtkQuadraticHexahedron.h.

◆ Face

vtkQuadraticQuad* Face
protected

Definition at line 125 of file vtkQuadraticHexahedron.h.

◆ Hex

vtkHexahedron* Hex
protected

Definition at line 126 of file vtkQuadraticHexahedron.h.

◆ PointData

vtkPointData* PointData
protected

Definition at line 127 of file vtkQuadraticHexahedron.h.

◆ CellData

vtkCellData* CellData
protected

Definition at line 128 of file vtkQuadraticHexahedron.h.

◆ CellScalars

vtkDoubleArray* CellScalars
protected

Definition at line 129 of file vtkQuadraticHexahedron.h.

◆ Scalars

vtkDoubleArray* Scalars
protected

Definition at line 130 of file vtkQuadraticHexahedron.h.