Commit Graph

63 Commits

Author SHA1 Message Date
Klaus Basan
880a954db9 refs #395, improvements for snapshot / restricted aircraft handling
* fixed isCurrentThreadCreatingThread and renamed to isCurrentThreadObjectThread (this check was never working), added 2 more thread checks
* changed remove aircraft function to return number of returned aircraft (like with the containers this allows to avoid unnecessary signals)
* removed unused function ps_recalculateRenderedAircraft() / SimulatorCommon
* using Queued airspaceAircraftSnapshot signal for binding (functor connect does not provide connection type)
* extened ASSERTs to check threads
* simulator: initial situation function with return value (success?)
* simulator: avoid unneccessary copy and provide correct rendered flag in add aircraft function
2015-05-22 03:08:16 +02:00
Klaus Basan
bad3ed3ea8 refs #415, mixin style lists 2015-05-18 20:33:34 +02:00
Klaus Basan
104122023c Aircraft ICAO data should use ICAO code as attribute, this somehow got lost in the merge session, re-applied 2015-05-17 20:29:06 +02:00
Klaus Basan
d78f38b672 More tests for DBus (samples DBus) 2015-05-16 18:34:50 +02:00
Klaus Basan
de43caf451 refs #420, refs #421 Adjusted FSX driver to emit correct status flags and unloading
* added unload function to disconnect signals / slots and simulator
* changed remote provider to return signal/slot connections to manually disconnect functor connects
* flag so pause can freeze or continue AI aircraft
* slightly changed unload behaviour in simulator context

Remark: Tested for FSX only
Solves #424 for FSX
2015-05-16 03:26:30 +02:00
Mathew Sutcliffe
b65232b202 MS & KB workshop: ICAO class renamings. 2015-05-12 22:47:54 +01:00
Klaus Basan
a6591cfe2c refs #395, allow to disconnect SIGNAL/SLOTS from provider and gracefully shutdown airspace and analyzer 2015-05-12 21:03:40 +01:00
Klaus Basan
f18cfed087 refs #395, refs #413, refs #403 Post merge tasks
* missing exports for new classes
* public non virtual convertToQString, propertyByIndex
* removed left-over of watchdog
* virtual destructor for avionicsbase.h
2015-05-12 21:03:39 +01:00
Klaus Basan
66075ca0d0 refs #361, some own ini reader got lost in master, re-applied changes 2015-05-12 21:03:36 +01:00
Klaus Basan
1c3bb8d463 refs #395, prepared for snapshot handling
* logical / physical add/remote member functions in drivers, renamed functions
* added access to snapshot
* snapshot generation in analyzer
* snapshot handling in driver
* moved simulator base class in own files (.h/.cpp)
* added functions as required to context
2015-05-12 21:03:35 +01:00
Klaus Basan
e9f7810efc refs #395, prepared for logical / physical add/remote member functions
* renamed functions
* added access to snapshot
* moved simulator base class in own files (.h/.cpp)
2015-05-12 21:03:34 +01:00
Klaus Basan
018c5ae1bf refs #395, integrated aircraft airspace snapshot / analyzer into remote provider
* added snapshot class
* added snapshot in analyzer, signal for new snapshot
* made all provider signals available in CSimulator
* added finders in CSimulatedAircraftList
* moved COwnAircraftProviderDummy into own file
2015-05-12 21:03:32 +01:00
Klaus Basan
1b9878fdd3 refs #395, some functions renamed in network provider/context
Goal: consistent function names in own and remote aircraft provider
2015-05-12 20:46:50 +01:00
Klaus Basan
3ecf37dda4 refs #395, changed own aircraft provider to thread safe member functions
(similar to remote aircraft provider)
* removed references
* made own aircraft context thread safe (reg. own aircrat data)
* removed the read only versions of the provider
* adjusted consuming methods
* renamed some functions ("ownAircraft...") to avoid ambiguity (with remote aircraft)
2015-05-12 20:46:48 +01:00
Klaus Basan
6debd33b4f refs #395, turned remote aircraft provider interface into thread safe interfaces
* references gone, situations, parts, aircraft now as threadsafe copy
* read only interface gone (no longer references, so no longer needed)
2015-05-12 20:46:45 +01:00
Klaus Basan
48188dd28d refs #395, moved thread safe aircraft parts / situations (from interpolator) to airspace
* access via provider, access now possible also beyond the scope of interpolator
* will be used in (to be written airpace analyzer)
* renamed some member functions as required
* fixed some asserts / Doxygen comments
* adjusted unit tests
* added vtolAircraft flag for interpolator, not fully used everywhere

