inLine method

bool inLine(
  1. Offset p1,
  2. Offset p2, {
  3. double deviation = 4,
})

判断点Q是否在由 p1 p2组成的线段上 允许偏移值 deviation 偏差值必须大于等于0

Implementation

bool inLine(Offset p1, Offset p2, {double deviation = 4}) {
  if (deviation < 0) {
    throw FlutterError('偏差值必须大于等于0');
  }
  if (dy > max(p1.dy, p2.dy) + deviation || dy < min(p1.dy, p2.dy) - deviation) {
    return false;
  }
  if (dx > max(p1.dx, p2.dx) + deviation || dx < min(p1.dx, p2.dx) - deviation) {
    return false;
  }
  double distance = lineDistance(p1, p2);
  return distance <= deviation;
}