Ref T259, Ref T243 prepared sim.env.provider to request elevations

This commit is contained in:
Klaus Basan
2018-04-03 23:56:31 +02:00
parent cf98c46231
commit 225d05d22f
7 changed files with 54 additions and 13 deletions

View File

@@ -922,7 +922,7 @@ namespace BlackCore
CAircraftSituation correctedSituation(situation);
if (!correctedSituation.hasGroundElevation() && !correctedSituation.canLikelySkipNearGroundInterpolation())
{
const CElevationPlane ep = this->findClosestElevationWithinRange(correctedSituation, correctedSituation.getDistancePerTime(1000));
const CElevationPlane ep = this->findClosestElevationWithinRange(correctedSituation, correctedSituation.getDistancePerTime(1000), true);
correctedSituation.setGroundElevation(ep);
}

View File

@@ -42,6 +42,14 @@ namespace BlackCore
return setup;
}
bool ISimulator::requestElevation(const Geo::ICoordinateGeodetic &reference) const
{
if (this->isShuttingDown()) { return false; }
if (reference.isNull()) { return false; }
Q_UNUSED(reference);
return false;
}
void ISimulator::registerHelp()
{
if (CSimpleCommandParser::registered("BlackCore::ISimulator")) { return; }
@@ -56,11 +64,11 @@ namespace BlackCore
QString ISimulator::statusToString(SimulatorStatus status)
{
QStringList s;
if (status.testFlag(Unspecified)) s << "Unspecified";
if (status.testFlag(Disconnected)) s << "Disconnected";
if (status.testFlag(Connected)) s << "Connected";
if (status.testFlag(Simulating)) s << "Simulating";
if (status.testFlag(Paused)) s << "Paused";
if (status.testFlag(Unspecified)) { s << QStringLiteral("Unspecified"); }
if (status.testFlag(Disconnected)) { s << QStringLiteral("Disconnected"); }
if (status.testFlag(Connected)) { s << QStringLiteral("Connected"); }
if (status.testFlag(Simulating)) { s << QStringLiteral("Simulating"); }
if (status.testFlag(Paused)) { s << QStringLiteral("Paused"); }
return s.join(", ");
}

View File

@@ -180,6 +180,10 @@ namespace BlackCore
//! Is overall (swift) application shutting down
virtual bool isShuttingDown() const = 0;
//! \copydoc BlackMisc::Simulation::ISimulationEnvironmentProvider::requestElevation
//! \remark needs to be overridden if the concrete driver supports such an option
virtual bool requestElevation(const BlackMisc::Geo::ICoordinateGeodetic &reference) const override;
//! \copydoc BlackMisc::IProvider::asQObject
virtual QObject *asQObject() override { return this; }