43 #ifndef __vtkBiQuadraticQuadraticWedge_h
44 #define __vtkBiQuadraticQuadraticWedge_h
46 #include "vtkCommonDataModelModule.h"
47 #include "vtkNonLinearCell.h"
49 class vtkQuadraticEdge;
50 class vtkBiQuadraticQuad;
51 class vtkQuadraticTriangle;
60 void PrintSelf (ostream & os,
vtkIndent indent);
65 int GetCellType () {
return VTK_BIQUADRATIC_QUADRATIC_WEDGE; }
69 vtkCell *GetEdge (
int edgeId);
70 vtkCell *GetFace (
int faceId);
73 int CellBoundary (
int subId,
double pcoords[3],
vtkIdList * pts);
75 vtkIncrementalPointLocator * locator, vtkCellArray * verts,
76 vtkCellArray * lines, vtkCellArray * polys,
77 vtkPointData * inPd, vtkPointData * outPd, vtkCellData * inCd,
79 int EvaluatePosition (
double x[3],
double *closestPoint,
80 int &subId,
double pcoords[3],
double &dist2,
double *weights);
81 void EvaluateLocation (
int &subId,
double pcoords[3],
double x[3],
84 void Derivatives (
int subId,
double pcoords[3],
double *values,
int dim,
86 virtual double *GetParametricCoords ();
93 vtkIncrementalPointLocator * locator, vtkCellArray * tetras,
94 vtkPointData * inPd, vtkPointData * outPd,
95 vtkCellData * inCd,
vtkIdType cellId, vtkCellData * outCd,
102 int IntersectWithLine (
double p1[3],
double p2[3],
double tol,
double &t,
103 double x[3],
double pcoords[3],
int &subId);
108 int GetParametricCenter (
double pcoords[3]);
112 static void InterpolationFunctions (
double pcoords[3],
double weights[15]);
115 static void InterpolationDerivs (
double pcoords[3],
double derivs[45]);
131 static int *GetEdgeArray(
int edgeId);
132 static int *GetFaceArray(
int faceId);
138 void JacobianInverse (
double pcoords[3],
double **inverse,
double derivs[45]);
158 pcoords[0] = pcoords[1] = 1./3;
virtual void InterpolateFunctions(double pcoords[3], double weights[15])
static void InterpolationDerivs(double pcoords[3], double derivs[45])
cell represents a parabolic, 18-node isoparametric wedge
dynamic, self-adjusting array of double
vtkQuadraticTriangle * TriangleFace
a simple class to control print indentation
list of point or cell ids
abstract superclass for arrays of numeric data
vtkBiQuadraticQuad * Face
static void InterpolationFunctions(double pcoords[3], double weights[15])
virtual void InterpolateDerivs(double pcoords[3], double derivs[45])
int GetParametricCenter(double pcoords[3])
represent and manipulate 3D points