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=403fb7ee5cc25e12c4bc7f57e01a7066cd7b943f;hp=1165ac142fa8c8267f707d0c112d9e6d48aa7e87;hb=7c7b4b0636cbb5fdb2ae67658ec9709be1c58812;hpb=f5016d85b7b4b88623723027a1585c6414c4dc66 diff --git a/src/SMESH_I/SMESH_Gen_i.hxx b/src/SMESH_I/SMESH_Gen_i.hxx index 1165ac142..403fb7ee5 100644 --- a/src/SMESH_I/SMESH_Gen_i.hxx +++ b/src/SMESH_I/SMESH_Gen_i.hxx @@ -1,4 +1,4 @@ -// Copyright (C) 2007-2012 CEA/DEN, EDF R&D, OPEN CASCADE +// Copyright (C) 2007-2013 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 @@ -36,13 +36,15 @@ #include CORBA_CLIENT_HEADER(SALOMEDS) #include CORBA_CLIENT_HEADER(SALOMEDS_Attributes) +#include "SMESH_Gen.hxx" #include "SMESH_Mesh_i.hxx" #include "SMESH_Hypothesis_i.hxx" -#include "SALOME_Component_i.hxx" -#include "SALOME_NamingService.hxx" -#include "SMESH_Gen.hxx" -#include "GEOM_Client.hxx" +#include +#include +#include + +#include #include #include @@ -146,7 +148,7 @@ public: // Get SALOME_LifeCycleCORBA object static SALOME_LifeCycleCORBA* GetLCC(); // Retrieve and get GEOM engine reference - static GEOM::GEOM_Gen_ptr GetGeomEngine(); + static GEOM::GEOM_Gen_var GetGeomEngine(); // Get object of the CORBA reference static PortableServer::ServantBase_var GetServant( CORBA::Object_ptr theObject ); // Get CORBA object corresponding to the SALOMEDS::SObject @@ -263,6 +265,7 @@ public: // Create a mesh and import data from a GMF file SMESH::SMESH_Mesh_ptr CreateMeshesFromGMF( const char* theFileName, + CORBA::Boolean theMakeRequiredGroups, SMESH::ComputeError_out theError) throw ( SALOME::SALOME_Exception ); @@ -323,6 +326,12 @@ public: CORBA::Short theSubShapeID ) throw ( SALOME::SALOME_Exception ); + // Create groups of elements preventing computation of a sub-shape + SMESH::ListOfGroups* MakeGroupsOfBadInputElements( SMESH::SMESH_Mesh_ptr theMesh, + CORBA::Short theSubShapeID, + const char* theGroupName) + throw ( SALOME::SALOME_Exception ); + // Get sub-shapes unique ID's list SMESH::long_array* GetSubShapesId( GEOM::GEOM_Object_ptr theMainShapeObject, const SMESH::object_array& theListOfSubShape ) @@ -441,6 +450,12 @@ public: return aResultSO._retn(); } + // ============ + // Version information + // ============ + + virtual char* getVersion(); + // ============ // Dump python // ============ @@ -562,10 +577,18 @@ public: */ SALOMEDS::SObject_ptr GetAlgoSO(const ::SMESH_Algo* algo); - void UpdateParameters(/*CORBA::Object_ptr theObject,*/ const char* theParameters); + void UpdateParameters(CORBA::Object_ptr theObject, const char* theParameters); char* GetParameters(CORBA::Object_ptr theObject); - char* ParseParameters(const char* theParameters); + //char* ParseParameters(const char* theParameters); + const std::vector< int >& GetLastParamIndices() const { return myLastParamIndex; } const std::vector< std::string >& GetLastParameters() const { return myLastParameters; } + const std::string & GetLastObjEntry() const { return myLastObj; } + std::vector< std::string > GetAllParameters(const std::string& theObjectEntry) const; + + // Move objects to the specified position + void Move( const SMESH::sobject_list& what, + SALOMEDS::SObject_ptr where, + CORBA::Long row ); private: // Create hypothesis of given type @@ -611,7 +634,9 @@ private: // 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; }; @@ -623,6 +648,15 @@ namespace SMESH { return dynamic_cast(SMESH_Gen_i::GetServant(theArg).in()); } + + /*! + * \brief Function used in SMESH_CATCH to convert a caught exception to + * SALOME::SALOME_Exception + */ + inline void throwCorbaException(const char* excText) + { + THROW_SALOME_CORBA_EXCEPTION( excText, SALOME::INTERNAL_ERROR ); + } }