]> SALOME platform Git repositories - modules/hexablock.git/blob - doc/test_doc/replace_hexa/replace_hexa.py
Salome HOME
386119666d57bc0da14911d51e4611f7c8da7330
[modules/hexablock.git] / doc / test_doc / replace_hexa / replace_hexa.py
1 ####### Test replace hexa ###############
2
3 import hexablock
4
5 doc  = hexablock.addDocument ("default")
6
7
8 # Hexa : Grid construction
9
10 orig = doc.addVertex ( 0, 0, 0)
11 vx   = doc.addVector ( 1 ,0, 0)
12 vy   = doc.addVector ( 0, 1, 0)
13 vz   = doc.addVector ( 0, 0, 1)
14
15 size_x = 3
16 size_y = 3
17 size_z = 3
18
19 grid = doc.makeCartesian (orig, vx, vy, vz, size_x, size_y, size_z)
20
21 c1 = grid.getVertexIJK (1, 2, size_z)
22 c2 = grid.getVertexIJK (1, 1, size_z)
23 c3 = grid.getVertexIJK (2, 1, size_z)
24
25
26 # Hexa : Hexa construction
27
28 pa1 = doc.addVertex (-1, -1, 0)
29 pb1 = doc.addVertex ( 1, -1, 0)
30 pc1 = doc.addVertex ( 1,  1, 0)
31 pd1 = doc.addVertex (-1,  1, 0)
32
33 pa2 = doc.addVertex (-2, -2, 0)
34 pb2 = doc.addVertex ( 2, -2, 0)
35 pc2 = doc.addVertex ( 2,  2, 0)
36 pd2 = doc.addVertex (-2,  2, 0)
37
38 edab1 = doc.addEdge (pa1, pb1)
39 edbc1 = doc.addEdge (pb1, pc1)
40 edcd1 = doc.addEdge (pc1, pd1)
41 edda1 = doc.addEdge (pd1, pa1)
42
43 edab2 = doc.addEdge (pa2, pb2)
44 edbc2 = doc.addEdge (pb2, pc2)
45 edcd2 = doc.addEdge (pc2, pd2)
46 edda2 = doc.addEdge (pd2, pa2)
47
48 edaa = doc.addEdge (pa1, pa2)
49 edbb = doc.addEdge (pb1, pb2)
50 edcc = doc.addEdge (pc1, pc2)
51 eddd = doc.addEdge (pd1, pd2)
52
53 qpattern = []
54 qpattern.append (doc.addQuad (edab1, edbc1, edcd1, edda1))
55 qpattern.append (doc.addQuad (edab1, edbb,  edab2, edaa))
56 qpattern.append (doc.addQuad (edbc1, edcc,  edbc2, edbb))
57 qpattern.append (doc.addQuad (edcd1, eddd,  edcd2, edcc))
58 qpattern.append (doc.addQuad (edda1, edaa,  edda2, eddd))
59
60 #####  doc.saveVtk ("replace0.vtk")
61
62 # Hexa replacement (on the grid)
63 doc.replace (qpattern, pd2,c1, pa2,c2, pb2,c3)
64
65 #####  doc.saveVtk ("replace1.vtk")
66