From 5a44311151012e177b756dc892824f2584c55890 Mon Sep 17 00:00:00 2001 From: vro Date: Wed, 11 Jun 2014 12:19:44 +0400 Subject: [PATCH] 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. --- src/Select3D/Select3D_SensitiveTriangulation.cxx | 3 +++ 1 file changed, 3 insertions(+) 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; -- 2.39.5