1
0
mirror of https://git.dev.opencascade.org/repos/occt.git synced 2025-08-09 13:22:24 +03:00

0024328: Revolution of a wire generates two interfered faces.

Correct treatment of cones with collinear axes.

Test case for issue CR24328
This commit is contained in:
emv
2013-11-21 13:33:12 +04:00
committed by bugmaster
parent d5af86261d
commit b92a64cc68
3 changed files with 42 additions and 40 deletions

View File

@@ -31,6 +31,7 @@
#include <gp_Cone.hxx>
#include <gp_Sphere.hxx>
#include <gp_Torus.hxx>
#include <gp_Lin.hxx>
//
#include <Geom2d_Curve.hxx>
#include <Geom_Surface.hxx>
@@ -1853,9 +1854,11 @@ Standard_Boolean FindPointInFace(const TopoDS_Edge& aE,
case GeomAbs_Cylinder:
aR = aBAS.Cylinder().Radius();
break;
case GeomAbs_Cone:
aR = aBAS.Cone().RefRadius();
case GeomAbs_Cone: {
gp_Lin aL(aBAS.Cone().Axis());
aR = aL.Distance(aP);
break;
}
case GeomAbs_Sphere:
aR = aBAS.Sphere().Radius();
break;