Salome HOME
0022878: [CEA 1424] performances of Compute method from the Mesh class in smeshBuilder.py
authorvsr <vsr@opencascade.com>
Fri, 20 Feb 2015 07:08:10 +0000 (10:08 +0300)
committervsr <vsr@opencascade.com>
Fri, 20 Feb 2015 07:08:10 +0000 (10:08 +0300)
35 files changed:
src/SMESH_SWIG/PAL_MESH_043_3D.py
src/SMESH_SWIG/SMESH_BuildCompound.py
src/SMESH_SWIG/SMESH_Sphere.py
src/SMESH_SWIG/SMESH_box2_tetra.py
src/SMESH_SWIG/SMESH_box3_tetra.py
src/SMESH_SWIG/SMESH_box_tetra.py
src/SMESH_SWIG/SMESH_fixation_hexa.py
src/SMESH_SWIG/SMESH_fixation_netgen.py
src/SMESH_SWIG/SMESH_fixation_tetra.py
src/SMESH_SWIG/SMESH_flight_skin.py
src/SMESH_SWIG/SMESH_mechanic_netgen.py
src/SMESH_SWIG/SMESH_test.py
src/SMESH_SWIG/ex01_cube2build.py
src/SMESH_SWIG/ex02_cube2primitive.py
src/SMESH_SWIG/ex03_cube2partition.py
src/SMESH_SWIG/ex04_cube5tetraHexa.py
src/SMESH_SWIG/ex05_hole1build.py
src/SMESH_SWIG/ex06_hole1boolean.py
src/SMESH_SWIG/ex07_hole1partition.py
src/SMESH_SWIG/ex08_hole2build.py
src/SMESH_SWIG/ex09_grid4build.py
src/SMESH_SWIG/ex10_grid4geometry.py
src/SMESH_SWIG/ex11_grid3partition.py
src/SMESH_SWIG/ex12_grid17partition.py
src/SMESH_SWIG/ex13_hole1partial.py
src/SMESH_SWIG/ex14_cyl1holed.py
src/SMESH_SWIG/ex15_cyl2geometry.py
src/SMESH_SWIG/ex16_cyl2complementary.py
src/SMESH_SWIG/ex17_dome1.py
src/SMESH_SWIG/ex18_dome2.py
src/SMESH_SWIG/ex19_sphereINcube.py
src/SMESH_SWIG/ex21_lamp.py
src/SMESH_SWIG/ex24_cylinder.py
src/SMESH_SWIG/ex30_tepal.py
src/SMESH_SWIG/smeshBuilder.py

index 46dfeef61ef496c1f37e61c7f73d4a70bdb8572e..baa2649dcd9cc455f21714a1b60a8a70fafc3180 100755 (executable)
@@ -89,5 +89,5 @@ smesh.SetName(hypNbSeg2, "NumberOfSegments_" + str(numberOfSegments2))
 mesh1.Compute()
 mesh2.Compute()
 
 mesh1.Compute()
 mesh2.Compute()
 
-# ---- udate object browser
-salome.sg.updateObjBrowser(1);
+# ---- update object browser
+salome.sg.updateObjBrowser(1)
index 724dce7e4341dcdf64e4e6fa06a362bebd8b6ad2..7a8d552eaa938e5ac00c5a920b8e94807c82d2fc 100644 (file)
@@ -103,3 +103,5 @@ smesh.SetName(Compound1, 'Compound_with_RenamedGrps_and_MergeElems')
 Compound2 = smesh.Concatenate([Mesh_inf.GetMesh(), Mesh_sup.GetMesh()], 1, 0, 1e-05, True)
 smesh.SetName(Compound2, 'Compound_with_UniteGrps_and_GrpsOfAllElems')
 #end
 Compound2 = smesh.Concatenate([Mesh_inf.GetMesh(), Mesh_sup.GetMesh()], 1, 0, 1e-05, True)
 smesh.SetName(Compound2, 'Compound_with_UniteGrps_and_GrpsOfAllElems')
 #end
