swift
swiftguistdaircraft.cpp
1 // SPDX-FileCopyrightText: Copyright (C) 2013 swift Project Community / Contributors
2 // SPDX-License-Identifier: GPL-3.0-or-later OR LicenseRef-swift-pilot-client-1
3 
4 #include <QString>
5 
6 #include "swiftguistd.h"
7 
9 #include "gui/guiapplication.h"
11 #include "misc/geo/latitude.h"
12 #include "misc/geo/longitude.h"
14 #include "misc/pq/length.h"
15 #include "misc/pq/units.h"
17 
18 using namespace swift::core;
19 using namespace swift::misc;
20 using namespace swift::gui;
21 using namespace swift::misc::network;
22 using namespace swift::misc::aviation;
23 using namespace swift::misc::simulation;
24 using namespace swift::misc::physical_quantities;
25 using namespace swift::misc::geo;
26 using namespace swift::misc::audio;
27 
28 bool SwiftGuiStd::reloadOwnAircraft()
29 {
30  if (!sApp || sApp->isShuttingDown()) { return false; }
31  if (!sApp->getIContextOwnAircraft() || !sApp->getIContextNetwork()) { return false; }
32 
33  // check for changed aircraft
34  const CSimulatedAircraft contextAircraft = sGui->getIContextOwnAircraft()->getOwnAircraft();
35  if (contextAircraft == m_ownAircraft) { return false; }
36  m_ownAircraft = contextAircraft;
37  return true;
38 }
39 
40 void SwiftGuiStd::setTestPosition(const QString &wgsLatitude, const QString &wgsLongitude, const CAltitude &altitude,
41  const CAltitude &pressureAltitude)
42 {
43  if (!sGui) { return; }
44  CCoordinateGeodetic coordinate(CLatitude::fromWgs84(wgsLatitude), CLongitude::fromWgs84(wgsLongitude),
45  CAltitude(0, CLengthUnit::m()));
46 
47  m_ownAircraft.setPosition(coordinate);
48  m_ownAircraft.setAltitude(altitude);
49  sGui->getIContextOwnAircraft()->updateOwnPosition(coordinate, altitude, pressureAltitude);
50 }
SWIFT_CORE_EXPORT swift::core::CApplication * sApp
Single instance of application object.
Definition: application.cpp:71
const context::IContextOwnAircraft * getIContextOwnAircraft() const
Direct access to contexts if a CCoreFacade has been initialized.
const context::IContextNetwork * getIContextNetwork() const
Direct access to contexts if a CCoreFacade has been initialized.
bool isShuttingDown() const
Is application shutting down?
virtual bool updateOwnPosition(const swift::misc::geo::CCoordinateGeodetic &position, const swift::misc::aviation::CAltitude &altitude, const swift::misc::aviation::CAltitude &pressureAltitude)=0
Update position.
virtual swift::misc::simulation::CSimulatedAircraft getOwnAircraft() const =0
Get own aircraft.
Altitude as used in aviation, can be AGL or MSL altitude.
Definition: altitude.h:52
Comprehensive information of an aircraft.
SWIFT_GUI_EXPORT swift::gui::CGuiApplication * sGui
Single instance of GUI application object.
Backend services of the swift project, like dealing with the network or the simulators.
Definition: actionbind.cpp:7
GUI related classes.
Free functions in swift::misc.