Salome HOME
Mantis issue 0021703: [CEA 577] Boolean operations on groups.
[modules/geom.git] / doc / salome / gui / GEOM / input / tui_angle.doc
1 /*!
2
3 \page tui_angle_page Angle
4
5 \code
6 import salome
7 salome.salome_init()
8
9 import math
10 import geompy
11 geompy.init_geom(salome.myStudy)
12
13 OX  = geompy.MakeVectorDXDYDZ(10, 0,0)
14 OXY = geompy.MakeVectorDXDYDZ(10,10,0)
15
16 # in one plane
17 Angle = geompy.GetAngle(OX, OXY)
18
19 print "\nAngle between OX and OXY = ", Angle
20 if math.fabs(Angle - 45.0) > 1e-05:
21     print "  Error: returned angle is", Angle, "while must be 45.0"
22     pass
23
24 Angle = geompy.GetAngleRadians(OX, OXY)
25
26 print "\nAngle between OX and OXY in radians = ", Angle
27 if math.fabs(Angle - math.pi/4) > 1e-05:
28     print "  Error: returned angle is", Angle, "while must be pi/4"
29     pass
30
31 Angle = geompy.GetAngleVectors(OX, OXY, True)
32
33 print "\nAngle between vectors OX and OXY = ", Angle
34 if math.fabs(Angle - 45.0) > 1e-05:
35     print "  Error: returned angle is", Angle, "while must be 45.0"
36     pass
37
38 Angle = geompy.GetAngleRadiansVectors(OX, OXY, False)
39
40 print "\nBig angle between vectors OX and OXY in radians = ", Angle
41 if math.fabs(Angle - math.pi*7./4.) > 1e-05:
42     print "  Error: returned angle is", Angle, "while must be 7*pi/4"
43     pass
44
45 # not in one plane
46 OXY_shift = geompy.MakeTranslation(OXY,10,-10,20)
47 Angle = geompy.GetAngle(OX, OXY_shift)
48
49 print "\nAngle between OX and OXY_shift = ", Angle
50 if math.fabs(Angle - 45.0) > 1e-05:
51     print "  Error: returned angle is", Angle, "while must be 45.0"
52     pass
53
54 # not linear
55 pnt1 = geompy.MakeVertex(0, 0, 0)
56 pnt2 = geompy.MakeVertex(10, 0, 0)
57 pnt3 = geompy.MakeVertex(20, 10, 0)
58 arc  = geompy.MakeArc(pnt1, pnt2, pnt3)
59 Angle = geompy.GetAngle(OX, arc)
60
61 if (math.fabs(Angle + 1.0) > 1e-6 or geompy.MeasuOp.IsDone()):
62     print "Error. Angle must not be computed on curvilinear edges"
63     pass
64
65 \endcode
66
67 */