# {py:mod}`simvx.graphics.picking.raycast_utils` ```{py:module} simvx.graphics.picking.raycast_utils ``` ```{autodoc2-docstring} simvx.graphics.picking.raycast_utils :allowtitles: ``` ## Module Contents ### Functions ````{list-table} :class: autosummary longtable :align: left * - {py:obj}`compute_aabb ` - ```{autodoc2-docstring} simvx.graphics.picking.raycast_utils.compute_aabb :summary: ``` * - {py:obj}`cast_rays_single_hit ` - ```{autodoc2-docstring} simvx.graphics.picking.raycast_utils.cast_rays_single_hit :summary: ``` * - {py:obj}`cast_rays_multi_hit ` - ```{autodoc2-docstring} simvx.graphics.picking.raycast_utils.cast_rays_multi_hit :summary: ``` ```` ### Data ````{list-table} :class: autosummary longtable :align: left * - {py:obj}`__all__ ` - ```{autodoc2-docstring} simvx.graphics.picking.raycast_utils.__all__ :summary: ``` ```` ### API ````{py:data} __all__ :canonical: simvx.graphics.picking.raycast_utils.__all__ :value: > ['compute_aabb', 'cast_rays_single_hit', 'cast_rays_multi_hit'] ```{autodoc2-docstring} simvx.graphics.picking.raycast_utils.__all__ ``` ```` ````{py:function} compute_aabb(center: numpy.ndarray, half_extents: numpy.ndarray) -> tuple[numpy.ndarray, numpy.ndarray] :canonical: simvx.graphics.picking.raycast_utils.compute_aabb ```{autodoc2-docstring} simvx.graphics.picking.raycast_utils.compute_aabb ``` ```` ````{py:function} cast_rays_single_hit(ray_origins: numpy.ndarray, ray_direction: numpy.ndarray, cubes: list[dict]) -> numpy.ndarray :canonical: simvx.graphics.picking.raycast_utils.cast_rays_single_hit ```{autodoc2-docstring} simvx.graphics.picking.raycast_utils.cast_rays_single_hit ``` ```` ````{py:function} cast_rays_multi_hit(ray_origins: numpy.ndarray, ray_direction: numpy.ndarray, cubes: list[dict]) -> list[list[int]] :canonical: simvx.graphics.picking.raycast_utils.cast_rays_multi_hit ```{autodoc2-docstring} simvx.graphics.picking.raycast_utils.cast_rays_multi_hit ``` ````