Salome HOME
Revert "Synchronize adm files"
[modules/geom.git] / doc / salome / examples / transformation_operations_ex02.py
1 # Rotation
2
3 import salome
4 salome.salome_init()
5 import GEOM
6 from salome.geom import geomBuilder
7 geompy = geomBuilder.New(salome.myStudy)
8 import math
9 gg = salome.ImportComponentGUI("GEOM")
10
11 # create a vertex and a vector
12 p1 = geompy.MakeVertex(10, 40,  0)
13 p2 = geompy.MakeVertex( 0,  0, 50)
14 p3 = geompy.MakeVertex(10, 50,-20)
15 p4 = geompy.MakeVertex(10, 50, 60)
16 v = geompy.MakeVector(p1, p2)
17 vr = geompy.MakeVector(p3, p4)
18
19 # create a cylinder
20 height = 35
21 radius1 = 20
22 cylinder = geompy.MakeCylinder(p1, v, radius1, height)
23
24 # rotate the given object around the given axis by the given angle
25 rotation1 = geompy.MakeRotation(cylinder, vr, math.pi)
26 rotation2 = geompy.MakeRotationThreePoints(cylinder, p4, p1, p2)
27
28 # add objects in the study
29 id_vr = geompy.addToStudy(vr, "Rotation 1 axis")
30 id_p4 = geompy.addToStudy(p4, "Rotation 2 center")
31 id_p1 = geompy.addToStudy(p1, "Rotation 2 point 1")
32 id_p2 = geompy.addToStudy(p2, "Rotation 2 point 2")
33 id_cylinder = geompy.addToStudy(cylinder, "Cylinder")
34 id_rotation1 = geompy.addToStudy(rotation1, "Rotation 1")
35 id_rotation2 = geompy.addToStudy(rotation2, "Rotation 2")
36
37 # display the results
38 gg.createAndDisplayGO(id_vr)
39 gg.createAndDisplayGO(id_p4)
40 gg.createAndDisplayGO(id_p1)
41 gg.createAndDisplayGO(id_p2)
42 gg.createAndDisplayGO(id_cylinder)
43 gg.setDisplayMode(id_cylinder,1)
44 gg.createAndDisplayGO(id_rotation1)
45 gg.createAndDisplayGO(id_rotation2)
46 gg.setDisplayMode(id_rotation1,1)
47 gg.setDisplayMode(id_rotation2,1)