From a425f3ade1a68b18f26c1d97593fe58dc9835af7 Mon Sep 17 00:00:00 2001 From: mzernova Date: Wed, 31 Jul 2024 16:20:55 +0100 Subject: [PATCH] # Check circles nb --- src/StdSelect/StdSelect_BRepSelectionTool.cxx | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/src/StdSelect/StdSelect_BRepSelectionTool.cxx b/src/StdSelect/StdSelect_BRepSelectionTool.cxx index 8c2ee29620..423eab2775 100644 --- a/src/StdSelect/StdSelect_BRepSelectionTool.cxx +++ b/src/StdSelect/StdSelect_BRepSelectionTool.cxx @@ -61,7 +61,6 @@ #include #include #include -#include #define BVH_PRIMITIVE_LIMIT 800000 @@ -639,7 +638,7 @@ Standard_Boolean StdSelect_BRepSelectionTool::GetSensitiveForFace (const TopoDS_ else if (Handle(Geom_ConicalSurface) aGeomCone = Handle(Geom_ConicalSurface)::DownCast (aSurf)) { NCollection_Sequence aCircles = getCylinderCircles (theFace); - if (aCircles.Size() > 0) + if (aCircles.Size() > 0 && aCircles.Size() < 3) { const gp_Cone aCone = BRepAdaptor_Surface (theFace).Cone(); @@ -663,7 +662,7 @@ Standard_Boolean StdSelect_BRepSelectionTool::GetSensitiveForFace (const TopoDS_ const gp_Circ& aLargerCircle = (aFirstCircle.Radius() > aLastCircle.Radius()) ? aFirstCircle : aLastCircle; aRad1 = aSmallerCircle.Radius(); aRad2 = aLargerCircle.Radius(); - aTrsf.SetTranslationPart(aSmallerCircle.Location().XYZ()); + aTrsf.SetTranslationPart (aSmallerCircle.Location().XYZ()); } Handle(Select3D_SensitiveCylinder) aSensSCyl = new Select3D_SensitiveCylinder (theOwner, aRad1, aRad2, aHeight, aTrsf, true);