Files
aistudio-wpf-diagram/AIStudio.Wpf.DiagramDesigner/PathGenerators/PathGenerators.Straight.cs

27 lines
1.0 KiB
C#
Raw Normal View History

2023-01-08 09:22:37 +08:00
using System;
2023-01-12 23:02:53 +08:00
using AIStudio.Wpf.DiagramDesigner.Geometrys;
2023-01-08 09:22:37 +08:00
namespace AIStudio.Wpf.DiagramDesigner
{
public static partial class PathGenerators
{
public static PathGeneratorResult Straight(IDiagramViewModel _, ConnectorViewModel link, PointBase[] route, PointBase source, PointBase target)
{
route = ConcatRouteAndSourceAndTarget(route, source, target);
double sourceAngle = SourceMarkerAdjustement(route, link.ColorViewModel.LeftArrowSize);
double targetAngle = TargetMarkerAdjustement(route, link.ColorViewModel.RightArrowSize);
2023-01-08 09:22:37 +08:00
2023-01-12 23:02:53 +08:00
DoShift(route, link);
2023-01-08 09:22:37 +08:00
var paths = new string[route.Length - 1];
for (var i = 0; i < route.Length - 1; i++)
{
paths[i] = FormattableString.Invariant($"M {route[i].X} {route[i].Y} L {route[i + 1].X} {route[i + 1].Y}");
}
return new PathGeneratorResult(paths, sourceAngle, route[0], targetAngle, route[route.Length - 1]);
2023-01-12 23:02:53 +08:00
}
2023-01-08 09:22:37 +08:00
}
}