updateBodyContacts method

void updateBodyContacts()

Implementation

void updateBodyContacts() {
  final aabb = _temp;
  aabb.lowerBound.x = double.maxFinite;
  aabb.lowerBound.y = double.maxFinite;
  aabb.upperBound.x = -double.maxFinite;
  aabb.upperBound.y = -double.maxFinite;
  for (final particle in _particles) {
    final position = particle.position;
    Vector2.min(aabb.lowerBound, position, aabb.lowerBound);
    Vector2.max(aabb.upperBound, position, aabb.upperBound);
  }
  aabb.lowerBound.x -= particleDiameter;
  aabb.lowerBound.y -= particleDiameter;
  aabb.upperBound.x += particleDiameter;
  aabb.upperBound.y += particleDiameter;

  final callback = UpdateBodyContactsCallback(this);
  world.queryAABB(callback, aabb);
}