#![warn(missing_docs)]
#![warn(rustdoc::broken_intra_doc_links)]
pub use super::header::*;
pub use super::electrical::*;
use serde::{Serialize};
use serde::Deserialize;
use yaserde_derive::YaDeserialize;
use yaserde_derive::YaSerialize;
#[derive(Default, Debug, Clone, PartialEq, YaDeserialize, YaSerialize, Serialize, Deserialize)]
pub struct FluxFactor {
#[yaserde(rename = "inputPower")]
#[serde(rename = "inputPower")]
pub input_power: String,
#[yaserde(rename = "flickerPstLM")]
#[serde(rename = "flickerPstLM")]
pub flicker_pst_lm: String,
#[yaserde(rename = "stroboscopicEffectsSVM")]
#[serde(rename = "stroboscopicEffectsSVM")]
pub stroboscopic_effects_svm: String,
#[yaserde(rename = "description")]
#[serde(rename = "description")]
pub description: String,
#[yaserde(attribute)]
pub value: f64,
}
#[derive(Default, Debug, Clone, PartialEq, YaDeserialize, YaSerialize, Serialize, Deserialize)]
pub struct ActivePowerTable {
#[yaserde(rename = "type")]
#[serde(rename = "type")]
pub type_attr: String,
#[yaserde(rename = "DefaultLightSourcePower")]
#[serde(rename = "DefaultLightSourcePower")]
pub default_light_source_power: String,
}
#[derive(Default, Debug, Clone, PartialEq, YaDeserialize, YaSerialize, Serialize, Deserialize)]
pub struct ColorTemperatureAdjustingRange {
#[yaserde(rename = "Lower")]
#[serde(rename = "Lower", skip_serializing_if = "Option::is_none")]
pub lower: Option<i32>,
#[yaserde(rename = "Upper")]
#[serde(rename = "Upper", skip_serializing_if = "Option::is_none")]
pub upper: Option<i32>,
}
#[derive(Default, Debug, Clone, PartialEq, YaDeserialize, YaSerialize, Serialize, Deserialize)]
pub struct Cie1931ColorAppearance {
#[yaserde(rename = "X")]
#[serde(rename = "X", skip_serializing_if = "Option::is_none")]
pub x: Option<f64>,
#[yaserde(rename = "Y")]
#[serde(rename = "Y", skip_serializing_if = "Option::is_none")]
pub y: Option<f64>,
#[yaserde(rename = "Z")]
#[serde(rename = "Z", skip_serializing_if = "Option::is_none")]
pub z: Option<f64>,
}
#[derive(Default, Debug, Clone, PartialEq, YaDeserialize, YaSerialize, Serialize, Deserialize)]
pub struct RatedChromacityCoordinateValues {
#[yaserde(rename = "X")]
#[serde(rename = "X")]
pub x: f64,
#[yaserde(rename = "Y")]
#[serde(rename = "Y")]
pub y: f64,
}
#[derive(Default, Debug, Clone, PartialEq, YaDeserialize, YaSerialize, Serialize, Deserialize)]
pub struct IESTM3015 {
#[yaserde(rename = "Rf")]
#[serde(rename = "Rf")]
pub rf: i32,
#[yaserde(rename = "Rg")]
#[serde(rename = "Rg")]
pub rg: i32,
}
#[derive(Default, Debug, Clone, PartialEq, YaDeserialize, YaSerialize, Serialize, Deserialize)]
pub struct ColorInformation {
#[yaserde(rename = "ColorRenderingIndex")]
#[serde(rename = "ColorRenderingIndex", skip_serializing_if = "Option::is_none")]
pub color_rendering_index: Option<i32>,
#[yaserde(rename = "CorrelatedColorTemperature")]
#[serde(rename = "CorrelatedColorTemperature", skip_serializing_if = "Option::is_none")]
pub correlated_color_temperature: Option<i32>,
#[yaserde(rename = "ColorTemperatureAdjustingRange")]
#[serde(rename = "ColorTemperatureAdjustingRange", skip_serializing_if = "Option::is_none")]
pub color_temperature_adjusting_range: Option<ColorTemperatureAdjustingRange>,
#[yaserde(rename = "Cie1931ColorAppearance")]
#[serde(rename = "Cie1931ColorAppearance", skip_serializing_if = "Option::is_none")]
pub cie1931_color_appearance: Option<Cie1931ColorAppearance>,
#[yaserde(rename = "InitialColorTolerance")]
#[serde(rename = "InitialColorTolerance", skip_serializing_if = "Option::is_none")]
pub initial_color_tolerance: Option<String>,
#[yaserde(rename = "MaintainedColorTolerance")]
#[serde(rename = "MaintainedColorTolerance", skip_serializing_if = "Option::is_none")]
pub maintained_color_tolerance: Option<String>,
#[yaserde(rename = "RatedChromacityCoordinateValues")]
#[serde(rename = "RatedChromacityCoordinateValues", skip_serializing_if = "Option::is_none")]
pub rated_chromacity_coordinate_values: Option<RatedChromacityCoordinateValues>,
#[yaserde(rename = "TLCI")]
#[serde(rename = "TLCI", skip_serializing_if = "Option::is_none")]
pub tlci: Option<i32>,
#[yaserde(rename = "IES-TM-30-15")]
#[serde(rename = "IES-TM-30-15", skip_serializing_if = "Option::is_none")]
pub iestm3015: Option<IESTM3015>,
#[yaserde(rename = "MelanopicFactor")]
#[serde(rename = "MelanopicFactor", skip_serializing_if = "Option::is_none")]
pub melanopic_factor: Option<f64>,
}
#[derive(Default, Debug, Clone, PartialEq, YaDeserialize, YaSerialize, Serialize, Deserialize)]
pub struct PhotometryReference {
#[yaserde(attribute, rename = "photometryId")]
#[serde(rename = "@photometryId")]
pub photometry_id: String,
}
#[derive(Default, Debug, Clone, PartialEq, YaDeserialize, YaSerialize, Serialize, Deserialize)]
pub struct CieLampMaintenanceFactor {
#[yaserde(rename = "burningTime")]
#[serde(rename = "burningTime")]
pub burning_time: u32,
#[yaserde(rename = "LampLumenMaintenanceFactor")]
#[serde(rename = "LampLumenMaintenanceFactor")]
pub lamp_lumen_maintenance_factor: f64,
#[yaserde(rename = "LampSurvivalFactor")]
#[serde(rename = "LampSurvivalFactor")]
pub lamp_survival_factor: i32,
}
#[derive(Default, Debug, Clone, PartialEq, YaDeserialize, YaSerialize, Serialize, Deserialize)]
pub struct CieLampMaintenanceFactors {
#[yaserde(rename = "CieLampMaintenanceFactor")]
#[serde(rename = "CieLampMaintenanceFactor")]
pub cie_lamp_maintenance_factor: Vec<CieLampMaintenanceFactor>,
}
#[derive(Debug, Clone, PartialEq, YaDeserialize, YaSerialize, Serialize, Deserialize)]
pub struct LedMaintenanceFactor {
#[yaserde(rename = "hours", attribute)]
#[serde(rename = "@hours")]
pub hours: i32,
#[yaserde(textf64)]
#[serde(rename = "$")]
pub value: f64,
}
#[derive(Default, Debug, Clone, PartialEq, YaDeserialize, YaSerialize, Serialize, Deserialize)]
pub struct LightSourceMaintenance {
#[yaserde(rename = "lifetime", attribute)]
#[serde(rename = "@lifetime")]
pub lifetime: Option<i32>,
#[yaserde(rename = "Cie97LampType")]
#[serde(rename = "Cie97LampType", skip_serializing_if = "Option::is_none")]
pub cie97_lamp_type: Option<String>,
#[yaserde(rename = "CieLampMaintenanceFactors")]
#[serde(rename = "CieLampMaintenanceFactors", skip_serializing_if = "Option::is_none")]
pub cie_lamp_maintenance_factors: Option<CieLampMaintenanceFactors>,
#[yaserde(rename = "LedMaintenanceFactor")]
#[serde(rename = "LedMaintenanceFactor")]
pub led_maintenance_factor: Option<LedMaintenanceFactor>,
#[yaserde(rename = "LampSurvivalFactor")]
#[serde(rename = "LampSurvivalFactor", skip_serializing_if = "Option::is_none")]
pub lamp_survival_factor: Option<i32>,
}
#[derive(Default, Debug, Clone, PartialEq, YaDeserialize, YaSerialize, Serialize, Deserialize)]
pub struct ChangeableLightSource {
#[yaserde(rename = "id")]
#[serde(rename = "id")]
pub id: String,
#[yaserde(child)]
#[yaserde(rename = "Name")]
#[serde(rename = "Name")]
pub name: Locale,
#[yaserde(rename = "Description")]
#[serde(rename = "Description")]
pub description: Locale,
#[yaserde(rename = "Manufacturer")]
#[serde(rename = "Manufacturer", skip_serializing_if = "Option::is_none")]
pub manufacturer: Option<String>,
#[yaserde(rename = "PhotometryReference")]
#[serde(rename = "PhotometryReference", skip_serializing_if = "Option::is_none")]
pub photometry_reference: Option<PhotometryReference>,
#[yaserde(rename = "LightSourceMaintenance")]
#[serde(rename = "LightSourceMaintenance", skip_serializing_if = "Option::is_none")]
pub light_source_maintenance: Option<LightSourceMaintenance>,
}
#[derive(Default, Debug, Clone, PartialEq, YaDeserialize, YaSerialize, Serialize, Deserialize)]
pub struct FixedLightSource {
#[yaserde(rename = "id", attribute)]
#[serde(rename = "@id")]
pub id: String,
#[yaserde(rename = "Name")]
#[serde(rename = "Name")]
pub name: LocaleFoo,
#[yaserde(rename = "Description")]
#[serde(rename = "Description")]
pub description: LocaleFoo,
#[yaserde(rename = "Manufacturer")]
#[serde(rename = "Manufacturer", skip_serializing_if = "Option::is_none")]
pub manufacturer: Option<String>,
#[yaserde(rename = "GTIN")]
#[serde(rename = "GTIN", skip_serializing_if = "Option::is_none")]
pub gtin: Option<String>,
#[yaserde(rename = "RatedInputPower")]
#[serde(rename = "RatedInputPower", skip_serializing_if = "Option::is_none")]
pub rated_input_power: Option<f64>,
#[yaserde(rename = "RatedInputVoltage")]
#[serde(rename = "RatedInputVoltage", skip_serializing_if = "Option::is_none")]
pub rated_input_voltage: Option<Voltage>,
#[yaserde(rename = "PowerRange")]
#[serde(rename = "PowerRange", skip_serializing_if = "Option::is_none")]
pub power_range: Option<PowerRange>,
#[yaserde(rename = "LightSourcePositionOfUsage")]
#[serde(rename = "LightSourcePositionOfUsage", skip_serializing_if = "Option::is_none")]
pub light_source_position_of_usage: Option<String>,
#[yaserde(rename = "EnergyLabels")]
#[serde(rename = "EnergyLabels", skip_serializing_if = "Option::is_none")]
pub energy_labels: Option<EnergyLabels>,
#[yaserde(rename = "SpectrumReference")]
#[serde(rename = "SpectrumReference", skip_serializing_if = "Option::is_none")]
pub spectrum_reference: Option<SpectrumReference>,
#[yaserde(rename = "ActivePowerTable")]
#[serde(rename = "ActivePowerTable", skip_serializing_if = "Option::is_none")]
pub active_power_table: Option<ActivePowerTable>,
#[yaserde(rename = "ColorInformation")]
#[serde(rename = "ColorInformation", skip_serializing_if = "Option::is_none")]
pub color_information: Option<ColorInformation>,
#[yaserde(rename = "LightSourceImages")]
#[serde(rename = "LightSourceImages", skip_serializing_if = "Option::is_none")]
pub light_source_images: Option<Images>,
#[yaserde(rename = "LightSourceMaintenance")]
#[serde(rename = "LightSourceMaintenance", skip_serializing_if = "Option::is_none")]
pub light_source_maintenance: Option<LightSourceMaintenance>,
#[yaserde(rename = "ZhagaStandard")]
#[serde(rename = "ZhagaStandard", skip_serializing_if = "Option::is_none")]
pub zhaga_standard: Option<bool>,
}
#[derive(Default, Debug, Clone, PartialEq, YaDeserialize, YaSerialize, Serialize, Deserialize)]
pub struct SpectrumReference {
#[yaserde(rename = "spectrumId")]
#[serde(rename = "spectrumId")]
pub spectrum_id: String,
}
#[derive(Default, Debug, Clone, PartialEq, YaDeserialize, YaSerialize, Serialize, Deserialize)]
pub struct LightSources {
#[yaserde(child)]
#[yaserde(rename = "ChangeableLightSource")]
#[serde(rename = "ChangeableLightSource")]
pub changeable_light_source: Vec<ChangeableLightSource>,
#[yaserde(child)]
#[yaserde(rename = "FixedLightSource")]
#[serde(rename = "FixedLightSource")]
pub fixed_light_source: Vec<FixedLightSource>,
}
#[derive(Default, Debug, Clone, PartialEq, YaDeserialize, YaSerialize, Serialize, Deserialize)]
pub struct LightSourceReference {
#[yaserde(child)]
#[yaserde(attribute, rename = "fixedLightSourceId")]
#[serde(rename = "@fixedLightSourceId", skip_serializing_if = "Option::is_none")]
pub fixed_light_source_id: Option<String>,
#[yaserde(child)]
#[yaserde(attribute, rename = "changeableLightSourceId")]
#[serde(rename = "@changeableLightSourceId", skip_serializing_if = "Option::is_none")]
pub changeable_light_source_id: Option<String>,
#[yaserde(child)]
#[yaserde(attribute, rename = "lightSourceCount")]
#[serde(rename = "@lightSourceCount", skip_serializing_if = "Option::is_none")]
pub light_source_count: Option<i32>,
}
#[derive(Default, Debug, Clone, PartialEq, YaDeserialize, YaSerialize, Serialize, Deserialize)]
pub struct ChangeableLightEmitter {
#[yaserde(rename = "emergencyBehaviour")]
#[serde(rename = "emergencyBehaviour")]
pub emergency_behaviour: Option<String>,
#[yaserde(rename = "Name")]
#[serde(rename = "Name")]
pub name: Locale,
#[yaserde(rename = "Rotation")]
#[serde(rename = "Rotation", skip_serializing_if = "Option::is_none")]
pub rotation: Option<Rotation>,
#[yaserde(rename = "PhotometryReference")]
#[serde(rename = "PhotometryReference")]
pub photometry_reference: PhotometryReference,
#[yaserde(rename = "G0")]
#[serde(rename = "G0")]
pub g0: String,
}
#[derive(Default, Debug, Clone, PartialEq, YaDeserialize, YaSerialize, Serialize, Deserialize)]
pub struct FixedLightEmitter {
#[yaserde(attribute, rename = "emergencyBehaviour")]
#[serde(rename = "@emergencyBehaviour")]
pub emergency_behaviour: Option<String>,
#[yaserde(rename = "Name")]
#[serde(rename = "Name", skip_serializing_if = "Option::is_none")]
pub name: Option<LocaleFoo>,
#[yaserde(rename = "Rotation")]
#[serde(rename = "Rotation", skip_serializing_if = "Option::is_none")]
pub rotation: Option<Rotation>,
#[yaserde(rename = "PhotometryReference")]
#[serde(rename = "PhotometryReference")]
pub photometry_reference: PhotometryReference,
#[yaserde(rename = "LightSourceReference")]
#[serde(rename = "LightSourceReference")]
pub light_source_reference: LightSourceReference,
#[yaserde(rename = "ControlGearReference")]
#[serde(rename = "ControlGearReference", skip_serializing_if = "Option::is_none")]
pub control_gear_reference: Option<ControlGearReference>,
#[yaserde(rename = "RatedLuminousFlux")]
#[serde(rename = "RatedLuminousFlux", skip_serializing_if = "Option::is_none")]
pub rated_luminous_flux: Option<i32>,
#[yaserde(rename = "RatedLuminousFluxRGB")]
#[serde(rename = "RatedLuminousFluxRGB", skip_serializing_if = "Option::is_none")]
pub rated_luminous_flux_rgb: Option<i32>,
#[yaserde(rename = "EmergencyBallastLumenFactor")]
#[serde(rename = "EmergencyBallastLumenFactor", skip_serializing_if = "Option::is_none")]
pub emergency_ballast_lumen_factor: Option<f64>,
#[yaserde(rename = "EmergencyRatedLuminousFlux")]
#[serde(rename = "EmergencyRatedLuminousFlux", skip_serializing_if = "Option::is_none")]
pub emergency_rated_luminous_flux: Option<String>,
}
#[derive(Default, Debug, Clone, PartialEq, YaDeserialize, YaSerialize, Serialize, Deserialize)]
pub struct Emitter {
#[yaserde(attribute, rename = "id")]
#[serde(rename = "@id")]
pub id: String,
#[yaserde(rename = "ChangeableLightEmitter")]
#[serde(rename = "ChangeableLightEmitter")]
pub changeable_light_emitter: Vec<ChangeableLightEmitter>,
#[yaserde(rename = "FixedLightEmitter")]
#[serde(rename = "FixedLightEmitter")]
pub fixed_light_emitter: Vec<FixedLightEmitter>,
#[yaserde(rename = "Sensor")]
#[serde(rename = "Sensor")]
pub sensor: Vec<Sensor>,
}
#[derive(Default, Debug, Clone, PartialEq, YaDeserialize, YaSerialize, Serialize, Deserialize)]
pub struct Emitters {
#[yaserde(rename = "Emitter")]
#[serde(rename = "Emitter")]
pub emitter: Vec<Emitter>,
}
#[derive(Default, Debug, Clone, PartialEq, YaDeserialize, YaSerialize, Serialize, Deserialize)]
pub struct RectangularEmitter {
#[yaserde(rename = "Width")]
#[serde(rename = "Width")]
pub width: Vec<i32>,
#[yaserde(rename = "Length")]
#[serde(rename = "Length")]
pub length: Vec<i32>,
}
#[derive(Default, Debug, Clone, PartialEq, YaDeserialize, YaSerialize, Serialize, Deserialize)]
pub struct CircularEmitter {
#[yaserde(rename = "Diameter")]
#[serde(rename = "Diameter")]
pub diameter: Vec<i32>,
}