From: jfa Date: Fri, 24 Dec 2021 17:39:47 +0000 (+0300) Subject: Improve interface X-Git-Url: http://git.salome-platform.org/gitweb/?a=commitdiff_plain;h=082c4ab1261cb17f2731910071343a3f9d80c77b;p=modules%2Fsmesh.git Improve interface --- diff --git a/doc/salome/examples/test_homard_adapt.py b/doc/salome/examples/test_homard_adapt.py index 5c445659e..cedbdd460 100644 --- a/doc/salome/examples/test_homard_adapt.py +++ b/doc/salome/examples/test_homard_adapt.py @@ -30,8 +30,8 @@ if os.path.isfile(log_file_1): os.remove(log_file_1) smeshhomard = smesh.Adaptation("Uniform") -Case_1 = smeshhomard.CreateCase("MAILL", input_med, working_dir) -Case_1.SetConfType(0) +smeshhomard.CreateCase("MAILL", input_med, working_dir) +smeshhomard.SetConfType(0) smeshhomard.SetKeepMedOUT(True) smeshhomard.SetPublishMeshOUT(True) smeshhomard.SetMeshNameOUT("MAILL_Uniform_R_01") @@ -67,10 +67,10 @@ if os.path.isfile(log_file_2): #smeshhomard = smesh.Adaptation("Uniform") Boun_1 = smeshhomard.CreateBoundaryCylinder("Boun_1", 0.5, 0.5, 0.5, 0, 0, 1, 0.25) -Case_1 = smeshhomard.CreateCaseOnMesh("MAILL", MAILL.GetMesh(), working_dir) -Case_1.SetConfType(0) -Case_1.AddBoundaryGroup("Boun_1", "BORD_EXT") -Case_1.AddBoundaryGroup("Boun_1", "MOITIE1") +smeshhomard.CreateCaseOnMesh("MAILL", MAILL.GetMesh(), working_dir) +smeshhomard.SetConfType(0) +smeshhomard.AddBoundaryGroup("Boun_1", "BORD_EXT") +smeshhomard.AddBoundaryGroup("Boun_1", "MOITIE1") smeshhomard.SetKeepMedOUT(False) smeshhomard.SetPublishMeshOUT(True) smeshhomard.SetMeshNameOUT("MAILL_Uniform_R_02") diff --git a/idl/SMESH_Homard.idl b/idl/SMESH_Homard.idl index 2c4de9c78..2783ffbca 100644 --- a/idl/SMESH_Homard.idl +++ b/idl/SMESH_Homard.idl @@ -132,9 +132,6 @@ module SMESHHOMARD void SetDirName(in string NomDir) raises (SALOME::SALOME_Exception); string GetDirName() raises (SALOME::SALOME_Exception); - void SetConfType(in long ConfType) raises (SALOME::SALOME_Exception); - long GetConfType() raises (SALOME::SALOME_Exception); - void SetBoundingBox(in extrema LesExtremes) raises (SALOME::SALOME_Exception); extrema GetBoundingBox() raises (SALOME::SALOME_Exception); @@ -207,6 +204,9 @@ module SMESHHOMARD long DeleteCase() raises (SALOME::SALOME_Exception); void CleanCase() raises (SALOME::SALOME_Exception); + void AddBoundaryGroup(in string BoundaryName, + in string Group) raises (SALOME::SALOME_Exception); + long Compute() raises (SALOME::SALOME_Exception); string CreateDirNameIter (in string NomDir, in long num) @@ -216,6 +216,7 @@ module SMESHHOMARD raises (SALOME::SALOME_Exception); // Preferences + void SetConfType(in long ConfType) raises (SALOME::SALOME_Exception); void SetKeepMedOUT (in boolean theKeepMedOUT); void SetPublishMeshOUT (in boolean thePublishMeshOUT); void SetMeshNameOUT (in string theMeshName) raises (SALOME::SALOME_Exception); diff --git a/src/SMESH/SMESH_Homard.cxx b/src/SMESH/SMESH_Homard.cxx index 8a1527c6f..0d5d998f4 100644 --- a/src/SMESH/SMESH_Homard.cxx +++ b/src/SMESH/SMESH_Homard.cxx @@ -332,7 +332,7 @@ std::string HOMARD_Boundary::GetCaseCreation() const */ //============================================================================= HOMARD_Cas::HOMARD_Cas(): - _Name(""), _NomDir("/tmp"), _ConfType(0) + _Name(""), _NomDir("/tmp") { MESSAGE("HOMARD_Cas"); } @@ -360,12 +360,10 @@ std::string HOMARD_Cas::GetName() const std::string HOMARD_Cas::GetDumpPython() const { std::ostringstream aScript; - //aScript << _Name << ".SetDirName(\"" << _NomDir << "\")\n"; - aScript << _Name << ".SetConfType(" << _ConfType << ")\n"; // Suivi de frontieres std::list::const_iterator it = _ListBoundaryGroup.begin(); while (it != _ListBoundaryGroup.end()) { - aScript << _Name << ".AddBoundaryGroup(\"" << *it << "\", \""; + aScript << "smeshhomard.AddBoundaryGroup(\"" << *it << "\", \""; it++; aScript << *it << "\")\n"; it++; @@ -407,19 +405,6 @@ std::string HOMARD_Cas::GetDirName() const return _NomDir; } // -// Le type de conformite ou non conformite -// -//============================================================================= -void HOMARD_Cas::SetConfType( int Conftype ) -{ - _ConfType = Conftype; -} -//============================================================================= -const int HOMARD_Cas::GetConfType() const -{ - return _ConfType; -} -// // La boite englobante // //============================================================================= diff --git a/src/SMESH/SMESH_Homard.hxx b/src/SMESH/SMESH_Homard.hxx index 2df21fd7e..06fc0c945 100644 --- a/src/SMESH/SMESH_Homard.hxx +++ b/src/SMESH/SMESH_Homard.hxx @@ -119,9 +119,6 @@ public: int SetDirName( const char* NomDir ); std::string GetDirName() const; - void SetConfType( int ConfType ); - const int GetConfType() const; - void SetBoundingBox( const std::vector& extremas ); const std::vector& GetBoundingBox() const; @@ -140,7 +137,6 @@ public: private: std::string _Name; std::string _NomDir; - int _ConfType; int _Etat; std::vector _Boite; // cf HomardQTCommun pour structure du vecteur diff --git a/src/SMESHGUI/SMESHGUI_HomardAdaptDlg.cxx b/src/SMESHGUI/SMESHGUI_HomardAdaptDlg.cxx index d99c89d01..fdc543062 100644 --- a/src/SMESHGUI/SMESHGUI_HomardAdaptDlg.cxx +++ b/src/SMESHGUI/SMESHGUI_HomardAdaptDlg.cxx @@ -360,9 +360,6 @@ bool SMESHGUI_HomardAdaptDlg::CheckCase(bool fixCase) InitBoundarys(); } - // Repertoire et type - myCase->SetConfType(myArgs->RBConforme->isChecked() ? 0 : 1); - // Menage des eventuelles frontieres deja enregistrees myCase->SupprBoundaryGroup(); @@ -443,6 +440,9 @@ bool SMESHGUI_HomardAdaptDlg::PushOnApply() } myHomardGen->SetMeshFileOUT(aMeshFileOUT.c_str()); + // Conformity type + myHomardGen->SetConfType(myArgs->RBConforme->isChecked() ? 0 : 1); + // Advanced options myHomardGen->SetVerboseLevel(myAdvOpt->verboseLevelSpin->value()); myHomardGen->SetKeepWorkingFiles(myAdvOpt->keepWorkingFilesCheck->isChecked()); diff --git a/src/SMESH_I/SMESH_Homard_i.cxx b/src/SMESH_I/SMESH_Homard_i.cxx index ea88f7d04..d4f2e6d55 100644 --- a/src/SMESH_I/SMESH_Homard_i.cxx +++ b/src/SMESH_I/SMESH_Homard_i.cxx @@ -440,19 +440,6 @@ char* HOMARD_Cas_i::GetDirName() return CORBA::string_dup(myHomardCas->GetDirName().c_str()); } //============================================================================= -void HOMARD_Cas_i::SetConfType(CORBA::Long ConfType) -{ - ASSERT(myHomardCas); - //VERIFICATION((ConfType>=-2) && (ConfType<=3)); - myHomardCas->SetConfType(ConfType); -} -//============================================================================= -CORBA::Long HOMARD_Cas_i::GetConfType() -{ - ASSERT(myHomardCas); - return myHomardCas->GetConfType(); -} -//============================================================================= void HOMARD_Cas_i::SetBoundingBox(const SMESHHOMARD::extrema& LesExtrema) { ASSERT(myHomardCas); @@ -823,6 +810,7 @@ CORBA::Long HOMARD_Iteration_i::GetInfoCompute() */ //============================================================================= HOMARD_Gen_i::HOMARD_Gen_i() : SALOME::GenericObj_i(SMESH_Gen_i::GetPOA()), + _ConfType(0), _KeepMedOUT(true), _PublishMeshOUT(false), _KeepWorkingFiles(false), @@ -900,15 +888,6 @@ CORBA::Long HOMARD_Gen_i::DeleteIteration(int numIter) } else { if (!CORBA::is_nil(myIteration1)) { - /* - if (CORBA::is_nil(myIteration0)) { - SALOME::ExceptionStruct es; - es.type = SALOME::BAD_PARAM; - es.text = "Invalid iteration 0"; - throw SALOME::SALOME_Exception(es); - } - */ - // Invalide Iteration if (myIteration1->GetState() > 0) { myIteration1->SetState(1); @@ -1776,8 +1755,7 @@ CORBA::Long HOMARD_Gen_i::ComputeAdap(SMESHHOMARDImpl::HomardDriver* myDriver) // D. Les données de l'adaptation HOMARD // D.1. Le type de conformite - int ConfType = myCase->GetConfType(); - MESSAGE (". ConfType = " << ConfType); + MESSAGE (". ConfType = " << _ConfType); // D.3. Le maillage de depart const char* NomMeshParent = myIteration0->GetMeshName(); @@ -1819,7 +1797,7 @@ CORBA::Long HOMARD_Gen_i::ComputeAdap(SMESHHOMARDImpl::HomardDriver* myDriver) int iaux = 0; myDriver->TexteMaillageHOMARD(DirComputePa, siter, iaux); myDriver->TexteMaillage(NomMeshParent, MeshFileParent, 0); - myDriver->TexteConfRaffDera(ConfType); + myDriver->TexteConfRaffDera(_ConfType); // E.6. Ajout des options avancees //myDriver->TexteAdvanced(NivMax, DiamMin, AdapInit, ExtraOutput); @@ -2530,12 +2508,12 @@ void HOMARD_Gen_i::PythonDump() MESSAGE (". Creation of the case"); if (_CaseOnMedFile) { - pd << "Case_1 = smeshhomard.CreateCase(\"" << myIteration0->GetMeshName(); + pd << "smeshhomard.CreateCase(\"" << myIteration0->GetMeshName(); pd << "\", \"" << myIteration0->GetMeshFile(); pd << "\", \"" << myCase->GetDirName() << "\")\n"; } else { - pd << "Case_1 = smeshhomard.CreateCaseOnMesh(\"" << myIteration0->GetMeshName(); + pd << "smeshhomard.CreateCaseOnMesh(\"" << myIteration0->GetMeshName(); pd << "\", " << _SmeshMesh; pd << ".GetMesh(), \"" << myCase->GetDirName() << "\")\n"; } @@ -2543,6 +2521,7 @@ void HOMARD_Gen_i::PythonDump() pd << myCase->GetDumpPython(); // Preferences + pd << "smeshhomard.SetConfType(" << _ConfType << ")\n"; pd << "smeshhomard.SetKeepMedOUT(" << (_KeepMedOUT ? "True" : "False") << ")\n"; pd << "smeshhomard.SetPublishMeshOUT(" << (_PublishMeshOUT ? "True" : "False") << ")\n"; pd << "smeshhomard.SetMeshNameOUT(\"" << _MeshNameOUT << "\")\n"; @@ -2559,9 +2538,27 @@ void HOMARD_Gen_i::PythonDump() MESSAGE ("End PythonDump"); } +void HOMARD_Gen_i::AddBoundaryGroup(const char* BoundaryName, const char* Group) +{ + MESSAGE("HOMARD_Gen_i::AddBoundaryGroup : BoundaryName = " << + BoundaryName << ", Group = " << Group); + if (myCase->_is_nil()) { + SALOME::ExceptionStruct es; + es.type = SALOME::BAD_PARAM; + std::string text = "The input mesh must be defined before boundary group addition"; + es.text = CORBA::string_dup(text.c_str()); + throw SALOME::SALOME_Exception(es); + } + myCase->AddBoundaryGroup(BoundaryName, Group); +} + //=============================================================================== // Preferences //=============================================================================== +void HOMARD_Gen_i::SetConfType(CORBA::Long theConfType) +{ + _ConfType = theConfType; +} void HOMARD_Gen_i::SetKeepMedOUT(bool theKeepMedOUT) { _KeepMedOUT = theKeepMedOUT; diff --git a/src/SMESH_I/SMESH_Homard_i.hxx b/src/SMESH_I/SMESH_Homard_i.hxx index 45c08d9f1..ad0ea90b2 100644 --- a/src/SMESH_I/SMESH_Homard_i.hxx +++ b/src/SMESH_I/SMESH_Homard_i.hxx @@ -116,9 +116,6 @@ public: void SetDirName(const char* NomDir); char* GetDirName(); - void SetConfType(CORBA::Long ConfType); - CORBA::Long GetConfType(); - void SetBoundingBox(const SMESHHOMARD::extrema& LesExtremes); SMESHHOMARD::extrema* GetBoundingBox(); @@ -254,6 +251,8 @@ public: CORBA::Long DeleteCase(); CORBA::Long DeleteIteration(int numIter); + void AddBoundaryGroup(const char* Boundary, const char* Group); + void AssociateCaseIter(int numIter, const char* labelIter); char* CreateDirNameIter(const char* nomrep, CORBA::Long num); @@ -271,8 +270,9 @@ public: void PythonDump(); // Preferences - void SetKeepMedOUT(bool theKeepMedOUT); - void SetPublishMeshOUT(bool thePublishMeshOUT); + void SetConfType (CORBA::Long theConfType); + void SetKeepMedOUT (bool theKeepMedOUT); + void SetPublishMeshOUT (bool thePublishMeshOUT); void SetMeshNameOUT (const char* theMeshNameOUT); void SetMeshFileOUT (const char* theMeshFileOUT); @@ -296,6 +296,7 @@ private: SMESHHOMARD::HOMARD_Cas_var myCase; // Preferences + int _ConfType; // Le type de conformite ou non conformite bool _KeepMedOUT; bool _PublishMeshOUT; bool _KeepWorkingFiles;