Salome HOME
Copyright update 2021
[modules/smesh.git] / src / SMESH_SWIG / ex04_cube5tetraHexa.py
index 5660692bbf6721b604369c550c1387680e8962ce..83229a5c584231a43c584bc06cb55ce857d58002 100644 (file)
@@ -1,5 +1,5 @@
 #  -*- coding: iso-8859-1 -*-
-# Copyright (C) 2007-2013  CEA/DEN, EDF R&D, OPEN CASCADE
+# Copyright (C) 2007-2021  CEA/DEN, EDF R&D, OPEN CASCADE
 #
 # Copyright (C) 2003-2007  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
 # CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
@@ -7,7 +7,7 @@
 # This library is free software; you can redistribute it and/or
 # modify it under the terms of the GNU Lesser General Public
 # License as published by the Free Software Foundation; either
-# version 2.1 of the License.
+# version 2.1 of the License, or (at your option) any later version.
 #
 # This library is distributed in the hope that it will be useful,
 # but WITHOUT ANY WARRANTY; without even the implied warranty of
 
 # =======================================
 #
-from geompy import *
+import salome
+salome.salome_init()
+import GEOM
+from salome.geom import geomBuilder
+geompy = geomBuilder.New()
 
-import smesh
+import SMESH, SALOMEDS
+from salome.smesh import smeshBuilder
+smesh =  smeshBuilder.New()
 
 # Geometry
 # ========
@@ -45,30 +51,28 @@ arete3 = arete*3
 # Solids
 # ------
 
-box_tetra1 = MakeBox(arete0, arete0, 0,  arete1, arete1, arete)
+box_tetra1 = geompy.MakeBox(arete0, arete0, 0,  arete1, arete1, arete)
 
-box_ijk1   = MakeBox(arete1, arete0, 0,  arete2, arete1, arete)
+box_ijk1   = geompy.MakeBox(arete1, arete0, 0,  arete2, arete1, arete)
 
-box_hexa   = MakeBox(arete1, arete1, 0,  arete2, arete2, arete)
+box_hexa   = geompy.MakeBox(arete1, arete1, 0,  arete2, arete2, arete)
 
-box_ijk2   = MakeBox(arete2, arete1, 0,  arete3, arete2, arete)
+box_ijk2   = geompy.MakeBox(arete2, arete1, 0,  arete3, arete2, arete)
 
-box_tetra2 = MakeBox(arete2, arete2, 0,  arete3 ,arete3, arete)
+box_tetra2 = geompy.MakeBox(arete2, arete2, 0,  arete3 ,arete3, arete)
 
 # Piece
 # -----
 
-piece_cpd = MakeCompound([box_tetra1, box_ijk1, box_hexa, box_ijk2, box_tetra2])
+piece_cpd = geompy.MakeCompound([box_tetra1, box_ijk1, box_hexa, box_ijk2, box_tetra2])
 
-piece = MakeGlueFaces(piece_cpd, 1e-4)
+piece = geompy.MakeGlueFaces(piece_cpd, 1e-4)
 
-piece_id = addToStudy(piece, "ex04_cube5tetraHexa")
+piece_id = geompy.addToStudy(piece, "ex04_cube5tetraHexa")
 
 # Meshing
 # =======
 
-smesh.SetCurrentStudy(salome.myStudy)
-
 # Create a hexahedral mesh
 # ------------------------
 
@@ -86,8 +90,8 @@ mixed.Hexahedron()
 # ----------------------
 
 def localMesh(b, hyp):
-    box   = GetInPlace(piece, b)
-    faces = SubShapeAll(box, ShapeType["FACE"])
+    box   = geompy.GetInPlace(piece, b)
+    faces = geompy.SubShapeAll(box, geompy.ShapeType["FACE"])
 
     i = 0
     n = len(faces)
@@ -99,7 +103,7 @@ def localMesh(b, hyp):
             algo.LengthFromEdges()
         i = i + 1
 
-    algo = mixed.Tetrahedron(smesh.NETGEN, box)
+    algo = mixed.Tetrahedron(smeshBuilder.NETGEN, box)
     algo.MaxElementVolume(400)
 
 localMesh(box_tetra1, 1)
@@ -109,3 +113,8 @@ localMesh(box_tetra2, 0)
 # -------------
 
 mixed.Compute()
+
+# Update object browser
+# ---------------------
+
+salome.sg.updateObjBrowser()