Salome HOME
Increment version: 8.5.0
[modules/smesh.git] / src / SMESH_SWIG / SMESH_AdvancedEditor.py
index 94a8bf9a42063731f33cd125a991408780ffb221..7d2ee5a0955f0e9463d71e24fab1bbbd51c78d93 100644 (file)
@@ -1,28 +1,41 @@
-#  Copyright (C) 2005  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
-#  CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+# -*- coding: utf-8 -*-
+# Copyright (C) 2007-2016  CEA/DEN, EDF R&D, OPEN CASCADE
 #
-#  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.
+# Copyright (C) 2003-2007  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+# CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
 #
-#  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 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.
 #
-#  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
+# 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
 #
 # See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
 #
-import smesh
+
+import salome
+salome.salome_init()
+import GEOM
+from salome.geom import geomBuilder
+geompy = geomBuilder.New(salome.myStudy)
+
+import SMESH, SALOMEDS
+from salome.smesh import smeshBuilder
+smesh =  smeshBuilder.New(salome.myStudy)
+
 import math
 
 def GetNewNodes(mesh,Elems,OldNodes):
     """
-    Auxilary function, which return list of nodes from
+    Auxiliary function, which return list of nodes from
     given Elems avoided nodes from OldNodes
     """
     newnodes = []
@@ -48,7 +61,7 @@ def GetNewNodes(mesh,Elems,OldNodes):
         pass
     return newnodes
             
-    
+
 # create empty mesh
 mesh = smesh.Mesh()
 
@@ -59,13 +72,13 @@ tol = 0.001
 n1 = mesh.AddNode(55,-5,0)
 n2 = mesh.AddNode(55,5,0)
 e1 = mesh.AddEdge([n1,n2])
-dir1 = smesh.DirStruct(smesh.PointStruct(-10,0,0))
+dir1 = SMESH.DirStruct(SMESH.PointStruct(-10,0,0))
 mesh.ExtrusionSweep([e1],dir1,11)
 # 2. create second edge and make extrusion along 0y
 n3 = mesh.AddNode(-5,-55,0)
 n4 = mesh.AddNode(5,-55,0)
 e2 = mesh.AddEdge([n3,n4])
-dir2 = smesh.DirStruct(smesh.PointStruct(0,10,0))
+dir2 = SMESH.DirStruct(SMESH.PointStruct(0,10,0))
 mesh.ExtrusionSweep([e2],dir2,11)
 
 # since result has coincident nodes and faces
@@ -75,12 +88,12 @@ mesh.MergeNodes(nodes)
 mesh.MergeEqualElements()
 
 # make extrusion faces along 0z
-faces = mesh.GetElementsByType(smesh.FACE)
+faces = mesh.GetElementsByType(SMESH.FACE)
 nbf = len(faces)
 maxang = 2.0
 zstep = 5
 nbzsteps = 50
-dir3 = smesh.DirStruct(smesh.PointStruct(0,0,zstep))
+dir3 = SMESH.DirStruct(SMESH.PointStruct(0,0,zstep))
 newfaces = [] # list for keeping created top faces
               # during extrusion
 
@@ -113,7 +126,7 @@ for i in range(0,nbzsteps):
     pass
     
 # rotate faces from newfaces
-axisr1 = smesh.AxisStruct(0,0,0,0,0,1)
+axisr1 = SMESH.AxisStruct(0,0,0,0,0,1)
 for i in range(0,nbzsteps):
     ang = maxang*(1-math.cos((i+1)*math.pi/nbzsteps))
     mesh.Rotate(newfaces[i],axisr1,ang,0)
@@ -127,7 +140,7 @@ n6 = mesh.AddNode(67.5,0,0)
 n7 = mesh.AddNode(70,0,0)
 e56 = mesh.AddEdge([n5,n6])
 e67 = mesh.AddEdge([n6,n7])
-axisr2 = smesh.AxisStruct(65,0,0,0,1,0)
+axisr2 = SMESH.AxisStruct(65,0,0,0,1,0)
 mesh.RotationSweep([e56,e67],axisr2, math.pi/6, 12, tol)
 res = mesh.GetLastCreatedElems()
 faces1 = []
@@ -144,7 +157,7 @@ n9 = mesh.AddNode(-67.5,0,0)
 n10 = mesh.AddNode(-70,0,0)
 e8 = mesh.AddEdge([n8,n9])
 e9 = mesh.AddEdge([n9,n10])
-axisr3 = smesh.AxisStruct(-65,0,0,0,-1,0)
+axisr3 = SMESH.AxisStruct(-65,0,0,0,-1,0)
 mesh.RotationSweep([e8,e9],axisr3, math.pi/6, 12, tol)
 res = mesh.GetLastCreatedElems()
 faces2 = []
@@ -204,4 +217,4 @@ for i in range(0,nbrs):
     oldnodes = newnodes
     pass
 
-smesh.salome.sg.updateObjBrowser(1)
+salome.sg.updateObjBrowser(True)