X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FFeaturesPlugin%2FFeaturesPlugin_Tools.h;fp=src%2FFeaturesPlugin%2FFeaturesPlugin_Tools.h;h=22b269b045e915f24d6ad7f94b5766b3ba53f923;hb=a276c3f6288ffcd67f1dab8323d7e4666a1aded7;hp=02a0b5e454b95a2b09a778e0ec165c77398b7805;hpb=84615e2e0c6c8df070e877727d25ef7db02f1cf8;p=modules%2Fshaper.git diff --git a/src/FeaturesPlugin/FeaturesPlugin_Tools.h b/src/FeaturesPlugin/FeaturesPlugin_Tools.h index 02a0b5e45..22b269b04 100644 --- a/src/FeaturesPlugin/FeaturesPlugin_Tools.h +++ b/src/FeaturesPlugin/FeaturesPlugin_Tools.h @@ -21,20 +21,42 @@ #ifndef FeaturesPlugin_Tools_H_ #define FeaturesPlugin_Tools_H_ -#include +#include +#include -class ModelAPI_ResultBody; +#include class FeaturesPlugin_Tools { public: - static void storeModifiedShapes(GeomAlgoAPI_MakeShape& theAlgo, - std::shared_ptr theResultBody, - std::shared_ptr theBaseShape, - const int theFaceTag, - const int theEdgeTag, - const int theVertexTag, - const std::string theName, - GeomAPI_DataMapOfShapeShape& theSubShapes); + struct ResultBaseAlgo { + ResultBodyPtr resultBody; + GeomShapePtr baseShape; + GeomMakeShapePtr makeShape; + }; + +public: + static void loadModifiedShapes(ResultBodyPtr theResultBody, + const GeomShapePtr theBaseShape, + const ListOfShape& theTools, + const GeomMakeShapePtr& theMakeShape, + const GeomShapePtr theResultShape); + + static void loadModifiedShapes(ResultBodyPtr theResultBody, + const GeomShapePtr theBaseShape, + const GeomMakeShapePtr& theMakeShape, + const std::string theName); + + /// Stores deleted shapes. + static void loadDeletedShapes(ResultBodyPtr theResultBody, + const GeomShapePtr theBaseShape, + const ListOfShape& theTools, + const GeomMakeShapePtr& theMakeShape, + const GeomShapePtr theResultShapesCompound); + + /// Stores deleted shapes. + static void loadDeletedShapes(std::vector& theResultBaseAlgoList, + const ListOfShape& theTools, + const GeomShapePtr theResultShapesCompound); }; #endif /* FeaturesPlugin_Tools_H_ */