raycastCallback method
retruns the fraction to the node
Implementation
@override
double raycastCallback(RayCastInput input, int nodeId) {
final userData = broadPhase.getUserData(nodeId);
if (userData == null) {
return 0;
}
final proxy = userData as FixtureProxy;
final fixture = proxy.fixture;
final index = proxy.childIndex;
final hit = fixture.raycast(_output, input, index);
if (hit) {
final fraction = _output.fraction;
// Vec2 point = (1.0 - fraction) * input.p1 + fraction * input.p2;
_temp
..setFrom(input.p2)
..scale(fraction);
_point
..setFrom(input.p1)
..scale(1 - fraction)
..add(_temp);
return callback?.reportFixture(
fixture,
_point,
_output.normal,
fraction,
) ??
0;
}
return input.maxFraction;
}