arrange method

void arrange({
  1. Vector3 direction = RIGHT,
  2. bool center = true,
  3. double buffer = DEFAULT_MOBJECT_TO_MOBJECT_BUFFER,
  4. Vector3 alignedEdge = ORIGIN,
  5. Vector3 coordinateMask = const Vector3(1, 1, 1),
})

Implementation

void arrange(
    {Vector3 direction = RIGHT,
    bool center = true,
    double buffer = DEFAULT_MOBJECT_TO_MOBJECT_BUFFER,
    Vector3 alignedEdge = ORIGIN,
    // TODO: add submobjectToAlign
    // Mobject? submobjectToAlign,
    // int? indexOfSubmobjectToAlign,
    Vector3 coordinateMask = const Vector3(1, 1, 1)}) {
  var withoutFirst = submobjects.whereIndexed((index, element) => index > 0);

  for (var m in IterableZip([submobjects, withoutFirst])) {
    m[1].nextToMobject(m[0],
        direction: direction,
        buffer: buffer,
        alignedEdge: alignedEdge,
        coordinateMask: coordinateMask);
  }

  if (center) {
    this.center();
  }
}