Files
pamhagen-sysctrl/PamhagenSysCtrl/Helpers/Pipeline/Path.cs
T

10 lines
490 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.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));
}
}