@@ -34,6 +34,7 @@ namespace PamhagenSysCtrl.Helpers {
|
||||
double wtX = ltg1X - 180;
|
||||
double wt2Y = 225;
|
||||
double wt1Y = wt2Y + 135;
|
||||
double x1X = wtX + 40;
|
||||
double t1X = 735;
|
||||
double t2X = t1X + 80;
|
||||
double t3X = t2X + 80;
|
||||
@@ -86,9 +87,9 @@ namespace PamhagenSysCtrl.Helpers {
|
||||
CreatePipe(x2, v3);
|
||||
|
||||
var x3 = new PipeJoin(mw1X, mpY + 100);
|
||||
var x4 = new PipeJoin(mw1X, ltg1Y);
|
||||
var x4 = new PipeJoin(x1X, ltg1Y);
|
||||
var x5 = new PipeJoin(mw2X, mpY + 130);
|
||||
var x6 = new PipeJoin(mw2X, ltg2Y);
|
||||
var x6 = new PipeJoin(x1X - 30, ltg2Y);
|
||||
|
||||
CreatePipe(v1, x3, true);
|
||||
CreatePipe(v3, x3, true);
|
||||
@@ -97,14 +98,14 @@ namespace PamhagenSysCtrl.Helpers {
|
||||
CreatePipe(v4, x5, true);
|
||||
CreatePipe(x5, x6, true);
|
||||
|
||||
var v5 = CreateValve(5, mw1X + 50, ltg1Y);
|
||||
var v6 = CreateValve(6, mw1X, ltg2Y + 40);
|
||||
var v7 = CreateValve(7, (mw2X + mw1X) / 2, ltg2Y);
|
||||
var v8 = CreateValve(8, mw2X, ltg2Y + 40);
|
||||
var v5 = CreateValve(5, x1X + 30, ltg1Y);
|
||||
var v6 = CreateValve(6, x1X + 30, ltg2Y + 40);
|
||||
var v7 = CreateValve(7, x1X + 30, ltg2Y);
|
||||
var v8 = CreateValve(8, x1X - 30, ltg2Y + 40);
|
||||
var v9 = CreateValve(9, ltg2X, 500);
|
||||
|
||||
CreatePipe(x4, v5);
|
||||
CreatePipe(x4, v6);
|
||||
CreatePipe(x4, v6, true);
|
||||
CreatePipe(x6, v7);
|
||||
CreatePipe(x6, v8);
|
||||
CreatePipe(v7, v9);
|
||||
@@ -346,20 +347,20 @@ namespace PamhagenSysCtrl.Helpers {
|
||||
var press2 = new Press("Presse 2", pr2X, prY, 15000, () => FillState.Unknown);
|
||||
var v50 = CreateValve(50, pr2cX + 30, 580);
|
||||
var v51 = CreateValve(51, pr1cX - 30, 580);
|
||||
var v52 = CreateValve(52, pr1cX - 30, 640);
|
||||
var v53 = CreateValve(53, pr2cX + 30, 640);
|
||||
var v52 = CreateValve(52, pr1cX - 30, 610);
|
||||
var v53 = CreateValve(53, pr2cX + 30, 610);
|
||||
var v54 = CreateValve(54, pr2cX + 30, 550);
|
||||
var v55 = CreateValve(55, pr1cX - 30, 550);
|
||||
var v56 = CreateValve(56, pr1cX - 30, 610);
|
||||
var v57 = CreateValve(57, pr2cX + 30, 610);
|
||||
var v56 = CreateValve(56, pr1cX - 30, 640);
|
||||
var v57 = CreateValve(57, pr2cX + 30, 640);
|
||||
var xp1 = new PipeJoin(pr1cX - 70, 580);
|
||||
var xp2 = new PipeJoin(pr1cX - 70, 640);
|
||||
var xp2 = new PipeJoin(pr1cX - 70, 610);
|
||||
var xp3 = new PipeJoin(pr2cX + 70, 550);
|
||||
var xp4 = new PipeJoin(pr2cX + 70, 610);
|
||||
var xp4 = new PipeJoin(pr2cX + 70, 640);
|
||||
var xp5 = new PipeJoin(pr1cX, 580);
|
||||
var xp6 = new PipeJoin(pr1cX, 640);
|
||||
var xp6 = new PipeJoin(pr1cX, 610);
|
||||
var xp7 = new PipeJoin(pr2cX, 550);
|
||||
var xp8 = new PipeJoin(pr2cX, 610);
|
||||
var xp8 = new PipeJoin(pr2cX, 640);
|
||||
|
||||
CreatePipe(v6, xp1, true);
|
||||
CreatePipe(v8, xp2, true);
|
||||
@@ -393,8 +394,8 @@ namespace PamhagenSysCtrl.Helpers {
|
||||
CreateInlet(zv2, press2, true);
|
||||
}
|
||||
|
||||
protected static Valve CreateValve(int n, double x, double y) {
|
||||
return new(n, x, y, () => App.Plant?.IsValveOpen(n) ?? false, () => App.Plant?.WantValveOpen(n) ?? false);
|
||||
protected Valve CreateValve(int n, double x, double y) {
|
||||
return new(n, x, y, () => App.Plant?.IsValveOpen(n) ?? false, (v) => SelectedPaths.Any(p => p.Hops.Any(h => h.Node == v)));
|
||||
}
|
||||
|
||||
protected static Tank CreateTank(int n, double x, double y, int capacity) {
|
||||
|
||||
@@ -48,8 +48,9 @@ namespace PamhagenSysCtrl.Helpers.Pipeline {
|
||||
Height = DIAMETER,
|
||||
TextAlignment = TextAlignment.Center,
|
||||
VerticalAlignment = VerticalAlignment.Center,
|
||||
SnapsToDevicePixels = true,
|
||||
};
|
||||
_text.SetValue(Canvas.LeftProperty, CenterX - DIAMETER / 2);
|
||||
_text.SetValue(Canvas.LeftProperty, CenterX - DIAMETER / 2 + 0.5);
|
||||
_text.SetValue(Canvas.TopProperty, CenterY - DIAMETER / 2 + 5.5);
|
||||
canvas.Children.Add(_circle);
|
||||
canvas.Children.Add(_text);
|
||||
|
||||
@@ -41,6 +41,7 @@ namespace PamhagenSysCtrl.Helpers.Pipeline {
|
||||
TextAlignment = TextAlignment.Center,
|
||||
VerticalAlignment = VerticalAlignment.Center,
|
||||
RenderTransform = new RotateTransform(270),
|
||||
SnapsToDevicePixels = true,
|
||||
};
|
||||
_rect.SetValue(Canvas.LeftProperty, CenterX - WIDTH / 2);
|
||||
_rect.SetValue(Canvas.TopProperty, CenterY - HEIGHT / 2);
|
||||
|
||||
@@ -16,17 +16,17 @@ namespace PamhagenSysCtrl.Helpers.Pipeline {
|
||||
|
||||
public bool IsLocked { get; set; }
|
||||
public bool IsOpen => CallbackIsOpen();
|
||||
public bool WantOpen => CallbackWantOpen();
|
||||
public bool WantOpen => CallbackWantOpen(this);
|
||||
public ISet<IEdge> Inputs { get; init; }
|
||||
public ISet<IEdge> Outputs { get; init; }
|
||||
|
||||
protected Func<bool> CallbackIsOpen;
|
||||
protected Func<bool> CallbackWantOpen;
|
||||
protected Func<Valve, bool> CallbackWantOpen;
|
||||
|
||||
private Shape? _circle;
|
||||
private TextBlock? _text;
|
||||
|
||||
public Valve(int nr, double x, double y, Func<bool> cbOpen, Func<bool> cbWant) {
|
||||
public Valve(int nr, double x, double y, Func<bool> cbOpen, Func<Valve, bool> cbWant) {
|
||||
CenterX = x;
|
||||
CenterY = y;
|
||||
Nr = nr;
|
||||
@@ -53,8 +53,9 @@ namespace PamhagenSysCtrl.Helpers.Pipeline {
|
||||
Height = DIAMETER,
|
||||
TextAlignment = TextAlignment.Center,
|
||||
VerticalAlignment = VerticalAlignment.Center,
|
||||
SnapsToDevicePixels = true,
|
||||
};
|
||||
_text.SetValue(Canvas.LeftProperty, CenterX - DIAMETER / 2);
|
||||
_text.SetValue(Canvas.LeftProperty, CenterX - DIAMETER / 2 + 0.5);
|
||||
_text.SetValue(Canvas.TopProperty, CenterY - DIAMETER / 2 + 5.5);
|
||||
canvas.Children.Add(_circle);
|
||||
canvas.Children.Add(_text);
|
||||
|
||||
Reference in New Issue
Block a user