Commit Graph

46 Commits

Author SHA1 Message Date
Klaus Basan
f2096bd826 Ref T773, style 2020-06-12 18:42:34 +01:00
Klaus Basan
8e51d9147d Style 2019-09-16 20:29:44 +01:00
Klaus Basan
302b1343dc Ref T668, avoid extreme splines
* with https://dev.swift-project.org/T668#15841 avoid 2 very close positions
* currently done by time, maybe we can also choose distance
2019-05-23 13:12:57 +02:00
Klaus Basan
da8e504d67 Ref T668, minor style changes and improvemments 2019-05-23 13:00:26 +02:00
Klaus Basan
384c9335a3 Style 2019-05-13 11:20:52 +02:00
Mat Sutcliffe
e9a4c49d68 Ref T547 Update license masthead in all source code files. 2019-02-22 20:36:43 +00:00
Klaus Basan
3434abefb0 Ref T436, init m_s[0-3] correctly 2018-11-22 19:55:03 +01: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
b054aa1d31 Ref T397, init (fill) spline values 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
62c532ae1f Ref T397, fix CLANG unsigned warnings 2018-11-04 17:42:43 +01:00
Klaus Basan
b476da6640 Ref T397, further checks 2018-11-04 17:42:41 +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
5e38936fd2 Fix weak vtables 2018-08-25 22:12:06 +02:00
Klaus Basan
6ed541b6ab Ref T243, Ref T273, added info about elevation (where did we obtain it?) 2018-06-13 13:59:52 +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
6d105b9665 Ref T261, make sure the unit is correct in spline altitude interpolation
See slack discussion here https://swift-project.slack.com/archives/G7GD2UP9C/p1525605407000025
2018-05-08 16:06:53 +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
6a2f76f4d7 Ref T261, interpolate (spline) from last interpolated situation -> new situation whenever interpolant is recreated.
Prefill functions for "m_s" values.
2018-05-08 16:06:46 +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
51f7b5aeb7 Ref T260, regenerate interpolant if situations have been updated (normally with elevation) 2018-05-08 16:06:39 +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
78711487a6 Ref T241, moved inner logger classes out CInterpolationLogger
Reason: More options, such as forward declaration
2018-02-04 09:00:23 +01:00
Klaus Basan
2eb7e602e3 Inperolator log. improvements 2018-02-04 09:00:14 +01:00
Klaus Basan
7c9f2e9aa2 Ref T243, verify parts/positions order (latest first) 2018-02-04 08:59:54 +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
6a2435074c Ref T241, further improved interpolation logging
* all interpolation positions can  be logged (3 for spline, 2 for linear)
* interpolated (log) time, setting to real time (i.e. unadjusted time)
* only set logger values with logger attached
2018-02-04 08:50:55 +01:00
Klaus Basan
0a06ad223f Ref T231, Ref T236, Ref T238 improvements of interpolator
* keep last interpolated sitation, removed m_isFirstInterpolation
* allow to obtain the old/new situation
* transfer of elevations to newer situations
2018-01-30 20:35:07 +01:00
Klaus Basan
17e4dbbd46 Ref T231, disable ARTISTIC forammting for some areas 2018-01-30 20:34:40 +01:00
Klaus Basan
6d5509890b Ref T238, moved spline x,y,z ... values to interpolant
* only interpolant needs those values
* encapsulated in struct PosArray
* Interpolant needs no reference to interpolator (anymore)
* const CInterpolatorPbh &pbh()
2018-01-30 20:32:03 +01:00
Klaus Basan
3ee5e68054 Ref T238, comments and formatting 2018-01-30 20:31:56 +01:00
Klaus Basan
b49816795c Ref T231, using corrected altitude with CG in spline interpolator
Ref T207
2018-01-30 20:31:06 +01:00
Klaus Basan
0991f20f7d Ref T229, adjusted renamings because of CInterpolationStatus changes 2018-01-30 20:29:48 +01:00
Klaus Basan
822ef11c02 Ref T180, formatting 2017-11-09 04:42:11 +01:00
Klaus Basan
1155bf3ed2 Ref T171, interpolator log
* set interpolator type spline or linear
* set some detail values for spline log
* removed unused variable
2017-10-18 22:58:54 +02:00
Mathew Sutcliffe
6a6f98ebd1 refs #896 Renaming members. 2017-04-17 23:58:17 +01:00
Mathew Sutcliffe
a94e117e97 refs #896 Use corrected altitude in spline interpolator (prevents underflow in FSX). 2017-04-17 23:58:16 +01:00
Klaus Basan
78f3ef375f refs #896, added logging of CG and old/new position 2017-04-17 23:58:13 +01:00
Mathew Sutcliffe
04ddd3bfa5 refs #863 Move interpolator logging into a separate class.
A single logger instance can be shared between multiple interpolator instances.
2017-02-24 15:22:34 +00:00
Mathew Sutcliffe
8d351d8279 refs #863 Added cubic spline interpolator. 2017-02-24 15:22:31 +00:00