+
+salome.sg.updateObjBrowser(1)
index b23eccab99c484c8c1d83a006b68e957ace694b0..9e3d724639a939aa0b8eeb2e28550ef648fdcaee 100644 (file)
@@ -117,3 +117,5 @@ algo.NumberOfSegments(NbSeg)
 my_hexa.Quadrangle()
 my_hexa.Hexahedron()
 my_hexa.Compute()
 my_hexa.Quadrangle()
 my_hexa.Hexahedron()
 my_hexa.Compute()
+
+salome.sg.updateObjBrowser(1)
index 7c7fadd06f980b193c826f85e135fc85ad5e79b8..a4b9ce58ebf9f4f7a8dea82785f6576bec6dc997 100644 (file)
@@ -121,9 +121,6 @@ print hypVolume.GetId()
 print hypVolume.GetMaxElementVolume()
 smesh.SetName(hypVolume, "MaxElementVolume_" + str(maxElementVolume))
 
 print hypVolume.GetMaxElementVolume()
 smesh.SetName(hypVolume, "MaxElementVolume_" + str(maxElementVolume))
 
-
-salome.sg.updateObjBrowser(1)
-
 print "-------------------------- compute shell"
 ret = mesh.Compute()
 print ret
 print "-------------------------- compute shell"
 ret = mesh.Compute()
 print ret
@@ -140,3 +137,5 @@ if ret != 0:
     print "Number of tetrahedrons: ", mesh.NbTetras()
 else:
     print "probleme when computing the mesh"
     print "Number of tetrahedrons: ", mesh.NbTetras()
 else:
     print "probleme when computing the mesh"
+
+salome.sg.updateObjBrowser(1)
index 65e2a8e2698379d4c59c9f4126ff690bf5935100..f2cfeb4dd8c777a322fac0d0901781158c2a65cd 100644 (file)
@@ -131,9 +131,6 @@ print hypVolume.GetId()
 print hypVolume.GetMaxElementVolume()
 smesh.SetName(hypVolume, "MaxElementVolume_" + str(maxElementVolume))
 
 print hypVolume.GetMaxElementVolume()
 smesh.SetName(hypVolume, "MaxElementVolume_" + str(maxElementVolume))
 
-
-salome.sg.updateObjBrowser(1)
-
 print "-------------------------- compute shell"
 ret = mesh.Compute()
 print ret
 print "-------------------------- compute shell"
 ret = mesh.Compute()
 print ret
@@ -150,3 +147,5 @@ if ret != 0:
     print "Number of tetrahedrons: ", mesh.NbTetras()
 else:
     print "probleme when computing the mesh"
     print "Number of tetrahedrons: ", mesh.NbTetras()
 else:
     print "probleme when computing the mesh"
+
+salome.sg.updateObjBrowser(1)
index ad6b4b344a5d081bc332e82cc29a381cc5606923..2f96f70a3dbc6ff1722c6e653d02e5051d473ec8 100644 (file)
@@ -90,8 +90,6 @@ print hypVolume.GetId()
 print hypVolume.GetMaxElementVolume()
 smesh.SetName(hypVolume, "MaxElementVolume_" + str(maxElementVolume))
 
 print hypVolume.GetMaxElementVolume()
 smesh.SetName(hypVolume, "MaxElementVolume_" + str(maxElementVolume))
 
-salome.sg.updateObjBrowser(1)
-
 print "-------------------------- compute the mesh of the boxe"
 ret = mesh.Compute()
 print ret
 print "-------------------------- compute the mesh of the boxe"
 ret = mesh.Compute()
 print ret
@@ -108,3 +106,5 @@ if ret != 0:
     print "Number of tetrahedrons: ", mesh.NbTetras()
 else:
     print "probleme when computing the mesh"
     print "Number of tetrahedrons: ", mesh.NbTetras()
 else:
     print "probleme when computing the mesh"
