#![warn(missing_docs)]
#![warn(rustdoc::broken_intra_doc_links)]
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 PhotometryFileReference {
#[yaserde(rename = "fileId", attribute)]
#[serde(rename = "@fileId")]
pub file_id: String,
}
#[derive(Default, Debug, Clone, PartialEq, YaDeserialize, YaSerialize, Serialize, Deserialize)]
pub struct TenthPeakDivergence {
#[yaserde(rename = "C0-C180")]
#[serde(rename = "C0-C180", skip_serializing_if = "Option::is_none")]
pub c0_c180: Option<f64>,
#[yaserde(rename = "C90-C270")]
#[serde(rename = "C90-C270", skip_serializing_if = "Option::is_none")]
pub c90_c270: Option<f64>,
}
#[derive(Default, Debug, Clone, PartialEq, YaDeserialize, YaSerialize, Serialize, Deserialize)]
pub struct HalfPeakDivergence {
#[yaserde(rename = "C0-C180")]
#[serde(rename = "C0-C180", skip_serializing_if = "Option::is_none")]
pub c0_c180: Option<f64>,
#[yaserde(rename = "C90-C270")]
#[serde(rename = "C90-C270", skip_serializing_if = "Option::is_none")]
pub c90_c270: Option<f64>,
}
#[derive(Default, Debug, Clone, PartialEq, YaDeserialize, YaSerialize, Serialize, Deserialize)]
pub struct UGR4H8H705020LQ {
#[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>,
}
#[derive(Default, Debug, Clone, PartialEq, YaDeserialize, YaSerialize, Serialize, Deserialize)]
pub struct DescriptivePhotometry {
#[yaserde(rename = "LuminaireLuminance")]
#[serde(rename = "LuminaireLuminance", skip_serializing_if = "Option::is_none")]
pub luminaire_luminance: Option<i32>,
#[yaserde(rename = "LightOutputRatio")]
#[serde(rename = "LightOutputRatio", skip_serializing_if = "Option::is_none")]
pub light_output_ratio: Option<f64>,
#[yaserde(rename = "LuminousEfficacy")]
#[serde(rename = "LuminousEfficacy", skip_serializing_if = "Option::is_none")]
pub luminous_efficacy: Option<f64>,
#[yaserde(rename = "DownwardFluxFraction")]
#[serde(rename = "DownwardFluxFraction", skip_serializing_if = "Option::is_none")]
pub downward_flux_fraction: Option<f64>,
#[yaserde(rename = "DownwardLightOutputRatio")]
#[serde(rename = "DownwardLightOutputRatio", skip_serializing_if = "Option::is_none")]
pub downward_light_output_ratio: Option<f64>,
#[yaserde(rename = "UpwardLightOutputRatio")]
#[serde(rename = "UpwardLightOutputRatio", skip_serializing_if = "Option::is_none")]
pub upward_light_output_ratio: Option<f64>,
#[yaserde(rename = "TenthPeakDivergence")]
#[serde(rename = "TenthPeakDivergence", skip_serializing_if = "Option::is_none")]
pub tenth_peak_divergence: Option<TenthPeakDivergence>,
#[yaserde(rename = "HalfPeakDivergence")]
#[serde(rename = "HalfPeakDivergence", skip_serializing_if = "Option::is_none")]
pub half_peak_divergence: Option<HalfPeakDivergence>,
#[yaserde(rename = "PhotometricCode")]
#[serde(rename = "PhotometricCode", skip_serializing_if = "Option::is_none")]
pub photometric_code: Option<String>,
#[yaserde(rename = "CIE-FluxCode")]
#[serde(rename = "CIE-FluxCode", skip_serializing_if = "Option::is_none")]
pub cie_flux_code: Option<String>,
#[yaserde(rename = "CutOffAngle")]
#[serde(rename = "CutOffAngle", skip_serializing_if = "Option::is_none")]
pub cut_off_angle: Option<f64>,
#[yaserde(rename = "UGR-4H8H-70-50-20-LQ")]
#[serde(rename = "UGR-4H8H-70-50-20-LQ", skip_serializing_if = "Option::is_none")]
pub ugr4_h8_h705020_lq: Option<UGR4H8H705020LQ>,
#[yaserde(rename = "IESNA-LightDistributionDefinition")]
#[serde(rename = "IESNA-LightDistributionDefinition", skip_serializing_if = "Option::is_none")]
pub iesna_light_distribution_definition: Option<String>,
#[yaserde(rename = "LightDistributionBUG-Rating")]
#[serde(rename = "LightDistributionBUG-Rating", skip_serializing_if = "Option::is_none")]
pub light_distribution_bug_rating: Option<String>,
}
#[derive(Default, Debug, Clone, PartialEq, YaDeserialize, YaSerialize, Serialize, Deserialize)]
pub struct Photometry {
#[yaserde(rename = "id", attribute)]
#[serde(rename = "@id")]
pub id: String,
#[yaserde(rename = "PhotometryFileReference")]
#[serde(rename = "PhotometryFileReference", skip_serializing_if = "Option::is_none")]
pub photometry_file_reference: Option<PhotometryFileReference>,
#[yaserde(rename = "DescriptivePhotometry")]
#[serde(rename = "DescriptivePhotometry", skip_serializing_if = "Option::is_none")]
pub descriptive_photometry: Option<DescriptivePhotometry>,
}
#[derive(Default, Debug, Clone, PartialEq, YaDeserialize, YaSerialize, Serialize, Deserialize)]
pub struct Photometries {
#[yaserde(rename = "Photometry")]
#[serde(rename = "Photometry")]
pub photometry: Vec<Photometry>,
}
#[derive(Default, Debug, Clone, PartialEq, YaDeserialize, YaSerialize, Serialize, Deserialize)]
pub struct SpectrumFileReference {
#[yaserde(rename = "fileId")]
#[serde(rename = "fileId")]
pub file_id: String,
}
#[derive(Default, Debug, Clone, PartialEq, YaDeserialize, YaSerialize, Serialize, Deserialize)]
pub struct Intensity {
#[yaserde(rename = "wavelength")]
#[serde(rename = "wavelength", skip_serializing_if = "Option::is_none")]
pub wavelength: Option<i32>,
#[yaserde(rename = "$value")]
#[serde(rename = "$value", skip_serializing_if = "Option::is_none")]
pub value: Option<f64>,
}
#[derive(Default, Debug, Clone, PartialEq, YaDeserialize, YaSerialize, Serialize, Deserialize)]
pub struct Spectrum {
#[yaserde(rename = "id")]
#[serde(rename = "id")]
pub id: String,
#[yaserde(rename = "SpectrumFileReference")]
#[serde(rename = "SpectrumFileReference")]
pub spectrum_file_reference: SpectrumFileReference,
#[yaserde(rename = "Intensity")]
#[serde(rename = "Intensity")]
pub intensity: Vec<Intensity>,
}
#[derive(Default, Debug, Clone, PartialEq, YaDeserialize, YaSerialize, Serialize, Deserialize)]
pub struct Spectrums {
#[yaserde(rename = "Spectrum")]
#[serde(rename = "Spectrum")]
pub spectrum: Vec<Spectrum>,
}