Table of Contents

Interface IEdgeState

Namespace
FlowGraph.Core.Models
Assembly
FlowGraph.Core.dll

Interface for the mutable runtime state of an edge. Separates selection and routing state from the immutable definition.

public interface IEdgeState : INotifyPropertyChanged
Inherited Members

Remarks

Implementations must raise PropertyChanged when any property changes to support data binding.

Default implementation: EdgeState Avalonia-optimized: FlowGraph.Avalonia.Binding.ObservableEdgeState

Properties

IsSelected

Whether this edge is currently selected.

bool IsSelected { get; set; }

Property Value

bool

IsVisible

Whether this edge is visible in the canvas. Invisible edges are not rendered but remain in the graph.

bool IsVisible { get; set; }

Property Value

bool

UserWaypoints

User-defined waypoints for Manual/Guided routing modes. These are constraint points that the user explicitly placed.

IReadOnlyList<Point>? UserWaypoints { get; set; }

Property Value

IReadOnlyList<Point>

Remarks

In Manual mode, the edge passes directly through these points without auto-routing.

In Guided mode, the router will calculate a path that passes through these points while avoiding obstacles.

In Auto mode, this property is ignored.

Waypoints

Computed waypoints for edge rendering (set by router). When set, the edge will pass through these intermediate points. Does not include the start and end points (port positions).

IReadOnlyList<Point>? Waypoints { get; set; }

Property Value

IReadOnlyList<Point>

Remarks

This property is typically set by the routing system, not directly by users. For manual waypoint editing, use UserWaypoints instead.

ZIndex

Z-index for rendering order. Higher values render on top. Default is CanvasElement.ZIndexEdges (200).

int ZIndex { get; set; }

Property Value

int