DiagramConnectorRouteGeometry constructor

DiagramConnectorRouteGeometry({
  1. required Iterable<DiagramPoint> points,
  2. Iterable<DiagramPoint> controlPoints = const [],
  3. Iterable<DiagramPoint> waypoints = const [],
  4. DiagramPoint? bendHandle,
  5. DiagramPoint? startDirection,
  6. DiagramPoint? endDirection,
})

Implementation

DiagramConnectorRouteGeometry({
  required Iterable<DiagramPoint> points,
  Iterable<DiagramPoint> controlPoints = const [],
  Iterable<DiagramPoint> waypoints = const [],
  this.bendHandle,
  this.startDirection,
  this.endDirection,
}) : points = List.unmodifiable(points),
     waypoints = List.unmodifiable(waypoints),
     controlPoints = List.unmodifiable(controlPoints) {
  if (this.points.length < 2 ||
      [
        ...this.points,
        ...this.controlPoints,
        ...this.waypoints,
        ?bendHandle,
        ?startDirection,
        ?endDirection,
      ].any((point) => !point.x.isFinite || !point.y.isFinite)) {
    throw ArgumentError(
      'Connector routes require finite geometry and at least two points.',
    );
  }
}