Misc#

PointObj#

class PointObj(origin, **kwargs)[source]#

Bases: OpticalComponent

Degenerate point-like marker component that transmits all rays.

__init__(origin, **kwargs)[source]#

Initialize a point object at origin.

interact_local(ray)[source]#

Return the same ray to model perfect transmission.

render(ax, type: str, **kwargs)[source]#

Render the point marker in 2D or 3D.

get_bbox_local()[source]#

Return local bounding box from point surface geometry.

Block#

class Block(origin, hole: Surface | None = None, width: float = 1.0, height: float = 1.0, **kwargs)[source]#

Bases: OpticalComponent

Opaque rectangular blocker with an optional hole aperture.

__init__(origin, hole: Surface | None = None, width: float = 1.0, height: float = 1.0, **kwargs)[source]#

Initialize a blocking rectangle.

Parameters:
  • origin – Component origin in lab coordinates.

  • hole – Optional surface removed from the rectangle aperture.

  • width – Rectangle width along local Y.

  • height – Rectangle height along local Z.

interact_local(ray)[source]#

Absorb all incident rays.

render(ax, type: str, **kwargs)[source]#

Render block outline.

get_bbox_local()[source]#

Return local bounding box from rectangle geometry.