interactions.base#

Base Interaction Model

Defines the abstract base class for ray-surface interaction models.

Kramer Harrison, 2025

Classes

BaseInteractionModel(parent_surface, ...[, ...])

Abstract base class for ray-surface interaction models.

class BaseInteractionModel(parent_surface: Surface | None, is_reflective: bool, coating: BaseCoating | None = None, bsdf: BaseBSDF | None = None)[source]#

Abstract base class for ray-surface interaction models.

abstractmethod flip()[source]#

Flip the interaction model.

classmethod from_dict(data, parent_surface)[source]#

Creates an interaction model from a dictionary representation.

property geometry#
abstractmethod interact_paraxial_rays(rays: ParaxialRays) ParaxialRays[source]#

Interact with paraxial rays.

abstractmethod interact_real_rays(rays: RealRays) RealRays[source]#

Interact with real rays.

property material_post#
property material_pre#
to_dict()[source]#

Returns a dictionary representation of the interaction model.