30 #include "vtkCommonDataModelModule.h"
34 class VTKCOMMONDATAMODEL_EXPORT
vtkLine :
public vtkCell
39 void PrintSelf(ostream& os,
vtkIndent indent);
49 int CellBoundary(
int subId,
double pcoords[3],
vtkIdList *pts);
52 vtkCellArray *lines, vtkCellArray *polys,
53 vtkPointData *inPd, vtkPointData *outPd,
54 vtkCellData *inCd,
vtkIdType cellId, vtkCellData *outCd);
55 int EvaluatePosition(
double x[3],
double* closestPoint,
56 int& subId,
double pcoords[3],
57 double& dist2,
double *weights);
58 void EvaluateLocation(
int& subId,
double pcoords[3],
double x[3],
61 void Derivatives(
int subId,
double pcoords[3],
double *values,
62 int dim,
double *derivs);
63 virtual double *GetParametricCoords();
71 vtkPointData *inPd, vtkPointData *outPd,
72 vtkCellData *inCd,
vtkIdType cellId, vtkCellData *outCd,
77 int GetParametricCenter(
double pcoords[3]);
82 int IntersectWithLine(
double p1[3],
double p2[3],
double tol,
double& t,
83 double x[3],
double pcoords[3],
int& subId);
93 static int Intersection(
double p1[3],
double p2[3],
94 double x1[3],
double x2[3],
95 double& u,
double& v);
106 static double DistanceToLine(
double x[3],
double p1[3],
double p2[3],
107 double &t,
double closestPoint[3]);
114 static double DistanceToLine(
double x[3],
double p1[3],
double p2[3]);
123 static double DistanceBetweenLines(
124 double l0[3],
double l1[3],
125 double m0[3],
double m1[3],
126 double closestPt1[3],
double closestPt2[3],
127 double &t1,
double &t2 );
137 static double DistanceBetweenLineSegments(
138 double l0[3],
double l1[3],
139 double m0[3],
double m1[3],
140 double closestPt1[3],
double closestPt2[3],
141 double &t1,
double &t2 );
145 static void InterpolationFunctions(
double pcoords[3],
double weights[2]);
147 static void InterpolationDerivs(
double pcoords[3],
double derivs[2]);
167 void operator=(
const vtkLine&);
174 pcoords[1] = pcoords[2] = 0.0;
virtual void InterpolateDerivs(double pcoords[3], double derivs[2])
Abstract class in support of both point location and point insertion.
static void InterpolationFunctions(double pcoords[3], double weights[2])
static void InterpolationDerivs(double pcoords[3], double derivs[2])
cell represents a 1D line
a simple class to control print indentation
list of point or cell ids
abstract superclass for arrays of numeric data
virtual void InterpolateFunctions(double pcoords[3], double weights[2])
int GetParametricCenter(double pcoords[3])
represent and manipulate 3D points