Salome HOME
Fix regression in unit tests
[modules/shaper.git] / src / FeaturesPlugin / FeaturesPlugin_ExtrusionSketch.cpp
index 682ea60ac214877e7cbfeb8beca0fbdafcd49329..7854fc2511b306dc287c3b99188e5027697d0ab5 100644 (file)
@@ -39,11 +39,7 @@ void FeaturesPlugin_ExtrusionSketch::initMakeSolidsAttributes()
 
 //=================================================================================================
 void FeaturesPlugin_ExtrusionSketch::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 extrusion sizes.
   double aToSize = 0.0;
@@ -79,17 +75,13 @@ void FeaturesPlugin_ExtrusionSketch::makeSolid(const std::shared_ptr<GeomAPI_Sha
   }
 
   // Extrude face
-  GeomAlgoAPI_Prism aPrismAlgo(theFace, aToShape, aToSize, aFromShape, aFromSize);
+  std::shared_ptr<GeomAlgoAPI_Prism> aPrismAlgo(new GeomAlgoAPI_Prism(theFace, aToShape, aToSize, aFromShape, aFromSize));
 
   // Checking that the algorithm worked properly.
-  if(!aPrismAlgo.isDone() || !aPrismAlgo.shape().get() || aPrismAlgo.shape()->isNull() ||
-     !aPrismAlgo.isValid()) {
+  if(!aPrismAlgo->isDone() || !aPrismAlgo->shape().get() || aPrismAlgo->shape()->isNull() ||
+     !aPrismAlgo->isValid()) {
     return;
   }
 
-  theResult = aPrismAlgo.shape();
-  theFromFaces = aPrismAlgo.fromFaces();
-  theToFaces = aPrismAlgo.toFaces();
-  theMakeShape = aPrismAlgo.makeShape();
-  theDataMap = aPrismAlgo.mapOfShapes();
+  theMakeShape = aPrismAlgo;
 }