77 int& subId,
double pcoords[3],
78 double& dist2,
double *weights);
82 double x[3],
double pcoords[3],
int& subId);
84 void Derivatives(
int subId,
double pcoords[3],
double *values,
85 int dim,
double *derivs);
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])
represent and manipulate point attribute data
static void InterpolationFunctions(double pcoords[3], double weights[4])
virtual double * GetParametricCoords()
represent and manipulate cell attribute data
virtual void InterpolateDerivs(double pcoords[3], double derivs[12])
Abstract class in support of both point location and point insertion.
virtual int Triangulate(int index, vtkIdList *ptIds, vtkPoints *pts)=0
int GetParametricCenter(double pcoords[3])
virtual void EvaluateLocation(int &subId, double pcoords[3], double x[3], double *weights)=0
virtual int EvaluatePosition(double x[3], double *closestPoint, int &subId, double pcoords[3], double &dist2, double *weights)=0
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
abstract class to specify cell behavior
virtual double GetParametricDistance(double pcoords[3])
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
virtual void Derivatives(int subId, double pcoords[3], double *values, int dim, double *derivs)=0
dataset represents arbitrary combinations of all possible cell types
abstract superclass for arrays of numeric data
virtual int IntersectWithLine(double p1[3], double p2[3], double tol, double &t, double x[3], double pcoords[3], int &subId)=0
virtual void InterpolateFunctions(double pcoords[3], double weights[4])
virtual void GetFacePoints(int faceId, int *&pts)=0
void PrintSelf(ostream &os, vtkIndent indent)
virtual vtkCell * GetFace(int faceId)=0
object to represent cell connectivity
virtual vtkCell * GetEdge(int edgeId)=0
a cell that represents a triangle
virtual int CellBoundary(int subId, double pcoords[3], vtkIdList *pts)=0
virtual int GetParametricCenter(double pcoords[3])
virtual void GetEdgePoints(int edgeId, int *&pts)=0
#define VTKCOMMONDATAMODEL_EXPORT
represent and manipulate 3D points