From 88de941d1bbcb26da04c6af2e4fceacbbd6c08ac Mon Sep 17 00:00:00 2001 From: wmayer Date: Thu, 3 Dec 2020 14:52:13 +0100 Subject: [PATCH] Part: [skip ci] for Part::Torus primitive use TopoShape::makeTorus --- src/Mod/Part/App/PrimitiveFeature.cpp | 33 +++++---------------------- 1 file changed, 6 insertions(+), 27 deletions(-) diff --git a/src/Mod/Part/App/PrimitiveFeature.cpp b/src/Mod/Part/App/PrimitiveFeature.cpp index ba05cca1d3..4841f871f6 100644 --- a/src/Mod/Part/App/PrimitiveFeature.cpp +++ b/src/Mod/Part/App/PrimitiveFeature.cpp @@ -30,7 +30,6 @@ # include # include # include -# include # include # include # include @@ -775,34 +774,14 @@ App::DocumentObjectExecReturn *Torus::execute(void) if (Radius2.getValue() < Precision::Confusion()) return new App::DocumentObjectExecReturn("Radius of torus too small"); try { -#if 1 - // Build a torus - gp_Circ circle; - circle.SetRadius(Radius2.getValue()); - gp_Pnt pos(Radius1.getValue(),0,0); - gp_Dir dir(0,1,0); - circle.SetAxis(gp_Ax1(pos, dir)); - - BRepBuilderAPI_MakeEdge mkEdge(circle, Base::toRadians(Angle1.getValue()+180.0f), - Base::toRadians(Angle2.getValue()+180.0f)); - BRepBuilderAPI_MakeWire mkWire; - mkWire.Add(mkEdge.Edge()); - BRepBuilderAPI_MakeFace mkFace(mkWire.Wire()); - BRepPrimAPI_MakeRevol mkRevol(mkFace.Face(), gp_Ax1(gp_Pnt(0,0,0), gp_Dir(0,0,1)), - Base::toRadians(Angle3.getValue()), Standard_True); - TopoDS_Shape ResultShape = mkRevol.Shape(); -#else - BRepPrimAPI_MakeTorus mkTorus(Radius1.getValue(), - Radius2.getValue(), - Angle1.getValue()/180.0f*Standard_PI, - Angle2.getValue()/180.0f*Standard_PI, - Angle3.getValue()/180.0f*Standard_PI); - const TopoDS_Solid& ResultShape = mkTorus.Solid(); -#endif - this->Shape.setValue(ResultShape); + TopoShape shape; + this->Shape.setValue(shape.makeTorus(Radius1.getValue(), + Radius2.getValue(), + Angle1.getValue(), + Angle2.getValue(), + Angle3.getValue())); } catch (Standard_Failure& e) { - return new App::DocumentObjectExecReturn(e.GetMessageString()); }