示例#1
0
 /// <summary>
 /// Tests if the given turn is significant.
 /// </summary>
 /// <param name="test"></param>
 /// <param name="machine"></param>
 /// <returns></returns>
 private static bool TestNonSignificantTurnNonPoi(FiniteStateMachine <MicroPlannerMessage> machine, object test)
 {
     if (!PoiWithTurnMachine.TestPoi(machine, test))
     {
         if (test is MicroPlannerMessagePoint)
         {
             MicroPlannerMessagePoint point = (test as MicroPlannerMessagePoint);
             if (point.Point.Angle != null)
             {
                 if (point.Point.ArcsNotTaken == null || point.Point.ArcsNotTaken.Count == 0)
                 {
                     return(true);
                 }
                 switch (point.Point.Angle.Direction)
                 {
                 case OsmSharp.Math.Geo.Meta.RelativeDirectionEnum.StraightOn:
                 case RelativeDirectionEnum.SlightlyLeft:
                 case RelativeDirectionEnum.SlightlyRight:
                     return(true);
                 }
             }
         }
         return(false);
     }
     return(false);
 }
示例#2
0
 public PoiWithTurnMachine(MicroPlanner planner)
     : base(PoiWithTurnMachine.Initialize(), planner, 1001)
 {
 }