surfaces.factories.interaction_model_factory

Interaction Model Factory

This module contains the InteractionModelFactory class, which is used to create interaction model objects based on the given parameters.

Kramer Harrison, 2025

Classes

InteractionModelFactory()

A factory class for creating interaction model objects.

class InteractionModelFactory[source]

A factory class for creating interaction model objects.

create(parent_surface: Surface | None, interaction_type: str, is_reflective: bool, coating: BaseCoating | None, bsdf: BaseBSDF | None, **kwargs) BaseInteractionModel[source]

Creates an interaction model object based on the given parameters.

Parameters:
  • interaction_type (str) – The type of interaction model to create.

  • is_reflective (bool) – Indicates whether the surface is reflective.

  • coating (Optional[BaseCoating]) – The coating of the surface.

  • bsdf (Optional[BaseBSDF]) – The BSDF of the surface.

  • focal_length (Optional[float]) – The focal length of the surface.

Returns:

The created interaction model object.

Return type:

BaseInteractionModel

Raises:

ValueError – If the interaction_type is unknown.