コード例 #1
0
 void search_for_next()
 {
     //move to flattest node if it is flatter than those we've already checked
     NextNode = FlattestNode;
     if (FlattestNode != null &&
         (FlattestNodeTired == null ||
          FlattestNodeTired.unevenness > NextNode.unevenness &&
          NextNode.DistanceTo(VSL) / VSL.Geometry.R > C.NodeTargetRange * 2))
     {
         FlattestNodeTired = NextNode;
         WideCheckAlt     += C.WideCheckAltitude *
                             (float)(NextNode.unevenness / C.MaxUnevenness);
         move_next();
     }
     else
     {
         wide_check(C.WideCheckAltitude);
     }
 }