From dead2fc8f1525c251ab3ee01e9871d4755e95bc5 Mon Sep 17 00:00:00 2001 From: Uwe Date: Thu, 17 Mar 2022 03:45:38 +0100 Subject: [PATCH] [FEM] Bearing and FluidBoundary: code improvements - get rid of UI-coded limits - fix layout issues - code simplifications - remove unused headers --- src/Mod/Fem/Gui/TaskFemConstraintBearing.cpp | 62 +- src/Mod/Fem/Gui/TaskFemConstraintBearing.ui | 25 +- .../Gui/TaskFemConstraintFluidBoundary.cpp | 54 +- .../Fem/Gui/TaskFemConstraintFluidBoundary.ui | 825 +++++++++--------- 4 files changed, 456 insertions(+), 510 deletions(-) diff --git a/src/Mod/Fem/Gui/TaskFemConstraintBearing.cpp b/src/Mod/Fem/Gui/TaskFemConstraintBearing.cpp index 17cc908b8a..28f2b4495f 100644 --- a/src/Mod/Fem/Gui/TaskFemConstraintBearing.cpp +++ b/src/Mod/Fem/Gui/TaskFemConstraintBearing.cpp @@ -21,7 +21,6 @@ * * ***************************************************************************/ - #include "PreCompiled.h" #ifndef _PreComp_ @@ -44,23 +43,17 @@ # include #endif -#include "ui_TaskFemConstraintBearing.h" -#include "TaskFemConstraintBearing.h" #include #include -#include -#include -#include -#include -#include -#include #include #include #include #include #include -#include +#include "ui_TaskFemConstraintBearing.h" +#include "TaskFemConstraintBearing.h" + using namespace FemGui; using namespace Gui; @@ -81,27 +74,25 @@ TaskFemConstraintBearing::TaskFemConstraintBearing(ViewProviderFemConstraint *Co createDeleteAction(ui->listReferences); deleteAction->connect(deleteAction, SIGNAL(triggered()), this, SLOT(onReferenceDeleted())); - connect(ui->spinDistance, SIGNAL(valueChanged(double)), - this, SLOT(onDistanceChanged(double))); - connect(ui->buttonReference, SIGNAL(pressed()), - this, SLOT(onButtonReference())); - connect(ui->buttonLocation, SIGNAL(pressed()), - this, SLOT(onButtonLocation())); - connect(ui->checkAxial, SIGNAL(toggled(bool)), - this, SLOT(onCheckAxial(bool))); - this->groupLayout()->addWidget(proxy); - // Temporarily prevent unnecessary feature recomputes - ui->spinDistance->blockSignals(true); - ui->listReferences->blockSignals(true); - ui->buttonReference->blockSignals(true); - ui->buttonLocation->blockSignals(true); - ui->checkAxial->blockSignals(true); + // setup ranges + ui->spinDiameter->setMinimum(-FLOAT_MAX); + ui->spinDiameter->setMaximum(FLOAT_MAX); + ui->spinOtherDiameter->setMinimum(-FLOAT_MAX); + ui->spinOtherDiameter->setMaximum(FLOAT_MAX); + ui->spinCenterDistance->setMinimum(-FLOAT_MAX); + ui->spinCenterDistance->setMaximum(FLOAT_MAX); + ui->spinForce->setMinimum(-FLOAT_MAX); + ui->spinForce->setMaximum(FLOAT_MAX); + ui->spinTensionForce->setMinimum(-FLOAT_MAX); + ui->spinTensionForce->setMaximum(FLOAT_MAX); + ui->spinDistance->setMinimum(-FLOAT_MAX); + ui->spinDistance->setMaximum(FLOAT_MAX); // Get the feature data Fem::ConstraintBearing* pcConstraint = static_cast(ConstraintView->getObject()); - double d = pcConstraint->Dist.getValue(); + double distance = pcConstraint->Dist.getValue(); std::vector Objects = pcConstraint->References.getValues(); std::vector SubElements = pcConstraint->References.getSubValues(); std::vector locStrings = pcConstraint->Location.getSubValues(); @@ -111,9 +102,7 @@ TaskFemConstraintBearing::TaskFemConstraintBearing(ViewProviderFemConstraint *Co bool axialfree = pcConstraint->AxialFree.getValue(); // Fill data into dialog elements - ui->spinDistance->setMinimum(-FLOAT_MAX); - ui->spinDistance->setMaximum(FLOAT_MAX); - ui->spinDistance->setValue(d); + ui->spinDistance->setValue(distance); ui->listReferences->clear(); for (std::size_t i = 0; i < Objects.size(); i++) ui->listReferences->addItem(makeRefText(Objects[i], SubElements[i])); @@ -122,6 +111,15 @@ TaskFemConstraintBearing::TaskFemConstraintBearing(ViewProviderFemConstraint *Co ui->lineLocation->setText(loc); ui->checkAxial->setChecked(axialfree); + connect(ui->spinDistance, SIGNAL(valueChanged(double)), + this, SLOT(onDistanceChanged(double))); + connect(ui->buttonReference, SIGNAL(pressed()), + this, SLOT(onButtonReference())); + connect(ui->buttonLocation, SIGNAL(pressed()), + this, SLOT(onButtonLocation())); + connect(ui->checkAxial, SIGNAL(toggled(bool)), + this, SLOT(onCheckAxial(bool))); + // Hide unwanted ui elements ui->labelDiameter->setVisible(false); ui->spinDiameter->setVisible(false); @@ -140,12 +138,6 @@ TaskFemConstraintBearing::TaskFemConstraintBearing(ViewProviderFemConstraint *Co ui->lineDirection->setVisible(false); ui->checkReversed->setVisible(false); - ui->spinDistance->blockSignals(false); - ui->listReferences->blockSignals(false); - ui->buttonReference->blockSignals(false); - ui->buttonLocation->blockSignals(false); - ui->checkAxial->blockSignals(false); - onButtonReference(true); } diff --git a/src/Mod/Fem/Gui/TaskFemConstraintBearing.ui b/src/Mod/Fem/Gui/TaskFemConstraintBearing.ui index 188f184be2..48f8a329a2 100644 --- a/src/Mod/Fem/Gui/TaskFemConstraintBearing.ui +++ b/src/Mod/Fem/Gui/TaskFemConstraintBearing.ui @@ -38,11 +38,8 @@ - - -99999.000000000000000 - - 99999.000000000000000 + 100.000000000000000 100.000000000000000 @@ -65,11 +62,8 @@ - - -99999.000000000000000 - - 99999.000000000000000 + 100.000000000000000 100.000000000000000 @@ -89,11 +83,8 @@ - - -99999.000000000000000 - - 99999.000000000000000 + 1000.000000000000000 1000.000000000000000 @@ -113,11 +104,8 @@ - - -99999.000000000000000 - - 99999.000000000000000 + 1000.000000000000000 1000.000000000000000 @@ -137,11 +125,8 @@ - - -99999.000000000000000 - - 99999.000000000000000 + 1000.000000000000000 1000.000000000000000 diff --git a/src/Mod/Fem/Gui/TaskFemConstraintFluidBoundary.cpp b/src/Mod/Fem/Gui/TaskFemConstraintFluidBoundary.cpp index dfbd6e3492..740cf2ba7f 100644 --- a/src/Mod/Fem/Gui/TaskFemConstraintFluidBoundary.cpp +++ b/src/Mod/Fem/Gui/TaskFemConstraintFluidBoundary.cpp @@ -22,7 +22,6 @@ * * ***************************************************************************/ - #include "PreCompiled.h" #ifndef _PreComp_ @@ -47,33 +46,23 @@ # include #endif -#include "ui_TaskFemConstraintFluidBoundary.h" -#include "TaskFemConstraintFluidBoundary.h" -#include -#include #include #include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include "ActiveAnalysisObserver.h" - #include #include +#include +#include +#include +#include +#include +#include +#include +#include + +#include "TaskFemConstraintFluidBoundary.h" +#include "ui_TaskFemConstraintFluidBoundary.h" +#include "ActiveAnalysisObserver.h" + using namespace FemGui; using namespace Gui; @@ -146,6 +135,20 @@ TaskFemConstraintFluidBoundary::TaskFemConstraintFluidBoundary(ViewProviderFemCo createDeleteAction(ui->listReferences); deleteAction->connect(deleteAction, SIGNAL(triggered()), this, SLOT(onReferenceDeleted())); + // setup ranges + ui->spinBoundaryValue->setMinimum(-FLOAT_MAX); + ui->spinBoundaryValue->setMaximum(FLOAT_MAX); + ui->spinTurbulentIntensityValue->setMinimum(0.0); + ui->spinTurbulentIntensityValue->setMaximum(FLOAT_MAX); + ui->spinTurbulentLengthValue->setMinimum(0.0); + ui->spinTurbulentLengthValue->setMaximum(FLOAT_MAX); + ui->spinTemperatureValue->setMinimum(-273.15); + ui->spinTemperatureValue->setMaximum(FLOAT_MAX); + ui->spinHeatFluxValue->setMinimum(0.0); + ui->spinHeatFluxValue->setMaximum(FLOAT_MAX); + ui->spinHTCoeffValue->setMinimum(0.0); + ui->spinHTCoeffValue->setMaximum(FLOAT_MAX); + connect(ui->comboBoundaryType, SIGNAL(currentIndexChanged(int)), this, SLOT(onBoundaryTypeChanged(void))); connect(ui->comboSubtype, SIGNAL(currentIndexChanged(int)), @@ -189,7 +192,7 @@ TaskFemConstraintFluidBoundary::TaskFemConstraintFluidBoundary(ViewProviderFemCo pcAnalysis = FemGui::ActiveAnalysisObserver::instance()->getActiveObject(); } else { - App::Document* aDoc = pcConstraint->getDocument(); // App::Application::GetApplication().getActiveDocument(); + App::Document* aDoc = pcConstraint->getDocument(); std::vector fem = aDoc->getObjectsOfType(Fem::FemAnalysis::getClassTypeId()); if (fem.size() >=1) { pcAnalysis = static_cast(fem[0]); // get the first @@ -225,7 +228,6 @@ TaskFemConstraintFluidBoundary::TaskFemConstraintFluidBoundary(ViewProviderFemCo else dimension =-1; // Vertex (0D) can not make mesh, Compound type might contain any types } - //Base::Console().Message("mesh dimension deducted from Part object of FemMeshObject is \n"); } } diff --git a/src/Mod/Fem/Gui/TaskFemConstraintFluidBoundary.ui b/src/Mod/Fem/Gui/TaskFemConstraintFluidBoundary.ui index c90570687f..89c6b328bc 100644 --- a/src/Mod/Fem/Gui/TaskFemConstraintFluidBoundary.ui +++ b/src/Mod/Fem/Gui/TaskFemConstraintFluidBoundary.ui @@ -7,499 +7,466 @@ 0 0 300 - 391 + 388 Form - + - - - - - - - - 0 - 0 - - - - Boundary - - - - - - - - 0 - 0 - - - - - - - - - 0 - 0 - - - - Subtype - - - - - - - - 0 - 0 - - - - - - - - - - Select multiple face(s), click Add or Remove - - - - - - - - - Add - - - true - - - - - - - Remove - - - true - - - - - - - + + + - + 0 0 - - - 0 - 100 - - - - - 16777215 - 16777215 - - - - - 0 - 0 - - - - - - - Help text + Boundary - + + + + + + + 0 + 0 + + + + + + + + + 0 + 0 + + + + Subtype + + + + + + + + 0 + 0 + + + + + + + + + + Select multiple face(s), click Add or Remove + + + + + + + + + Add + + true - - + + + Remove + + true - - 0 - - - - true - - - Tab 1 - - + + + + + + + + + 0 + 0 + + + + + 0 + 100 + + + + + 16777215 + 16777215 + + + + + 0 + 0 + + + + + + + + Help text + + + true + + + + + + + true + + + 0 + + + + true + + + Tab 1 + + + + + + true + + + + 50 + 0 + + + + Value [Unit] + + + + + - + + + Qt::Horizontal + + + QSizePolicy::Expanding + + + + 40 + 20 + + + + + + true + + + 0 + 0 + + - 50 + 80 0 + + 0.000000000000000 + + + + + + + + + + + + 0 + 0 + + + + + 16777215 + 16777215 + + + + Select a planar edge or face, then press this button + - Value [Unit] + Direction - - - - - Qt::Horizontal - - - QSizePolicy::Expanding - - - - 40 - 20 - - - - - - - - true - - - - 0 - 0 - - - - - 80 - 0 - - - - -99999.000000000000000 - - - 99999.000000000000000 - - - 0.000000000000000 - - - - - - - - - - - - 0 - 0 - - - - - 16777215 - 16777215 - - - - Select a planar edge or face, then press this button - - - Direction - - - - - - - - 0 - 0 - - - - - 75 - 0 - - - - - 16777215 - 16777215 - - - - - 0 - 0 - - - - The direction of the edge or the direction of the -normal vector of the face is used as direction - - - - - - - - - true + + + + 0 + 0 + - 160 + 75 0 - 200 + 16777215 16777215 - - Reverse direction - - - - - - - Qt::Vertical - - + - 20 - 7 + 0 + 0 - - - - - - - Page - - - - - - Turbulence specification + + The direction of the edge or the direction of the +normal vector of the face is used as direction - - + + + + + + true + + + + 160 + 0 + + + + + 200 + 16777215 + + + + Reverse direction + + + + + + + + Page + + + + + + Turbulence specification + + + + + + + + 0 + 0 + + + + true + + + + + + + + + Intensity + + + + + + + + 0 + 0 + + + + + 80 + 0 + + + + + + + + Length [m] + + + + + 0 0 - - true + + + 80 + 0 + - - - - - - Intensity - - - - - - - - 0 - 0 - - - - - 80 - 0 - - - - - - - - - - - - Length [m] - - - - - - - - 0 - 0 - - - - - 80 - 0 - - - - - - - - - - Tab 2 - - - - - - QFormLayout::AllNonFixedFieldsGrow + + + + + + Tab 2 + + + + + + QFormLayout::AllNonFixedFieldsGrow + + + + + Type - - - - Type - - - - - - - - 0 - 0 - - - - - - - - Temperature[K] - - - - - - - - 0 - 0 - - - - -273.149999999999977 - - - 9999.000000000000000 - - - - - - - Heat flux [W/m2] - - - - - - - HT coeff - - - - - - - - 0 - 0 - - - - 0.000000000000000 - - - 99999.000000000000000 - - - 0.000000000000000 - - - - - - - - 0 - 0 - - - - 0.000000000000000 - - - 99999.000000000000000 - - - 0.000000000000000 - - - - + + + + + + + 0 + 0 + + + + + + + + Temperature[K] + + + + + + + + 0 + 0 + + + + -273.149999999999977 + + + 9999.000000000000000 + + + + + + + Heat flux [W/m2] + + + + + + + HT coeff + + + + + + + + 0 + 0 + + + + 0.000000000000000 + + + 99999.000000000000000 + + + + + + + + 0 + 0 + + + + 0.000000000000000 + + + 99999.000000000000000 + + - - - - + + + +