mirror of
				https://github.com/ciphervance/supercell-wx.git
				synced 2025-10-31 10:10:05 +00:00 
			
		
		
		
	Refactoring Level2ProductViewImpl to Level2ProductView::Impl
This commit is contained in:
		
							parent
							
								
									7b938f9458
								
							
						
					
					
						commit
						13a015cd5f
					
				
					 2 changed files with 14 additions and 17 deletions
				
			
		|  | @ -53,11 +53,10 @@ static const std::unordered_map<common::Level2Product, std::string> | |||
|                   {common::Level2Product::CorrelationCoefficient, "%"}, | ||||
|                   {common::Level2Product::ClutterFilterPowerRemoved, "dB"}}; | ||||
| 
 | ||||
| class Level2ProductViewImpl | ||||
| class Level2ProductView::Impl | ||||
| { | ||||
| public: | ||||
|    explicit Level2ProductViewImpl(Level2ProductView*    self, | ||||
|                                   common::Level2Product product) : | ||||
|    explicit Impl(Level2ProductView* self, common::Level2Product product) : | ||||
|        self_ {self}, | ||||
|        product_ {product}, | ||||
|        selectedElevation_ {0.0f}, | ||||
|  | @ -94,7 +93,7 @@ public: | |||
|       UpdateOtherUnits(unitSettings.other_units().GetValue()); | ||||
|       UpdateSpeedUnits(unitSettings.speed_units().GetValue()); | ||||
|    } | ||||
|    ~Level2ProductViewImpl() | ||||
|    ~Impl() | ||||
|    { | ||||
|       auto& unitSettings = settings::UnitSettings::Instance(); | ||||
| 
 | ||||
|  | @ -164,7 +163,7 @@ Level2ProductView::Level2ProductView( | |||
|    common::Level2Product                         product, | ||||
|    std::shared_ptr<manager::RadarProductManager> radarProductManager) : | ||||
|     RadarProductView(radarProductManager), | ||||
|     p(std::make_unique<Level2ProductViewImpl>(this, product)) | ||||
|     p(std::make_unique<Impl>(this, product)) | ||||
| { | ||||
|    ConnectRadarProductManager(); | ||||
| } | ||||
|  | @ -379,12 +378,12 @@ void Level2ProductView::SelectProduct(const std::string& productName) | |||
|    p->SetProduct(productName); | ||||
| } | ||||
| 
 | ||||
| void Level2ProductViewImpl::SetProduct(const std::string& productName) | ||||
| void Level2ProductView::Impl::SetProduct(const std::string& productName) | ||||
| { | ||||
|    SetProduct(common::GetLevel2Product(productName)); | ||||
| } | ||||
| 
 | ||||
| void Level2ProductViewImpl::SetProduct(common::Level2Product product) | ||||
| void Level2ProductView::Impl::SetProduct(common::Level2Product product) | ||||
| { | ||||
|    product_ = product; | ||||
| 
 | ||||
|  | @ -401,12 +400,12 @@ void Level2ProductViewImpl::SetProduct(common::Level2Product product) | |||
|    } | ||||
| } | ||||
| 
 | ||||
| void Level2ProductViewImpl::UpdateOtherUnits(const std::string& name) | ||||
| void Level2ProductView::Impl::UpdateOtherUnits(const std::string& name) | ||||
| { | ||||
|    otherUnits_ = types::GetOtherUnitsFromName(name); | ||||
| } | ||||
| 
 | ||||
| void Level2ProductViewImpl::UpdateSpeedUnits(const std::string& name) | ||||
| void Level2ProductView::Impl::UpdateSpeedUnits(const std::string& name) | ||||
| { | ||||
|    speedUnits_ = types::GetSpeedUnitsFromName(name); | ||||
| } | ||||
|  | @ -536,8 +535,7 @@ void Level2ProductView::ComputeSweep() | |||
| 
 | ||||
|    // When there is missing data, insert another empty vertex radial at the end
 | ||||
|    // to avoid stretching
 | ||||
|    const bool isRadarDataIncomplete = | ||||
|       Level2ProductViewImpl::IsRadarDataIncomplete(radarData); | ||||
|    const bool isRadarDataIncomplete = Impl::IsRadarDataIncomplete(radarData); | ||||
|    if (isRadarDataIncomplete) | ||||
|    { | ||||
|       ++vertexRadials; | ||||
|  | @ -819,7 +817,7 @@ void Level2ProductView::ComputeSweep() | |||
|    Q_EMIT SweepComputed(); | ||||
| } | ||||
| 
 | ||||
| void Level2ProductViewImpl::ComputeCoordinates( | ||||
| void Level2ProductView::Impl::ComputeCoordinates( | ||||
|    const std::shared_ptr<wsr88d::rda::ElevationScan>& radarData) | ||||
| { | ||||
|    logger_->debug("ComputeCoordinates()"); | ||||
|  | @ -940,7 +938,7 @@ void Level2ProductViewImpl::ComputeCoordinates( | |||
|    logger_->debug("Coordinates calculated in {}", timer.format(6, "%ws")); | ||||
| } | ||||
| 
 | ||||
| bool Level2ProductViewImpl::IsRadarDataIncomplete( | ||||
| bool Level2ProductView::Impl::IsRadarDataIncomplete( | ||||
|    const std::shared_ptr<const wsr88d::rda::ElevationScan>& radarData) | ||||
| { | ||||
|    // Assume the data is incomplete when the delta between the first and last
 | ||||
|  | @ -1003,7 +1001,7 @@ Level2ProductView::GetBinLevel(const common::Coordinate& coordinate) const | |||
|       static_cast<std::uint16_t>(radarData->crbegin()->first + 1); | ||||
| 
 | ||||
|    // Add an extra radial when incomplete data exists
 | ||||
|    if (Level2ProductViewImpl::IsRadarDataIncomplete(radarData)) | ||||
|    if (Impl::IsRadarDataIncomplete(radarData)) | ||||
|    { | ||||
|       ++numRadials; | ||||
|    } | ||||
|  |  | |||
|  | @ -15,8 +15,6 @@ namespace qt | |||
| namespace view | ||||
| { | ||||
| 
 | ||||
| class Level2ProductViewImpl; | ||||
| 
 | ||||
| class Level2ProductView : public RadarProductView | ||||
| { | ||||
|    Q_OBJECT | ||||
|  | @ -73,7 +71,8 @@ protected slots: | |||
|    void ComputeSweep() override; | ||||
| 
 | ||||
| private: | ||||
|    std::unique_ptr<Level2ProductViewImpl> p; | ||||
|    class Impl; | ||||
|    std::unique_ptr<Impl> p; | ||||
| }; | ||||
| 
 | ||||
| } // namespace view
 | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 Dan Paulat
						Dan Paulat