mirror of
https://github.com/swift-project/pilotclient.git
synced 2026-04-17 19:05:31 +08:00
Ref T786, use identifier based requestWeatherGrid in simulator plugins
This commit is contained in:
committed by
Mat Sutcliffe
parent
58583d3ffa
commit
026e19add0
@@ -337,8 +337,7 @@ namespace BlackSimPlugin
|
|||||||
calculateGreatCircleDistance(m_lastWeatherPosition, currentPosition).value(CLengthUnit::mi()) > 20)
|
calculateGreatCircleDistance(m_lastWeatherPosition, currentPosition).value(CLengthUnit::mi()) > 20)
|
||||||
{
|
{
|
||||||
m_lastWeatherPosition = currentPosition;
|
m_lastWeatherPosition = currentPosition;
|
||||||
const auto weatherGrid = CWeatherGrid { { "GLOB", currentPosition } };
|
requestWeatherGrid(currentPosition, this->identifier());
|
||||||
requestWeatherGrid(weatherGrid, { this, &CSimulatorEmulated::injectWeatherGrid });
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -579,15 +578,15 @@ namespace BlackSimPlugin
|
|||||||
this->finishUpdateRemoteAircraftAndSetStatistics(now);
|
this->finishUpdateRemoteAircraftAndSetStatistics(now);
|
||||||
}
|
}
|
||||||
|
|
||||||
void CSimulatorEmulated::requestWeather()
|
bool CSimulatorEmulated::requestWeather()
|
||||||
{
|
{
|
||||||
if (!m_isWeatherActivated) { return; }
|
if (!m_isWeatherActivated) { return false; }
|
||||||
|
|
||||||
const CWeatherScenario s = m_weatherScenarioSettings.get();
|
const CWeatherScenario s = m_weatherScenarioSettings.get();
|
||||||
this->getOwnAircraftPosition();
|
this->getOwnAircraftPosition();
|
||||||
const CCoordinateGeodetic currentPosition = this->getOwnAircraftPosition();
|
const CCoordinateGeodetic currentPosition = this->getOwnAircraftPosition();
|
||||||
const auto weatherGrid = CWeatherGrid { { "GLOB", currentPosition } };
|
this->requestWeatherGrid(currentPosition, this->identifier());
|
||||||
this->requestWeatherGrid(weatherGrid, { this, &CSimulatorEmulated::injectWeatherGrid });
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
CSimulatorEmulatedListener::CSimulatorEmulatedListener(const CSimulatorPluginInfo &info)
|
CSimulatorEmulatedListener::CSimulatorEmulatedListener(const CSimulatorPluginInfo &info)
|
||||||
|
|||||||
@@ -74,13 +74,13 @@ namespace BlackSimPlugin
|
|||||||
virtual BlackMisc::CStatusMessageList getInterpolationMessages(const BlackMisc::Aviation::CCallsign &callsign) const override;
|
virtual BlackMisc::CStatusMessageList getInterpolationMessages(const BlackMisc::Aviation::CCallsign &callsign) const override;
|
||||||
virtual bool testSendSituationAndParts(const BlackMisc::Aviation::CCallsign &callsign, const BlackMisc::Aviation::CAircraftSituation &situation, const BlackMisc::Aviation::CAircraftParts &parts) override;
|
virtual bool testSendSituationAndParts(const BlackMisc::Aviation::CCallsign &callsign, const BlackMisc::Aviation::CAircraftSituation &situation, const BlackMisc::Aviation::CAircraftParts &parts) override;
|
||||||
virtual bool requestElevation(const BlackMisc::Geo::ICoordinateGeodetic &reference, const BlackMisc::Aviation::CCallsign &callsign) override;
|
virtual bool requestElevation(const BlackMisc::Geo::ICoordinateGeodetic &reference, const BlackMisc::Aviation::CCallsign &callsign) override;
|
||||||
|
virtual void injectWeatherGrid(const BlackMisc::Weather::CWeatherGrid &weatherGrid) override;
|
||||||
|
|
||||||
// ----- functions just logged -------
|
// ----- functions just logged -------
|
||||||
virtual void highlightAircraft(const BlackMisc::Simulation::CSimulatedAircraft &aircraftToHighlight, bool enableHighlight, const BlackMisc::PhysicalQuantities::CTime &displayTime) override;
|
virtual void highlightAircraft(const BlackMisc::Simulation::CSimulatedAircraft &aircraftToHighlight, bool enableHighlight, const BlackMisc::PhysicalQuantities::CTime &displayTime) override;
|
||||||
virtual bool logicallyAddRemoteAircraft(const BlackMisc::Simulation::CSimulatedAircraft &remoteAircraft) override;
|
virtual bool logicallyAddRemoteAircraft(const BlackMisc::Simulation::CSimulatedAircraft &remoteAircraft) override;
|
||||||
virtual bool logicallyRemoveRemoteAircraft(const BlackMisc::Aviation::CCallsign &callsign) override;
|
virtual bool logicallyRemoveRemoteAircraft(const BlackMisc::Aviation::CCallsign &callsign) override;
|
||||||
virtual int physicallyRemoveMultipleRemoteAircraft(const BlackMisc::Aviation::CCallsignSet &callsigns) override;
|
virtual int physicallyRemoveMultipleRemoteAircraft(const BlackMisc::Aviation::CCallsignSet &callsigns) override;
|
||||||
virtual void injectWeatherGrid(const BlackMisc::Weather::CWeatherGrid &weatherGrid) override;
|
|
||||||
|
|
||||||
// functions logged and used
|
// functions logged and used
|
||||||
//! \addtogroup swiftdotcommands
|
//! \addtogroup swiftdotcommands
|
||||||
@@ -171,7 +171,7 @@ namespace BlackSimPlugin
|
|||||||
void updateRemoteAircraft();
|
void updateRemoteAircraft();
|
||||||
|
|
||||||
//! Request weather
|
//! Request weather
|
||||||
void requestWeather();
|
bool requestWeather();
|
||||||
|
|
||||||
bool m_log = false; //!< from settings
|
bool m_log = false; //!< from settings
|
||||||
bool m_paused = false;
|
bool m_paused = false;
|
||||||
|
|||||||
@@ -406,8 +406,7 @@ namespace BlackSimPlugin
|
|||||||
calculateGreatCircleDistance(m_lastWeatherPosition, aircraftSituation).value(CLengthUnit::mi()) > 20)
|
calculateGreatCircleDistance(m_lastWeatherPosition, aircraftSituation).value(CLengthUnit::mi()) > 20)
|
||||||
{
|
{
|
||||||
m_lastWeatherPosition = aircraftSituation;
|
m_lastWeatherPosition = aircraftSituation;
|
||||||
const auto weatherGrid = CWeatherGrid { { "GLOB", aircraftSituation } };
|
requestWeatherGrid(aircraftSituation, this->identifier());
|
||||||
requestWeatherGrid(weatherGrid, { this, &CSimulatorFs9::injectWeatherGrid });
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} // weather
|
} // weather
|
||||||
|
|||||||
@@ -65,6 +65,7 @@ namespace BlackSimPlugin
|
|||||||
virtual void displayTextMessage(const BlackMisc::Network::CTextMessage &message) const override;
|
virtual void displayTextMessage(const BlackMisc::Network::CTextMessage &message) const override;
|
||||||
virtual BlackMisc::CStatusMessageList getInterpolationMessages(const BlackMisc::Aviation::CCallsign &callsign) const override;
|
virtual BlackMisc::CStatusMessageList getInterpolationMessages(const BlackMisc::Aviation::CCallsign &callsign) const override;
|
||||||
virtual bool testSendSituationAndParts(const BlackMisc::Aviation::CCallsign &callsign, const BlackMisc::Aviation::CAircraftSituation &situation, const BlackMisc::Aviation::CAircraftParts &parts) override;
|
virtual bool testSendSituationAndParts(const BlackMisc::Aviation::CCallsign &callsign, const BlackMisc::Aviation::CAircraftSituation &situation, const BlackMisc::Aviation::CAircraftParts &parts) override;
|
||||||
|
virtual void injectWeatherGrid(const BlackMisc::Weather::CWeatherGrid &weatherGrid) override;
|
||||||
//! \@}
|
//! \@}
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
@@ -79,11 +80,6 @@ namespace BlackSimPlugin
|
|||||||
//! \sa CSimulatorFsxCommon::dispatch
|
//! \sa CSimulatorFsxCommon::dispatch
|
||||||
virtual void timerEvent(QTimerEvent *event) override;
|
virtual void timerEvent(QTimerEvent *event) override;
|
||||||
|
|
||||||
//! \name Base class overrides
|
|
||||||
//! @{
|
|
||||||
virtual void injectWeatherGrid(const BlackMisc::Weather::CWeatherGrid &weatherGrid) override;
|
|
||||||
//! @}
|
|
||||||
|
|
||||||
// remark: in FS9 there is no central updateRemoteAircraft() function, each FS9 client updates itself
|
// remark: in FS9 there is no central updateRemoteAircraft() function, each FS9 client updates itself
|
||||||
// updateRemoteAircraft()
|
// updateRemoteAircraft()
|
||||||
|
|
||||||
|
|||||||
@@ -779,8 +779,7 @@ namespace BlackSimPlugin
|
|||||||
calculateGreatCircleDistance(m_lastWeatherPosition, currentPosition).value(CLengthUnit::mi()) > 20)
|
calculateGreatCircleDistance(m_lastWeatherPosition, currentPosition).value(CLengthUnit::mi()) > 20)
|
||||||
{
|
{
|
||||||
m_lastWeatherPosition = currentPosition;
|
m_lastWeatherPosition = currentPosition;
|
||||||
const auto weatherGrid = CWeatherGrid { { "GLOB", currentPosition } };
|
requestWeatherGrid(currentPosition, this->identifier());
|
||||||
requestWeatherGrid(weatherGrid, { this, &CSimulatorFsxCommon::injectWeatherGrid });
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -156,6 +156,7 @@ namespace BlackSimPlugin
|
|||||||
virtual void setFlightNetworkConnected(bool connected) override;
|
virtual void setFlightNetworkConnected(bool connected) override;
|
||||||
virtual BlackMisc::CStatusMessageList getInterpolationMessages(const BlackMisc::Aviation::CCallsign &callsign) const override;
|
virtual BlackMisc::CStatusMessageList getInterpolationMessages(const BlackMisc::Aviation::CCallsign &callsign) const override;
|
||||||
virtual bool testSendSituationAndParts(const BlackMisc::Aviation::CCallsign &callsign, const BlackMisc::Aviation::CAircraftSituation &situation, const BlackMisc::Aviation::CAircraftParts &parts) override;
|
virtual bool testSendSituationAndParts(const BlackMisc::Aviation::CCallsign &callsign, const BlackMisc::Aviation::CAircraftSituation &situation, const BlackMisc::Aviation::CAircraftParts &parts) override;
|
||||||
|
virtual void injectWeatherGrid(const BlackMisc::Weather::CWeatherGrid &weatherGrid) override;
|
||||||
//! @}
|
//! @}
|
||||||
|
|
||||||
//! \copydoc BlackMisc::Simulation::ISimulationEnvironmentProvider::requestElevation
|
//! \copydoc BlackMisc::Simulation::ISimulationEnvironmentProvider::requestElevation
|
||||||
@@ -232,7 +233,6 @@ namespace BlackSimPlugin
|
|||||||
//! @{
|
//! @{
|
||||||
virtual void reset() override;
|
virtual void reset() override;
|
||||||
virtual void initSimulatorInternals() override;
|
virtual void initSimulatorInternals() override;
|
||||||
virtual void injectWeatherGrid(const BlackMisc::Weather::CWeatherGrid &weatherGrid) override;
|
|
||||||
virtual void clearAllRemoteAircraftData() override;
|
virtual void clearAllRemoteAircraftData() override;
|
||||||
virtual void onOwnModelChanged(const BlackMisc::Simulation::CAircraftModel &newModel) override;
|
virtual void onOwnModelChanged(const BlackMisc::Simulation::CAircraftModel &newModel) override;
|
||||||
//! @}
|
//! @}
|
||||||
|
|||||||
@@ -370,8 +370,7 @@ namespace BlackSimPlugin
|
|||||||
calculateGreatCircleDistance(m_lastWeatherPosition, situation).value(CLengthUnit::mi()) > 20)
|
calculateGreatCircleDistance(m_lastWeatherPosition, situation).value(CLengthUnit::mi()) > 20)
|
||||||
{
|
{
|
||||||
m_lastWeatherPosition = situation;
|
m_lastWeatherPosition = situation;
|
||||||
const auto weatherGrid = CWeatherGrid { { "GLOB", situation } };
|
requestWeatherGrid(situation, this->identifier());
|
||||||
this->requestWeatherGrid(weatherGrid, { this, &CSimulatorXPlane::injectWeatherGrid });
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} // weather
|
} // weather
|
||||||
|
|||||||
@@ -144,6 +144,7 @@ namespace BlackSimPlugin
|
|||||||
virtual void resetAircraftStatistics() override;
|
virtual void resetAircraftStatistics() override;
|
||||||
virtual BlackMisc::CStatusMessageList getInterpolationMessages(const BlackMisc::Aviation::CCallsign &callsign) const override;
|
virtual BlackMisc::CStatusMessageList getInterpolationMessages(const BlackMisc::Aviation::CCallsign &callsign) const override;
|
||||||
virtual bool testSendSituationAndParts(const BlackMisc::Aviation::CCallsign &callsign, const BlackMisc::Aviation::CAircraftSituation &situation, const BlackMisc::Aviation::CAircraftParts &parts) override;
|
virtual bool testSendSituationAndParts(const BlackMisc::Aviation::CCallsign &callsign, const BlackMisc::Aviation::CAircraftSituation &situation, const BlackMisc::Aviation::CAircraftParts &parts) override;
|
||||||
|
virtual void injectWeatherGrid(const BlackMisc::Weather::CWeatherGrid &weatherGrid) override;
|
||||||
virtual void callbackReceivedRequestedElevation(const BlackMisc::Geo::CElevationPlane &plane, const BlackMisc::Aviation::CCallsign &callsign, bool isWater) override;
|
virtual void callbackReceivedRequestedElevation(const BlackMisc::Geo::CElevationPlane &plane, const BlackMisc::Aviation::CCallsign &callsign, bool isWater) override;
|
||||||
//! @}
|
//! @}
|
||||||
|
|
||||||
@@ -158,7 +159,6 @@ namespace BlackSimPlugin
|
|||||||
virtual bool physicallyRemoveRemoteAircraft(const BlackMisc::Aviation::CCallsign &callsign) override;
|
virtual bool physicallyRemoveRemoteAircraft(const BlackMisc::Aviation::CCallsign &callsign) override;
|
||||||
virtual int physicallyRemoveAllRemoteAircraft() override;
|
virtual int physicallyRemoveAllRemoteAircraft() override;
|
||||||
virtual void clearAllRemoteAircraftData() override;
|
virtual void clearAllRemoteAircraftData() override;
|
||||||
virtual void injectWeatherGrid(const BlackMisc::Weather::CWeatherGrid &weatherGrid) override;
|
|
||||||
virtual bool isPaused() const override
|
virtual bool isPaused() const override
|
||||||
{
|
{
|
||||||
//! \todo XP: provide correct pause state
|
//! \todo XP: provide correct pause state
|
||||||
|
|||||||
Reference in New Issue
Block a user