]> SALOME platform Git repositories - plugins/netgenplugin.git/commitdiff
Salome HOME
Merge from BR_V5_IMP_P8
authoreap <eap@opencascade.com>
Thu, 22 Jan 2009 14:13:43 +0000 (14:13 +0000)
committereap <eap@opencascade.com>
Thu, 22 Jan 2009 14:13:43 +0000 (14:13 +0000)
src/GUI/NETGENPluginGUI_SimpleCreator.cxx
src/NETGENPlugin/NETGENPlugin_Hypothesis.cxx
src/NETGENPlugin/NETGENPlugin_Hypothesis.hxx
src/NETGENPlugin/NETGENPlugin_SimpleHypothesis_2D.cxx
src/NETGENPlugin/NETGENPlugin_SimpleHypothesis_2D.hxx

index 5a7b231535631a5e5182560ae5629f4ea04b5d68..030c00abaf43b8fa385c97815daeac7a7219ba01 100644 (file)
@@ -54,6 +54,8 @@
 #define SPACING 6
 #define MARGIN  11
 
+using namespace NETGENPlugin;
+
 // copied from StdMeshersGUI_StdHypothesisCreator.cxx
 const double VALUE_MAX = 1.0e+15, // COORD_MAX
              VALUE_MAX_2  = VALUE_MAX * VALUE_MAX,
@@ -215,8 +217,25 @@ void NETGENPluginGUI_SimpleCreator::retrieveParams() const
   if ( isCreation() )
     myName->setText( hypName() );
 
-  NETGENPlugin::NETGENPlugin_SimpleHypothesis_2D_var h =
-    NETGENPlugin::NETGENPlugin_SimpleHypothesis_2D::_narrow( initParamsHypothesis() );
+  // set default real values
+
+  NETGENPlugin_SimpleHypothesis_2D_var h =
+    NETGENPlugin_SimpleHypothesis_2D::_narrow( initParamsHypothesis( hasInitParamsHypothesis() ));
+
+  if ( double len = h->GetLocalLength() )
+    myLength->setValue( len );
+  if ( double area = h->GetMaxElementArea() )
+    myArea->setValue( area );
+  if ( myVolume ) {
+    NETGENPlugin_SimpleHypothesis_3D_var h3d =
+      NETGENPlugin_SimpleHypothesis_3D::_narrow( initParamsHypothesis( hasInitParamsHypothesis()) );
+    if ( double volume = (double) h3d->GetMaxElementVolume() )
+      myVolume->setValue( volume );
+  }
+
+  h = NETGENPlugin_SimpleHypothesis_2D::_narrow( hypothesis() );
+
+  // set values of hypothesis
 
   // 1D
   int nbSeg = (int) h->GetNumberOfSegments();
