55 #ifndef __vtkOBBTree_h
56 #define __vtkOBBTree_h
58 #include "vtkFiltersGeneralModule.h"
77 void DebugPrintTree(
int level,
double *leaf_vol,
int *minCells,
106 double a0[3],
double a1[3],
double tol,
107 double& t,
double x[3],
double pcoords[3],
111 IntersectWithLine(a0, a1, tol,t, x, pcoords, subId);
118 double a0[3],
double a1[3],
double tol,
119 double& t,
double x[3],
double pcoords[3],
123 IntersectWithLine(a0, a1, tol,t, x, pcoords, subId, cellId);
145 double& t,
double x[3],
double pcoords[3],
160 double x[3],
double closestPoint[3],
161 vtkIdType &cellId,
int &subId,
double& dist2)
164 FindClosestPoint(x, closestPoint, cellId, subId, dist2);
171 double x[3],
double closestPoint[3],
173 int &subId,
double& dist2)
176 FindClosestPoint(x, closestPoint, cell, cellId, subId, dist2);
183 double x[3],
double radius,
184 double closestPoint[3],
vtkIdType &cellId,
185 int &subId,
double& dist2)
187 return Superclass::FindClosestPointWithinRadius
188 (x, radius, closestPoint, cellId, subId, dist2);
195 double x[3],
double radius,
196 double closestPoint[3],
198 int &subId,
double& dist2)
200 return Superclass::FindClosestPointWithinRadius
201 (x, radius, closestPoint, cell, cellId, subId, dist2);
208 double x[3],
double radius,
double closestPoint[3],
210 int &subId,
double& dist2,
int &inside)
212 return Superclass::FindClosestPointWithinRadius
213 (x, radius, closestPoint, cell, cellId, subId, dist2, inside);
221 static void ComputeOBB(
vtkPoints *pts,
double corner[3],
double max[3],
222 double mid[3],
double min[3],
double size[3]);
230 void ComputeOBB(
vtkDataSet *input,
double corner[3],
double max[3],
231 double mid[3],
double min[3],
double size[3]);
238 int InsideOrOutside(
const double point[3]);
250 int LineIntersectsNode(
vtkOBBNode *pA,
double b0[3],
double b1[3] );
255 double p0[3],
double p1[3],
295 void ComputeOBB(
vtkIdList *cells,
double corner[3],
double max[3],
296 double mid[3],
double min[3],
double size[3]);