#pragma once #include #include #include #include namespace scwx { namespace qt { namespace manager { class RadarManagerImpl; class RadarManager { public: explicit RadarManager(); ~RadarManager(); RadarManager(const RadarManager&) = delete; RadarManager& operator=(const RadarManager&) = delete; RadarManager(RadarManager&&) noexcept; RadarManager& operator=(RadarManager&&) noexcept; const std::vector& coordinates(common::RadialSize radialSize) const; // TODO: Improve this interface std::shared_ptr level2_data() const; void Initialize(); void LoadLevel2Data(const std::string& filename); private: std::unique_ptr p; }; } // namespace manager } // namespace qt } // namespace scwx