+
+salome.sg.updateObjBrowser(1)
index 0b3be69493f2929e6cef59dc625345c2c899918a..e0b0c0bad838c75154d0ef34cf85deb4e6b462f7 100644 (file)
@@ -82,9 +82,6 @@ print "-------------------------- Hexa_3D"
 hexa3D = mesh.Hexahedron()
 hexa3D.SetName("Hexa_3D")
 
 hexa3D = mesh.Hexahedron()
 hexa3D.SetName("Hexa_3D")
 
-
-salome.sg.updateObjBrowser(1)
-
 print "-------------------------- compute compshell"
 ret = mesh.Compute()
 print ret
 print "-------------------------- compute compshell"
 ret = mesh.Compute()
 print ret
@@ -101,3 +98,5 @@ if ret != 0:
     print "Number of hexahedrons : ", mesh.NbHexas()
 else:
     print "problem when Computing the mesh"
     print "Number of hexahedrons : ", mesh.NbHexas()
 else:
     print "problem when Computing the mesh"
+
+salome.sg.updateObjBrowser(1)
index 542fdce4bbb861994c251097dc81e971cd322667..c8ad219be09e58efb4dcb36eba375c431aabcc44 100644 (file)
@@ -61,8 +61,6 @@ netgen.SetMaxSize( 50 )
 netgen.SetFineness( smeshBuilder.Fine )
 #netgen.SetOptimize( 1 )
 
 netgen.SetFineness( smeshBuilder.Fine )
 #netgen.SetOptimize( 1 )
 
-salome.sg.updateObjBrowser(1)
-
 print "-------------------------- compute mesh"
 ret = mesh.Compute()
 print ret
 print "-------------------------- compute mesh"
 ret = mesh.Compute()
 print ret
@@ -77,3 +75,5 @@ if ret != 0:
     
 else:
     print "problem when computing the mesh"
     
 else:
     print "problem when computing the mesh"
+
+salome.sg.updateObjBrowser(1)
index 5840aef885e8388b32143b46ed865573d2dea023..daf2b8793c53ca1236a084932e0f4f33556d46ed 100644 (file)
@@ -105,9 +105,6 @@ print hypVolume.GetId()
 print hypVolume.GetMaxElementVolume()
 smesh.SetName(hypVolume, "MaxElementVolume_" + str(maxElementVolume))
 
 print hypVolume.GetMaxElementVolume()
 smesh.SetName(hypVolume, "MaxElementVolume_" + str(maxElementVolume))
 
-
-salome.sg.updateObjBrowser(1)
-
 print "-------------------------- compute compshell"
 ret = mesh.Compute(mesh)
 print ret
 print "-------------------------- compute compshell"
 ret = mesh.Compute(mesh)
 print ret
@@ -125,3 +122,5 @@ if ret != 0:
     
 else:
     print "problem when computing the mesh"
     
 else:
     print "problem when computing the mesh"
+
+salome.sg.updateObjBrowser(1)
index fa3c9743e163732a90b05c4ed130c0fdc3fb4313..225fb0941f414b311e505fafafbf5b496e99f2f6 100644 (file)
@@ -91,10 +91,6 @@ print hypLengthFromEdge.GetName()
 print hypLengthFromEdge.GetId()
 smesh.SetName(hypLengthFromEdge,"LengthFromEdge")
 
 print hypLengthFromEdge.GetId()
 smesh.SetName(hypLengthFromEdge,"LengthFromEdge")
 
-
-salome.sg.updateObjBrowser(1)
-
-
 print "-------------------------- compute the skin flight"
 ret = mesh.Compute()
 print ret
 print "-------------------------- compute the skin flight"
 ret = mesh.Compute()
 print ret
@@ -110,3 +106,5 @@ if ret != 0:
     print "Number of volumes    : ", mesh.NbVolumes()
 else:
     print "probleme when computing the mesh"
     print "Number of volumes    : ", mesh.NbVolumes()
 else:
     print "probleme when computing the mesh"
