mirror of
https://github.com/swift-project/pilotclient.git
synced 2026-03-31 04:25:35 +08:00
Ref T259, Ref T243 renaming and adding flags in situation to also represent inbound situations
This commit is contained in:
@@ -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
|
||||
|
||||
@@ -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<int>(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<CAircraftSituation::OnGroundReliability>(m_onGroundReliability); }
|
||||
OnGroundDetails getOnGroundDetails() const { return static_cast<CAircraftSituation::OnGroundDetails>(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<int>(onGroundReliability); }
|
||||
void setOnGroundReliabiliy(CAircraftSituation::OnGroundDetails onGroundReliability) { m_onGroundDetails = static_cast<int>(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<int>(CAircraftSituation::OnGroundSituationUnknown);
|
||||
int m_onGroundReliability = static_cast<int>(CAircraftSituation::OnGroundReliabilityNoSet);
|
||||
int m_onGroundDetails = static_cast<int>(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
|
||||
|
||||
@@ -26,7 +26,7 @@ namespace BlackMisc
|
||||
CAircraftPartsList::registerMetadata();
|
||||
CAircraftSituation::registerMetadata();
|
||||
qRegisterMetaType<CAircraftSituation::IsOnGround>();
|
||||
qRegisterMetaType<CAircraftSituation::OnGroundReliability>();
|
||||
qRegisterMetaType<CAircraftSituation::OnGroundDetails>();
|
||||
CAircraftSituationList::registerMetadata();
|
||||
CAirlineIcaoCode::registerMetadata();
|
||||
CAirlineIcaoCodeList::registerMetadata();
|
||||
|
||||
@@ -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,
|
||||
|
||||
Reference in New Issue
Block a user