Salome HOME
Bug 0020072: GHS3DPRLPLUGIN update. Integrating the attached patch.
[modules/smesh.git] / src / SMESH_SWIG / SMESH_test1.py
index c0b04299a17c12f16f8f0ee4a16305325a192f1d..25ce49704e3d5f6da65db3b06abec6a0d01b6ac4 100644 (file)
@@ -1,34 +1,31 @@
-#  Copyright (C) 2003  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 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org 
+#  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
+#  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 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
 #
 #  File   : SMESH_test1.py
 #  Module : SMESH
-
+#
 import salome
 import geompy
+import smesh
 
-import StdMeshers
-
-smesh = salome.lcc.FindOrLoadComponent("FactoryServer", "SMESH")
-smesh.SetCurrentStudy(salome.myStudy)
 
 # ---- define a box
 
@@ -59,99 +56,51 @@ name = geompy.SubShapeName(edge, face)
 print name
 idedge = geompy.addToStudyInFather(face, edge, name)
 
-# ---- launch SMESH
-
-smeshgui = salome.ImportComponentGUI("SMESH")
-smeshgui.Init(salome.myStudyId)
 
-print "-------------------------- create Hypothesis"
+# ---- SMESH
 
-print "-------------------------- LocalLength"
-hypLen1 = smesh.CreateHypothesis("LocalLength", "libStdMeshersEngine.so")
-hypLen1.SetLength(100)
-print hypLen1.GetName()
-print hypLen1.GetId()
-print hypLen1.GetLength()
+# ---- Init a Mesh with the box
 
-idlength = salome.ObjectToID(hypLen1) 
-smeshgui.SetName(idlength, "Local_Length_100");
+mesh = smesh.Mesh(box, "Meshbox")
 
-print "-------------------------- NumberOfSegments"
-hypNbSeg1 = smesh.CreateHypothesis("NumberOfSegments", "libStdMeshersEngine.so")
-hypNbSeg1.SetNumberOfSegments(7)
+print "-------------------------- add hypothesis to box"
+algoReg1 = mesh.Segment()
+hypNbSeg1 = algoReg1.NumberOfSegments(7)
 print hypNbSeg1.GetName()
 print hypNbSeg1.GetId()
 print hypNbSeg1.GetNumberOfSegments()
+smesh.SetName(hypNbSeg1, "NumberOfSegments_7")
 
-idseg = salome.ObjectToID(hypNbSeg1) 
-smeshgui.SetName(idseg, "NumberOfSegments_7");
-
-print "-------------------------- MaxElementArea"
-hypArea1 = smesh.CreateHypothesis("MaxElementArea", "libStdMeshersEngine.so")
-hypArea1.SetMaxElementArea(2500)
+algoMef1 = mesh.Triangle()
+hypArea1 = algoMef1.MaxElementArea(2500)
 print hypArea1.GetName()
 print hypArea1.GetId()
 print hypArea1.GetMaxElementArea()
-
-idarea1 = salome.ObjectToID(hypArea1)
-smeshgui.SetName(idarea1, "MaxElementArea_2500");
-
-print "-------------------------- MaxElementArea"
-hypArea2 = smesh.CreateHypothesis("MaxElementArea", "libStdMeshersEngine.so")
-hypArea2.SetMaxElementArea(500)
-print hypArea2.GetName()
-print hypArea2.GetId()
-print hypArea2.GetMaxElementArea()
-
-idarea2 = salome.ObjectToID(hypArea2)
-smeshgui.SetName(idarea2, "MaxElementArea_500");
-
-print "-------------------------- Regular_1D"
-algoReg = smesh.CreateHypothesis("Regular_1D", "libStdMeshersEngine.so")
-listHyp = algoReg.GetCompatibleHypothesis()
-for hyp in listHyp:
-    print hyp
-print algoReg.GetName()
-print algoReg.GetId()
-
-idreg = salome.ObjectToID(algoReg)
-smeshgui.SetName(idreg, "Regular_1D");
-
-print "-------------------------- MEFISTO_2D"
-algoMef = smesh.CreateHypothesis("MEFISTO_2D", "libStdMeshersEngine.so")
-listHyp = algoMef.GetCompatibleHypothesis()
-for hyp in listHyp:
-    print hyp
-print algoMef.GetName()
-print algoMef.GetId()
-
-idmef = salome.ObjectToID(algoMef)
-smeshgui.SetName(idmef, "MEFISTO_2D");
-
-# ---- Init a Mesh with the box
-
-box = salome.IDToObject(idbox)
-mesh = smesh.CreateMesh(box)
-idmesh = salome.ObjectToID(mesh)
-smeshgui.SetName(idmesh, "Meshbox");
-
-print "-------------------------- add hypothesis to box"
-mesh.AddHypothesis(box,algoReg)
-mesh.AddHypothesis(box,hypNbSeg1)
-mesh.AddHypothesis(box,algoMef)
-mesh.AddHypothesis(box,hypArea1)
+smesh.SetName(hypArea1, "MaxElementArea_2500")
 
 # ---- add hypothesis to edge
-
 print "-------------------------- add hypothesis to edge"
 edge = salome.IDToObject(idedge)
-submesh = mesh.GetSubMesh(edge, "SubMeshEdge")
-mesh.AddHypothesis(edge, algoReg)
-mesh.AddHypothesis(edge, hypLen1)
 
+algoReg2 = mesh.Segment(edge)
+hypLen1 = algoReg2.LocalLength(100)
+smesh.SetName(algoReg2.GetSubMesh(), "SubMeshEdge")
+print hypLen1.GetName()
+print hypLen1.GetId()
+print hypLen1.GetLength()
+smesh.SetName(hypLen1, "Local_Length_100")
+
+# ---- add hypothesis to face
 print "-------------------------- add hypothesis to face"
 face = salome.IDToObject(idface)
-submesh = mesh.GetSubMesh(face, "SubMeshFace")
-mesh.AddHypothesis(face, hypArea2)
+
+algoMef2 = mesh.Triangle(face)
+hypArea2 = algoMef2.MaxElementArea(500)
+smesh.SetName(algoMef2.GetSubMesh(), "SubMeshFace")
+print hypArea2.GetName()
+print hypArea2.GetId()
+print hypArea2.GetMaxElementArea()
+smesh.SetName(hypArea2, "MaxElementArea_500")
+
 
 salome.sg.updateObjBrowser(1);