+
+salome.sg.updateObjBrowser(1)
index 5433497368e65916294cbc101e2aa8dda7910a9c..46670e57b0f2c77e012e4c4cb846ec0078fa15d9 100644 (file)
@@ -119,8 +119,6 @@ netgen.SetFineness( smeshBuilder.Fine )
 netgen.SetQuadAllowed( 1 )
 #netgen.SetOptimize( 1 )
 
 netgen.SetQuadAllowed( 1 )
 #netgen.SetOptimize( 1 )
 
-salome.sg.updateObjBrowser(1)
-
 print "-------------------------- compute mesh"
 ret = mesh.Compute()
 print ret
 print "-------------------------- compute mesh"
 ret = mesh.Compute()
 print ret
@@ -136,3 +134,5 @@ if ret != 0:
     
 else:
     print "problem when computing the mesh"
     
 else:
     print "problem when computing the mesh"
+
+salome.sg.updateObjBrowser(1)
index e38dfb6b324e42a5ae077f098425b44c75ddcb57..e153cd6588c34c309d24976a9bd5bbc73b138456 100644 (file)
@@ -146,3 +146,5 @@ for a in log:
             #ii = ii+1
             ii = ii+1
             print "AddTriangle %i - %i %i %i" % (ind, i1, i2, i3)
             #ii = ii+1
             ii = ii+1
             print "AddTriangle %i - %i %i %i" % (ind, i1, i2, i3)
+
+salome.sg.updateObjBrowser(1)
index 8374aab466fcbe688539b1823b006e1e3a560c63..f5bc3b385b1531f637a3c236e4dd0f016e6e176b 100644 (file)
@@ -319,3 +319,8 @@ algo.Propagation()
 # ----------------
 
 hexa.Compute()
 # ----------------
 
 hexa.Compute()
+
+# Update object browser
+# ---------------------
+
+salome.sg.updateObjBrowser(1)
index d7307f4bb9ae0fc0605f34ce71275b3c734ce3f6..e80bb8e50629ba60aa63ac4d8530495c3013052a 100644 (file)
@@ -121,3 +121,8 @@ hexa.Hexahedron()
 # ----------------
 
 hexa.Compute()
 # ----------------
 
 hexa.Compute()
+
+# Update object browser
+# ---------------------
+
+salome.sg.updateObjBrowser(1)
index 7a3dd871f0a9014800912f3106565aa990ee8cdf..18a725b9257a8302478dc11763394f1d565bdd30 100644 (file)
@@ -108,3 +108,8 @@ hexa.Hexahedron()
 # ----------------
 
 hexa.Compute()
 # ----------------
 
 hexa.Compute()
+
+# Update object browser
+# ---------------------
+
+salome.sg.updateObjBrowser(1)
index 69da3a5e1e9652ec613848d847693755ebb840e1..9039986c701e6551f4a8e46888a43e0a534e02e1 100644 (file)
@@ -113,3 +113,8 @@ localMesh(box_tetra2, 0)
 # -------------
 
 mixed.Compute()
 # -------------
 
 mixed.Compute()
+
+# Update object browser
+# ---------------------
+
+salome.sg.updateObjBrowser(1)
index c715d657306e0a5bd33652c41f90c5806193615a..5fa0caffcaa1a7901d66e52d4a560fb2f476bd77 100644 (file)
@@ -148,3 +148,8 @@ hexa.Hexahedron()
 # -------------
 
 hexa.Compute()
 # -------------
 
 hexa.Compute()
+
+# Update object browser
+# ---------------------
+
+salome.sg.updateObjBrowser(1)
index 2daac570d21d3236594376cd287965b8928bfa8a..00cad90e690682ee61fae6cd5a2ab20b40ee7d18 100644 (file)
@@ -165,3 +165,8 @@ algo4.Propagation()
 # -------------
 
 hexa.Compute()
 # -------------
 
 hexa.Compute()
