interactions.diffractive_model

Interaction model for diffraction.

This module implements the DiffractiveInteractionModel class, which handles ray interactions with surfaces through diffraction.

Kramer Harrison, 2025

Classes

DiffractiveInteractionModel(parent_surface, ...)

Interaction model for diffraction.

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

Interaction model for diffraction.

flip()

Flip the interaction model.

classmethod from_dict(data, parent_surface)

Creates an interaction model from a dictionary representation.

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

Interact with paraxial rays, causing diffraction.

Parameters:

rays (ParaxialRays) – The incoming paraxial rays.

Returns:

The outgoing paraxial rays.

Return type:

ParaxialRays

interact_real_rays(rays: RealRays) RealRays[source]

Interact with real rays, causing diffraction.

Parameters:

rays (RealRays) – The incoming real rays.

Returns:

The outgoing real rays.

Return type:

RealRays

interaction_type = 'diffractive'
property material_post
property material_pre
to_dict()

Returns a dictionary representation of the model.