MCPcopy Create free account
hub / github.com/Bloom-Engine/engine / bloom_scene_pick_all

Function bloom_scene_pick_all

native/android/src/lib.rs:1662–1675  ·  view source on GitHub ↗
(screen_x: f64, screen_y: f64, max_results: f64)

Source from the content-addressed store, hash-verified

1660
1661#[no_mangle]
1662pub extern "C" fn bloom_scene_pick_all(screen_x: f64, screen_y: f64, max_results: f64) -> f64 {
1663 let eng = engine();
1664 let inv_vp = eng.renderer.inverse_vp_matrix();
1665 let cam_pos = eng.renderer.camera_pos();
1666 let w = eng.renderer.width() as f32;
1667 let h = eng.renderer.height() as f32;
1668 let (origin, direction) = bloom_shared::picking::screen_to_ray(
1669 screen_x as f32, screen_y as f32, w, h, &inv_vp, &cam_pos,
1670 );
1671 let results = bloom_shared::picking::raycast_scene_all(&eng.scene, &origin, &direction, max_results as usize);
1672 let count = results.len();
1673 unsafe { LAST_PICK_ALL = results; }
1674 count as f64
1675}
1676#[no_mangle]
1677pub extern "C" fn bloom_pick_all_handle(index: f64) -> f64 {
1678 let i = index as usize;

Callers

nothing calls this directly

Calls 7

screen_to_rayFunction · 0.85
raycast_scene_allFunction · 0.85
inverse_vp_matrixMethod · 0.80
camera_posMethod · 0.80
engineFunction · 0.70
widthMethod · 0.45
heightMethod · 0.45

Tested by

no test coverage detected