+
+# Update object browser
+# ---------------------
+
+salome.sg.updateObjBrowser(1)
index 96894aca62a2ff3de4d9c0d57cd0f48915b34c83..c6f1a607fbea320b4f72c0b784f23570d52e4c39 100644 (file)
@@ -105,3 +105,8 @@ hexa.Hexahedron()
 # -------------
 
 hexa.Compute()
 # -------------
 
 hexa.Compute()
+
+# Update object browser
+# ---------------------
+
+salome.sg.updateObjBrowser(1)
index 5219a0c85a38decc8cb4808bc1141738592c1c51..3ce8e825a4b659290549872e561369ecc8a9db4c 100644 (file)
@@ -138,3 +138,8 @@ hexa.Hexahedron()
 # -------------
 
 hexa.Compute()
 # -------------
 
 hexa.Compute()
+
+# Update object browser
+# ---------------------
+
+salome.sg.updateObjBrowser(1)
index b20e802ee2716566fa4ed1c5c1463cd26459eaf6..c9509b5e431ffb39984ea1051cbc83a761f17cc0 100644 (file)
@@ -141,3 +141,8 @@ hexa.Hexahedron()
 # -------------
 
 hexa.Compute()
 # -------------
 
 hexa.Compute()
+
+# Update object browser
+# ---------------------
+
+salome.sg.updateObjBrowser(1)
index c308683c8bbcd34a611a6b2c25f574f11bcba4f9..f7066d8c18bcc5cece9e3dbbfcef92b4bcdacd11 100644 (file)
@@ -103,3 +103,8 @@ hexa.Hexahedron()
 # -------------
 
 hexa.Compute()
 # -------------
 
 hexa.Compute()
+
+# Update object browser
+# ---------------------
+
+salome.sg.updateObjBrowser(1)
index dc340413f4bb6eef76e7e71350fd6951ae82e127..939559ef7e5bb6d8d1d62ec6bc37ab74d4d741be 100644 (file)
@@ -124,3 +124,8 @@ hexa.Hexahedron()
 # -------------
 
 hexa.Compute()
 # -------------
 
 hexa.Compute()
+
+# Update object browser
+# ---------------------
+
+salome.sg.updateObjBrowser(1)
index 0c559aebfebac1769b62dbd0c22028a33708e864..81e1b800fc69751b85f97955f02b2edfea75df0a 100644 (file)
@@ -139,3 +139,8 @@ hexa.Hexahedron()
 # -------------
 
 hexa.Compute()
 # -------------
 
 hexa.Compute()
+
+# Update object browser
+# ---------------------
+
+salome.sg.updateObjBrowser(1)
index 4524a7764b70b70003e74a817e35e965d86506f5..da9807f3e7b2ade215c2bc1f1ad930df61d3ec71 100644 (file)
@@ -257,3 +257,8 @@ local(cyl_x+d, cyl_y+d, box_dz, 10)
 # ----------------
 
 hexa.Compute()
 # ----------------
 
 hexa.Compute()
+
+# Update object browser
+# ---------------------
+
+salome.sg.updateObjBrowser(1)
index fe1a0dcb46fa913d39d363476d3e33efde1f1f47..e9593802515b6d710b6278536aa89660cfce7704 100644 (file)
@@ -142,3 +142,8 @@ while m_i<m_n:
 # --------------------
 
 hexa.Compute()
 # --------------------
 
 hexa.Compute()
+
+# Update object browser
+# ---------------------
+
+salome.sg.updateObjBrowser(1)
index d5d6144804ea43ce838a6d6af4392e64afa37915..e985ac62eb5e711aedaf2ca786bc28802b3b9cd1 100644 (file)
@@ -201,3 +201,8 @@ hexa.Hexahedron()
 # -------------
 
 hexa.Compute()
 # -------------
 
 hexa.Compute()
+
+# Update object browser
+# ---------------------
+
+salome.sg.updateObjBrowser(1)
index 57ddbef0d9f27263ab5ab6a0a8abc32fa8ec3650..3493bd640aa43562813cfe21aae96bebe807fcbd 100644 (file)
@@ -145,3 +145,8 @@ local(gx+g_dx, gy-g_dy, gz     , 21)
 # -------------
 
 hexa.Compute()
 # -------------
 
 hexa.Compute()
