-private:
- /// Load Naming data structure of the feature to the document
- void loadNamingDS(GeomAlgoAPI_Prism& thePrismAlgo,
- std::shared_ptr<ModelAPI_ResultBody> theResultBody,
- std::shared_ptr<GeomAPI_Shape> theBasis);
+protected:
+ /// Generates extrusions.
+ /// \param[out] theBaseShapes list of base shapes.
+ /// \param[out] theBoundaryShapes list of faces limiting the extrusion
+ /// \param[out] theMakeShapes list of according algos.
+ /// \return false in case one of algo failed.
+ bool makeExtrusions(ListOfShape& theBaseShapes,
+ ListOfShape& theBoundaryShapes,
+ ListOfMakeShape& theMakeShapes);
+
+ /// Stores result of generation.
+ void storeResultWithBoundaries(const GeomShapePtr theBaseShape,
+ const ListOfShape& theBoundaryShapes,
+ const std::shared_ptr<GeomAlgoAPI_MakeShape> theMakeShape,
+ const int theIndex = 0);
+
+ /// Retrieve direction argument.
+ void getDirection(std::shared_ptr<GeomAPI_Dir>& theDir);
+
+ /// Retrieve or calculate prism sizes.
+ virtual void getSizes(double& theToSize, double& theFromSize);