#![warn(missing_docs)]
#![warn(rustdoc::broken_intra_doc_links)]
use serde::{Serialize};
use serde::Deserialize;
use yaserde_derive::YaDeserialize;
use yaserde_derive::YaSerialize;
pub use super::*;
#[derive(Default, Debug, Clone, PartialEq, YaDeserialize, YaSerialize, Serialize, Deserialize)]
pub struct Rotation {
#[yaserde(rename = "X")]
#[serde(rename = "X")]
pub x: i32,
#[yaserde(rename = "Y")]
#[serde(rename = "Y")]
pub y: i32,
#[yaserde(rename = "Z")]
#[serde(rename = "Z")]
pub z: i32,
#[yaserde(rename = "G0")]
#[serde(rename = "G0")]
pub g0: i32,
}
#[derive(Default, Debug, Clone, PartialEq, YaDeserialize, YaSerialize, Serialize, Deserialize)]
pub struct Cuboid {
#[yaserde(rename = "Width")]
#[serde(rename = "Width")]
pub width: Vec<i32>,
#[yaserde(rename = "Length")]
#[serde(rename = "Length")]
pub length: Vec<i32>,
#[yaserde(rename = "Height")]
#[serde(rename = "Height")]
pub height: Vec<i32>,
}
#[derive(Default, Debug, Clone, PartialEq, YaDeserialize, YaSerialize, Serialize, Deserialize)]
pub struct Cylinder {
#[yaserde(rename = "plane")]
#[serde(rename = "plane")]
pub plane: String,
#[yaserde(rename = "Diameter")]
#[serde(rename = "Diameter")]
pub diameter: Vec<i32>,
#[yaserde(rename = "Height")]
#[serde(rename = "Height")]
pub height: Vec<String>,
}
#[derive(Default, Debug, Clone, PartialEq, YaDeserialize, YaSerialize, Serialize, Deserialize)]
pub struct CHeights {
#[yaserde(rename = "C0")]
#[serde(rename = "C0")]
pub c0: Vec<i32>,
#[yaserde(rename = "C90")]
#[serde(rename = "C90")]
pub c90: Vec<i32>,
#[yaserde(rename = "C180")]
#[serde(rename = "C180")]
pub c180: Vec<i32>,
#[yaserde(rename = "C270")]
#[serde(rename = "C270")]
pub c270: Vec<i32>,
}
#[derive(Default, Debug, Clone, PartialEq, YaDeserialize, YaSerialize, Serialize, Deserialize)]
pub struct SimpleGeometry {
#[yaserde(attribute, rename = "id")]
#[serde(rename = "@id")]
pub id: String,
#[yaserde(rename = "Cuboid")]
#[serde(rename = "Cuboid")]
pub cuboid: Vec<Cuboid>,
#[yaserde(rename = "Cylinder")]
#[serde(rename = "Cylinder")]
pub cylinder: Vec<Cylinder>,
#[yaserde(rename = "RectangularEmitter")]
#[serde(rename = "RectangularEmitter")]
pub rectangular_emitter: Vec<RectangularEmitter>,
#[yaserde(rename = "CircularEmitter")]
#[serde(rename = "CircularEmitter")]
pub circular_emitter: Vec<CircularEmitter>,
#[yaserde(rename = "C-Heights")]
pub c_heights: Vec<CHeights>,
}
#[derive(Default, Debug, Clone, PartialEq, YaDeserialize, YaSerialize, Serialize, Deserialize)]
pub struct GeometryFileReference {
#[yaserde(attribute, rename = "fileId")]
#[serde(rename = "@fileId")]
pub file_id: String,
#[yaserde(rename = "levelOfDetail")]
#[serde(rename = "levelOfDetail", skip_serializing_if = "Option::is_none")]
pub level_of_detail: Option<String>,
}
#[derive(Default, Debug, Clone, PartialEq, YaDeserialize, YaSerialize, Serialize, Deserialize)]
pub struct ModelGeometry {
#[yaserde(attribute, rename = "id")]
#[serde(rename = "@id")]
pub id: String,
#[yaserde(rename = "GeometryFileReference")]
#[serde(rename = "GeometryFileReference")]
pub geometry_file_reference: Vec<GeometryFileReference>,
}
#[derive(Default, Debug, Clone, PartialEq, YaDeserialize, YaSerialize, Serialize, Deserialize)]
pub struct Geometries {
#[yaserde(rename = "SimpleGeometry")]
#[serde(rename = "SimpleGeometry")]
pub simple_geometry: Vec<SimpleGeometry>,
#[yaserde(rename = "ModelGeometry")]
#[serde(rename = "ModelGeometry")]
pub model_geometry: Vec<ModelGeometry>,
}