- GeomAlgoAPI_MakeShape::generated(theShape, theHistory);
-
- //if(myIsPipeShellUsed) {
- // GeomAlgoAPI_MakeShape::generated(theShape, theHistory);
- // return;
- //}
-
- //BRepOffsetAPI_MakePipe* aMakePipe = implPtr<BRepOffsetAPI_MakePipe>();
- //const TopoDS_Shape& aProfile = theShape->impl<TopoDS_Shape>();
- //const TopAbs_ShapeEnum aProfileShapeType = aProfile.ShapeType();
- //if(aProfileShapeType != TopAbs_VERTEX && aProfileShapeType != TopAbs_EDGE) {
- // return;
- //}
- //const TopoDS_Shape& aBaseShape = myBaseShape->impl<TopoDS_Shape>();
- //TopExp_Explorer anExp(aBaseShape, aProfileShapeType);
- //Standard_Boolean ahasShape = Standard_False;
- //for(; anExp.More(); anExp.Next()) {
- // if(anExp.Current().IsSame(aProfile)) {
- // ahasShape = Standard_True;
- // break;
- // }
- //}
- //if(!ahasShape) {
- // return;
- //}
- //TopExp_Explorer aShapeExplorer(myPathShape->impl<TopoDS_Shape>(), TopAbs_EDGE);
- //for(; aShapeExplorer.More(); aShapeExplorer.Next ()) {
- // const TopoDS_Shape& aSpine = aShapeExplorer.Current();
- // const TopoDS_Shape& aGeneratedShape = aMakePipe->Generated(aSpine, aProfile);
- // if(aGeneratedShape.IsNull()) {
- // continue;
- // }
- // std::shared_ptr<GeomAPI_Shape> aShape(new GeomAPI_Shape());
- // aShape->setImpl(new TopoDS_Shape(aGeneratedShape));
- // theHistory.push_back(aShape);
- //}
+ if (myMovedPath.isBound(theShape))
+ GeomAlgoAPI_MakeShape::generated(myMovedPath.find(theShape), theHistory);
+ else
+ GeomAlgoAPI_MakeShape::generated(theShape, theHistory);