+
+# Update object browser
+# ---------------------
+
+salome.sg.updateObjBrowser(1)
index 3dcb84ca56392ae0e25580272c48d079e4baf170..3f9b29359ae420ba5beceedcbbe6ad9dd972143c 100644 (file)
@@ -104,3 +104,7 @@ hexa.Hexahedron()
 # ------------------
 
 hexa.Compute()
 # ------------------
 
 hexa.Compute()
+# Update object browser
+# ---------------------
+
+salome.sg.updateObjBrowser(1)
index 57d8e47d524edbc513e94cf5ce11256db524ace4..c71329fd9817a5e9c98ba6df5e186d851401dc78 100644 (file)
@@ -141,3 +141,8 @@ hexa.Hexahedron()
 # ------------------
 
 hexa.Compute()
 # ------------------
 
 hexa.Compute()
+
+# Update object browser
+# ---------------------
+
+salome.sg.updateObjBrowser(1)
index 64ae4eda4f849e05accb05aef23f630a149ebe7a..60aa987e8b4e4195c5f28984534e31c8aefd6604 100644 (file)
@@ -186,3 +186,8 @@ hexa.Compute()
 # --------------------
 
 hexa_groupe = hexa.Group(groupe)
 # --------------------
 
 hexa_groupe = hexa.Group(groupe)
+
+# Update object browser
+# ---------------------
+
+salome.sg.updateObjBrowser(1)
index 23d3a0fd990ce62a2a300b5e683faf6c9a216022..7f620af0883232e9ccf8dbea70e2ded92cda28ab 100644 (file)
@@ -132,3 +132,8 @@ tetra.Compute()
 # ------------------------
 
 tetra.Group(group)
 # ------------------------
 
 tetra.Group(group)
+
+# Update object browser
+# ---------------------
+
+salome.sg.updateObjBrowser(1)
\ No newline at end of file
index 4628ce987b82f3ded06d38adfd25a6584a304b82..17109658641e23db3d26a4cfa68a7df0ae18fc2b 100644 (file)
@@ -130,3 +130,8 @@ hexa.Compute()
 hexa.Group(group_a)
 hexa.Group(group_b)
 hexa.Group(group_1)
 hexa.Group(group_a)
 hexa.Group(group_b)
 hexa.Group(group_1)
+
+# Update object browser
+# ---------------------
+
+salome.sg.updateObjBrowser(1)
index 661654efc9d037b926cd7cc54211cb7de8734b87..a3b299d4d2e9a3d7d64ec6786971303b2e6110d0 100644 (file)
@@ -90,3 +90,8 @@ if os.access(results+".xml", os.F_OK):
     print "Ok: tepal"
 else:
     print "KO: tepal"
     print "Ok: tepal"
 else:
     print "KO: tepal"
+
+# Update object browser
+# ---------------------
+
+salome.sg.updateObjBrowser(1)
index 60bf355a7fb076c3d5e1c7090869eaed191bfd62..24c48355d492c3d5da046cf2713a661334de6f4c 100644 (file)
@@ -1375,9 +1375,10 @@ class Mesh:
     #  @param discardModifs if True and the mesh has been edited since
     #         a last total re-compute and that may prevent successful partial re-compute,
     #         then the mesh is cleaned before Compute()
     #  @param discardModifs if True and the mesh has been edited since
     #         a last total re-compute and that may prevent successful partial re-compute,
     #         then the mesh is cleaned before Compute()
+    #  @param refresh if @c True, Object browser is automatically updated (when running in GUI)
     #  @return True or False
     #  @ingroup l2_construct
     #  @return True or False
     #  @ingroup l2_construct
