calculateBounds static method

Rect calculateBounds(
  1. List<NmGraphNodeData> nodes
)

Calculate the bounding box of all nodes.

Implementation

static Rect calculateBounds(List<NmGraphNodeData> nodes) {
  if (nodes.isEmpty) return Rect.zero;

  var minX = double.infinity;
  var minY = double.infinity;
  var maxX = double.negativeInfinity;
  var maxY = double.negativeInfinity;

  for (final node in nodes) {
    minX = node.position.dx < minX ? node.position.dx : minX;
    minY = node.position.dy < minY ? node.position.dy : minY;
    maxX = node.position.dx > maxX ? node.position.dx : maxX;
    maxY = node.position.dy > maxY ? node.position.dy : maxY;
  }

  return Rect.fromLTRB(minX, minY, maxX, maxY);
}