extend method

Line extend(
  1. double amount
)

Return new line extended by amount from both ends

Implementation

Line extend(double amount) {
  final len = length;
  if (len == 0) return this;
  final dx = (b.x - a.x) / len;
  final dy = (b.y - a.y) / len;
  return Line(
    Point(a.x - dx * amount, a.y - dy * amount),
    Point(b.x + dx * amount, b.y + dy * amount),
  );
}