Salome HOME
0020108: EDF 852 SMESH : Add examples in projection algorithm doc
[modules/smesh.git] / doc / salome / gui / SMESH / input / tui_defining_hypotheses.doc
index b195b12c6c663c16671ede4977c04aa8f8abeee8..8c93ca2e38fee16a22b7a7d616afc25f24ae53f6 100644 (file)
@@ -388,10 +388,10 @@ tetraN.Compute()
 
 <br>
 \anchor tui_projection
-<h3>Projection algorithms</h3>
+<h3>Projection Algorithms</h3>
 
 \code
-# Project pentahedrons from one meshed box to another mesh on the same box
+# Project prisms from one meshed box to another mesh on the same box
 
 from smesh import *
 
@@ -417,6 +417,14 @@ geompy.addToStudyInFather( box, v2F1, "v2F1" )
 geompy.addToStudyInFather( box, v1F2, "v1F2" )
 geompy.addToStudyInFather( box, v2F2, "v2F2" )
 
+# Make group of 3 edges of f1 and f2
+edgesF1 = geompy.CreateGroup(f1, geompy.ShapeType["EDGE"])
+geompy.UnionList( edgesF1, geompy.SubShapeAll(f1, geompy.ShapeType["EDGE"])[:3])
+edgesF2 = geompy.CreateGroup(f2, geompy.ShapeType["EDGE"])
+geompy.UnionList( edgesF2, geompy.SubShapeAll(f2, geompy.ShapeType["EDGE"])[:3])
+geompy.addToStudyInFather( box, edgesF1, "edgesF1" )
+geompy.addToStudyInFather( box, edgesF2, "edgesF2" )
+
 
 # Make the source mesh with prisms
 src_mesh = Mesh(box, "Source mesh")
@@ -427,30 +435,37 @@ src_mesh.Triangle(f1) # triangular sumbesh
 src_mesh.Compute()
 
 
-# Mesh the box using 2D and 3D projection algoritms
+# Mesh the box using projection algoritms
 
 # Define the same global 1D and 2D hypotheses
 tgt_mesh = Mesh(box, "Target mesh")
 tgt_mesh.Segment().NumberOfSegments(9,10,UseExisting=True)
 tgt_mesh.Quadrangle()
 
-# Define hypotheses to project triangles from f1 face of the source mesh to
+# Define Projection 1D algorithm to project 1d mesh elements from group edgesF2 to edgesF1
+# It is actually not needed, just a demonstration
+proj1D = tgt_mesh.Projection1D( edgesF1 )
+# each vertex must be at the end of a connected group of edges (or a sole edge)
+proj1D.SourceEdge( edgesF2, src_mesh, v2F1, v2F2 )
+
+# Define 2D hypotheses to project triangles from f1 face of the source mesh to
 # f2 face in the target mesh. Vertices specify how to associate sides of faces
 proj2D = tgt_mesh.Projection2D( f2 )
 proj2D.SourceFace( f1, src_mesh, v1F1, v1F2, v2F1, v2F2 )
 
-# Hypotheses to project triangles from f2 of target mesh to the face opposite to f2.
+# 2D hypotheses to project triangles from f2 of target mesh to the face opposite to f2.
 # Association of face sides is default
 proj2D = tgt_mesh.Projection2D( f2opp )
 proj2D.SourceFace( f2 )
 
-# Hypotheses to project prisms from the source to the target mesh
+# 3D hypotheses to project prisms from the source to the target mesh
 proj3D = tgt_mesh.Projection3D()
 proj3D.SourceShape3D( box, src_mesh, v1F1, v1F2, v2F1, v2F2 )
 tgt_mesh.Compute()
 
 # Move the source mesh to visualy compare the two meshes
 src_mesh.TranslateObject( src_mesh, MakeDirStruct( 210, 0, 0 ), Copy=False)
+
 \endcode
 
 \n Other meshing algorithms: