Salome HOME
Merge remote-tracking branch 'remotes/origin/master' into azv/SketchSolver_Refactoring
[modules/shaper.git] / src / SketchSolver / PlaneGCSSolver / PlaneGCSSolver_EntityDestroyer.h
1 // Copyright (C) 2017-20xx CEA/DEN, EDF R&D
2
3 // File:    PlaneGCSSolver_EntityDestroyer.h
4 // Created: 10 Feb 2017
5 // Author:  Artem ZHIDKOV
6
7 #ifndef PlaneGCSSolver_EntityDestroyer_H_
8 #define PlaneGCSSolver_EntityDestroyer_H_
9
10 #include <PlaneGCSSolver_Defs.h>
11 #include <PlaneGCSSolver_Storage.h>
12
13 /** \class   PlaneGCSSolver_EntityDestroyer
14  *  \ingroup Plugins
15  *  \brief   Collect entities of PlaneGCS solver which should be removed
16  */
17 class PlaneGCSSolver_EntityDestroyer
18 {
19 public:
20   PlaneGCSSolver_EntityDestroyer() {}
21
22   /// \brief Add entity to remove. Its parameters are stored for further remove from the storage.
23   void remove(const EntityWrapperPtr& theEntity);
24
25   /// \brief Return parameters to remove
26   const GCS::SET_pD& parametersToRemove()
27   { return myParams; }
28
29 private:
30   GCS::SET_pD myParams; ///< set of parameters to be removed
31   GCS::SET_pD myParamsOutOfStorage; ///< set of parameters not kept in the storage
32 };
33
34 #endif