Files
pamhagen-sysctrl/PamhagenSysCtrl/Helpers/Pipeline/Path.cs
T
lorenz.stechauner 35a25320ae
Test / Run tests (push) Successful in 13s
Remove BOM
2026-08-05 16:37:18 +02:00

10 lines
547 B
C#

namespace PamhagenSysCtrl.Helpers.Pipeline {
public record struct Path(
INode Start,
IEnumerable<(IEdge Edge, INode Node)> Hops)
{
public readonly double Bends => Hops.Sum(h => (h.Node is not Valve && h.Node is not PipeJoin ? 1 : 0) + (h.Edge.Start.CenterX != h.Edge.End.CenterX && h.Edge.Start.CenterY != h.Edge.End.CenterY ? 1 : 0));
public readonly double Length => Hops.Sum(h => Math.Abs(h.Edge.Start.CenterX - h.Edge.End.CenterX) + Math.Abs(h.Edge.Start.CenterY - h.Edge.End.CenterY));
}
}