From dbc541f0a0d96cd5511d544511afcd1eaa6afada Mon Sep 17 00:00:00 2001 From: marioalexis84 <53127171+marioalexis84@users.noreply.github.com> Date: Mon, 6 May 2024 13:23:08 -0300 Subject: [PATCH] Fem: Reset field color bar - fixes #13695 (#13820) * Fem: Reset field color bar - fixes #13695 * Fem: Hide input filter if new filer is created --- src/Mod/Fem/Gui/Command.cpp | 17 +++++++++++++++++ src/Mod/Fem/Gui/ViewProviderFemPostObject.cpp | 6 ++++-- 2 files changed, 21 insertions(+), 2 deletions(-) diff --git a/src/Mod/Fem/Gui/Command.cpp b/src/Mod/Fem/Gui/Command.cpp index 80584f6f64..9c4c8a7732 100644 --- a/src/Mod/Fem/Gui/Command.cpp +++ b/src/Mod/Fem/Gui/Command.cpp @@ -58,6 +58,7 @@ #ifdef FC_USE_VTK #include +#include #endif @@ -1691,6 +1692,22 @@ void setupFilter(Gui::Command* cmd, std::string Name) femFilter->Input.setValue(selObject); } + femFilter->Data.setValue(static_cast(selObject)->Data.getValue()); + auto selObjectView = static_cast( + Gui::Application::Instance->getViewProvider(selObject)); + + cmd->doCommand(Gui::Command::Doc, + "App.activeDocument().ActiveObject.ViewObject.Field = \"%s\"", + selObjectView->Field.getValueAsString()); + cmd->doCommand(Gui::Command::Doc, + "App.activeDocument().ActiveObject.ViewObject.VectorMode = \"%s\"", + selObjectView->VectorMode.getValueAsString()); + + // hide selected filter + cmd->doCommand(Gui::Command::Doc, + "App.activeDocument().%s.ViewObject.Visibility = False", + selObject->getNameInDocument()); + cmd->updateActive(); // open the dialog to edit the filter cmd->doCommand(Gui::Command::Gui, "Gui.activeDocument().setEdit('%s')", FeatName.c_str()); diff --git a/src/Mod/Fem/Gui/ViewProviderFemPostObject.cpp b/src/Mod/Fem/Gui/ViewProviderFemPostObject.cpp index 9f8abd3c2a..5cb8638f62 100644 --- a/src/Mod/Fem/Gui/ViewProviderFemPostObject.cpp +++ b/src/Mod/Fem/Gui/ViewProviderFemPostObject.cpp @@ -811,11 +811,13 @@ void ViewProviderFemPostObject::filterArtifacts(vtkDataSet* dset) m_surface->SetInputData(dset); } } + + m_blockPropertyChanges = false; + // restore initial vsibility if (!visibility) { this->Visibility.setValue(visibility); } - m_blockPropertyChanges = false; } bool ViewProviderFemPostObject::setupPipeline() @@ -1041,7 +1043,7 @@ void ViewProviderFemPostObject::show() void ViewProviderFemPostObject::OnChange(Base::Subject& /*rCaller*/, int /*rcReason*/) { - bool ResetColorBarRange = false; + bool ResetColorBarRange = true; WriteColorData(ResetColorBarRange); }