Salome HOME
PR: doc on script migration
authorprascle <prascle>
Fri, 12 Apr 2013 16:27:32 +0000 (16:27 +0000)
committerprascle <prascle>
Fri, 12 Apr 2013 16:27:32 +0000 (16:27 +0000)
doc/salome/gui/SMESH/input/smesh_migration.doc [new file with mode: 0644]
doc/salome/gui/SMESH/input/smeshpy_interface.doc

diff --git a/doc/salome/gui/SMESH/input/smesh_migration.doc b/doc/salome/gui/SMESH/input/smesh_migration.doc
new file mode 100644 (file)
index 0000000..47b0f1c
--- /dev/null
@@ -0,0 +1,105 @@
+/*!
+
+\page smesh_migration_page Modifing Python scripts from SALOME 6 and before
+
+\n With SALOME 7.2, the Python interface for %Mesh has been slightly modified to offer new functionality:
+
+<ul>
+  <li>\subpage tui_execution_distribution_page</li>
+  <li>\subpage tui_auto_completion_documentation_page</li>
+</ul>
+
+\n Scripts generated for SALOME 6 and older versions must be adapted to work in SALOME 7.2 with all functionality.
+\n A compatibility mode allows old scripts to work in almost all cases, but with a warning.
+
+TODO: see geometry migration
+
+<b>Salome initialisation must always be done as shown below</b>
+\n (<em>salome_init()</em> can be invoked safely several times):
+\code
+import salome
+salome.salome_init()
+\endcode
+
+<b>smesh initialisation is modified.</b>
+\n old mode (from dump):
+\code
+import smesh, SMESH, SALOMEDS
+smesh.SetCurrentStudy(theStudy)
+\endcode
+new mode:
+\code
+import SMESH, SALOMEDS
+from salome.smesh import smeshBuilder
+smesh =  smeshBuilder.New(salome.myStudy)
+\endcode
+
+
+<b> Of course, <em>from smesh import *</em> is no more possible.</b>
+\n You have to explicitely write <em>smesh.some_method()</em>.
+
+<b>algorithms are no longer in the namespace <em>smesh</em> but in <em>smeshBuilder</em>.</b>
+\n For instance:
+\code
+MEFISTO_2D_1 = Mesh_1.Triangle(algo=smesh.MEFISTO,geom=Face_1)
+\endcode
+is replaced by:
+\code
+MEFISTO_2D_1 = Mesh_1.Triangle(algo=smeshBuilder.MEFISTO,geom=Face_1)
+\endcode
+\n StdMeshers algoritms concerned are <em>REGULAR, PYTHON, COMPOSITE, MEFISTO, Hexa, QUADRANGLE, RADIAL_QUAD</em>.
+\n SMESH Plugins provides algorithms such as: <em> NETGEN, NETGEN_FULL, FULL_NETGEN, NETGEN_1D2D3D, NETGEN_1D2D, NETGEN_2D, NETGEN_3D</em>.
+\n If you use DISTENE plugins, you also have <em>BLSURF, GHS3D, GHS3DPRL, Hexotic</em>.
+
+<b>Some variables where at the same time in namespaces <em>smesh</em> and <em>SMESH</em>.
+They are now only in namespace <em>SMESH</em>.</b>.
+\n The dump function was already using the namespace <em>SMESH</em>,
+so, if your script was built with the help of dump function, it should be already OK for that part.
+
+The more used variables concerned are:
+\n <em>NODE, EDGE, FACE, VOLUME, ALL.<em>
+\n <em>FT_xxx, geom_xxx, ADD_xxx...<em>
+
+\n For instance:
+\code
+srcFaceGroup = srcMesh.GroupOnGeom( midFace0, "src faces", smesh.FACE )
+mesh.MakeGroup("Tetras",smesh.VOLUME,smesh.FT_ElemGeomType,"=",smesh.Geom_TETRA)
+filter = smesh.GetFilter(smesh.FACE, smesh.FT_AspectRatio, smesh.FT_MoreThan, 6.5)
+\endcode
+is replaced by:
+\code
+srcFaceGroup = srcMesh.GroupOnGeom( midFace0, "src faces", SMESH.FACE )
+mesh.MakeGroup("Tetras",SMESH.VOLUME,SMESH.FT_ElemGeomType,"=",SMESH.Geom_TETRA)
+filter = smesh.GetFilter(SMESH.FACE, SMESH.FT_AspectRatio, SMESH.FT_MoreThan, 6.5)
+\endcode
+
+
+<b>The namespace <em>smesh.smesh</em> does not exist any more, use <em>smesh</em> instead.</b>
+\n For instance:
+\code
+Compound1 = smesh.smesh.Concatenate([Mesh_inf.GetMesh(), Mesh_sup.GetMesh()], 0, 1, 1e-05)
+\endcode
+is replaced by:
+\code
+Compound1 = smesh.Concatenate([Mesh_inf.GetMesh(), Mesh_sup.GetMesh()], 0, 1, 1e-05)
+\endcode
+
+<b>If you need to import explicitely an %SMESH Plugin, they are now in separate namespaces.</b>
+\n For instance:
+\code
+import StdMeshers
+import NETGENPlugin
+import BLSURFPlugin
+import GHS3DPlugin
+import HexoticPLUGIN
+\endcode
+is replaced by:
+\code
+from salome.StdMeshers import StdMeshersBuilder
+from salome.NETGENPlugin import NETGENPluginBuilder
+from salome.BLSURFPlugin import BLSURFPluginBuilder
+from salomeGHS3DPlugin .import GHS3DPluginBuilder
+from salome.HexoticPLUGIN import HexoticPLUGINBuilder
+\endcode
+
+*/
index 9e77d970c3a541c2b8125aa83f5421627f21ee8b..583eb1a8fb98b0dcd3e01d961464ec01795fff37 100644 (file)
@@ -11,6 +11,10 @@ classes are grouped by their functionality, like it is done in the GUI documenta
 - <a href="smeshpy_doc/namespaces.html">Linear documentation</a> grouped only by classes, declared
 in the \ref smeshBuilder and \ref StdMeshersBuilder Python packages.
 
 - <a href="smeshpy_doc/namespaces.html">Linear documentation</a> grouped only by classes, declared
 in the \ref smeshBuilder and \ref StdMeshersBuilder Python packages.
 
+\n With SALOME 7.2, the Python interface for %Mesh has been slightly modified to offer new functionality,
+\n You may have to modify your scripts generated with SALOME 6 or older versions.
+\n Please see <li>\ref smesh_migration_page</li>
+
 Class \ref smeshBuilder.smeshBuilder "smeshBuilder" provides an interface to create and handle
 meshes. It can be used to create an empty mesh or to import mesh from the data file.
 
 Class \ref smeshBuilder.smeshBuilder "smeshBuilder" provides an interface to create and handle
 meshes. It can be used to create an empty mesh or to import mesh from the data file.