+ TopoDS_Shape aShapeArg_copy;
+ TopoDS_Shape aPlaneArg_copy;
+ {
+ TNaming_CopyShape::CopyTool(aShapeArg, aMapTShapes, aShapeArg_copy);
+ //BRepBuilderAPI_Copy aCopyTool (aShapeArg);
+ //if (aCopyTool.IsDone())
+ // aShapeArg_copy = aCopyTool.Shape();
+ //else
+ // Standard_NullObject::Raise("Bad shape detected");
+ //
+ // fill aCopyMap for history
+ TopTools_IndexedMapOfShape aShapeArg_inds;
+ TopTools_IndexedMapOfShape aShapeArg_copy_inds;
+ TopExp::MapShapes(aShapeArg, aShapeArg_inds);
+ TopExp::MapShapes(aShapeArg_copy, aShapeArg_copy_inds);
+ Standard_Integer nbInds = aShapeArg_inds.Extent();
+ for (Standard_Integer ie = 1; ie <= nbInds; ie++) {
+ aCopyMap.Bind(aShapeArg_inds.FindKey(ie), aShapeArg_copy_inds.FindKey(ie));
+ }
+ }
+ {
+ TNaming_CopyShape::CopyTool(aPlaneArg, aMapTShapes, aPlaneArg_copy);
+ //BRepBuilderAPI_Copy aCopyTool (aPlaneArg);
+ //if (aCopyTool.IsDone())
+ // aPlaneArg_copy = aCopyTool.Shape();
+ //else
+ // Standard_NullObject::Raise("Bad shape detected");
+ //
+ // fill aCopyMap for history
+ TopTools_IndexedMapOfShape aPlaneArg_inds;
+ TopTools_IndexedMapOfShape aPlaneArg_copy_inds;
+ TopExp::MapShapes(aPlaneArg, aPlaneArg_inds);
+ TopExp::MapShapes(aPlaneArg_copy, aPlaneArg_copy_inds);
+ Standard_Integer nbInds = aPlaneArg_inds.Extent();
+ for (Standard_Integer ie = 1; ie <= nbInds; ie++) {
+ aCopyMap.Bind(aPlaneArg_inds.FindKey(ie), aPlaneArg_copy_inds.FindKey(ie));
+ }
+ }
+