mirror of
				https://github.com/ciphervance/supercell-wx.git
				synced 2025-10-30 23:40:06 +00:00 
			
		
		
		
	Pushing data level code and value implementations from level 3 radial view to product view
This commit is contained in:
		
							parent
							
								
									e96808d14d
								
							
						
					
					
						commit
						3f8bd22f77
					
				
					 6 changed files with 51 additions and 68 deletions
				
			
		|  | @ -339,6 +339,53 @@ void Level3ProductView::UpdateColorTableLut() | ||||||
|    Q_EMIT ColorTableLutUpdated(); |    Q_EMIT ColorTableLutUpdated(); | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
|  | std::optional<wsr88d::DataLevelCode> | ||||||
|  | Level3ProductView::GetDataLevelCode(std::uint16_t level) const | ||||||
|  | { | ||||||
|  |    if (level > std::numeric_limits<std::uint8_t>::max()) | ||||||
|  |    { | ||||||
|  |       return std::nullopt; | ||||||
|  |    } | ||||||
|  | 
 | ||||||
|  |    auto gpm = graphic_product_message(); | ||||||
|  |    if (gpm == nullptr) | ||||||
|  |    { | ||||||
|  |       return std::nullopt; | ||||||
|  |    } | ||||||
|  | 
 | ||||||
|  |    std::shared_ptr<wsr88d::rpg::ProductDescriptionBlock> descriptionBlock = | ||||||
|  |       gpm->description_block(); | ||||||
|  |    if (descriptionBlock == nullptr) | ||||||
|  |    { | ||||||
|  |       return std::nullopt; | ||||||
|  |    } | ||||||
|  | 
 | ||||||
|  |    return descriptionBlock->data_level_code(static_cast<std::uint8_t>(level)); | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | std::optional<float> Level3ProductView::GetDataValue(std::uint16_t level) const | ||||||
|  | { | ||||||
|  |    if (level > std::numeric_limits<std::uint8_t>::max()) | ||||||
|  |    { | ||||||
|  |       return std::nullopt; | ||||||
|  |    } | ||||||
|  | 
 | ||||||
|  |    auto gpm = graphic_product_message(); | ||||||
|  |    if (gpm == nullptr) | ||||||
|  |    { | ||||||
|  |       return std::nullopt; | ||||||
|  |    } | ||||||
|  | 
 | ||||||
|  |    std::shared_ptr<wsr88d::rpg::ProductDescriptionBlock> descriptionBlock = | ||||||
|  |       gpm->description_block(); | ||||||
|  |    if (descriptionBlock == nullptr) | ||||||
|  |    { | ||||||
|  |       return std::nullopt; | ||||||
|  |    } | ||||||
|  | 
 | ||||||
|  |    return descriptionBlock->data_value(static_cast<std::uint8_t>(level)); | ||||||
|  | } | ||||||
|  | 
 | ||||||
| } // namespace view
 | } // namespace view
 | ||||||
| } // namespace qt
 | } // namespace qt
 | ||||||
| } // namespace scwx
 | } // namespace scwx
 | ||||||
|  |  | ||||||
|  | @ -36,6 +36,10 @@ public: | ||||||
|    common::RadarProductGroup GetRadarProductGroup() const override; |    common::RadarProductGroup GetRadarProductGroup() const override; | ||||||
|    std::string               GetRadarProductName() const override; |    std::string               GetRadarProductName() const override; | ||||||
| 
 | 
 | ||||||
|  |    std::optional<wsr88d::DataLevelCode> | ||||||
|  |                         GetDataLevelCode(std::uint16_t level) const override; | ||||||
|  |    std::optional<float> GetDataValue(std::uint16_t level) const override; | ||||||
|  | 
 | ||||||
|    void SelectProduct(const std::string& productName) override; |    void SelectProduct(const std::string& productName) override; | ||||||
| 
 | 
 | ||||||
