Salome HOME
Copyright update 2021
[modules/smesh.git] / src / SMESH_SWIG / ex04_cube5tetraHexa.py
index 18d4900ffb7f9521ff35d404681743a7a7531e45..83229a5c584231a43c584bc06cb55ce857d58002 100644 (file)
@@ -1,29 +1,37 @@
-#  Copyright (C) 2007-2008  CEA/DEN, EDF R&D, OPEN CASCADE
+#  -*- coding: iso-8859-1 -*-
+# 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
+# Copyright (C) 2003-2007  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+# CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
 #
-#  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.
+# 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, 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
-#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-#  Lesser General Public License for more details.
+# This library is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+# Lesser General Public License for more details.
 #
-#  You should have received a copy of the GNU Lesser General Public
-#  License along with this library; if not, write to the Free Software
-#  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
+# You should have received a copy of the GNU Lesser General Public
+# License along with this library; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
 #
-#  See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
+# See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
 #
+
 # =======================================
 #
-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
 # ========
@@ -43,24 +51,24 @@ 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
 # =======
@@ -82,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)
@@ -95,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)
@@ -105,3 +113,8 @@ localMesh(box_tetra2, 0)
 # -------------
 
 mixed.Compute()
+
+# Update object browser
+# ---------------------
+
+salome.sg.updateObjBrowser()