box static method

void box(
  1. Aabb3 bounds, {
  2. Vector4? color,
})

Draws an axis-aligned bounding box wireframe.

Implementation

static void box(vm.Aabb3 bounds, {vm.Vector4? color}) {
  final min = bounds.min;
  final max = bounds.max;

  final p000 = vm.Vector3(min.x, min.y, min.z);
  final p100 = vm.Vector3(max.x, min.y, min.z);
  final p010 = vm.Vector3(min.x, max.y, min.z);
  final p110 = vm.Vector3(max.x, max.y, min.z);
  final p001 = vm.Vector3(min.x, min.y, max.z);
  final p101 = vm.Vector3(max.x, min.y, max.z);
  final p011 = vm.Vector3(min.x, max.y, max.z);
  final p111 = vm.Vector3(max.x, max.y, max.z);

  // Bottom square
  line(p000, p100, color: color);
  line(p100, p101, color: color);
  line(p101, p001, color: color);
  line(p001, p000, color: color);

  // Top square
  line(p010, p110, color: color);
  line(p110, p111, color: color);
  line(p111, p011, color: color);
  line(p011, p010, color: color);

  // Vertical pillars
  line(p000, p010, color: color);
  line(p100, p110, color: color);
  line(p101, p111, color: color);
  line(p001, p011, color: color);
}