|    std::vector<std::pair<std::string, std::string>> |    std::vector<std::pair<std::string, std::string>> | ||||||
|  |  | ||||||
|  | @ -605,53 +605,6 @@ Level3RadialView::GetBinLevel(const common::Coordinate& coordinate) const | ||||||
|    return level; |    return level; | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| std::optional<wsr88d::DataLevelCode> |  | ||||||
| Level3RadialView::GetDataLevelCode(std::uint16_t level) const |  | ||||||
| { |  | ||||||
|    if (level > std::numeric_limits<std::uint8_t>::max()) |  | ||||||
|    { |  | ||||||
|       return std::nullopt; |  | ||||||
|    } |  | ||||||
| 
 |  | ||||||
|    auto gpm = graphic_product_message(); |  | ||||||
|    if (gpm == nullptr) |  | ||||||
|    { |  | ||||||
|       return std::nullopt; |  | ||||||
|    } |  | ||||||
| 
 |  | ||||||
|    std::shared_ptr<wsr88d::rpg::ProductDescriptionBlock> descriptionBlock = |  | ||||||
|       gpm->description_block(); |  | ||||||
|    if (descriptionBlock == nullptr) |  | ||||||
|    { |  | ||||||
|       return std::nullopt; |  | ||||||
|    } |  | ||||||
| 
 |  | ||||||
|    return descriptionBlock->data_level_code(static_cast<std::uint8_t>(level)); |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| std::optional<float> Level3RadialView::GetDataValue(std::uint16_t level) const |  | ||||||
| { |  | ||||||
|    if (level > std::numeric_limits<std::uint8_t>::max()) |  | ||||||
|    { |  | ||||||
|       return std::nullopt; |  | ||||||
|    } |  | ||||||
| 
 |  | ||||||
|    auto gpm = graphic_product_message(); |  | ||||||
|    if (gpm == nullptr) |  | ||||||
|    { |  | ||||||
|       return std::nullopt; |  | ||||||
|    } |  | ||||||
| 
 |  | ||||||
|    std::shared_ptr<wsr88d::rpg::ProductDescriptionBlock> descriptionBlock = |  | ||||||
|       gpm->description_block(); |  | ||||||
|    if (descriptionBlock == nullptr) |  | ||||||
|    { |  | ||||||
|       return std::nullopt; |  | ||||||
|    } |  | ||||||
| 
 |  | ||||||
|    return descriptionBlock->data_value(static_cast<std::uint8_t>(level)); |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| std::shared_ptr<Level3RadialView> Level3RadialView::Create( | std::shared_ptr<Level3RadialView> Level3RadialView::Create( | ||||||
|    const std::string&                            product, |    const std::string&                            product, | ||||||
|    std::shared_ptr<manager::RadarProductManager> radarProductManager) |    std::shared_ptr<manager::RadarProductManager> radarProductManager) | ||||||
|  |  | ||||||
|  | @ -33,9 +33,6 @@ public: | ||||||
| 
 | 
 | ||||||
|    std::optional<std::uint16_t> |    std::optional<std::uint16_t> | ||||||
|    GetBinLevel(const common::Coordinate& coordinate) const override; |    GetBinLevel(const common::Coordinate& coordinate) const override; | ||||||
|    std::optional<wsr88d::DataLevelCode> |  | ||||||
|                         GetDataLevelCode(std::uint16_t level) const override; |  | ||||||
|    std::optional<float> GetDataValue(std::uint16_t level) const override; |  | ||||||
| 
 | 
 | ||||||
|    static std::shared_ptr<Level3RadialView> |    static std::shared_ptr<Level3RadialView> | ||||||
|    Create(const std::string&                            product, |    Create(const std::string&                            product, | ||||||
|  |  | ||||||
|  | @ -360,21 +360,6 @@ Level3RasterView::GetBinLevel(const common::Coordinate& coordinate) const | ||||||
|    return std::nullopt; |    return std::nullopt; | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| std::optional<wsr88d::DataLevelCode> |  | ||||||
| Level3RasterView::GetDataLevelCode(std::uint16_t level) const |  | ||||||
| { |  | ||||||
|    // TODO
 |  | ||||||
|    Q_UNUSED(level); |  | ||||||
|    return std::nullopt; |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| std::optional<float> Level3RasterView::GetDataValue(std::uint16_t level) const |  | ||||||
| { |  | ||||||
|    // TODO
 |  | ||||||
|    Q_UNUSED(level); |  | ||||||
|    return std::nullopt; |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| std::shared_ptr<Level3RasterView> Level3RasterView::Create( | std::shared_ptr<Level3RasterView> Level3RasterView::Create( | ||||||
|    const std::string&                            product, |    const std::string&                            product, | ||||||
|    std::shared_ptr<manager::RadarProductManager> radarProductManager) |    std::shared_ptr<manager::RadarProductManager> radarProductManager) | ||||||
|  |  | ||||||
|  | @ -35,9 +35,6 @@ public: | ||||||
| 
 | 
 | ||||||
|    std::optional<std::uint16_t> |    std::optional<std::uint16_t> | ||||||
|    GetBinLevel(const common::Coordinate& coordinate) const override; |    GetBinLevel(const common::Coordinate& coordinate) const override; | ||||||
|    std::optional<wsr88d::DataLevelCode> |  | ||||||
|                         GetDataLevelCode(std::uint16_t level) const override; |  | ||||||
|    std::optional<float> GetDataValue(std::uint16_t level) const override; |  | ||||||
| 
 | 
 | ||||||
|    static std::shared_ptr<Level3RasterView> |    static std::shared_ptr<Level3RasterView> | ||||||
|    Create(const std::string&                            product, |    Create(const std::string&                            product, | ||||||
|  |  | ||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 Dan Paulat
						Dan Paulat