#pragma once #include #include #include #include namespace scwx { namespace qt { namespace view { class Level3RadialView : public Level3ProductView { Q_OBJECT public: explicit Level3RadialView( const std::string& product, std::shared_ptr radarProductManager); ~Level3RadialView(); float range() const override; std::chrono::system_clock::time_point sweep_time() const override; std::uint16_t vcp() const override; const std::vector& vertices() const override; std::tuple GetMomentData() const override; std::optional GetBinLevel(const common::Coordinate& coordinate) const override; static std::shared_ptr Create(const std::string& product, std::shared_ptr radarProductManager); protected: boost::asio::thread_pool& thread_pool() override; protected slots: void ComputeSweep() override; private: class Impl; std::unique_ptr p; }; } // namespace view } // namespace qt } // namespace scwx