mirror of
				https://github.com/ciphervance/supercell-wx.git
				synced 2025-10-31 10:10:05 +00:00 
			
		
		
		
	Expose i and j from LinkedVectorPacket
This commit is contained in:
		
							parent
							
								
									17368b2404
								
							
						
					
					
						commit
						5d828b0819
					
				
					 2 changed files with 67 additions and 5 deletions
				
			
		|  | @ -6,6 +6,8 @@ | |||
| #include <memory> | ||||
| #include <optional> | ||||
| 
 | ||||
| #include <units/length.h> | ||||
| 
 | ||||
| namespace scwx | ||||
| { | ||||
| namespace wsr88d | ||||
|  | @ -27,11 +29,21 @@ public: | |||
|    LinkedVectorPacket(LinkedVectorPacket&&) noexcept; | ||||
|    LinkedVectorPacket& operator=(LinkedVectorPacket&&) noexcept; | ||||
| 
 | ||||
|    uint16_t                packet_code() const override; | ||||
|    uint16_t                length_of_block() const; | ||||
|    std::optional<uint16_t> value_of_vector() const; | ||||
|    std::uint16_t                packet_code() const override; | ||||
|    std::uint16_t                length_of_block() const; | ||||
|    std::optional<std::uint16_t> value_of_vector() const; | ||||
| 
 | ||||
|    size_t data_size() const override; | ||||
|    std::int16_t              start_i() const; | ||||
|    std::int16_t              start_j() const; | ||||
|    std::vector<std::int16_t> end_i() const; | ||||
|    std::vector<std::int16_t> end_j() const; | ||||
| 
 | ||||
|    units::kilometers<double>              start_i_km() const; | ||||
|    units::kilometers<double>              start_j_km() const; | ||||
|    std::vector<units::kilometers<double>> end_i_km() const; | ||||
|    std::vector<units::kilometers<double>> end_j_km() const; | ||||
| 
 | ||||
|    std::size_t data_size() const override; | ||||
| 
 | ||||
|    bool Parse(std::istream& is) override; | ||||
| 
 | ||||
|  |  | |||
|  | @ -71,6 +71,56 @@ std::optional<uint16_t> LinkedVectorPacket::value_of_vector() const | |||
|    return value; | ||||
| } | ||||
| 
 | ||||
| std::int16_t LinkedVectorPacket::start_i() const | ||||
| { | ||||
|    return p->startI_; | ||||
| } | ||||
| 
 | ||||
| std::int16_t LinkedVectorPacket::start_j() const | ||||
| { | ||||
|    return p->startJ_; | ||||
| } | ||||
| 
 | ||||
| std::vector<std::int16_t> LinkedVectorPacket::end_i() const | ||||
| { | ||||
|    return p->endI_; | ||||
| } | ||||
| 
 | ||||
| std::vector<std::int16_t> LinkedVectorPacket::end_j() const | ||||
| { | ||||
|    return p->endJ_; | ||||
| } | ||||
| 
 | ||||
| units::kilometers<double> LinkedVectorPacket::start_i_km() const | ||||
| { | ||||
|    return units::kilometers<double> {p->startI_ * 0.25}; | ||||
| } | ||||
| 
 | ||||
| units::kilometers<double> LinkedVectorPacket::start_j_km() const | ||||
| { | ||||
|    return units::kilometers<double> {p->startJ_ * 0.25}; | ||||
| } | ||||
| 
 | ||||
| std::vector<units::kilometers<double>> LinkedVectorPacket::end_i_km() const | ||||
| { | ||||
|    std::vector<units::kilometers<double>> endI; | ||||
|    for (const auto& i : p->endI_) | ||||
|    { | ||||
|       endI.emplace_back(units::kilometers<double> {i * 0.25}); | ||||
|    } | ||||
|    return endI; | ||||
| } | ||||
| 
 | ||||
| std::vector<units::kilometers<double>> LinkedVectorPacket::end_j_km() const | ||||
| { | ||||
|    std::vector<units::kilometers<double>> endJ; | ||||
|    for (const auto& j : p->endJ_) | ||||
|    { | ||||
|       endJ.emplace_back(units::kilometers<double> {j * 0.25}); | ||||
|    } | ||||
|    return endJ; | ||||
| } | ||||
| 
 | ||||
| size_t LinkedVectorPacket::data_size() const | ||||
| { | ||||
|    return p->lengthOfBlock_ + 4u; | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 Dan Paulat
						Dan Paulat