diff --git a/vcg/space/index/space_iterators.h b/vcg/space/index/space_iterators.h index 54b2e012..a37e2d95 100644 --- a/vcg/space/index/space_iterators.h +++ b/vcg/space/index/space_iterators.h @@ -137,17 +137,20 @@ namespace vcg{ Elems.clear(); //CoordType ip; //control if intersect the bounding box of the mesh - if(vcg::Intersection_Ray_Box(Si.bbox,r,start)) - { + if (Si.bbox.IsIn(r.Origin())) + start=r.Origin(); + else + if (!(vcg::Intersection_Ray_Box(Si.bbox,r,start))){ + end=true; + return; + } Si.PToIP(start,CurrentCell); _ControlLimits(); _FindLinePar(); //go to first intersection while ((!End())&& Refresh()) _NextCell(); - } - else - end=true; + } bool End()