From: kgv Date: Mon, 10 Sep 2018 13:13:42 +0000 (+0300) Subject: 0030120: Draw Harness - fixshape command does not heal missing 3D curves X-Git-Url: http://git.dev.opencascade.org/gitweb/?a=commitdiff_plain;h=cdc3736aa68e9945b6bed03471730ae6d9971778;p=occt-copy.git 0030120: Draw Harness - fixshape command does not heal missing 3D curves --- diff --git a/src/SWDRAW/SWDRAW_ShapeFix.cxx b/src/SWDRAW/SWDRAW_ShapeFix.cxx index 9ede795a60..b0088cb5d7 100644 --- a/src/SWDRAW/SWDRAW_ShapeFix.cxx +++ b/src/SWDRAW/SWDRAW_ShapeFix.cxx @@ -401,11 +401,22 @@ static Standard_Integer reface (Draw_Interpretor& di, Standard_Integer argc, con //function : fixshape //purpose : //======================================================================= - +#include static Standard_Integer fixshape (Draw_Interpretor& di, Standard_Integer argc, const char** argv) { + TopoDS_Shape aShF = DBRep::Get (argv[1]); + Handle(ShapeFix_Edge) anEdgeFixer = new ShapeFix_Edge(); + for (TopExp_Explorer anEdgeIter (aShF, TopAbs_EDGE); anEdgeIter.More(); anEdgeIter.Next()) + { + TopoDS_Edge anEdge = TopoDS::Edge (anEdgeIter.Current()); + anEdgeFixer->FixAddCurve3d (anEdge); + } +return 0; + Handle(ShapeExtend_MsgRegistrator) msg = new ShapeExtend_MsgRegistrator; Handle(ShapeFix_Shape) sfs = new ShapeFix_Shape; +sfs->FixWireTool()->FixAddCurve3dMode() = 1; /// +sfs->FixFreeWireMode() = 1; /// sfs->SetMsgRegistrator ( msg ); Standard_CString res = 0;