setAsBox method

void setAsBox(
  1. double halfWidth,
  2. double halfHeight,
  3. Vector2 center,
  4. double angle,
)

Build vertices to represent an oriented box. center and angle should be in local coordinates.

Implementation

void setAsBox(
  double halfWidth,
  double halfHeight,
  Vector2 center,
  double angle,
) {
  setAsBoxXY(halfWidth, halfHeight);
  centroid.setFrom(center);

  final xf = Transform.zero();
  xf.p.setFrom(center);
  xf.q.setAngle(angle);

  // Transform vertices and normals.
  for (var i = 0; i < vertices.length; ++i) {
    vertices[i].setFrom(Transform.mulVec2(xf, vertices[i]));
    normals[i].setFrom(Rot.mulVec2(xf.q, normals[i]));
  }
}