From: vro Date: Wed, 11 Jun 2014 08:19:44 +0000 (+0400) Subject: 0025003: Selection of a face fails if sensitive triangulation is computed with interi... X-Git-Tag: V6_8_0_beta~196 X-Git-Url: http://git.dev.opencascade.org/gitweb/?p=occt.git;a=commitdiff_plain;h=5a44311151012e177b756dc892824f2584c55890;hp=797d11c6f5f14c60023706f105d11e32e233685f 0025003: Selection of a face fails if sensitive triangulation is computed with interior flag = false A check on length is added to avoid manipulation with a vector of null length. --- diff --git a/src/Select3D/Select3D_SensitiveTriangulation.cxx b/src/Select3D/Select3D_SensitiveTriangulation.cxx index 700f138143..70f6cd38e7 100644 --- a/src/Select3D/Select3D_SensitiveTriangulation.cxx +++ b/src/Select3D/Select3D_SensitiveTriangulation.cxx @@ -59,6 +59,9 @@ static Standard_Boolean S3D_STriangul_NearSegment (const gp_XY& p0, const gp_XY& gp_XY V01(p1);V01-=p0; gp_XY Vec(TheP);Vec -= p0; + if (V01.SquareModulus() < Precision::SquareConfusion()) + return Standard_False; + Standard_Real u = Vec*V01.Normalized(); if(u<-aTol) return Standard_False; Standard_Real u1 = u-aTol;