Ref T290, XPlane refactoring

* typo getRemoteAircraftsData -> getRemoteAircraftData (no "s")
* typo getEelevationAtPosition (double "Ee")
* get functions "const"
* added unit for some variables such as latitudeDeg
This commit is contained in:
Klaus Basan
2018-07-14 19:53:22 +02:00
parent 78bcc31a0c
commit 52513db63f
8 changed files with 63 additions and 52 deletions

View File

@@ -820,6 +820,7 @@ namespace BlackSimPlugin
CCallsignSet callsigns = m_xplaneAircraftObjects.getAllCallsigns();
const CCallsignSet remove = this->getLastSentCanLikelySkipNearGroundInterpolation().getCallsigns();
callsigns.remove(remove);
if (!callsigns.isEmpty()) { this->requestRemoteAircraftDataFromXPlane(callsigns); }
}
void CSimulatorXPlane::requestRemoteAircraftDataFromXPlane(const CCallsignSet &callsigns)
@@ -827,9 +828,9 @@ namespace BlackSimPlugin
if (callsigns.isEmpty()) { return; }
if (this->isShuttingDown()) { return; }
const QStringList csStrings = callsigns.getCallsignStrings();
m_trafficProxy->getRemoteAircraftData(csStrings, [ = ](const QStringList & callsigns, const QDoubleList & latitudesDeg, const QDoubleList & longitudesDeg, const QDoubleList & elevationsM, const QDoubleList & verticalOffsets)
m_trafficProxy->getRemoteAircraftData(csStrings, [ = ](const QStringList & callsigns, const QDoubleList & latitudesDeg, const QDoubleList & longitudesDeg, const QDoubleList & elevationsMeters, const QDoubleList & verticalOffsetsMeters)
{
updateRemoteAircraftFromSimulator(callsigns, latitudesDeg, longitudesDeg, elevationsM, verticalOffsets);
this->updateRemoteAircraftFromSimulator(callsigns, latitudesDeg, longitudesDeg, elevationsMeters, verticalOffsetsMeters);
});
}
@@ -846,18 +847,28 @@ namespace BlackSimPlugin
void CSimulatorXPlane::updateRemoteAircraftFromSimulator(
const QStringList &callsigns, const QDoubleList &latitudesDeg, const QDoubleList &longitudesDeg,
const QDoubleList &elevationsM, const QDoubleList &verticalOffsets)
const QDoubleList &elevationsMeters, const QDoubleList &verticalOffsetsMeters)
{
for (int i = 0; i < callsigns.size(); i++)
const int size = callsigns.size();
// we skip if we are not near ground
if (CBuildConfig::isLocalDeveloperDebugBuild())
{
Q_ASSERT_X(elevationsMeters.size() == size, Q_FUNC_INFO, "Wrong elevations");
Q_ASSERT_X(latitudesDeg.size() == size, Q_FUNC_INFO, "Wrong latitudesDeg");
Q_ASSERT_X(longitudesDeg.size() == size, Q_FUNC_INFO, "Wrong longitudesDeg");
Q_ASSERT_X(verticalOffsetsMeters.size() == size, Q_FUNC_INFO, "Wrong CG");
}
for (int i = 0; i < size; i++)
{
const CCallsign cs(callsigns[i]);
if (!m_xplaneAircraftObjects.contains(cs)) { continue; }
// we skip if we are not near ground
const CXPlaneMPAircraft xpAircraft = m_xplaneAircraftObjects[cs];
const CAltitude elevationAlt(elevationsM[i], CLengthUnit::m(), CLengthUnit::ft());
const CAltitude elevationAlt(elevationsMeters[i], CLengthUnit::m(), CLengthUnit::ft());
const CElevationPlane elevation(CLatitude(latitudesDeg[i], CAngleUnit::deg()), CLongitude(longitudesDeg[i], CAngleUnit::deg()), elevationAlt, CElevationPlane::singlePointRadius());
const CLength cg(verticalOffsets[i], CLengthUnit::m(), CLengthUnit::ft());
const CLength cg(verticalOffsetsMeters[i], CLengthUnit::m(), CLengthUnit::ft());
this->rememberElevationAndCG(cs, xpAircraft.getAircraftModelString(), elevation, cg);
}
}

View File

