36 #ifndef __vtkQuadraticHexahedron_h
37 #define __vtkQuadraticHexahedron_h
39 #include "vtkCommonDataModelModule.h"
40 #include "vtkNonLinearCell.h"
43 class vtkQuadraticQuad;
52 void PrintSelf(ostream& os,
vtkIndent indent);
61 vtkCell *GetEdge(
int);
62 vtkCell *GetFace(
int);
65 int CellBoundary(
int subId,
double pcoords[3],
vtkIdList *pts);
68 vtkCellArray *lines, vtkCellArray *polys,
69 vtkPointData *inPd, vtkPointData *outPd,
70 vtkCellData *inCd,
vtkIdType cellId, vtkCellData *outCd);
71 int EvaluatePosition(
double x[3],
double* closestPoint,
72 int& subId,
double pcoords[3],
73 double& dist2,
double *weights);
74 void EvaluateLocation(
int& subId,
double pcoords[3],
double x[3],
77 void Derivatives(
int subId,
double pcoords[3],
double *values,
78 int dim,
double *derivs);
79 virtual double *GetParametricCoords();
87 vtkPointData *inPd, vtkPointData *outPd,
88 vtkCellData *inCd,
vtkIdType cellId, vtkCellData *outCd,
95 int IntersectWithLine(
double p1[3],
double p2[3],
double tol,
double& t,
96 double x[3],
double pcoords[3],
int& subId);
102 static void InterpolationFunctions(
double pcoords[3],
double weights[20]);
105 static void InterpolationDerivs(
double pcoords[3],
double derivs[60]);
121 static int *GetEdgeArray(
int edgeId);
122 static int *GetFaceArray(
int faceId);
128 void JacobianInverse(
double pcoords[3],
double **inverse,
double derivs[60]);
142 void Subdivide(vtkPointData *inPd, vtkCellData *inCd,
vtkIdType cellId,
Abstract class in support of both point location and point insertion.
virtual void InterpolateDerivs(double pcoords[3], double derivs[60])
virtual void InterpolateFunctions(double pcoords[3], double weights[20])
dynamic, self-adjusting array of double
static void InterpolationDerivs(double pcoords[3], double derivs[60])
a simple class to control print indentation
list of point or cell ids
abstract superclass for arrays of numeric data
a cell that represents a linear 3D hexahedron
cell represents a parabolic, isoparametric edge
cell represents a parabolic, 20-node isoparametric hexahedron
static void InterpolationFunctions(double pcoords[3], double weights[20])
vtkDoubleArray * CellScalars
represent and manipulate 3D points