refs #863, enabled spline interpolator for FSX

This commit is contained in:
Klaus Basan
2017-03-01 01:51:41 +01:00
committed by Mathew Sutcliffe
parent 6665a63cf3
commit d3e49d4cf1
3 changed files with 11 additions and 5 deletions

View File

@@ -9,6 +9,7 @@
#include "simconnectobject.h" #include "simconnectobject.h"
#include "blackmisc/simulation/interpolatorlinear.h" #include "blackmisc/simulation/interpolatorlinear.h"
#include "blackmisc/simulation/interpolatorspline.h"
using namespace BlackMisc::Aviation; using namespace BlackMisc::Aviation;
using namespace BlackMisc::Simulation; using namespace BlackMisc::Simulation;
@@ -20,10 +21,11 @@ namespace BlackSimPlugin
CSimConnectObject::CSimConnectObject() CSimConnectObject::CSimConnectObject()
{ } { }
CSimConnectObject::CSimConnectObject(const BlackMisc::Simulation::CSimulatedAircraft &aircraft, DWORD requestId, CSimConnectObject::CSimConnectObject(const BlackMisc::Simulation::CSimulatedAircraft &aircraft,
DWORD requestId,
BlackMisc::Simulation::CInterpolationLogger *logger) : BlackMisc::Simulation::CInterpolationLogger *logger) :
m_aircraft(aircraft), m_requestId(requestId), m_validRequestId(true), m_aircraft(aircraft), m_requestId(requestId), m_validRequestId(true),
m_interpolator(QSharedPointer<BlackMisc::Simulation::CInterpolatorLinear>::create(aircraft.getCallsign())) m_interpolator(QSharedPointer<BlackMisc::Simulation::CInterpolatorSpline>::create(aircraft.getCallsign()))
{ {
m_interpolator->attachLogger(logger); m_interpolator->attachLogger(logger);
} }

View File

@@ -21,6 +21,7 @@ namespace BlackMisc
namespace Simulation namespace Simulation
{ {
class CInterpolatorLinear; class CInterpolatorLinear;
class CInterpolatorSpline;
class CInterpolationLogger; class CInterpolationLogger;
} }
} }
@@ -36,7 +37,8 @@ namespace BlackSimPlugin
CSimConnectObject(); CSimConnectObject();
//! Constructor //! Constructor
CSimConnectObject(const BlackMisc::Simulation::CSimulatedAircraft &aircraft, DWORD requestId, CSimConnectObject(const BlackMisc::Simulation::CSimulatedAircraft &aircraft,
DWORD requestId,
BlackMisc::Simulation::CInterpolationLogger *logger); BlackMisc::Simulation::CInterpolationLogger *logger);
//! Destructor //! Destructor
@@ -52,7 +54,7 @@ namespace BlackSimPlugin
const QString &getAircraftModelString() const { return m_aircraft.getModelString(); } const QString &getAircraftModelString() const { return m_aircraft.getModelString(); }
//! Interpolator //! Interpolator
BlackMisc::Simulation::CInterpolatorLinear *getInterpolator() const { return m_interpolator.data(); } BlackMisc::Simulation::CInterpolatorSpline *getInterpolator() const { return m_interpolator.data(); }
//! Get current lights (requested from simulator) //! Get current lights (requested from simulator)
const BlackMisc::Aviation::CAircraftLights &getCurrentLightsInSimulator() const { return m_currentLightsInSim; } const BlackMisc::Aviation::CAircraftLights &getCurrentLightsInSimulator() const { return m_currentLightsInSim; }
@@ -130,7 +132,8 @@ namespace BlackSimPlugin
BlackMisc::Aviation::CAircraftLights m_currentLightsInSim { nullptr }; //!< current lights to know state for toggling BlackMisc::Aviation::CAircraftLights m_currentLightsInSim { nullptr }; //!< current lights to know state for toggling
BlackMisc::Aviation::CAircraftLights m_lightsAsSent { nullptr }; //!< lights as sent to simulator BlackMisc::Aviation::CAircraftLights m_lightsAsSent { nullptr }; //!< lights as sent to simulator
SIMCONNECT_PERIOD m_requestSimDataPeriod = SIMCONNECT_PERIOD_NEVER; //!< how often do we query ground elevation SIMCONNECT_PERIOD m_requestSimDataPeriod = SIMCONNECT_PERIOD_NEVER; //!< how often do we query ground elevation
QSharedPointer<BlackMisc::Simulation::CInterpolatorLinear> m_interpolator; //!< shared pointer because CSimConnectObject can be copied // QSharedPointer<BlackMisc::Simulation::CInterpolatorLinear> m_interpolator; //!< shared pointer because CSimConnectObject can be copied
QSharedPointer<BlackMisc::Simulation::CInterpolatorSpline> m_interpolator; //!< shared pointer because CSimConnectObject can be copied
}; };
//! Simulator objects (aka AI aircraft) //! Simulator objects (aka AI aircraft)

View File

@@ -14,6 +14,7 @@
#include "blackmisc/simulation/fsx/simconnectutilities.h" #include "blackmisc/simulation/fsx/simconnectutilities.h"
#include "blackmisc/simulation/aircraftmodel.h" #include "blackmisc/simulation/aircraftmodel.h"
#include "blackmisc/simulation/interpolatorlinear.h" #include "blackmisc/simulation/interpolatorlinear.h"
#include "blackmisc/simulation/interpolatorspline.h"
#include "blackmisc/simulation/interpolationhints.h" #include "blackmisc/simulation/interpolationhints.h"
#include "blackmisc/simulation/simulatorplugininfo.h" #include "blackmisc/simulation/simulatorplugininfo.h"
#include "blackmisc/aviation/airportlist.h" #include "blackmisc/aviation/airportlist.h"