mirror of
https://github.com/ciphervance/supercell-wx.git
synced 2025-10-30 16:40:05 +00:00
Do not display an elevation number when there is non
This commit is contained in:
parent
484c08c455
commit
24f5f0a3e3
12 changed files with 166 additions and 145 deletions
|
|
@ -9,11 +9,7 @@
|
|||
|
||||
#include <units/angle.h>
|
||||
|
||||
namespace scwx
|
||||
{
|
||||
namespace wsr88d
|
||||
{
|
||||
namespace rpg
|
||||
namespace scwx::wsr88d::rpg
|
||||
{
|
||||
|
||||
class ProductDescriptionBlockImpl;
|
||||
|
|
@ -22,7 +18,7 @@ class ProductDescriptionBlock : public awips::Message
|
|||
{
|
||||
public:
|
||||
explicit ProductDescriptionBlock();
|
||||
~ProductDescriptionBlock();
|
||||
~ProductDescriptionBlock() override;
|
||||
|
||||
ProductDescriptionBlock(const ProductDescriptionBlock&) = delete;
|
||||
ProductDescriptionBlock& operator=(const ProductDescriptionBlock&) = delete;
|
||||
|
|
@ -30,57 +26,59 @@ public:
|
|||
ProductDescriptionBlock(ProductDescriptionBlock&&) noexcept;
|
||||
ProductDescriptionBlock& operator=(ProductDescriptionBlock&&) noexcept;
|
||||
|
||||
int16_t block_divider() const;
|
||||
float latitude_of_radar() const;
|
||||
float longitude_of_radar() const;
|
||||
int16_t height_of_radar() const;
|
||||
int16_t product_code() const;
|
||||
uint16_t operational_mode() const;
|
||||
uint16_t volume_coverage_pattern() const;
|
||||
int16_t sequence_number() const;
|
||||
uint16_t volume_scan_number() const;
|
||||
uint16_t volume_scan_date() const;
|
||||
uint32_t volume_scan_start_time() const;
|
||||
uint16_t generation_date_of_product() const;
|
||||
uint32_t generation_time_of_product() const;
|
||||
uint16_t elevation_number() const;
|
||||
uint16_t data_level_threshold(size_t i) const;
|
||||
uint8_t version() const;
|
||||
uint8_t spot_blank() const;
|
||||
uint32_t offset_to_symbology() const;
|
||||
uint32_t offset_to_graphic() const;
|
||||
uint32_t offset_to_tabular() const;
|
||||
[[nodiscard]] int16_t block_divider() const;
|
||||
[[nodiscard]] float latitude_of_radar() const;
|
||||
[[nodiscard]] float longitude_of_radar() const;
|
||||
[[nodiscard]] int16_t height_of_radar() const;
|
||||
[[nodiscard]] int16_t product_code() const;
|
||||
[[nodiscard]] uint16_t operational_mode() const;
|
||||
[[nodiscard]] uint16_t volume_coverage_pattern() const;
|
||||
[[nodiscard]] int16_t sequence_number() const;
|
||||
[[nodiscard]] uint16_t volume_scan_number() const;
|
||||
[[nodiscard]] uint16_t volume_scan_date() const;
|
||||
[[nodiscard]] uint32_t volume_scan_start_time() const;
|
||||
[[nodiscard]] uint16_t generation_date_of_product() const;
|
||||
[[nodiscard]] uint32_t generation_time_of_product() const;
|
||||
[[nodiscard]] uint16_t elevation_number() const;
|
||||
[[nodiscard]] uint16_t data_level_threshold(size_t i) const;
|
||||
[[nodiscard]] uint8_t version() const;
|
||||
[[nodiscard]] uint8_t spot_blank() const;
|
||||
[[nodiscard]] uint32_t offset_to_symbology() const;
|
||||
[[nodiscard]] uint32_t offset_to_graphic() const;
|
||||
[[nodiscard]] uint32_t offset_to_tabular() const;
|
||||
|
||||
float range() const;
|
||||
uint16_t range_raw() const;
|
||||
float x_resolution() const;
|
||||
uint16_t x_resolution_raw() const;
|
||||
float y_resolution() const;
|
||||
uint16_t y_resolution_raw() const;
|
||||
[[nodiscard]] float range() const;
|
||||
[[nodiscard]] uint16_t range_raw() const;
|
||||
[[nodiscard]] float x_resolution() const;
|
||||
[[nodiscard]] uint16_t x_resolution_raw() const;
|
||||
[[nodiscard]] float y_resolution() const;
|
||||
[[nodiscard]] uint16_t y_resolution_raw() const;
|
||||
|
||||
uint16_t threshold() const;
|
||||
float offset() const;
|
||||
float scale() const;
|
||||
uint16_t number_of_levels() const;
|
||||
[[nodiscard]] uint16_t threshold() const;
|
||||
[[nodiscard]] float offset() const;
|
||||
[[nodiscard]] float scale() const;
|
||||
[[nodiscard]] uint16_t number_of_levels() const;
|
||||
|
||||
std::optional<DataLevelCode> data_level_code(std::uint8_t level) const;
|
||||
std::optional<float> data_value(std::uint8_t level) const;
|
||||
[[nodiscard]] std::optional<DataLevelCode>
|
||||
data_level_code(std::uint8_t level) const;
|
||||
[[nodiscard]] std::optional<float> data_value(std::uint8_t level) const;
|
||||
|
||||
std::uint16_t log_start() const;
|
||||
float log_offset() const;
|
||||
float log_scale() const;
|
||||
[[nodiscard]] std::uint16_t log_start() const;
|
||||
[[nodiscard]] float log_offset() const;
|
||||
[[nodiscard]] float log_scale() const;
|
||||
|
||||
float gr_scale() const;
|
||||
[[nodiscard]] float gr_scale() const;
|
||||
|
||||
std::uint8_t data_mask() const;
|
||||
std::uint8_t topped_mask() const;
|
||||
[[nodiscard]] std::uint8_t data_mask() const;
|
||||
[[nodiscard]] std::uint8_t topped_mask() const;
|
||||
|
||||
units::angle::degrees<double> elevation() const;
|
||||
[[nodiscard]] units::angle::degrees<double> elevation() const;
|
||||
[[nodiscard]] bool has_elevation() const;
|
||||
|
||||
bool IsCompressionEnabled() const;
|
||||
bool IsDataLevelCoded() const;
|
||||
[[nodiscard]] bool IsCompressionEnabled() const;
|
||||
[[nodiscard]] bool IsDataLevelCoded() const;
|
||||
|
||||
size_t data_size() const override;
|
||||
[[nodiscard]] size_t data_size() const override;
|
||||
|
||||
bool Parse(std::istream& is) override;
|
||||
|
||||
|
|
@ -90,6 +88,4 @@ private:
|
|||
std::unique_ptr<ProductDescriptionBlockImpl> p;
|
||||
};
|
||||
|
||||
} // namespace rpg
|
||||
} // namespace wsr88d
|
||||
} // namespace scwx
|
||||
} // namespace scwx::wsr88d::rpg
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue