mirror of
				https://github.com/ciphervance/supercell-wx.git
				synced 2025-10-31 04:20:05 +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(); | ||||
| } | ||||
| 
 | ||||
| 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 qt
 | ||||
| } // namespace scwx
 | ||||
|  |  | |||
|  | @ -36,6 +36,10 @@ public: | |||
|    common::RadarProductGroup GetRadarProductGroup() 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; | ||||
| 
 | ||||
|    std::vector<std::pair<std::string, std::string>> | ||||
|  |  | |||
|  | @ -605,53 +605,6 @@ Level3RadialView::GetBinLevel(const common::Coordinate& coordinate) const | |||
|    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( | ||||
|    const std::string&                            product, | ||||
|    std::shared_ptr<manager::RadarProductManager> radarProductManager) | ||||
|  |  | |||
|  | @ -33,9 +33,6 @@ public: | |||
| 
 | ||||
|    std::optional<std::uint16_t> | ||||
|    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> | ||||
|    Create(const std::string&                            product, | ||||
|  |  | |||
|  | @ -360,21 +360,6 @@ Level3RasterView::GetBinLevel(const common::Coordinate& coordinate) const | |||
|    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( | ||||
|    const std::string&                            product, | ||||
|    std::shared_ptr<manager::RadarProductManager> radarProductManager) | ||||
|  |  | |||
|  | @ -35,9 +35,6 @@ public: | |||
| 
 | ||||
|    std::optional<std::uint16_t> | ||||
|    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> | ||||
|    Create(const std::string&                            product, | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 Dan Paulat
						Dan Paulat