KisaragiLibrary
 
読み取り中…
検索中…
一致する文字列を見つけられません
Kisaragi_Lib::Degree< Num > クラステンプレート

度数法の値型 [詳解]

#include <Angle.hpp>

公開メンバ関数

 Degree ()
 
 Degree (Num _num)
 
template<typename T>
Degree< Num > & operator+= (T _add)
 
Radian< Num > ToRadian () const
 
 operator Num () const
 
bool operator== (const Degree< Num > &_degree) const
 
bool operator== (const Radian< Num > &_radian) const
 
bool operator== (const Num &_angle) const
 
bool EpsilonIf (const Degree< Num > &_degree, const Num &_epsilon) const
 差が許容範囲内か調べる
 
bool EpsilonIf (const Radian< Num > &_radian, const Num &_epsilon) const
 差が許容範囲内か調べる
 
bool EpsilonIf (const Num &_angle, const Num &_epsilon) const
 差が許容範囲内か調べる
 

公開変数類

RangeNum< Num, LoopOutOfRangeepsilon { 0, 360 }
 比較の際に許す誤差の範囲
 

非公開変数類

RangeNum< Num, LoopOutOfRangeangle { 0, 360 }
 

詳解

template<typename Num>
class Kisaragi_Lib::Degree< Num >

度数法の値型

テンプレート引数
Num角度の値型

構築子と解体子

◆ Degree() [1/2]

template<typename Num>
Kisaragi_Lib::Degree< Num >::Degree ( )
inline
68 {
70 }
度数法の値型
Definition Angle.hpp:53
RangeNum< Num, LoopOutOfRange > epsilon
比較の際に許す誤差の範囲
Definition Angle.hpp:65

参照元 EpsilonIf(), operator+=(), operator==().

◆ Degree() [2/2]

template<typename Num>
Kisaragi_Lib::Degree< Num >::Degree ( Num _num)
inline
73 {
74 angle = _num;
76 }
RangeNum< Num, LoopOutOfRange > angle
Definition Angle.hpp:57

関数詳解

◆ operator+=()

template<typename Num>
template<typename T>
Degree< Num > & Kisaragi_Lib::Degree< Num >::operator+= ( T _add)
inline
86 {
87 angle += _add;
88
89 return *this;
90 }

◆ ToRadian()

template<typename Num>
Radian< Num > Kisaragi_Lib::Degree< Num >::ToRadian ( ) const
272 {
273 return Radian<Num>{ (Num)angle * (Num)PI / (Num)DEGREES_HALF };
274 }

参照元 Kisaragi_Lib::Radian< Num >::EpsilonIf().

◆ operator Num()

template<typename Num>
Kisaragi_Lib::Degree< Num >::operator Num ( ) const
inline
95 {
96 return angle;
97 }

◆ operator==() [1/3]

template<typename Num>
bool Kisaragi_Lib::Degree< Num >::operator== ( const Degree< Num > & _degree) const
inline
107 {
108 return this->EpsilonIf(_degree,epsilon);
109 }
bool EpsilonIf(const Degree< Num > &_degree, const Num &_epsilon) const
差が許容範囲内か調べる
Definition Angle.hpp:128

◆ operator==() [2/3]

template<typename Num>
bool Kisaragi_Lib::Degree< Num >::operator== ( const Radian< Num > & _radian) const
inline
112 {
113 return this->EpsilonIf(_radian, epsilon);
114 }

◆ operator==() [3/3]

template<typename Num>
bool Kisaragi_Lib::Degree< Num >::operator== ( const Num & _angle) const
inline
117 {
118 return this->EpsilonIf(_angle, epsilon);
119 }

◆ EpsilonIf() [1/3]

template<typename Num>
bool Kisaragi_Lib::Degree< Num >::EpsilonIf ( const Degree< Num > & _degree,
const Num & _epsilon ) const
inline

差が許容範囲内か調べる

引数
_degree度数法の角度
_epsilon許容範囲
戻り値
許容範囲か否か
129 {
131 }
static bool EpsilonIf(T _val01, T _val02, T _epsilon)
_valの差が_許容範囲内か調べる
Definition utility.hpp:44

参照元 operator==(), operator==(), operator==().

◆ EpsilonIf() [2/3]

template<typename Num>
bool Kisaragi_Lib::Degree< Num >::EpsilonIf ( const Radian< Num > & _radian,
const Num & _epsilon ) const
inline

差が許容範囲内か調べる

引数
_degree弧度法の角度
_epsilon許容範囲
戻り値
許容範囲か否か
140 {
141 return Kisaragi_Lib::EpsilonIf((Num)angle, (Num)_radian.ToDegree(), (Num)_epsilon);
142 }

◆ EpsilonIf() [3/3]

template<typename Num>
bool Kisaragi_Lib::Degree< Num >::EpsilonIf ( const Num & _angle,
const Num & _epsilon ) const
inline

差が許容範囲内か調べる

引数
_degree度数法の角度
_epsilon許容範囲
戻り値
許容範囲か否か
151 {
153 }

メンバ詳解

◆ angle

template<typename Num>
RangeNum<Num, LoopOutOfRange> Kisaragi_Lib::Degree< Num >::angle { 0, 360 }
private

◆ epsilon

template<typename Num>
RangeNum<Num, LoopOutOfRange> Kisaragi_Lib::Degree< Num >::epsilon { 0, 360 }

比較の際に許す誤差の範囲

65{ 0, 360 };

参照元 Degree(), Degree(), operator==(), operator==(), operator==().


このクラス詳解は次のファイルから抽出されました: