X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FFeaturesPlugin%2FFeaturesPlugin_Revolution.cpp;h=7716583e1c436bcf655226ae02e640c524c7eab2;hb=c8759835f4eabfde25497d8b6189dda62dba78e8;hp=26cd5fe0be67b565d59433c8eb3688bc8dd2c088;hpb=b6be33d3af5a10e204e3bd69708d49b8b9f1a127;p=modules%2Fshaper.git diff --git a/src/FeaturesPlugin/FeaturesPlugin_Revolution.cpp b/src/FeaturesPlugin/FeaturesPlugin_Revolution.cpp index 26cd5fe0b..7716583e1 100644 --- a/src/FeaturesPlugin/FeaturesPlugin_Revolution.cpp +++ b/src/FeaturesPlugin/FeaturesPlugin_Revolution.cpp @@ -65,12 +65,12 @@ void FeaturesPlugin_Revolution::execute() std::shared_ptr anEdge; std::shared_ptr anObjRef = selection(AXIS_OBJECT_ID()); if(anObjRef && anObjRef->value() && anObjRef->value()->isEdge()) { - anEdge = std::make_shared(anObjRef->value()); + anEdge = std::shared_ptr(new GeomAPI_Edge(anObjRef->value())); } else if(anObjRef->context() && anObjRef->context()->shape() && anObjRef->context()->shape()->isEdge()) { - anEdge = std::make_shared(anObjRef->context()->shape()); + anEdge = std::shared_ptr(new GeomAPI_Edge(anObjRef->context()->shape())); } if(anEdge) { - anAxis = std::make_shared(anEdge->line()->location(), anEdge->line()->direction()); + anAxis = std::shared_ptr(new GeomAPI_Ax1(anEdge->line()->location(), anEdge->line()->direction())); } // Getting angles. @@ -179,18 +179,15 @@ void FeaturesPlugin_Revolution::LoadNamingDS(GeomAlgoAPI_Revolution& theFeature, std::shared_ptr theBasis, std::shared_ptr theContext) { - //load result - ModelAPI_BodyBuilder* aResultBuilder = theResultBody->getBodyBuilder(); - if(theBasis->isEqual(theContext)) - aResultBuilder->store(theFeature.shape()); + theResultBody->store(theFeature.shape()); else - aResultBuilder->storeGenerated(theContext, theFeature.shape()); + theResultBody->storeGenerated(theContext, theFeature.shape()); std::shared_ptr aSubShapes = theFeature.mapOfShapes(); std::string aGeneratedName = "LateralFace"; - aResultBuilder->loadAndOrientGeneratedShapes(theFeature.makeShape().get(), theBasis, EDGE,_LATERAL_TAG, aGeneratedName, *aSubShapes); + theResultBody->loadAndOrientGeneratedShapes(theFeature.makeShape().get(), theBasis, EDGE,_LATERAL_TAG, aGeneratedName, *aSubShapes); //Insert from face std::string aBotName = "FromFace"; @@ -199,7 +196,7 @@ void FeaturesPlugin_Revolution::LoadNamingDS(GeomAlgoAPI_Revolution& theFeature, if(aSubShapes->isBound(aBottomFace)) { aBottomFace = aSubShapes->find(aBottomFace); } - aResultBuilder->generated(aBottomFace, aBotName, _FROM_TAG); + theResultBody->generated(aBottomFace, aBotName, _FROM_TAG); } //Insert to face @@ -209,7 +206,7 @@ void FeaturesPlugin_Revolution::LoadNamingDS(GeomAlgoAPI_Revolution& theFeature, if (aSubShapes->isBound(aTopFace)) { aTopFace = aSubShapes->find(aTopFace); } - aResultBuilder->generated(aTopFace, aTopName, _TO_TAG); + theResultBody->generated(aTopFace, aTopName, _TO_TAG); } }