Salome HOME
Parametrization of the MaxElementVolume hypothesis.
authorrnv <rnv@opencascade.com>
Mon, 1 Dec 2008 08:40:32 +0000 (08:40 +0000)
committerrnv <rnv@opencascade.com>
Mon, 1 Dec 2008 08:40:32 +0000 (08:40 +0000)
src/SMESH_I/SMESH_NoteBook.cxx
src/SMESH_SWIG/smeshDC.py
src/StdMeshersGUI/StdMeshersGUI_StdHypothesisCreator.cxx

index 877874c338b3c8bb2b42ee2fb553570a7991d9af..3d2ea4099c578d0d927e054441b56a85e3778b9c 100644 (file)
@@ -307,6 +307,15 @@ void SMESH_NoteBook::ReplaceVariables()
         }
       }
 
+      // Case for MaxElementVolume hypothesis
+      else if(aStates->GetObjectType().IsEqual("MaxElementVolume")){
+        if(aMethod == "SetMaxElementVolume" && aStates->GetCurrectState().size() >= 1) {
+          if(!aStates->GetCurrectState().at(0).IsEmpty() )
+            aCmd->SetArg(1,aStates->GetCurrectState().at(0));
+          aStates->IncrementState();
+        }
+      }
+
       // Case for NumberOfLayers hypothesis
       else if(aStates->GetObjectType().IsEqual("NumberOfLayers")){
         if(aMethod == "SetNumberOfLayers" && aStates->GetCurrectState().size() >= 1) {
index 043665f3d6a401c113d4e03634af626d1dd0263a..ea33bf50ce4732f0b53c2efca5e6f613878c5ed9 100644 (file)
@@ -4424,6 +4424,21 @@ class MaxElementArea(StdMeshers._objref_StdMeshers_MaxElementArea):
 #Registering the new proxy for MaxElementArea
 omniORB.registerObjref(StdMeshers._objref_StdMeshers_MaxElementArea._NP_RepositoryId, MaxElementArea)
 
+
+#Wrapper class for StdMeshers_MaxElementVolume hypothesis
+class MaxElementVolume(StdMeshers._objref_StdMeshers_MaxElementVolume):
+    
+    ## Set Max Element Volume parameter value
+    #  @param area  numerical value or name of variable from notebook
+    def SetMaxElementVolume(self, volume):
+        volume ,parameters = ParseParameters(StdMeshers._objref_StdMeshers_MaxElementVolume.GetLastParameters(self),1,1,volume)
+        StdMeshers._objref_StdMeshers_MaxElementVolume.SetParameters(self,parameters)
+        StdMeshers._objref_StdMeshers_MaxElementVolume.SetMaxElementVolume(self,volume)
+        
+#Registering the new proxy for MaxElementVolume
+omniORB.registerObjref(StdMeshers._objref_StdMeshers_MaxElementVolume._NP_RepositoryId, MaxElementVolume)
+
+
 #Wrapper class for StdMeshers_NumberOfLayers hypothesis
 class NumberOfLayers(StdMeshers._objref_StdMeshers_NumberOfLayers):
     
index 0af1d8aa59ce270ffc6d354ae22e42ad4dd7dc02..c7b62ea1440d8d2d920c2135f0f98edc74934a76 100644 (file)
@@ -446,6 +446,7 @@ QString StdMeshersGUI_StdHypothesisCreator::storeParams() const
        StdMeshers::StdMeshers_MaxElementVolume::_narrow( hypothesis() );
 
       h->SetMaxElementVolume( params[0].myValue.toDouble() );
+      h->SetParameters(SMESHGUI::JoinObjectParameters(aVariablesList));
     }
     else if( hypType()=="StartEndLength" )
     {
@@ -623,7 +624,8 @@ bool StdMeshersGUI_StdHypothesisCreator::stdParams( ListOfStdParams& p ) const
       StdMeshers::StdMeshers_MaxElementVolume::_narrow( hyp );
 
     item.myName = tr( "SMESH_MAX_ELEMENT_VOLUME_PARAM" );
-    item.myValue = h->GetMaxElementVolume();
+    if(!initVariableName(aParameters,item,0))
+      item.myValue = h->GetMaxElementVolume();
     p.append( item );
   }
   else if( hypType()=="StartEndLength" )