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=648b1d2f5966c2339de3322bc8ad592ef80e3c46;hp=fa533f8539ee7126397da81ca9371947a73cd9c9;hb=f016bdf914220827ec8f9a7048bc78fc3fb8c299;hpb=6e11711875a44f73be05523f67828d6491ff6c18 diff --git a/src/SMESH_I/SMESH_Gen_i.hxx b/src/SMESH_I/SMESH_Gen_i.hxx index fa533f853..648b1d2f5 100644 --- a/src/SMESH_I/SMESH_Gen_i.hxx +++ b/src/SMESH_I/SMESH_Gen_i.hxx @@ -1,4 +1,4 @@ -// Copyright (C) 2007-2020 CEA/DEN, EDF R&D, OPEN CASCADE +// Copyright (C) 2007-2021 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 @@ -35,6 +35,7 @@ #include CORBA_CLIENT_HEADER(GEOM_Gen) #include CORBA_CLIENT_HEADER(SALOMEDS) #include CORBA_CLIENT_HEADER(SALOMEDS_Attributes) +#include CORBA_CLIENT_HEADER(SALOME_ModuleCatalog) #include "SMESH_Gen.hxx" #include "SMESH_Mesh_i.hxx" @@ -45,6 +46,7 @@ #include #include +#include #include #include @@ -93,9 +95,7 @@ private: // =========================================================== // SMESH module's engine // ========================================================== -class SMESH_I_EXPORT SMESH_Gen_i: - public virtual POA_SMESH::SMESH_Gen, - public virtual Engines_Component_i +class SMESH_I_EXPORT SMESH_Gen_i : public POA_SMESH::SMESH_Gen, public Engines_Component_i { public: // Get last created instance of the class @@ -104,21 +104,30 @@ public: static CORBA::ORB_var GetORB() { return myOrb;} // Get SMESH module's POA object static PortableServer::POA_var GetPOA() { return myPoa;} + // Set Naming Service object + static void SetNS(SALOME_NamingService_Abstract *ns); // Get Naming Service object - static SALOME_NamingService* GetNS(); + static SALOME_NamingService_Abstract* GetNS(); // Get SALOME_LifeCycleCORBA object static SALOME_LifeCycleCORBA* GetLCC(); // Retrieve and get GEOM engine reference - static GEOM::GEOM_Gen_var GetGeomEngine( bool isShaper ); static GEOM::GEOM_Gen_var GetGeomEngine( GEOM::GEOM_Object_ptr ); + // Retrieve Study depending on Session / Standalone mode + virtual GEOM::GEOM_Gen_var GetGeomEngine( bool isShaper ) = 0; + SALOMEDS::Study_var getStudyServant() const { return this->getStudyServantVirtual(); } + virtual SALOMEDS::Study_var getStudyServantVirtual() const = 0 ; + virtual SALOME_ModuleCatalog::ModuleCatalog_var getModuleCatalog() const = 0; + SALOMEDS::SObject_ptr publish(CORBA::Object_ptr theIOR, + SALOMEDS::SObject_ptr theFatherObject, + const int theTag = 0, + const char* thePixMap = 0, + const bool theSelectable = true); // Get object of the CORBA reference static PortableServer::ServantBase_var GetServant( CORBA::Object_ptr theObject ); // 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( CORBA::Object_ptr theObject ); - // Get the SALOMEDS::Study from naming service - static SALOMEDS::Study_var getStudyServant(); + SALOMEDS::SObject_ptr ObjectToSObject( CORBA::Object_ptr theObject ); // Get GEOM Object corresponding to TopoDS_Shape static GEOM::GEOM_Object_ptr ShapeToGeomObject( const TopoDS_Shape& theShape ); // Get TopoDS_Shape corresponding to GEOM_Object @@ -133,7 +142,8 @@ public: PortableServer::POA_ptr poa, PortableServer::ObjectId* contId, const char* instanceName, - const char* interfaceName ); + const char* interfaceName, + bool checkNS = true); // Destructor virtual ~SMESH_Gen_i(); @@ -285,7 +295,7 @@ public: * returns statistic of mesh elements * Result array of number enityties */ - SMESH::long_array* Evaluate(SMESH::SMESH_Mesh_ptr theMesh, + SMESH::smIdType_array* Evaluate(SMESH::SMESH_Mesh_ptr theMesh, GEOM::GEOM_Object_ptr theShapeObject); // Returns true if mesh contains enough data to be computed @@ -321,12 +331,12 @@ public: // Return geometrical object the given element is built on. Publish it in study. GEOM::GEOM_Object_ptr GetGeometryByMeshElement( SMESH::SMESH_Mesh_ptr theMesh, - CORBA::Long theElementID, + SMESH::smIdType theElementID, const char* theGeomName); // Return geometrical object the given element is built on. Don't publish it in study. GEOM::GEOM_Object_ptr FindGeometryByMeshElement( SMESH::SMESH_Mesh_ptr theMesh, - CORBA::Long theElementID); + SMESH::smIdType theElementID); // Concatenate the given meshes into one mesh SMESH::SMESH_Mesh_ptr ConcatenateCommon(const SMESH::ListOfIDSources& meshesArray, @@ -468,8 +478,11 @@ public: void CleanPythonTrace(); - static int CountInPyDump(const TCollection_AsciiString& text); + int CountInPyDump(const TCollection_AsciiString& text); + SMESH::MG_ADAPT_ptr CreateMG_ADAPT(); + SMESH::MG_ADAPT_ptr CreateAdaptationHypothesis(); + SMESH::MG_ADAPT_OBJECT_ptr Adaptation( const char* adaptationType); // ***************************************** // Internal methods @@ -523,12 +536,12 @@ public: SMESH::SMESH_Hypothesis_ptr theHyp); SALOMEDS::SObject_ptr GetMeshOrSubmeshByShape (SMESH::SMESH_Mesh_ptr theMesh, GEOM::GEOM_Object_ptr theShape); - static void SetName(SALOMEDS::SObject_ptr theSObject, - const char* theName, - const char* theDefaultName = 0); + void SetName(SALOMEDS::SObject_ptr theSObject, + const char* theName, + const char* theDefaultName = 0); - static void SetPixMap(SALOMEDS::SObject_ptr theSObject, - const char* thePixMap); + void SetPixMap(SALOMEDS::SObject_ptr theSObject, const char *thePixMap); + void addReference (SALOMEDS::SObject_ptr theSObject, CORBA::Object_ptr theToObject, int theTag = 0); // Get study context StudyContext* GetStudyContext(); @@ -638,11 +651,12 @@ private: const TopoDS_Shape& Shape, double* Tolerance = NULL); -private: +protected: static GEOM::GEOM_Gen_var myGeomGen; + static SALOME_NamingService_Abstract* myNS; // Naming Service +private: static CORBA::ORB_var myOrb; // ORB reference static PortableServer::POA_var myPoa; // POA reference - static SALOME_NamingService* myNS; // Naming Service static SALOME_LifeCycleCORBA* myLCC; // Life Cycle CORBA static SMESH_Gen_i* mySMESHGen; // Point to last created instance of the class ::SMESH_Gen myGen; // SMESH_Gen local implementation