connectionPoints property

List<ResolvedConnectionPoint> get connectionPoints

Implementation

List<ResolvedConnectionPoint> get connectionPoints {
  if (connection.usesPorts && this is ResolvedShape) {
    final shape = this as ResolvedShape;
    return List.unmodifiable([
      for (final port in shape.ports)
        ResolvedConnectionPoint(
          shape: this,
          endpoint: BoundEndpoint(elementId: id, portId: port.definition.id),
          worldPosition: localToWorld(port.localCenter),
        ),
    ]);
  }
  if (connection.kind != ShapeConnectionKind.outline) return const [];
  final f = source.frame;
  return List.unmodifiable([
    for (final unit in const [
      DiagramPoint(.5, .5),
      DiagramPoint(0, 0),
      DiagramPoint(.5, 0),
      DiagramPoint(1, 0),
      DiagramPoint(1, .5),
      DiagramPoint(1, 1),
      DiagramPoint(.5, 1),
      DiagramPoint(0, 1),
      DiagramPoint(0, .5),
    ])
      _virtualConnectionPoint(unit, f),
  ]);
}