/// <summary>
        /// Creates a new event machine.
        /// </summary>
        /// <param name="planner"></param>
        /// <param name="priority"></param>
        protected MicroPlannerMachine(MicroPlanner planner, int priority)
        {
            _planner  = planner;
            _priority = priority;

            this.IsSuccesfull = false;
        }
        /// <summary>
        /// Generates instructions.
        /// </summary>
        /// <param name="point"></param>
        /// <param name="interpreter"></param>
        /// <param name="languageGenerator"></param>
        /// <returns></returns>
        public static List <Instruction> Generate(AggregatedPoint point, IRoutingInterpreter interpreter, ILanguageGenerator languageGenerator)
        {
            if (point == null)
            {
                throw new ArgumentNullException("route");
            }
            if (interpreter == null)
            {
                throw new ArgumentNullException("interpreter");
            }
            if (languageGenerator == null)
            {
                throw new ArgumentNullException("languageGenerator");
            }

            MicroPlanning.MicroPlanner planner = new MicroPlanning.MicroPlanner(languageGenerator, interpreter);
            return(planner.Plan(point));
        }
Example #3
0
 /// <summary>
 /// Creates a new event machine.
 /// </summary>
 /// <param name="initial"></param>
 /// <param name="planner"></param>
 /// <param name="priority"></param>
 protected MicroPlannerMachine(FiniteStateMachineState <MicroPlannerMessage> initial, MicroPlanner planner, int priority)
     : base(initial)
 {
     _planner  = planner;
     _priority = priority;
 }
        /// <summary>
        /// Generates instructions.
        /// </summary>
        /// <param name="planner"></param>
        /// <param name="route"></param>
        /// <param name="point"></param>
        /// <returns></returns>
        public static List<Instruction> Generate(MicroPlanner planner, Route route, AggregatedPoint point)
        {
            if (point == null) { throw new ArgumentNullException("route"); }
            if (planner == null) { throw new ArgumentNullException("planner"); }

            return planner.Plan(route, point);
        }
        /// <summary>
        /// Generates instructions.
        /// </summary>
        /// <param name="point"></param>
        /// <param name="interpreter"></param>
        /// <param name="languageGenerator"></param>
        /// <returns></returns>
        public static List<Instruction> Generate(AggregatedPoint point, IRoutingInterpreter interpreter, ILanguageGenerator languageGenerator)
        {
            if (point == null) { throw new ArgumentNullException("route"); }
            if (interpreter == null) { throw new ArgumentNullException("interpreter"); }
            if (languageGenerator == null) { throw new ArgumentNullException("languageGenerator"); }

            MicroPlanning.MicroPlanner planner = new MicroPlanning.MicroPlanner(languageGenerator, interpreter);
            return planner.Plan(point);
        }
        /// <summary>
        /// Generates instructions.
        /// </summary>
        /// <param name="planner"></param>
        /// <param name="route"></param>
        /// <returns></returns>
        public static List<Instruction> Generate(MicroPlanner planner, Route route)
        {
            if (route == null) { throw new ArgumentNullException("route"); }

            var aggregator = new ArcAggregator(planner.Interpreter);
            var point = aggregator.Aggregate(route);

            if(point == null)
            { // returns an empty list because of an empty route.
                return new List<Instruction>();
            }
            return InstructionGenerator.Generate(planner, route, point);
        }
 /// <summary>
 /// Generates instructions.
 /// </summary>
 /// <param name="point"></param>
 /// <param name="interpreter"></param>
 /// <param name="language_generator"></param>
 /// <returns></returns>
 public static List<Instruction> Generate(AggregatedPoint point, IRoutingInterpreter interpreter, ILanguageGenerator language_generator)
 {
     MicroPlanning.MicroPlanner planner = new MicroPlanning.MicroPlanner(language_generator, interpreter);
     return planner.Plan(point);
 }
        /// <summary>
        /// Generates instructions.
        /// </summary>
        /// <param name="planner"></param>
        /// <param name="route"></param>
        /// <param name="interpreter"></param>
        /// <param name="languageGenerator"></param>
        /// <returns></returns>
        public static List<Instruction> Generate(MicroPlanner planner, Route route, IRoutingInterpreter interpreter, ILanguageGenerator languageGenerator)
        {
            if (route == null) { throw new ArgumentNullException("route"); }
            if (route.Vehicle == null) { throw new InvalidOperationException("Vehicle not set on route: Cannot generate instruction for a route without a vehicle!"); }
            if (interpreter == null) { throw new ArgumentNullException("interpreter"); }
            if (languageGenerator == null) { throw new ArgumentNullException("languageGenerator"); }

            var aggregator = new ArcAggregator(interpreter);
            var point = aggregator.Aggregate(route);

            return InstructionGenerator.Generate(planner, point, interpreter, languageGenerator);
        }
 /// <summary>
 /// Generates instructions.
 /// </summary>
 /// <param name="planner"></param>
 /// <param name="route"></param>
 /// <param name="interpreter"></param>
 /// <returns></returns>
 public static List<Instruction> Generate(MicroPlanner planner, Route route, IRoutingInterpreter interpreter)
 {
     return InstructionGenerator.Generate(planner, route, interpreter,
         new OsmSharp.Routing.Instructions.LanguageGeneration.Defaults.EnglishLanguageGenerator());
 }
Example #10
0
 /// <summary>
 /// Generates instructions.
 /// </summary>
 /// <param name="point"></param>
 /// <param name="interpreter"></param>
 /// <param name="language_generator"></param>
 /// <returns></returns>
 public static List <Instruction> Generate(AggregatedPoint point, IRoutingInterpreter interpreter, ILanguageGenerator language_generator)
 {
     MicroPlanning.MicroPlanner planner = new MicroPlanning.MicroPlanner(language_generator, interpreter);
     return(planner.Plan(point));
 }