mirror of
https://github.com/swift-project/pilotclient.git
synced 2026-04-05 17:35:34 +08:00
refs #840, update (ground) elevation via remote aircraft provider
This commit is contained in:
committed by
Mathew Sutcliffe
parent
667009c85e
commit
be297d8ccf
@@ -10,6 +10,7 @@
|
||||
#include "blackmisc/simulation/remoteaircraftprovider.h"
|
||||
|
||||
using namespace BlackMisc::Aviation;
|
||||
using namespace BlackMisc::Geo;
|
||||
|
||||
namespace BlackMisc
|
||||
{
|
||||
@@ -93,6 +94,12 @@ namespace BlackMisc
|
||||
return this->m_remoteAircraftProvider->updateAircraftRendered(callsign, rendered);
|
||||
}
|
||||
|
||||
bool CRemoteAircraftAware::updateAircraftGroundElevation(const CCallsign &callsign, const CElevationPlane &elevation)
|
||||
{
|
||||
Q_ASSERT_X(this->m_remoteAircraftProvider, Q_FUNC_INFO, "No object available");
|
||||
return this->m_remoteAircraftProvider->updateAircraftGroundElevation(callsign, elevation);
|
||||
}
|
||||
|
||||
void CRemoteAircraftAware::updateMarkAllAsNotRendered()
|
||||
{
|
||||
Q_ASSERT_X(this->m_remoteAircraftProvider, Q_FUNC_INFO, "No object available");
|
||||
|
||||
@@ -37,7 +37,7 @@ namespace BlackMisc
|
||||
class CAircraftSituation;
|
||||
class CCallsign;
|
||||
}
|
||||
|
||||
namespace Geo { class CElevationPlane; }
|
||||
namespace Simulation
|
||||
{
|
||||
//! Direct thread safe in memory access to remote aircraft
|
||||
@@ -108,6 +108,10 @@ namespace BlackMisc
|
||||
//! \threadsafe
|
||||
virtual bool updateAircraftRendered(const BlackMisc::Aviation::CCallsign &callsign, bool rendered) = 0;
|
||||
|
||||
//! Ground elevation of aircraft
|
||||
//! \threadsafe
|
||||
virtual bool updateAircraftGroundElevation(const BlackMisc::Aviation::CCallsign &callsign, const BlackMisc::Geo::CElevationPlane &elevation) = 0;
|
||||
|
||||
//! Mark all as not rendered
|
||||
//! \threadsafe
|
||||
virtual void updateMarkAllAsNotRendered() = 0;
|
||||
@@ -168,7 +172,7 @@ namespace BlackMisc
|
||||
{
|
||||
public:
|
||||
//! \copydoc IRemoteAircraftProvider::getAircraftInRange
|
||||
virtual BlackMisc::Simulation::CSimulatedAircraftList getAircraftInRange() const;
|
||||
BlackMisc::Simulation::CSimulatedAircraftList getAircraftInRange() const;
|
||||
|
||||
//! \copydoc IRemoteAircraftProvider::getAircraftInRangeCount
|
||||
int getAircraftInRangeCount() const;
|
||||
@@ -177,46 +181,46 @@ namespace BlackMisc
|
||||
BlackMisc::Aviation::CCallsignSet getAircraftInRangeCallsigns() const;
|
||||
|
||||
//! \copydoc IRemoteAircraftProvider::getAircraftInRangeForCallsign
|
||||
virtual BlackMisc::Simulation::CSimulatedAircraft getAircraftInRangeForCallsign(const Aviation::CCallsign &callsign) const;
|
||||
BlackMisc::Simulation::CSimulatedAircraft getAircraftInRangeForCallsign(const Aviation::CCallsign &callsign) const;
|
||||
|
||||
//! \copydoc IRemoteAircraftProvider::getAircraftInRangeModelForCallsign
|
||||
virtual BlackMisc::Simulation::CAircraftModel getAircraftInRangeModelForCallsign(const BlackMisc::Aviation::CCallsign &callsign) const;
|
||||
BlackMisc::Simulation::CAircraftModel getAircraftInRangeModelForCallsign(const BlackMisc::Aviation::CCallsign &callsign) const;
|
||||
|
||||
//! \copydoc IRemoteAircraftProvider::getLatestAirspaceAircraftSnapshot
|
||||
virtual BlackMisc::Simulation::CAirspaceAircraftSnapshot getLatestAirspaceAircraftSnapshot() const;
|
||||
BlackMisc::Simulation::CAirspaceAircraftSnapshot getLatestAirspaceAircraftSnapshot() const;
|
||||
|
||||
//! \copydoc IRemoteAircraftProvider::remoteAircraftSituations
|
||||
virtual BlackMisc::Aviation::CAircraftSituationList remoteAircraftSituations(const BlackMisc::Aviation::CCallsign &callsign) const;
|
||||
BlackMisc::Aviation::CAircraftSituationList remoteAircraftSituations(const BlackMisc::Aviation::CCallsign &callsign) const;
|
||||
|
||||
//! \copydoc IRemoteAircraftProvider::remoteAircraftParts
|
||||
virtual BlackMisc::Aviation::CAircraftPartsList remoteAircraftParts(const BlackMisc::Aviation::CCallsign &callsign, qint64 cutoffTimeBefore) const;
|
||||
BlackMisc::Aviation::CAircraftPartsList remoteAircraftParts(const BlackMisc::Aviation::CCallsign &callsign, qint64 cutoffTimeBefore) const;
|
||||
|
||||
//! \copydoc IRemoteAircraftProvider::remoteAircraftSupportingParts
|
||||
virtual BlackMisc::Aviation::CCallsignSet remoteAircraftSupportingParts() const;
|
||||
BlackMisc::Aviation::CCallsignSet remoteAircraftSupportingParts() const;
|
||||
|
||||
//! \copydoc IRemoteAircraftProvider::remoteAircraftSituationsCount
|
||||
virtual int remoteAircraftSituationsCount(const BlackMisc::Aviation::CCallsign &callsign) const;
|
||||
int remoteAircraftSituationsCount(const BlackMisc::Aviation::CCallsign &callsign) const;
|
||||
|
||||
//! \copydoc IRemoteAircraftProvider::isRemoteAircraftSupportingParts
|
||||
virtual bool isRemoteAircraftSupportingParts(const BlackMisc::Aviation::CCallsign &callsign) const;
|
||||
bool isRemoteAircraftSupportingParts(const BlackMisc::Aviation::CCallsign &callsign) const;
|
||||
|
||||
//! \copydoc IRemoteAircraftProvider::updateAircraftEnabled
|
||||
virtual bool updateAircraftEnabled(const BlackMisc::Aviation::CCallsign &callsign, bool enabledForRedering);
|
||||
bool updateAircraftEnabled(const BlackMisc::Aviation::CCallsign &callsign, bool enabledForRedering);
|
||||
|
||||
//! \copydoc IRemoteAircraftProvider::updateAircraftModel
|
||||
virtual bool updateAircraftModel(const BlackMisc::Aviation::CCallsign &callsign, const BlackMisc::Simulation::CAircraftModel &model, const BlackMisc::CIdentifier &originator);
|
||||
bool updateAircraftModel(const BlackMisc::Aviation::CCallsign &callsign, const BlackMisc::Simulation::CAircraftModel &model, const BlackMisc::CIdentifier &originator);
|
||||
|
||||
//! \copydoc IRemoteAircraftProvider::updateAircraftNetworkModel
|
||||
virtual bool updateAircraftNetworkModel(const BlackMisc::Aviation::CCallsign &callsign, const BlackMisc::Simulation::CAircraftModel &model, const BlackMisc::CIdentifier &originator);
|
||||
bool updateAircraftNetworkModel(const BlackMisc::Aviation::CCallsign &callsign, const BlackMisc::Simulation::CAircraftModel &model, const BlackMisc::CIdentifier &originator);
|
||||
|
||||
//! \copydoc IRemoteAircraftProvider::updateAircraftRendered
|
||||
virtual bool updateAircraftRendered(const BlackMisc::Aviation::CCallsign &callsign, bool rendered);
|
||||
bool updateAircraftRendered(const BlackMisc::Aviation::CCallsign &callsign, bool rendered);
|
||||
|
||||
//! \copydoc IRemoteAircraftProvider::updateAircraftGroundElevation
|
||||
bool updateAircraftGroundElevation(const BlackMisc::Aviation::CCallsign &callsign, const BlackMisc::Geo::CElevationPlane &elevation);
|
||||
|
||||
//! \copydoc IRemoteAircraftProvider::updateMarkAllAsNotRendered
|
||||
virtual void updateMarkAllAsNotRendered();
|
||||
|
||||
//! Destructor
|
||||
virtual ~CRemoteAircraftAware() {}
|
||||
void updateMarkAllAsNotRendered();
|
||||
|
||||
//! Set remote aircraft provider
|
||||
void setRemoteAircraftProvider(IRemoteAircraftProvider *remoteAircraftProvider) { m_remoteAircraftProvider = remoteAircraftProvider; }
|
||||
|
||||
@@ -8,17 +8,19 @@
|
||||
*/
|
||||
|
||||
#include "blackmisc/aviation/callsign.h"
|
||||
#include "blackmisc/geo/elevationplane.h"
|
||||
#include "blackmisc/simulation/remoteaircraftproviderdummy.h"
|
||||
#include "blackmisc/collection.h"
|
||||
#include "blackmisc/compare.h"
|
||||
#include "blackmisc/dictionary.h"
|
||||
#include "blackmisc/metaclassprivate.h"
|
||||
#include "blackmisc/propertyindexvariantmap.h"
|
||||
#include "blackmisc/simulation/remoteaircraftproviderdummy.h"
|
||||
#include "blackmisc/variant.h"
|
||||
|
||||
#include <QHash>
|
||||
|
||||
using namespace BlackMisc::Aviation;
|
||||
using namespace BlackMisc::Geo;
|
||||
|
||||
namespace BlackMisc
|
||||
{
|
||||
@@ -105,7 +107,7 @@ namespace BlackMisc
|
||||
bool CRemoteAircraftProviderDummy::updateAircraftEnabled(const CCallsign &callsign, bool enabledForRendering)
|
||||
{
|
||||
CPropertyIndexVariantMap vm(CSimulatedAircraft::IndexEnabled, CVariant::fromValue(enabledForRendering));
|
||||
int n = this->m_aircraft.applyIfCallsign(callsign, vm);
|
||||
const int n = this->m_aircraft.applyIfCallsign(callsign, vm);
|
||||
return n > 0;
|
||||
}
|
||||
|
||||
@@ -113,7 +115,7 @@ namespace BlackMisc
|
||||
{
|
||||
Q_UNUSED(originator);
|
||||
CPropertyIndexVariantMap vm(CSimulatedAircraft::IndexModel, CVariant::from(model));
|
||||
int n = this->m_aircraft.applyIfCallsign(callsign, vm);
|
||||
const int n = this->m_aircraft.applyIfCallsign(callsign, vm);
|
||||
return n > 0;
|
||||
}
|
||||
|
||||
@@ -121,24 +123,31 @@ namespace BlackMisc
|
||||
{
|
||||
Q_UNUSED(originator);
|
||||
CPropertyIndexVariantMap vm(CSimulatedAircraft::IndexNetworkModel, CVariant::from(model));
|
||||
int n = this->m_aircraft.applyIfCallsign(callsign, vm);
|
||||
const int n = this->m_aircraft.applyIfCallsign(callsign, vm);
|
||||
return n > 0;
|
||||
}
|
||||
|
||||
bool CRemoteAircraftProviderDummy::updateFastPositionEnabled(const CCallsign &callsign, bool enableFastPositionUpdates)
|
||||
{
|
||||
CPropertyIndexVariantMap vm(CSimulatedAircraft::IndexFastPositionUpdates, CVariant::fromValue(enableFastPositionUpdates));
|
||||
int n = this->m_aircraft.applyIfCallsign(callsign, vm);
|
||||
const int n = this->m_aircraft.applyIfCallsign(callsign, vm);
|
||||
return n > 0;
|
||||
}
|
||||
|
||||
bool CRemoteAircraftProviderDummy::updateAircraftRendered(const CCallsign &callsign, bool rendered)
|
||||
{
|
||||
CPropertyIndexVariantMap vm(CSimulatedAircraft::IndexRendered, CVariant::fromValue(rendered));
|
||||
int n = this->m_aircraft.applyIfCallsign(callsign, vm);
|
||||
const int n = this->m_aircraft.applyIfCallsign(callsign, vm);
|
||||
return n > 0;
|
||||
}
|
||||
|
||||
bool CRemoteAircraftProviderDummy::updateAircraftGroundElevation(const CCallsign &callsign, const CElevationPlane &elevation)
|
||||
{
|
||||
CPropertyIndexVariantMap vm({ CSimulatedAircraft::IndexSituation, CAircraftSituation::IndexGroundSpeed }, CVariant::fromValue(elevation));
|
||||
const int c = this->m_aircraft.applyIfCallsign(callsign, vm);
|
||||
return c > 0;
|
||||
}
|
||||
|
||||
void CRemoteAircraftProviderDummy::updateMarkAllAsNotRendered()
|
||||
{
|
||||
this->m_aircraft.markAllAsNotRendered();
|
||||
|
||||
@@ -62,8 +62,7 @@ namespace BlackMisc
|
||||
//! Clear all data
|
||||
void clear();
|
||||
|
||||
//! \name Interface overrides
|
||||
//! @{
|
||||
// Interface overrides
|
||||
virtual CSimulatedAircraftList getAircraftInRange() const override;
|
||||
virtual int getAircraftInRangeCount() const override;
|
||||
virtual Aviation::CCallsignSet getAircraftInRangeCallsigns() const override;
|
||||
@@ -84,9 +83,10 @@ namespace BlackMisc
|
||||
) override;
|
||||
virtual bool updateAircraftEnabled(const BlackMisc::Aviation::CCallsign &callsign, bool enabledForRendering) override;
|
||||
virtual bool updateAircraftModel(const BlackMisc::Aviation::CCallsign &callsign, const BlackMisc::Simulation::CAircraftModel &model, const BlackMisc::CIdentifier &originator) override;
|
||||
virtual bool updateAircraftNetworkModel(const BlackMisc::Aviation::CCallsign &callsign, const BlackMisc::Simulation::CAircraftModel &model, const BlackMisc::CIdentifier &originator) override;
|
||||
virtual bool updateAircraftNetworkModel(const Aviation::CCallsign &callsign, const BlackMisc::Simulation::CAircraftModel &model, const BlackMisc::CIdentifier &originator) override;
|
||||
virtual bool updateFastPositionEnabled(const Aviation::CCallsign &callsign, bool enableFastPositionUpdates) override;
|
||||
virtual bool updateAircraftRendered(const Aviation::CCallsign &callsign, bool rendered) override;
|
||||
virtual bool updateAircraftGroundElevation(const Aviation::CCallsign &callsign, const BlackMisc::Geo::CElevationPlane &elevation) override;
|
||||
virtual void updateMarkAllAsNotRendered() override;
|
||||
virtual BlackMisc::CStatusMessageList getReverseLookupMessages(const BlackMisc::Aviation::CCallsign &callsign) const override;
|
||||
virtual bool isReverseLookupMessagesEnabled() const override;
|
||||
@@ -94,7 +94,6 @@ namespace BlackMisc
|
||||
virtual BlackMisc::CStatusMessageList getAircraftPartsHistory(const BlackMisc::Aviation::CCallsign &callsign) const override;
|
||||
virtual bool isAircraftPartsHistoryEnabled() const override;
|
||||
virtual void enableAircraftPartsHistory(bool enabled) override;
|
||||
//! @}
|
||||
|
||||
signals:
|
||||
//! Added situation
|
||||
|
||||
Reference in New Issue
Block a user