Index: src/OrientedBoxTreeTool.cpp =================================================================== --- src/OrientedBoxTreeTool.cpp (revision 3740) +++ src/OrientedBoxTreeTool.cpp (working copy) @@ -950,6 +950,14 @@ void RayIntersectSets::add_intersection( double t, EntityHandle facet ) { + // If minTolInt is less than zero, return all intersections + if (minTolInt < 0 && t > -tol) { + intersections.push_back(t); + sets.push_back(lastSet); + facets.push_back(facet); + return; + } + // Check if the 'len' pointer is pointing into the intersection // list. If this is the case, then the list contains, at that // location, an intersection greater than the tolerance away from Index: src/moab/OrientedBoxTreeTool.hpp =================================================================== --- src/moab/OrientedBoxTreeTool.hpp (revision 3740) +++ src/moab/OrientedBoxTreeTool.hpp (working copy) @@ -233,6 +233,9 @@ * ray start point is less than this number, the next closest * intersection. If the desired result is only the closest * intersection, pass zero for this argument. + * This function will return all intersections, regardless + * of distance from the start of the ray, if this value + * is negative. *\param tolerance The tolerance to use in intersection checks. *\param ray_point The base point of the ray. *\param unit_ray_dir The ray direction vector (must be unit length)