+ virtual GEOM::GEOM_BaseObject_ptr GetObject(const char* theEntry);
+
+ private:
+ SALOMEDS::SComponent_var findOrCreateComponent();
+
+ GEOM::ListOfGO* RestoreSubShapes (GEOM::GEOM_Object_ptr theObject,
+ SALOMEDS::SObject_ptr theSObject,
+ const GEOM::ListOfGO& theArgs,
+ GEOM::find_shape_method theFindMethod,
+ CORBA::Boolean theInheritFirstArg,
+ CORBA::Boolean theAddPrefix);
+
+ GEOM::ListOfGO* RestoreSubShapesOneLevel (SALOMEDS::SObject_ptr theOldSO,
+ SALOMEDS::SObject_ptr theNewSO,
+ GEOM::GEOM_Object_ptr theNewO,
+ GEOM::ListOfGO& theOutArgs,
+ GEOM::find_shape_method theFindMethod,
+ CORBA::Boolean theAddPrefix);
+
+ GEOM::ListOfGO* RestoreGivenSubShapes (GEOM::GEOM_Object_ptr theObject,
+ SALOMEDS::SObject_ptr theSObject,
+ const GEOM::ListOfGO& theArgs,
+ GEOM::find_shape_method theFindMethod,
+ CORBA::Boolean theInheritFirstArg,
+ CORBA::Boolean theAddPrefix);
+
+ GEOM::ListOfGO* RestoreGivenSubShapesOneLevel (SALOMEDS::SObject_ptr theOldSO,
+ SALOMEDS::SObject_ptr theNewSO,
+ GEOM::GEOM_Object_ptr theNewO,
+ std::set<std::string> theArgs,
+ GEOM::find_shape_method theFindMethod,
+ CORBA::Boolean theAddPrefix);
+
+ // auxilary for PublishNamedShapesInStudy
+ void CreateAndPublishGroup(GEOM::GEOM_Object_var theMainShape,
+ const TopTools_IndexedMapOfShape& anIndices,
+ const TopTools_SequenceOfShape& SeqS,
+ const TColStd_SequenceOfAsciiString& SeqN,
+ const Standard_CString& GrName,
+ GEOM::ListOfGO_var aResList);
+
+ void getUpwardDependency( GEOM::GEOM_BaseObject_ptr gbo,
+ GEOMUtils::LevelsList &upLevelList,
+ std::map< std::string, std::set<std::string> > &passedEntries,
+ int level = 0 );
+
+ void getDownwardDependency( GEOM::GEOM_BaseObject_ptr gbo,
+ GEOMUtils::LevelsList &downLevelList,
+ 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(const std::string& aSelectedEntry,
+ std::set<std::string>& aSelected,
+ std::set<std::string>& aParents,
+ std::set<std::string>& aChildren,
+ std::set<std::string>& anOthers);
+
+ void LoadPlugin(const std::string& theLibName);
+
+
+ virtual void BreakLink(const char*) {}