Go to the documentation of this file.
65 int& subId,
double pcoords[3],
66 double& dist2,
double *
weights);
71 int dim,
double *derivs);
113 double x[3],
double pcoords[3],
int& subId);
125 static void TriangleCenter(
double p1[3],
double p2[3],
double p3[3],
131 static double TriangleArea(
double p1[3],
double p2[3],
double p3[3]);
155 double x3[2],
double bcoords[3]);
164 double v1[2],
double v2[2],
double v3[2]);
175 static void ComputeNormal(
double v1[3],
double v2[3],
double v3[3],
double n[3]);
180 static void ComputeNormalDirection(
double v1[3],
double v2[3],
double v3[3],
191 double x2[3],
double x3[3],
200 double quadric[4][4]);
220 pcoords[0] = pcoords[1] = 1./3; pcoords[2] = 0.0;
226 double v3[3],
double n[3])
228 double ax, ay, az, bx,
by,
bz;
231 ax =
v3[0] -
v2[0]; ay =
v3[1] -
v2[1]; az =
v3[2] -
v2[2];
234 n[0] = (ay *
bz - az *
by);
235 n[1] = (az * bx - ax *
bz);
236 n[2] = (ax *
by - ay * bx);
241 double v3[3],
double n[3])
247 if ( (
length = sqrt((
n[0]*
n[0] +
n[1]*
n[1] +
n[2]*
n[2]))) != 0.0 )
257 double p3[3],
double center[3])
259 center[0] = (p1[0]+p2[0]+p3[0]) / 3.0;
260 center[1] = (p1[1]+p2[1]+p3[1]) / 3.0;
261 center[2] = (p1[2]+p2[2]+p3[2]) / 3.0;
271 return (0.25* sqrt(fabs(4.0*
a*
c - (
a-
b+
c)*(
a-
b+
c))));
represent and manipulate 3D points
GLfloat GLfloat GLfloat GLfloat v3
static int BarycentricCoords(double x[2], double x1[2], double x2[2], double x3[2], double bcoords[3])
GLfloat GLfloat GLfloat v2
int * GetEdgeArray(int edgeId)
static float Distance2BetweenPoints(const float x[3], const float y[3])
GLboolean GLboolean GLboolean b
represent and manipulate point attribute data
static double TriangleArea(double p1[3], double p2[3], double p3[3])
static void InterpolationDerivs(double pcoords[3], double derivs[6])
static vtkTriangle * New()
static void ComputeNormal(vtkPoints *p, int numPts, vtkIdType *pts, double n[3])
int IntersectWithLine(double p1[3], double p2[3], double tol, double &t, double x[3], double pcoords[3], int &subId)
#define vtkTypeMacro(thisClass, superclass)
static int PointInTriangle(double x[3], double x1[3], double x2[3], double x3[3], double tol2)
int EvaluatePosition(double x[3], double *closestPoint, int &subId, double pcoords[3], double &dist2, double *weights)
GLint GLint GLint GLint GLint x
abstract superclass for arrays of numeric data
virtual double * GetParametricCoords()
GLuint GLsizei GLsizei * length
virtual void InterpolateDerivs(double pcoords[3], double derivs[6])
void Clip(double value, vtkDataArray *cellScalars, vtkIncrementalPointLocator *locator, vtkCellArray *polys, vtkPointData *inPd, vtkPointData *outPd, vtkCellData *inCd, vtkIdType cellId, vtkCellData *outCd, int insideOut)
evaluate implicit quadric function
cell represents a 1D line
static int ProjectTo2D(double x1[3], double x2[3], double x3[3], double v1[2], double v2[2], double v3[2])
virtual void InterpolateFunctions(double pcoords[3], double sf[3])
void Derivatives(int subId, double pcoords[3], double *values, int dim, double *derivs)
GLsizei const GLfloat * value
static void ComputeNormalDirection(double v1[3], double v2[3], double v3[3], double n[3])
void PrintSelf(ostream &os, vtkIndent indent)
GLboolean GLenum GLenum GLvoid * values
static void ComputeQuadric(double x1[3], double x2[3], double x3[3], vtkQuadric *quadric)
static double Circumcircle(double p1[2], double p2[2], double p3[2], double center[2])
void EvaluateLocation(int &subId, double pcoords[3], double x[3], double *weights)
double GetParametricDistance(double pcoords[3])
abstract class to specify cell behavior
represent and manipulate cell attribute data
a simple class to control print indentation
object to represent cell connectivity
Abstract class in support of both point location and point insertion.
list of point or cell ids
void Contour(double value, vtkDataArray *cellScalars, vtkIncrementalPointLocator *locator, vtkCellArray *verts, vtkCellArray *lines, vtkCellArray *polys, vtkPointData *inPd, vtkPointData *outPd, vtkCellData *inCd, vtkIdType cellId, vtkCellData *outCd)
static void InterpolationFunctions(double pcoords[3], double sf[3])
a cell that represents a triangle
GLboolean GLboolean GLboolean GLboolean a
static void TriangleCenter(double p1[3], double p2[3], double p3[3], double center[3])
static void ComputeQuadric(double x1[3], double x2[3], double x3[3], double quadric[4][4])
virtual int GetParametricCenter(double pcoords[3])
#define VTKCOMMONDATAMODEL_EXPORT
int Triangulate(int index, vtkIdList *ptIds, vtkPoints *pts)
vtkCell * GetEdge(int edgeId)
int GetParametricCenter(double pcoords[3])
int CellBoundary(int subId, double pcoords[3], vtkIdList *pts)