36 #ifndef __vtkHexahedron_h
37 #define __vtkHexahedron_h
39 #include "vtkCommonDataModelModule.h"
64 vtkCell *GetEdge(
int edgeId);
65 vtkCell *GetFace(
int faceId);
66 int CellBoundary(
int subId,
double pcoords[3],
vtkIdList *pts);
69 vtkCellArray *lines, vtkCellArray *polys,
70 vtkPointData *inPd, vtkPointData *outPd,
71 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],
79 int IntersectWithLine(
double p1[3],
double p2[3],
double tol,
double& t,
80 double x[3],
double pcoords[3],
int& subId);
82 void Derivatives(
int subId,
double pcoords[3],
double *values,
83 int dim,
double *derivs);
84 virtual double *GetParametricCoords();
88 static void InterpolationFunctions(
double pcoords[3],
double weights[8]);
91 static void InterpolationDerivs(
double pcoords[3],
double derivs[24]);
108 static int *GetEdgeArray(
int edgeId);
109 static int *GetFaceArray(
int faceId);
115 void JacobianInverse(
double pcoords[3],
double **inverse,
double derivs[24]);
virtual void InterpolateFunctions(double pcoords[3], double weights[8])
Abstract class in support of both point location and point insertion.
a cell that represents a 2D quadrilateral
abstract class to specify 3D cell interface
cell represents a 1D line
static void InterpolationFunctions(double pcoords[3], double weights[8])
virtual void Contour(double value, vtkDataArray *cellScalars, vtkIncrementalPointLocator *locator, vtkCellArray *verts, vtkCellArray *lines, vtkCellArray *polys, vtkPointData *inPd, vtkPointData *outPd, vtkCellData *inCd, vtkIdType cellId, vtkCellData *outCd)
a simple class to control print indentation
list of point or cell ids
abstract superclass for arrays of numeric data
virtual void GetFacePoints(int faceId, int *&pts)=0
void PrintSelf(ostream &os, vtkIndent indent)
a cell that represents a linear 3D hexahedron
virtual void InterpolateDerivs(double pcoords[3], double derivs[24])
virtual void GetEdgePoints(int edgeId, int *&pts)=0
static void InterpolationDerivs(double pcoords[3], double derivs[24])
represent and manipulate 3D points