Salome HOME
projects
/
modules
/
smesh.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
IPAL54401: Offset dialog bug
[modules/smesh.git]
/
src
/
SMESH_I
/
SMESH_Gen_i.hxx
diff --git
a/src/SMESH_I/SMESH_Gen_i.hxx
b/src/SMESH_I/SMESH_Gen_i.hxx
index 7f642720517fc7d3a7018437cd9877102002de74..1cc0ae4aa44d5172994d06c617c222c5d1064b1a 100644
(file)
--- a/
src/SMESH_I/SMESH_Gen_i.hxx
+++ b/
src/SMESH_I/SMESH_Gen_i.hxx
@@
-1,4
+1,4
@@
-// Copyright (C) 2007-201
5
CEA/DEN, EDF R&D, OPEN CASCADE
+// Copyright (C) 2007-201
6
CEA/DEN, EDF R&D, OPEN CASCADE
//
// Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
//
// Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
@@
-49,6
+49,7
@@
#include <TCollection_AsciiString.hxx>
#include <Resource_DataMapOfAsciiStringAsciiString.hxx>
#include <TColStd_HSequenceOfAsciiString.hxx>
#include <TCollection_AsciiString.hxx>
#include <Resource_DataMapOfAsciiStringAsciiString.hxx>
#include <TColStd_HSequenceOfAsciiString.hxx>
+#include <NCollection_DataMap.hxx>
#include <map>
#include <sstream>
#include <map>
#include <sstream>
@@
-61,56
+62,53
@@
class SALOME_LifeCycleCORBA;
// ==========================================================
class SMESH_I_EXPORT StudyContext
{
// ==========================================================
class SMESH_I_EXPORT StudyContext
{
+ typedef NCollection_DataMap< int, std::string > TInt2StringMap;
+ typedef NCollection_DataMap< int, int > TInt2IntMap;
public:
// constructor
StudyContext() {}
public:
// constructor
StudyContext() {}
- // destructor
- ~StudyContext()
- {
- mapIdToIOR.clear();
- mapIdToId.clear();
- }
+
// register object in the internal map and return its id
// register object in the internal map and return its id
- int addObject( string theIOR )
+ int addObject( st
d::st
ring theIOR )
{
int nextId = getNextId();
{
int nextId = getNextId();
- mapIdToIOR
[ nextId ] = theIOR
;
+ mapIdToIOR
.Bind( nextId, theIOR )
;
return nextId;
}
// find the object id in the internal map by the IOR
return nextId;
}
// find the object id in the internal map by the IOR
- int findId( string theIOR )
+ int findId( st
d::st
ring theIOR )
{
{
-
map<int, string>
::iterator imap;
+
TInt2StringMap
::iterator imap;
for ( imap = mapIdToIOR.begin(); imap != mapIdToIOR.end(); ++imap ) {
for ( imap = mapIdToIOR.begin(); imap != mapIdToIOR.end(); ++imap ) {
- if (
imap->second
== theIOR )
- return imap
->first
;
+ if (
*imap
== theIOR )
+ return imap
.Iterator().Key()
;
}
return 0;
}
// get object's IOR by id
}
return 0;
}
// get object's IOR by id
- string getIORbyId( const int theId )
+ st
d::st
ring getIORbyId( const int theId )
{
{
- if ( mapIdToIOR.
find( theId ) != mapIdToIOR.end(
) )
- return mapIdToIOR
[ theId ]
;
- return st
ring( ""
);
+ if ( mapIdToIOR.
IsBound( theId
) )
+ return mapIdToIOR
( theId )
;
+ return st
d::string(
);
}
// get object's IOR by old id
}
// get object's IOR by old id
- string getIORbyOldId( const int theOldId )
+ st
d::st
ring getIORbyOldId( const int theOldId )
{
{
- if ( mapIdToId.
find( theOldId ) != mapIdToId.end(
) )
- return getIORbyId( mapIdToId
[ theOldId ]
);
- return st
ring( ""
);
+ if ( mapIdToId.
IsBound( theOldId
) )
+ return getIORbyId( mapIdToId
( theOldId )
);
+ return st
d::string(
);
}
// maps old object id to the new one (used when restoring data)
void mapOldToNew( const int oldId, const int newId ) {
}
// maps old object id to the new one (used when restoring data)
void mapOldToNew( const int oldId, const int newId ) {
- mapIdToId
[ oldId ] = newId
;
+ mapIdToId
.Bind( oldId, newId )
;
}
// get old id by a new one
int getOldId( const int newId ) {
}
// get old id by a new one
int getOldId( const int newId ) {
-
map<int, int>
::iterator imap;
+
TInt2IntMap
::iterator imap;
for ( imap = mapIdToId.begin(); imap != mapIdToId.end(); ++imap ) {
for ( imap = mapIdToId.begin(); imap != mapIdToId.end(); ++imap ) {
- if (
imap->second
== newId )
- return imap
->first
;
+ if (
*imap
== newId )
+ return imap
.Iterator().Key()
;
}
return 0;
}
}
return 0;
}
@@
-119,14
+117,11
@@
private:
// get next free object identifier
int getNextId()
{
// get next free object identifier
int getNextId()
{
- int id = 1;
- while( mapIdToIOR.find( id ) != mapIdToIOR.end() )
- id++;
- return id;
+ return mapIdToIOR.Extent() + 1;
}
}
-
map<int, string> mapIdToIOR;
// persistent-to-transient map
-
map<int, int> mapIdToId; // used
to translate object from persistent to transient form
+
TInt2StringMap mapIdToIOR;
// persistent-to-transient map
+
TInt2IntMap mapIdToId; //
to translate object from persistent to transient form
};
// ===========================================================
};
// ===========================================================
@@
-154,11
+149,12
@@
public:
// Get CORBA object corresponding to the SALOMEDS::SObject
static CORBA::Object_var SObjectToObject( SALOMEDS::SObject_ptr theSObject );
// Get the SALOMEDS::SObject corresponding to a CORBA object
// Get CORBA object corresponding to the SALOMEDS::SObject
static CORBA::Object_var SObjectToObject( SALOMEDS::SObject_ptr theSObject );
// Get the SALOMEDS::SObject corresponding to a CORBA object
- static SALOMEDS::SObject_ptr ObjectToSObject(SALOMEDS::Study_ptr theStudy,
- CORBA::Object_ptr theObject);
- // Get GEOM Object correspoding to TopoDS_Shape
+ static SALOMEDS::SObject_ptr ObjectToSObject(CORBA::Object_ptr theObject);
+ // Get the SALOMEDS::Study from naming service
+ static SALOMEDS::Study_ptr getStudyServant();
+ // Get GEOM Object corresponding to TopoDS_Shape
GEOM::GEOM_Object_ptr ShapeToGeomObject (const TopoDS_Shape& theShape );
GEOM::GEOM_Object_ptr ShapeToGeomObject (const TopoDS_Shape& theShape );
- // Get TopoDS_Shape correspoding to GEOM_Object
+ // Get TopoDS_Shape correspo
n
ding to GEOM_Object
TopoDS_Shape GeomObjectToShape(GEOM::GEOM_Object_ptr theGeomObject);
// Default constructor
TopoDS_Shape GeomObjectToShape(GEOM::GEOM_Object_ptr theGeomObject);
// Default constructor
@@
-182,15
+178,19
@@
public:
//GEOM::GEOM_Gen_ptr SetGeomEngine( const char* containerLoc );
void SetGeomEngine( GEOM::GEOM_Gen_ptr geomcompo );
//GEOM::GEOM_Gen_ptr SetGeomEngine( const char* containerLoc );
void SetGeomEngine( GEOM::GEOM_Gen_ptr geomcompo );
- // Set
current study
+ // Set
embedded mode
void SetEmbeddedMode( CORBA::Boolean theMode );
void SetEmbeddedMode( CORBA::Boolean theMode );
- //
Get current study
+ //
Check embedded mode
CORBA::Boolean IsEmbeddedMode();
CORBA::Boolean IsEmbeddedMode();
- // Set current study
- void SetCurrentStudy( SALOMEDS::Study_ptr theStudy );
- // Get current study
- SALOMEDS::Study_ptr GetCurrentStudy();
+ // Set enable publishing in the study
+ void SetEnablePublish( CORBA::Boolean theIsEnablePublish );
+
+ // Check enable publishing
+ CORBA::Boolean IsEnablePublish();
+
+ // Update study
+ void UpdateStudy();
// Create hypothesis/algorothm of given type
SMESH::SMESH_Hypothesis_ptr CreateHypothesis (const char* theHypType,
// Create hypothesis/algorothm of given type
SMESH::SMESH_Hypothesis_ptr CreateHypothesis (const char* theHypType,
@@
-323,7
+323,7
@@
public:
SMESH::long_array& theShapesId )
throw ( SALOME::SALOME_Exception );
SMESH::long_array& theShapesId )
throw ( SALOME::SALOME_Exception );
- // Returns errors of hypotheses defini
n
tion
+ // Returns errors of hypotheses definition
SMESH::algo_error_array* GetAlgoState( SMESH::SMESH_Mesh_ptr theMesh,
GEOM::GEOM_Object_ptr theSubObject )
throw ( SALOME::SALOME_Exception );
SMESH::algo_error_array* GetAlgoState( SMESH::SMESH_Mesh_ptr theMesh,
GEOM::GEOM_Object_ptr theSubObject )
throw ( SALOME::SALOME_Exception );
@@
-378,9
+378,14
@@
public:
CORBA::Double mergeTolerance)
throw ( SALOME::SALOME_Exception );
CORBA::Double mergeTolerance)
throw ( SALOME::SALOME_Exception );
+ // Get version of MED format being used.
+ char* GetMEDFileVersion();
+
// Get MED version of the file by its name
// Get MED version of the file by its name
- CORBA::Boolean GetMEDVersion(const char* theFileName,
- SMESH::MED_VERSION& theVersion);
+ char* GetMEDVersion(const char* theFileName);
+
+ // Check compatibility of file with MED format being used.
+ CORBA::Boolean CheckCompatibility(const char* theFileName);
// Get names of meshes defined in file with the specified name
SMESH::string_array* GetMeshNames(const char* theFileName);
// Get names of meshes defined in file with the specified name
SMESH::string_array* GetMeshNames(const char* theFileName);
@@
-437,8
+442,7
@@
public:
// Returns true if object can be published in the study
bool CanPublishInStudy( CORBA::Object_ptr theIOR );
// Publish object in the study
// Returns true if object can be published in the study
bool CanPublishInStudy( CORBA::Object_ptr theIOR );
// Publish object in the study
- SALOMEDS::SObject_ptr PublishInStudy( SALOMEDS::Study_ptr theStudy,
- SALOMEDS::SObject_ptr theSObject,
+ SALOMEDS::SObject_ptr PublishInStudy( SALOMEDS::SObject_ptr theSObject,
CORBA::Object_ptr theObject,
const char* theName )
throw ( SALOME::SALOME_Exception );
CORBA::Object_ptr theObject,
const char* theName )
throw ( SALOME::SALOME_Exception );
@@
-467,19
+471,17
@@
public:
// Dump python
// ============
// Dump python
// ============
- virtual Engines::TMPFile* DumpPython(CORBA::Object_ptr theStudy,
- CORBA::Boolean isPublished,
+ virtual Engines::TMPFile* DumpPython(CORBA::Boolean isPublished,
CORBA::Boolean isMultiFile,
CORBA::Boolean& isValidScript);
CORBA::Boolean isMultiFile,
CORBA::Boolean& isValidScript);
- void AddToPythonScript (
int theStudyID,
const TCollection_AsciiString& theString);
+ void AddToPythonScript (const TCollection_AsciiString& theString);
- void RemoveLastFromPythonScript
(int theStudyID
);
+ void RemoveLastFromPythonScript
(
);
- void SavePython
(SALOMEDS::Study_ptr theStudy
);
+ void SavePython
(
);
- TCollection_AsciiString DumpPython_impl (SALOMEDS::Study_ptr theStudy,
- Resource_DataMapOfAsciiStringAsciiString& theObjectNames,
+ TCollection_AsciiString DumpPython_impl (Resource_DataMapOfAsciiStringAsciiString& theObjectNames,
Resource_DataMapOfAsciiStringAsciiString& theNames,
bool isPublished,
bool isMultiFile,
Resource_DataMapOfAsciiStringAsciiString& theNames,
bool isPublished,
bool isMultiFile,
@@
-487,9
+489,9
@@
public:
bool& aValidScript,
TCollection_AsciiString& theSavedTrace);
bool& aValidScript,
TCollection_AsciiString& theSavedTrace);
- TCollection_AsciiString GetNewPythonLines
(int theStudyID
);
+ TCollection_AsciiString GetNewPythonLines
(
);
- void CleanPythonTrace
(int theStudyID
);
+ void CleanPythonTrace
(
);
// *****************************************
// Internal methods
// *****************************************
// Internal methods
@@
-519,33
+521,26
@@
public:
static long GetBallElementsGroupsTag();
// publishing methods
static long GetBallElementsGroupsTag();
// publishing methods
- SALOMEDS::SComponent_ptr PublishComponent(SALOMEDS::Study_ptr theStudy);
- SALOMEDS::SObject_ptr PublishMesh (SALOMEDS::Study_ptr theStudy,
- SMESH::SMESH_Mesh_ptr theMesh,
+ SALOMEDS::SComponent_ptr PublishComponent();
+ SALOMEDS::SObject_ptr PublishMesh (SMESH::SMESH_Mesh_ptr theMesh,
const char* theName = 0);
const char* theName = 0);
- SALOMEDS::SObject_ptr PublishHypothesis (SALOMEDS::Study_ptr theStudy,
- SMESH::SMESH_Hypothesis_ptr theHyp,
+ SALOMEDS::SObject_ptr PublishHypothesis (SMESH::SMESH_Hypothesis_ptr theHyp,
const char* theName = 0);
const char* theName = 0);
- SALOMEDS::SObject_ptr PublishSubMesh (SALOMEDS::Study_ptr theStudy,
- SMESH::SMESH_Mesh_ptr theMesh,
+ SALOMEDS::SObject_ptr PublishSubMesh (SMESH::SMESH_Mesh_ptr theMesh,
SMESH::SMESH_subMesh_ptr theSubMesh,
GEOM::GEOM_Object_ptr theShapeObject,
const char* theName = 0);
SMESH::SMESH_subMesh_ptr theSubMesh,
GEOM::GEOM_Object_ptr theShapeObject,
const char* theName = 0);
- SALOMEDS::SObject_ptr PublishGroup (SALOMEDS::Study_ptr theStudy,
- SMESH::SMESH_Mesh_ptr theMesh,
+ SALOMEDS::SObject_ptr PublishGroup (SMESH::SMESH_Mesh_ptr theMesh,
SMESH::SMESH_GroupBase_ptr theGroup,
GEOM::GEOM_Object_ptr theShapeObject,
const char* theName = 0);
SMESH::SMESH_GroupBase_ptr theGroup,
GEOM::GEOM_Object_ptr theShapeObject,
const char* theName = 0);
- bool AddHypothesisToShape(SALOMEDS::Study_ptr theStudy,
- SMESH::SMESH_Mesh_ptr theMesh,
+ bool AddHypothesisToShape(SMESH::SMESH_Mesh_ptr theMesh,
GEOM::GEOM_Object_ptr theShapeObject,
SMESH::SMESH_Hypothesis_ptr theHyp);
GEOM::GEOM_Object_ptr theShapeObject,
SMESH::SMESH_Hypothesis_ptr theHyp);
- bool RemoveHypothesisFromShape(SALOMEDS::Study_ptr theStudy,
- SMESH::SMESH_Mesh_ptr theMesh,
+ bool RemoveHypothesisFromShape(SMESH::SMESH_Mesh_ptr theMesh,
GEOM::GEOM_Object_ptr theShapeObject,
SMESH::SMESH_Hypothesis_ptr theHyp);
GEOM::GEOM_Object_ptr theShapeObject,
SMESH::SMESH_Hypothesis_ptr theHyp);
- SALOMEDS::SObject_ptr GetMeshOrSubmeshByShape (SALOMEDS::Study_ptr theStudy,
- SMESH::SMESH_Mesh_ptr theMesh,
+ SALOMEDS::SObject_ptr GetMeshOrSubmeshByShape (SMESH::SMESH_Mesh_ptr theMesh,
GEOM::GEOM_Object_ptr theShape);
static void SetName(SALOMEDS::SObject_ptr theSObject,
const char* theName,
GEOM::GEOM_Object_ptr theShape);
static void SetName(SALOMEDS::SObject_ptr theSObject,
const char* theName,
@@
-555,7
+550,7
@@
public:
const char* thePixMap);
// Get study context
const char* thePixMap);
// Get study context
- StudyContext* Get
Current
StudyContext();
+ StudyContext* GetStudyContext();
// Register an object in a StudyContext; return object id
int RegisterObject(CORBA::Object_ptr theObject);
// Register an object in a StudyContext; return object id
int RegisterObject(CORBA::Object_ptr theObject);
@@
-565,19
+560,16
@@
public:
// Return an object that previously had an oldID
template<class TInterface>
// Return an object that previously had an oldID
template<class TInterface>
- typename TInterface::_var_type GetObjectByOldId( const int oldID )
+
typename TInterface::_var_type GetObjectByOldId( const int oldID )
{
{
- if (
StudyContext* myStudyContext = GetCurrentStudyContext()
) {
- string ior = myStudyContext->getIORbyOldId( oldID );
+ if (
myStudyContext
) {
+ st
d::st
ring ior = myStudyContext->getIORbyOldId( oldID );
if ( !ior.empty() )
return TInterface::_narrow(GetORB()->string_to_object( ior.c_str() ));
}
return TInterface::_nil();
}
if ( !ior.empty() )
return TInterface::_narrow(GetORB()->string_to_object( ior.c_str() ));
}
return TInterface::_nil();
}
- // Get current study ID
- int GetCurrentStudyID();
-
/*!
* \brief Find SObject for an algo
*/
/*!
* \brief Find SObject for an algo
*/
@@
-653,9
+645,6
@@
private:
const char* theCommandNameForPython,
const char* theFileNameForPython);
const char* theCommandNameForPython,
const char* theFileNameForPython);
- void setCurrentStudy( SALOMEDS::Study_ptr theStudy,
- bool theStudyIsBeingClosed=false);
-
std::vector<long> _GetInside(SMESH::SMESH_IDSource_ptr meshPart,
SMESH::ElementType theElemType,
TopoDS_Shape& aShape,
std::vector<long> _GetInside(SMESH::SMESH_IDSource_ptr meshPart,
SMESH::ElementType theElemType,
TopoDS_Shape& aShape,
@@
-671,23
+660,26
@@
private:
::SMESH_Gen myGen; // SMESH_Gen local implementation
// hypotheses managing
::SMESH_Gen myGen; // SMESH_Gen local implementation
// hypotheses managing
- map<string, GenericHypothesisCreator_i*> myHypCreatorMap;
+ std::map<std::string, GenericHypothesisCreator_i*> myHypCreatorMap;
+
+ StudyContext* myStudyContext; // study context
- map<int, StudyContext*> myStudyContextMap; // Map of study context objects
+ GEOM_Client* myShapeReader; // Shape reader
+ CORBA::Boolean myIsEmbeddedMode; // Current mode
+ CORBA::Boolean myIsEnablePublish; // Enable publishing
- GEOM_Client* myShapeReader; // Shape reader
- SALOMEDS::Study_var myCurrentStudy; // Current study
- CORBA::Boolean myIsEmbeddedMode; // Current mode
+ // Default color of groups
+ std::string myDefaultGroupColor;
// To load full mesh data from study at hyp modification or not
bool myToForgetMeshDataOnHypModif;
// Dump Python: trace of API methods calls
// To load full mesh data from study at hyp modification or not
bool myToForgetMeshDataOnHypModif;
// Dump Python: trace of API methods calls
-
std::map < int, Handle(TColStd_HSequenceOfAsciiString) > myPythonScripts
;
- bool
myIsHistoricalPythonDump;
- std::vector< int >
myLastParamIndex;
- std::vector< std::string >
myLastParameters;
- std::string
myLastObj;
+
Handle(TColStd_HSequenceOfAsciiString) myPythonScript
;
+ bool myIsHistoricalPythonDump;
+ std::vector< int > myLastParamIndex;
+ std::vector< std::string > myLastParameters;
+ std::string myLastObj;
};
};