From 67d70c9621db146d6d8380d2c163ea1d49d49eef Mon Sep 17 00:00:00 2001 From: jfa Date: Fri, 17 Dec 2021 18:39:40 +0300 Subject: [PATCH] Debug, example --- doc/salome/examples/CMakeLists.txt | 2 +- doc/salome/examples/test_homard_adapt.med | Bin 0 -> 25892 bytes doc/salome/examples/test_homard_adapt.py | 96 ++++++++++++++++++++++ doc/salome/examples/tests.set | 1 + src/SMESH/SMESH_Homard.cxx | 17 ++-- src/SMESHGUI/SMESHGUI_HomardAdaptDlg.cxx | 14 +--- src/SMESHGUI/SMESHGUI_HomardUtils.cxx | 13 +-- src/SMESH_I/SMESH_Homard_i.cxx | 71 ++++++++++------ src/SMESH_I/SMESH_Homard_i.hxx | 1 + 9 files changed, 163 insertions(+), 52 deletions(-) create mode 100644 doc/salome/examples/test_homard_adapt.med create mode 100644 doc/salome/examples/test_homard_adapt.py diff --git a/doc/salome/examples/CMakeLists.txt b/doc/salome/examples/CMakeLists.txt index df54d5a08..d327b91a8 100644 --- a/doc/salome/examples/CMakeLists.txt +++ b/doc/salome/examples/CMakeLists.txt @@ -42,7 +42,7 @@ SALOME_INSTALL_SCRIPTS("${EXAMPLES_TESTS}" ${SALOME_INSTALL_DOC}/examples/SMESH) SET(TEST_INSTALL_DIRECTORY ${SALOME_INSTALL_SCRIPT_SCRIPTS}/test) INSTALL(FILES ${GOOD_TESTS} ${BAD_TESTS} ${SESSION_FREE_TESTS} DESTINATION ${TEST_INSTALL_DIRECTORY}) -INSTALL(FILES Mesh_tri.med DESTINATION ${TEST_INSTALL_DIRECTORY}) +INSTALL(FILES Mesh_tri.med test_homard_adapt.med DESTINATION ${TEST_INSTALL_DIRECTORY}) INSTALL(FILES CTestTestfileInstall.cmake DESTINATION ${TEST_INSTALL_DIRECTORY} diff --git a/doc/salome/examples/test_homard_adapt.med b/doc/salome/examples/test_homard_adapt.med new file mode 100644 index 0000000000000000000000000000000000000000..1dae05c2a7662ef5e686ad7af0f8ae5a1873e6fc GIT binary patch literal 25892 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 _HOMARD_Exec ="<<_HOMARD_Exec) ; -// + // _siter = siter ; _siterp1 = siterp1 ; } diff --git a/src/SMESHGUI/SMESHGUI_HomardAdaptDlg.cxx b/src/SMESHGUI/SMESHGUI_HomardAdaptDlg.cxx index 27674b988..40fe30e26 100644 --- a/src/SMESHGUI/SMESHGUI_HomardAdaptDlg.cxx +++ b/src/SMESHGUI/SMESHGUI_HomardAdaptDlg.cxx @@ -99,7 +99,6 @@ SMESHGUI_HomardAdaptDlg::SMESHGUI_HomardAdaptDlg(SMESHHOMARD::HOMARD_Gen_ptr myH myAdvOpt->removeLogOnSuccessCheck ->setText (tr( "REMOVE_LOG_ON_SUCCESS" )); myAdvOpt->keepWorkingFilesCheck ->setText (tr( "KEEP_WORKING_FILES" )); - // disable // TODO??? myAdvOpt->logInFileCheck->setChecked(true); myAdvOpt->removeLogOnSuccessCheck->setChecked(false); @@ -151,7 +150,6 @@ SMESHGUI_HomardAdaptDlg::SMESHGUI_HomardAdaptDlg(SMESHHOMARD::HOMARD_Gen_ptr myH l->addLayout( btnLayout ); // dialog name and size - /* resize(600, 1150); QSizePolicy sizePolicy(QSizePolicy::Preferred, QSizePolicy::Preferred); sizePolicy.setHorizontalStretch(0); @@ -160,9 +158,8 @@ SMESHGUI_HomardAdaptDlg::SMESHGUI_HomardAdaptDlg(SMESHHOMARD::HOMARD_Gen_ptr myH setSizePolicy(sizePolicy); setMinimumSize(QSize(600, 320)); setSizeIncrement(QSize(1, 1)); - setBaseSize(QSize(600, 320)); + setBaseSize(QSize(600, 600)); setAutoFillBackground(true); - */ SetBoundaryNo(); InitConnect(); @@ -216,7 +213,6 @@ void SMESHGUI_HomardAdaptDlg::InitConnect() connect( buttonHelp, SIGNAL(pressed()), this, SLOT(PushOnHelp())); connect(myArgs, SIGNAL(updateSelection()), this, SLOT(updateSelection())); - connect(myArgs, SIGNAL(toExportMED(const char*)), this, SLOT(exportMED(const char*))); } //================================================================================= @@ -383,8 +379,6 @@ bool SMESHGUI_HomardAdaptDlg::PushOnApply() if (!CheckCase(true)) return false; - MESSAGE("PushOnApply: *** aaajfa *** 12"); - // Create boundaries if (myArgs->RBBoundaryCAO->isChecked()) { QString monBoundaryCAOName = myArgs->CBBoundaryCAO->currentText(); @@ -415,7 +409,6 @@ bool SMESHGUI_HomardAdaptDlg::PushOnApply() } } } - MESSAGE("PushOnApply: *** aaajfa *** 13"); // Output MED and MESH parameters myHomardGen->SetKeepMedOUT(myArgs->myOutMedFileChk->isChecked()); @@ -475,7 +468,6 @@ bool SMESHGUI_HomardAdaptDlg::PushOnApply() MESSAGE("myHomardGen->SetLogFile(" << anOutLog.toStdString().c_str() << ")"); myHomardGen->SetLogFile(anOutLog.toStdString().c_str()); } - MESSAGE("PushOnApply: *** aaajfa *** 14"); // Compute and publish bool isSuccess = true; @@ -487,7 +479,6 @@ bool SMESHGUI_HomardAdaptDlg::PushOnApply() QObject::tr(CORBA::string_dup(S_ex.details.text)) ); isSuccess = false; } - MESSAGE("PushOnApply: *** aaajfa *** 15"); // Update Object Browser if (isSuccess) { @@ -507,7 +498,6 @@ bool SMESHGUI_HomardAdaptDlg::PushOnApply() myAdvOpt->workingDirectoryLineEdit->setReadOnly(false); myAdvOpt->workingDirectoryPushButton->setEnabled(true); - MESSAGE("PushOnApply: *** aaajfa *** THE END"); return isSuccess; } @@ -1051,7 +1041,7 @@ void SMESHGUI_HomardAdaptArguments::setupUi(QWidget *CreateCase) argumentsLayout->setColumnStretch( 1, 5 ); argumentsLayout->setRowStretch( 4, 5 ); - mySelectInMedFileButton->setText(QString()); + //mySelectInMedFileButton->setText(QString()); CBBoundaryD->setText(QApplication::translate("CreateCase", "Discrete boundary", nullptr)); CBBoundaryA->setText(QApplication::translate("CreateCase", "Analytical boundary", nullptr)); PBBoundaryCAOEdit->setText(QApplication::translate("CreateCase", "Edit", nullptr)); diff --git a/src/SMESHGUI/SMESHGUI_HomardUtils.cxx b/src/SMESHGUI/SMESHGUI_HomardUtils.cxx index 6d18e19b4..30361c9ce 100644 --- a/src/SMESHGUI/SMESHGUI_HomardUtils.cxx +++ b/src/SMESHGUI/SMESHGUI_HomardUtils.cxx @@ -364,18 +364,19 @@ QString SMESH_HOMARD_QT_COMMUN::PushNomFichier(bool avertir, QString TypeFichier if ( TypeFichier == "med" ) { filtre = QString("Med") ; } else if ( TypeFichier == "py" ) { filtre = QString("Python") ; } else { filtre = TypeFichier ; } -// + // if ( TypeFichier != "" ) { filtre += QString(" files (*.") + TypeFichier + QString(");;") ; } -// + // filtre += QString("all (*) ") ; -// + // // B. Selection - int nbSel = SMESH_HOMARD_UTILS::IObjectCount() ; -// MESSAGE("nbSel ="< +#include "SMESH_Gen_i.hxx" #include "SMESH_PythonDump.hxx" +#include "SMESH_File.hxx" + +// TODO? //#include "FrontTrack.hxx" #include "utilities.h" @@ -933,7 +936,9 @@ HOMARD_Gen_i::HOMARD_Gen_i() : SALOME::GenericObj_i(SMESH_Gen_i::GetPOA()), _MeshNameOUT(""), _MeshFileOUT(""), _LogFile(""), - _CaseOnMedFile(true) + _CaseOnMedFile(true), + _SmeshMesh(SMESH::SMESH_Mesh::_nil()), + _TmpMeshFile("") { MESSAGE("constructor de HOMARD_Gen_i"); myHomard = new SMESHHOMARDImpl::HOMARD_Gen; @@ -946,6 +951,9 @@ HOMARD_Gen_i::HOMARD_Gen_i() : SALOME::GenericObj_i(SMESH_Gen_i::GetPOA()), //============================================================================= HOMARD_Gen_i::~HOMARD_Gen_i() { + if (!myCase->_is_nil()) { + CleanCase(); + } } //============================================================================= @@ -1202,9 +1210,16 @@ SMESHHOMARD::HOMARD_Cas_ptr HOMARD_Gen_i::CreateCaseOnMesh (const char* MeshName MESSAGE("CreateCaseOnMesh : smeshMesh is not nil"); // A.3. Write mesh object in a temporary file in the working directory - std::string aTmpMeshFile (theWorkingDir); - aTmpMeshFile += std::string("/") + std::string(MeshName) + "_saved_from_SMESH.med"; // TODO: unique - const char* MeshFile = aTmpMeshFile.c_str(); + std::string aTmpMeshFile = theWorkingDir; + aTmpMeshFile = theWorkingDir; + aTmpMeshFile += std::string("/") + std::string(MeshName) + "_saved_from_SMESH"; + _TmpMeshFile = aTmpMeshFile + ".med"; + SMESH_File aFile (_TmpMeshFile, false); + for (int ii = 1; aFile.exists(); ii++) { + _TmpMeshFile = aTmpMeshFile + std::string("_") + std::to_string(ii) + ".med"; + aFile = SMESH_File(_TmpMeshFile, false); + } + const char* MeshFile = _TmpMeshFile.c_str(); bool toOverwrite = true; bool toFindOutDim = true; @@ -1816,13 +1831,6 @@ CORBA::Long HOMARD_Gen_i::Compute() // Python Dump PythonDump(); - // Delete log file, if required - MESSAGE("myIteration1->GetLogFile() = " << myIteration1->GetLogFile()); - if (_LogInFile && _RemoveLogOnSuccess) { - // Remove log file on success - // TODO: QFile(myIteration->GetLogFile()).remove(); - } - // Clean all data CleanCase(); } @@ -1832,6 +1840,13 @@ CORBA::Long HOMARD_Gen_i::Compute() void HOMARD_Gen_i::CleanCase() { + // Delete log file, if required + MESSAGE("myIteration1->GetLogFile() = " << myIteration1->GetLogFile()); + if (_LogInFile && _RemoveLogOnSuccess) { + // Remove log file on success + SMESH_File(myIteration1->GetLogFile(), false).remove(); + } + // Delete all boundaries std::map::const_iterator it_boundary; for (it_boundary = _mesBoundarys.begin(); @@ -1848,6 +1863,13 @@ void HOMARD_Gen_i::CleanCase() // Delete case DeleteCase(); + + // Delete tmp mesh file + if (!_CaseOnMedFile && !_TmpMeshFile.empty()) { + SMESH_File aFile (_TmpMeshFile, false); + if (aFile.exists()) aFile.remove(); + } + _SmeshMesh = SMESH::SMESH_Mesh::_nil(); } //============================================================================= @@ -2041,6 +2063,7 @@ CORBA::Long HOMARD_Gen_i::ComputeCAO(SMESHHOMARD::HOMARD_Cas_var myCase, // C. Lancement des projections MESSAGE (". Lancement des projections"); + // TODO? //FrontTrack* myFrontTrack = new FrontTrack(); //myFrontTrack->track(theInputMedFile, theOutputMedFile, theInputNodeFiles, theXaoFileName, theIsParallel); @@ -2505,6 +2528,9 @@ void HOMARD_Gen_i::PublishResultInSmesh(const char* NomFich, CORBA::Long Option) SALOMEDS::SObject_var aSmeshSO = SMESH_Gen_i::GetSMESHGen()->getStudyServant()->FindComponent("SMESH"); // + // TODO? + // Temporary suppressed depublication of mesh with the same name of file + /* if (!CORBA::is_nil(aSmeshSO)) { // On verifie que le fichier n est pas deja publie SALOMEDS::ChildIterator_var aIter = @@ -2535,27 +2561,24 @@ void HOMARD_Gen_i::PublishResultInSmesh(const char* NomFich, CORBA::Long Option) } } } + */ // On enregistre le fichier MESSAGE("Enregistrement du fichier"); // //SMESH::SMESH_Gen_var aSmeshEngine = this->retrieveSMESHInst(); SMESH_Gen_i* aSmeshEngine = SMESH_Gen_i::GetSMESHGen(); - MESSAGE(" *** aaajfa *** !!! 1"); // //ASSERT(!CORBA::is_nil(aSmeshEngine)); aSmeshEngine->UpdateStudy(); SMESH::DriverMED_ReadStatus theStatus; // On met a jour les attributs AttributeExternalFileDef et AttributePixMap - MESSAGE(" *** aaajfa *** !!! 2"); SMESH::mesh_array* mesMaillages = aSmeshEngine->CreateMeshesFromMED(NomFich, theStatus); - MESSAGE(" *** aaajfa *** !!! 3"); if (CORBA::is_nil(aSmeshSO)) { aSmeshSO = SMESH_Gen_i::GetSMESHGen()->getStudyServant()->FindComponent("SMESH"); if (CORBA::is_nil(aSmeshSO)) return; } - MESSAGE(" *** aaajfa *** !!! 4"); for (int i = 0; i < (int)mesMaillages->length(); i++) { MESSAGE(". Mise a jour des attributs du maillage"); @@ -2578,7 +2601,6 @@ void HOMARD_Gen_i::PublishResultInSmesh(const char* NomFich, CORBA::Long Option) else { icone = "mesh_tree_mesh.png"; } anAttr2->SetPixMap(icone); } - MESSAGE(" *** aaajfa *** !!! 5"); } //============================================================================= @@ -2629,7 +2651,8 @@ void HOMARD_Gen_i::PythonDump() // SMESH_Homard pd << "import SMESHHOMARD\n"; - pd << "smeshhomard = " << SMESH_Gen_i::GetSMESHGen() << ".CreateHOMARD_ADAPT()\n"; + //pd << "smeshhomard = " << SMESH_Gen_i::GetSMESHGen() << ".CreateHOMARD_ADAPT()\n"; + pd << "smeshhomard = " << SMESH_Gen_i::GetSMESHGen() << ".Adaptation(\"Uniform\")\n"; // Boundaries if (_mesBoundarys.size() > 0) MESSAGE(". Creation of the boundaries"); @@ -2652,21 +2675,21 @@ void HOMARD_Gen_i::PythonDump() else { pd << "Case_1 = smeshhomard.CreateCaseOnMesh(\"" << myIteration0->GetMeshName(); pd << "\", " << _SmeshMesh; - pd << ", \"" << myCase->GetDirName() << "\")\n"; + pd << ".GetMesh(), \"" << myCase->GetDirName() << "\")\n"; } pd << myCase->GetDumpPython(); // Preferences - pd << "smeshhomard.SetKeepMedOUT(" << _KeepMedOUT << ")\n"; - pd << "smeshhomard.SetPublishMeshOUT(" << _PublishMeshOUT << ")\n"; + pd << "smeshhomard.SetKeepMedOUT(" << (_KeepMedOUT ? "True" : "False") << ")\n"; + pd << "smeshhomard.SetPublishMeshOUT(" << (_PublishMeshOUT ? "True" : "False") << ")\n"; pd << "smeshhomard.SetMeshNameOUT(\"" << _MeshNameOUT << "\")\n"; pd << "smeshhomard.SetMeshFileOUT(\"" << _MeshFileOUT << "\")\n"; - pd << "smeshhomard.SetKeepWorkingFiles(" << _KeepWorkingFiles << ")\n"; - pd << "smeshhomard.SetLogInFile(" << _LogInFile << ")\n"; + pd << "smeshhomard.SetKeepWorkingFiles(" << (_KeepWorkingFiles ? "True" : "False") << ")\n"; + pd << "smeshhomard.SetLogInFile(" << (_LogInFile ? "True" : "False") << ")\n"; if (_LogInFile) pd << "smeshhomard.SetLogFile(\"" << _LogFile << "\")\n"; - pd << "smeshhomard.SetRemoveLogOnSuccess(" << _RemoveLogOnSuccess << ")\n"; + pd << "smeshhomard.SetRemoveLogOnSuccess(" << (_RemoveLogOnSuccess ? "True" : "False") << ")\n"; pd << "smeshhomard.SetVerboseLevel(" << _VerboseLevel << ")\n"; // Compute diff --git a/src/SMESH_I/SMESH_Homard_i.hxx b/src/SMESH_I/SMESH_Homard_i.hxx index 3f08b4d2f..ba025e057 100644 --- a/src/SMESH_I/SMESH_Homard_i.hxx +++ b/src/SMESH_I/SMESH_Homard_i.hxx @@ -342,6 +342,7 @@ private: // Input data type bool _CaseOnMedFile; SMESH::SMESH_Mesh_var _SmeshMesh; + std::string _TmpMeshFile; }; SMESH_I_EXPORT std::vector GetBoundingBoxInMedFile(const char * aFile); -- 2.39.2