/// <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); }
public PoiWithTurnMachine(MicroPlanner planner) : base(PoiWithTurnMachine.Initialize(), planner, 1001) { }