b2w_castRayClosest function
- @Native<Int32 Function(Int64, Float, Float, Float, Float, Uint64, Uint64, Pointer<
Int64> , Pointer<Float> , Pointer<Float> , Pointer<Float> , Pointer<Float> , Pointer<Float> )>(ffi.Int64, ffi.Float, ffi.Float, ffi.Float, ffi.Float, ffi.Uint64, ffi.Uint64, ffi.Pointer<ffi.Int64>, ffi.Pointer<ffi.Float>, ffi.Pointer<ffi.Float>, ffi.Pointer<ffi.Float>, ffi.Pointer<ffi.Float>, ffi.Pointer<ffi.Float>)>()
Cast a ray and report the closest hit: the body, the point, the surface normal there, and how far along the ray it is (0 to 1). Returns 1 on a hit, 0 on none (the out-parameters are then not written). A ray passes the shapes it starts inside; b2w_castRayAll reports those.
Implementation
@ffi.Native<
ffi.Int32 Function(
ffi.Int64,
ffi.Float,
ffi.Float,
ffi.Float,
ffi.Float,
ffi.Uint64,
ffi.Uint64,
ffi.Pointer<ffi.Int64>,
ffi.Pointer<ffi.Float>,
ffi.Pointer<ffi.Float>,
ffi.Pointer<ffi.Float>,
ffi.Pointer<ffi.Float>,
ffi.Pointer<ffi.Float>,
)
>()
external int b2w_castRayClosest(
int worldHandle,
double originX,
double originY,
double translationX,
double translationY,
int categoryBits,
int maskBits,
ffi.Pointer<ffi.Int64> outBody,
ffi.Pointer<ffi.Float> outPointX,
ffi.Pointer<ffi.Float> outPointY,
ffi.Pointer<ffi.Float> outNormalX,
ffi.Pointer<ffi.Float> outNormalY,
ffi.Pointer<ffi.Float> outFraction,
);