Move aircraft matching out of simulator plugins

All model matching will be done simulator independent in
CContextSimulator. The simulator specific part is kept in the model
set.
This also caused the signal modelMatchingCompleted to be renamed to
aircraftRenderingChanged, since the name wasn't accurate anymore.
Both getInstalledModels(), getInstalledModelsCount() and iconForModel()
were removed from the ISimulator interface.

refs #765
This commit is contained in:
Roland Winklmeier
2016-09-11 20:18:26 +02:00
parent 079c790aa7
commit fb3df51013
14 changed files with 98 additions and 128 deletions

View File

@@ -67,6 +67,7 @@ namespace BlackCore
//! \name ISimulator implementations
//! @{
virtual BlackMisc::Simulation::CAircraftModel getDefaultModel() const override;
virtual int getMaxRenderedAircraft() const override;
virtual void setMaxRenderedAircraft(int maxRenderedAircraft) override;
virtual void setMaxRenderedDistance(const BlackMisc::PhysicalQuantities::CLength &distance) override;
@@ -75,7 +76,6 @@ namespace BlackCore
virtual bool isMaxAircraftRestricted() const override;
virtual bool isMaxDistanceRestricted() const override;
virtual void enableDebugMessages(bool driverMessages, bool interpolatorMessages) override;
virtual int getInstalledModelsCount() const override;
virtual void highlightAircraft(const BlackMisc::Simulation::CSimulatedAircraft &aircraftToHighlight, bool enableHighlight, const BlackMisc::PhysicalQuantities::CTime &displayTime) override;
virtual bool isRenderingEnabled() const override;
virtual bool isRenderingRestricted() const override;
@@ -130,10 +130,7 @@ namespace BlackCore
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
//! \todo unclear if this is valid for all simulators or for MS/P3D simulators only
BlackCore::CAircraftMatcher m_modelMatcher; //!< Model matcher
BlackMisc::Simulation::CAircraftModelSetLoader m_modelSetLoader { this }; //!< load model set from caches
BlackMisc::Simulation::CAircraftModel m_defaultModel; //!< default model
private:
bool m_debugMessages = false; //!< Display debug messages