mirror of
https://github.com/swift-project/pilotclient.git
synced 2026-04-01 05:26:45 +08:00
refs #291, bearing
* method to calculate bearing between coordinates * Helper methods to normalize degrees (0..360deg), e.g. -10deg -> 350deg
This commit is contained in:
@@ -68,7 +68,7 @@ namespace BlackMisc
|
||||
bool CMath::epsilonEqual(double v1, double v2, double epsilon)
|
||||
{
|
||||
if (v1 == v2) return true;
|
||||
return qAbs(v1-v2) <= epsilon;
|
||||
return qAbs(v1 - v2) <= epsilon;
|
||||
}
|
||||
|
||||
/*
|
||||
@@ -87,5 +87,28 @@ namespace BlackMisc
|
||||
return radians * 180.0 / CMath::PI();
|
||||
}
|
||||
|
||||
/*
|
||||
* Normalize degrees
|
||||
*/
|
||||
double CMath::normalizeDegrees(double degrees)
|
||||
{
|
||||
if (degrees == 0.0 || degrees == 360.0 || degrees == -360.0) return 0.0;
|
||||
if (degrees > 0)
|
||||
{
|
||||
while (degrees >= 360.0)
|
||||
{
|
||||
degrees -= 360.0;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
while (degrees < 0.0)
|
||||
{
|
||||
degrees += 360.0;
|
||||
}
|
||||
}
|
||||
return degrees;
|
||||
}
|
||||
|
||||
} // namespace
|
||||
} // namespace
|
||||
|
||||
Reference in New Issue
Block a user