Polygon.fromArgs constructor

Polygon.fromArgs(
  1. PolygonArgs args
)

Implementation

factory Polygon.fromArgs(PolygonArgs args) {
  final radii = args.radii ?? [args.radius];

  final corners = <Corner>[];
  for (int i = 0; i < args.coords.length; i++) {
    corners.add(Corner.fromList(
      args.coords,
      i,
      radii.getAlways(i),
      args.size,
      args.useInCircle,
    ));
  }

  final edges = <Edge>[];
  for (int i = 0; i < corners.length; i++) {
    edges.add(Edge.fromTangent(corners.getAlways(i - 1), corners[i]));
  }

  for (int i = radii.length; i < corners.length; i++) {
    radii.add(radii.getAlways(i));
  }

  return Polygon(corners, edges, radii);
}