From 67e8f944812f1a9830f22ae119b7482b56a393aa Mon Sep 17 00:00:00 2001 From: Klaus Basan Date: Sun, 4 Mar 2018 22:34:19 +0100 Subject: [PATCH] Ref T259, Ref T243 renaming and adding flags in situation to also represent inbound situations --- src/blackmisc/aviation/aircraftsituation.cpp | 50 +++++++++++-------- src/blackmisc/aviation/aircraftsituation.h | 30 ++++++----- .../aviation/registermetadataaviation.cpp | 2 +- .../fsxcommon/simulatorfsxcommon.cpp | 2 +- 4 files changed, 48 insertions(+), 36 deletions(-) diff --git a/src/blackmisc/aviation/aircraftsituation.cpp b/src/blackmisc/aviation/aircraftsituation.cpp index 00e996474..67e358ffd 100644 --- a/src/blackmisc/aviation/aircraftsituation.cpp +++ b/src/blackmisc/aviation/aircraftsituation.cpp @@ -77,23 +77,29 @@ namespace BlackMisc } } - const QString &CAircraftSituation::onGroundReliabilityToString(CAircraftSituation::OnGroundReliability reliability) + const QString &CAircraftSituation::onGroundDetailsToString(CAircraftSituation::OnGroundDetails reliability) { - static const QString elv("elevation"); - static const QString elvCg("elevation/CG"); - static const QString inter("interpolation"); - static const QString guess("guessing"); + static const QString intElv("elevation"); + static const QString intElvCg("elevation/CG"); + static const QString intInter("interpolation"); + static const QString intGuess("guessing"); static const QString unknown("unknown"); - static const QString ownAircraft("own aircraft"); + static const QString outOwnAircraft("own aircraft"); + static const QString inNetwork("from network"); + static const QString inFromParts("from parts"); + static const QString InNoGroundInfo("no gnd.info"); switch (reliability) { - case CAircraftSituation::OnGroundByElevation: return elv; - case CAircraftSituation::OnGroundByElevationAndCG: return elvCg; - case CAircraftSituation::OnGroundByGuessing: return guess; - case CAircraftSituation::OnGroundByInterpolation: return inter; - case CAircraftSituation::OnGroundOwnAircraft: return ownAircraft; - case CAircraftSituation::OnGroundReliabilityNoSet: + case CAircraftSituation::OnGroundByElevation: return intElv; + case CAircraftSituation::OnGroundByElevationAndCG: return intElvCg; + case CAircraftSituation::OnGroundByGuessing: return intGuess; + case CAircraftSituation::OnGroundByInterpolation: return intInter; + case CAircraftSituation::OutOnGroundOwnAircraft: return outOwnAircraft; + case CAircraftSituation::InFromNetworkSituation: return inNetwork; + case CAircraftSituation::InFromParts: return inFromParts; + case CAircraftSituation::InNoGroundInfo: return InNoGroundInfo; + case CAircraftSituation::NotSet: default: return unknown; } @@ -120,8 +126,8 @@ namespace BlackMisc case IndexCallsign: return m_correspondingCallsign.propertyByIndex(index.copyFrontRemoved()); case IndexIsOnGround: return CVariant::fromValue(m_isOnGround); case IndexIsOnGroundString: return CVariant::fromValue(this->isOnGroundAsString()); - case IndexOnGroundReliability: return CVariant::fromValue(m_onGroundReliability); - case IndexOnGroundReliabilityString: return CVariant::fromValue(this->getOnGroundReliabilityAsString()); + case IndexOnGroundReliability: return CVariant::fromValue(m_onGroundDetails); + case IndexOnGroundReliabilityString: return CVariant::fromValue(this->getOnDetailsAsString()); default: return CValueObject::propertyByIndex(index); } } @@ -141,7 +147,7 @@ namespace BlackMisc case IndexGroundElevation: m_groundElevation.setPropertyByIndex(index.copyFrontRemoved(), variant); break; case IndexCallsign: m_correspondingCallsign.setPropertyByIndex(index.copyFrontRemoved(), variant); break; case IndexIsOnGround: m_isOnGround = variant.toInt(); break; - case IndexOnGroundReliability: m_onGroundReliability = variant.toInt(); break; + case IndexOnGroundReliability: m_onGroundDetails = variant.toInt(); break; default: CValueObject::setPropertyByIndex(index, variant); break; } } @@ -165,7 +171,7 @@ namespace BlackMisc return Compare::compare(m_isOnGround, compareValue.m_isOnGround); case IndexOnGroundReliability: case IndexOnGroundReliabilityString: - return Compare::compare(m_onGroundReliability, compareValue.m_onGroundReliability); + return Compare::compare(m_onGroundDetails, compareValue.m_onGroundDetails); default: break; } const QString assertMsg("No comparison for index " + index.toQString()); @@ -187,7 +193,7 @@ namespace BlackMisc m_bank.setNull(); m_groundElevation.setNull(); m_groundSpeed.setNull(); - m_onGroundReliability = CAircraftSituation::OnGroundReliabilityNoSet; + m_onGroundDetails = CAircraftSituation::NotSet; } const QString &CAircraftSituation::isOnGroundAsString() const @@ -198,23 +204,23 @@ namespace BlackMisc bool CAircraftSituation::isOnGroundInfoAvailable() const { return this->isOnGround() != CAircraftSituation::OnGroundSituationUnknown && - this->getOnGroundReliability() != CAircraftSituation::OnGroundReliabilityNoSet; + this->getOnGroundDetails() != CAircraftSituation::NotSet; } - void CAircraftSituation::setOnGround(CAircraftSituation::IsOnGround onGround, CAircraftSituation::OnGroundReliability reliability) + void CAircraftSituation::setOnGround(CAircraftSituation::IsOnGround onGround, CAircraftSituation::OnGroundDetails reliability) { this->setOnGround(onGround); this->setOnGroundReliabiliy(reliability); } - const QString &CAircraftSituation::getOnGroundReliabilityAsString() const + const QString &CAircraftSituation::getOnDetailsAsString() const { - return CAircraftSituation::onGroundReliabilityToString(this->getOnGroundReliability()); + return CAircraftSituation::onGroundDetailsToString(this->getOnGroundDetails()); } QString CAircraftSituation::getOnGroundInfo() const { - return this->isOnGroundAsString() % QLatin1Char(' ') % this->getOnGroundReliabilityAsString(); + return this->isOnGroundAsString() % QLatin1Char(' ') % this->getOnDetailsAsString(); } bool CAircraftSituation::hasGroundElevation() const diff --git a/src/blackmisc/aviation/aircraftsituation.h b/src/blackmisc/aviation/aircraftsituation.h index d931c54c9..3ef780375 100644 --- a/src/blackmisc/aviation/aircraftsituation.h +++ b/src/blackmisc/aviation/aircraftsituation.h @@ -73,14 +73,20 @@ namespace BlackMisc }; //! Reliability of on ground information - enum OnGroundReliability + enum OnGroundDetails { + NotSet, + // interpolated situation OnGroundByInterpolation, //!< strongest for remote aircraft OnGroundByElevationAndCG, OnGroundByElevation, OnGroundByGuessing, //!< weakest - OnGroundReliabilityNoSet, - OnGroundOwnAircraft, //!< sending on ground + // received situation + InFromNetworkSituation, //!< received from network + InFromParts, + InNoGroundInfo, + // send information + OutOnGroundOwnAircraft //!< sending on ground }; //! Default constructor. @@ -149,16 +155,16 @@ namespace BlackMisc void setOnGround(CAircraftSituation::IsOnGround onGround) { m_isOnGround = static_cast(onGround); } //! Set on ground - void setOnGround(CAircraftSituation::IsOnGround onGround, CAircraftSituation::OnGroundReliability reliability); + void setOnGround(CAircraftSituation::IsOnGround onGround, CAircraftSituation::OnGroundDetails reliability); //! On ground reliability - OnGroundReliability getOnGroundReliability() const { return static_cast(m_onGroundReliability); } + OnGroundDetails getOnGroundDetails() const { return static_cast(m_onGroundDetails); } //! On ground reliability as string - const QString &getOnGroundReliabilityAsString() const; + const QString &getOnDetailsAsString() const; //! Reliability - void setOnGroundReliabiliy(CAircraftSituation::OnGroundReliability onGroundReliability) { m_onGroundReliability = static_cast(onGroundReliability); } + void setOnGroundReliabiliy(CAircraftSituation::OnGroundDetails onGroundReliability) { m_onGroundDetails = static_cast(onGroundReliability); } //! On ground info as string QString getOnGroundInfo() const; @@ -254,7 +260,7 @@ namespace BlackMisc static const QString &isOnGroundToString(IsOnGround onGround); //! Enum to string - static const QString &onGroundReliabilityToString(OnGroundReliability reliability); + static const QString &onGroundDetailsToString(OnGroundDetails reliability); private: CCallsign m_correspondingCallsign; @@ -264,9 +270,9 @@ namespace BlackMisc PhysicalQuantities::CAngle m_pitch; PhysicalQuantities::CAngle m_bank; PhysicalQuantities::CSpeed m_groundSpeed; - CAltitude m_groundElevation{0, CAltitude::MeanSeaLevel, PhysicalQuantities::CLengthUnit::nullUnit()}; + CAltitude m_groundElevation{ 0, CAltitude::MeanSeaLevel, PhysicalQuantities::CLengthUnit::nullUnit() }; int m_isOnGround = static_cast(CAircraftSituation::OnGroundSituationUnknown); - int m_onGroundReliability = static_cast(CAircraftSituation::OnGroundReliabilityNoSet); + int m_onGroundDetails = static_cast(CAircraftSituation::NotSet); bool m_isInterim = false; BLACK_METACLASS( @@ -280,7 +286,7 @@ namespace BlackMisc BLACK_METAMEMBER(groundSpeed), BLACK_METAMEMBER(groundElevation), BLACK_METAMEMBER(isOnGround), - BLACK_METAMEMBER(onGroundReliability), + BLACK_METAMEMBER(onGroundDetails), BLACK_METAMEMBER(timestampMSecsSinceEpoch), BLACK_METAMEMBER(timeOffsetMs), BLACK_METAMEMBER(isInterim) @@ -291,6 +297,6 @@ namespace BlackMisc Q_DECLARE_METATYPE(BlackMisc::Aviation::CAircraftSituation) Q_DECLARE_METATYPE(BlackMisc::Aviation::CAircraftSituation::IsOnGround) -Q_DECLARE_METATYPE(BlackMisc::Aviation::CAircraftSituation::OnGroundReliability) +Q_DECLARE_METATYPE(BlackMisc::Aviation::CAircraftSituation::OnGroundDetails) #endif // guard diff --git a/src/blackmisc/aviation/registermetadataaviation.cpp b/src/blackmisc/aviation/registermetadataaviation.cpp index 78724f441..9db3bc14e 100644 --- a/src/blackmisc/aviation/registermetadataaviation.cpp +++ b/src/blackmisc/aviation/registermetadataaviation.cpp @@ -26,7 +26,7 @@ namespace BlackMisc CAircraftPartsList::registerMetadata(); CAircraftSituation::registerMetadata(); qRegisterMetaType(); - qRegisterMetaType(); + qRegisterMetaType(); CAircraftSituationList::registerMetadata(); CAirlineIcaoCode::registerMetadata(); CAirlineIcaoCodeList::registerMetadata(); diff --git a/src/plugins/simulator/fsxcommon/simulatorfsxcommon.cpp b/src/plugins/simulator/fsxcommon/simulatorfsxcommon.cpp index 621c9e588..25ea3f2f4 100644 --- a/src/plugins/simulator/fsxcommon/simulatorfsxcommon.cpp +++ b/src/plugins/simulator/fsxcommon/simulatorfsxcommon.cpp @@ -387,7 +387,7 @@ namespace BlackSimPlugin aircraftSituation.setPressureAltitude(CAltitude(simulatorOwnAircraft.pressureAltitude, CAltitude::MeanSeaLevel, CAltitude::PressureAltitude, CLengthUnit::m())); // set on ground also in situation for consistency and future usage // it is duplicated in parts - aircraftSituation.setOnGround(simulatorOwnAircraft.simOnGround ? CAircraftSituation::OnGround : CAircraftSituation::NotOnGround, CAircraftSituation::OnGroundOwnAircraft); + aircraftSituation.setOnGround(simulatorOwnAircraft.simOnGround ? CAircraftSituation::OnGround : CAircraftSituation::NotOnGround, CAircraftSituation::OutOnGroundOwnAircraft); const CAircraftLights lights(simulatorOwnAircraft.lightStrobe, simulatorOwnAircraft.lightLanding,