nominal_api/conjure/objects/scout/compute/resolved/api/
cpsd_node.rs1#[derive(
2 Debug,
3 Clone,
4 conjure_object::serde::Serialize,
5 conjure_object::serde::Deserialize,
6 conjure_object::private::DeriveWith
7)]
8#[serde(crate = "conjure_object::serde")]
9#[derive_with(PartialEq, Eq, PartialOrd, Ord, Hash)]
10#[conjure_object::private::staged_builder::staged_builder]
11#[builder(crate = conjure_object::private::staged_builder, update, inline)]
12pub struct CpsdNode {
13 #[builder(custom(type = super::NumericSeriesNode, convert = Box::new))]
14 #[serde(rename = "x")]
15 x: Box<super::NumericSeriesNode>,
16 #[builder(custom(type = super::NumericSeriesNode, convert = Box::new))]
17 #[serde(rename = "y")]
18 y: Box<super::NumericSeriesNode>,
19 #[builder(
20 default,
21 custom(
22 type = impl
23 Into<Option<super::super::super::api::StftOptions>>,
24 convert = |v|v.into().map(Box::new)
25 )
26 )]
27 #[serde(rename = "stftOptions", skip_serializing_if = "Option::is_none", default)]
28 stft_options: Option<Box<super::super::super::api::StftOptions>>,
29 #[builder(default, into)]
30 #[serde(
31 rename = "magnitudeScaling",
32 skip_serializing_if = "Option::is_none",
33 default
34 )]
35 magnitude_scaling: Option<super::super::super::api::MagnitudeScaling>,
36 #[builder(default, into)]
37 #[serde(
38 rename = "outputFrequencyType",
39 skip_serializing_if = "Option::is_none",
40 default
41 )]
42 output_frequency_type: Option<super::super::super::api::OutputFrequencyType>,
43 #[builder(default, into)]
44 #[serde(rename = "unwrapPhase", skip_serializing_if = "Option::is_none", default)]
45 unwrap_phase: Option<bool>,
46 #[builder(default, into)]
47 #[serde(
48 rename = "outputPhaseUnit",
49 skip_serializing_if = "Option::is_none",
50 default
51 )]
52 output_phase_unit: Option<super::super::super::api::OutputPhaseUnit>,
53}
54impl CpsdNode {
55 #[inline]
57 pub fn new(x: super::NumericSeriesNode, y: super::NumericSeriesNode) -> Self {
58 Self::builder().x(x).y(y).build()
59 }
60 #[inline]
61 pub fn x(&self) -> &super::NumericSeriesNode {
62 &*self.x
63 }
64 #[inline]
65 pub fn y(&self) -> &super::NumericSeriesNode {
66 &*self.y
67 }
68 #[inline]
69 pub fn stft_options(&self) -> Option<&super::super::super::api::StftOptions> {
70 self.stft_options.as_ref().map(|o| &**o)
71 }
72 #[inline]
73 pub fn magnitude_scaling(
74 &self,
75 ) -> Option<&super::super::super::api::MagnitudeScaling> {
76 self.magnitude_scaling.as_ref().map(|o| &*o)
77 }
78 #[inline]
79 pub fn output_frequency_type(
80 &self,
81 ) -> Option<&super::super::super::api::OutputFrequencyType> {
82 self.output_frequency_type.as_ref().map(|o| &*o)
83 }
84 #[inline]
85 pub fn unwrap_phase(&self) -> Option<bool> {
86 self.unwrap_phase.as_ref().map(|o| *o)
87 }
88 #[inline]
89 pub fn output_phase_unit(
90 &self,
91 ) -> Option<&super::super::super::api::OutputPhaseUnit> {
92 self.output_phase_unit.as_ref().map(|o| &*o)
93 }
94}