Salome HOME
2.17. Improved management of overconstraint situation: Processing added arguments...
[modules/shaper.git] / src / FeaturesPlugin / FeaturesPlugin_RevolutionSketch.cpp
index 454e658bad0d66d7ddf5d4bb517b754e143e622c..1835080571091bc69b137f06003ac72c3cfdc90f 100644 (file)
@@ -4,7 +4,7 @@
 // Created:     11 September 2015
 // Author:      Dmitry Bobylev
 
-#include <FeaturesPlugin_RevolutionSketch.h>
+#include "FeaturesPlugin_RevolutionSketch.h"
 
 #include <ModelAPI_AttributeDouble.h>
 #include <ModelAPI_AttributeSelection.h>
@@ -43,11 +43,7 @@ void FeaturesPlugin_RevolutionSketch::initMakeSolidsAttributes()
 
 //=================================================================================================
 void FeaturesPlugin_RevolutionSketch::makeSolid(const std::shared_ptr<GeomAPI_Shape> theFace,
-                                                std::shared_ptr<GeomAPI_Shape>& theResult,
-                                                ListOfShape& theFromFaces,
-                                                ListOfShape& theToFaces,
-                                                std::shared_ptr<GeomAlgoAPI_MakeShape>& theMakeShape,
-                                                std::shared_ptr<GeomAPI_DataMapOfShapeShape>& theDataMap)
+                                                std::shared_ptr<GeomAlgoAPI_MakeShape>& theMakeShape)
 {
   //Getting axis.
   std::shared_ptr<GeomAPI_Ax1> anAxis;
@@ -96,17 +92,13 @@ void FeaturesPlugin_RevolutionSketch::makeSolid(const std::shared_ptr<GeomAPI_Sh
   }
 
   // Revol face
-  GeomAlgoAPI_Revolution aRevolAlgo(theFace, anAxis, aToShape, aToAngle, aFromShape, aFromAngle);
+  std::shared_ptr<GeomAlgoAPI_Revolution> aRevolAlgo(new GeomAlgoAPI_Revolution(theFace, anAxis, aToShape, aToAngle, aFromShape, aFromAngle));
 
   // Checking that the algorithm worked properly.
-  if(!aRevolAlgo.isDone() || !aRevolAlgo.shape().get() || aRevolAlgo.shape()->isNull() ||
-     !aRevolAlgo.isValid()) {
+  if(!aRevolAlgo->isDone() || !aRevolAlgo->shape().get() || aRevolAlgo->shape()->isNull() ||
+     !aRevolAlgo->isValid()) {
     return;
   }
 
-  theResult = aRevolAlgo.shape();
-  theFromFaces = aRevolAlgo.fromFaces();
-  theToFaces = aRevolAlgo.toFaces();
-  theMakeShape = aRevolAlgo.makeShape();
-  theDataMap = aRevolAlgo.mapOfShapes();
+  theMakeShape = aRevolAlgo;
 }