if(waypoints_changed && !planner)
start_planning(train.get_layout());
if(planner && planner->check()!=TrainRoutePlanner::PENDING)
apply_plan(train.get_layout(), *planner);
if(waypoints_changed && !planner)
start_planning(train.get_layout());
if(planner && planner->check()!=TrainRoutePlanner::PENDING)
apply_plan(train.get_layout(), *planner);