This commit is contained in:
@@ -29,6 +29,12 @@ namespace PamhagenSysCtrl.Helpers {
|
||||
public readonly Tank Tank7;
|
||||
public readonly Tank Tank8;
|
||||
public readonly Tank Tank9;
|
||||
public readonly Valve V5;
|
||||
public readonly Valve V6;
|
||||
public readonly Valve V7;
|
||||
public readonly Valve V8;
|
||||
|
||||
public readonly Dictionary<PamhagenPlant.ShortcutKey, (ISource Source, Pump Pump, INode? Intermediate, ISink Sink)> PathShortcuts;
|
||||
|
||||
public PamhagenGraph() {
|
||||
double mw2X = -118;
|
||||
@@ -116,23 +122,23 @@ namespace PamhagenSysCtrl.Helpers {
|
||||
CreatePipe(v4, x5, true);
|
||||
CreatePipe(x5, x6, true);
|
||||
|
||||
var v5 = CreateValve(5, x1X + 6, ltg1Y, 1);
|
||||
var v6 = CreateValve(6, x1X + 6, ltg2Y + 8, 3);
|
||||
var v7 = CreateValve(7, x1X + 6, ltg2Y, 3);
|
||||
var v8 = CreateValve(8, x1X - 6, ltg2Y + 8, 0);
|
||||
V5 = CreateValve(5, x1X + 6, ltg1Y, 1);
|
||||
V6 = CreateValve(6, x1X + 6, ltg2Y + 8, 3);
|
||||
V7 = CreateValve(7, x1X + 6, ltg2Y, 3);
|
||||
V8 = CreateValve(8, x1X - 6, ltg2Y + 8, 0);
|
||||
var v9 = CreateValve(9, ltg2X, ltg5Y + 8, 2);
|
||||
|
||||
CreatePipe(x4, v5);
|
||||
CreatePipe(x4, v6, true);
|
||||
CreatePipe(x6, v7);
|
||||
CreatePipe(x6, v8);
|
||||
CreatePipe(v7, v9, label: "Ltg. 2", labelOffsetX: 6);
|
||||
CreatePipe(x4, V5);
|
||||
CreatePipe(x4, V6, true);
|
||||
CreatePipe(x6, V7);
|
||||
CreatePipe(x6, V8);
|
||||
CreatePipe(V7, v9, label: "Ltg. 2", labelOffsetX: 6);
|
||||
|
||||
var xv15 = new PipeJoin(ltg1X, wt1Y + 8);
|
||||
var xv11 = new PipeJoin(ltg2X, wt1Y + 14);
|
||||
var x7 = new PipeJoin(ltg2X, ltg5Y);
|
||||
|
||||
CreatePipe(v5, xv15, label: "Ltg. 1", labelOffsetX: 6);
|
||||
CreatePipe(V5, xv15, label: "Ltg. 1", labelOffsetX: 6);
|
||||
CreatePipe(v9, x7);
|
||||
CreatePipe(x7, xv11);
|
||||
|
||||
@@ -380,8 +386,8 @@ namespace PamhagenSysCtrl.Helpers {
|
||||
var xp7 = new PipeJoin(pr2cX, ltg8Y);
|
||||
var xp8 = new PipeJoin(pr2cX, ltg9Y);
|
||||
|
||||
CreatePipe(v6, xp1, true, label: "Ltg. 3", labelOffsetX: 6);
|
||||
CreatePipe(v8, xp2, true, label: "Ltg. 4", labelOffsetX: 18);
|
||||
CreatePipe(V6, xp1, true, label: "Ltg. 3", labelOffsetX: 6);
|
||||
CreatePipe(V8, xp2, true, label: "Ltg. 4", labelOffsetX: 18);
|
||||
CreatePipe(v49, xp3, true, label: "Ltg. 8");
|
||||
CreatePipe(P6, xp4, true, label: "Ltg. 9");
|
||||
CreatePipe(xp1, v51, true);
|
||||
@@ -410,6 +416,75 @@ namespace PamhagenSysCtrl.Helpers {
|
||||
CreatePipe(xp8, zv2, true);
|
||||
CreateInlet(zv1, Press1, true);
|
||||
CreateInlet(zv2, Press2, true);
|
||||
|
||||
PathShortcuts = [];
|
||||
foreach (var key in Enum.GetValues<PamhagenPlant.ShortcutKey>()) {
|
||||
var n = Enum.GetName(key);
|
||||
if (n?.StartsWith("PATH_") != true) continue;
|
||||
ISource src;
|
||||
Pump p;
|
||||
INode? inter = null;
|
||||
ISink sink;
|
||||
if (n.StartsWith("PATH_MW1_")) {
|
||||
src = MW1;
|
||||
p = MP1;
|
||||
} else if (n.StartsWith("PATH_MW2_")) {
|
||||
src = MW2;
|
||||
p = MP2;
|
||||
} else if (n.StartsWith("PATH_T12_")) {
|
||||
src = Tank1;
|
||||
p = P12;
|
||||
} else if (n.StartsWith("PATH_T3_")) {
|
||||
src = Tank3;
|
||||
p = P3;
|
||||
} else if (n.StartsWith("PATH_T4_")) {
|
||||
src = Tank4;
|
||||
p = P4;
|
||||
} else if (n.StartsWith("PATH_T5_")) {
|
||||
src = Tank5;
|
||||
p = P5;
|
||||
} else if (n.StartsWith("PATH_P6_")) {
|
||||
src = Tank6;
|
||||
p = P6;
|
||||
} else {
|
||||
continue;
|
||||
}
|
||||
if (n.Contains("_LTG1_")) {
|
||||
inter = V5;
|
||||
} else if (n.Contains("_LTG2_")) {
|
||||
inter = V7;
|
||||
} else if (n.Contains("_LTG3_")) {
|
||||
inter = V6;
|
||||
} else if (n.Contains("_LTG4_")) {
|
||||
inter = V8;
|
||||
}
|
||||
if (n.EndsWith("_PRESS1")) {
|
||||
sink = Press1;
|
||||
} else if (n.EndsWith("_PRESS2")) {
|
||||
sink = Press2;
|
||||
} else if (n.EndsWith("_T1")) {
|
||||
sink = Tank1;
|
||||
} else if (n.EndsWith("_T2")) {
|
||||
sink = Tank2;
|
||||
} else if (n.EndsWith("_T3")) {
|
||||
sink = Tank3;
|
||||
} else if (n.EndsWith("_T4")) {
|
||||
sink = Tank4;
|
||||
} else if (n.EndsWith("_T5")) {
|
||||
sink = Tank5;
|
||||
} else if (n.EndsWith("_T6")) {
|
||||
sink = Tank6;
|
||||
} else if (n.EndsWith("_T7")) {
|
||||
sink = Tank7;
|
||||
} else if (n.EndsWith("_T8")) {
|
||||
sink = Tank8;
|
||||
} else if (n.EndsWith("_T9")) {
|
||||
sink = Tank9;
|
||||
} else {
|
||||
continue;
|
||||
}
|
||||
PathShortcuts[key] = (src, p, inter, sink);
|
||||
}
|
||||
}
|
||||
|
||||
protected ControlledValve CreateValve(int n, double x, double y, int o) {
|
||||
|
||||
Reference in New Issue
Block a user