charming_fork_zephyr/component/
polar_coordinate.rs1use serde::Serialize;
2
3use crate::datatype::CompositeValue;
4
5#[derive(Serialize)]
7#[serde(rename_all = "camelCase")]
8pub struct PolarCoordinate {
9 #[serde(skip_serializing_if = "Option::is_none")]
10 id: Option<String>,
11
12 #[serde(skip_serializing_if = "Option::is_none")]
14 zlevel: Option<i64>,
15
16 #[serde(skip_serializing_if = "Option::is_none")]
18 z: Option<i64>,
19
20 #[serde(skip_serializing_if = "Option::is_none")]
21 center: Option<CompositeValue>,
22
23 #[serde(skip_serializing_if = "Option::is_none")]
24 radius: Option<CompositeValue>,
25}
26
27impl PolarCoordinate {
28 pub fn new() -> Self {
29 Self {
30 id: None,
31 zlevel: None,
32 z: None,
33 center: None,
34 radius: None,
35 }
36 }
37
38 pub fn id<S: Into<String>>(mut self, id: S) -> Self {
39 self.id = Some(id.into());
40 self
41 }
42
43 pub fn zlevel<F: Into<i64>>(mut self, zlevel: F) -> Self {
44 self.zlevel = Some(zlevel.into());
45 self
46 }
47
48 pub fn z<F: Into<i64>>(mut self, z: F) -> Self {
49 self.z = Some(z.into());
50 self
51 }
52
53 pub fn center<C: Into<CompositeValue>>(mut self, center: C) -> Self {
54 self.center = Some(center.into());
55 self
56 }
57
58 pub fn radius<C: Into<CompositeValue>>(mut self, radius: C) -> Self {
59 self.radius = Some(radius.into());
60 self
61 }
62}