示例#1
0
 public static IGraphRoute<TestCell> GetRoute(IFlatOrthogonalGraph<TestCell> graph, Func<TestCell, TestCell, double> estimator, TestCell source, TestCell target)
 {
     return graph.CalculateRoute(source, target,
         (a, b) => estimator(a, b),
         (a, b) => 1,
         (a) => a.Blocked
         );
 }
示例#2
0
 private static void Reset(IFlatOrthogonalGraph<TestCell> graph)
 {
     foreach (var item in graph)
         item.Blocked = false;
 }
示例#3
0
 private static void BlockColumn(IFlatOrthogonalGraph<TestCell> graph, int column, int startBlock, int finishBlock)
 {
     for (int i = startBlock; i < finishBlock; i++)
         graph[column, i].Blocked = true;
 }
示例#4
0
 private static void BlockRow(IFlatOrthogonalGraph<TestCell> graph, int row, int startBlock, int finishBlock)
 {
     for (int i = startBlock; i < finishBlock; i++)
         graph[i, row].Blocked = true;
 }
示例#5
0
 public static IGraphRoute<TestCell> CalcRoute(IFlatOrthogonalGraph<TestCell> graph, Func<TestCell, TestCell, double> estimator)
 {
     return graph.CalculateRoute(graph[0, 0], graph[_scale * 8, 0], estimator, (a, b) => 1, (a) => a.Blocked);
 }