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

Go to the source code of this file.

Classes

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

Functions

vtkQuadraticTetra vtkNonLinearCell JacobianInverse (const double pcoords[3], double **inverse, double derivs[30])
 Given parametric coordinates compute inverse Jacobian transformation matrix.
static vtkQuadraticTetraNew ()
static vtkTypeBool IsTypeOf (const char *type)
virtual vtkTypeBool IsA (const char *type)
static vtkQuadraticTetraSafeDownCast (vtkObjectBase *o)
virtual vtkObjectBaseNewInstanceInternal () const
vtkQuadraticTetraNewInstance () 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 edge using scalar value provided.
bool StableClip (double value, vtkDataArray *cellScalars, vtkIncrementalPointLocator *locator, vtkCellArray *tetras, vtkPointData *inPd, vtkPointData *outPd, vtkCellData *inCd, vtkIdType cellId, vtkCellData *outCd, int insideOut) override
 Clip this edge 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.
int GetParametricCenter (double pcoords[3]) override
 Return the center of the quadratic tetra in parametric coordinates.
double GetParametricDistance (const double pcoords[3]) override
 Return the distance of the parametric coordinate provided to the cell.
static void InterpolationFunctions (const double pcoords[3], double weights[10])
static void InterpolationDerivs (const double pcoords[3], double derivs[30])
 vtkQuadraticTetra ()
 ~vtkQuadraticTetra () override
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[10]) override
 Compute the interpolation functions/derivatives (aka shape functions/derivatives).
void InterpolateDerivs (const double pcoords[3], double derivs[30]) override
 Compute the interpolation functions/derivatives (aka shape functions/derivatives).

Variables

vtkQuadraticEdgeEdge
vtkQuadraticTriangleFace
vtkTetraTetra
vtkDoubleArrayScalars

Function Documentation

◆ JacobianInverse()

vtkQuadraticTetra vtkNonLinearCell JacobianInverse ( const 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.

◆ New()

vtkQuadraticTetra * JacobianInverse::New ( )
static

◆ IsTypeOf()

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

◆ IsA()

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

◆ SafeDownCast()

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

◆ NewInstanceInternal()

virtual vtkObjectBase * JacobianInverse::NewInstanceInternal ( ) const
protectedvirtual

◆ NewInstance()

vtkQuadraticTetra * 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 vtkQuadraticTetra.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 vtkQuadraticTetra.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 vtkQuadraticTetra.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 vtkQuadraticTetra.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 edge using scalar value provided.

Like contouring, except that it cuts the tetra to produce new tetras.

◆ StableClip()

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

Clip this edge using scalar value provided.

Like contouring, except that it cuts the tetra to produce new tetras.

Returns true if newly inserted cell is a quadratic tetra, false otherwise.

See also
vtkNonLinearCell::StableClip

◆ 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.

◆ GetParametricCenter()

int JacobianInverse::GetParametricCenter ( double pcoords[3])
override

Return the center of the quadratic tetra in parametric coordinates.

◆ GetParametricDistance()

double JacobianInverse::GetParametricDistance ( const double pcoords[3])
override

Return the distance of the parametric coordinate provided to the cell.

If inside the cell, a distance of zero is returned.

◆ InterpolationFunctions()

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

◆ InterpolationDerivs()

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

◆ InterpolateFunctions()

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

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

Definition at line 75 of file vtkQuadraticTetra.h.

◆ InterpolateDerivs()

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

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

Definition at line 79 of file vtkQuadraticTetra.h.

◆ vtkQuadraticTetra()

vtkQuadraticTetra ( )
protected

◆ ~vtkQuadraticTetra()

~vtkQuadraticTetra ( )
overrideprotected

Variable Documentation

◆ Edge

vtkQuadraticEdge* Edge
protected

Definition at line 149 of file vtkQuadraticTetra.h.

◆ Face

vtkQuadraticTriangle* Face
protected

Definition at line 150 of file vtkQuadraticTetra.h.

◆ Tetra

vtkTetra* Tetra
protected

Definition at line 151 of file vtkQuadraticTetra.h.

◆ Scalars

vtkDoubleArray* Scalars
protected

Definition at line 152 of file vtkQuadraticTetra.h.