Salome HOME
correct previous integration (Porting to Python 2.6)
[modules/smesh.git] / src / SMESH_SWIG / SMESH_freebord.py
index bec007d0612ca98eb55c531a7f798ec04b55d822..4c5fc646da63f7aff9abb41d19edac0ce36caa96 100644 (file)
@@ -1,4 +1,7 @@
-#  Copyright (C) 2005  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+#  -*- coding: iso-8859-1 -*-
+#  Copyright (C) 2007-2008  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
 #
 #  This library is free software; you can redistribute it and/or
 #  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/
+#  See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
 #
-import salome\r
-import geompy\r
-import SMESH\r
-import StdMeshers\r
-\r
-smesh = salome.lcc.FindOrLoadComponent("FactoryServer", "SMESH")\r
-smesh.SetCurrentStudy(salome.myStudy)\r
-\r
-# Create box without one plane\r
-\r
-box = geompy.MakeBox(0., 0., 0., 10., 20., 30.)\r
-subShapeList = geompy.SubShapeAll(box, geompy.ShapeType["FACE"])\r
-\r
-FaceList  = []\r
-for i in range( 5 ):\r
-  FaceList.append( subShapeList[ i ] )\r
-\r
-aComp = geompy.MakeCompound( FaceList )\r
-aBox = geompy.Sew( aComp, 1. )\r
-idbox = geompy.addToStudy( aBox, "box" )\r
-  \r
-aBox  = salome.IDToObject( idbox )\r
-\r
-# Create mesh\r
-\r
-hyp1 = smesh.CreateHypothesis("NumberOfSegments", "libStdMeshersEngine.so")\r
-hyp1.SetNumberOfSegments(5)\r
-hyp2 = smesh.CreateHypothesis("MaxElementArea", "libStdMeshersEngine.so")\r
-hyp2.SetMaxElementArea(20)\r
-hyp3 = smesh.CreateHypothesis("MaxElementArea", "libStdMeshersEngine.so")\r
-hyp3.SetMaxElementArea(50)\r
-\r
-algo1 = smesh.CreateHypothesis("Regular_1D", "libStdMeshersEngine.so")\r
-algo2 = smesh.CreateHypothesis("MEFISTO_2D", "libStdMeshersEngine.so")\r
-\r
-mesh = smesh.CreateMesh(aBox)\r
-mesh.AddHypothesis(aBox,hyp1)\r
-mesh.AddHypothesis(aBox,hyp2)\r
-mesh.AddHypothesis(aBox,algo1)\r
-mesh.AddHypothesis(aBox,algo2)\r
-\r
-smesh.Compute(mesh,aBox)\r
-\r
-smeshgui = salome.ImportComponentGUI("SMESH")\r
-smeshgui.Init(salome.myStudyId);\r
-smeshgui.SetName( salome.ObjectToID( mesh ), "Mesh_freebord" );\r
-\r
-# Criterion : Free edges\r
-aFilterMgr = smesh.CreateFilterManager()\r
-aPredicate = aFilterMgr.CreateFreeBorders()\r
-aFilter = aFilterMgr.CreateFilter()\r
-aFilter.SetPredicate( aPredicate )\r
-\r
-anIds = aFilter.GetElementsId( mesh )\r
-\r
-# print result\r
-print "Criterion: Free edges Nb = ", len( anIds )\r
-for i in range( len( anIds ) ):\r
-  print anIds[ i ]\r
-\r
-# create group\r
-aGroup = mesh.CreateGroup( SMESH.EDGE, "Free edges" )\r
-aGroup.Add( anIds )\r
-\r
-\r
-salome.sg.updateObjBrowser(1)\r
+import salome
+import geompy
+import smesh
+
+
+# Create box without one plane
+
+box = geompy.MakeBox(0., 0., 0., 10., 20., 30.)
+subShapeList = geompy.SubShapeAll(box, geompy.ShapeType["FACE"])
+
+FaceList  = []
+for i in range( 5 ):
+  FaceList.append( subShapeList[ i ] )
+
+aComp = geompy.MakeCompound( FaceList )
+aBox = geompy.Sew( aComp, 1. )
+idbox = geompy.addToStudy( aBox, "box" )
+
+aBox  = salome.IDToObject( idbox )
+
+# Create mesh
+
+mesh = smesh.Mesh(aBox, "Mesh_freebord")
+
+algoReg = mesh.Segment()
+hypNbSeg = algoReg.NumberOfSegments(5)
+
+algoMef = mesh.Triangle()
+hypArea = algoMef.MaxElementArea(20)
+
+
+mesh.Compute()
+
+
+# Criterion : Free edges. Create group.
+
+aCriterion = smesh.GetCriterion(smesh.EDGE, smesh.FT_FreeEdges)
+
+aGroup = mesh.MakeGroupByCriterion("Free edges", aCriterion)
+
+anIds = aGroup.GetIDs()
+
+# print result
+print "Criterion: Free edges Nb = ", len( anIds )
+for i in range( len( anIds ) ):
+  print anIds[ i ]
+
+salome.sg.updateObjBrowser(1)