Salome HOME
Merge remote branch 'origin/V7_4_BR'
[modules/geom.git] / src / GEOM_I / GEOM_Gen_i.hh
index 94c0b544aa77ba1fb6a589b38254fb898fd84cc9..5a2c0382b94f9bdb46aabdf5f9c27dd00bb9f5e4 100644 (file)
@@ -324,6 +324,15 @@ class GEOM_I_EXPORT GEOM_Gen_i: virtual public POA_GEOM::GEOM_Gen, virtual publi
   // SIMAN-related functions (check out/check in) : get modified data
   virtual Engines::ListOfData* getModifiedData(CORBA::Long studyId);
 
+  /*! \brief Fills 3 lists that is used to clean study of redundant objects.
+   *         To be used from GUI.
+   */
+  void GetEntriesToReduceStudy(SALOMEDS::Study_ptr theStudy,
+                              GEOM::string_array& theSelectedEntries,
+                              GEOM::string_array& theParentEntries,
+                              GEOM::string_array& theSubEntries,
+                              GEOM::string_array& theOtherEntries);
+
   //-----------------------------------------------------------------------//
   // Internal methods                                                      //
   //-----------------------------------------------------------------------//
@@ -374,14 +383,27 @@ class GEOM_I_EXPORT GEOM_Gen_i: virtual public POA_GEOM::GEOM_Gen, virtual publi
 
   void getUpwardDependency( GEOM::GEOM_BaseObject_ptr gbo, 
                             GEOMUtils::LevelsList &upLevelList,  
-                           std::set<std::string> &passedEntries,
+                           std::map< std::string, std::set<std::string> > &passedEntries,
                             int level = 0 );
 
   void getDownwardDependency( GEOM::GEOM_BaseObject_ptr gbo, 
                               GEOMUtils::LevelsList &downLevelList, 
-                             std::set<std::string> &passedEntries,
+                             std::map< std::string, std::set<std::string> > &passedEntries,
                               int level = 0 );
 
+  void includeParentDependencies(GEOM::GEOM_BaseObject_ptr gbo,
+                                std::set<std::string>& aSelected,
+                                std::set<std::string>& aParents, 
+                                std::set<std::string>& aChildren, 
+                                std::set<std::string>& anOthers);
+
+  void includeSubObjects(SALOMEDS::Study_ptr theStudy,
+                        const std::string& aSelectedEntry,
+                        std::set<std::string>& aSelected,
+                        std::set<std::string>& aParents, 
+                        std::set<std::string>& aChildren, 
+                        std::set<std::string>& anOthers);
+
  private:
 
    ::GEOMImpl_Gen* _impl;