38 #include "vtkCommonDataModelModule.h"
64 vtkCell *GetEdge(
int edgeId);
65 vtkCell *GetFace(
int faceId);
68 vtkCellArray *lines, vtkCellArray *polys,
69 vtkPointData *inPd, vtkPointData *outPd,
70 vtkCellData *inCd,
vtkIdType cellId, vtkCellData *outCd);
73 vtkPointData *inPd, vtkPointData *outPd,
74 vtkCellData *inCd,
vtkIdType cellId, vtkCellData *outCd,
76 int EvaluatePosition(
double x[3],
double* closestPoint,
77 int& subId,
double pcoords[3],
78 double& dist2,
double *weights);
79 void EvaluateLocation(
int& subId,
double pcoords[3],
double x[3],
81 int IntersectWithLine(
double p1[3],
double p2[3],
double tol,
double& t,
82 double x[3],
double pcoords[3],
int& subId);
84 void Derivatives(
int subId,
double pcoords[3],
double *values,
85 int dim,
double *derivs);
86 virtual double *GetParametricCoords();
92 int CellBoundary(
int subId,
double pcoords[3],
vtkIdList *pts);
95 int GetParametricCenter(
double pcoords[3]);
99 double GetParametricDistance(
double pcoords[3]);
103 static void TetraCenter(
double p1[3],
double p2[3],
double p3[3],
double p4[3],
111 static double Circumsphere(
double p1[3],
double p2[3],
double p3[3],
112 double p4[3],
double center[3]);
119 static double Insphere(
double p1[3],
double p2[3],
double p3[3],
120 double p4[3],
double center[3]);
135 static int BarycentricCoords(
double x[3],
double x1[3],
double x2[3],
136 double x3[3],
double x4[3],
double bcoords[4]);
142 static double ComputeVolume(
double p1[3],
double p2[3],
double p3[3],
149 int JacobianInverse(
double **inverse,
double derivs[12]);
152 static void InterpolationFunctions(
double pcoords[3],
double weights[4]);
154 static void InterpolationDerivs(
double pcoords[3],
double derivs[12]);
171 static int *GetEdgeArray(
int edgeId);
172 static int *GetFaceArray(
int faceId);
189 pcoords[0] = pcoords[1] = pcoords[2] = 0.25;
static void InterpolationDerivs(double pcoords[3], double derivs[12])
static void InterpolationFunctions(double pcoords[3], double weights[4])
virtual void InterpolateDerivs(double pcoords[3], double derivs[12])
Abstract class in support of both point location and point insertion.
int GetParametricCenter(double pcoords[3])
virtual void Clip(double value, vtkDataArray *cellScalars, vtkIncrementalPointLocator *locator, vtkCellArray *connectivity, vtkPointData *inPd, vtkPointData *outPd, vtkCellData *inCd, vtkIdType cellId, vtkCellData *outCd, int insideOut)
abstract class to specify 3D cell interface
a 3D cell that represents a tetrahedron
cell represents a 1D line
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
dataset represents arbitrary combinations of all possible cell types
abstract superclass for arrays of numeric data
virtual void InterpolateFunctions(double pcoords[3], double weights[4])
virtual void GetFacePoints(int faceId, int *&pts)=0
void PrintSelf(ostream &os, vtkIndent indent)
virtual void GetEdgePoints(int edgeId, int *&pts)=0
represent and manipulate 3D points