37 #ifndef __vtkPentagonalPrism_h
38 #define __vtkPentagonalPrism_h
40 #include "vtkCommonDataModelModule.h"
41 #include "vtkCell3D.h"
53 void PrintSelf(ostream& os, vtkIndent indent);
57 virtual void GetEdgePoints(
int edgeId,
int* &pts);
58 virtual void GetFacePoints(
int faceId,
int* &pts);
67 vtkCell *GetEdge(
int edgeId);
68 vtkCell *GetFace(
int faceId);
69 int CellBoundary(
int subId,
double pcoords[3], vtkIdList *pts);
72 int EvaluatePosition(
double x[3],
double* closestPoint,
73 int& subId,
double pcoords[3],
74 double& dist2,
double *weights);
75 void EvaluateLocation(
int& subId,
double pcoords[3],
double x[3],
77 int IntersectWithLine(
double p1[3],
double p2[3],
double tol,
double& t,
78 double x[3],
double pcoords[3],
int& subId);
79 int Triangulate(
int index, vtkIdList *ptIds, vtkPoints *pts);
80 void Derivatives(
int subId,
double pcoords[3],
double *values,
81 int dim,
double *derivs);
82 double *GetParametricCoords();
85 int GetParametricCenter(
double pcoords[3]);
89 static void InterpolationFunctions(
double pcoords[3],
double weights[10]);
92 static void InterpolationDerivs(
double pcoords[3],
double derivs[30]);
109 static int *GetEdgeArray(
int edgeId);
110 static int *GetFaceArray(
int faceId);
116 void JacobianInverse(
double pcoords[3],
double **inverse,
double derivs[30]);
135 pcoords[0] = pcoords[1] = 0.5;
static void InterpolationDerivs(double pcoords[3], double derivs[30])
virtual void InterpolateDerivs(double pcoords[3], double derivs[30])
a 3D cell that represents a prism with pentagonal base
int GetParametricCenter(double pcoords[3])
static void InterpolationFunctions(double pcoords[3], double weights[10])
a cell that represents a triangle
virtual void InterpolateFunctions(double pcoords[3], double weights[10])