-    def Compute(self, geom=0, discardModifs=False):
+    def Compute(self, geom=0, discardModifs=False, refresh=False):
         if geom == 0 or not isinstance(geom, geomBuilder.GEOM._objref_GEOM_Object):
             if self.geom == 0:
                 geom = self.mesh.GetShapeToMesh()
         if geom == 0 or not isinstance(geom, geomBuilder.GEOM._objref_GEOM_Object):
             if self.geom == 0:
                 geom = self.mesh.GetShapeToMesh()
@@ -1505,7 +1506,7 @@ class Mesh:
             smeshgui = salome.ImportComponentGUI("SMESH")
             smeshgui.Init(self.mesh.GetStudyId())
             smeshgui.SetMeshIcon( salome.ObjectToID( self.mesh ), ok, (self.NbNodes()==0) )
             smeshgui = salome.ImportComponentGUI("SMESH")
             smeshgui.Init(self.mesh.GetStudyId())
             smeshgui.SetMeshIcon( salome.ObjectToID( self.mesh ), ok, (self.NbNodes()==0) )
-            salome.sg.updateObjBrowser(1)
+            if refresh: salome.sg.updateObjBrowser(1)
             pass
         return ok
 
             pass
         return ok
 
@@ -1522,25 +1523,27 @@ class Mesh:
         return self.mesh.SetMeshOrder(submeshes)
 
     ## Removes all nodes and elements
         return self.mesh.SetMeshOrder(submeshes)
 
     ## Removes all nodes and elements
+    #  @refresh if @c True, Object browser is automatically updated (when running in GUI)
     #  @ingroup l2_construct
     #  @ingroup l2_construct
-    def Clear(self):
+    def Clear(self, refresh=False):
         self.mesh.Clear()
         if ( salome.sg.hasDesktop() and 
         self.mesh.Clear()
         if ( salome.sg.hasDesktop() and 
-             salome.myStudyManager.GetStudyByID( self.mesh.GetStudyId() )):
+             salome.myStudyManager.GetStudyByID( self.mesh.GetStudyId() ) ):
             smeshgui = salome.ImportComponentGUI("SMESH")
             smeshgui.Init(self.mesh.GetStudyId())
             smeshgui.SetMeshIcon( salome.ObjectToID( self.mesh ), False, True )
             smeshgui = salome.ImportComponentGUI("SMESH")
             smeshgui.Init(self.mesh.GetStudyId())
             smeshgui.SetMeshIcon( salome.ObjectToID( self.mesh ), False, True )
-            salome.sg.updateObjBrowser(1)
+            if refresh: salome.sg.updateObjBrowser(1)
 
     ## Removes all nodes and elements of indicated shape
 
     ## Removes all nodes and elements of indicated shape
+    #  @refresh if @c True, Object browser is automatically updated (when running in GUI)
     #  @ingroup l2_construct
     #  @ingroup l2_construct
-    def ClearSubMesh(self, geomId):
+    def ClearSubMesh(self, geomId, refresh=False):
         self.mesh.ClearSubMesh(geomId)
         if salome.sg.hasDesktop():
             smeshgui = salome.ImportComponentGUI("SMESH")
             smeshgui.Init(self.mesh.GetStudyId())
             smeshgui.SetMeshIcon( salome.ObjectToID( self.mesh ), False, True )
         self.mesh.ClearSubMesh(geomId)
         if salome.sg.hasDesktop():
             smeshgui = salome.ImportComponentGUI("SMESH")
             smeshgui.Init(self.mesh.GetStudyId())
             smeshgui.SetMeshIcon( salome.ObjectToID( self.mesh ), False, True )
-            salome.sg.updateObjBrowser(1)
+            if refresh: salome.sg.updateObjBrowser(1)
 
     ## Computes a tetrahedral mesh using AutomaticLength + MEFISTO + Tetrahedron
     #  @param fineness [0.0,1.0] defines mesh fineness
 
     ## Computes a tetrahedral mesh using AutomaticLength + MEFISTO + Tetrahedron
     #  @param fineness [0.0,1.0] defines mesh fineness