Added degrees, radians, cos, sin, and tan functions
This commit is contained in:
parent
5c3dfa66d3
commit
69bad8f662
26
Angle.cpp
26
Angle.cpp
@ -78,10 +78,16 @@ AngleOf<float>::AngleOf(int angle) : value((float)angle) {}
|
||||
template <>
|
||||
AngleOf<float>::AngleOf(float angle) : value(angle) {}
|
||||
|
||||
// template <>
|
||||
// AngleOf<float>::operator float() const {
|
||||
// return value;
|
||||
// }
|
||||
template <typename T>
|
||||
AngleOf<T> AngleOf<T>::Degrees(float a) {
|
||||
AngleOf<T> angle = AngleOf<T>(a);
|
||||
return angle;
|
||||
}
|
||||
template <typename T>
|
||||
AngleOf<T> AngleOf<T>::Radians(float a) {
|
||||
AngleOf<T> angle = AngleOf<T>((a / pi) * 180);
|
||||
return angle;
|
||||
}
|
||||
|
||||
template <>
|
||||
float AngleOf<float>::ToFloat() const {
|
||||
@ -194,8 +200,16 @@ AngleOf<float> AngleOf<float>::MoveTowards(AngleOf<float> fromAngle,
|
||||
}
|
||||
|
||||
template <typename T>
|
||||
float AngleOf<T>::ACos(AngleOf<T> a) {
|
||||
return acosf(a.InRadians());
|
||||
float AngleOf<T>::Cos(AngleOf<T> a) {
|
||||
return cosf(a.InRadians());
|
||||
}
|
||||
template <typename T>
|
||||
float AngleOf<T>::Sin(AngleOf<T> a) {
|
||||
return sinf(a.InRadians());
|
||||
}
|
||||
template <typename T>
|
||||
float AngleOf<T>::Tan(AngleOf<T> a) {
|
||||
return tanf(a.InRadians());
|
||||
}
|
||||
|
||||
template <>
|
||||
|
10
Angle.h
10
Angle.h
@ -19,7 +19,9 @@ class AngleOf {
|
||||
AngleOf() {};
|
||||
AngleOf(int f);
|
||||
AngleOf(float f);
|
||||
// operator float() const;
|
||||
|
||||
static AngleOf<T> Degrees(float f);
|
||||
static AngleOf<T> Radians(float f);
|
||||
|
||||
float ToFloat() const;
|
||||
float InDegrees() const;
|
||||
@ -27,7 +29,7 @@ class AngleOf {
|
||||
|
||||
inline T GetBinary() const { return this->value; }
|
||||
|
||||
static AngleOf<T> pi;
|
||||
// static AngleOf<T> pi;
|
||||
|
||||
bool operator==(AngleOf<T> a);
|
||||
bool operator>(AngleOf<T> a);
|
||||
@ -57,7 +59,9 @@ class AngleOf {
|
||||
AngleOf<T> toAngle,
|
||||
AngleOf<T> maxAngle);
|
||||
|
||||
static float ACos(AngleOf<T>);
|
||||
static float Cos(AngleOf<T>);
|
||||
static float Sin(AngleOf<T>);
|
||||
static float Tan(AngleOf<T>);
|
||||
|
||||
static AngleOf<T> CosineRuleSide(float a, float b, AngleOf<T> gamma);
|
||||
static AngleOf<T> CosineRuleAngle(float a, float b, float c);
|
||||
|
Loading…
x
Reference in New Issue
Block a user