diff --git a/src/osgUtil/IntersectVisitor.cpp b/src/osgUtil/IntersectVisitor.cpp index ad1f63ac1..fda3fd8f9 100644 --- a/src/osgUtil/IntersectVisitor.cpp +++ b/src/osgUtil/IntersectVisitor.cpp @@ -419,25 +419,20 @@ struct TriangleIntersect if (ds310.0f) r3 = ds12/d312; + else if (d312!=0.0f) r3 = ds12/d312; else return; // the triangle and the line must be parallel intersection. float r1; if (ds23==0.0f) r1=0.0f; - else if (d123>0.0f) r1 = ds23/d123; + else if (d123!=0.0f) r1 = ds23/d123; else return; // the triangle and the line must be parallel intersection. float r2; if (ds31==0.0f) r2=0.0f; - else if (d231>0.0f) r2 = ds31/d231; + else if (d231!=0.0f) r2 = ds31/d231; else return; // the triangle and the line must be parallel intersection. float total_r = (r1+r2+r3);