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=e95895df1d58a8ecba67599a31974e00d5c101df;hp=c78122345a1a3040e423c272cb2a78752622919f;hb=6bac08c1a81f34d3f21c550bd92f83654b2546a5;hpb=9a54694a0ab1e5cbc558a35c4606ceea4f7af2ef diff --git a/src/SMESH_I/SMESH_Gen_i.hxx b/src/SMESH_I/SMESH_Gen_i.hxx index c78122345..e95895df1 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-2015 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 @@ -6,7 +6,7 @@ // This library is free software; you can redistribute it and/or // modify it under the terms of the GNU Lesser General Public // License as published by the Free Software Foundation; either -// version 2.1 of the License. +// version 2.1 of the License, or (at your option) any later version. // // This library is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of @@ -205,6 +205,13 @@ public: CORBA::Boolean byMesh) throw ( SALOME::SALOME_Exception ); + /* + * Returns True if a hypothesis is assigned to a sole sub-mesh in a current Study + */ + CORBA::Boolean GetSoleSubMeshUsingHyp( SMESH::SMESH_Hypothesis_ptr theHyp, + SMESH::SMESH_Mesh_out theMesh, + GEOM::GEOM_Object_out theShape); + // Preferences // ------------ /*! @@ -326,6 +333,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 ) @@ -433,7 +446,7 @@ public: // Copy-paste methods - returns true if object can be copied to the clipboard CORBA::Boolean CanCopy( SALOMEDS::SObject_ptr theObject ) { return false; } // Copy-paste methods - copy object to the clipboard - SALOMEDS::TMPFile* CopyFrom( SALOMEDS::SObject_ptr theObject, CORBA::Long& theObjectID ) { return false; } + SALOMEDS::TMPFile* CopyFrom( SALOMEDS::SObject_ptr theObject, CORBA::Long& theObjectID ) { return NULL; } // Copy-paste methods - returns true if object can be pasted from the clipboard CORBA::Boolean CanPaste( const char* theComponentName, CORBA::Long theObjectID ) { return false; } // Copy-paste methods - paste object from the clipboard @@ -472,12 +485,18 @@ public: bool isMultiFile, bool isHistoricalDump, bool& aValidScript, - const TCollection_AsciiString& theSavedTrace); + TCollection_AsciiString& theSavedTrace); TCollection_AsciiString GetNewPythonLines (int theStudyID); void CleanPythonTrace (int theStudyID); + // SIMAN-related functions (check out/check in) : import data to study + virtual Engines::ListOfIdentifiers* importData(CORBA::Long studyId, + Engines::DataContainer_ptr data, + const Engines::ListOfOptions& options); + // SIMAN-related functions (check out/check in) : get modified data + virtual Engines::ListOfData* getModifiedData(CORBA::Long studyId); // ***************************************** // Internal methods @@ -571,17 +590,32 @@ 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 ); + CORBA::Boolean IsApplicable ( const char* theAlgoType, + const char* theLibName, + GEOM::GEOM_Object_ptr theShapeObject, + CORBA::Boolean toCheckAll); private: + // Get hypothesis creator + GenericHypothesisCreator_i* getHypothesisCreator( const char* theHypName, + const char* theLibName, + std::string& thePlatformLibName) + throw ( SALOME::SALOME_Exception ); // Create hypothesis of given type SMESH::SMESH_Hypothesis_ptr createHypothesis( const char* theHypName, - const char* theLibName) - throw ( SALOME::SALOME_Exception ); - + const char* theLibName); // Create empty mesh on shape SMESH::SMESH_Mesh_ptr createMesh() throw ( SALOME::SALOME_Exception ); @@ -620,7 +654,11 @@ 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; + int myImportedStudyId; // SIMAN: identifier of the imported in importData study to keep no-modifiection flag for getModifiedData method + int myImportedStudyChanged; // SIMAN: flag that indicates that the imported study has been changed (by creation of the additional mesh) };