Ref T261, a global altitude offset can be enabled for testing

This commit is contained in:
Klaus Basan
2018-04-28 19:54:02 +02:00
committed by Roland Winklmeier
parent a2ab62a25a
commit 2d66fd470a
3 changed files with 20 additions and 2 deletions

View File

@@ -617,6 +617,14 @@ namespace BlackMisc
return altCor;
}
CAltitude CAircraftSituation::addAltitudeOffset(const CLength &offset)
{
if (offset.isNull()) { return this->getAltitude(); }
const CAltitude alt = this->getAltitude().withOffset(offset);
this->setAltitude(alt);
return alt;
}
void CAircraftSituation::setPressureAltitude(const CAltitude &altitude)
{
Q_ASSERT(altitude.getAltitudeType() == CAltitude::PressureAltitude);

View File

@@ -293,6 +293,9 @@ namespace BlackMisc
//! Set altitude
void setAltitude(const CAltitude &altitude) { m_position.setGeodeticHeight(altitude); }
//! Add offset
CAltitude addAltitudeOffset(const PhysicalQuantities::CLength &offset);
//! Get pressure altitude
const CAltitude &getPressureAltitude() const { return m_pressureAltitude; }

View File

@@ -480,10 +480,17 @@ namespace BlackMisc
bool CRemoteAircraftProvider::testAddAltitudeOffsetToSituation(CAircraftSituation &situation) const
{
if (!this->hasTestAltitudeOffset(situation.getCallsign())) { return false; }
const CCallsign cs(situation.getCallsign());
// for global offset testing set "true"
constexpr bool globalOffsetTest = false;
const CCallsign cs(situation.getCallsign());
if (!globalOffsetTest && !this->hasTestAltitudeOffset(cs)) { return false; }
CLength os;
if (globalOffsetTest)
{
os = CLength(100, CLengthUnit::ft());
}
else
{
QReadLocker l(&m_lockSituations);
os = m_testOffset.value(cs);