@@ -246,8 +265,7 @@ void NETGENPluginGUI_SimpleCreator::retrieveParams() const
 
   // 3D
   if ( myVolume ) {
-    NETGENPlugin::NETGENPlugin_SimpleHypothesis_3D_var h =
-      NETGENPlugin::NETGENPlugin_SimpleHypothesis_3D::_narrow( initParamsHypothesis() );
+    NETGENPlugin_SimpleHypothesis_3D_var h = NETGENPlugin_SimpleHypothesis_3D::_narrow( hypothesis() );
     if ( double volume = (double) h->GetMaxElementVolume() ) {
       myLenFromFacesCheckBox->setChecked( false );
       myVolume->setEnabled( true );
@@ -265,8 +283,8 @@ QString NETGENPluginGUI_SimpleCreator::storeParams() const
   QString valStr;
   try
   {
-    NETGENPlugin::NETGENPlugin_SimpleHypothesis_2D_var h =
-      NETGENPlugin::NETGENPlugin_SimpleHypothesis_2D::_narrow( initParamsHypothesis() );
+    NETGENPlugin_SimpleHypothesis_2D_var h =
+      NETGENPlugin_SimpleHypothesis_2D::_narrow( hypothesis() );
 
     if( isCreation() )
       SMESH::SetName( SMESH::FindSObject( h ), myName->text().toLatin1().data() );
@@ -293,8 +311,8 @@ QString NETGENPluginGUI_SimpleCreator::storeParams() const
 
     // 3D
     if ( myVolume ) {
-      NETGENPlugin::NETGENPlugin_SimpleHypothesis_3D_var h =
-        NETGENPlugin::NETGENPlugin_SimpleHypothesis_3D::_narrow( initParamsHypothesis() );
+      NETGENPlugin_SimpleHypothesis_3D_var h =
+        NETGENPlugin_SimpleHypothesis_3D::_narrow( hypothesis() );
       if ( myVolume->isEnabled() ) {
         h->SetMaxElementVolume( myVolume->value() );
         valStr += "; vol=" + myVolume->text();
index 4b7d21784ae9b7437d83ff69045ba42d83e7e000..1ed64eeddeec4c3110a73652a3f1b2c14c9c7b9c 100644 (file)
@@ -24,8 +24,6 @@
 // Author    : Michael Sazonov (OCN)
 // Date      : 28/03/2006
 // Project   : SALOME
-// $Header$
-//=============================================================================
 //
 #include <NETGENPlugin_Hypothesis.hxx>
 #include <utilities.h>
@@ -290,11 +288,24 @@ istream & operator >>(istream & load, NETGENPlugin_Hypothesis & hyp)
  */
 //================================================================================
 bool NETGENPlugin_Hypothesis::SetParametersByMesh(const SMESH_Mesh*   theMesh,
-                                                      const TopoDS_Shape& theShape)
+                                                  const TopoDS_Shape& theShape)
 {
   return false;
 }
 
+//================================================================================
+/*!
+ * \brief Initialize my parameter values by linear size of mesh element.
+ *  \retval bool - true if parameter values have been successfully defined
+ */
+//================================================================================
+
+bool NETGENPlugin_Hypothesis::SetParametersByElementSize(double            elemLenght,
+                                                         const SMESH_Mesh* /*theMesh*/)
+{
+  return bool( _maxSize = elemLenght );
+}
+
 //=============================================================================
 /*!
  *  
index 4ee439ada4af73ea5ecf6911033d6d544217f088..3cf75a45cf01f5cc4b73e0657a5088d05e764a63 100644 (file)
@@ -24,8 +24,6 @@
 // Author    : Michael Sazonov (OCN)
 // Date      : 27/03/2006
 // Project   : SALOME
-// $Header$
-//=============================================================================
 //
 #ifndef _NETGENPlugin_Hypothesis_HXX_
 #define _NETGENPlugin_Hypothesis_HXX_
@@ -103,6 +101,12 @@ public:
    */
   virtual bool SetParametersByMesh(const SMESH_Mesh* theMesh, const TopoDS_Shape& theShape);
 
+  /*!
+   * \brief Initialize my parameter values by linear size of mesh element.
+   *  \retval bool - true if parameter values have been successfully defined
+   */
+  virtual bool SetParametersByElementSize( double elemLenght, const SMESH_Mesh* theMesh=0);
+
 private:
   double        _maxSize;
   double        _growthRate;
index df3538760c2f36fd6da4b3e5caf013c3062e6029..4ccef3b9c6b83301bcf13ca4221633f8d120a625 100644 (file)
@@ -206,3 +206,17 @@ bool NETGENPlugin_SimpleHypothesis_2D::SetParametersByMesh(const SMESH_Mesh*   t
   }
   return nbEdges;
 }
+
+//================================================================================
+/*!
+ * \brief Initialize my parameter values by linear size of mesh element.
+ *  \retval bool - true if parameter values have been successfully defined
+ */
+//================================================================================
+
+bool NETGENPlugin_SimpleHypothesis_2D::SetParametersByElementSize(double            elemLenght,
+                                                                  const SMESH_Mesh* /*theMesh*/)
+{
+  return bool( _segmentLength = elemLenght );
+}
+
index 267bbac7f8cea66ccc8a88cc4b88eb9652b45730..545f92ef4701ed62339053515239e6a2a10e1c5c 100644 (file)
@@ -92,6 +92,12 @@ public:
    */
   virtual bool SetParametersByMesh(const SMESH_Mesh* theMesh, const TopoDS_Shape& theShape);
 
+  /*!
+   * \brief Initialize my parameter values by linear size of mesh element.
+   *  \retval bool - true if parameter values have been successfully defined
+   */
+  virtual bool SetParametersByElementSize( double elemLenght, const SMESH_Mesh* theMesh=0);
+
 private:
   int    _nbSegments;
   double _segmentLength, _area;