eradiate.scenes.illumination.DirectionalIllumination#

class eradiate.scenes.illumination.DirectionalIllumination(id='illumination', zenith=<Quantity(0.0, 'degree')>, azimuth=<Quantity(0.0, 'degree')>, azimuth_convention=None, irradiance=_Nothing.NOTHING)[source]#

Bases: Illumination

Directional illumination scene element [directional].

The illumination is oriented based on the classical angular convention used in Earth observation.

Parameters:
  • id (str, optional, default: "illumination") – Identifier of the current scene element.

  • zenith (quantity or float, default: 0.0 deg) – Zenith angle.

    Unit-enabled field (default units: ucc[angle]).

  • azimuth (quantity or float, default: 0.0 deg) – Azimuth angle value.

    Unit-enabled field (default units: ucc[angle]).

  • azimuth_convention (AzimuthConvention or str, optional, default: None) – Azimuth convention. If None, the global default configuration is used (see EradiateConfig).

  • irradiance (Spectrum or dict or float, default: SolarIrradianceSpectrum()) – Emitted power flux in the plane orthogonal to the illumination direction. Must be an irradiance spectrum (in W/m²/nm or compatible unit). Can be initialised with a dictionary processed by SpectrumFactory.convert().

Fields:
  • id (str or None) – Identifier of the current scene element.

  • zenith (quantity) – Zenith angle.

  • azimuth (quantity) – Azimuth angle value.

  • azimuth_convention (AzimuthConvention) – Azimuth convention.

  • irradiance (Spectrum) – Emitted power flux in the plane orthogonal to the illumination direction.

traverse(callback)#

Traverse this scene element and collect kernel dictionary template and parameter update map contributions.

Parameters:

callback (SceneTraversal) – Callback data structure storing the collected data.

update()#

Enforce internal state consistency. This method should be called when fields are modified. It is automatically called as a post-init step.

property direction#

Illumination direction as an array of shape (3,), pointing inwards.

property objects#

Map of child objects associated with this scene element.

Returns:

dict – A dictionary mapping object names to a corresponding object to be inserted in the Eradiate scene graph.

property params#
Returns:

dict[str, UpdateParameter] or None – A dictionary mapping parameter paths, consisting of dot-separated strings, to a corresponding update protocol.

property template#

Kernel dictionary template contents associated with this scene element.

Returns:

dict – A flat dictionary mapping dot-separated strings describing the path of an item in the nested scene dictionary to values. Values may be objects which can be directly used by the mitsuba.load_dict() function, or InitParameter instances which must be rendered.