nexrad_decode/messages/rda_status_data/
volume_coverage_pattern.rs1use crate::messages::primitive_aliases::SInteger2;
2use std::fmt::Debug;
3
4#[derive(Clone, PartialEq, Eq, Hash)]
6pub struct VolumeCoveragePatternNumber(SInteger2);
7
8impl VolumeCoveragePatternNumber {
9 pub(crate) fn new(value: SInteger2) -> Self {
10 Self(value)
11 }
12
13 pub fn number(&self) -> i16 {
15 self.0.abs()
16 }
17
18 pub fn local(&self) -> bool {
20 self.0 < 0
21 }
22
23 pub fn remote(&self) -> bool {
25 self.0 > 0
26 }
27}
28
29impl Debug for VolumeCoveragePatternNumber {
30 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
31 f.debug_struct("VolumeCoveragePatternNumber")
32 .field("number", &self.number())
33 .field("local", &self.local())
34 .field("remote", &self.remote())
35 .finish()
36 }
37}