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
|
#ifndef QRK_ANGLE_H
#define QRK_ANGLE_H
/*!
\file
\brief px̌^Ǘ
\author Satofumi KAMIMURA
$Id: Angle.h 1496 2009-11-03 13:44:02Z satofumi $
*/
namespace qrk
{
/*!
\brief px̌^Ǘ
*/
class Angle
{
public:
Angle(void);
Angle(const Angle& rhs);
Angle& operator = (const Angle& rhs);
Angle& operator += (const Angle& rhs);
const Angle operator + (const Angle& rhs) const;
Angle& operator -= (const Angle& rhs);
const Angle operator - (const Angle& rhs) const;
Angle& operator *= (const double rhs);
Angle operator * (const double rhs) const;
friend const Angle operator * (const double lhs, const Angle& rhs);
void normalize(void);
/*!
\brief degree pxւ̕ϊ
\return degree px
*/
int to_deg(void) const;
/*!
\brief radian pxւ̕ϊ
\return radian px
*/
double to_rad(void) const;
private:
double radian_angle_;
friend Angle rad(double radian);
friend Angle deg(int degree);
};
/*!
\brief radian px Angle ɕϊ
\param[in] radian radian px
\return Angle IuWFNg
*/
extern Angle rad(double radian);
/*!
\brief degree px Angle ɕϊ
\param[in] degree degree px
\return Angle IuWFNg
*/
extern Angle deg(int degree);
}
#endif /* !QRK_ANGLE__H */
|