From aea2f11b42ea806b261b372ce72c1c63196033cd Mon Sep 17 00:00:00 2001 From: Lars Toenning Date: Mon, 4 Mar 2019 13:50:18 +0100 Subject: [PATCH] Clean up traffic module --- .../flightgear/fgswiftbustrafficproxy.cpp | 68 ------------------- .../flightgear/fgswiftbustrafficproxy.h | 30 -------- .../flightgear/simulatorflightgear.cpp | 42 ------------ .../flightgear/simulatorflightgear.h | 4 -- 4 files changed, 144 deletions(-) diff --git a/src/plugins/simulator/flightgear/fgswiftbustrafficproxy.cpp b/src/plugins/simulator/flightgear/fgswiftbustrafficproxy.cpp index d7888a9a3..e0cd537e6 100644 --- a/src/plugins/simulator/flightgear/fgswiftbustrafficproxy.cpp +++ b/src/plugins/simulator/flightgear/fgswiftbustrafficproxy.cpp @@ -64,36 +64,6 @@ namespace BlackSimPlugin m_dbusInterface->callDBus(QLatin1String("cleanup")); } - bool CFGSwiftBusTrafficProxy::loadPlanesPackage(const QString &path) - { - return m_dbusInterface->callDBusRet(QLatin1String("loadPlanesPackage"), path); - } - - void CFGSwiftBusTrafficProxy::setDefaultIcao(const QString &defaultIcao) - { - m_dbusInterface->callDBus(QLatin1String("setDefaultIcao"), defaultIcao); - } - - void CFGSwiftBusTrafficProxy::setDrawingLabels(bool drawing) - { - m_dbusInterface->callDBus(QLatin1String("setDrawingLabels"), drawing); - } - - bool CFGSwiftBusTrafficProxy::isDrawingLabels() const - { - return m_dbusInterface->callDBusRet(QLatin1String("isDrawingLabels")); - } - - void CFGSwiftBusTrafficProxy::setMaxPlanes(int planes) - { - m_dbusInterface->callDBus(QLatin1String("setMaxPlanes"), planes); - } - - void CFGSwiftBusTrafficProxy::setMaxDrawDistance(double nauticalMiles) - { - m_dbusInterface->callDBus(QLatin1String("setMaxDrawDistance"), nauticalMiles); - } - void CFGSwiftBusTrafficProxy::addPlane(const QString &callsign, const QString &modelName, const QString &aircraftIcao, const QString &airlineIcao, const QString &livery) { m_dbusInterface->callDBus(QLatin1String("addPlane"), callsign, modelName, aircraftIcao, airlineIcao, livery); @@ -117,18 +87,6 @@ namespace BlackSimPlugin planesPositions.headingsDeg, planesPositions.onGrounds); } - void CFGSwiftBusTrafficProxy::setPlanesTransponders(const PlanesTransponders &planesTransponders) - { - m_dbusInterface->callDBus(QLatin1String("setPlanesTransponders"), - planesTransponders.callsigns, planesTransponders.codes, - planesTransponders.modeCs, planesTransponders.idents); - } - - void CFGSwiftBusTrafficProxy::setInterpolatorMode(const QString &callsign, bool spline) - { - m_dbusInterface->callDBus(QLatin1String("setInterpolatorMode"), callsign, spline); - } - void CFGSwiftBusTrafficProxy::getRemoteAircraftData(const QStringList &callsigns, const RemoteAircraftDataCallback &setter) const { std::function callback = [ = ](QDBusPendingCallWatcher * watcher) @@ -147,31 +105,5 @@ namespace BlackSimPlugin }; m_dbusInterface->callDBusAsync(QLatin1String("getRemoteAircraftData"), callback, callsigns); } - - void CFGSwiftBusTrafficProxy::getElevationAtPosition(const CCallsign &callsign, double latitudeDeg, double longitudeDeg, double altitudeMeters, - const ElevationCallback &setter) const - { - std::function callback = [ = ](QDBusPendingCallWatcher * watcher) - { - QDBusPendingReply reply = *watcher; - if (!reply.isError()) - { - const CCallsign cs(reply.argumentAt<0>()); - const double elevationMeters = reply.argumentAt<1>(); - const CAltitude elevationAlt(elevationMeters, CLengthUnit::m(), CLengthUnit::ft()); - const CElevationPlane elevation(CLatitude(latitudeDeg, CAngleUnit::deg()), - CLongitude(longitudeDeg, CAngleUnit::deg()), - elevationAlt, CElevationPlane::singlePointRadius()); - setter(elevation, cs); - } - watcher->deleteLater(); - }; - m_dbusInterface->callDBusAsync(QLatin1String("getElevationAtPosition"), callback, callsign.asString(), latitudeDeg, longitudeDeg, altitudeMeters); - } - - void CFGSwiftBusTrafficProxy::setFollowedAircraft(const QString &callsign) - { - m_dbusInterface->callDBus(QLatin1String("setFollowedAircraft"), callsign); - } } } diff --git a/src/plugins/simulator/flightgear/fgswiftbustrafficproxy.h b/src/plugins/simulator/flightgear/fgswiftbustrafficproxy.h index eed85c0b9..ffd6f2fb4 100644 --- a/src/plugins/simulator/flightgear/fgswiftbustrafficproxy.h +++ b/src/plugins/simulator/flightgear/fgswiftbustrafficproxy.h @@ -162,24 +162,6 @@ namespace BlackSimPlugin //! Reverse the actions of initialize(). void cleanup(); - //! Load a collection of planes from the given directory and return true if successful - bool loadPlanesPackage(const QString &path); - - //! Set the ICAO code to use for aircraft without a model match - void setDefaultIcao(const QString &defaultIcao); - - //! Set whether the plugin draws type and callsign labels above aircraft - void setDrawingLabels(bool drawing); - - //! Get whether the plugin draws type and callsign labels above aircraft - bool isDrawingLabels() const; - - //! Set the maximum number of aircraft. - void setMaxPlanes(int planes); - - //! Set the maximum distance at which to draw aircraft (nautical miles). - void setMaxDrawDistance(double nauticalMiles); - //! Introduce a new traffic aircraft void addPlane(const QString &callsign, const QString &modelName, const QString &aircraftIcao, const QString &airlineIcao, const QString &livery); @@ -192,21 +174,9 @@ namespace BlackSimPlugin //! Set the position of multiple traffic aircrafts void setPlanesPositions(const BlackSimPlugin::Flightgear::PlanesPositions &planesPositions); - //! Set the transponder of multiple traffic aircraft - void setPlanesTransponders(const BlackSimPlugin::Flightgear::PlanesTransponders &planesTransponders); - - //! Set interpolator mode - void setInterpolatorMode(const QString &callsign, bool spline); - //! Get remote aircrafts data (lat, lon, elevation and CG) void getRemoteAircraftData(const QStringList &callsigns, const RemoteAircraftDataCallback &setter) const; - //! Get the ground elevation at an arbitrary position - void getElevationAtPosition(const BlackMisc::Aviation::CCallsign &callsign, double latitudeDeg, double longitudeDeg, double altitudeMeters, - const ElevationCallback &setter) const; - - //! Sets the aircraft with callsign to be followed in plane view - void setFollowedAircraft(const QString &callsign); private: BlackMisc::CGenericDBusInterface *m_dbusInterface = nullptr; diff --git a/src/plugins/simulator/flightgear/simulatorflightgear.cpp b/src/plugins/simulator/flightgear/simulatorflightgear.cpp index 7c9bdd4d4..58218e26b 100644 --- a/src/plugins/simulator/flightgear/simulatorflightgear.cpp +++ b/src/plugins/simulator/flightgear/simulatorflightgear.cpp @@ -155,36 +155,6 @@ namespace BlackSimPlugin CSimulatorPluginCommon::clearAllRemoteAircraftData(); } - bool CSimulatorFlightgear::requestElevation(const ICoordinateGeodetic &reference, const CCallsign &callsign) - { - if (this->isShuttingDownOrDisconnected()) { return false; } - if (reference.isNull()) { return false; } - - CCoordinateGeodetic pos(reference); - if (!pos.hasMSLGeodeticHeight()) - { - // testing showed: height has an influence on the returned result - // - the most accurate value seems to be returned if the height is close to the elevation - // - in normal scenarios there is no much difference of the results if 0 is used - // - in Lukla (9200ft MSL) the difference between 0 and 9200 is around 1ft - // - in the LOWW scenario using 50000ft MSL results in around 3ft too low elevation - static const CAltitude alt(0, CAltitude::MeanSeaLevel, CLengthUnit::ft()); - pos.setGeodeticHeight(alt); - } - - using namespace std::placeholders; - auto callback = std::bind(&CSimulatorFlightgear::callbackReceivedRequestedElevation, this, _1, _2); - - // Request - m_trafficProxy->getElevationAtPosition(callsign, - pos.latitude().value(CAngleUnit::deg()), - pos.longitude().value(CAngleUnit::deg()), - pos.geodeticHeight().value(CLengthUnit::m()), - callback); - emit this->requestedElevation(callsign); - return true; - } - // convert flightgear squawk mode to swift squawk mode CTransponder::TransponderMode xpdrMode(int xplaneMode, bool ident) { @@ -594,13 +564,6 @@ namespace BlackSimPlugin return this->getAircraftInRange().findByRendered(true).getCallsigns(); // just a poor workaround } - bool CSimulatorFlightgear::followAircraft(const CCallsign &callsign) - { - if (! m_trafficProxy || ! m_trafficProxy->isValid()) { return false; } - m_trafficProxy->setFollowedAircraft(callsign.toQString()); - return true; - } - void CSimulatorFlightgear::updateRemoteAircraft() { Q_ASSERT_X(CThreadUtils::isCurrentThreadObjectThread(this), Q_FUNC_INFO, "thread"); @@ -659,11 +622,6 @@ namespace BlackSimPlugin } // all callsigns - if (!planesTransponders.isEmpty()) - { - m_trafficProxy->setPlanesTransponders(planesTransponders); - } - if (!planesPositions.isEmpty()) { if (CBuildConfig::isLocalDeveloperDebugBuild()) diff --git a/src/plugins/simulator/flightgear/simulatorflightgear.h b/src/plugins/simulator/flightgear/simulatorflightgear.h index 013625651..a3166566c 100644 --- a/src/plugins/simulator/flightgear/simulatorflightgear.h +++ b/src/plugins/simulator/flightgear/simulatorflightgear.h @@ -131,16 +131,12 @@ namespace BlackSimPlugin virtual BlackMisc::PhysicalQuantities::CTime getTimeSynchronizationOffset() const override { return BlackMisc::PhysicalQuantities::CTime(0, BlackMisc::PhysicalQuantities::CTimeUnit::hrmin()); } virtual bool isPhysicallyRenderedAircraft(const BlackMisc::Aviation::CCallsign &callsign) const override; virtual BlackMisc::Aviation::CCallsignSet physicallyRenderedAircraft() const override; - virtual bool followAircraft(const BlackMisc::Aviation::CCallsign &callsign) override; virtual void unload() override; virtual QString getStatisticsSimulatorSpecific() const override; virtual void resetAircraftStatistics() override; virtual BlackMisc::CStatusMessageList getInterpolationMessages(const BlackMisc::Aviation::CCallsign &callsign) const override; //! @} - //! \copydoc BlackMisc::Simulation::ISimulationEnvironmentProvider::requestElevation - virtual bool requestElevation(const BlackMisc::Geo::ICoordinateGeodetic &reference, const BlackMisc::Aviation::CCallsign &callsign) override; - //! Creates an appropriate dbus connection from the string describing it static QDBusConnection connectionFromString(const QString &str);