Commit Graph

34 Commits

Author SHA1 Message Date
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
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
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
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
0991f20f7d Ref T229, adjusted renamings because of CInterpolationStatus changes 2018-01-30 20:29:48 +01:00
Klaus Basan
5e803a4d32 Ref T180, reset status in linear interpolator 2017-11-09 04:42:12 +01:00
Klaus Basan
46a7b67ae5 Ref T180, interpolator status can check validity of situation and provide an info string 2017-11-09 04:42:10 +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
598733d521 refs #863 Fixed a bug where a plane would only start rendering when it first starts moving. 2017-02-24 15:22:35 +00: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
4cc5643340 refs #863 Further decomposed interpolator into granularly replaceable strategy methods. 2017-02-24 15:22:30 +00:00
Mathew Sutcliffe
aad4cb5e88 refs #863 Factor out code not specific to linear interpolation into the base class. 2017-02-24 15:22:28 +00:00
Mathew Sutcliffe
c0f163589d refs #863 Simplification. 2017-02-24 15:22:27 +00:00
Mathew Sutcliffe
9c918b8799 refs #863 Interpolator inheritance based on CRTP rather than virtual methods. 2017-02-24 15:22:26 +00:00
Mathew Sutcliffe
1c2533f5d2 refs #863 Moved nested status classes to namespace scope. 2017-02-24 15:22:25 +00:00
Mathew Sutcliffe
a167cc8e43 refs #863 Each aircraft gets its own interpolator instance,
so each one can cache calculations from one frame to the next.
The recent situations and parts are members of the interpolator.
2017-02-24 15:22:22 +00:00
Mathew Sutcliffe
2181702c5c refs #863 Change interpolation setup member to be a method parameter instead. 2017-02-24 15:22:21 +00:00
Klaus Basan
1d967b08e8 refs #865, based on discussion https://dev.vatsim-germany.org/issues/865#note-12
* do not call XP`s elevation provider if not needed in interpolator
* some renaming/utility functions
2017-02-24 00:19:41 +00:00
Klaus Basan
578a092b0c refs #865, set current elevation from hints also for current situation
This is better than the copied elevation from old situation
2017-02-24 00:19:31 +00:00
Klaus Basan
62d4a94106 refs #865, further improved logging
* set log flag in hints, so no lock for each aircraft is needed
* as a result log functions have a bool log parameter now
* highlight situation and parts changed
2017-02-24 00:19:18 +00:00
Klaus Basan
ff7756db38 refs #865, added parts to interpolation log 2017-02-24 00:19:16 +00:00
Klaus Basan
74a4570a40 refs #865, interpolator allows to log situations plus improvements found by logs
* set timestamp for current situation
* assert if new timestamp > old timestamp
2017-02-24 00:18:59 +00:00
Klaus Basan
336fda23c9 refs #865, set on ground flag in interpolator 2017-02-24 00:18:47 +00:00
Klaus Basan
daab5eed49 refs #865, adjusted interpolator to use elevation or elevation provider
* adjusted IInterpolator::setGroundElevationFromHint
* removed cgAboveGround from getCorrectedAltitude
2017-02-24 00:18:43 +00:00
Mathew Sutcliffe
08b1c19df7 refs #852 CInterpolatorLinear obtains the ground elevation via a lazy computation
in CInterpolationHints and uses this to interpolate between altitude and elevation.
2017-02-24 00:18:01 +00:00
Mathew Sutcliffe
ec44c100b7 refs #852 Const-correctness. 2017-02-24 00:17:42 +00:00
Mathew Sutcliffe
52777cf7dc todo adjustments 2017-01-11 01:28:39 +00:00
Klaus Basan
667009c85e refs #840, moved interpolator classes into Simulation namespace 2017-01-10 23:45:27 +00:00