mirror of
https://github.com/swift-project/pilotclient.git
synced 2026-04-27 02:55:44 +08:00
Ref T717, simulator ground elevation
This commit is contained in:
committed by
Mat Sutcliffe
parent
e215a9858c
commit
6521b89fdd
@@ -28,6 +28,7 @@
|
|||||||
#include "blackmisc/simulation/matchingstatistics.h"
|
#include "blackmisc/simulation/matchingstatistics.h"
|
||||||
#include "blackmisc/simulation/interpolationrenderingsetup.h"
|
#include "blackmisc/simulation/interpolationrenderingsetup.h"
|
||||||
#include "blackmisc/aviation/airportlist.h"
|
#include "blackmisc/aviation/airportlist.h"
|
||||||
|
#include "blackmisc/geo/elevationplane.h"
|
||||||
#include "blackmisc/pq/length.h"
|
#include "blackmisc/pq/length.h"
|
||||||
#include "blackmisc/pq/time.h"
|
#include "blackmisc/pq/time.h"
|
||||||
#include "blackmisc/identifier.h"
|
#include "blackmisc/identifier.h"
|
||||||
@@ -301,6 +302,12 @@ namespace BlackCore
|
|||||||
//! Request weather grid. Argument identifier is past in the signal to identify the requestor
|
//! Request weather grid. Argument identifier is past in the signal to identify the requestor
|
||||||
virtual void requestWeatherGrid(const BlackMisc::Weather::CWeatherGrid &weatherGrid, const BlackMisc::CIdentifier &identifier) = 0;
|
virtual void requestWeatherGrid(const BlackMisc::Weather::CWeatherGrid &weatherGrid, const BlackMisc::CIdentifier &identifier) = 0;
|
||||||
|
|
||||||
|
//! \copydoc BlackMisc::Simulation::ISimulationEnvironmentProvider::requestElevationBySituation
|
||||||
|
virtual bool requestElevationBySituation(const BlackMisc::Aviation::CAircraftSituation &situation) = 0;
|
||||||
|
|
||||||
|
//! \copydoc BlackMisc::Simulation::ISimulationEnvironmentProvider::findClosestElevationWithinRange
|
||||||
|
virtual BlackMisc::Geo::CElevationPlane findClosestElevationWithinRange(const BlackMisc::Geo::CCoordinateGeodetic &reference, const BlackMisc::PhysicalQuantities::CLength &range) const = 0;
|
||||||
|
|
||||||
//! Repeat all matchings
|
//! Repeat all matchings
|
||||||
virtual int doMatchingsAgain() = 0;
|
virtual int doMatchingsAgain() = 0;
|
||||||
|
|
||||||
|
|||||||
@@ -364,6 +364,22 @@ namespace BlackCore
|
|||||||
logEmptyContextWarning(Q_FUNC_INFO);
|
logEmptyContextWarning(Q_FUNC_INFO);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//! \copydoc IContextSimulator::requestWeatherGrid
|
||||||
|
virtual bool requestElevationBySituation(const BlackMisc::Aviation::CAircraftSituation &situation) override
|
||||||
|
{
|
||||||
|
Q_UNUSED(situation);
|
||||||
|
logEmptyContextWarning(Q_FUNC_INFO);
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
virtual BlackMisc::Geo::CElevationPlane findClosestElevationWithinRange(const BlackMisc::Geo::CCoordinateGeodetic &reference, const BlackMisc::PhysicalQuantities::CLength &range) const override
|
||||||
|
{
|
||||||
|
Q_UNUSED(reference);
|
||||||
|
Q_UNUSED(range);
|
||||||
|
logEmptyContextWarning(Q_FUNC_INFO);
|
||||||
|
return BlackMisc::Geo::CElevationPlane::null();
|
||||||
|
}
|
||||||
|
|
||||||
//! \copydoc IContextSimulator::getMatchingMessages
|
//! \copydoc IContextSimulator::getMatchingMessages
|
||||||
virtual BlackMisc::CStatusMessageList getMatchingMessages(const BlackMisc::Aviation::CCallsign &callsign) const override
|
virtual BlackMisc::CStatusMessageList getMatchingMessages(const BlackMisc::Aviation::CCallsign &callsign) const override
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -1131,6 +1131,20 @@ namespace BlackCore
|
|||||||
m_weatherManager.requestWeatherGrid(weatherGrid, identifier);
|
m_weatherManager.requestWeatherGrid(weatherGrid, identifier);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool CContextSimulator::requestElevationBySituation(const CAircraftSituation &situation)
|
||||||
|
{
|
||||||
|
if (m_debugEnabled) { CLogMessage(this, CLogCategory::contextSlot()).debug() << Q_FUNC_INFO << situation; }
|
||||||
|
if (!m_simulatorPlugin.second || !m_simulatorPlugin.second->isConnected()) { return false; }
|
||||||
|
return m_simulatorPlugin.second->requestElevationBySituation(situation);
|
||||||
|
}
|
||||||
|
|
||||||
|
CElevationPlane CContextSimulator::findClosestElevationWithinRange(const CCoordinateGeodetic &reference, const CLength &range) const
|
||||||
|
{
|
||||||
|
if (m_debugEnabled) { CLogMessage(this, CLogCategory::contextSlot()).debug() << Q_FUNC_INFO << reference.convertToQString(true) << range; }
|
||||||
|
if (!m_simulatorPlugin.second || !m_simulatorPlugin.second->isConnected()) { return CElevationPlane::null(); }
|
||||||
|
return m_simulatorPlugin.second->findClosestElevationWithinRange(reference, range);
|
||||||
|
}
|
||||||
|
|
||||||
int CContextSimulator::doMatchingsAgain()
|
int CContextSimulator::doMatchingsAgain()
|
||||||
{
|
{
|
||||||
if (m_debugEnabled) { CLogMessage(this, CLogCategory::contextSlot()).debug() << Q_FUNC_INFO; }
|
if (m_debugEnabled) { CLogMessage(this, CLogCategory::contextSlot()).debug() << Q_FUNC_INFO; }
|
||||||
|
|||||||
@@ -118,6 +118,8 @@ namespace BlackCore
|
|||||||
virtual bool isWeatherActivated() const override;
|
virtual bool isWeatherActivated() const override;
|
||||||
virtual void setWeatherActivated(bool activated) override;
|
virtual void setWeatherActivated(bool activated) override;
|
||||||
virtual void requestWeatherGrid(const BlackMisc::Weather::CWeatherGrid &weatherGrid, const BlackMisc::CIdentifier &identifier) override;
|
virtual void requestWeatherGrid(const BlackMisc::Weather::CWeatherGrid &weatherGrid, const BlackMisc::CIdentifier &identifier) override;
|
||||||
|
virtual bool requestElevationBySituation(const BlackMisc::Aviation::CAircraftSituation &situation) override;
|
||||||
|
virtual BlackMisc::Geo::CElevationPlane findClosestElevationWithinRange(const BlackMisc::Geo::CCoordinateGeodetic &reference, const BlackMisc::PhysicalQuantities::CLength &range) const override;
|
||||||
virtual int doMatchingsAgain() override;
|
virtual int doMatchingsAgain() override;
|
||||||
virtual bool doMatchingAgain(const BlackMisc::Aviation::CCallsign &callsign) override;
|
virtual bool doMatchingAgain(const BlackMisc::Aviation::CCallsign &callsign) override;
|
||||||
virtual BlackMisc::CStatusMessageList getMatchingMessages(const BlackMisc::Aviation::CCallsign &callsign) const override;
|
virtual BlackMisc::CStatusMessageList getMatchingMessages(const BlackMisc::Aviation::CCallsign &callsign) const override;
|
||||||
|
|||||||
@@ -320,6 +320,16 @@ namespace BlackCore
|
|||||||
m_dBusInterface->callDBus(QLatin1String("requestWeatherGrid"), weatherGrid, identifier);
|
m_dBusInterface->callDBus(QLatin1String("requestWeatherGrid"), weatherGrid, identifier);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool CContextSimulatorProxy::requestElevationBySituation(const CAircraftSituation &situation)
|
||||||
|
{
|
||||||
|
return m_dBusInterface->callDBusRet<bool>(QLatin1String("requestElevationBySituation"), situation);
|
||||||
|
}
|
||||||
|
|
||||||
|
CElevationPlane CContextSimulatorProxy::findClosestElevationWithinRange(const CCoordinateGeodetic &reference, const CLength &range) const
|
||||||
|
{
|
||||||
|
return m_dBusInterface->callDBusRet<BlackMisc::Geo::CElevationPlane>(QLatin1String("findClosestElevationWithinRange"), reference, range);
|
||||||
|
}
|
||||||
|
|
||||||
CStatusMessageList CContextSimulatorProxy::getMatchingMessages(const BlackMisc::Aviation::CCallsign &callsign) const
|
CStatusMessageList CContextSimulatorProxy::getMatchingMessages(const BlackMisc::Aviation::CCallsign &callsign) const
|
||||||
{
|
{
|
||||||
return m_dBusInterface->callDBusRet<BlackMisc::CStatusMessageList>(QLatin1String("getMatchingMessages"), callsign);
|
return m_dBusInterface->callDBusRet<BlackMisc::CStatusMessageList>(QLatin1String("getMatchingMessages"), callsign);
|
||||||
|
|||||||
@@ -14,13 +14,14 @@
|
|||||||
#include "blackcore/blackcoreexport.h"
|
#include "blackcore/blackcoreexport.h"
|
||||||
#include "blackcore/context/contextsimulator.h"
|
#include "blackcore/context/contextsimulator.h"
|
||||||
#include "blackcore/corefacadeconfig.h"
|
#include "blackcore/corefacadeconfig.h"
|
||||||
#include "blackmisc/aviation/airportlist.h"
|
|
||||||
#include "blackmisc/pixmap.h"
|
|
||||||
#include "blackmisc/pq/length.h"
|
|
||||||
#include "blackmisc/pq/time.h"
|
|
||||||
#include "blackmisc/simulation/aircraftmodellist.h"
|
#include "blackmisc/simulation/aircraftmodellist.h"
|
||||||
#include "blackmisc/simulation/simulatorplugininfolist.h"
|
#include "blackmisc/simulation/simulatorplugininfolist.h"
|
||||||
#include "blackmisc/simulation/simulatorinternals.h"
|
#include "blackmisc/simulation/simulatorinternals.h"
|
||||||
|
#include "blackmisc/geo/elevationplane.h"
|
||||||
|
#include "blackmisc/pq/length.h"
|
||||||
|
#include "blackmisc/pq/time.h"
|
||||||
|
#include "blackmisc/aviation/airportlist.h"
|
||||||
|
#include "blackmisc/pixmap.h"
|
||||||
|
|
||||||
#include <QObject>
|
#include <QObject>
|
||||||
#include <QString>
|
#include <QString>
|
||||||
@@ -100,6 +101,8 @@ namespace BlackCore
|
|||||||
virtual bool isWeatherActivated() const override;
|
virtual bool isWeatherActivated() const override;
|
||||||
virtual void setWeatherActivated(bool activated) override;
|
virtual void setWeatherActivated(bool activated) override;
|
||||||
virtual void requestWeatherGrid(const BlackMisc::Weather::CWeatherGrid &weatherGrid, const BlackMisc::CIdentifier &identifier) override;
|
virtual void requestWeatherGrid(const BlackMisc::Weather::CWeatherGrid &weatherGrid, const BlackMisc::CIdentifier &identifier) override;
|
||||||
|
virtual bool requestElevationBySituation(const BlackMisc::Aviation::CAircraftSituation &situation) override;
|
||||||
|
virtual BlackMisc::Geo::CElevationPlane findClosestElevationWithinRange(const BlackMisc::Geo::CCoordinateGeodetic &reference, const BlackMisc::PhysicalQuantities::CLength &range) const override;
|
||||||
virtual BlackMisc::CStatusMessageList getMatchingMessages(const BlackMisc::Aviation::CCallsign &callsign) const override;
|
virtual BlackMisc::CStatusMessageList getMatchingMessages(const BlackMisc::Aviation::CCallsign &callsign) const override;
|
||||||
virtual BlackMisc::Simulation::MatchingLog isMatchingMessagesEnabled() const override;
|
virtual BlackMisc::Simulation::MatchingLog isMatchingMessagesEnabled() const override;
|
||||||
virtual void enableMatchingMessages(BlackMisc::Simulation::MatchingLog enabled) override;
|
virtual void enableMatchingMessages(BlackMisc::Simulation::MatchingLog enabled) override;
|
||||||
|
|||||||
Reference in New Issue
Block a user