b2DynamicTree_RayCast

Function b2DynamicTree_RayCast 

Source
pub unsafe extern "C" fn b2DynamicTree_RayCast(
    tree: *const b2DynamicTree,
    input: *const b2RayCastInput,
    maskBits: u64,
    callback: b2TreeRayCastCallbackFcn,
    context: *mut c_void,
) -> b2TreeStats
Expand description

Ray cast against the proxies in the tree. This relies on the callback to perform a exact ray cast in the case were the proxy contains a shape. The callback also performs the any collision filtering. This has performance roughly equal to k * log(n), where k is the number of collisions and n is the number of proxies in the tree. Bit-wise filtering using mask bits can greatly improve performance in some scenarios. However, this filtering may be approximate, so the user should still apply filtering to results. @param tree the dynamic tree to ray cast @param input the ray cast input data. The ray extends from p1 to p1 + maxFraction * (p2 - p1) @param maskBits mask bit hint: bool accept = (maskBits & node->categoryBits) != 0; @param callback a callback class that is called for each proxy that is hit by the ray @param context user context that is passed to the callback @return performance data