differt.scene.AbstractPathLauncher#

class AbstractPathLauncher[source]#

Bases: AbstractPathSolver

Abstract base class for ray-launching path solvers.

Subclasses must implement launch_rays and may override bounce_rays and filter_rays.

The main entry point is launch_paths, which orchestrates ray launching, bouncing, filtering, and assembly; analogous to AbstractPathTracer.trace_paths.

Attributes

max_dist

Maximal (squared) distance between a receiver and a ray.

epsilon

Tolerance for checking ray / object intersections.

hit_tol

Tolerance for blockage checks.

Methods

bounce_rays(scene, ray_origins, ...)

Apply ray bouncing strategies to update ray states.

filter_rays(scene, ray_origins, ...)

Filter rays by some criteria around receiver positions.

launch_paths(scene, order)

Launch paths for the given scene and order.

launch_rays(scene)

Launch rays from transmitters.

Detailed documentation

bounce_rays(scene, ray_origins, ray_directions, triangles, t_hit, valid_rays)[source]#

Apply ray bouncing strategies to update ray states.

Parameters:
Return type:

tuple[Float[Array, 'num_tx num_rays 3'], Float[Array, 'num_tx num_rays 3'], Bool[Array, 'num_tx num_rays']]

Returns:

A tuple of updated ray origins, updated ray directions, and updated valid mask.

epsilon: AbstractVar[float]#

Tolerance for checking ray / object intersections.

filter_rays(scene, ray_origins, ray_directions, rx_vertices, t_hit, valid_rays)[source]#

Filter rays by some criteria around receiver positions.

Parameters:
Return type:

Bool[Array, 'num_tx num_rx num_rays']

Returns:

A boolean mask indicating which rays pass near which receivers.

hit_tol: AbstractVar[float]#

Tolerance for blockage checks.

launch_paths(scene, order)[source]#

Launch paths for the given scene and order.

Orchestrates launch_rays, bounce_rays, and filter_rays into a complete LaunchedPaths result.

Parameters:
  • scene (TriangleScene) – The scene.

  • order (int) – The maximum path order (number of bounces).

Return type:

LaunchedPaths

Returns:

The launched paths.

abstractmethod launch_rays(scene)[source]#

Launch rays from transmitters.

Parameters:

scene (TriangleScene) – The scene.

Return type:

tuple[Float[Array, 'num_tx num_rays 3'], Float[Array, 'num_tx num_rays 3']]

Returns:

A tuple of ray origins and ray directions.

max_dist: AbstractVar[float]#

Maximal (squared) distance between a receiver and a ray.