Added Degrees inline function
This commit is contained in:
parent
a4b0491c2f
commit
86b7c21dca
3
Angle.h
3
Angle.h
@ -16,6 +16,9 @@ class AngleOf {
|
||||
// AngleOf(T v) : value(v) {}
|
||||
// operator T() const; // { return value; }
|
||||
operator float() const;
|
||||
|
||||
static AngleOf<T> Degrees(float f);
|
||||
|
||||
inline T GetBinary() const { return this->value; }
|
||||
|
||||
static AngleOf<T> Rad2Deg;
|
||||
|
17
Angle16.cpp
17
Angle16.cpp
@ -13,7 +13,7 @@ AngleOf<signed short>::AngleOf(float angle) {
|
||||
}
|
||||
|
||||
// map float [-180..180) to integer [-32768..32767]
|
||||
this->value = (signed short)((angle / 360.0F) * 65536.0F);
|
||||
this->value = (signed short)(angle / 360.0F * 65536.0F);
|
||||
}
|
||||
|
||||
template <>
|
||||
@ -22,21 +22,6 @@ AngleOf<signed short>::operator float() const {
|
||||
return f;
|
||||
}
|
||||
|
||||
// This should not exist...
|
||||
// template <>
|
||||
// AngleOf<signed short> AngleOf<signed short>::pi = 3.1415927410125732421875F;
|
||||
|
||||
// template <>
|
||||
// AngleOf<signed short> AngleOf<signed short>::Rad2Deg = 360.0f / (pi * 2);
|
||||
// template <>
|
||||
// AngleOf<signed short> AngleOf<signed short>::Deg2Rad = (pi * 2) / 360.0f;
|
||||
|
||||
// template <>
|
||||
// AngleOf<signed short> AngleOf<signed short>::Normalize(
|
||||
// AngleOf<signed short> angle) {
|
||||
// return angle;
|
||||
// }
|
||||
|
||||
// Not correct!!! just for syntactical compilation ATM
|
||||
template <>
|
||||
AngleOf<signed short> AngleOf<signed short>::CosineRuleSide(
|
||||
|
@ -8,6 +8,10 @@ namespace LinearAlgebra {
|
||||
|
||||
typedef AngleOf<signed short> Angle16;
|
||||
|
||||
template <>
|
||||
inline static Angle16 Angle16::Degrees(float angle) {
|
||||
return (angle / 360.0F * 65536.0F);
|
||||
}
|
||||
// template <> Angle16::AngleOf(float angle) {
|
||||
// if (!isfinite(angle)) {
|
||||
// value = 0;
|
||||
|
Loading…
x
Reference in New Issue
Block a user