/*-------------------------------------------------------------------- * project ....: Darpa Urban Challenge 2007 * authors ....: Team AnnieWAY * organization: Transregional Collaborative Research Center 28 / * Cognitive Automobiles * creation ...: xx/xx/2007 * revisions ..: $Id:$ ---------------------------------------------------------------------*/ #ifndef AW_LANECHANGEMANAGER_H #define AW_LANECHANGEMANAGER_H #include #include #include //#include //#include //#include namespace vlr { class LaneChangeManager { // typedef int VehId; // typedef std::set VehicleSet; // typedef std::set VehicleIdSet; // typedef std::map VehicleMap; //states: enter, calc, exit public: static void annotateLaneChanges(Topology* top); // requires planned mission. propagate planned lane changes as far as possible, so that vehicle has a bigger region to perform lane change // when executing the mission, this allows for an easy check to detect a required lane change as early as possible by checking for currentAnnotatedRouteEdge.laneChange != AnnotatedRouteEdge::LC_NONE (not defined yet) LaneChangeManager(Topology* top, VehicleManager* vman); ~LaneChangeManager(); protected: Topology* top; RndfGraph* graph; VehicleManager* vman; }; } // namespace vlr #endif // AW_LANECHANGEMANAGER_H