Eclipse SUMO - Simulation of Urban MObility
|
#include <NBRequest.h>
Public Member Functions | |
bool | bidiConflict (const NBEdge *from, const NBEdge::Connection &con, const NBEdge *prohibitorFrom, const NBEdge::Connection &prohibitorCon, bool foes) const |
whether straight connections are in conflict via bidirectional lane use | |
void | buildBitfieldLogic () |
builds the bitset-representation of the logic | |
void | computeLogic (const bool checkLaneFoes) |
writes the XML-representation of the logic as a bitset-logic XML representation | |
bool | foes (const NBEdge *const from1, const NBEdge *const to1, const NBEdge *const from2, const NBEdge *const to2) const |
Returns the information whether the given flows cross. | |
bool | forbids (const NBEdge *const possProhibitorFrom, const NBEdge *const possProhibitorTo, const NBEdge *const possProhibitedFrom, const NBEdge *const possProhibitedTo, bool regardNonSignalisedLowerPriority) const |
Returns the information whether "prohibited" flow must let "prohibitor" flow pass. | |
const std::string & | getFoes (int linkIndex) const |
const std::string & | getResponse (int linkIndex) const |
std::pair< int, int > | getSizes () const |
returns the number of the junction's lanes and the number of the junction's links in respect. | |
bool | hasConflict () const |
whether there are conflicting streams of traffic at this node | |
bool | hasConflictAtLink (int linkIndex) const |
whether there are conflicting streams of traffic for the given link index | |
bool | indirectLeftTurnConflict (const NBEdge *from, const NBEdge::Connection &con, const NBEdge *prohibitorFrom, const NBEdge::Connection &prohibitorCon, bool foes) const |
whether straight and indirect left turn are in conflict | |
bool | mergeConflict (const NBEdge *from, const NBEdge::Connection &con, const NBEdge *prohibitorFrom, const NBEdge::Connection &prohibitorCon, bool foes) const |
whether multple connections from the same edge target the same lane | |
bool | mustBrake (const NBEdge *const from, const NBEdge *const to, int fromLane, int toLane, bool includePedCrossings) const |
Returns the information whether the described flow must let any other flow pass. | |
bool | mustBrake (const NBEdge *const possProhibitorFrom, const NBEdge *const possProhibitorTo, const NBEdge *const possProhibitedFrom, const NBEdge *const possProhibitedTo) const |
Returns the information whether "prohibited" flow must let "prohibitor" flow pass. | |
NBRequest (const NBEdgeCont &ec, NBNode *junction, const EdgeVector &all, const EdgeVector &incoming, const EdgeVector &outgoing, const NBConnectionProhibits &loadedProhibits) | |
bool | oppositeLeftTurnConflict (const NBEdge *from, const NBEdge::Connection &con, const NBEdge *prohibitorFrom, const NBEdge::Connection &prohibitorCon, bool foes) const |
whether opposite left turns intersect | |
bool | rightTurnConflict (const NBEdge *from, const NBEdge::Connection &con, const NBEdge *prohibitorFrom, const NBEdge::Connection &prohibitorCon) const |
whether the given connections crosses the foe connection from the same lane and must yield | |
void | writeLogic (OutputDevice &into) const |
~NBRequest () | |
destructor | |
Static Public Member Functions | |
static bool | mustBrakeForCrossing (const NBNode *node, const NBEdge *const from, const NBEdge *const to, const NBNode::Crossing &crossing) |
Returns the information whether the described flow must brake for the given crossing. | |
static void | reportWarnings () |
reports warnings if any occurred | |
Private Types | |
typedef std::vector< LinkInfoCont > | CombinationsCont |
definition of a container for link(edge->edge) X link(edge->edge) combinations (size = |myIncoming|*|myOutgoing|) | |
typedef std::vector< bool > | LinkInfoCont |
definition of a container to store boolean informations about a link into | |
Private Member Functions | |
bool | checkLaneFoesByClass (const NBEdge::Connection &con, const NBEdge *prohibitorFrom, const NBEdge::Connection &prohibitorCon) const |
whether the given connections must be checked for lane conflicts due to the vClasses involved | |
bool | checkLaneFoesByCooperation (const NBEdge *from, const NBEdge::Connection &con, const NBEdge *prohibitorFrom, const NBEdge::Connection &prohibitorCon) const |
whether the given connections must be checked for lane conflicts due to disjunct target lanes | |
int | computeCrossingResponse (const NBNode::Crossing &crossing, int pos) |
computes the response of a certain crossing Returns the next link index within the junction | |
int | computeLaneResponse (NBEdge *from, int lane, int pos, const bool checkLaneFoes) |
computes the response of a certain lane Returns the next link index within the junction | |
void | computeLeftOutgoingLinkCrossings (NBEdge *from, NBEdge *to) |
computes the relationships between links outgoing left of the given link | |
void | computeRightOutgoingLinkCrossings (NBEdge *from, NBEdge *to) |
computes the relationships between links outgoing right of the given link */ | |
int | distanceCounterClockwise (NBEdge *from, NBEdge *to) |
returns the distance between the incoming (from) and the outgoing (to) edge clockwise in edges | |
std::string | getFoesString (NBEdge *from, NBEdge *to, int fromLane, int toLane, const bool checkLaneFoes) const |
int | getIndex (const NBEdge *const from, const NBEdge *const to) const |
Returns the index to the internal combination container for the given edge combination. | |
std::string | getResponseString (const NBEdge *const from, const NBEdge::Connection &c, const bool checkLaneFoes) const |
Writes the response of a certain link. | |
bool | laneConflict (const NBEdge *from, const NBEdge *to, int toLane, const NBEdge *prohibitorFrom, const NBEdge *prohibitorTo, int prohibitorToLane) const |
return whether the given laneToLane connections prohibit each other under the assumption that the edge2edge connections are in conflict | |
int | numLinks () const |
return to total number of edge-to-edge connections of this request-logic | |
NBRequest & | operator= (const NBRequest &s)=delete |
Invalidated assignment operator. | |
void | resetCooperating () |
reset foes it the number of lanes matches (or exceeds) the number of incoming connections for an edge | |
void | resetSignalised () |
void | setBlocking (NBEdge *from1, NBEdge *to1, NBEdge *from2, NBEdge *to2) |
Private Attributes | |
const EdgeVector & | myAll |
all (icoming and outgoing) of the junctions edges | |
CombinationsCont | myDone |
the link X link is done-checks | |
std::vector< std::string > | myFoes |
precomputed right-of-way matrices for each lane-to-lane link | |
CombinationsCont | myForbids |
the link X link blockings | |
std::vector< bool > | myHaveVia |
const EdgeVector & | myIncoming |
edges incoming to the junction | |
NBNode * | myJunction |
the node the request is assigned to | |
const EdgeVector & | myOutgoing |
edges outgoing from the junction | |
std::vector< std::string > | myResponse |
Static Private Attributes | |
static int | myGoodBuilds = 0 |
static int | myNotBuild = 0 |
Friends | |
std::ostream & | operator<< (std::ostream &os, const NBRequest &r) |
prints the request | |
Given a special node, this class builds the logic of this (junction) regarding the relationships between the incoming and outgoing edges and their priorities. The junction's logic is saved when it does not yet exist.
Definition at line 56 of file NBRequest.h.
|
private |
definition of a container for link(edge->edge) X link(edge->edge) combinations (size = |myIncoming|*|myOutgoing|)
Definition at line 272 of file NBRequest.h.
|
private |
definition of a container to store boolean informations about a link into
Definition at line 269 of file NBRequest.h.
NBRequest::NBRequest | ( | const NBEdgeCont & | ec, |
NBNode * | junction, | ||
const EdgeVector & | all, | ||
const EdgeVector & | incoming, | ||
const EdgeVector & | outgoing, | ||
const NBConnectionProhibits & | loadedProhibits | ||
) |
constructor The parameter are the logic's lists of edges (all, incoming only and outgoing only edges). By now no further informations are needed to describe the junctions. These parameter must not be changed during the logic's building
Definition at line 56 of file NBRequest.cpp.
References NBConnection::check(), NBConnection::getFrom(), NBEdge::getID(), getIndex(), NBConnection::getTo(), myDone, myForbids, myGoodBuilds, myIncoming, myNotBuild, myOutgoing, numLinks(), and WRITE_WARNING.
NBRequest::~NBRequest | ( | ) |
destructor
Definition at line 141 of file NBRequest.cpp.
bool NBRequest::bidiConflict | ( | const NBEdge * | from, |
const NBEdge::Connection & | con, | ||
const NBEdge * | prohibitorFrom, | ||
const NBEdge::Connection & | prohibitorCon, | ||
bool | foes | ||
) | const |
whether straight connections are in conflict via bidirectional lane use
Definition at line 906 of file NBRequest.cpp.
References PositionVector::almostSame(), foes(), NBEdge::Connection::fromLane, NBEdge::getBidiEdge(), NBEdge::getLaneShape(), NBEdge::getPermissions(), isRailway(), PositionVector::reverse(), NBEdge::Connection::toEdge, and NBEdge::Connection::toLane.
Referenced by NBNode::bidiConflict(), getFoesString(), and getResponseString().
void NBRequest::buildBitfieldLogic | ( | ) |
builds the bitset-representation of the logic
Definition at line 145 of file NBRequest.cpp.
References computeLeftOutgoingLinkCrossings(), computeRightOutgoingLinkCrossings(), myIncoming, myOutgoing, resetCooperating(), and resetSignalised().
Referenced by NBNode::computeLogic().
|
private |
whether the given connections must be checked for lane conflicts due to the vClasses involved
Definition at line 938 of file NBRequest.cpp.
References NBEdge::Connection::fromLane, NBEdge::getPermissions(), SVC_BICYCLE, SVC_PASSENGER, SVC_PEDESTRIAN, NBEdge::Connection::toEdge, and NBEdge::Connection::toLane.
Referenced by getFoesString(), and getResponseString().
|
private |
whether the given connections must be checked for lane conflicts due to disjunct target lanes
Definition at line 953 of file NBRequest.cpp.
References NBEdge::getConnections(), and NBEdge::Connection::toEdge.
Referenced by getFoesString(), and getResponseString().
|
private |
computes the response of a certain crossing Returns the next link index within the junction
Definition at line 613 of file NBRequest.cpp.
References NBNode::Crossing::edges, foes(), NBEdge::getConnectionsFromLane(), NBNode::getCrossings(), NBEdge::getNumLanes(), mustBrakeForCrossing(), myFoes, myHaveVia, myIncoming, myJunction, and myResponse.
Referenced by computeLogic().
|
private |
computes the response of a certain lane Returns the next link index within the junction
Definition at line 598 of file NBRequest.cpp.
References foes(), NBEdge::getConnectionsFromLane(), getFoesString(), getResponseString(), myFoes, myHaveVia, and myResponse.
Referenced by computeLogic().
computes the relationships between links outgoing left of the given link
Definition at line 179 of file NBRequest.cpp.
References myAll, myJunction, NBContHelper::nextCW(), and setBlocking().
Referenced by buildBitfieldLogic().
void NBRequest::computeLogic | ( | const bool | checkLaneFoes | ) |
writes the XML-representation of the logic as a bitset-logic XML representation
Definition at line 433 of file NBRequest.cpp.
References computeCrossingResponse(), computeLaneResponse(), NBNode::getCrossings(), NBNode::getType(), myFoes, myHaveVia, myIncoming, myJunction, myResponse, and ZIPPER.
Referenced by NBNode::computeLogic2().
computes the relationships between links outgoing right of the given link */
Definition at line 161 of file NBRequest.cpp.
References myAll, myJunction, NBContHelper::nextCCW(), and setBlocking().
Referenced by buildBitfieldLogic().
returns the distance between the incoming (from) and the outgoing (to) edge clockwise in edges
Definition at line 381 of file NBRequest.cpp.
References myAll.
bool NBRequest::foes | ( | const NBEdge *const | from1, |
const NBEdge *const | to1, | ||
const NBEdge *const | from2, | ||
const NBEdge *const | to2 | ||
) | const |
Returns the information whether the given flows cross.
[in] | from1 | The starting edge of the first stream |
[in] | to1 | The ending edge of the first stream |
[in] | from2 | The starting edge of the second stream |
[in] | to2 | The ending edge of the second stream |
Definition at line 548 of file NBRequest.cpp.
References getIndex(), myForbids, myIncoming, and myOutgoing.
Referenced by bidiConflict(), computeCrossingResponse(), computeLaneResponse(), NBNode::foes(), getFoesString(), indirectLeftTurnConflict(), mergeConflict(), oppositeLeftTurnConflict(), and resetSignalised().
bool NBRequest::forbids | ( | const NBEdge *const | possProhibitorFrom, |
const NBEdge *const | possProhibitorTo, | ||
const NBEdge *const | possProhibitedFrom, | ||
const NBEdge *const | possProhibitedTo, | ||
bool | regardNonSignalisedLowerPriority | ||
) | const |
Returns the information whether "prohibited" flow must let "prohibitor" flow pass.
[in] | possProhibitorFrom | The maybe prohibiting connection's begin |
[in] | possProhibitorTo | The maybe prohibiting connection's end |
[in] | possProhibitedFrom | The maybe prohibited connection's begin |
[in] | possProhibitedTo | The maybe prohibited connection's end |
[in] | regardNonSignalisedLowerPriority | Whether the right of way rules without traffic lights shall be regarded |
Definition at line 567 of file NBRequest.cpp.
References getIndex(), NBEdge::hasSignalisedConnectionTo(), myForbids, myIncoming, and myOutgoing.
Referenced by NBNode::forbids().
const std::string & NBRequest::getFoes | ( | int | linkIndex | ) | const |
Definition at line 395 of file NBRequest.cpp.
References myFoes.
Referenced by NBNode::getFoes().
|
private |
writes which participating links are foes to the given
Definition at line 744 of file NBRequest.cpp.
References bidiConflict(), checkLaneFoesByClass(), checkLaneFoesByCooperation(), foes(), OptionsCont::getBool(), NBEdge::getConnection(), NBNode::getCrossings(), OptionsCont::getOptions(), indirectLeftTurnConflict(), laneConflict(), mergeConflict(), myIncoming, myJunction, oppositeLeftTurnConflict(), rightTurnConflict(), and NBNode::turnFoes().
Referenced by computeLaneResponse().
Returns the index to the internal combination container for the given edge combination.
If one of the edges is not known, -1 is returned.
[in] | from | The starting edge (incoming to this logic) |
[in] | to | The destination edge (outgoing from this logic) |
Definition at line 1001 of file NBRequest.cpp.
References myIncoming, and myOutgoing.
Referenced by foes(), forbids(), getResponseString(), mustBrake(), mustBrake(), NBRequest(), resetCooperating(), resetSignalised(), and setBlocking().
const std::string & NBRequest::getResponse | ( | int | linkIndex | ) | const |
Definition at line 403 of file NBRequest.cpp.
References myResponse.
Referenced by NBNode::getResponse(), and mustBrake().
|
private |
Writes the response of a certain link.
For the link (described by the connected edges and lanes), the response in dependence to all other links of this junction is computed. Herefor, the method goes through all links of this junction and writes a '0' if the link is not blocked by the currently investigated one, or '1' if it is.
In the case "mayDefinitelyPass" is true, the link will not be disturbed by any other (special case for on-ramps).
[in] | tlIndex | The tl index of the connection for which the responses shall be written |
[in] | from | The link's starting edge |
[in] | to | The link's destination edge |
[in] | fromLane | The link's starting lane |
[in] | toLane | The link's destination lane |
[in] | mayDefinitelyPass | Whether this link is definitely not disturbed |
IOError | not yet implemented |
Definition at line 645 of file NBRequest.cpp.
References bidiConflict(), checkLaneFoesByClass(), checkLaneFoesByCooperation(), DEBUGCOND, NBEdge::Connection::fromLane, OptionsCont::getBool(), NBEdge::getConnection(), NBNode::getCrossings(), NBEdge::Connection::getDescription(), getIndex(), OptionsCont::getOptions(), NBNode::getType(), indirectLeftTurnConflict(), laneConflict(), NBEdge::Connection::mayDefinitelyPass, mergeConflict(), mustBrakeForCrossing(), myForbids, myIncoming, myJunction, myOutgoing, oppositeLeftTurnConflict(), NBNode::rightOnRedConflict(), NBNode::rightTurnConflict(), rightTurnConflict(), NBEdge::Connection::tlLinkIndex, NBNode::tlsContConflict(), NBEdge::Connection::toEdge, NBEdge::Connection::toLane, and ZIPPER.
Referenced by computeLaneResponse().
std::pair< int, int > NBRequest::getSizes | ( | ) | const |
returns the number of the junction's lanes and the number of the junction's links in respect.
Definition at line 530 of file NBRequest.cpp.
References myIncoming, and numLinks().
Referenced by NBNode::numNormalConnections().
bool NBRequest::hasConflict | ( | ) | const |
whether there are conflicting streams of traffic at this node
Definition at line 1183 of file NBRequest.cpp.
References hasConflictAtLink(), and myFoes.
Referenced by NBNode::hasConflict().
bool NBRequest::hasConflictAtLink | ( | int | linkIndex | ) | const |
whether there are conflicting streams of traffic for the given link index
Definition at line 1193 of file NBRequest.cpp.
References myFoes.
Referenced by NBNode::computeKeepClear(), hasConflict(), and NBNode::hasConflict().
bool NBRequest::indirectLeftTurnConflict | ( | const NBEdge * | from, |
const NBEdge::Connection & | con, | ||
const NBEdge * | prohibitorFrom, | ||
const NBEdge::Connection & | prohibitorCon, | ||
bool | foes | ||
) | const |
whether straight and indirect left turn are in conflict
Definition at line 889 of file NBRequest.cpp.
References foes(), NBNode::getDirection(), NBEdge::Connection::indirectLeft, myJunction, STRAIGHT, and NBEdge::Connection::toEdge.
Referenced by getFoesString(), getResponseString(), and NBNode::needsCont().
|
private |
return whether the given laneToLane connections prohibit each other under the assumption that the edge2edge connections are in conflict
Definition at line 980 of file NBRequest.cpp.
References NBEdge::getAngleAtNode(), NBEdge::getFromNode(), NBEdge::getToNode(), NBEdge::isTurningDirectionAt(), and NBHelpers::relAngle().
Referenced by getFoesString(), and getResponseString().
bool NBRequest::mergeConflict | ( | const NBEdge * | from, |
const NBEdge::Connection & | con, | ||
const NBEdge * | prohibitorFrom, | ||
const NBEdge::Connection & | prohibitorCon, | ||
bool | foes | ||
) | const |
whether multple connections from the same edge target the same lane
Definition at line 806 of file NBRequest.cpp.
References foes(), NBEdge::Connection::fromLane, NBNode::getDirection(), NBEdge::getPermissions(), NBNode::isConstantWidthTransition(), NBEdge::Connection::mayDefinitelyPass, myIncoming, myJunction, myOutgoing, PARTRIGHT, RIGHT, SVC_BICYCLE, NBEdge::Connection::toEdge, and NBEdge::Connection::toLane.
Referenced by getFoesString(), getResponseString(), NBNode::mergeConflict(), NBNode::mergeConflictYields(), and mustBrake().
bool NBRequest::mustBrake | ( | const NBEdge *const | from, |
const NBEdge *const | to, | ||
int | fromLane, | ||
int | toLane, | ||
bool | includePedCrossings | ||
) | const |
Returns the information whether the described flow must let any other flow pass.
[in] | from | The connection's start edge |
[in] | to | The connection's end edge |
[in] | fromLane | The connection starting lane |
[in] | includePedCrossings | Whether braking due to a pedestrian crossing counts |
Definition at line 1032 of file NBRequest.cpp.
References NBEdge::getConnection(), NBNode::getConnectionIndex(), NBEdge::getConnections(), NBNode::getCrossings(), NBNode::getDirection(), getIndex(), getResponse(), NBNode::getType(), NBNode::isTLControlled(), mergeConflict(), mustBrakeForCrossing(), myDone, myForbids, myIncoming, myJunction, myOutgoing, myResponse, numLinks(), PARTRIGHT, RIGHT, rightTurnConflict(), and ZIPPER.
bool NBRequest::mustBrake | ( | const NBEdge *const | possProhibitorFrom, |
const NBEdge *const | possProhibitorTo, | ||
const NBEdge *const | possProhibitedFrom, | ||
const NBEdge *const | possProhibitedTo | ||
) | const |
Returns the information whether "prohibited" flow must let "prohibitor" flow pass.
[in] | possProhibitorFrom | The maybe prohibiting connection's begin |
[in] | possProhibitorTo | The maybe prohibiting connection's end |
[in] | possProhibitedFrom | The maybe prohibited connection's begin |
[in] | possProhibitedTo | The maybe prohibited connection's end |
Definition at line 1127 of file NBRequest.cpp.
References getIndex(), and myForbids.
Referenced by NBNode::mustBrake().
|
static |
Returns the information whether the described flow must brake for the given crossing.
[in] | node | The parent node of this request |
[in] | from | The connection's start edge |
[in] | to | The connection's end edge |
[in] | crossing | The pedestrian crossing to check |
Definition at line 1111 of file NBRequest.cpp.
References NBNode::Crossing::edges, NBNode::getDirection(), LEFT, NBNode::Crossing::priority, and RIGHT.
Referenced by computeCrossingResponse(), getResponseString(), mustBrake(), and NBNode::mustBrakeForCrossing().
|
inlineprivate |
return to total number of edge-to-edge connections of this request-logic
Definition at line 1198 of file NBRequest.cpp.
References NBNode::getCrossings(), myIncoming, myJunction, and myOutgoing.
Referenced by getSizes(), mustBrake(), NBRequest(), and writeLogic().
Invalidated assignment operator.
bool NBRequest::oppositeLeftTurnConflict | ( | const NBEdge * | from, |
const NBEdge::Connection & | con, | ||
const NBEdge * | prohibitorFrom, | ||
const NBEdge::Connection & | prohibitorCon, | ||
bool | foes | ||
) | const |
whether opposite left turns intersect
Definition at line 854 of file NBRequest.cpp.
References PositionVector::append(), NBEdge::firstIntersection(), foes(), NBEdge::Connection::fromLane, NBNode::getDirection(), OptionsCont::getFloat(), NBEdge::getID(), NBEdge::getLaneWidth(), OptionsCont::getOptions(), LEFT, PositionVector::length(), MIN2(), myJunction, PARTLEFT, NBEdge::Connection::shape, NBEdge::Connection::toEdge, NBEdge::Connection::toLane, and NBEdge::Connection::viaShape.
Referenced by getFoesString(), and getResponseString().
|
static |
reports warnings if any occurred
Definition at line 1137 of file NBRequest.cpp.
References myGoodBuilds, myNotBuild, toString(), and WRITE_WARNING.
Referenced by NBNetBuilder::compute().
|
private |
reset foes it the number of lanes matches (or exceeds) the number of incoming connections for an edge
Definition at line 1146 of file NBRequest.cpp.
References DEBUGCOND, NBEdge::getID(), getIndex(), myForbids, and myIncoming.
Referenced by buildBitfieldLogic().
|
private |
Definition at line 454 of file NBRequest.cpp.
References DEBUGCOND, foes(), getIndex(), myForbids, and myIncoming.
Referenced by buildBitfieldLogic().
bool NBRequest::rightTurnConflict | ( | const NBEdge * | from, |
const NBEdge::Connection & | con, | ||
const NBEdge * | prohibitorFrom, | ||
const NBEdge::Connection & | prohibitorCon | ||
) | const |
whether the given connections crosses the foe connection from the same lane and must yield
Definition at line 793 of file NBRequest.cpp.
References NBEdge::Connection::fromLane, NBEdge::Connection::mayDefinitelyPass, NBNode::rightTurnConflict(), and NBEdge::Connection::toEdge.
Referenced by getFoesString(), getResponseString(), and mustBrake().
sets the information that the edge from1->to1 blocks the edge from2->to2 (is higher priorised than this)
Definition at line 197 of file NBRequest.cpp.
References ALLWAY_STOP, DEBUGCOND, NBNode::getDirection(), NBEdge::getID(), getIndex(), NBEdge::getJunctionPriority(), NBNode::getType(), NBNode::isBentPriority(), NBEdge::isConnectedTo(), NBEdge::isTurningDirectionAt(), LEFT_BEFORE_RIGHT, myAll, myDone, myForbids, myIncoming, myJunction, myOutgoing, NBContHelper::nextCW(), RIGHT_BEFORE_LEFT, STRAIGHT, and toString().
Referenced by computeLeftOutgoingLinkCrossings(), and computeRightOutgoingLinkCrossings().
void NBRequest::writeLogic | ( | OutputDevice & | into | ) | const |
Definition at line 411 of file NBRequest.cpp.
References OutputDevice::closeTag(), OptionsCont::getOptions(), myFoes, myHaveVia, myResponse, numLinks(), OutputDevice::openTag(), SUMO_ATTR_CONT, SUMO_ATTR_FOES, SUMO_ATTR_INDEX, SUMO_ATTR_RESPONSE, SUMO_TAG_REQUEST, OutputDevice::writeAttr(), and OutputDevice::writePadding().
Referenced by NBNode::writeLogic().
|
friend |
prints the request
Definition at line 1012 of file NBRequest.cpp.
|
private |
all (icoming and outgoing) of the junctions edges
Definition at line 260 of file NBRequest.h.
Referenced by computeLeftOutgoingLinkCrossings(), computeRightOutgoingLinkCrossings(), distanceCounterClockwise(), and setBlocking().
|
private |
the link X link is done-checks
Definition at line 278 of file NBRequest.h.
Referenced by mustBrake(), NBRequest(), and setBlocking().
|
private |
precomputed right-of-way matrices for each lane-to-lane link
Definition at line 281 of file NBRequest.h.
Referenced by computeCrossingResponse(), computeLaneResponse(), computeLogic(), getFoes(), hasConflict(), hasConflictAtLink(), and writeLogic().
|
private |
the link X link blockings
Definition at line 275 of file NBRequest.h.
Referenced by foes(), forbids(), getResponseString(), mustBrake(), mustBrake(), NBRequest(), resetCooperating(), resetSignalised(), and setBlocking().
|
staticprivate |
Definition at line 286 of file NBRequest.h.
Referenced by NBRequest(), and reportWarnings().
|
private |
Definition at line 283 of file NBRequest.h.
Referenced by computeCrossingResponse(), computeLaneResponse(), computeLogic(), and writeLogic().
|
private |
edges incoming to the junction
Definition at line 263 of file NBRequest.h.
Referenced by buildBitfieldLogic(), computeCrossingResponse(), computeLogic(), foes(), forbids(), getFoesString(), getIndex(), getResponseString(), getSizes(), mergeConflict(), mustBrake(), NBRequest(), numLinks(), resetCooperating(), resetSignalised(), and setBlocking().
|
private |
the node the request is assigned to
Definition at line 257 of file NBRequest.h.
Referenced by computeCrossingResponse(), computeLeftOutgoingLinkCrossings(), computeLogic(), computeRightOutgoingLinkCrossings(), getFoesString(), getResponseString(), indirectLeftTurnConflict(), mergeConflict(), mustBrake(), numLinks(), oppositeLeftTurnConflict(), and setBlocking().
|
staticprivate |
Definition at line 286 of file NBRequest.h.
Referenced by NBRequest(), and reportWarnings().
|
private |
edges outgoing from the junction
Definition at line 266 of file NBRequest.h.
Referenced by buildBitfieldLogic(), foes(), forbids(), getIndex(), getResponseString(), mergeConflict(), mustBrake(), NBRequest(), numLinks(), and setBlocking().
|
private |
Definition at line 282 of file NBRequest.h.
Referenced by computeCrossingResponse(), computeLaneResponse(), computeLogic(), getResponse(), mustBrake(), and writeLogic().