37 #ifndef __vtkHexagonalPrism_h
38 #define __vtkHexagonalPrism_h
40 #include "vtkCell3D.h"
51 void PrintSelf(ostream& os,
vtkIndent indent);
55 virtual void GetEdgePoints(
int edgeId,
int* &pts);
56 virtual void GetFacePoints(
int faceId,
int* &pts);
65 vtkCell *GetEdge(
int edgeId);
66 vtkCell *GetFace(
int faceId);
67 int CellBoundary(
int subId,
double pcoords[3],
vtkIdList *pts);
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],
75 int IntersectWithLine(
double p1[3],
double p2[3],
double tol,
double& t,
76 double x[3],
double pcoords[3],
int& subId);
78 void Derivatives(
int subId,
double pcoords[3],
double *values,
79 int dim,
double *derivs);
80 double *GetParametricCoords();
83 int GetParametricCenter(
double pcoords[3]);
88 static void InterpolationFunctions(
double pcoords[3],
double weights[12]);
91 static void InterpolationDerivs(
double pcoords[3],
double derivs[36]);
108 static int *GetEdgeArray(
int edgeId);
109 static int *GetFaceArray(
int faceId);
115 void JacobianInverse(
double pcoords[3],
double **inverse,
double derivs[36]);
133 pcoords[0] = pcoords[1] = 0.5;
static void InterpolationDerivs(double pcoords[3], double derivs[36])
static void InterpolationFunctions(double pcoords[3], double weights[12])
a 3D cell that represents a prism with hexagonal base
a simple class to control print indentation
list of point or cell ids
virtual void InterpolateFunctions(double pcoords[3], double weights[12])
int GetParametricCenter(double pcoords[3])
virtual void InterpolateDerivs(double pcoords[3], double derivs[36])
represent and manipulate 3D points