remarks: update signals for parts / situation still only needed in XP driver
2015-05-12 20:46:38 +01:00
Klaus Basan
acec379151 refs #395, renamed to updateFastPositionEnabled (consistency with other member functions) 2015-05-12 20:46:35 +01:00
Mathew Sutcliffe
6b40cde862 refs #413 Make all value class methods non-virtual.
toCVariant() and convertFromCVariant() are now deprecated,
use CVariant::from() and CVariant::to() instead.
2015-05-12 20:37:47 +01:00
Mathew Sutcliffe
b64ae55a86 refs #413 Access control of convertToQString changed from protected to public. 2015-05-12 20:37:43 +01:00
Mathew Sutcliffe
64e21b0a46 refs #413 Decomposed json-related functions of CValueObject into Mixin::JsonByTuple. 2015-05-12 20:37:41 +01:00
Roland Winklmeier
a089d3641d refs #403 add BlackMisc shared library build 2015-05-05 21:34:19 +02:00
Klaus Basan
ccc01c6824 refs #405, removed outdated overridden container functions in lists
From/ToQVariant still needed and not removed
2015-04-19 03:03:57 +02:00
Roland Winklmeier
1b26311983 Fix license header spelling 2015-04-16 00:59:56 +02:00
Roland Winklmeier
57b5e1421c Harmonize swift domain names to org.swift-project.* 2015-04-16 00:59:56 +02:00
Michał Garapich
f9de3ad409 refs #404 Use domain-based identifiers for plugins
* Changed all plugin identifier to org.swift-project.plugins.simulator.*
* Fixed a small bug that caused settings be parsed wrong
2015-04-16 00:59:56 +02:00
Michał Garapich
1d5cbb7a9d refs #404 Added human-readable plugin names
* Added new "identifier" attribute in JSON metadata files
* "identifier" is now the one that makes plugins unique
* "name" attribute is a human-readable name
2015-04-16 00:59:56 +02:00
Klaus Basan
9c75ff2db5 Fixed gcc warnings 2015-04-11 09:10:59 +02:00
Klaus Basan
5d819b30f5 Split of CSimulatorPluginInfo and CSimulatorSetup
refs #404, and discussion https://dev.vatsim-germany.org/issues/404#note-8

* Changed CSimulatorSetup to use CNameVariantPairList as data. The old version was an hack and had to go, CNameVariantPairList would allow complex types in the future and can be already shown in the GUI.
* CNameVariantPairList was improved slightly in the same step
* Functions to get CSimulatorSetup from driver / context
* Removed CSimulatorSetup data from CSimulatorPluginInfo
2015-04-11 02:09:31 +02:00
Klaus Basan
f7b50b3f5a refs #366, passing Simulator plugin info to drivers
Add. some finetuning
2015-04-11 02:09:23 +02:00
Klaus Basan
aafee8eafd refs #402, post merge feedback by MS 2015-04-11 02:09:10 +02:00
Michał Garapich
985a1caecf refs #396 BlackMisc: nw* goes to network/, hw* goes to hardware/ 2015-04-07 19:22:37 +02:00
Mathew Sutcliffe
2363fab8c1 refs #396 move Blackmisc PQ classes into subfolder 2015-04-07 19:22:30 +02:00
Klaus Basan
0ab755d510 refs #396 subfolders and renamed callsign list to callsign set
* subfolder audio
* subfolder geo
* adjusted samples, tests ....
2015-04-07 19:22:23 +02:00
Klaus Basan
32f60722c8 refs #396, move subproject BlackSim into BlackMisc::Simulation
* removed unused samples / tests
* fixed found Doxygen issues
* removed blacksimfreefunctions, now in BlackMisc::Simulation::registerMetadata()
* samples_vetcor_geo to samples_geo
2015-04-07 19:22:16 +02:00
Roland Winklmeier
78d3350bf3 refs #396 move Blackmisc Aviation classes into subfolder 2015-04-07 18:20:20 +02:00
Klaus Basan
53afe798d4 Fixed warnings as mentioned in
https://dev.vatsim-germany.org/boards/22/topics/2587?r=2598#message-2598
and found by
+win32-msvc*:QMAKE_CXXFLAGS_WARN_ON *= /Wall /W3 /wd4640 /wd4619 /wd4350 /wd4351
2015-03-29 20:15:09 +02:00
Klaus Basan
70670b74c6 refs #393, allow to highlight a certain aircraft by blinking
* signatures in contexts
* some specialized functions in aircraft list
* context menus in aircraft view
* default "blinking" implementation in driver common base class
2015-03-29 20:15:05 +02:00
Mathew Sutcliffe
9977d97a67 refs #356 Renamed CValueObjectStdTuple to CValueObject. 2015-03-27 23:03:25 +00:00
Mathew Sutcliffe
2a3e0acf23 refs #356 Update base class name in derived class method implementations. 2015-03-27 19:08:52 +00:00
Klaus Basan
a50e45e451 Fixed updates of view when simulated aircraft values are updated.
* renamed view to simulated aircraft view
* utility function for bool -> on/off
2015-03-20 17:11:27 +01:00
Klaus Basan
066515fb9b As of RW/KB workshop
* changed aircraft view to siumlated aircraft models / views
* functionality to change fast pos. updates (signals, slots)
* allow to request text message widget from aircraft component
2015-03-20 17:11:23 +01:00
Klaus Basan
79b3cf3cd3 Misc. imorvements as discussed in RW/KB worksho
* preparation for a context menu to send text messages from ATC/aircraft view
* preparation for context menu for fast pos. updates
* reverse ICAO lookup at login screen
* display fast updates / parts in GUI
* moved max- aircraft into settings
* made serverselection own component
2015-03-20 17:11:10 +01:00
Klaus Basan
5ed95aee3d refs #391, allow to send aircraft parts from GUI
* GUI component for aircraft parts
* remote aircraft selector component
* Adjusted GUI for internals component
* Enable / disable debug messages from GUI
* Allow to init engines directly
* Removed unused async sort in sequence

