@@ -108,13 +108,13 @@ namespace PamhagenSysCtrl.Helpers {
|
|||||||
CreatePipe(x4, v6, true);
|
CreatePipe(x4, v6, true);
|
||||||
CreatePipe(x6, v7);
|
CreatePipe(x6, v7);
|
||||||
CreatePipe(x6, v8);
|
CreatePipe(x6, v8);
|
||||||
CreatePipe(v7, v9);
|
CreatePipe(v7, v9, label: "Ltg. 2", labelOffsetX: 30);
|
||||||
|
|
||||||
var xv15 = new PipeJoin(ltg1X, wt1Y + 40);
|
var xv15 = new PipeJoin(ltg1X, wt1Y + 40);
|
||||||
var xv11 = new PipeJoin(ltg2X, wt1Y + 70);
|
var xv11 = new PipeJoin(ltg2X, wt1Y + 70);
|
||||||
var x7 = new PipeJoin(ltg2X, 460);
|
var x7 = new PipeJoin(ltg2X, 460);
|
||||||
|
|
||||||
CreatePipe(v5, xv15);
|
CreatePipe(v5, xv15, label: "Ltg. 1", labelOffsetX: 30);
|
||||||
CreatePipe(v9, x7);
|
CreatePipe(v9, x7);
|
||||||
CreatePipe(x7, xv11);
|
CreatePipe(x7, xv11);
|
||||||
|
|
||||||
@@ -181,8 +181,8 @@ namespace PamhagenSysCtrl.Helpers {
|
|||||||
var v22 = CreateValve(22, t1X - 15, tValveY);
|
var v22 = CreateValve(22, t1X - 15, tValveY);
|
||||||
var v23 = CreateValve(23, t1X + 15, tValveY);
|
var v23 = CreateValve(23, t1X + 15, tValveY);
|
||||||
var t1 = CreateTank(1, t1X, tanksY, 35000);
|
var t1 = CreateTank(1, t1X, tanksY, 35000);
|
||||||
CreatePipe(xv20, xv22, true);
|
CreatePipe(xv20, xv22, true, label: "Ltg. 7", labelOffsetX: 50);
|
||||||
CreatePipe(xv21, xv23, true);
|
CreatePipe(xv21, xv23, true, label: "Ltg. 6", labelOffsetX: 20);
|
||||||
CreatePipe(xv22, v22);
|
CreatePipe(xv22, v22);
|
||||||
CreatePipe(xv23, v23);
|
CreatePipe(xv23, v23);
|
||||||
CreateInlet(v22, t1);
|
CreateInlet(v22, t1);
|
||||||
@@ -234,8 +234,8 @@ namespace PamhagenSysCtrl.Helpers {
|
|||||||
var v32 = CreateValve(32, t5X - 15, tValveY);
|
var v32 = CreateValve(32, t5X - 15, tValveY);
|
||||||
var v33 = CreateValve(33, t5X + 15, tValveY);
|
var v33 = CreateValve(33, t5X + 15, tValveY);
|
||||||
var t5 = CreateTank(5, t5X, tanksY, 35000);
|
var t5 = CreateTank(5, t5X, tanksY, 35000);
|
||||||
CreatePipe(xv30, xv32);
|
CreatePipe(xv30, xv32, label: "Ltg. 7", labelOffsetX: 30);
|
||||||
CreatePipe(xv31, xv33);
|
CreatePipe(xv31, xv33, label: "Ltg. 6", labelOffsetX: 0);
|
||||||
CreatePipe(xv32, v32);
|
CreatePipe(xv32, v32);
|
||||||
CreatePipe(xv33, v33);
|
CreatePipe(xv33, v33);
|
||||||
CreateInlet(v32, t5);
|
CreateInlet(v32, t5);
|
||||||
@@ -275,8 +275,8 @@ namespace PamhagenSysCtrl.Helpers {
|
|||||||
var v40 = CreateValve(40, t8X + 15, tValveY);
|
var v40 = CreateValve(40, t8X + 15, tValveY);
|
||||||
var v41 = CreateValve(41, t8X - 15, tValveY);
|
var v41 = CreateValve(41, t8X - 15, tValveY);
|
||||||
var t8 = CreateTank(8, t8X, tanksY, 35000);
|
var t8 = CreateTank(8, t8X, tanksY, 35000);
|
||||||
CreatePipe(xv38, xv40);
|
CreatePipe(xv38, xv40, label: "Ltg. 6", labelOffsetX: 0);
|
||||||
CreatePipe(xv39, xv41);
|
CreatePipe(xv39, xv41, label: "Ltg. 7", labelOffsetX: 30);
|
||||||
CreatePipe(xv40, v40);
|
CreatePipe(xv40, v40);
|
||||||
CreatePipe(xv41, v41);
|
CreatePipe(xv41, v41);
|
||||||
CreateInlet(v40, t8);
|
CreateInlet(v40, t8);
|
||||||
@@ -319,7 +319,7 @@ namespace PamhagenSysCtrl.Helpers {
|
|||||||
CreatePipe(v45, xv45);
|
CreatePipe(v45, xv45);
|
||||||
CreatePipe(v47, xv47);
|
CreatePipe(v47, xv47);
|
||||||
|
|
||||||
CreatePipe(xv44, v10);
|
CreatePipe(xv44, v10, label: "Ltg. 5");
|
||||||
CreatePipe(v48, xv47, true);
|
CreatePipe(v48, xv47, true);
|
||||||
CreateTwoWayPipe(xv47, v46);
|
CreateTwoWayPipe(xv47, v46);
|
||||||
CreateTwoWayPipe(v46, xv45);
|
CreateTwoWayPipe(v46, xv45);
|
||||||
@@ -362,10 +362,10 @@ namespace PamhagenSysCtrl.Helpers {
|
|||||||
var xp7 = new PipeJoin(pr2cX, 550);
|
var xp7 = new PipeJoin(pr2cX, 550);
|
||||||
var xp8 = new PipeJoin(pr2cX, 640);
|
var xp8 = new PipeJoin(pr2cX, 640);
|
||||||
|
|
||||||
CreatePipe(v6, xp1, true);
|
CreatePipe(v6, xp1, true, label: "Ltg. 3", labelOffsetX: 30);
|
||||||
CreatePipe(v8, xp2, true);
|
CreatePipe(v8, xp2, true, label: "Ltg. 4", labelOffsetX: 90);
|
||||||
CreatePipe(v49, xp3, true);
|
CreatePipe(v49, xp3, true, label: "Ltg. 8");
|
||||||
CreatePipe(P6, xp4, true);
|
CreatePipe(P6, xp4, true, label: "Ltg. 9");
|
||||||
CreatePipe(xp1, v51, true);
|
CreatePipe(xp1, v51, true);
|
||||||
CreatePipe(xp1, v55, true);
|
CreatePipe(xp1, v55, true);
|
||||||
CreatePipe(xp2, v52, true);
|
CreatePipe(xp2, v52, true);
|
||||||
|
|||||||
@@ -12,10 +12,10 @@ namespace PamhagenSysCtrl.Helpers.Pipeline {
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public Pipe CreatePipe(INode start, INode end, bool verticalFirst = false) {
|
public Pipe CreatePipe(INode start, INode end, bool verticalFirst = false, string? label = null, double? labelOffsetX = null) {
|
||||||
Nodes.Add(start);
|
Nodes.Add(start);
|
||||||
Nodes.Add(end);
|
Nodes.Add(end);
|
||||||
var p = new Pipe(start, end, verticalFirst);
|
var p = new Pipe(start, end, label, verticalFirst, default, labelOffsetX);
|
||||||
start.Outputs.Add(p);
|
start.Outputs.Add(p);
|
||||||
end.Inputs.Add(p);
|
end.Inputs.Add(p);
|
||||||
Edges.Add(p);
|
Edges.Add(p);
|
||||||
@@ -25,7 +25,7 @@ namespace PamhagenSysCtrl.Helpers.Pipeline {
|
|||||||
public Pipe CreateTwoWayPipe(INode n1, INode n2, bool verticalFirst = false) {
|
public Pipe CreateTwoWayPipe(INode n1, INode n2, bool verticalFirst = false) {
|
||||||
Nodes.Add(n1);
|
Nodes.Add(n1);
|
||||||
Nodes.Add(n2);
|
Nodes.Add(n2);
|
||||||
var p = new Pipe(n1, n2, verticalFirst, twoWay: true);
|
var p = new Pipe(n1, n2, default, verticalFirst, twoWay: true);
|
||||||
n1.Inputs.Add(p);
|
n1.Inputs.Add(p);
|
||||||
n1.Outputs.Add(p);
|
n1.Outputs.Add(p);
|
||||||
n2.Inputs.Add(p);
|
n2.Inputs.Add(p);
|
||||||
|
|||||||
@@ -6,6 +6,7 @@ namespace PamhagenSysCtrl.Helpers.Pipeline {
|
|||||||
|
|
||||||
public INode Start { get; }
|
public INode Start { get; }
|
||||||
public INode End { get; }
|
public INode End { get; }
|
||||||
|
public string? Label { get; }
|
||||||
public bool IsTwoWay { get; }
|
public bool IsTwoWay { get; }
|
||||||
public bool Orientation { get; }
|
public bool Orientation { get; }
|
||||||
public Brush? Highlight { get; set; }
|
public Brush? Highlight { get; set; }
|
||||||
|
|||||||
@@ -8,6 +8,7 @@ namespace PamhagenSysCtrl.Helpers.Pipeline {
|
|||||||
public INode Start { get; set; }
|
public INode Start { get; set; }
|
||||||
public INode End => Sink;
|
public INode End => Sink;
|
||||||
public ISink Sink { get; set; }
|
public ISink Sink { get; set; }
|
||||||
|
public string? Label => null;
|
||||||
public bool IsTwoWay => false;
|
public bool IsTwoWay => false;
|
||||||
public bool Orientation { get; set; }
|
public bool Orientation { get; set; }
|
||||||
public Brush? Highlight { get; set; }
|
public Brush? Highlight { get; set; }
|
||||||
|
|||||||
@@ -10,6 +10,7 @@ namespace PamhagenSysCtrl.Helpers.Pipeline {
|
|||||||
public INode Start => Source;
|
public INode Start => Source;
|
||||||
public INode End { get; set; }
|
public INode End { get; set; }
|
||||||
public ISource Source { get; set; }
|
public ISource Source { get; set; }
|
||||||
|
public string? Label => null;
|
||||||
public bool IsTwoWay => false;
|
public bool IsTwoWay => false;
|
||||||
public bool Orientation { get; set; }
|
public bool Orientation { get; set; }
|
||||||
public Brush? Highlight { get; set; }
|
public Brush? Highlight { get; set; }
|
||||||
|
|||||||
@@ -1,3 +1,4 @@
|
|||||||
|
using System.Windows;
|
||||||
using System.Windows.Controls;
|
using System.Windows.Controls;
|
||||||
using System.Windows.Media;
|
using System.Windows.Media;
|
||||||
using System.Windows.Shapes;
|
using System.Windows.Shapes;
|
||||||
@@ -7,6 +8,7 @@ namespace PamhagenSysCtrl.Helpers.Pipeline {
|
|||||||
|
|
||||||
public INode Start { get; set; }
|
public INode Start { get; set; }
|
||||||
public INode End { get; set; }
|
public INode End { get; set; }
|
||||||
|
public string? Label { get; set; }
|
||||||
public bool IsTwoWay { get; set; }
|
public bool IsTwoWay { get; set; }
|
||||||
public bool Orientation { get; set; }
|
public bool Orientation { get; set; }
|
||||||
public Brush? Highlight { get; set; }
|
public Brush? Highlight { get; set; }
|
||||||
@@ -15,11 +17,15 @@ namespace PamhagenSysCtrl.Helpers.Pipeline {
|
|||||||
|
|
||||||
private Polyline? _outer;
|
private Polyline? _outer;
|
||||||
private Polyline? _inner;
|
private Polyline? _inner;
|
||||||
|
private TextBlock? _text;
|
||||||
private FlowArrows? _flowArrows;
|
private FlowArrows? _flowArrows;
|
||||||
|
private double? _textOffsetX;
|
||||||
|
|
||||||
public Pipe(INode start, INode end, bool orientation = false, bool twoWay = false) {
|
public Pipe(INode start, INode end, string? label = null, bool orientation = false, bool twoWay = false, double? textOffsetX = null) {
|
||||||
Start = start;
|
Start = start;
|
||||||
End = end;
|
End = end;
|
||||||
|
Label = label;
|
||||||
|
_textOffsetX = textOffsetX;
|
||||||
Orientation = orientation;
|
Orientation = orientation;
|
||||||
IsTwoWay = twoWay;
|
IsTwoWay = twoWay;
|
||||||
}
|
}
|
||||||
@@ -49,6 +55,20 @@ namespace PamhagenSysCtrl.Helpers.Pipeline {
|
|||||||
};
|
};
|
||||||
canvas.Children.Add(_outer);
|
canvas.Children.Add(_outer);
|
||||||
canvas.Children.Add(_inner);
|
canvas.Children.Add(_inner);
|
||||||
|
if (Label != null) {
|
||||||
|
_text = new() {
|
||||||
|
Text = Label,
|
||||||
|
FontSize = 12,
|
||||||
|
Width = 50,
|
||||||
|
TextAlignment = TextAlignment.Center,
|
||||||
|
VerticalAlignment = VerticalAlignment.Bottom,
|
||||||
|
HorizontalAlignment = HorizontalAlignment.Center,
|
||||||
|
SnapsToDevicePixels = true,
|
||||||
|
};
|
||||||
|
_text.SetValue(Canvas.LeftProperty, _textOffsetX != null ? (Orientation ? x2 : x1) + _textOffsetX : (Orientation ? (x2 + x3) / 2 : (x1 + x2) / 2) - 25);
|
||||||
|
_text.SetValue(Canvas.TopProperty, y2 - 22);
|
||||||
|
canvas.Children.Add(_text);
|
||||||
|
}
|
||||||
_flowArrows = FlowArrows.Create(canvas, _inner);
|
_flowArrows = FlowArrows.Create(canvas, _inner);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user