Salome HOME
bos #29171 Refactor testing procedure
[modules/smesh.git] / doc / examples / modifying_meshes_ex16.py
1 # Diagonal Inversion
2
3 import salome
4 salome.salome_init_without_session()
5
6 from salome.geom import geomBuilder
7 from salome.smesh import smeshBuilder
8
9 smesh_builder = smeshBuilder.New()
10
11 # create an empty mesh structure
12 mesh = smesh_builder.Mesh() 
13
14 # create the following mesh:
15 # .----.----.----.
16 # |   /|   /|   /|
17 # |  / |  / |  / |
18 # | /  | /  | /  |
19 # |/   |/   |/   |
20 # .----.----.----.
21
22 bb = [0, 0, 0, 0]
23 tt = [0, 0, 0, 0]
24 ff = [0, 0, 0, 0, 0, 0]
25
26 bb[0] = mesh.AddNode( 0., 0., 0.)
27 bb[1] = mesh.AddNode(10., 0., 0.)
28 bb[2] = mesh.AddNode(20., 0., 0.)
29 bb[3] = mesh.AddNode(30., 0., 0.)
30
31 tt[0] = mesh.AddNode( 0., 15., 0.)
32 tt[1] = mesh.AddNode(10., 15., 0.)
33 tt[2] = mesh.AddNode(20., 15., 0.)
34 tt[3] = mesh.AddNode(30., 15., 0.)
35
36 ff[0] = mesh.AddFace([bb[0], bb[1], tt[1]])
37 ff[1] = mesh.AddFace([bb[0], tt[1], tt[0]])
38 ff[2] = mesh.AddFace([bb[1], bb[2], tt[2]])
39 ff[3] = mesh.AddFace([bb[1], tt[2], tt[1]])
40 ff[4] = mesh.AddFace([bb[2], bb[3], tt[3]])
41 ff[5] = mesh.AddFace([bb[2], tt[3], tt[2]])
42
43 # inverse the diagonal bb[1] - tt[2]
44 print("\nDiagonal inversion ... ", end=' ')
45 res = mesh.InverseDiag(bb[1], tt[2])
46 if not res: print("failed!")
47 else:       print("done.")