In same step fixed found issues in interpolator
* allow to set max rendered aircraft
2015-03-20 17:08:23 +01:00
Klaus Basan
f31445e873 refs #386, further improvements on interpolation
* extended unit tests for interpolator / parts testing
* allow to skip sorting when splitting by time
* update ot aircraft to FSX in own member function
* Skip time sync parts (FSX) when disabled
2015-03-20 17:08:14 +01:00
Klaus Basan
f525e3bc2e refs #386, further tests for interpolator
* calculate single vs. calculate all interpolations upfront
* added clear for interpolator
2015-03-20 17:01:12 +01:00
Klaus Basan
eca8c5b637 Reflecting discussed changes for interpolation performance refs #386
(based on FSX testing)
* Only send changed situation to SIM
* Split sending of parts / situations
* Only send parts with a reduced frequency (means slower as positions)
* Mark geodetic height as null for default values (the value is usually unavailable)
* Fixed altitude to MSL for network data
* Trace which aircrafts support aircraft parts via network
* Renamed insert_fron push_front (as proposed by Roland)

Status quo / lessons learnt
* On slower PCs jitter is still noticed for interpolated aircraft.
* Running interpolation in an independent process (aka core, not in GUI) reduced load dependencies
  => it seems to make sense to run driver in own thread
* The onGround flag in parts seems clumsy as it required to retrieve parts for position updates
* In interpolation performance really matters
2015-03-20 17:00:41 +01:00
Klaus Basan
420a47e90c refs #369, changed interpolation to a working (but still too bad performing) version
* using split by callsign everywhere
* helper function to insert_front
* revised linear interpolator
* renamed to remoteAircraft
* renamed to container() in providers (gettters are usually copies)

Issues why changes did so long:
* insert in list is not adding in front, but same as push_back (that was confusing)
* naming of values before/after in interpolator was ambigious
* QMap keeps values sorted by key, not arbitrarily
2015-03-20 16:49:07 +01:00
Klaus Basan
190e2c3757 refs #386, performance issues
* keep split per callsign map in IInterpolator (so it is available for all interpolators)
* added signals to provider to add split situations / callsigns
* adjustments to airspace / context for those signals
* thread safe access to those from interpolator
* renamed from rendered to remote aircraft as discussed
* adjust samples
* removed no longer required functions in timestampobjectlist
2015-03-20 16:49:03 +01:00
Klaus Basan
f8bebf5ffa refs #386, performance issues
* keep split per callsign map in IInterpolator (so it is available for all interpolators)
* Interpolator using CWorker, so it can run in background
* added signals to provider to add split situations / callsigns
* adjustments to airspace / context for those signals
* thread safe access to those from interpolator
* renamed from rendered to remote aircraft as discussed
* adjust samples
* removed no longer required functions in timestampobjectlist
* changed connectioStatusChanged from uint -> int
2015-03-20 16:48:58 +01:00
Klaus Basan
38a8c45b9e refs #369, thread safe access to aircraft parts, situations 2015-03-20 16:33:54 +01:00