 |
Eclipse SUMO - Simulation of Urban MObility
|
Go to the documentation of this file.
43 std::vector<MSLane*> incoming,
44 std::vector<MSLane*>
internal)
63 if (parent ==
nullptr) {
67 const int ownLinkIndex = specialLane->
getIncomingLanes()[0].viaLink->getIndex();
73 for (MSLinkCont::const_iterator q = lc.begin(); q != lc.end(); ++q) {
74 if ((*q)->getViaLane() !=
nullptr) {
75 const int foeIndex = (*i)->getIncomingLanes()[0].viaLink->getIndex();
97 for (MSLinkCont::const_iterator j = lc.begin(); j != lc.end(); ++j) {
98 MSLane* via = (*j)->getViaLane();
112 if (ili.lane->getEdge().isWalkingArea()) {
119 (*k)->addBlockedLink(thisLink);
std::vector< MSLink * > myInternalLinkFoes
LinkDirection getDirection() const
Returns the direction the vehicle passing this link take.
Representation of a lane in the micro simulation.
void postloadInit()
initialises the junction after the whole net has been loaded
const MSJunctionLogic * getLogic() const
SVCPermissions getPermissions() const
Returns the vehicle class permissions for this lane.
std::vector< MSLane * > myInternalLanes
list of internal lanes
@ SVC_BICYCLE
vehicle is a bicycle
bool indirectBicycleTurn(const MSLane *specialLane, const MSLink *thisLink, const MSLane *foeFirstPart, const MSLink *foeLink) const
const std::vector< IncomingLaneInfo > & getIncomingLanes() const
bool intersects(const Position &p1, const Position &p2) const
Returns the information whether this list of points interesects the given line.
MSLane * getLane() const
Returns the connected lane.
std::vector< MSLane * > myIncomingLanes
list of incoming lanes
void setRequestInformation(int index, bool hasFoes, bool isCont, const std::vector< MSLink * > &foeLinks, const std::vector< MSLane * > &foeLanes, MSLane *internalLaneBefore=0)
Sets the request information.
virtual ~MSInternalJunction()
Destructor.
SumoXMLNodeType
Numbers representing special SUMO-XML-attribute values for representing node- (junction-) types used ...
virtual const MSLogicJunction::LinkBits & getResponseFor(int linkIndex) const
Returns the response for the given link.
void addWalkingAreaFoeExit(const MSLane *lane)
add walkingarea as foe (when leaving the junction)
A point in 2D or 3D with translation and scaling methods.
@ LINKDIR_LEFT
The link is a (hard) left direction.
void addBlockedLink(MSLink *link)
const MSJunction * getToJunction() const
const MSLinkCont & getLinkCont() const
returns the container with all links !!!
A junction with right-of-way - rules.
MSLane * getLogicalPredecessorLane() const
get the most likely precedecessor lane (sorted using by_connections_to_sorter). The result is cached ...
MSEdge & getEdge() const
Returns the lane's edge.
const PositionVector & getShape() const
Returns this lane's shape.
MSInternalJunction(const std::string &id, SumoXMLNodeType type, const Position &position, const PositionVector &shape, std::vector< MSLane * > incoming, std::vector< MSLane * > internal)
Constructor.
std::vector< MSLane * > myInternalLaneFoes
const std::string & getID() const
Returns the id.
MSLane * getViaLane() const
Returns the following inner lane.
std::bitset< SUMO_MAX_CONNECTIONS > LinkBits
Container for link response and foes.