From ab970555a7eea806bb7ecc5141b1272aa07f5899 Mon Sep 17 00:00:00 2001 From: nicolas Date: Mon, 20 Jan 2014 13:40:03 +0000 Subject: [PATCH] =?utf8?q?Insertion=20des=20valeurs=20d=C3=83=C2=A9finies?= =?utf8?q?=20dans=20les=20pr=C3=83=C2=A9f=C3=83=C2=A9rences=20comme=20vale?= =?utf8?q?urs=20par=20d=C3=83=C2=A9faut=20pour=20les=20param=C3=83=C2=A8tr?= =?utf8?q?es=20des=20sch=C3=83=C2=A9mas=20YACS?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit --- idl/HOMARD_Gen.idl | 1 + idl/HOMARD_YACS.idl | 7 +++ resources/yacs_01.en.xml | 11 ++--- resources/yacs_01.fr.xml | 11 ++--- src/HOMARD/HOMARD_YACS.cxx | 37 +++++++++++++++- src/HOMARD/HOMARD_YACS.hxx | 10 +++++ src/HOMARD/YACSDriver.cxx | 22 ++++++++++ src/HOMARD/YACSDriver.hxx | 1 + src/HOMARDGUI/CreateYACS.h | 4 +- src/HOMARDGUI/CreateYACS.ui | 6 +++ src/HOMARDGUI/MonCreateYACS.cxx | 20 ++++++--- src/HOMARDGUI/MonEditYACS.cxx | 78 +++++++++++++++++++++++++-------- src/HOMARD_I/HOMARD_Gen_i.cxx | 61 +++++++++++++++++++++++++- src/HOMARD_I/HOMARD_Gen_i.hxx | 1 + src/HOMARD_I/HOMARD_YACS_i.cxx | 36 +++++++++++++++ src/HOMARD_I/HOMARD_YACS_i.hxx | 7 +++ 16 files changed, 272 insertions(+), 41 deletions(-) diff --git a/idl/HOMARD_Gen.idl b/idl/HOMARD_Gen.idl index 2331b305..f929875d 100644 --- a/idl/HOMARD_Gen.idl +++ b/idl/HOMARD_Gen.idl @@ -157,6 +157,7 @@ module HOMARD void InvalideIter (in string IterName) raises (SALOME::SALOME_Exception); void InvalideIterOption (in string IterName, in long Option) raises(SALOME::SALOME_Exception); + void InvalideYACS (in string YacsName) raises (SALOME::SALOME_Exception); void InvalideZone (in string ZoneName) raises (SALOME::SALOME_Exception); long DeleteBoundary (in string BoundaryName) raises (SALOME::SALOME_Exception); diff --git a/idl/HOMARD_YACS.idl b/idl/HOMARD_YACS.idl index fa8f5286..e98f6ac6 100644 --- a/idl/HOMARD_YACS.idl +++ b/idl/HOMARD_YACS.idl @@ -49,6 +49,13 @@ module HOMARD void SetType (in long Type) raises (SALOME::SALOME_Exception); long GetType() raises (SALOME::SALOME_Exception); + void SetMaxIter (in long MaxIter) raises (SALOME::SALOME_Exception); + long GetMaxIter() raises (SALOME::SALOME_Exception); + void SetMaxNode (in long MaxNode) raises (SALOME::SALOME_Exception); + long GetMaxNode() raises (SALOME::SALOME_Exception); + void SetMaxElem (in long MaxElem) raises (SALOME::SALOME_Exception); + long GetMaxElem() raises (SALOME::SALOME_Exception); + void SetDirName(in string NomDir) raises (SALOME::SALOME_Exception); string GetDirName() raises (SALOME::SALOME_Exception); diff --git a/resources/yacs_01.en.xml b/resources/yacs_01.en.xml index 66641f43..f00cb5f3 100644 --- a/resources/yacs_01.en.xml +++ b/resources/yacs_01.en.xml @@ -106,7 +106,7 @@ global resu1 NumCalcP1 = NumCalc + 1 FileName = " " # -NbCalcMax = 5 +Analyse_Test_Convergence # MessInfo = None Error = 0 @@ -150,10 +150,11 @@ while not Error : # # If the maximum number of adaptations is reached, stop: # - if NumCalc > NbCalcMax : - MessInfo = "The maximum number of adaptations is reached: %d" % NbCalcMax - Error = -1 - break + if MaxIter > 0 : + if NumCalc >= MaxIter : + MessInfo = "The maximum number of adaptations is reached: %d" % (MaxIter+1) + Error = -1 + break # break ]]> diff --git a/resources/yacs_01.fr.xml b/resources/yacs_01.fr.xml index 6d0df606..0ed06c6b 100644 --- a/resources/yacs_01.fr.xml +++ b/resources/yacs_01.fr.xml @@ -106,7 +106,7 @@ global resu1 NumCalcP1 = NumCalc + 1 FileName = " " # -NbCalcMax = 5 +Analyse_Test_Convergence # MessInfo = None Error = 0 @@ -150,10 +150,11 @@ while not Error : # # Si on depasse le maximum, on arrete : # - if NumCalc > NbCalcMax : - MessInfo = "La limite en nombre de calculs a ete atteinte : %d" % NbCalcMax - Error = -1 - break + if MaxIter > 0 : + if NumCalc >= MaxIter : + MessInfo = "La limite en nombre de calculs a ete atteinte : %d" % (MaxIter+1) + Error = -1 + break # break ]]> diff --git a/src/HOMARD/HOMARD_YACS.cxx b/src/HOMARD/HOMARD_YACS.cxx index 67f04c2a..aeb2b209 100644 --- a/src/HOMARD/HOMARD_YACS.cxx +++ b/src/HOMARD/HOMARD_YACS.cxx @@ -44,8 +44,7 @@ HOMARD_YACS::HOMARD_YACS(): _NomCas( "" ), _NomDir( "" ), _MeshFile( "" ), - _ScriptFile( "" ), - _Type( 1 ) + _ScriptFile( "" ) { MESSAGE("HOMARD_YACS"); } @@ -82,6 +81,10 @@ std::string HOMARD_YACS::GetDumpPython() const aScript << "\t" << _Name << " = " << _NomCas << ".CreateYACSSchema(\"" << _Name << "\", \"" << _ScriptFile << "\", \"" << _NomDir << "\", \"" << _MeshFile << "\")\n"; // Le type de schema aScript << "\t" << _Name << ".SetType(" << _Type << ")\n"; +// Les controles de convergences + if ( _MaxIter > 0 ) { aScript << "\t" << _Name << ".SetMaxIter(" << _MaxIter << ")\n"; } + if ( _MaxNode > 0 ) { aScript << "\t" << _Name << ".SetMaxNode(" << _MaxNode << ")\n"; } + if ( _MaxElem > 0 ) { aScript << "\t" << _Name << ".SetMaxElem(" << _MaxElem << ")\n"; } // L'ecriture du schema aScript << "\tcodret = " << _Name << ".Write()\n"; @@ -105,6 +108,36 @@ int HOMARD_YACS::GetType() const return _Type; } //============================================================================= +void HOMARD_YACS::SetMaxIter( int MaxIter ) +{ + _MaxIter = MaxIter; +} +//============================================================================= +int HOMARD_YACS::GetMaxIter() const +{ + return _MaxIter; +} +//============================================================================= +void HOMARD_YACS::SetMaxNode( int MaxNode ) +{ + _MaxNode = MaxNode; +} +//============================================================================= +int HOMARD_YACS::GetMaxNode() const +{ + return _MaxNode; +} +//============================================================================= +void HOMARD_YACS::SetMaxElem( int MaxElem ) +{ + _MaxElem = MaxElem; +} +//============================================================================= +int HOMARD_YACS::GetMaxElem() const +{ + return _MaxElem; +} +//============================================================================= void HOMARD_YACS::SetDirName( const char* NomDir ) { _NomDir = std::string( NomDir ); diff --git a/src/HOMARD/HOMARD_YACS.hxx b/src/HOMARD/HOMARD_YACS.hxx index 4c8597dd..a513c23a 100644 --- a/src/HOMARD/HOMARD_YACS.hxx +++ b/src/HOMARD/HOMARD_YACS.hxx @@ -55,6 +55,13 @@ public: void SetType( int Type ); int GetType() const; + void SetMaxIter( int MaxIter ); + int GetMaxIter() const; + void SetMaxNode( int MaxNode ); + int GetMaxNode() const; + void SetMaxElem( int MaxElem ); + int GetMaxElem() const; + void SetDirName( const char* NomDir ); std::string GetDirName() const; @@ -81,6 +88,9 @@ private: std::string _MeshFile; std::string _ScriptFile; int _Type; + int _MaxIter; + int _MaxNode; + int _MaxElem; std::string _XMLFile; }; diff --git a/src/HOMARD/YACSDriver.cxx b/src/HOMARD/YACSDriver.cxx index 99a666f1..1828e8fb 100644 --- a/src/HOMARD/YACSDriver.cxx +++ b/src/HOMARD/YACSDriver.cxx @@ -576,6 +576,28 @@ void YACSDriver::Texte_python_2( const std::string pythonTexte, const std::strin // } //=============================================================================== +// Parametres de tests de convergence +//=============================================================================== +void YACSDriver::TexteAnalyse_Test_Convergence( int MaxIter, int MaxNode, int MaxElem ) +{ +// +// MESSAGE("TexteAnalyse_Test_Convergence"); + std::string chaine ; + std::ostringstream oss1; + oss1 << MaxIter; + chaine = oss1.str(); + _Texte += "MaxIter = " + chaine + "\n" ; + std::ostringstream oss2; + oss2 << MaxNode; + chaine = oss2.str(); + _Texte += "MaxNode = " + chaine + "\n" ; + std::ostringstream oss3; + oss3 << MaxElem; + chaine = oss3.str(); + _Texte += "MaxElem = " + chaine + "\n" ; +// +} +//=============================================================================== // Creation d'un parametre //=============================================================================== void YACSDriver::TexteParametre( const std::string node, const std::string port, const std::string type_value, const std::string value ) diff --git a/src/HOMARD/YACSDriver.hxx b/src/HOMARD/YACSDriver.hxx index 89632e76..c8c799ba 100644 --- a/src/HOMARD/YACSDriver.hxx +++ b/src/HOMARD/YACSDriver.hxx @@ -47,6 +47,7 @@ public: void Texte_python_1( const std::string pythonTexte, int indice, const std::string concept ) ; void Texte_python_2( const std::string pythonTexte, const std::string mot_cle, const std::string concept ) ; void TexteParametre( const std::string node, const std::string port, const std::string type_value, const std::string value ) ; + void TexteAnalyse_Test_Convergence( int MaxIter, int MaxNode, int MaxElem ) ; void TexteAddParametres( ) ; void CreeFichier() ; // diff --git a/src/HOMARDGUI/CreateYACS.h b/src/HOMARDGUI/CreateYACS.h index 760010b8..ff732b73 100644 --- a/src/HOMARDGUI/CreateYACS.h +++ b/src/HOMARDGUI/CreateYACS.h @@ -1,7 +1,7 @@ /******************************************************************************** ** Form generated from reading UI file 'CreateYACS.ui' ** -** Created: Wed Jan 15 08:42:01 2014 +** Created: Mon Jan 20 13:23:30 2014 ** by: Qt User Interface Compiler version 4.6.3 ** ** WARNING! All changes made in this file will be lost when recompiling UI file! @@ -287,6 +287,7 @@ public: SpinBoxMaxNode->setObjectName(QString::fromUtf8("SpinBoxMaxNode")); SpinBoxMaxNode->setMinimum(0); SpinBoxMaxNode->setMaximum(999999999); + SpinBoxMaxNode->setSingleStep(1000); SpinBoxMaxNode->setValue(0); gridLayout_3->addWidget(SpinBoxMaxNode, 1, 1, 1, 1); @@ -303,6 +304,7 @@ public: SpinBoxMaxElem->setObjectName(QString::fromUtf8("SpinBoxMaxElem")); SpinBoxMaxElem->setMinimum(0); SpinBoxMaxElem->setMaximum(999999999); + SpinBoxMaxElem->setSingleStep(1000); SpinBoxMaxElem->setValue(0); gridLayout_3->addWidget(SpinBoxMaxElem, 1, 3, 1, 1); diff --git a/src/HOMARDGUI/CreateYACS.ui b/src/HOMARDGUI/CreateYACS.ui index 11602651..0e8f76c2 100644 --- a/src/HOMARDGUI/CreateYACS.ui +++ b/src/HOMARDGUI/CreateYACS.ui @@ -325,6 +325,9 @@ 999999999 + + 1000 + 0 @@ -354,6 +357,9 @@ 999999999 + + 1000 + 0 diff --git a/src/HOMARDGUI/MonCreateYACS.cxx b/src/HOMARDGUI/MonCreateYACS.cxx index 8c6aa062..fe2b938a 100644 --- a/src/HOMARDGUI/MonCreateYACS.cxx +++ b/src/HOMARDGUI/MonCreateYACS.cxx @@ -44,10 +44,7 @@ MonCreateYACS::MonCreateYACS (bool modal, HOMARD::HOMARD_Gen_var myHomardGen0, Q _aScriptFile(""), _aDirName(""), _aMeshFile(""), - _Type(1), - _MaxIter(0), - _MaxNode(0), - _MaxElem(0) + _Type(1) // Les valeurs de _Type, _MaxIter, _MaxNode, _MaxElem doivent etre les memes que celles dans HOMARD_Gen_i::CreateYACSSchema // et doivent correspondre aux defauts des boutons { @@ -63,6 +60,15 @@ MonCreateYACS::MonCreateYACS (bool modal, HOMARD::HOMARD_Gen_var myHomardGen0, Q if (_aCaseName != QString("")) { SetCaseName(); } else { setWindowModality(Qt::NonModal); /* permet selection du cas dans l arbre d etude */} +// +// Les valeurs definies dans les preferences + _MaxIter = myHomardGen->GetYACSMaxIter(); + _MaxNode = myHomardGen->GetYACSMaxNode(); + _MaxElem = myHomardGen->GetYACSMaxElem(); + MESSAGE ("Valeur par defaut de MaxIter = " << _MaxIter<<", MaxNode = "<< _MaxNode<<", MaxElem = "<< _MaxElem); + SpinBoxMaxIter->setValue(_MaxIter) ; + SpinBoxMaxNode->setValue(_MaxNode) ; + SpinBoxMaxElem->setValue(_MaxElem) ; // adjustSize(); } @@ -232,13 +238,13 @@ bool MonCreateYACS:: CreateOrUpdate() // 3.2. Les maximums _MaxIter = SpinBoxMaxIter->value() ; -// aYACS->SetMaxIter(_MaxIter) ; + aYACS->SetMaxIter(_MaxIter) ; _MaxNode = SpinBoxMaxNode->value() ; -// aYACS->SetMaxNode(_MaxNode) ; + aYACS->SetMaxNode(_MaxNode) ; _MaxElem = SpinBoxMaxElem->value() ; -// aYACS->SetMaxElem(_MaxElem) ; + aYACS->SetMaxElem(_MaxElem) ; } diff --git a/src/HOMARDGUI/MonEditYACS.cxx b/src/HOMARDGUI/MonEditYACS.cxx index 6d2571dd..f0dfa364 100644 --- a/src/HOMARDGUI/MonEditYACS.cxx +++ b/src/HOMARDGUI/MonEditYACS.cxx @@ -55,54 +55,94 @@ void MonEditYACS::InitValEdit() LEName->setText(_Name); LEName->setReadOnly(true); - QString _aCaseName = aYACS->GetCaseName(); + _aCaseName = aYACS->GetCaseName(); LECaseName->setText(_aCaseName); LECaseName->setReadOnly(true); PBCaseName->setVisible(0); - QString aScriptFile = aYACS->GetScriptFile(); - LEScriptFile->setText(aScriptFile); + _aScriptFile = aYACS->GetScriptFile(); + LEScriptFile->setText(_aScriptFile); - QString aDirName = aYACS->GetDirName(); - LEDirName->setText(aDirName); + _aDirName = aYACS->GetDirName(); + LEDirName->setText(_aDirName); + LEDirName->setReadOnly(true); - QString aMeshFile = aYACS->GetMeshFile(); - LEMeshFile->setText(aMeshFile); + _aMeshFile = aYACS->GetMeshFile(); + LEMeshFile->setText(_aMeshFile); - int Type=aYACS->GetType(); - if(Type==1) { RBConstant->setChecked(true); } - else { RBVariable->setChecked(true); }; + _Type=aYACS->GetType(); + if(_Type==1) { RBConstant->setChecked(true); } + else { RBVariable->setChecked(true); }; RBConstant->setEnabled(false); RBVariable->setEnabled(false); + + _MaxIter = aYACS->GetMaxIter(); + SpinBoxMaxIter->setValue(_MaxIter) ; + _MaxNode = aYACS->GetMaxNode(); + SpinBoxMaxNode->setValue(_MaxNode) ; + _MaxElem = aYACS->GetMaxElem(); + SpinBoxMaxElem->setValue(_MaxElem) ; // } // --------------------------------------------------- bool MonEditYACS:: CreateOrUpdate() //---------------------------------------------------- -// Modification du schema +// Edition/modification du schema { MESSAGE("CreateOrUpdate"); - - // Les donnees + bool chgt = false ; + int valeur_i ; + // A. Recuperation et comparaison des valeurs + // A.1. Le script de lancement QString aScriptFile=LEScriptFile->text().trimmed(); if ( aScriptFile != _aScriptFile ) { +// MESSAGE("modification de ScriptFile : "<<_aScriptFile.toStdString()<<" devient "<SetScriptFile(CORBA::string_dup(_aScriptFile.toStdString().c_str())) ; + chgt = true ; } - QString aDirName=LEDirName->text().trimmed(); - if ( aDirName != _aDirName ) - { - _aDirName = aDirName ; - aYACS->SetDirName(CORBA::string_dup(_aDirName.toStdString().c_str())) ; - } + // A.2. Le maillage initial QString aMeshFile=LEMeshFile->text().trimmed(); if ( aMeshFile != _aMeshFile ) { +// MESSAGE("modification de aMeshFile : "<<_aMeshFile.toStdString()<<" devient "<SetMeshFile(CORBA::string_dup(_aMeshFile.toStdString().c_str())) ; + chgt = true ; + } + // A.3. La convergence + valeur_i = SpinBoxMaxIter->value() ; + if ( valeur_i != _MaxIter ) + { +// MESSAGE("modification de MaxIter : "<<_MaxIter<<" devient "<SetMaxIter(_MaxIter) ; + chgt = true ; + } + valeur_i = SpinBoxMaxNode->value() ; + if ( valeur_i != _MaxNode ) + { +// MESSAGE("modification de MaxNode : "<<_MaxNode<<" devient "<SetMaxNode(_MaxNode) ; + chgt = true ; + } + valeur_i = SpinBoxMaxElem->value() ; + if ( valeur_i != _MaxElem ) + { +// MESSAGE("modification de MaxElem : "<<_MaxElem<<" devient "<SetMaxElem(_MaxElem) ; + chgt = true ; + } +// B. Si changement + if ( chgt ) + { + myHomardGen->InvalideYACS(_Name.toStdString().c_str()); } + HOMARD_UTILS::updateObjBrowser(); return true ; } diff --git a/src/HOMARD_I/HOMARD_Gen_i.cxx b/src/HOMARD_I/HOMARD_Gen_i.cxx index 8cab8d1e..1d44d673 100755 --- a/src/HOMARD_I/HOMARD_Gen_i.cxx +++ b/src/HOMARD_I/HOMARD_Gen_i.cxx @@ -628,6 +628,7 @@ void HOMARD_Gen_i::InvalideIterOption(const char* nomIter, CORBA::Long Option) if (!so->FindAttribute(anAttr, "AttributeComment")) continue; SALOMEDS::AttributeComment_var aCommentAttr = SALOMEDS::AttributeComment::_narrow(anAttr); std::string value (aCommentAttr->Value()); + if(value == std::string("IterationHomard")) continue; if(value == std::string("HypoHomard")) continue; SALOMEDS::StudyBuilder_var aStudyBuilder = myCurrentStudy->NewBuilder(); aStudyBuilder->RemoveObject(so); @@ -721,6 +722,47 @@ void HOMARD_Gen_i::InvalideIterInfo(const char* nomIter) } } //============================================================================= +void HOMARD_Gen_i::InvalideYACS(const char* YACSName) +{ + MESSAGE( "InvalideYACS : YACSName = " << YACSName ); + HOMARD::HOMARD_YACS_var myYACS = myContextMap[GetCurrentStudyID()]._mesYACSs[YACSName]; + if (CORBA::is_nil(myYACS)) + { + SALOME::ExceptionStruct es; + es.type = SALOME::BAD_PARAM; + es.text = "Invalid schema YACS"; + throw SALOME::SALOME_Exception(es); + return ; + }; + // + SALOMEDS::SObject_var aYACSSO = SALOMEDS::SObject::_narrow(myCurrentStudy->FindObjectIOR(_orb->object_to_string(myYACS))); + SALOMEDS::ChildIterator_var aYACS = myCurrentStudy->NewChildIterator(aYACSSO); + for (; aYACS->More(); aYACS->Next()) + { + SALOMEDS::SObject_var so = aYACS->Value(); + SALOMEDS::GenericAttribute_var anAttr; + if (!so->FindAttribute(anAttr, "AttributeComment")) continue; + SALOMEDS::AttributeComment_var aCommentAttr = SALOMEDS::AttributeComment::_narrow(anAttr); + std::string value (aCommentAttr->Value()); + if( value == std::string("xml") ) + { + SALOMEDS::StudyBuilder_var aStudyBuilder = myCurrentStudy->NewBuilder(); + aStudyBuilder->RemoveObject(so); + } + } + std::string nomFichier = myYACS->GetXMLFile(); + std::string commande = "rm -rf " + std::string(nomFichier) ; + MESSAGE ( "commande = " << commande ); + if ((system(commande.c_str())) != 0) + { + SALOME::ExceptionStruct es; + es.type = SALOME::BAD_PARAM; + es.text = "The XML file for the schema YACS cannot be removed." ; + throw SALOME::SALOME_Exception(es); + return ; + } +} +//============================================================================= void HOMARD_Gen_i::InvalideZone(const char* ZoneName) { MESSAGE( "InvalideZone : ZoneName = " << ZoneName ); @@ -4013,9 +4055,17 @@ HOMARD::HOMARD_YACS_ptr HOMARD_Gen_i::CreateYACSSchema (const char* nomYACS, con myYACS->SetScriptFile( ScriptFile ) ; myYACS->SetCaseName( nomCas ) ; // D.2. Defaut + int defaut_i ; // D.2.1. Type constant myYACS->SetType( 1 ) ; - // D.2.2. Fichier de sauvegarde dans le repertoire du cas + // D.2.2. Convergence + defaut_i = GetYACSMaxIter() ; + myYACS->SetMaxIter( defaut_i ) ; + defaut_i = GetYACSMaxNode() ; + myYACS->SetMaxNode( defaut_i ) ; + defaut_i = GetYACSMaxElem() ; + myYACS->SetMaxElem( defaut_i ) ; + // D.3. Fichier de sauvegarde dans le repertoire du cas HOMARD::HOMARD_Cas_ptr caseyacs = GetCase(nomCas) ; std::string dirnamecase = caseyacs->GetDirName() ; std::string XMLFile ; @@ -4059,6 +4109,10 @@ CORBA::Long HOMARD_Gen_i::YACSWriteOnFile(const char* nomYACS, const char* XMLFi std::string DirName = myYACS->GetDirName() ; std::string MeshFile = myYACS->GetMeshFile() ; std::string ScriptFile = myYACS->GetScriptFile() ; + // B.3. Les caracteristiques de convergence + int MaxIter = myYACS->GetMaxIter() ; + int MaxNode = myYACS->GetMaxNode() ; + int MaxElem = myYACS->GetMaxElem() ; // C. Le cas // C.1. L'objet cas @@ -4178,7 +4232,10 @@ CORBA::Long HOMARD_Gen_i::YACSWriteOnFile(const char* nomYACS, const char* XMLFi texte_control += YACSDriverTexteBoundary( myCase, myDriver ) ; myDriver->TexteAdd(texte_control); } - // G.1.10. Les parametres + // G.1.10. Les tests de convergence + else if ( mot_cle == "Analyse_Test_Convergence" ) + { myDriver->TexteAnalyse_Test_Convergence(MaxIter, MaxNode, MaxElem); } + // G.1.11. Les parametres else if ( mot_cle == "PARAMETRES" ) { myDriver->TexteAddParametres(); } // G.1.n. La ligne est recopiee telle quelle diff --git a/src/HOMARD_I/HOMARD_Gen_i.hxx b/src/HOMARD_I/HOMARD_Gen_i.hxx index 13ac21f9..84af738e 100644 --- a/src/HOMARD_I/HOMARD_Gen_i.hxx +++ b/src/HOMARD_I/HOMARD_Gen_i.hxx @@ -152,6 +152,7 @@ public: void InvalideIter(const char* nomIter); void InvalideIterOption(const char* nomIter, CORBA::Long Option); void InvalideIterInfo(const char* nomIter); + void InvalideYACS(const char* nomYACS); void InvalideZone(const char* nomZone); CORBA::Long DeleteBoundary(const char* nomBoundary); diff --git a/src/HOMARD_I/HOMARD_YACS_i.cxx b/src/HOMARD_I/HOMARD_YACS_i.cxx index b00cbf97..b5dcb425 100644 --- a/src/HOMARD_I/HOMARD_YACS_i.cxx +++ b/src/HOMARD_I/HOMARD_YACS_i.cxx @@ -124,6 +124,42 @@ CORBA::Long HOMARD_YACS_i::GetType() return CORBA::Long( myHomardYACS->GetType() ); } //============================================================================= +void HOMARD_YACS_i::SetMaxIter( CORBA::Long MaxIter ) +{ + ASSERT( myHomardYACS ); + myHomardYACS->SetMaxIter( MaxIter ); +} +//============================================================================= +CORBA::Long HOMARD_YACS_i::GetMaxIter() +{ + ASSERT( myHomardYACS ); + return CORBA::Long( myHomardYACS->GetMaxIter() ); +} +//============================================================================= +void HOMARD_YACS_i::SetMaxNode( CORBA::Long MaxNode ) +{ + ASSERT( myHomardYACS ); + myHomardYACS->SetMaxNode( MaxNode ); +} +//============================================================================= +CORBA::Long HOMARD_YACS_i::GetMaxNode() +{ + ASSERT( myHomardYACS ); + return CORBA::Long( myHomardYACS->GetMaxNode() ); +} +//============================================================================= +void HOMARD_YACS_i::SetMaxElem( CORBA::Long MaxElem ) +{ + ASSERT( myHomardYACS ); + myHomardYACS->SetMaxElem( MaxElem ); +} +//============================================================================= +CORBA::Long HOMARD_YACS_i::GetMaxElem() +{ + ASSERT( myHomardYACS ); + return CORBA::Long( myHomardYACS->GetMaxElem() ); +} +//============================================================================= void HOMARD_YACS_i::SetDirName( const char* NomDir ) { ASSERT( myHomardYACS ); diff --git a/src/HOMARD_I/HOMARD_YACS_i.hxx b/src/HOMARD_I/HOMARD_YACS_i.hxx index c67cfab7..f429e94b 100644 --- a/src/HOMARD_I/HOMARD_YACS_i.hxx +++ b/src/HOMARD_I/HOMARD_YACS_i.hxx @@ -69,6 +69,13 @@ public: void SetType( CORBA::Long Type ); CORBA::Long GetType(); + void SetMaxIter( CORBA::Long MaxIter ); + CORBA::Long GetMaxIter(); + void SetMaxNode( CORBA::Long MaxNode ); + CORBA::Long GetMaxNode(); + void SetMaxElem( CORBA::Long MaxElem ); + CORBA::Long GetMaxElem(); + void SetDirName( const char* NomDir ); char* GetDirName(); -- 2.39.2