35 #ifndef __vtkQuadraticTetra_h
36 #define __vtkQuadraticTetra_h
38 #include "vtkCommonDataModelModule.h"
39 #include "vtkNonLinearCell.h"
42 class vtkQuadraticTriangle;
51 void PrintSelf(ostream& os,
vtkIndent indent);
60 vtkCell *GetEdge(
int);
61 vtkCell *GetFace(
int);
64 int CellBoundary(
int subId,
double pcoords[3],
vtkIdList *pts);
67 vtkCellArray *lines, vtkCellArray *polys,
68 vtkPointData *inPd, vtkPointData *outPd,
69 vtkCellData *inCd,
vtkIdType cellId, vtkCellData *outCd);
70 int EvaluatePosition(
double x[3],
double* closestPoint,
71 int& subId,
double pcoords[3],
72 double& dist2,
double *weights);
73 void EvaluateLocation(
int& subId,
double pcoords[3],
double x[3],
76 void Derivatives(
int subId,
double pcoords[3],
double *values,
77 int dim,
double *derivs);
78 virtual double *GetParametricCoords();
85 vtkPointData *inPd, vtkPointData *outPd,
86 vtkCellData *inCd,
vtkIdType cellId, vtkCellData *outCd,
93 int IntersectWithLine(
double p1[3],
double p2[3],
double tol,
double& t,
94 double x[3],
double pcoords[3],
int& subId);
99 int GetParametricCenter(
double pcoords[3]);
103 double GetParametricDistance(
double pcoords[3]);
107 static void InterpolationFunctions(
double pcoords[3],
double weights[10]);
110 static void InterpolationDerivs(
double pcoords[3],
double derivs[30]);
126 static int *GetEdgeArray(
int edgeId);
127 static int *GetFaceArray(
int faceId);
133 void JacobianInverse(
double pcoords[3],
double **inverse,
double derivs[30]);
virtual void InterpolateFunctions(double pcoords[3], double weights[10])
Abstract class in support of both point location and point insertion.
vtkQuadraticTriangle * Face
static void InterpolationDerivs(double pcoords[3], double derivs[30])
dynamic, self-adjusting array of double
a 3D cell that represents a tetrahedron
a simple class to control print indentation
list of point or cell ids
abstract superclass for arrays of numeric data
cell represents a parabolic, 10-node isoparametric tetrahedron
virtual void InterpolateDerivs(double pcoords[3], double derivs[30])
static void InterpolationFunctions(double pcoords[3], double weights[10])
cell represents a parabolic, isoparametric edge
represent and manipulate 3D points