#pragma once #include #include #include #include #include #include #include namespace scwx { namespace qt { namespace view { class Level3RadialViewImpl; class Level3RadialView : public RadarProductView { Q_OBJECT public: explicit Level3RadialView( const std::string& product, std::shared_ptr radarProductManager); ~Level3RadialView(); const std::vector& color_table() const override; uint16_t color_table_min() const override; uint16_t color_table_max() const override; float range() const override; std::chrono::system_clock::time_point sweep_time() const override; uint16_t vcp() const override; const std::vector& vertices() const override; void LoadColorTable(std::shared_ptr colorTable) override; void SelectTime(std::chrono::system_clock::time_point time) override; void Update() override; common::RadarProductGroup GetRadarProductGroup() const override; std::string GetRadarProductName() const override; std::tuple GetMomentData() const override; static std::shared_ptr Create(const std::string& product, std::shared_ptr radarProductManager); protected: void UpdateColorTable() override; protected slots: void ComputeSweep() override; private: std::unique_ptr p; }; } // namespace view } // namespace qt } // namespace scwx