mirror of
https://github.com/swift-project/pilotclient.git
synced 2026-04-06 10:15:38 +08:00
[Velocity] Add length unit and rename time unit
This commit is contained in:
@@ -17,8 +17,9 @@ BLACK_DEFINE_VALUEOBJECT_MIXINS(BlackMisc::Aviation, CAircraftVelocity)
|
||||
namespace BlackMisc::Aviation
|
||||
{
|
||||
const CSpeedUnit CAircraftVelocity::c_xyzSpeedUnit = CSpeedUnit::m_s();
|
||||
const CLengthUnit CAircraftVelocity::c_xyzLengthUnit = CLengthUnit::m();
|
||||
const CAngleUnit CAircraftVelocity::c_pbhAngleUnit = CAngleUnit::rad();
|
||||
const CTimeUnit CAircraftVelocity::c_pbhTimeUnit = CTimeUnit::s();
|
||||
const CTimeUnit CAircraftVelocity::c_timeUnit = CTimeUnit::s();
|
||||
|
||||
CAircraftVelocity::CAircraftVelocity() = default;
|
||||
|
||||
@@ -37,9 +38,9 @@ namespace BlackMisc::Aviation
|
||||
|
||||
void CAircraftVelocity::setAngularVelocity(double pitch, double roll, double heading, CAngleUnit pbhAngleUnit, CTimeUnit pbhTimeUnit)
|
||||
{
|
||||
m_pitch = pbhTimeUnit.convertFrom(c_pbhAngleUnit.convertFrom(pitch, pbhAngleUnit), c_pbhTimeUnit);
|
||||
m_roll = pbhTimeUnit.convertFrom(c_pbhAngleUnit.convertFrom(roll, pbhAngleUnit), c_pbhTimeUnit);
|
||||
m_heading = pbhTimeUnit.convertFrom(c_pbhAngleUnit.convertFrom(heading, pbhAngleUnit), c_pbhTimeUnit);
|
||||
m_pitch = pbhTimeUnit.convertFrom(c_pbhAngleUnit.convertFrom(pitch, pbhAngleUnit), c_timeUnit);
|
||||
m_roll = pbhTimeUnit.convertFrom(c_pbhAngleUnit.convertFrom(roll, pbhAngleUnit), c_timeUnit);
|
||||
m_heading = pbhTimeUnit.convertFrom(c_pbhAngleUnit.convertFrom(heading, pbhAngleUnit), c_timeUnit);
|
||||
}
|
||||
|
||||
double CAircraftVelocity::getVelocityX(CSpeedUnit unit) const
|
||||
@@ -59,24 +60,24 @@ namespace BlackMisc::Aviation
|
||||
|
||||
double CAircraftVelocity::getPitchVelocity(CAngleUnit angleUnit, CTimeUnit timeUnit) const
|
||||
{
|
||||
return c_pbhTimeUnit.convertFrom(angleUnit.convertFrom(m_pitch, c_pbhAngleUnit), timeUnit);
|
||||
return c_timeUnit.convertFrom(angleUnit.convertFrom(m_pitch, c_pbhAngleUnit), timeUnit);
|
||||
}
|
||||
|
||||
double CAircraftVelocity::getRollVelocity(CAngleUnit angleUnit, CTimeUnit timeUnit) const
|
||||
{
|
||||
return c_pbhTimeUnit.convertFrom(angleUnit.convertFrom(m_roll, c_pbhAngleUnit), timeUnit);
|
||||
return c_timeUnit.convertFrom(angleUnit.convertFrom(m_roll, c_pbhAngleUnit), timeUnit);
|
||||
}
|
||||
|
||||
double CAircraftVelocity::getHeadingVelocity(CAngleUnit angleUnit, CTimeUnit timeUnit) const
|
||||
{
|
||||
return c_pbhTimeUnit.convertFrom(angleUnit.convertFrom(m_heading, c_pbhAngleUnit), timeUnit);
|
||||
return c_timeUnit.convertFrom(angleUnit.convertFrom(m_heading, c_pbhAngleUnit), timeUnit);
|
||||
}
|
||||
|
||||
QString CAircraftVelocity::convertToQString(bool i18n) const
|
||||
{
|
||||
return u"Velocity: " % QStringLiteral("%1 %2 %3 ").arg(m_x).arg(m_y).arg(m_z) % c_xyzSpeedUnit.convertToQString(i18n) %
|
||||
u" | Rotation: " % QStringLiteral("%1 %2 %3 ").arg(m_pitch).arg(m_roll).arg(m_heading) %
|
||||
c_pbhAngleUnit.convertToQString(i18n) % u"/" % c_pbhTimeUnit.convertToQString(i18n);
|
||||
c_pbhAngleUnit.convertToQString(i18n) % u"/" % c_timeUnit.convertToQString(i18n);
|
||||
}
|
||||
|
||||
QVariant CAircraftVelocity::propertyByIndex(CPropertyIndexRef index) const
|
||||
|
||||
Reference in New Issue
Block a user