Salome HOME
bos #29171 Refactor testing procedure
[modules/smesh.git] / doc / examples / modifying_meshes_ex09.py
diff --git a/doc/examples/modifying_meshes_ex09.py b/doc/examples/modifying_meshes_ex09.py
new file mode 100644 (file)
index 0000000..b015f10
--- /dev/null
@@ -0,0 +1,34 @@
+# Add Polygon
+
+import salome
+salome.salome_init_without_session()
+
+from salome.smesh import smeshBuilder
+
+smesh_builder = smeshBuilder.New()
+
+# create an empty mesh structure
+mesh = smesh_builder.Mesh() 
+
+# a method to build a polygonal mesh element with <nb_vert> angles:
+def MakePolygon (a_mesh, x0, y0, z0, radius, nb_vert, smesh_builder):
+    import math
+
+    al = 2.0 * math.pi / nb_vert
+    node_ids = []
+
+    # Create nodes for a polygon
+    for ii in range(nb_vert):
+        nid = smesh_builder.AddNode(x0 + radius * math.cos(ii*al),
+                                    y0 + radius * math.sin(ii*al),
+                                    z0)
+        node_ids.append(nid)
+        pass
+
+    # Create a polygon
+    return smesh_builder.AddPolygonalFace(node_ids)
+
+# Create three polygons
+f1 = MakePolygon(mesh, 0, 0,  0, 30, 13, smesh_builder=mesh)
+f2 = MakePolygon(mesh, 0, 0, 10, 21,  9, smesh_builder=mesh)
+f3 = MakePolygon(mesh, 0, 0, 20, 13,  6, smesh_builder=mesh)