diff --git a/src/Mod/Fem/Gui/DlgSettingsFemElmer.ui b/src/Mod/Fem/Gui/DlgSettingsFemElmer.ui index de8da1844e..598048f7d0 100644 --- a/src/Mod/Fem/Gui/DlgSettingsFemElmer.ui +++ b/src/Mod/Fem/Gui/DlgSettingsFemElmer.ui @@ -6,15 +6,15 @@ 0 0 - 400 - 203 + 350 + 259 Elmer - - + + @@ -39,6 +39,46 @@ + + + + false + + + + 0 + 0 + + + + + 0 + 0 + + + + + 0 + 0 + + + + + 0 + 0 + + + + <html><head/><body><p>Leave blank to use default Elmer elmer binary file</p><p><span style=" font-weight:600;">Note:</span> To use multithreading you must specify here<br> the executable variant with the suffix &quot;_mpi&quot;.</p></body></html> + + + elmerBinaryPath + + + Mod/Fem/Elmer + + + @@ -55,22 +95,6 @@ - - - - false - - - - 100 - 0 - - - - ElmerGrid binary path - - - @@ -134,6 +158,22 @@ + + + + false + + + + 100 + 0 + + + + ElmerGrid binary path + + + @@ -150,54 +190,23 @@ - - - - false - - - - 0 - 0 - - - - - 0 - 0 - - - - - 0 - 0 - - - - - 0 - 0 - - - - <html><head/><body><p>Leave blank to use default Elmer elmer binary file</p><p><span style=" font-weight:600;">Note:</span> To use multithreading you must specify here<br> the executable variant with the suffix &quot;_mpi&quot;.</p></body></html> - - - elmerBinaryPath - - - Mod/Fem/Elmer - - - - - + + + + + + + Options + + + + Multithreading: - + @@ -246,10 +255,37 @@ + + + + Multi-CPU core support: + + + + + + + The mesh volume regions processed by each CPU core +will be merged to make the volume boundaries invisible. + + + Filter results + + + true + + + FilterMultiCPUResults + + + Mod/Fem/Elmer + + + - + Qt::Vertical diff --git a/src/Mod/Fem/Gui/DlgSettingsFemElmerImp.cpp b/src/Mod/Fem/Gui/DlgSettingsFemElmerImp.cpp index 40110f59d7..201bbe3f24 100644 --- a/src/Mod/Fem/Gui/DlgSettingsFemElmerImp.cpp +++ b/src/Mod/Fem/Gui/DlgSettingsFemElmerImp.cpp @@ -70,6 +70,7 @@ void DlgSettingsFemElmerImp::saveSettings() ui->fc_grid_binary_path->onSave(); ui->sb_elmer_num_cores->onSave(); + ui->cb_elmer_filtering->onSave(); } void DlgSettingsFemElmerImp::loadSettings() @@ -81,6 +82,7 @@ void DlgSettingsFemElmerImp::loadSettings() ui->fc_grid_binary_path->onRestore(); ui->sb_elmer_num_cores->onRestore(); + ui->cb_elmer_filtering->onRestore(); } /** diff --git a/src/Mod/Fem/Gui/ViewProviderFemPostObject.cpp b/src/Mod/Fem/Gui/ViewProviderFemPostObject.cpp index 7f664962ff..7e0ac35dde 100644 --- a/src/Mod/Fem/Gui/ViewProviderFemPostObject.cpp +++ b/src/Mod/Fem/Gui/ViewProviderFemPostObject.cpp @@ -706,9 +706,14 @@ void ViewProviderFemPostObject::filterArtifacts(vtkDataObject* data) m_wireframe->SetInputData(data); m_points->SetInputData(data); - // filter artifacts - // only necessary for the surface filter - filterArtifacts(data); + // filtering artifacts is only necessary for the surface filter + auto hGrp = App::GetApplication().GetParameterGroupByPath( + "User parameter:BaseApp/Preferences/Mod/Fem/Elmer"); + bool FilterMultiCPUResults = hGrp->GetBool("FilterMultiCPUResults", 1); + if (FilterMultiCPUResults) + filterArtifacts(data); + else + m_surface->SetInputData(data); return true; }