findNode method

NetworkNode? findNode(
  1. double x,
  2. double y, {
  3. double radius = double.infinity,
})

Finds the node closest to a point.

Implementation

NetworkNode? findNode(double x, double y, {double radius = double.infinity}) {
  NetworkNode? closest;
  double minDistance = radius;

  for (final node in nodes) {
    final dx = node.x - x;
    final dy = node.y - y;
    final distance = math.sqrt(dx * dx + dy * dy);

    if (distance < minDistance) {
      minDistance = distance;
      closest = node;
    }
  }

  return closest;
}