mirror of
https://github.com/ciphervance/supercell-wx.git
synced 2025-10-30 18:50:05 +00:00
Radial data packet
This commit is contained in:
parent
c2ca9a3eca
commit
c9617f13b0
5 changed files with 284 additions and 1 deletions
49
wxdata/include/scwx/wsr88d/rpg/radial_data_packet.hpp
Normal file
49
wxdata/include/scwx/wsr88d/rpg/radial_data_packet.hpp
Normal file
|
|
@ -0,0 +1,49 @@
|
|||
#pragma once
|
||||
|
||||
#include <scwx/wsr88d/rpg/packet.hpp>
|
||||
|
||||
#include <cstdint>
|
||||
#include <memory>
|
||||
|
||||
namespace scwx
|
||||
{
|
||||
namespace wsr88d
|
||||
{
|
||||
namespace rpg
|
||||
{
|
||||
|
||||
class RadialDataPacketImpl;
|
||||
|
||||
class RadialDataPacket : public Packet
|
||||
{
|
||||
public:
|
||||
explicit RadialDataPacket();
|
||||
~RadialDataPacket();
|
||||
|
||||
RadialDataPacket(const RadialDataPacket&) = delete;
|
||||
RadialDataPacket& operator=(const RadialDataPacket&) = delete;
|
||||
|
||||
RadialDataPacket(RadialDataPacket&&) noexcept;
|
||||
RadialDataPacket& operator=(RadialDataPacket&&) noexcept;
|
||||
|
||||
uint16_t packet_code() const;
|
||||
uint16_t index_of_first_range_bin() const;
|
||||
uint16_t number_of_range_bins() const;
|
||||
int16_t i_center_of_sweep() const;
|
||||
int16_t j_center_of_sweep() const;
|
||||
float scale_factor() const;
|
||||
uint16_t number_of_radials() const;
|
||||
|
||||
size_t data_size() const override;
|
||||
|
||||
bool Parse(std::istream& is) override;
|
||||
|
||||
static std::shared_ptr<RadialDataPacket> Create(std::istream& is);
|
||||
|
||||
private:
|
||||
std::unique_ptr<RadialDataPacketImpl> p;
|
||||
};
|
||||
|
||||
} // namespace rpg
|
||||
} // namespace wsr88d
|
||||
} // namespace scwx
|
||||
Loading…
Add table
Add a link
Reference in a new issue