summaryrefslogtreecommitdiff
path: root/inc/gp_Ax2d.lxx
blob: 25e2189c20983efcb82c8fd6c7f81cfede4ac568 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
// File gp_Ax1.lxx,  REG 27/10/90
// Modif jcv 08/01/1991
// JCV, LPA 07/92

#include <gp_Ax2d.hxx>

inline gp_Ax2d::gp_Ax2d() : loc(0.,0.), vdir(1.,0.)
{ }

inline gp_Ax2d::gp_Ax2d (const gp_Pnt2d& P,
			 const gp_Dir2d& V) : loc(P), vdir(V)
{ }

inline void gp_Ax2d::SetLocation(const gp_Pnt2d& P)
{ loc = P; }

inline void gp_Ax2d::SetDirection(const gp_Dir2d& V)
{ vdir = V; }

inline const gp_Pnt2d& gp_Ax2d::Location () const
{ return loc; }

inline const gp_Dir2d& gp_Ax2d::Direction () const
{ return vdir; }

inline Standard_Boolean gp_Ax2d::IsNormal
(const gp_Ax2d& Other,
 const Standard_Real AngularTolerance) const
{ return vdir.IsNormal(Other.vdir, AngularTolerance); }

inline Standard_Boolean gp_Ax2d::IsOpposite
(const gp_Ax2d& Other,
 const Standard_Real AngularTolerance) const
{ return vdir.IsOpposite (Other.vdir, AngularTolerance); }

inline Standard_Boolean gp_Ax2d::IsParallel
(const gp_Ax2d& Other,
 const Standard_Real AngularTolerance) const
{ return vdir.IsParallel(Other.vdir, AngularTolerance); }

inline   Standard_Real gp_Ax2d::Angle (const gp_Ax2d& Other) const
{ return vdir.Angle (Other.vdir); }

inline void gp_Ax2d::Reverse()
{ vdir.Reverse(); }

inline gp_Ax2d gp_Ax2d::Reversed() const
{ 
  gp_Ax2d Temp = *this;
  Temp.Reverse ();
  return Temp;
}

inline void gp_Ax2d::Rotate (const gp_Pnt2d& P,
			     const Standard_Real Ang)
{
  loc.Rotate (P, Ang);
  vdir.Rotate (Ang);
}

inline gp_Ax2d gp_Ax2d::Rotated (const gp_Pnt2d& P,
				 const Standard_Real Ang) const
{
  gp_Ax2d A = *this;
  A.Rotate (P, Ang);
  return A;
}

inline gp_Ax2d gp_Ax2d::Scaled (const gp_Pnt2d& P,
				const Standard_Real S) const
{
  gp_Ax2d A = *this;
  A.Scale (P, S);
  return A;
}

inline void gp_Ax2d::Transform (const gp_Trsf2d& T)
{
  loc.Transform  (T);
  vdir.Transform (T);
}

inline gp_Ax2d gp_Ax2d::Transformed (const gp_Trsf2d& T) const
{
  gp_Ax2d A = *this;
  A.Transform (T);
  return A;
}

inline void gp_Ax2d::Translate (const gp_Vec2d& V)
{ loc.Translate (V); }

inline gp_Ax2d gp_Ax2d::Translated (const gp_Vec2d& V) const
{
  gp_Ax2d A = *this;
  (A.loc).Translate (V); 
  return A;
}

inline void gp_Ax2d::Translate (const gp_Pnt2d& P1,
				const gp_Pnt2d& P2)
{ loc.Translate (P1,P2); }

inline gp_Ax2d gp_Ax2d::Translated (const gp_Pnt2d& P1,
				    const gp_Pnt2d& P2) const
{
  gp_Ax2d A = *this;
  (A.loc).Translate( gp_Vec2d (P1, P2));
  return A;
}