From ea6cf20587225bd72651be17bc6d7a6d30db688d Mon Sep 17 00:00:00 2001 From: Klaus Basan Date: Tue, 8 Aug 2017 02:32:20 +0200 Subject: [PATCH] Ref T111, allow to set cockpit by passing another simulated aircraft --- src/blackmisc/simulation/simulatedaircraft.cpp | 10 +++++++++- src/blackmisc/simulation/simulatedaircraft.h | 3 +++ 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/src/blackmisc/simulation/simulatedaircraft.cpp b/src/blackmisc/simulation/simulatedaircraft.cpp index 9b3811be0..e78f08209 100644 --- a/src/blackmisc/simulation/simulatedaircraft.cpp +++ b/src/blackmisc/simulation/simulatedaircraft.cpp @@ -171,16 +171,23 @@ namespace BlackMisc case CComSystem::Com2: return this->getCom2System(); default: break; } - Q_ASSERT(false); + BLACK_VERIFY_X(false, Q_FUNC_INFO, "Wrong unit"); return CComSystem(); // avoid warning } + void CSimulatedAircraft::setCockpit(const CSimulatedAircraft &aircraft) + { + this->setCockpit(aircraft.getCom1System(), aircraft.getCom2System(), aircraft.getTransponder()); + this->setSelcal(aircraft.getSelcal()); + } + void CSimulatedAircraft::setComSystem(const CComSystem &com, CComSystem::ComUnit unit) { switch (unit) { case CComSystem::Com1: this->setCom1System(com); break; case CComSystem::Com2: this->setCom2System(com); break; + default: BLACK_VERIFY_X(false, Q_FUNC_INFO, "Wrong unit"); break; } } @@ -205,6 +212,7 @@ namespace BlackMisc { case CComSystem::Com1: return this->setCom1ActiveFrequency(frequency); case CComSystem::Com2: return this->setCom2ActiveFrequency(frequency); + default: BLACK_VERIFY_X(false, Q_FUNC_INFO, "Wrong unit"); break; } return false; } diff --git a/src/blackmisc/simulation/simulatedaircraft.h b/src/blackmisc/simulation/simulatedaircraft.h index 66e23603c..00b4dc8a8 100644 --- a/src/blackmisc/simulation/simulatedaircraft.h +++ b/src/blackmisc/simulation/simulatedaircraft.h @@ -254,6 +254,9 @@ namespace BlackMisc //! SELCAL const BlackMisc::Aviation::CSelcal getSelcal() const { return m_selcal; } + //! Set COM unit (all values + transponder and SELCAL) + void setCockpit(const BlackMisc::Simulation::CSimulatedAircraft &aircraft); + //! Cockpit data void setCockpit(const BlackMisc::Aviation::CComSystem &com1, const BlackMisc::Aviation::CComSystem &com2, const BlackMisc::Aviation::CTransponder &transponder);