public void VariableWidthBent_ShouldFitSmoothly() { var path1 = new WidePathBasic(new Line(0, 5, 5, 0), 4); var path2 = new WidePathBasic(new Line(5, 0, 10, 0), 6); IList <IWidePath> paths = new List <IWidePath>() { path1, path2 }; paths.GenerateNetworkPathNodes(new Model.NodeGenerationParameters()); paths.GenerateNetworkPathEdges(); var leftSides = paths.ExtractNetworkPathLeftEdges(); var rightSides = paths.ExtractNetworkPathRightEdges(); var edges = paths.ExtractAllEdges(); Assert.AreEqual(34.142, edges.TotalLength(), 0.001); }
public void StraightPath_EndExtensionsShouldGenerate() { var path = new WidePathBasic(new Line(0, 0, 10, 0), 4); path.StartOffset = 1; path.EndOffset = 1; IList <IWidePath> paths = new List <IWidePath>() { path }; paths.GenerateNetworkPathNodes(new Model.NodeGenerationParameters()); paths.GenerateNetworkPathEdges(); var leftSides = paths.ExtractNetworkPathLeftEdges(); var rightSides = paths.ExtractNetworkPathRightEdges(); var edges = paths.ExtractAllEdges(); Assert.AreEqual(32, edges.TotalLength(), 0.001); }
public void KinkyPath_ShouldResolveWithoutSpikes2() { var path1 = new WidePathBasic(new Line(0, 1, 5, 1), 4); var path2 = new WidePathBasic(new Line(5, 1, 5, 0), 4); var path3 = new WidePathBasic(new Line(5, 0, 10, 0), 4); IList <IWidePath> paths = new List <IWidePath>() { path1, path2, path3 }; paths.GenerateNetworkPathNodes(new Model.NodeGenerationParameters()); paths.GenerateNetworkPathEdges(); var leftSides = paths.ExtractNetworkPathLeftEdges(); var rightSides = paths.ExtractNetworkPathRightEdges(); var edges = paths.ExtractAllEdges(); Assert.AreEqual(1, path2.RightEdge.Length); Assert.AreEqual(1, path2.LeftEdge.Length); Assert.AreEqual(30, edges.TotalLength()); }