40 #ifndef __vtkBiQuadraticTriangle_h
41 #define __vtkBiQuadraticTriangle_h
43 #include "vtkCommonDataModelModule.h"
44 #include "vtkNonLinearCell.h"
46 class vtkQuadraticEdge;
55 void PrintSelf(ostream& os,
vtkIndent indent);
64 vtkCell *GetEdge(
int edgeId);
68 int CellBoundary(
int subId,
double pcoords[3],
vtkIdList *pts);
70 vtkIncrementalPointLocator *locator, vtkCellArray *verts,
71 vtkCellArray *lines, vtkCellArray *polys,
72 vtkPointData *inPd, vtkPointData *outPd,
73 vtkCellData *inCd,
vtkIdType cellId, vtkCellData *outCd);
74 int EvaluatePosition(
double x[3],
double* closestPoint,
75 int& subId,
double pcoords[3],
76 double& dist2,
double *weights);
77 void EvaluateLocation(
int& subId,
double pcoords[3],
double x[3],
80 void Derivatives(
int subId,
double pcoords[3],
double *values,
81 int dim,
double *derivs);
82 virtual double *GetParametricCoords();
89 vtkIncrementalPointLocator *locator, vtkCellArray *polys,
90 vtkPointData *inPd, vtkPointData *outPd,
91 vtkCellData *inCd,
vtkIdType cellId, vtkCellData *outCd,
98 int IntersectWithLine(
double p1[3],
double p2[3],
double tol,
double& t,
99 double x[3],
double pcoords[3],
int& subId);
105 int GetParametricCenter(
double pcoords[3]);
109 double GetParametricDistance(
double pcoords[3]);
113 static void InterpolationFunctions(
double pcoords[3],
double weights[7]);
116 static void InterpolationDerivs(
double pcoords[3],
double derivs[14]);
145 pcoords[0] = pcoords[1] = 1./3;
virtual void InterpolateDerivs(double pcoords[3], double derivs[14])
int GetParametricCenter(double pcoords[3])
static void InterpolationDerivs(double pcoords[3], double derivs[14])
dynamic, self-adjusting array of double
a simple class to control print indentation
static void InterpolationFunctions(double pcoords[3], double weights[7])
list of point or cell ids
abstract superclass for arrays of numeric data
cell represents a parabolic, isoparametric triangle
virtual void InterpolateFunctions(double pcoords[3], double weights[7])
represent and manipulate 3D points