@@ -209,7 +209,7 @@ namespace BlackSimPlugin
void onRemoteAircraftAdded(const QString &callsign);
void onRemoteAircraftAddingFailed(const QString &callsign);
void updateRemoteAircraftFromSimulator(const QStringList &callsigns, const QDoubleList &latitudesDeg, const QDoubleList &longitudesDeg,
const QDoubleList &elevationsM, const QDoubleList &verticalOffsets);
const QDoubleList &elevationsMeters, const QDoubleList &verticalOffsetsMeters);
//! @}
//! Dsiconnect from DBus

View File

@@ -112,7 +112,7 @@ namespace BlackSimPlugin
m_dbusInterface->callDBus(QLatin1String("setInterpolatorMode"), callsign, spline);
}
void CXSwiftBusTrafficProxy::getRemoteAircraftsData(const QStringList &callsigns, const RemoteAircraftDataCallback &setter)
void CXSwiftBusTrafficProxy::getRemoteAircraftData(const QStringList &callsigns, const RemoteAircraftDataCallback &setter) const
{
std::function<void(QDBusPendingCallWatcher *)> callback = [ = ](QDBusPendingCallWatcher * watcher)
{
@@ -128,11 +128,11 @@ namespace BlackSimPlugin
}
watcher->deleteLater();
};
m_dbusInterface->callDBusAsync(QLatin1String("getRemoteAircraftsData"), callback, callsigns);
m_dbusInterface->callDBusAsync(QLatin1String("getRemoteAircraftData"), callback, callsigns);
}
void CXSwiftBusTrafficProxy::getEelevationAtPosition(const CCallsign &callsign, double latitude, double longitude, double altitude,
const ElevationCallback &setter)
void CXSwiftBusTrafficProxy::getElevationAtPosition(const CCallsign &callsign, double latitudeDeg, double longitudeDeg, double altitudeMeters,
const ElevationCallback &setter) const
{
std::function<void(QDBusPendingCallWatcher *)> callback = [ = ](QDBusPendingCallWatcher * watcher)
{
@@ -142,14 +142,14 @@ namespace BlackSimPlugin
const CCallsign cs(reply.argumentAt<0>());
const double elevationMeters = reply.argumentAt<1>();
const CAltitude elevationAlt(elevationMeters, CLengthUnit::m(), CLengthUnit::ft());
const CElevationPlane elevation(CLatitude(latitude, CAngleUnit::deg()),
CLongitude(longitude, CAngleUnit::deg()),
const CElevationPlane elevation(CLatitude(latitudeDeg, CAngleUnit::deg()),
CLongitude(longitudeDeg, CAngleUnit::deg()),
elevationAlt, CElevationPlane::singlePointRadius());
setter(elevation, cs);
}
watcher->deleteLater();
};
m_dbusInterface->callDBusAsync(QLatin1String("getEelevationAtPosition"), callback, callsign.asString(), latitude, longitude, altitude);
m_dbusInterface->callDBusAsync(QLatin1String("getElevationAtPosition"), callback, callsign.asString(), latitudeDeg, longitudeDeg, altitudeMeters);
}
void CXSwiftBusTrafficProxy::setFollowedAircraft(const QString &callsign)

View File

@@ -178,12 +178,12 @@ namespace BlackSimPlugin
//! \deprecated XSwiftBus::CTraffic::setInterpolatorMode
void setInterpolatorMode(const QString &callsign, bool spline);
//! \copydoc XSwiftBus::CTraffic::getRemoteAircraftsData
void getRemoteAircraftsData(const QStringList &callsigns, const RemoteAircraftDataCallback &setter);
//! \copydoc XSwiftBus::CTraffic::getRemoteAircraftData
void getRemoteAircraftData(const QStringList &callsigns, const RemoteAircraftDataCallback &setter) const;
//! \copydoc XSwiftBus::CTraffic::getEelevationAtPosition
void getEelevationAtPosition(const BlackMisc::Aviation::CCallsign &callsign, double latitude, double longitude, double altitude,
const ElevationCallback &setter);
//! \copydoc XSwiftBus::CTraffic::getElevationAtPosition
void getElevationAtPosition(const BlackMisc::Aviation::CCallsign &callsign, double latitudeDeg, double longitudeDeg, double altitudeMeters,
const ElevationCallback &setter) const;
//! \copydoc XSwiftBus::CTraffic::setFollowedAircraft
void setFollowedAircraft(const QString &callsign);