/// <summary> /// The given machine was successfull. /// </summary> /// <param name="machine"></param> internal void Success(MicroPlannerMachine machine) { OsmSharp.Logging.Log.TraceEvent("MicroPlanner", TraceEventType.Information, machine.ToString()); // reset the current point/arc. if (_messagesStack.Count > _latest_final + 1) { MicroPlannerMessage message = _messagesStack[_latest_final]; if (message is MicroPlannerMessageArc) { _current = (message as MicroPlannerMessageArc).Arc; } if (message is MicroPlannerMessagePoint) { _current = (message as MicroPlannerMessagePoint).Point; } } // reset the mesages stack. this.ResetMessagesStack(true); // tell the machine again it was successfull. machine.Succes(); // re-initialize the machines. this.InitializeMachines(); _succes = true; }
/// <summary> /// The given machine was successfull. /// </summary> /// <param name="machine"></param> internal void Success(MicroPlannerMachine machine) { // reset the current point/arc. if (_messagesStack.Count > _latestFinal + 1) { MicroPlannerMessage message = _messagesStack[_latestFinal]; if (message is MicroPlannerMessageArc) { _current = (message as MicroPlannerMessageArc).Arc; } if (message is MicroPlannerMessagePoint) { _current = (message as MicroPlannerMessagePoint).Point; } } // reset the mesages stack. this.ResetMessagesStack(true); // tell the machine again it was successfull. machine.Succes(); machine.IsSuccesfull = true; // re-initialize the machines. _machines.Clear(); this.InitializeMachines(_machines); _succes = true; }