|
SUMO - Simulation of Urban MObility
|
#include <MSLink.h>
Data Structures | |
| struct | ApproachingVehicleInformation |
| class | vehicle_in_request_finder |
Public Member Functions | |
| void | addBlockedLink (MSLink *link) throw () |
| bool | blockedAtTime (SUMOTime arrivalTime, SUMOTime leaveTime) const throw () |
| LinkDirection | getDirection () const throw () |
| Returns the direction the vehicle passing this link take. | |
| MSLane * | getLane () const throw () |
| Returns the connected lane. | |
| SUMOReal | getLength () const throw () |
| Returns the length of this link. | |
| unsigned int | getRespondIndex () const throw () |
| Returns the respond index (for visualization) | |
| LinkState | getState () const throw () |
| Returns the current state of the link. | |
| bool | hasApproachingFoe (SUMOTime arrivalTime, SUMOTime leaveTime) const throw () |
| Returns the information whether a vehicle is approaching on one of the link's foe streams. | |
| bool | havePriority () const throw () |
| Returns whether this link is a major link. | |
| bool | isBlockingAnyone () const throw () |
| bool | isCont () const throw () |
| bool | isCrossing () const throw () |
| Returns whether this link belongs to a junction where more than one edge is incoming. | |
| MSLink (MSLane *succLane, LinkDirection dir, LinkState state, SUMOReal length) throw () | |
| Constructor for simulation not using internal lanes. | |
| bool | opened (SUMOTime arrivalTime, SUMOReal arrivalSpeed, SUMOReal vehicleLength) const throw () |
| Returns the information whether the link may be passed. | |
| void | removeApproaching (SUMOVehicle *veh) |
| void | setApproaching (SUMOVehicle *approaching, SUMOTime arrivalTime, SUMOReal speed, bool setRequest) throw () |
| Sets the information about an approaching vehicle. | |
| void | setRequestInformation (unsigned int requestIdx, unsigned int respondIdx, bool isCrossing, bool isCont, const std::vector< MSLink * > &foeLinks, const std::vector< MSLane * > &foeLanes) throw () |
| Sets the request information. | |
| void | setTLState (LinkState state, SUMOTime t) throw () |
| Sets the current tl-state. | |
| bool | willHaveBlockedFoe () const throw () |
| ~MSLink () throw () | |
| Destructor. | |
Private Types | |
| typedef std::vector < ApproachingVehicleInformation > | LinkApproachingVehicles |
Private Member Functions | |
| MSLink (const MSLink &s) | |
| invalidated copy constructor | |
| MSLink & | operator= (const MSLink &s) |
| invalidated assignment operator | |
Private Attributes | |
| bool | myAmCont |
| LinkApproachingVehicles | myApproachingVehicles |
| std::set< MSLink * > | myBlockedFoeLinks |
| LinkDirection | myDirection |
| An abstract (hopefully human readable) definition of the link's direction. | |
| std::vector< MSLane * > | myFoeLanes |
| std::vector< MSLink * > | myFoeLinks |
| bool | myIsCrossing |
| Whether any foe links exist. | |
| MSLane * | myLane |
| The lane approached by this link. | |
| SUMOReal | myLength |
| The length of the link. | |
| unsigned int | myRequestIdx |
| The position of the link within this request. | |
| unsigned int | myRespondIdx |
| The position within this respond. | |
| LinkState | myState |
| The state of the link. | |
Static Private Attributes | |
| static SUMOTime | myLookaheadTime = TIME2STEPS(3) |
typedef std::vector<ApproachingVehicleInformation> MSLink::LinkApproachingVehicles [private] |
| MSLink::MSLink | ( | MSLane * | succLane, |
| LinkDirection | dir, | ||
| LinkState | state, | ||
| SUMOReal | length | ||
| ) | throw () |
Constructor for simulation not using internal lanes.
| [in] | succLane | The lane approached by this link |
| [in] | dir | The direction of this link |
| [in] | state | The state of this link |
| [in] | length | The length of this link |
Definition at line 49 of file MSLink.cpp.
| MSLink::~MSLink | ( | ) | throw () |
Destructor.
Definition at line 67 of file MSLink.cpp.
| MSLink::MSLink | ( | const MSLink & | s | ) | [private] |
invalidated copy constructor
| void MSLink::addBlockedLink | ( | MSLink * | link | ) | throw () |
Definition at line 96 of file MSLink.cpp.
Definition at line 158 of file MSLink.cpp.
| LinkDirection MSLink::getDirection | ( | ) | const throw () |
Returns the direction the vehicle passing this link take.
Definition at line 188 of file MSLink.cpp.
References myDirection.
| MSLane * MSLink::getLane | ( | ) | const throw () |
Returns the connected lane.
Definition at line 200 of file MSLink.cpp.
References myLane.
Referenced by MSVehicle::checkRewindLinkLanes(), Command_SaveTLSSwitches::execute(), MSLinkContHelper::getConnectingLink(), MSVehicle::moveChecked(), TraCIServerAPI_TLS::processGet(), and TraCIServerAPI_Lane::processGet().
| SUMOReal MSLink::getLength | ( | ) | const throw () [inline] |
Returns the length of this link.
Definition at line 204 of file MSLink.h.
References myLength.
Referenced by TraCIServerAPI_Lane::processGet().
| unsigned int MSLink::getRespondIndex | ( | ) | const throw () |
Returns the respond index (for visualization)
Definition at line 214 of file MSLink.cpp.
References myRespondIdx.
| LinkState MSLink::getState | ( | ) | const throw () [inline] |
Returns the current state of the link.
Definition at line 159 of file MSLink.h.
References myState.
Referenced by Command_SaveTLCoupledLaneDet::execute(), MSVehicle::moveChecked(), and GUILaneWrapper::ROWdrawAction_drawLinkRules().
Returns the information whether a vehicle is approaching on one of the link's foe streams.
Valid after the vehicles have set their requests
Definition at line 172 of file MSLink.cpp.
Referenced by TraCIServerAPI_Lane::processGet().
| bool MSLink::havePriority | ( | ) | const throw () [inline] |
Returns whether this link is a major link.
Definition at line 195 of file MSLink.h.
References myState.
Referenced by MSVehicle::moveChecked(), and TraCIServerAPI_Lane::processGet().
| bool MSLink::isBlockingAnyone | ( | ) | const throw () [inline] |
Definition at line 138 of file MSLink.h.
References myApproachingVehicles.
| bool MSLink::isCont | ( | ) | const throw () [inline] |
Definition at line 217 of file MSLink.h.
References myAmCont.
Referenced by MSVehicle::checkRewindLinkLanes(), and MSVehicle::moveChecked().
| bool MSLink::isCrossing | ( | ) | const throw () [inline] |
Returns whether this link belongs to a junction where more than one edge is incoming.
Definition at line 212 of file MSLink.h.
References myIsCrossing.
Referenced by MSVehicle::checkRewindLinkLanes().
| bool MSLink::opened | ( | SUMOTime | arrivalTime, |
| SUMOReal | arrivalSpeed, | ||
| SUMOReal | vehicleLength | ||
| ) | const throw () |
Returns the information whether the link may be passed.
Valid after the junctions have set their reponds
Definition at line 123 of file MSLink.cpp.
References LINKSTATE_TL_RED, SUMOReal, and TIME2STEPS.
Referenced by MSVehicle::checkRewindLinkLanes(), MSVehicle::moveChecked(), and TraCIServerAPI_Lane::processGet().
| void MSLink::removeApproaching | ( | SUMOVehicle * | veh | ) |
Definition at line 114 of file MSLink.cpp.
References myApproachingVehicles.
Referenced by MSVehicle::moveChecked().
| void MSLink::setApproaching | ( | SUMOVehicle * | approaching, |
| SUMOTime | arrivalTime, | ||
| SUMOReal | speed, | ||
| bool | setRequest | ||
| ) | throw () |
Sets the information about an approaching vehicle.
The information is stored in myApproachingVehicles.
| [in] | approaching | The approaching vehicle |
Definition at line 84 of file MSLink.cpp.
References TIME2STEPS.
| void MSLink::setRequestInformation | ( | unsigned int | requestIdx, |
| unsigned int | respondIdx, | ||
| bool | isCrossing, | ||
| bool | isCont, | ||
| const std::vector< MSLink * > & | foeLinks, | ||
| const std::vector< MSLane * > & | foeLanes | ||
| ) | throw () |
Sets the request information.
Because traffic lights and junction logics are loaded after links, we have to assign the information about the right-of-way requests and responses after the initialisation.
| [in] | requestIdx | This link's index within this request |
| [in] | respondIdx | This link's index within this respond |
| [in] | foes | This link's foes |
Definition at line 71 of file MSLink.cpp.
Sets the current tl-state.
| [in] | state | The current state of the link |
Definition at line 194 of file MSLink.cpp.
References myState.
Referenced by MSTrafficLightLogic::addLink().
| bool MSLink::willHaveBlockedFoe | ( | ) | const throw () |
Definition at line 103 of file MSLink.cpp.
References myBlockedFoeLinks.
Referenced by MSVehicle::checkRewindLinkLanes().
bool MSLink::myAmCont [private] |
Definition at line 259 of file MSLink.h.
Referenced by isBlockingAnyone(), and removeApproaching().
std::set<MSLink*> MSLink::myBlockedFoeLinks [private] |
Definition at line 260 of file MSLink.h.
Referenced by willHaveBlockedFoe().
LinkDirection MSLink::myDirection [private] |
An abstract (hopefully human readable) definition of the link's direction.
Definition at line 272 of file MSLink.h.
Referenced by getDirection().
std::vector<MSLane*> MSLink::myFoeLanes [private] |
std::vector<MSLink*> MSLink::myFoeLinks [private] |
bool MSLink::myIsCrossing [private] |
MSLane* MSLink::myLane [private] |
SUMOReal MSLink::myLength [private] |
SUMOTime MSLink::myLookaheadTime = TIME2STEPS(3) [static, private] |
unsigned int MSLink::myRequestIdx [private] |
unsigned int MSLink::myRespondIdx [private] |
The position within this respond.
Definition at line 266 of file MSLink.h.
Referenced by getRespondIndex().
LinkState MSLink::myState [private] |
The state of the link.
Definition at line 269 of file MSLink.h.
Referenced by getState(), havePriority(), and setTLState().