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.

abstract flip()[source]

Flip the interaction model.

classmethod from_dict(data, parent_surface)[source]

Creates an interaction model from a dictionary representation.

property geometry
abstract interact_paraxial_rays(rays: ParaxialRays) ParaxialRays[source]

Interact with paraxial rays.

abstract 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.