55 #ifndef __vtkOBBTree_h
56 #define __vtkOBBTree_h
76 void DebugPrintTree(
int level,
double *leaf_vol,
int *minCells,
105 double a0[3],
double a1[3],
double tol,
106 double& t,
double x[3],
double pcoords[3],
110 IntersectWithLine(a0, a1, tol,t, x, pcoords, subId);
117 double a0[3],
double a1[3],
double tol,
118 double& t,
double x[3],
double pcoords[3],
122 IntersectWithLine(a0, a1, tol,t, x, pcoords, subId, cellId);
144 double& t,
double x[3],
double pcoords[3],
159 double x[3],
double closestPoint[3],
160 vtkIdType &cellId,
int &subId,
double& dist2)
163 FindClosestPoint(x, closestPoint, cellId, subId, dist2);
170 double x[3],
double closestPoint[3],
172 int &subId,
double& dist2)
175 FindClosestPoint(x, closestPoint, cell, cellId, subId, dist2);
182 double x[3],
double radius,
183 double closestPoint[3],
vtkIdType &cellId,
184 int &subId,
double& dist2)
186 return Superclass::FindClosestPointWithinRadius
187 (x, radius, closestPoint, cellId, subId, dist2);
194 double x[3],
double radius,
195 double closestPoint[3],
197 int &subId,
double& dist2)
199 return Superclass::FindClosestPointWithinRadius
200 (x, radius, closestPoint, cell, cellId, subId, dist2);
207 double x[3],
double radius,
double closestPoint[3],
209 int &subId,
double& dist2,
int &inside)
211 return Superclass::FindClosestPointWithinRadius
212 (x, radius, closestPoint, cell, cellId, subId, dist2, inside);
220 static void ComputeOBB(
vtkPoints *pts,
double corner[3],
double max[3],
221 double mid[3],
double min[3],
double size[3]);
229 void ComputeOBB(
vtkDataSet *input,
double corner[3],
double max[3],
230 double mid[3],
double min[3],
double size[3]);
237 int InsideOrOutside(
const double point[3]);
249 int LineIntersectsNode(
vtkOBBNode *pA,
double b0[3],
double b1[3] );
254 double p0[3],
double p1[3],
294 void ComputeOBB(
vtkIdList *cells,
double corner[3],
double max[3],
295 double mid[3],
double min[3],
double size[3]);