computeAABB method

  1. @override
AABB computeAABB()
override

Implementation

@override
AABB computeAABB() {
  updateVertices();

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

  int readIdx = 0;

  int nv = _vertexBuffer.length ~/ 2;

  for (int i = 0; i < nv; i++) {
    double x = _vertexBuffer[readIdx++];
    double y = _vertexBuffer[readIdx++];
    if (x < minX) {
      minX = x;
    }
    if (y < minY) {
      minY = y;
    }
    if (x > maxX) {
      maxX = x;
    }
    if (y > maxY) {
      maxY = y;
    }
  }

  return AABB.fromValues(minX, minY, maxX, maxY);
}