X-Git-Url: http://git.salome-platform.org/gitweb/?p=modules%2Fsmesh.git;a=blobdiff_plain;f=src%2FSMESH_I%2FSMESH_Gen_i.hxx;h=21f55355e872ef23cfced32efb58fe5750dc2458;hp=1cc0ae4aa44d5172994d06c617c222c5d1064b1a;hb=8d297d6698f361d4f2dde723050bcfbaea050920;hpb=b7a7d49664daa32e1befb558280e13ed0bde37c9 diff --git a/src/SMESH_I/SMESH_Gen_i.hxx b/src/SMESH_I/SMESH_Gen_i.hxx index 1cc0ae4aa..21f55355e 100644 --- a/src/SMESH_I/SMESH_Gen_i.hxx +++ b/src/SMESH_I/SMESH_Gen_i.hxx @@ -58,7 +58,7 @@ class SMESH_Mesh_i; class SALOME_LifeCycleCORBA; // =========================================================== -// Study context - stores study-connected objects references +// Study context - store study-connected objects references // ========================================================== class SMESH_I_EXPORT StudyContext { @@ -67,58 +67,24 @@ class SMESH_I_EXPORT StudyContext public: // constructor StudyContext() {} - // register object in the internal map and return its id - int addObject( std::string theIOR ) - { - int nextId = getNextId(); - mapIdToIOR.Bind( nextId, theIOR ); - return nextId; - } + int addObject( const std::string& theIOR ); // find the object id in the internal map by the IOR - int findId( std::string theIOR ) - { - TInt2StringMap::iterator imap; - for ( imap = mapIdToIOR.begin(); imap != mapIdToIOR.end(); ++imap ) { - if ( *imap == theIOR ) - return imap.Iterator().Key(); - } - return 0; - } + int findId( const std::string& theIOR ); // get object's IOR by id - std::string getIORbyId( const int theId ) - { - if ( mapIdToIOR.IsBound( theId ) ) - return mapIdToIOR( theId ); - return std::string(); - } + std::string getIORbyId( const int theId ); // get object's IOR by old id - std::string getIORbyOldId( const int theOldId ) - { - if ( mapIdToId.IsBound( theOldId ) ) - return getIORbyId( mapIdToId( theOldId )); - return std::string(); - } + std::string getIORbyOldId( const int theOldId ); // maps old object id to the new one (used when restoring data) - void mapOldToNew( const int oldId, const int newId ) { - mapIdToId.Bind( oldId, newId ); - } + void mapOldToNew( const int oldId, const int newId ); // get old id by a new one - int getOldId( const int newId ) { - TInt2IntMap::iterator imap; - for ( imap = mapIdToId.begin(); imap != mapIdToId.end(); ++imap ) { - if ( *imap == newId ) - return imap.Iterator().Key(); - } - return 0; - } + int getOldId( const int newId ); + // clear data + void Clear(); private: // get next free object identifier - int getNextId() - { - return mapIdToIOR.Extent() + 1; - } + int getNextId() { return mapIdToIOR.Extent() + 1; } TInt2StringMap mapIdToIOR; // persistent-to-transient map TInt2IntMap mapIdToId; // to translate object from persistent to transient form @@ -151,7 +117,7 @@ public: // Get the SALOMEDS::SObject corresponding to a CORBA object static SALOMEDS::SObject_ptr ObjectToSObject(CORBA::Object_ptr theObject); // Get the SALOMEDS::Study from naming service - static SALOMEDS::Study_ptr getStudyServant(); + static SALOMEDS::Study_var getStudyServant(); // Get GEOM Object corresponding to TopoDS_Shape GEOM::GEOM_Object_ptr ShapeToGeomObject (const TopoDS_Shape& theShape ); // Get TopoDS_Shape corresponding to GEOM_Object @@ -384,9 +350,12 @@ public: // Get MED version of the file by its name char* GetMEDVersion(const char* theFileName); - // Check compatibility of file with MED format being used. + // Check compatibility of file with MED format being used, read only. CORBA::Boolean CheckCompatibility(const char* theFileName); + // Check compatibility of file with MED format being used, for append on write. + CORBA::Boolean CheckWriteCompatibility(const char* theFileName); + // Get names of meshes defined in file with the specified name SMESH::string_array* GetMeshNames(const char* theFileName); @@ -534,6 +503,7 @@ public: SMESH::SMESH_GroupBase_ptr theGroup, GEOM::GEOM_Object_ptr theShapeObject, const char* theName = 0); + void UpdateIcons(SMESH::SMESH_Mesh_ptr theMesh); bool AddHypothesisToShape(SMESH::SMESH_Mesh_ptr theMesh, GEOM::GEOM_Object_ptr theShapeObject, SMESH::SMESH_Hypothesis_ptr theHyp);