pub struct LightSourceGoniometric<'m, 's> { /* private fields */ }Expand description
Borrowed projection of IfcLightSourceGoniometric: a real luminaire
described by photometric data rather than a renderer’s approximation.
This is the only light source carrying absolute photometric quantities (luminous flux, colour temperature, lamp technology). Every other subtype is a normalized shading construct. The values are reported exactly as authored; this crate performs no photometric or colour-space conversion.
Implementations§
Source§impl<'m, 's> LightSourceGoniometric<'m, 's>
impl<'m, 's> LightSourceGoniometric<'m, 's>
Sourcepub fn light_source(&self) -> LightSource<'m, 's>
pub fn light_source(&self) -> LightSource<'m, 's>
The inherited IfcLightSource colour and intensity attributes.
Sourcepub fn position(&self) -> StyleResult<EntityId>
pub fn position(&self) -> StyleResult<EntityId>
The Position attribute: a mandatory IfcAxis2Placement3D reference.
A full placement, not a bare point: a luminaire’s intensity
distribution is defined in its own local axes, so the orientation is
what makes IfcLightIntensityDistribution angles meaningful.
Sourcepub fn colour_appearance(&self) -> StyleResult<Option<EntityId>>
pub fn colour_appearance(&self) -> StyleResult<Option<EntityId>>
The ColourAppearance attribute, when authored: an IfcColourRgb
reference giving the perceived colour.
Distinct from the inherited LightColour, which is the shading colour.
A lamp can have one chromaticity and be rendered with another.
Sourcepub fn colour_temperature(&self) -> StyleResult<f64>
pub fn colour_temperature(&self) -> StyleResult<f64>
The ColourTemperature attribute, an
IfcThermodynamicTemperatureMeasure.
Mandatory. Reported in the file’s own temperature unit; IFC’s SI default is kelvin, but the value is not converted here.
Sourcepub fn luminous_flux(&self) -> StyleResult<f64>
pub fn luminous_flux(&self) -> StyleResult<f64>
The LuminousFlux attribute, an IfcLuminousFluxMeasure (lumen under
the SI default). Mandatory.
Sourcepub fn light_emission_source(&self) -> StyleResult<&'m str>
pub fn light_emission_source(&self) -> StyleResult<&'m str>
The LightEmissionSource attribute: the lamp technology token from
IfcLightEmissionSourceEnum.
Returned as the raw schema token rather than a Rust enum. The
enumeration is schema-versioned, and this crate’s census marks such
tokens SchemaValue – promoting one to a closed Rust type would make
a future schema’s new member unrepresentable.
Sourcepub fn light_distribution_data_source(&self) -> StyleResult<EntityId>
pub fn light_distribution_data_source(&self) -> StyleResult<EntityId>
The LightDistributionDataSource attribute: a mandatory reference to
either an IfcLightIntensityDistribution (inline photometric data) or
an IfcExternalReference (e.g. an EULUMDAT or IES file).
The select is validated, so a reference to an unrelated entity is a
typed crate::StyleError::ReferenceType rather than a surprise at
the point of use.