Salome HOME
PAL2967. Add Scale Factor parameter to Nb Of Segments hyp
authoreap <eap@opencascade.com>
Thu, 30 Jun 2005 05:24:56 +0000 (05:24 +0000)
committereap <eap@opencascade.com>
Thu, 30 Jun 2005 05:24:56 +0000 (05:24 +0000)
src/StdMeshersGUI/StdMeshersGUI_Parameters.cxx
src/StdMeshersGUI/StdMeshers_msg_en.po

index 1a7cf9378c357ad77451d164a7cdd5e587f18216..4c03aa57195bd050adea25a27e8655e12d651848 100644 (file)
 
 using namespace std;
 
-#define COORD_MAX_2 (COORD_MAX*COORD_MAX)
-#define COORD_MAX_3 (COORD_MAX*COORD_MAX*COORD_MAX)
+#define VALUE_MAX 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
@@ -105,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, COORD_MAX, 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, COORD_MAX, 1, 6));
+                                      VALUE_SMALL, VALUE_MAX, 1, 6));
     paramList.push_back( DOUBLE_PARAM ( 10.0,
                                        QObject::tr("SMESH_END_LENGTH_PARAM"),
-                                       1E-3, COORD_MAX, 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, COORD_MAX_2, 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, COORD_MAX_3, 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, COORD_MAX, 1, 6));
+                                      VALUE_SMALL, VALUE_MAX, 1, 6));
     paramList.push_back( DOUBLE_PARAM ( 10.0,
                                        QObject::tr("SMESH_END_LENGTH_PARAM"),
-                                       1.0E-3, COORD_MAX, 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, COORD_MAX, 1, 6));
+                                       VALUE_SMALL, VALUE_MAX, 1, 6));
   }
 }
   
@@ -180,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)
   {
@@ -241,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);
     }
   }
 }
@@ -273,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)
   {
index 210033e5a74a038f858660261dd9595349f0ae0b..eef692b3bc14f45f7cd921a134ccca2770bc3e57 100644 (file)
@@ -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"