30
Angle angle; //!< �p�x
33
Position(void) : x(0), y(0)
38
Position(const Position& rhs) : x(rhs.x), y(rhs.y), angle(rhs.angle)
43
Position(T x_, T y_, const Angle& angle_) : x(x_), y(y_), angle(angle_)
48
int to_deg(void) const
50
return angle.to_deg();
54
double to_rad(void) const
56
return angle.to_rad();
60
bool operator == (const Position& rhs) const
62
if ((this->x == rhs.x) && (this->y == rhs.y) &&
63
(this->angle.to_rad() == rhs.angle.to_rad())) {
71
Position& operator = (const Position<T>& rhs)
75
this->angle = rhs.angle;
80
Position<T>& operator += (const Position<T>& rhs)
84
this->angle += rhs.angle;
90
const Position<T> operator + (const Position<T>& rhs) const
92
return Position<T>(*this) += rhs;
96
Position<T>& operator -= (const Position<T>& rhs)
100
this->angle -= rhs.angle;
106
const Position<T> operator - (const Position<T>& rhs) const
108
return Position<T>(*this) -= rhs;
112
Position<T>& operator *= (const T& rhs)
122
Position<T> operator * (const T& rhs) const
124
Position<T> ret(*this);
129
friend const Position<T> operator * (const T& lhs, const Position<T>& rhs)
131
return Position<T>(rhs) * lhs;
135
friend std::ostream& operator << (std::ostream& out,
136
const Position<T>& rhs)
138
out << '(' << rhs.x << ", " << rhs.y
139
<< ", deg(" << rhs.angle.to_deg() << "))";
30
Angle angle; //!< �p�x
33
Position(void) : x(0), y(0)
38
Position(const Position& rhs) : x(rhs.x), y(rhs.y), angle(rhs.angle)
43
Position(T x_, T y_, const Angle& angle_) : x(x_), y(y_), angle(angle_)
48
int to_deg(void) const
50
return angle.to_deg();
54
double to_rad(void) const
56
return angle.to_rad();
60
bool operator == (const Position& rhs) const
62
if ((this->x == rhs.x) && (this->y == rhs.y) &&
63
(this->angle.to_rad() == rhs.angle.to_rad())) {
71
Position& operator = (const Position<T>& rhs)
75
this->angle = rhs.angle;
80
Position<T>& operator += (const Position<T>& rhs)
84
this->angle += rhs.angle;
90
const Position<T> operator + (const Position<T>& rhs) const
92
return Position<T>(*this) += rhs;
96
Position<T>& operator -= (const Position<T>& rhs)
100
this->angle -= rhs.angle;
106
const Position<T> operator - (const Position<T>& rhs) const
108
return Position<T>(*this) -= rhs;
112
Position<T>& operator *= (const T& rhs)
122
Position<T> operator * (const T& rhs) const
124
Position<T> ret(*this);
129
friend const Position<T> operator * (const T& lhs,
130
const Position<T>& rhs)
132
return Position<T>(rhs) * lhs;
136
friend std::ostream& operator << (std::ostream& out,
137
const Position<T>& rhs)
139
out << '(' << rhs.x << ", " << rhs.y
140
<< ", deg(" << rhs.angle.to_deg() << "))";
146
147
#endif /* !QRK_POSITION_H */