pub unsafe extern "C" fn b3DynamicTree_RayCast(
tree: *const b3DynamicTree,
input: *const b3RayCastInput,
maskBits: u64,
requireAllBits: bool,
callback: b3TreeRayCastCallbackFcn,
context: *mut c_void,
) -> b3TreeStatsExpand description
Ray cast against the proxies in the tree. This relies on the callback
to perform an exact ray cast in the case where the proxy contains a shape.
The callback also performs 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 bit mask test: bool accept = (maskBits & node->categoryBits) != 0;
@param requireAllBits modifies bit mask test: bool accept = (maskBits & node->categoryBits) == maskBits;
@param callback a callback function 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