From d4cdc63f906b23d652210f050b650ae75ea96043 Mon Sep 17 00:00:00 2001 From: eap Date: Thu, 30 Jun 2005 05:22:35 +0000 Subject: [PATCH] PAL2967. Add Scale Factor parameter to Nb Of Segments hyp --- .../StdMeshersGUI_Parameters.cxx | 35 ++++++++++++++----- src/StdMeshersGUI/StdMeshers_msg_en.po | 3 ++ 2 files changed, 29 insertions(+), 9 deletions(-) diff --git a/src/StdMeshersGUI/StdMeshersGUI_Parameters.cxx b/src/StdMeshersGUI/StdMeshersGUI_Parameters.cxx index 0af344fb2..b7e447b3e 100644 --- a/src/StdMeshersGUI/StdMeshersGUI_Parameters.cxx +++ b/src/StdMeshersGUI/StdMeshersGUI_Parameters.cxx @@ -26,10 +26,20 @@ #include "StdMeshersGUI_Parameters.h" +//#include "SMESHGUI_SpinBox.h" // for the sake of COORD_MAX, COORD_MIN definition + #include using namespace std; +#define VALUE_MAX 1.0e+15 // COORD_MAX +#define VALUE_MAX_2 (VALUE_MAX*VALUE_MAX) +#define VALUE_MAX_3 (VALUE_MAX*VALUE_MAX*VALUE_MAX) + +#define VALUE_SMALL 1.0e-15 +#define VALUE_SMALL_2 (VALUE_SMALL*VALUE_SMALL) +#define VALUE_SMALL_3 (VALUE_SMALL*VALUE_SMALL*VALUE_SMALL) + //======================================================================= //function : HasParameters //purpose : @@ -100,49 +110,52 @@ void StdMeshersGUI_Parameters::GetParameters (const QString& hyp { paramList.push_back( DOUBLE_PARAM (1.0, QObject::tr("SMESH_LOCAL_LENGTH_PARAM"), - 1E-3, 999.999, 1.0, 6)); + VALUE_SMALL, VALUE_MAX, 1.0, 6)); } else if (hypType.compare("NumberOfSegments") == 0) { paramList.push_back ( INT_PARAM (3, QObject::tr("SMESH_NB_SEGMENTS_PARAM"), 1, 9999 )); + paramList.push_back ( DOUBLE_PARAM (1.0, + QObject::tr("SMESH_NB_SEGMENTS_SCALE_PARAM"), + VALUE_SMALL, VALUE_MAX, 0.1, 6 )); } else if (hypType.compare("Arithmetic1D") == 0) { paramList.push_back( DOUBLE_PARAM ( 1.0, QObject::tr("SMESH_START_LENGTH_PARAM"), - 1E-3, 999.999, 1, 6)); + VALUE_SMALL, VALUE_MAX, 1, 6)); paramList.push_back( DOUBLE_PARAM ( 10.0, QObject::tr("SMESH_END_LENGTH_PARAM"), - 1E-3, 999.999, 1, 6)); + VALUE_SMALL, VALUE_MAX, 1, 6)); } else if (hypType.compare("MaxElementArea") == 0) { paramList.push_back( DOUBLE_PARAM (1.0, QObject::tr("SMESH_MAX_ELEMENT_AREA_PARAM"), - 1.E-6, 999999.999, 1.0, 6)); + VALUE_SMALL_2, VALUE_MAX_2, 1.0, 6)); } else if (hypType.compare("MaxElementVolume") == 0) { paramList.push_back( DOUBLE_PARAM ( 1.0, QObject::tr("SMESH_MAX_ELEMENT_VOLUME_PARAM"), - 1.E-9, 1.E9, 1.0, 6)); + VALUE_SMALL_3, VALUE_MAX_3, 1.0, 6)); } else if (hypType.compare("StartEndLength") == 0) { paramList.push_back( DOUBLE_PARAM ( 1.0, QObject::tr("SMESH_START_LENGTH_PARAM"), - 1.0E-3, 999.999, 1, 6)); + VALUE_SMALL, VALUE_MAX, 1, 6)); paramList.push_back( DOUBLE_PARAM ( 10.0, QObject::tr("SMESH_END_LENGTH_PARAM"), - 1.0E-3, 999.999, 1, 6)); + VALUE_SMALL, VALUE_MAX, 1, 6)); } else if (hypType.compare("Deflection1D") == 0) { paramList.push_back( DOUBLE_PARAM ( 1.0, QObject::tr("SMESH_DEFLECTION1D_PARAM"), - 1.0E-3, 999.999, 1, 6)); + VALUE_SMALL, VALUE_MAX, 1, 6)); } } @@ -175,6 +188,7 @@ void StdMeshersGUI_Parameters::GetParameters (SMESH::SMESH_Hypothesis_ptr the StdMeshers::StdMeshers_NumberOfSegments_var NOS = StdMeshers::StdMeshers_NumberOfSegments::_narrow(theHyp); SetInitValue( paramList.front(), (int) NOS->GetNumberOfSegments()); + SetInitValue( paramList.back(), NOS->GetScaleFactor()); } else if (hypType.compare("Arithmetic1D") == 0) { @@ -236,7 +250,7 @@ void StdMeshersGUI_Parameters::GetParameters (SMESH::SMESH_Hypothesis_ptr else { int aIntValue = 0; (*paramIt)->GetNewInt(aIntValue); - params += QString::number(aIntValue);; + params += QString::number(aIntValue); } } } @@ -268,8 +282,11 @@ bool StdMeshersGUI_Parameters::SetParameters(SMESH::SMESH_Hypothesis_ptr StdMeshers::StdMeshers_NumberOfSegments_var NOS = StdMeshers::StdMeshers_NumberOfSegments::_narrow(theHyp); int NbSeg = NOS->GetNumberOfSegments(); + double Scale = NOS->GetScaleFactor() ; modified = paramList.front()->GetNewInt( NbSeg ); + modified = paramList.back()->GetNewDouble( Scale ) || modified; NOS->SetNumberOfSegments(NbSeg); + NOS->SetScaleFactor( Scale ); } else if (hypType.compare("Arithmetic1D") == 0) { diff --git a/src/StdMeshersGUI/StdMeshers_msg_en.po b/src/StdMeshersGUI/StdMeshers_msg_en.po index 210033e5a..eef692b3b 100644 --- a/src/StdMeshersGUI/StdMeshers_msg_en.po +++ b/src/StdMeshersGUI/StdMeshers_msg_en.po @@ -29,6 +29,9 @@ msgstr "Number of Segments" msgid "SMESH_NB_SEGMENTS_PARAM" msgstr "Number of Segments" +msgid "SMESH_NB_SEGMENTS_SCALE_PARAM" +msgstr "Scale Factor" + msgid "SMESH_NB_SEGMENTS_TITLE" msgstr "Hypothesis Construction" -- 2.39.2