6 #include <QCoreApplication>
11 namespace swift::misc::aviation
15 return i18n ? QStringLiteral(
"%1 %2").arg(CAngle::convertToQString(i18n),
17 QCoreApplication::translate(
"Aviation",
"magnetic") :
18 QCoreApplication::translate(
"Aviation",
"true")) :
19 QStringLiteral(
"%1 %2").arg(CAngle::convertToQString(i18n),
56 qRegisterMetaType<CHeading::ReferenceNorth>();
Heading as used in aviation, can be true or magnetic heading.
ReferenceNorth getReferenceNorth() const
Get reference north (magnetic or true)
static void registerMetadata()
Register metadata.
void normalizeTo360Degrees()
Normalize to [0, 359.99].
void normalizeToPlusMinus180Degrees()
Normalize to +- 180deg, [-179.99, 180.0].
CHeading()
Default constructor: 0.
CHeading normalizedToPlusMinus180Degrees() const
As [-179.99, 180.0] normalized heading.
CHeading normalizedTo360Degrees() const
As [0, 359.99] normalized heading.
bool isMagneticHeading() const
Magnetic heading?
QString convertToQString(bool i18n=false) const
Cast as QString.
Physical unit angle (radians, degrees)
static double normalizeDegrees180(double degrees, int roundDigits=-1)
Normalize: -180< degrees ≤180.
static double normalizeDegrees360(double degrees, int roundDigits=-1)
Normalize: 0≤ degrees <360.
Specialized class for angles (degrees, radian).
double value() const
Value in current unit.
const CAngleUnit & getUnit() const
Unit.
CAngle & switchUnit(const CAngleUnit &newUnit)
Change unit, and convert value to maintain the same quantity.