findMaxRangeShot method

  1. @override
BcMaxRangeResult findMaxRangeShot(
  1. BcShot shot, {
  2. double lowAngleDeg = 0.0,
  3. double highAngleDeg = 45.0,
})
override

Implementation

@override
BcMaxRangeResult findMaxRangeShot(
  BcShot shot, {
  double lowAngleDeg = 0.0,
  double highAngleDeg = 45.0,
}) => using((arena) {
  final p = arena<BCLIBCFFI_Shot>();
  final out = arena<BCLIBCFFI_MaxRangeResult>();
  final err = arena<BCLIBCFFI_Error>();
  shot._fill(p.ref, arena);
  final st = _b.BCLIBCFFI_find_max_range_shot(
    p,
    lowAngleDeg,
    highAngleDeg,
    out,
    err,
  );
  if (st != 0) _throwFromError(err.ref);
  return BcMaxRangeResult(out.ref.max_range_ft, out.ref.angle_at_max_rad);
});