From 7ae453b532d8af3e86bd608cdf47d1855d26e67b Mon Sep 17 00:00:00 2001 From: Mathew Sutcliffe Date: Thu, 2 Jun 2016 21:54:23 +0100 Subject: [PATCH] refs #666 Moved interpolator to BlackMisc so xbus doesn't need to link BlackCore. --- src/blackcore/simulatorcommon.cpp | 2 +- src/blackcore/simulatorcommon.h | 6 +++--- src/{blackcore => blackmisc}/interpolator.cpp | 7 +++---- src/{blackcore => blackmisc}/interpolator.h | 18 +++++++++--------- .../interpolatorlinear.cpp | 5 ++--- .../interpolatorlinear.h | 13 +++++-------- src/plugins/simulator/fs9/fs9client.cpp | 3 +-- src/plugins/simulator/fs9/fs9client.h | 6 +++--- src/plugins/simulator/fs9/simulatorfs9.cpp | 4 ++-- src/plugins/simulator/fs9/simulatorfs9.h | 2 +- .../simulator/fscommon/simulatorfscommon.h | 2 +- src/plugins/simulator/fsx/simconnectobject.cpp | 3 --- src/plugins/simulator/fsx/simconnectobject.h | 3 ++- src/plugins/simulator/fsx/simulatorfsx.cpp | 2 +- src/plugins/simulator/fsx/simulatorfsx.h | 4 ++-- tests/blackcore/testinterpolator.cpp | 6 +++--- 16 files changed, 39 insertions(+), 47 deletions(-) rename src/{blackcore => blackmisc}/interpolator.cpp (92%) rename src/{blackcore => blackmisc}/interpolator.h (89%) rename src/{blackcore => blackmisc}/interpolatorlinear.cpp (98%) rename src/{blackcore => blackmisc}/interpolatorlinear.h (85%) diff --git a/src/blackcore/simulatorcommon.cpp b/src/blackcore/simulatorcommon.cpp index e36ac2b09..43aabeadc 100644 --- a/src/blackcore/simulatorcommon.cpp +++ b/src/blackcore/simulatorcommon.cpp @@ -7,10 +7,10 @@ * contained in the LICENSE file. */ -#include "blackcore/interpolator.h" #include "blackcore/simulatorcommon.h" #include "blackmisc/aviation/aircraftsituation.h" #include "blackmisc/aviation/callsign.h" +#include "blackmisc/interpolator.h" #include "blackmisc/logmessage.h" #include "blackmisc/pq/physicalquantity.h" #include "blackmisc/simulation/aircraftmodellist.h" diff --git a/src/blackcore/simulatorcommon.h b/src/blackcore/simulatorcommon.h index d34f9bc87..0d09a3c31 100644 --- a/src/blackcore/simulatorcommon.h +++ b/src/blackcore/simulatorcommon.h @@ -35,6 +35,8 @@ namespace BlackMisc { + class IInterpolator; + namespace Aviation { class CAircraftParts; @@ -50,8 +52,6 @@ namespace BlackMisc namespace BlackCore { - class IInterpolator; - //! Common base class with providers, interface and some base functionality class BLACKCORE_EXPORT CSimulatorCommon : public BlackCore::ISimulator, @@ -127,7 +127,7 @@ namespace BlackCore bool setInitialAircraftSituation(BlackMisc::Simulation::CSimulatedAircraft &aircraft) const; protected: - IInterpolator *m_interpolator = nullptr; //!< interpolator instance + BlackMisc::IInterpolator *m_interpolator = nullptr; //!< interpolator instance bool m_pausedSimFreezesInterpolation = false; //!< paused simulator will also pause interpolation (so AI aircraft will hold) BlackMisc::Simulation::CSimulatorSetup m_simulatorSetup; //!< setup object diff --git a/src/blackcore/interpolator.cpp b/src/blackmisc/interpolator.cpp similarity index 92% rename from src/blackcore/interpolator.cpp rename to src/blackmisc/interpolator.cpp index c5145d356..6f2e333c0 100644 --- a/src/blackcore/interpolator.cpp +++ b/src/blackmisc/interpolator.cpp @@ -7,14 +7,13 @@ * contained in the LICENSE file. */ -#include "blackcore/interpolator.h" +#include "blackmisc/interpolator.h" #include "blackmisc/aviation/callsign.h" -using namespace BlackMisc; using namespace BlackMisc::Aviation; using namespace BlackMisc::Simulation; -namespace BlackCore +namespace BlackMisc { IInterpolator::IInterpolator(IRemoteAircraftProvider *provider, const QString &objectName, QObject *parent) : @@ -25,7 +24,7 @@ namespace BlackCore this->setObjectName(objectName); } - CAircraftPartsList IInterpolator::getPartsBeforeTime(const CCallsign &callsign, qint64 cutoffTime, BlackCore::IInterpolator::PartsStatus &partsStatus) + CAircraftPartsList IInterpolator::getPartsBeforeTime(const CCallsign &callsign, qint64 cutoffTime, BlackMisc::IInterpolator::PartsStatus &partsStatus) { Q_ASSERT_X(!callsign.isEmpty(), Q_FUNC_INFO, "empty callsign"); partsStatus.reset(); diff --git a/src/blackcore/interpolator.h b/src/blackmisc/interpolator.h similarity index 89% rename from src/blackcore/interpolator.h rename to src/blackmisc/interpolator.h index f331e8ca0..ff933576f 100644 --- a/src/blackcore/interpolator.h +++ b/src/blackmisc/interpolator.h @@ -9,10 +9,10 @@ //! \file -#ifndef BLACKCORE_INTERPOLATOR_H -#define BLACKCORE_INTERPOLATOR_H +#ifndef BLACKMISC_INTERPOLATOR_H +#define BLACKMISC_INTERPOLATOR_H -#include "blackcore/blackcoreexport.h" +#include "blackmisc/blackmiscexport.h" #include "blackmisc/aviation/aircraftpartslist.h" #include "blackmisc/aviation/aircraftsituation.h" #include "blackmisc/simulation/remoteaircraftprovider.h" @@ -21,12 +21,12 @@ #include #include -namespace BlackMisc { namespace Aviation { class CCallsign; } } - -namespace BlackCore +namespace BlackMisc { + namespace Aviation { class CCallsign; } + //! Interpolator, calculation inbetween positions - class BLACKCORE_EXPORT IInterpolator : + class BLACKMISC_EXPORT IInterpolator : public QObject, public BlackMisc::Simulation::CRemoteAircraftAware { @@ -40,7 +40,7 @@ namespace BlackCore static QString getLogCategory() { return "swift.interpolator"; } //! Status of interpolation - struct BLACKCORE_EXPORT InterpolationStatus + struct BLACKMISC_EXPORT InterpolationStatus { public: bool changedPosition = false; //!< position was changed @@ -54,7 +54,7 @@ namespace BlackCore }; //! Status regarding parts - struct PartsStatus + struct BLACKMISC_EXPORT PartsStatus { bool supportsParts = false; //!< supports parts for given callsign diff --git a/src/blackcore/interpolatorlinear.cpp b/src/blackmisc/interpolatorlinear.cpp similarity index 98% rename from src/blackcore/interpolatorlinear.cpp rename to src/blackmisc/interpolatorlinear.cpp index 388598b18..3b96df52d 100644 --- a/src/blackcore/interpolatorlinear.cpp +++ b/src/blackmisc/interpolatorlinear.cpp @@ -7,7 +7,7 @@ * contained in the LICENSE file. */ -#include "blackcore/interpolatorlinear.h" +#include "blackmisc/interpolatorlinear.h" #include "blackmisc/aviation/aircraftsituation.h" #include "blackmisc/aviation/aircraftsituationlist.h" #include "blackmisc/aviation/altitude.h" @@ -29,13 +29,12 @@ #include #include -using namespace BlackMisc; using namespace BlackMisc::Geo; using namespace BlackMisc::Math; using namespace BlackMisc::PhysicalQuantities; using namespace BlackMisc::Aviation; -namespace BlackCore +namespace BlackMisc { CAircraftSituation CInterpolatorLinear::getInterpolatedSituation(const CCallsign &callsign, qint64 currentTimeMsSinceEpoc, bool vtolAiracraft, InterpolationStatus &status) const { diff --git a/src/blackcore/interpolatorlinear.h b/src/blackmisc/interpolatorlinear.h similarity index 85% rename from src/blackcore/interpolatorlinear.h rename to src/blackmisc/interpolatorlinear.h index 9ffebb300..b6cebb10d 100644 --- a/src/blackcore/interpolatorlinear.h +++ b/src/blackmisc/interpolatorlinear.h @@ -9,11 +9,11 @@ //! \file -#ifndef BLACKCORE_INTERPOLATOR_LINEAR_H -#define BLACKCORE_INTERPOLATOR_LINEAR_H +#ifndef BLACKMISC_INTERPOLATOR_LINEAR_H +#define BLACKMISC_INTERPOLATOR_LINEAR_H -#include "blackcore/blackcoreexport.h" -#include "blackcore/interpolator.h" +#include "blackmisc/blackmiscexport.h" +#include "blackmisc/interpolator.h" #include "blackmisc/aviation/aircraftsituation.h" #include @@ -25,12 +25,9 @@ namespace BlackMisc { namespace Aviation { class CCallsign; } namespace Simulation { class IRemoteAircraftProvider; } -} -namespace BlackCore -{ //! Linear interpolator, calculation inbetween positions - class BLACKCORE_EXPORT CInterpolatorLinear : public IInterpolator + class BLACKMISC_EXPORT CInterpolatorLinear : public IInterpolator { public: //! Constructor diff --git a/src/plugins/simulator/fs9/fs9client.cpp b/src/plugins/simulator/fs9/fs9client.cpp index d90900f04..2b55adedf 100644 --- a/src/plugins/simulator/fs9/fs9client.cpp +++ b/src/plugins/simulator/fs9/fs9client.cpp @@ -20,7 +20,6 @@ #include using namespace BlackMisc; -using namespace BlackCore; using namespace BlackMisc::Aviation; using namespace BlackMisc::Simulation; using namespace BlackMisc::PhysicalQuantities; @@ -114,7 +113,7 @@ namespace BlackSimPlugin } CFs9Client::CFs9Client(const CCallsign &callsign, const QString &modelName, - BlackCore::IInterpolator *interpolator, const CTime &updateInterval, QObject *owner) : + BlackMisc::IInterpolator *interpolator, const CTime &updateInterval, QObject *owner) : CDirectPlayPeer(owner, callsign), m_updateInterval(updateInterval), m_interpolator(interpolator), m_modelName(modelName) { diff --git a/src/plugins/simulator/fs9/fs9client.h b/src/plugins/simulator/fs9/fs9client.h index 5ef28579f..226996688 100644 --- a/src/plugins/simulator/fs9/fs9client.h +++ b/src/plugins/simulator/fs9/fs9client.h @@ -11,7 +11,7 @@ #define DIRECTPLAY_CLIENT_H #include "directplaypeer.h" -#include "blackcore/interpolator.h" +#include "blackmisc/interpolator.h" #include "blackmisc/aviation/aircraftsituation.h" #include "blackmisc/pq/time.h" #include "blackmisc/aviation/callsign.h" @@ -40,7 +40,7 @@ namespace BlackSimPlugin //! Constructor CFs9Client(const BlackMisc::Aviation::CCallsign &callsign, const QString &modelName, - BlackCore::IInterpolator *interpolator, const BlackMisc::PhysicalQuantities::CTime &updateInterval, + BlackMisc::IInterpolator *interpolator, const BlackMisc::PhysicalQuantities::CTime &updateInterval, QObject *owner); //! Destructor @@ -90,7 +90,7 @@ namespace BlackSimPlugin void sendMultiplayerParamaters(); BlackMisc::PhysicalQuantities::CTime m_updateInterval; - BlackCore::IInterpolator *m_interpolator = nullptr; + BlackMisc::IInterpolator *m_interpolator = nullptr; QString m_modelName; int m_timerId = 0; diff --git a/src/plugins/simulator/fs9/simulatorfs9.cpp b/src/plugins/simulator/fs9/simulatorfs9.cpp index f157d0822..ca6e72e18 100644 --- a/src/plugins/simulator/fs9/simulatorfs9.cpp +++ b/src/plugins/simulator/fs9/simulatorfs9.cpp @@ -14,7 +14,7 @@ #include "multiplayerpackets.h" #include "multiplayerpacketparser.h" #include "registermetadata.h" -#include "blackcore/interpolatorlinear.h" +#include "blackmisc/interpolatorlinear.h" #include "blackmisc/network/textmessage.h" #include "blackmisc/simulation/simulatorplugininfo.h" #include "blackmisc/logmessage.h" @@ -106,7 +106,7 @@ namespace BlackSimPlugin m_lobbyClient(lobbyClient) { connect(lobbyClient.data(), &CLobbyClient::disconnected, this, std::bind(&CSimulatorFs9::simulatorStatusChanged, this, 0)); - this->m_interpolator = new BlackCore::CInterpolatorLinear(remoteAircraftProvider, this); + this->m_interpolator = new BlackMisc::CInterpolatorLinear(remoteAircraftProvider, this); m_modelMatcher.setDefaultModel(CAircraftModel( "Boeing 737-400", CAircraftModel::TypeModelMatchingDefaultModel, diff --git a/src/plugins/simulator/fs9/simulatorfs9.h b/src/plugins/simulator/fs9/simulatorfs9.h index a1eeacc3c..8511893ad 100644 --- a/src/plugins/simulator/fs9/simulatorfs9.h +++ b/src/plugins/simulator/fs9/simulatorfs9.h @@ -17,7 +17,7 @@ #include "lobbyclient.h" #include "../fscommon/simulatorfscommon.h" #include "blackcore/simulator.h" -#include "blackcore/interpolator.h" +#include "blackmisc/interpolator.h" #include "blackmisc/simulation/simulatedaircraft.h" #include "blackmisc/simulation/simulatorplugininfo.h" #include "blackmisc/pixmap.h" diff --git a/src/plugins/simulator/fscommon/simulatorfscommon.h b/src/plugins/simulator/fscommon/simulatorfscommon.h index 2aa296206..4237c8e13 100644 --- a/src/plugins/simulator/fscommon/simulatorfscommon.h +++ b/src/plugins/simulator/fscommon/simulatorfscommon.h @@ -13,7 +13,7 @@ #define BLACKSIMPLUGIN_SIMULATOR_COMMON_H #include "blackcore/simulatorcommon.h" -#include "blackcore/interpolator.h" +#include "blackmisc/interpolator.h" #include "blackmisc/simulation/fscommon/aircraftcfgparser.h" #include "fsuipc.h" diff --git a/src/plugins/simulator/fsx/simconnectobject.cpp b/src/plugins/simulator/fsx/simconnectobject.cpp index 0f4bb80d5..ad5e86e3a 100644 --- a/src/plugins/simulator/fsx/simconnectobject.cpp +++ b/src/plugins/simulator/fsx/simconnectobject.cpp @@ -8,9 +8,6 @@ */ #include "simconnectobject.h" -#include "blackcore/interpolatorlinear.h" - -using namespace BlackCore; namespace BlackSimPlugin { diff --git a/src/plugins/simulator/fsx/simconnectobject.h b/src/plugins/simulator/fsx/simconnectobject.h index d53cb2226..5f4c92961 100644 --- a/src/plugins/simulator/fsx/simconnectobject.h +++ b/src/plugins/simulator/fsx/simconnectobject.h @@ -15,7 +15,8 @@ #include "blackmisc/aviation/callsign.h" #include -namespace BlackCore { class IInterpolator; } +namespace BlackMisc { class IInterpolator; } + namespace BlackSimPlugin { namespace Fsx diff --git a/src/plugins/simulator/fsx/simulatorfsx.cpp b/src/plugins/simulator/fsx/simulatorfsx.cpp index 09af64fd9..e203f3fb1 100644 --- a/src/plugins/simulator/fsx/simulatorfsx.cpp +++ b/src/plugins/simulator/fsx/simulatorfsx.cpp @@ -8,8 +8,8 @@ */ #include "simulatorfsx.h" -#include "blackcore/interpolatorlinear.h" #include "blackcore/application.h" +#include "blackmisc/interpolatorlinear.h" #include "blackmisc/network/textmessage.h" #include "blackmisc/simulation/fscommon/bcdconversions.h" #include "blackmisc/simulation/fsx/simconnectutilities.h" diff --git a/src/plugins/simulator/fsx/simulatorfsx.h b/src/plugins/simulator/fsx/simulatorfsx.h index 2a9b1b683..710ccfae2 100644 --- a/src/plugins/simulator/fsx/simulatorfsx.h +++ b/src/plugins/simulator/fsx/simulatorfsx.h @@ -16,7 +16,7 @@ #include "simconnectobject.h" #include "../fscommon/simulatorfscommon.h" #include "blackcore/simulator.h" -#include "blackcore/interpolatorlinear.h" +#include "blackmisc/interpolatorlinear.h" #include "blackmisc/simulation/simulatorplugininfo.h" #include "blackmisc/simulation/aircraftmodel.h" #include "blackmisc/simulation/simulatedaircraft.h" @@ -171,7 +171,7 @@ namespace BlackSimPlugin //! Update remote airacraft parts (send to FSX) bool updateRemoteAircraftParts(const CSimConnectObject &simObj, const BlackMisc::Aviation::CAircraftPartsList &parts, - BlackCore::IInterpolator::PartsStatus partsStatus, const BlackMisc::Aviation::CAircraftSituation &interpolatedSituation, bool isOnGround) const; + BlackMisc::IInterpolator::PartsStatus partsStatus, const BlackMisc::Aviation::CAircraftSituation &interpolatedSituation, bool isOnGround) const; //! Format conversion SIMCONNECT_DATA_INITPOSITION aircraftSituationToFsxInitPosition(const BlackMisc::Aviation::CAircraftSituation &situation); diff --git a/tests/blackcore/testinterpolator.cpp b/tests/blackcore/testinterpolator.cpp index d6a25df88..ed21c131b 100644 --- a/tests/blackcore/testinterpolator.cpp +++ b/tests/blackcore/testinterpolator.cpp @@ -15,8 +15,6 @@ */ #include "testinterpolator.h" -#include "blackcore/interpolator.h" -#include "blackcore/interpolatorlinear.h" #include "blackmisc/aviation/aircraftengine.h" #include "blackmisc/aviation/aircraftenginelist.h" #include "blackmisc/aviation/aircraftlights.h" @@ -29,6 +27,8 @@ #include "blackmisc/geo/coordinategeodetic.h" #include "blackmisc/geo/latitude.h" #include "blackmisc/geo/longitude.h" +#include "blackmisc/interpolator.h" +#include "blackmisc/interpolatorlinear.h" #include "blackmisc/pq/angle.h" #include "blackmisc/pq/length.h" #include "blackmisc/pq/physicalquantity.h" @@ -45,7 +45,7 @@ #include #include -using namespace BlackCore; +using namespace BlackMisc; using namespace BlackMisc::Aviation; using namespace BlackMisc::Geo; using namespace BlackMisc::PhysicalQuantities;