pub struct LightDistributionData<'m, 's> { /* private fields */ }Expand description
Borrowed projection of IfcLightDistributionData: one main-plane angle and
the intensities measured across the secondary angles in that plane.
SecondaryPlaneAngle and LuminousIntensity are parallel lists: entry i
of one corresponds to entry i of the other. The schema does not state
that pairing as a WHERE rule, so Self::samples enforces it here instead
of letting a caller zip two mismatched lists and silently truncate.
Implementations§
Source§impl<'m, 's> LightDistributionData<'m, 's>
impl<'m, 's> LightDistributionData<'m, 's>
Sourcepub fn main_plane_angle(&self) -> StyleResult<f64>
pub fn main_plane_angle(&self) -> StyleResult<f64>
The MainPlaneAngle attribute, an IfcPlaneAngleMeasure.
Signed and unbounded: unlike the spot cone angles this is a plain
IfcPlaneAngleMeasure, not a positive one, so negative angles are
valid authored data and are not rejected.
Sourcepub fn secondary_plane_angles(&self) -> StyleResult<Vec<f64>>
pub fn secondary_plane_angles(&self) -> StyleResult<Vec<f64>>
The SecondaryPlaneAngle attribute: LIST [1:?] OF IfcPlaneAngleMeasure.
Sourcepub fn luminous_intensities(&self) -> StyleResult<Vec<f64>>
pub fn luminous_intensities(&self) -> StyleResult<Vec<f64>>
The LuminousIntensity attribute: LIST [1:?] OF IfcLuminousIntensityDistributionMeasure (candela per lumen under the
SI default).
Sourcepub fn samples(&self) -> StyleResult<Vec<(f64, f64)>>
pub fn samples(&self) -> StyleResult<Vec<(f64, f64)>>
The (secondary plane angle, luminous intensity) pairs.
Fails with a typed crate::StyleError::InvalidValue when the two
lists differ in length, because a photometric table with a missing
intensity is corrupt rather than partially usable.