From 9b1d4e7fbedf104579ddfcf7c05ea8b308e89b7a Mon Sep 17 00:00:00 2001 From: aml Date: Sat, 27 Jan 2018 11:20:27 +0300 Subject: [PATCH] 0028176: Draw Harness - "reshape" command usage is not properly documented Help message is corrected for "reshape" command. Command implementation is corrected according OCCT coding rules. --- src/SWDRAW/SWDRAW_ShapeUpgrade.cxx | 74 ++++++++++++++++-------------- 1 file changed, 40 insertions(+), 34 deletions(-) diff --git a/src/SWDRAW/SWDRAW_ShapeUpgrade.cxx b/src/SWDRAW/SWDRAW_ShapeUpgrade.cxx index 82ad8b20fd..523c617396 100644 --- a/src/SWDRAW/SWDRAW_ShapeUpgrade.cxx +++ b/src/SWDRAW/SWDRAW_ShapeUpgrade.cxx @@ -1443,84 +1443,89 @@ static Standard_Integer copytranslate(Draw_Interpretor& di, } -Standard_Integer reshape(Draw_Interpretor& di, - Standard_Integer n, - const char** a) +static Standard_Integer reshape(Draw_Interpretor& /*theDI*/, + Standard_Integer theArgc, + const char** theArgv) { - if ( n < 3 ) + if ( theArgc < 4 ) { - di << "Error: wrong number of arguments. Type 'help " << a[0] << "'\n"; + cout << "Error: wrong number of arguments. Type 'help " << theArgv[0] << "'\n"; return 1; } - TopoDS_Shape source = DBRep::Get(a[2]); - if ( source.IsNull() ) + TopoDS_Shape aSource = DBRep::Get(theArgv[2]); + if ( aSource.IsNull() ) { - di << "Error: source shape ('" << a[2] << "') is null\n"; + cout << "Error: source shape ('" << theArgv[2] << "') is null\n"; return 1; } - Handle(BRepTools_ReShape) ReShaper = new BRepTools_ReShape; + Handle(BRepTools_ReShape) aReShaper = new BRepTools_ReShape; // Record the requested modifications - for ( Standard_Integer i = 1; i < n; ++i ) + for ( Standard_Integer i = 3; i < theArgc; ++i ) { - Standard_CString arg = a[i]; - TCollection_AsciiString opt(arg); - opt.LowerCase(); + Standard_CString anArg = theArgv[i]; + TCollection_AsciiString anOpt(anArg); + anOpt.LowerCase(); - if ( opt == "-replace" ) + if ( anOpt == "-replace" ) { - if ( n - i < 3 ) + if ( theArgc - i < 3 ) { - di << "Error: not enough arguments for replacement\n"; + cout << "Error: not enough arguments for replacement\n"; return 1; } - TopoDS_Shape what = DBRep::Get(a[++i]); - if ( what.IsNull() ) + TopoDS_Shape aWhat = DBRep::Get(theArgv[++i]); + if ( aWhat.IsNull() ) { - di << "Error: argument shape ('" << a[i] << "') is null\n"; + cout << "Error: argument shape ('" << theArgv[i] << "') is null\n"; return 1; } - TopoDS_Shape with = DBRep::Get(a[++i]); - if ( with.IsNull() ) + TopoDS_Shape aWith = DBRep::Get(theArgv[++i]); + if ( aWith.IsNull() ) { - di << "Error: replacement shape ('" << a[i] << "') is null\n"; + cout << "Error: replacement shape ('" << theArgv[i] << "') is null\n"; return 1; } - ReShaper->Replace(what, with); + aReShaper->Replace(aWhat, aWith); } - else if ( opt == "-remove" ) + else if ( anOpt == "-remove" ) { - if ( n - i < 2 ) + if ( theArgc - i < 2 ) { - di << "Error: not enough arguments for removal\n"; + cout << "Error: not enough arguments for removal\n"; return 1; } - TopoDS_Shape what = DBRep::Get(a[++i]); - if ( what.IsNull() ) + TopoDS_Shape aWhat = DBRep::Get(theArgv[++i]); + if ( aWhat.IsNull() ) { - di << "Error: shape to remove ('" << a[i] << "') is null\n"; + cout << "Error: shape to remove ('" << theArgv[i] << "') is null\n"; return 1; } - ReShaper->Remove(what); + aReShaper->Remove(aWhat); + } + else + { + cout << "Error: invalid syntax at " << anOpt << "\n" ; + return 1; } } // Apply all the recorded modifications - TopoDS_Shape result = ReShaper->Apply(source); - if ( result.IsNull() ) + TopoDS_Shape aResult = aReShaper->Apply(aSource); + if ( aResult.IsNull() ) { - di << "Error: result shape is null\n"; + cout << "Error: result shape is null\n"; return 1; } - DBRep::Set(a[1], result); + DBRep::Set(theArgv[1], aResult); return 0; } @@ -1641,6 +1646,7 @@ Standard_Integer reshape(Draw_Interpretor& di, theCommands.Add ("copytranslate","result shape dx dy dz",__FILE__,copytranslate,g); theCommands.Add ("reshape", + "\n reshape : result shape [-replace what with] [-remove what]" "\n Basic utility for topological modification: " "\n '-replace what with' Replaces 'what' sub-shape with 'with' sub-shape" "\n '-remove what' Removes 'what' sub-shape" -- 2.20.1