Commit Graph

96 Commits

Author SHA1 Message Date
Mat Sutcliffe
e9a4c49d68 Ref T547 Update license masthead in all source code files. 2019-02-22 20:36:43 +00:00
Mat Sutcliffe
225ff81252 Ref T485 Adjust CLogMessage and CStatusMessage call sites to use the new API. 2019-02-22 20:34:55 +00:00
Mat Sutcliffe
333ea1b8df Fixed clazy warnings: empty QStringLiteral. 2019-02-22 20:23:32 +00:00
Klaus Basan
cb422d72cf Misc. style issues interpolation/model adding 2018-11-22 19:55:02 +01:00
Klaus Basan
5005417f54 Ref T429, interpolator adjustments
* use utility functions
* verify in linear interpolator
2018-11-16 02:49:53 +01:00
Klaus Basan
41685df4ee Ref T421, interpolation log messages in interpolator(s) 2018-11-04 17:42:47 +01:00
Klaus Basan
5193745d12 Ref T397, improved handling and check of interpolated situation 2018-11-04 17:42:43 +01:00
Klaus Basan
48d5e0daec Ref T397, interpolation / interpolant fixes
* fixed fillSituationsArray to return correct initial situations
* VERIFY ranges and times to avoid inf/NaN and issues in general
* if invalid situations, continue with last situation
* count invalid situations
2018-11-04 17:42:43 +01:00
Klaus Basan
dec0b12ea2 Ref T397, checks on vector to find root cause NaN/inf issue
* sometimes very large numbers (xxE38) in vector
* sometimes vectors which look correct, but exceed [-1,1]
2018-11-04 17:42:40 +01:00
Roland Winklmeier
29f464189b Move template in-class function definitions out of class
Keeping them defined in-class caused linker issues with the extern template
declaration in a non-optimized MinGW debug build. Apparently it did not
inline them but instead relied on the extern declaration and expected
them defined somewhere else.
2018-08-31 20:08:14 +02:00
Klaus Basan
fe4fd31688 Renamed to FullInterpolation (formerly VtolInterpolation) 2018-08-09 01:39:21 +02:00
Klaus Basan
b81ff8b9d6 Ref T299, set "pitch on ground" in interpolator 2018-08-09 01:25:05 +02:00
Klaus Basan
c8fc50e787 Ref T296, adding scenery offset as situation member plus utility functions
* frontOrNull/backOrNull
* added offset in model
* style/renaming
2018-07-31 01:43:36 +02:00
Klaus Basan
6af1998f58 Style and comments 2018-07-12 18:29:42 +02:00
Klaus Basan
621396e66d Ref T268, consider altitude checking same situation 2018-07-10 17:17:29 +02:00
Klaus Basan
1f689a8830 Ref T275, Ref T280, Ref T245 FSX simulator improvements
* request model info
* stricter checks (asserts)
* display simulator debug messages in simulator view (not as normal status message)
2018-07-09 22:30:16 +02:00
Klaus Basan
fc1a2bbb0f Ref T275, Ref T280, avoid nan (not a number) values in PQs/elevation 2018-06-20 00:58:45 +02:00
Klaus Basan
e0b95859c1 Ref T275, unified elevation missed info -> getElevationsFoundMissedInfo() 2018-06-20 00:58:40 +02:00
Klaus Basan
3f14be6517 Ref T275, Ref T280, parts guessing and interpolating can have different ratios 2018-06-20 00:58:37 +02:00
Klaus Basan
c7482ebc1a Ref T275, use refactored and improved elevation functions in interpolator 2018-06-18 03:04:47 +02:00
Klaus Basan
d1157bb5c6 Ref T275, moved "preset" of elevation to situation class (from interpolator) 2018-06-18 03:04:41 +02:00
Klaus Basan
fe396e19aa Ref T275, interpolator improvements
* flags for same parts/situation status
* transfer elevation (Ref T273) from previous situation
* preset elevation based on network situations if possible
* set elevation info
* function CInterpolator::initInterpolatedSituation
2018-06-13 13:59:59 +02:00
Klaus Basan
c6f3d4e2f2 Ref T270, mark interpolator as unit test
* if we use "recycled" parts, we have to store also the last status
* mark unit test so "recycling" is disabled
* status flag for "reused"
2018-06-13 13:59:46 +02:00
Klaus Basan
181ed36f3d Ref T270, interpolator optimization by passing aircraft number
Rational: Except for FS9 we interpolate all aircraft in one loop at the same time. This can cause that some steps are always done at the same time for all aircraft of that loop. By passing the number we can more equally distribute such tasks, avoiding peaks.
2018-06-13 13:59:39 +02:00
Klaus Basan
f82010a1da Ref T270, fixes in interpolator
* interpolatedParts already "logs", do not do it twice
* performance: only recalculate "this->remoteAircraftSituationsAndChange(setup)" when there are new situations, not every interpolation step
2018-06-13 13:59:30 +02:00
Klaus Basan
e851934ce8 Ref T261, FSX clamped logging to avoid "status message overflow" if something goes wrong in interpolator.
In interpolator scenarios it can happen plenty of error log messagesa re generated in a short time. This can cause hanging.
2018-05-14 02:27:36 +02:00
Klaus Basan
0f9b275f52 Allow to mark interpolator for unit tests (which can be used to disable some checks) 2018-05-12 21:40:31 +02:00
Klaus Basan
23dcccc806 Ref T261, adjusted interpolation setup
* removed "IndexEnableGndFlag" as this is actually part of FSD network settings
* renamed to "isForcingVtolInterpolation"
* adjusted interpolator, and UI for setup
2018-05-12 21:40:09 +02:00
Klaus Basan
2e7e210010 Ref T261, allow to enable/disable "fix scenery offset" via setup
* added UI functions
* fixed setup model
* use setup in interpolator
2018-05-08 16:06:55 +02:00
Klaus Basan
ea585ae166 Ref T261, CAircraftSituationChange improvements
* min/max ground distance, also added in situation list
* use model's vtol/CG info
* improved scenery deviation guessing
* adjusted interpolator scenery deviation handling
2018-05-08 16:06:55 +02:00
Klaus Basan
0808cdb223 Ref T261, further unify interpolator handling
* return interpolation results parts/situation in one step
* base class init for each interpolation step, less redundant code
* removed old interpolation/parts function
* adjusted unit tests and simulator objects (such as SimObject)
2018-05-08 16:06:52 +02:00
Klaus Basan
bac3d14d50 Ref T261, interpolator adjustments
* using interface IInterpolant, renamed to CInterpolant for concrete implmentation
* CInterpolatorPBH has itws own file now, is included
* linear interpolator only re-calculates interpolant when needed (same as spline interpolator)
2018-05-08 16:06:51 +02:00
Klaus Basan
2a5261f3f6 Ref T261, interpolator PBH in own file 2018-05-08 16:06:50 +02:00
Klaus Basan
29407d113e Ref T261, encapsulated groundInterpolationFactor
Rational: Less compilation time when need to change
2018-05-08 16:06:48 +02:00
Klaus Basan
7db8823770 Ref T261, interpolator changes
* use CAircraftSituationChange
* recalculate interpolant if situation changed (due to elevation update)
* keep extra info string for debugging
* improved situation checking
2018-05-08 16:06:46 +02:00
Klaus Basan
5243682124 Ref T260, interpolator improvements
* use last interpolated situation when recalculating interpolant
* flag if interpolation factor is to be calculated, or guessed
2018-05-08 16:06:41 +02:00
Klaus Basan
9fa3e415f5 Ref T260, interpolator deferred init fix. Make sure lambda is not called when interpolator is deleted. 2018-05-08 16:06:37 +02:00
Klaus Basan
cd1ce37ec3 Ref T259, Ref T243 interpolator changes
* interpolators use providers for client/situations/parts/ground elevation
* interpolators do no longer use own situations/parts, but those from provider
* interpolators are no longer QObjects (as it is not needed)
* use gnd flag from situation for gnd interpolation, there is no longer a parts gnd flag interpolation
* guess parts during interpolation
* changed iterators to m_s[i] as it makes clearer which values are used
** the flag is transferred from parts -> situation in airspace monitor
** if the other client already provides and gnd.flag in situation this also works
* adjusted logging
* use providers in unit tests / adjusted tests
* improved situation verification/assert
2018-05-08 16:06:33 +02:00
Klaus Basan
0c06ac26f7 Ref T259, Ref T243 removed interpolation hints
* no longer needed with providers in that form
* pure refactoring commit, just guarantees compilation
* already minor adjustments to use providers
2018-04-13 23:37:18 +02:00
Klaus Basan
333a92ff63 Ref T259, Ref T243 renaming to CInterpolationAndRenderingSetupPerCallsign 2018-04-13 23:36:34 +02:00
Klaus Basan
83b6578e69 Ref T259, Ref T243 use elevation plane for altitude
general idea: by using the plane class, we can set a elevation and then find a better one

