From 3f613a8479a3f762cb01b9ce0fadef15331ecf75 Mon Sep 17 00:00:00 2001 From: eap Date: Tue, 9 Aug 2016 19:48:29 +0300 Subject: [PATCH] 23307: [EDF 7315] Improvement of DISTENE meshing plugins --- .../images/ghs3dprl_parameters_advanced.png | Bin 0 -> 12908 bytes .../images/ghs3dprl_parameters_basic.png | Bin 19048 -> 18503 bytes .../GHS3DPRLPLUGIN/input/ghs3dprl_hypo.doc | 7 + idl/GHS3DPRLPlugin_Algorithm.idl | 2 + src/GHS3DPRLPlugin/GHS3DPRLPluginBuilder.py | 6 + .../GHS3DPRLPlugin_GHS3DPRL.cxx | 354 +++++++++--------- .../GHS3DPRLPlugin_GHS3DPRL.hxx | 1 + .../GHS3DPRLPlugin_Hypothesis.cxx | 36 +- .../GHS3DPRLPlugin_Hypothesis.hxx | 30 +- .../GHS3DPRLPlugin_Hypothesis_i.cxx | 14 + .../GHS3DPRLPlugin_Hypothesis_i.hxx | 3 + src/gui/CMakeLists.txt | 2 +- .../GHS3DPRLPluginGUI_HypothesisCreator.cxx | 77 ++-- src/gui/GHS3DPRLPluginGUI_HypothesisCreator.h | 25 +- 14 files changed, 310 insertions(+), 247 deletions(-) create mode 100644 doc/salome/gui/GHS3DPRLPLUGIN/images/ghs3dprl_parameters_advanced.png diff --git a/doc/salome/gui/GHS3DPRLPLUGIN/images/ghs3dprl_parameters_advanced.png b/doc/salome/gui/GHS3DPRLPLUGIN/images/ghs3dprl_parameters_advanced.png new file mode 100644 index 0000000000000000000000000000000000000000..74265b7a292995586db370fd1670004496aba3f5 GIT binary patch literal 12908 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 literal 0 HcmV?d00001 diff --git a/doc/salome/gui/GHS3DPRLPLUGIN/images/ghs3dprl_parameters_basic.png b/doc/salome/gui/GHS3DPRLPLUGIN/images/ghs3dprl_parameters_basic.png index 78b369556114e5d4ab9ee5edcf3ae43e7e62c5af..32a7c36333646a55f6f8af1b339132e392d02544 100644 GIT binary patch literal 18503 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 literal 19048 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 bk-zZt&Fje_JU+nVo)|n`{an^LB{Ts5ssw|9 diff --git a/doc/salome/gui/GHS3DPRLPLUGIN/input/ghs3dprl_hypo.doc b/doc/salome/gui/GHS3DPRLPLUGIN/input/ghs3dprl_hypo.doc index 1d14049..fa0a8c1 100644 --- a/doc/salome/gui/GHS3DPRLPLUGIN/input/ghs3dprl_hypo.doc +++ b/doc/salome/gui/GHS3DPRLPLUGIN/input/ghs3dprl_hypo.doc @@ -72,6 +72,13 @@ combination with the Merge subdomains option). (mesh, global numbering and interfaces). +\image html ghs3dprl_parameters_advanced.png + +In \b Advanced tab page you can specify not exposed options of MG_Tetra-hpc. + +Add option adds a line to the table where you can type an option and its value as text. +A check box in the first column activates/deactivates the option of the current row. A deactivated option will be erased upon pressing \a Ok. +

Modifying MG-Tetra-hpc Advanced Parameters


MG-Tetra Parallel plug-in launches a standalone binary executable tetrahpc2med.
diff --git a/idl/GHS3DPRLPlugin_Algorithm.idl b/idl/GHS3DPRLPlugin_Algorithm.idl index adefb3a..8726bde 100755 --- a/idl/GHS3DPRLPlugin_Algorithm.idl +++ b/idl/GHS3DPRLPlugin_Algorithm.idl @@ -74,6 +74,8 @@ module GHS3DPRLPlugin void SetMaxSize(in float value); float GetMaxSize(); + void SetAdvancedOption( in string optAndVals ); + string GetAdvancedOption(); }; }; diff --git a/src/GHS3DPRLPlugin/GHS3DPRLPluginBuilder.py b/src/GHS3DPRLPlugin/GHS3DPRLPluginBuilder.py index b6747cc..195d31d 100644 --- a/src/GHS3DPRLPlugin/GHS3DPRLPluginBuilder.py +++ b/src/GHS3DPRLPlugin/GHS3DPRLPluginBuilder.py @@ -139,4 +139,10 @@ class GHS3DPRL_Algorithm(Mesh_Algorithm): self.Parameters().SetMaxSize(value) pass + ## Sets command line option as text. + # @param option command line option + def SetAdvancedOption(self, option): + self.Parameters().SetAdvancedOption(option) + pass + pass # end of GHS3DPRL_Algorithm class diff --git a/src/GHS3DPRLPlugin/GHS3DPRLPlugin_GHS3DPRL.cxx b/src/GHS3DPRLPlugin/GHS3DPRLPlugin_GHS3DPRL.cxx index 6db5e04..9b75f7b 100755 --- a/src/GHS3DPRLPlugin/GHS3DPRLPlugin_GHS3DPRL.cxx +++ b/src/GHS3DPRLPlugin/GHS3DPRLPlugin_GHS3DPRL.cxx @@ -246,15 +246,15 @@ void GHS3DPRLPlugin_GHS3DPRL::SetParameters(const GHS3DPRLPlugin_Hypothesis* hyp { if (hyp) { MESSAGE("GHS3DPRLPlugin_GHS3DPRL::SetParameters"); - _MEDName = hyp->GetMEDName(); //"DOMAIN\0" - _NbPart = hyp->GetNbPart(); - _KeepFiles = hyp->GetKeepFiles(); - _Background = hyp->GetBackground(); + _MEDName = hyp->GetMEDName(); //"DOMAIN\0" + _NbPart = hyp->GetNbPart(); + _KeepFiles = hyp->GetKeepFiles(); + _Background = hyp->GetBackground(); _Multithread = hyp->GetMultithread(); - //_ToMergeSubdomains = hyp->GetToMergeSubdomains(); - _Gradation = hyp->GetGradation(); - _MinSize = hyp->GetMinSize(); - _MaxSize = hyp->GetMaxSize(); + _Gradation = hyp->GetGradation(); + _MinSize = hyp->GetMinSize(); + _MaxSize = hyp->GetMaxSize(); + _AdvOptions = hyp->GetAdvancedOption(); } } @@ -288,181 +288,183 @@ static TCollection_AsciiString getTmpDir() //============================================================================= // Here we are going to use the GHS3DPRL mesher for tetra-hpc (formerly tepal in v3 (2014)) -bool GHS3DPRLPlugin_GHS3DPRL::Compute(SMESH_Mesh& theMesh, - const TopoDS_Shape& theShape) +bool GHS3DPRLPlugin_GHS3DPRL::Compute(SMESH_Mesh& theMesh, + const TopoDS_Shape& theShape) { - bool Ok=false; - TCollection_AsciiString pluginerror("ghs3dprl: "); - SMESHDS_Mesh* meshDS = theMesh.GetMeshDS(); - //cout<<"GetMeshDS done\n"; - if (_countSubMesh==0){ - MESSAGE("GHS3DPRLPlugin_GHS3DPRL::Compute for tetra-hpc"); - _countTotal=0; - TopExp_Explorer expf(meshDS->ShapeToMesh(), TopAbs_SOLID); - for ( ; expf.More(); expf.Next() ) _countTotal++; - } - _countSubMesh++; - //cout<<"Compute _countSubMesh "<<_countSubMesh<0) { - path=casenamemed.SubString(1,n); - casenamemed=casenamemed.SubString(n+1,casenamemed.Length()); - } - else - path=tmpDir; - - if (casenamemed.Length()>20){ - casenamemed=casenamemed.SubString(1,20); - cerr<<"MEDName truncated (no more 20 characters) = "< avoid warning message - //med_idt fid=MEDouvrir((const char *)fileskinmed.ToCString(),MED_CREATION); - //med_err ret=MEDfermer(fid); - //fileskinmed=fileskinmed + "cp /home/wambeke/empty.med "+ path + "GHS3DPRL_skin.med"; - //system( fileskinmed.ToCString() ); - fileskinmed=path + "GHS3DPRL_skin.med"; - cout<<" Write file "<ShapeToMesh(), TopAbs_SOLID); + for ( ; expf.More(); expf.Next() ) _countTotal++; + } + _countSubMesh++; + //cout<<"Compute _countSubMesh "<<_countSubMesh<0) { + path=casenamemed.SubString(1,n); + casenamemed=casenamemed.SubString(n+1,casenamemed.Length()); + } + else + path=tmpDir; + + if (casenamemed.Length()>20){ + casenamemed=casenamemed.SubString(1,20); + cerr<<"MEDName truncated (no more 20 characters) = "< avoid warning message + //med_idt fid=MEDouvrir((const char *)fileskinmed.ToCString(),MED_CREATION); + //med_err ret=MEDfermer(fid); + //fileskinmed=fileskinmed + "cp /home/wambeke/empty.med "+ path + "GHS3DPRL_skin.med"; + //system( fileskinmed.ToCString() ); + fileskinmed=path + "GHS3DPRL_skin.med"; + cout<<" Write file "<(load >> len >> std::ws); + if ( isOK && len > 0 ) + { + _AdvOptions.resize( len ); + load.get( &_AdvOptions[0], len + 1); + } return load; } @@ -250,7 +264,7 @@ std::istream& operator >>(std::istream& load, GHS3DPRLPlugin_Hypothesis& hyp) */ //================================================================================ bool GHS3DPRLPlugin_Hypothesis::SetParametersByMesh(const SMESH_Mesh* theMesh, - const TopoDS_Shape& theShape) + const TopoDS_Shape& theShape) { return false; } diff --git a/src/GHS3DPRLPlugin/GHS3DPRLPlugin_Hypothesis.hxx b/src/GHS3DPRLPlugin/GHS3DPRLPlugin_Hypothesis.hxx index 877bf70..c0cacbe 100755 --- a/src/GHS3DPRLPlugin/GHS3DPRLPlugin_Hypothesis.hxx +++ b/src/GHS3DPRLPlugin/GHS3DPRLPlugin_Hypothesis.hxx @@ -66,6 +66,8 @@ public: void SetMaxSize(float theVal); float GetMaxSize() const { return _MaxSize; } + void SetAdvancedOption(const char* theOptAndVals ); + std::string GetAdvancedOption() const { return _AdvOptions; } // the parameters default values @@ -81,8 +83,6 @@ public: // Persistence virtual std::ostream& SaveTo(std::ostream& save); virtual std::istream& LoadFrom(std::istream& load); - friend std::ostream& operator <<(std::ostream& save, GHS3DPRLPlugin_Hypothesis& hyp); - friend std::istream& operator >>(std::istream& load, GHS3DPRLPlugin_Hypothesis& hyp); /*! * \brief Does nothing @@ -98,19 +98,19 @@ public: virtual bool SetParametersByDefaults(const TDefaults& dflts, const SMESH_Mesh* theMesh=0); private: - int _countSubMesh; - int _countTotal; - int _nodeRefNumber; - - std::string _MEDName; // generic path/name of med files - int _NbPart; // number of partitions - bool _KeepFiles; // keep intermediates tepal files or not - bool _Background; // mg-tetra_hpc in background - bool _Multithread; // launch mg-tetra_hpc multithread version, else mpi version -// bool _ToMergeSubdomains; - float _Gradation; - float _MinSize; - float _MaxSize; + int _countSubMesh; + int _countTotal; + int _nodeRefNumber; + + std::string _MEDName; // generic path/name of med files + int _NbPart; // number of partitions + bool _KeepFiles; // keep intermediates tepal files or not + bool _Background; // mg-tetra_hpc in background + bool _Multithread; // launch mg-tetra_hpc multithread version, else mpi version + float _Gradation; + float _MinSize; + float _MaxSize; + std::string _AdvOptions; }; #endif diff --git a/src/GHS3DPRLPlugin/GHS3DPRLPlugin_Hypothesis_i.cxx b/src/GHS3DPRLPlugin/GHS3DPRLPlugin_Hypothesis_i.cxx index 5378d6e..68cb74b 100755 --- a/src/GHS3DPRLPlugin/GHS3DPRLPlugin_Hypothesis_i.cxx +++ b/src/GHS3DPRLPlugin/GHS3DPRLPlugin_Hypothesis_i.cxx @@ -228,6 +228,20 @@ CORBA::Float GHS3DPRLPlugin_Hypothesis_i::GetMaxSize() return this->GetImpl()->GetMaxSize(); } +void GHS3DPRLPlugin_Hypothesis_i::SetAdvancedOption(const char* theOptAndVals ) +{ + if ( theOptAndVals && GetImpl()->GetAdvancedOption() != theOptAndVals ) + { + GetImpl()->SetAdvancedOption( theOptAndVals ); + SMESH::TPythonDump() << _this() << ".SetAdvancedOption( '" << theOptAndVals << "' )"; + } +} + +char* GHS3DPRLPlugin_Hypothesis_i::GetAdvancedOption() +{ + return CORBA::string_dup( GetImpl()->GetAdvancedOption().c_str() ); +} + //============================================================================= /*! * GHS3DPRLPlugin_Hypothesis_i::GetImpl diff --git a/src/GHS3DPRLPlugin/GHS3DPRLPlugin_Hypothesis_i.hxx b/src/GHS3DPRLPlugin/GHS3DPRLPlugin_Hypothesis_i.hxx index ab8d888..c10e711 100755 --- a/src/GHS3DPRLPlugin/GHS3DPRLPlugin_Hypothesis_i.hxx +++ b/src/GHS3DPRLPlugin/GHS3DPRLPlugin_Hypothesis_i.hxx @@ -77,6 +77,9 @@ class GHS3DPRLPLUGIN_EXPORT GHS3DPRLPlugin_Hypothesis_i: void SetMaxSize(CORBA::Float theVal); CORBA::Float GetMaxSize(); + void SetAdvancedOption(const char* theOptAndVals ); + char* GetAdvancedOption(); + // Get implementation ::GHS3DPRLPlugin_Hypothesis* GetImpl(); diff --git a/src/gui/CMakeLists.txt b/src/gui/CMakeLists.txt index e308e12..cdd0250 100644 --- a/src/gui/CMakeLists.txt +++ b/src/gui/CMakeLists.txt @@ -49,7 +49,7 @@ SET(_link_LIBRARIES ${KERNEL_SALOMELocalTrace} ${GEOM_GEOM} ${SMESH_SMESH} - ${SMESH_GeomSelectionTools} + ${SMESH_PluginUtils} ${SMESH_StdMeshersGUI} ${SMESH_SMESHFiltersSelection} ${GUI_suit} diff --git a/src/gui/GHS3DPRLPluginGUI_HypothesisCreator.cxx b/src/gui/GHS3DPRLPluginGUI_HypothesisCreator.cxx index a573172..28d533b 100755 --- a/src/gui/GHS3DPRLPluginGUI_HypothesisCreator.cxx +++ b/src/gui/GHS3DPRLPluginGUI_HypothesisCreator.cxx @@ -26,6 +26,7 @@ #include #include +#include #include CORBA_SERVER_HEADER(GHS3DPRLPlugin_Algorithm) @@ -35,13 +36,14 @@ #include #include +#include #include +#include #include #include #include -#include +#include #include -#include GHS3DPRLPluginGUI_HypothesisCreator::GHS3DPRLPluginGUI_HypothesisCreator( const QString& theHypType ) : SMESHGUI_GenericHypothesisCreator( theHypType ), @@ -71,7 +73,14 @@ QFrame* GHS3DPRLPluginGUI_HypothesisCreator::buildFrame() lay->setMargin( 5 ); lay->setSpacing( 0 ); - QGroupBox* GroupC1 = new QGroupBox( tr( "SMESH_ARGUMENTS" ), fr ); + // tab + QTabWidget* tab = new QTabWidget( fr ); + tab->setTabShape( QTabWidget::Rounded ); + tab->setTabPosition( QTabWidget::North ); + lay->addWidget( tab ); + + // basic parameters + QWidget* GroupC1 = new QWidget(); lay->addWidget( GroupC1 ); QGridLayout* l = new QGridLayout( GroupC1 ); @@ -155,6 +164,12 @@ QFrame* GHS3DPRLPluginGUI_HypothesisCreator::buildFrame() myIs3D = true; + myAdvTable = new SMESH_AdvOptionsWdg( fr ); + + // add tabs + tab->insertTab( 0, GroupC1, tr( "SMESH_ARGUMENTS" )); + tab->insertTab( 1, myAdvTable, tr( "SMESH_ADVANCED" )); + return fr; } @@ -174,6 +189,7 @@ void GHS3DPRLPluginGUI_HypothesisCreator::retrieveParams() const myGradation->setValue( data.myGradation ); myMinSize->setValue( data.myMinSize ); myMaxSize->setValue( data.myMaxSize ); + myAdvTable->SetCustomOptions( data.myAdvOptions ); } QString GHS3DPRLPluginGUI_HypothesisCreator::storeParams() const @@ -203,17 +219,16 @@ bool GHS3DPRLPluginGUI_HypothesisCreator::readParamsFromHypo( GHS3DPRLHypothesis GHS3DPRLPlugin::GHS3DPRLPlugin_Hypothesis::_narrow( initParamsHypothesis() ); HypothesisData* data = SMESH::GetHypothesisData( hypType() ); - h_data.myName = isCreation() && data ? hypName() : ""; - h_data.myMEDName = h->GetMEDName(); //"DOMAIN\0"; - h_data.myNbPart = h->GetNbPart(); - h_data.myKeepFiles = h->GetKeepFiles(); - h_data.myBackground = h->GetBackground(); + h_data.myName = isCreation() && data ? hypName() : ""; + h_data.myMEDName = SMESH::toQStr( h->GetMEDName() ); //"DOMAIN\0"; + h_data.myNbPart = h->GetNbPart(); + h_data.myKeepFiles = h->GetKeepFiles(); + h_data.myBackground = h->GetBackground(); h_data.myMultithread = h->GetMultithread(); - //h_data.myToMeshHoles = h->GetToMeshHoles(); - //h_data.myToMergeSubdomains = h->GetToMergeSubdomains(); - h_data.myGradation = h->GetGradation(); - h_data.myMinSize = h->GetMinSize(); - h_data.myMaxSize = h->GetMaxSize(); + h_data.myGradation = h->GetGradation(); + h_data.myMinSize = h->GetMinSize(); + h_data.myMaxSize = h->GetMaxSize(); + h_data.myAdvOptions = SMESH::toQStr( h->GetAdvancedOption() ); return true; } @@ -229,16 +244,15 @@ bool GHS3DPRLPluginGUI_HypothesisCreator::storeParamsToHypo( const GHS3DPRLHypot if ( isCreation() ) SMESH::SetName( SMESH::FindSObject( h ), h_data.myName.toLatin1().constData() ); - h->SetMEDName( h_data.myMEDName.toLatin1().constData() ); - h->SetNbPart( h_data.myNbPart ); - h->SetKeepFiles( h_data.myKeepFiles ); - h->SetBackground( h_data.myBackground ); - h->SetMultithread( h_data.myMultithread ); - //h->SetToMeshHoles( h_data.myToMeshHoles ); - //h->SetToMergeSubdomains( h_data.myToMergeSubdomains ); - h->SetGradation( h_data.myGradation ); - h->SetMinSize( h_data.myMinSize ); - h->SetMaxSize( h_data.myMaxSize ); + h->SetMEDName ( h_data.myMEDName.toLatin1().constData() ); + h->SetNbPart ( h_data.myNbPart ); + h->SetKeepFiles ( h_data.myKeepFiles ); + h->SetBackground ( h_data.myBackground ); + h->SetMultithread ( h_data.myMultithread ); + h->SetGradation ( h_data.myGradation ); + h->SetMinSize ( h_data.myMinSize ); + h->SetMaxSize ( h_data.myMaxSize ); + h->SetAdvancedOption( h_data.myAdvOptions.toLatin1().constData() ); } catch ( const SALOME::SALOME_Exception& ex ) { @@ -250,16 +264,15 @@ bool GHS3DPRLPluginGUI_HypothesisCreator::storeParamsToHypo( const GHS3DPRLHypot bool GHS3DPRLPluginGUI_HypothesisCreator::readParamsFromWidgets( GHS3DPRLHypothesisData& h_data ) const { - h_data.myName = myName ? myName->text() : ""; - h_data.myMEDName = myMEDName->text().simplified().replace(' ', '_'); - h_data.myNbPart = myNbPart->value(); - h_data.myKeepFiles = myKeepFiles->isChecked(); + h_data.myName = myName ? myName->text() : ""; + h_data.myMEDName = myMEDName->text().simplified().replace(' ', '_'); + h_data.myNbPart = myNbPart->value(); + h_data.myKeepFiles = myKeepFiles->isChecked(); h_data.myBackground = myBackground->isChecked(); - //h_data.myToMeshHoles = myToMeshHoles->isChecked(); - //h_data.myToMergeSubdomains = myToMergeSubdomains->isChecked(); - h_data.myGradation = myGradation->value(); - h_data.myMinSize = myMinSize->value(); - h_data.myMaxSize = myMaxSize->value(); + h_data.myGradation = myGradation->value(); + h_data.myMinSize = myMinSize->value(); + h_data.myMaxSize = myMaxSize->value(); + h_data.myAdvOptions = myAdvTable->GetCustomOptions(); return true; } diff --git a/src/gui/GHS3DPRLPluginGUI_HypothesisCreator.h b/src/gui/GHS3DPRLPluginGUI_HypothesisCreator.h index 9ecef8a..fb9fef7 100755 --- a/src/gui/GHS3DPRLPluginGUI_HypothesisCreator.h +++ b/src/gui/GHS3DPRLPluginGUI_HypothesisCreator.h @@ -42,6 +42,7 @@ class QtxIntSpinBox; class QtxDoubleSpinBox; class QCheckBox; class QLineEdit; +class SMESH_AdvOptionsWdg; typedef struct { @@ -56,6 +57,7 @@ typedef struct float myGradation; float myMinSize; float myMaxSize; + QString myAdvOptions; } GHS3DPRLHypothesisData; /*! @@ -87,18 +89,17 @@ private: bool storeParamsToHypo( const GHS3DPRLHypothesisData& ) const; private: - QLineEdit* myName; - QLineEdit* myMEDName; - QtxIntSpinBox* myNbPart; - QCheckBox* myKeepFiles; - QCheckBox* myBackground; - QCheckBox* myMultithread; - //QCheckBox* myToMeshHoles; - //QCheckBox* myToMergeSubdomains; - QtxDoubleSpinBox* myGradation; - QtxDoubleSpinBox* myMinSize; - QtxDoubleSpinBox* myMaxSize; - bool myIs3D; + QLineEdit* myName; + QLineEdit* myMEDName; + QtxIntSpinBox* myNbPart; + QCheckBox* myKeepFiles; + QCheckBox* myBackground; + QCheckBox* myMultithread; + QtxDoubleSpinBox* myGradation; + QtxDoubleSpinBox* myMinSize; + QtxDoubleSpinBox* myMaxSize; + bool myIs3D; + SMESH_AdvOptionsWdg* myAdvTable; }; #endif // GHS3DPRLPLUGINGUI_HypothesisCreator_H -- 2.39.2