mirror of
				https://github.com/ciphervance/supercell-wx.git
				synced 2025-10-31 18:10:05 +00:00 
			
		
		
		
	Add elevation to product label. Mainly for level 3 products
This commit is contained in:
		
							parent
							
								
									5968fd981c
								
							
						
					
					
						commit
						be972cdb7e
					
				
					 4 changed files with 24 additions and 8 deletions
				
			
		|  | @ -2163,7 +2163,6 @@ void MapWidgetImpl::CheckLevel3Availability() | ||||||
|                                   availableTilts[availableTilts.size() - 1], |                                   availableTilts[availableTilts.size() - 1], | ||||||
|                                   0, |                                   0, | ||||||
|                                   widget_->GetSelectedTime()); |                                   widget_->GetSelectedTime()); | ||||||
| 
 |  | ||||||
|    } |    } | ||||||
|    else |    else | ||||||
|    { |    { | ||||||
|  |  | ||||||
|  | @ -1,3 +1,4 @@ | ||||||
|  | #include <scwx/common/characters.hpp> | ||||||
| #include <scwx/qt/gl/draw/geo_icons.hpp> | #include <scwx/qt/gl/draw/geo_icons.hpp> | ||||||
| #include <scwx/qt/gl/draw/icons.hpp> | #include <scwx/qt/gl/draw/icons.hpp> | ||||||
| #include <scwx/qt/gl/draw/rectangle.hpp> | #include <scwx/qt/gl/draw/rectangle.hpp> | ||||||
|  | @ -426,15 +427,22 @@ void OverlayLayer::Render(const QMapLibre::CustomLayerRenderParameters& params) | ||||||
|    if (radarProductView != nullptr) |    if (radarProductView != nullptr) | ||||||
|    { |    { | ||||||
|       // Render product name
 |       // Render product name
 | ||||||
|       std::string productName = radarProductView->GetRadarProductName(); |       const std::string productName = radarProductView->GetRadarProductName(); | ||||||
|  |       const float       elevation   = radarProductView->elevation(); | ||||||
|  | 
 | ||||||
|       if (productName.length() > 0 && !productName.starts_with('?')) |       if (productName.length() > 0 && !productName.starts_with('?')) | ||||||
|       { |       { | ||||||
|  |          const std::string elevationString = | ||||||
|  |             (QString::number(elevation, 'f', 1) + common::Characters::DEGREE) | ||||||
|  |                .toStdString(); | ||||||
|  | 
 | ||||||
|          ImGui::SetNextWindowPos(ImVec2 {0.0f, 0.0f}); |          ImGui::SetNextWindowPos(ImVec2 {0.0f, 0.0f}); | ||||||
|          ImGui::Begin("Product Name", |          ImGui::Begin("Product Name", | ||||||
|                       nullptr, |                       nullptr, | ||||||
|                       ImGuiWindowFlags_NoTitleBar | ImGuiWindowFlags_NoResize | |                       ImGuiWindowFlags_NoTitleBar | ImGuiWindowFlags_NoResize | | ||||||
|                          ImGuiWindowFlags_AlwaysAutoResize); |                          ImGuiWindowFlags_AlwaysAutoResize); | ||||||
|          ImGui::TextUnformatted(productName.c_str()); |          ImGui::TextUnformatted( | ||||||
|  |             fmt::format("{} ({})", productName, elevationString).c_str()); | ||||||
|          ImGui::End(); |          ImGui::End(); | ||||||
|       } |       } | ||||||
|    } |    } | ||||||
|  |  | ||||||
|  | @ -67,6 +67,7 @@ public: | ||||||
| 
 | 
 | ||||||
|    float         latitude_; |    float         latitude_; | ||||||
|    float         longitude_; |    float         longitude_; | ||||||
|  |    float         elevation_; | ||||||
|    float         range_; |    float         range_; | ||||||
|    std::uint16_t vcp_; |    std::uint16_t vcp_; | ||||||
| 
 | 
 | ||||||
|  | @ -91,6 +92,11 @@ boost::asio::thread_pool& Level3RadialView::thread_pool() | ||||||
|    return p->threadPool_; |    return p->threadPool_; | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
|  | float Level3RadialView::elevation() const | ||||||
|  | { | ||||||
|  |    return p->elevation_; | ||||||
|  | } | ||||||
|  | 
 | ||||||
| float Level3RadialView::range() const | float Level3RadialView::range() const | ||||||
| { | { | ||||||
|    return p->range_; |    return p->range_; | ||||||
|  | @ -306,6 +312,7 @@ void Level3RadialView::ComputeSweep() | ||||||
|    p->latitude_  = descriptionBlock->latitude_of_radar(); |    p->latitude_  = descriptionBlock->latitude_of_radar(); | ||||||
|    p->longitude_ = descriptionBlock->longitude_of_radar(); |    p->longitude_ = descriptionBlock->longitude_of_radar(); | ||||||
|    p->range_     = descriptionBlock->range(); |    p->range_     = descriptionBlock->range(); | ||||||
|  |    p->elevation_ = static_cast<float>(descriptionBlock->elevation().value()); | ||||||
|    p->sweepTime_ = |    p->sweepTime_ = | ||||||
|       scwx::util::TimePoint(descriptionBlock->volume_scan_date(), |       scwx::util::TimePoint(descriptionBlock->volume_scan_date(), | ||||||
|                             descriptionBlock->volume_scan_start_time() * 1000); |                             descriptionBlock->volume_scan_start_time() * 1000); | ||||||
|  |  | ||||||
|  | @ -23,10 +23,12 @@ public: | ||||||
|       std::shared_ptr<manager::RadarProductManager> radarProductManager); |       std::shared_ptr<manager::RadarProductManager> radarProductManager); | ||||||
|    ~Level3RadialView(); |    ~Level3RadialView(); | ||||||
| 
 | 
 | ||||||
|    float                                 range() const override; |    [[nodiscard]] float elevation() const override; | ||||||
|    std::chrono::system_clock::time_point sweep_time() const override; |    [[nodiscard]] float range() const override; | ||||||
|    std::uint16_t                         vcp() const override; |    [[nodiscard]] std::chrono::system_clock::time_point | ||||||
|    const std::vector<float>&             vertices() const override; |                                            sweep_time() const override; | ||||||
|  |    [[nodiscard]] std::uint16_t             vcp() const override; | ||||||
|  |    [[nodiscard]] const std::vector<float>& vertices() const override; | ||||||
| 
 | 
 | ||||||
|    std::tuple<const void*, std::size_t, std::size_t> |    std::tuple<const void*, std::size_t, std::size_t> | ||||||
|    GetMomentData() const override; |    GetMomentData() const override; | ||||||
|  |  | ||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 AdenKoperczak
						AdenKoperczak