From fbade76af577b064a43052ea42b71f60428fe0a6 Mon Sep 17 00:00:00 2001 From: wmayer Date: Tue, 9 Jul 2019 13:05:45 +0200 Subject: [PATCH] save&restore standard meshing parameters --- src/Mod/MeshPart/Gui/Tessellation.cpp | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/src/Mod/MeshPart/Gui/Tessellation.cpp b/src/Mod/MeshPart/Gui/Tessellation.cpp index 6b1352e816..161c83e765 100644 --- a/src/Mod/MeshPart/Gui/Tessellation.cpp +++ b/src/Mod/MeshPart/Gui/Tessellation.cpp @@ -62,7 +62,20 @@ Tessellation::Tessellation(QWidget* parent) connect(buttonGroup, SIGNAL(buttonClicked(int)), this, SLOT(meshingMethod(int))); + ParameterGrp::handle handle = App::GetApplication().GetParameterGroupByPath + ("User parameter:BaseApp/Preferences/Mod/Mesh/Meshing/Standard"); + double value = ui->spinSurfaceDeviation->value().getValue(); + value = handle->GetFloat("LinearDeflection", value); + double angle = ui->spinAngularDeviation->value().getValue(); + angle = handle->GetFloat("AngularDeflection", angle); + bool relative = ui->relativeDeviation->isChecked(); + relative = handle->GetBool("RelativeLinearDeflection", relative); + ui->relativeDeviation->setChecked(relative); + ui->spinSurfaceDeviation->setMaximum(INT_MAX); + ui->spinSurfaceDeviation->setValue(value); + ui->spinAngularDeviation->setValue(angle); + ui->spinMaximumEdgeLength->setRange(0, INT_MAX); // set the standard method @@ -240,6 +253,18 @@ bool Tessellation::accept() int method = buttonGroup->checkedId(); + // Save parameters + if (method == 0) { + ParameterGrp::handle handle = App::GetApplication().GetParameterGroupByPath + ("User parameter:BaseApp/Preferences/Mod/Mesh/Meshing/Standard"); + double value = ui->spinSurfaceDeviation->value().getValue(); + handle->SetFloat("LinearDeflection", value); + double angle = ui->spinAngularDeviation->value().getValue(); + handle->SetFloat("AngularDeflection", angle); + bool relative = ui->relativeDeviation->isChecked(); + handle->SetBool("RelativeLinearDeflection", relative); + } + activeDoc->openTransaction("Meshing"); QList items = ui->treeWidget->selectedItems(); std::vector shapes = Gui::Selection().getObjectsOfType();