containsAngle method

bool containsAngle(
  1. Rad angle
)

Check if an angle (in radians) falls within this arc's sweep

Implementation

bool containsAngle(Rad angle) {
  var normalized = angle % (2 * pi);
  if (normalized < 0) normalized += 2 * pi;

  var start = startAngle % (2 * pi);
  if (start < 0) start += 2 * pi;

  var end = start + sweepAngle;

  if (normalized >= start && normalized <= end) return true;
  if (end > 2 * pi && normalized <= end - 2 * pi) return true;
  return false;
}