Fix issues
This commit is contained in:
parent
0a4f2751fe
commit
fe176f6a73
27
Angle.cpp
27
Angle.cpp
@ -88,22 +88,24 @@ template <> Angle2<float> Angle2<float>::Normalize(Angle2<float> angle) {
|
||||
return angleValue;
|
||||
}
|
||||
|
||||
template <typename T>
|
||||
Angle2<T> Angle2<T>::Clamp(Angle2<T> angle, Angle2<T> min, Angle2<T> max) {
|
||||
template <>
|
||||
Angle2<float> Angle2<float>::Clamp(Angle2<float> angle, Angle2<float> min,
|
||||
Angle2<float> max) {
|
||||
float normalizedAngle = Normalize(angle);
|
||||
float r = Float::Clamp(normalizedAngle, min, max);
|
||||
return r;
|
||||
}
|
||||
|
||||
template <typename T>
|
||||
Angle2<T> Angle2<T>::Difference(Angle2<T> a, Angle2<T> b) {
|
||||
float r = Normalize(b - a);
|
||||
return r;
|
||||
}
|
||||
// template <typename T>
|
||||
// Angle2<T> Angle2<T>::Difference(Angle2<T> a, Angle2<T> b) {
|
||||
// Angle2<T> r = Normalize(b - a);
|
||||
// return r;
|
||||
// }
|
||||
|
||||
template <typename T>
|
||||
Angle2<T> Angle2<T>::MoveTowards(Angle2<T> fromAngle, Angle2<T> toAngle,
|
||||
Angle2<T> maxAngle) {
|
||||
template <>
|
||||
Angle2<float> Angle2<float>::MoveTowards(Angle2<float> fromAngle,
|
||||
Angle2<float> toAngle,
|
||||
Angle2<float> maxAngle) {
|
||||
float d = toAngle - fromAngle;
|
||||
float sign = signbit(d) ? -1 : 1;
|
||||
d = sign * Float::Clamp(fabs(d), 0, maxAngle);
|
||||
@ -140,8 +142,9 @@ Angle2<float> Angle2<float>::CosineRuleAngle(float a, float b, float c) {
|
||||
return gamma;
|
||||
}
|
||||
|
||||
template <typename T>
|
||||
Angle2<T> Angle2<T>::SineRuleAngle(float a, Angle2<T> beta, float b) {
|
||||
template <>
|
||||
Angle2<float> Angle2<float>::SineRuleAngle(float a, Angle2<float> beta,
|
||||
float b) {
|
||||
float alpha = asin(a * sin(beta * Angle::Deg2Rad) / b);
|
||||
return alpha;
|
||||
}
|
5
Angle.h
5
Angle.h
@ -16,7 +16,10 @@ public:
|
||||
|
||||
static Angle2<T> Normalize(Angle2<T> angle);
|
||||
static Angle2<T> Clamp(Angle2<T> angle, Angle2<T> min, Angle2<T> max);
|
||||
static Angle2<T> Difference(Angle2<T> a, Angle2<T> b);
|
||||
static Angle2<T> Difference(Angle2<T> a, Angle2<T> b) {
|
||||
Angle2<T> r = Normalize(b - a);
|
||||
return r;
|
||||
};
|
||||
static Angle2<T> MoveTowards(Angle2<T> fromAngle, Angle2<T> toAngle,
|
||||
Angle2<T> maxAngle);
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user