refactor: Move PBH interpolator to inidivdual Interpolants

This allows each interpolant to specify on its own which PBH
interpolator should be used. Currently only the linear PBH interpolator
is available, but another PBH interpolator will be added for velocity.

This removes some protected data from the IInterpolator interface as well,
which conforms to C++ Core Guideline C.113 ("Avoid protected data").
This commit is contained in:
Lars Toenning
2024-01-09 22:14:14 +01:00
parent e247f20482
commit 2f3e4fee1e
5 changed files with 13 additions and 11 deletions

View File

@@ -23,12 +23,12 @@ using namespace BlackMisc::Simulation;
namespace BlackMisc::Simulation
{
CInterpolatorLinear::CInterpolant::CInterpolant(const CAircraftSituation &startSituation) : IInterpolant(1, CInterpolatorPbh(0, startSituation, startSituation)),
m_startSituation(startSituation)
CInterpolatorLinear::CInterpolant::CInterpolant(const CAircraftSituation &startSituation) : IInterpolant(1),
m_startSituation(startSituation), m_pbh(0, startSituation, startSituation)
{}
CInterpolatorLinear::CInterpolant::CInterpolant(const CAircraftSituation &startSituation, const CInterpolatorPbh &pbh) : IInterpolant(1, pbh),
m_startSituation(startSituation)
CInterpolatorLinear::CInterpolant::CInterpolant(const CAircraftSituation &startSituation, const CInterpolatorPbh &pbh) : IInterpolant(1),
m_startSituation(startSituation), m_pbh(pbh)
{}
CInterpolatorLinear::CInterpolant::CInterpolant(const CAircraftSituation &startSituation, const CAircraftSituation &endSituation, double timeFraction, qint64 interpolatedTime) : IInterpolant(interpolatedTime, 2),