Add path finding
This commit is contained in:
@@ -9,6 +9,12 @@ namespace PamhagenSysCtrl.Helpers.Pipeline {
|
||||
public INode Start { get; set; }
|
||||
public INode End { get; set; }
|
||||
public bool Orientation { get; set; }
|
||||
public bool Highlight { get; set; }
|
||||
|
||||
private Line? _outer1;
|
||||
private Line? _outer2;
|
||||
private Line? _inner1;
|
||||
private Line? _inner2;
|
||||
|
||||
public Pipe(INode start, INode end, bool orientation = false) {
|
||||
Start = start;
|
||||
@@ -23,41 +29,43 @@ namespace PamhagenSysCtrl.Helpers.Pipeline {
|
||||
var y2 = Orientation ? End.CenterY : Start.CenterY;
|
||||
var x3 = End.CenterX;
|
||||
var y3 = End.CenterY;
|
||||
var a1 = new Line() {
|
||||
_outer1 = 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() {
|
||||
_inner1 = new Line() {
|
||||
X1 = x1, Y1 = y1, X2 = x2, Y2 = y2,
|
||||
StrokeThickness = 6,
|
||||
Stroke = Brushes.Gray,
|
||||
Stroke = Brushes.DarkGray,
|
||||
StrokeStartLineCap = PenLineCap.Square,
|
||||
StrokeEndLineCap = PenLineCap.Square,
|
||||
};
|
||||
var b1 = new Line() {
|
||||
_outer2 = 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() {
|
||||
_inner2 = new Line() {
|
||||
X1 = x2, Y1 = y2, X2 = x3, Y2 = y3,
|
||||
StrokeThickness = 6,
|
||||
Stroke = Brushes.Gray,
|
||||
Stroke = Brushes.DarkGray,
|
||||
StrokeStartLineCap = PenLineCap.Square,
|
||||
StrokeEndLineCap = PenLineCap.Square,
|
||||
};
|
||||
canvas.Children.Add(a1);
|
||||
canvas.Children.Add(b1);
|
||||
canvas.Children.Add(a2);
|
||||
canvas.Children.Add(b2);
|
||||
canvas.Children.Add(_outer1);
|
||||
canvas.Children.Add(_outer2);
|
||||
canvas.Children.Add(_inner1);
|
||||
canvas.Children.Add(_inner2);
|
||||
}
|
||||
|
||||
public bool Update(double x, double y) {
|
||||
_inner1?.Stroke = Highlight ? Brushes.Green: Brushes.DarkGray;
|
||||
_inner2?.Stroke = Highlight ? Brushes.Green : Brushes.DarkGray;
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user