using System.Windows; using System.Windows.Controls; using System.Windows.Media; using System.Windows.Shapes; namespace PamhagenSysCtrl.Helpers.Pipeline { public class Pipe : IEdge { public INode Start { get; set; } public INode End { get; set; } public bool Orientation { get; set; } public Pipe(INode start, INode end, bool orientation = false) { Start = start; End = end; Orientation = orientation; } public void Draw(Canvas canvas) { var x1 = Start.CenterX; var y1 = Start.CenterY; var x2 = Orientation ? Start.CenterX : End.CenterX; var y2 = Orientation ? End.CenterY : Start.CenterY; var x3 = End.CenterX; var y3 = End.CenterY; var a1 = new Line() { X1 = x1, Y1 = y1, X2 = x2, Y2 = y2, StrokeThickness = 10, Stroke = Brushes.Black, StrokeStartLineCap = PenLineCap.Square, StrokeEndLineCap = PenLineCap.Square, }; var a2 = new Line() { X1 = x1, Y1 = y1, X2 = x2, Y2 = y2, StrokeThickness = 6, Stroke = Brushes.Gray, StrokeStartLineCap = PenLineCap.Square, StrokeEndLineCap = PenLineCap.Square, }; var b1 = new Line() { X1 = x2, Y1 = y2, X2 = x3, Y2 = y3, StrokeThickness = 10, Stroke = Brushes.Black, StrokeStartLineCap = PenLineCap.Square, StrokeEndLineCap = PenLineCap.Square, }; var b2 = new Line() { X1 = x2, Y1 = y2, X2 = x3, Y2 = y3, StrokeThickness = 6, Stroke = Brushes.Gray, StrokeStartLineCap = PenLineCap.Square, StrokeEndLineCap = PenLineCap.Square, }; canvas.Children.Add(a1); canvas.Children.Add(b1); canvas.Children.Add(a2); canvas.Children.Add(b2); } public bool Update(double x, double y) { return false; } } }