using System.Windows.Controls; namespace PamhagenSysCtrl.Helpers.Pipeline { public class Graph { protected HashSet Nodes = []; protected HashSet Edges = []; public Graph() { } public Pipe CreatePipe(INode start, INode end, bool verticalFirst = false) { Nodes.Add(start); Nodes.Add(end); var p = new Pipe(start, end, verticalFirst); start.Outputs.Add(p); end.Inputs.Add(p); Edges.Add(p); return p; } public void Draw(Canvas canvas) { foreach (var e in Edges) { e.Draw(canvas); } foreach (var n in Nodes) { n.Draw(canvas); } } public void Update(double x, double y) { foreach (var e in Edges) { e.Update(x, y); } foreach (var n in Nodes) { n.Update(x, y); } } } }