* use elevation plane in situation
* adjusted depending classes such as hints, lists
* using setGroundElevationChecked so elevation can be gradually improved
2018-04-05 02:54:28 +02:00
Klaus Basan
0191f35d5a Ref T259, Ref T243 improvements in interpolator
* functions for unit tests (like clear)
* maxParts/Situations
2018-04-05 02:54:10 +02:00
Klaus Basan
03af49348b Ref T259, Ref T243 formatting 2018-04-05 02:53:55 +02:00
Klaus Basan
5d155fb59c Ref T243, adjust offset for timestamp based objects when keeping the order 2018-02-07 02:41:46 +01:00
Klaus Basan
5a15e74f63 Ref T241, misc. logger improvements
* string formatting of logger info
* display longer in simulator
* better formatting of message
2018-02-05 03:45:25 +01:00
Klaus Basan
7c9f2e9aa2 Ref T243, verify parts/positions order (latest first) 2018-02-04 08:59:54 +01:00
Klaus Basan
d903a20f5e Ref T243, use offset times from network vatlib
* no need to check on own situations if the offset time is already set
* use push_frontKeepLatestFirst to ensure order (latest parts/situations first)
2018-02-04 08:59:20 +01:00
Klaus Basan
7e0c1033ba Ref T243, use offset times from network vatlib
* changed network config received signature (now with offset time)
* removed code to fix offset time, no longer needed
* using push_frontKeepLatestAdjustedFirst guaranteeing correct order
2018-02-04 08:57:32 +01:00
Klaus Basan
f99e82ac24 Ref T243, track the interpolated time ("real time" of interpolated situation)
* keep that time in interpolant
* set it for current position
* some comments and renamings
2018-02-04 08:53:45 +01:00
Klaus Basan
69e2ed6efe Ref T231, Ref T236, Ref T238 improvements based on Unit test
* check for a correct callsign (assert)
* set callsign if missing (fallback)
* resetLastInterpolation - null last inperpolation
2018-01-30 20:35:09 +01:00