70 const std::string&
getID()
const {
101 mutable std::map<SUMOVehicleClass, std::vector<std::pair<const Track*, const Track*> > >
svcViaSuccessors;
std::vector< NBEdge * > EdgeVector
container for (sorted) edges
SUMOVehicleClass
Definition of vehicle classes to differ between different lane usage and authority types.
@ SVC_IGNORING
vehicles ignoring classes
int SVCPermissions
bitset where each bit declares whether a certain SVC may use this edge/lane
The representation of a single edge during network building.
Instance responsible for building networks.
Represents a single node (junction) during network building.
SVCPermissions minPermissions
const std::vector< std::pair< const Track *, const Track * > > & getViaSuccessors(SUMOVehicleClass svc=SVC_IGNORING) const
const Track * getBidiEdge() const
const std::vector< Track * > & getSuccessors(SUMOVehicleClass svc=SVC_IGNORING) const
std::vector< Track * > successors
void addSuccessor(Track *track)
std::vector< std::pair< const Track *, const Track * > > viaSuccessors
std::map< SUMOVehicleClass, std::vector< std::pair< const Track *, const Track * > > > svcViaSuccessors
bool restricts(const NBVehicle *const) const
Track & operator=(const Track &)=delete
std::map< SUMOVehicleClass, std::vector< Track * > > svcSuccessors
bool prohibits(const NBVehicle *const) const
int getNumericalID() const
Track(NBEdge *e, int i=-1, const std::string &_id="")
const std::string & getID() const
static NBEdge * isBidiSwitch(const NBNode *n)
static void getRailEdges(const NBNode *node, EdgeVector &inEdges, EdgeVector &outEdges)
filter out rail edges among all edges of a the given node
static void updateTurns(NBEdge *edge)
recompute turning directions for both nodes of the given edge
static void addBidiEdgesForStops(NBNetBuilder &nb)
add bidi-edges to connect successive public transport stops
static bool isStraight(const NBNode *node, const NBEdge *e1, const NBEdge *e2)
static void addBidiEdgesForStraightConnectivity(NBNetBuilder &nb, bool geometryLike)
add bidi-edges to connect straight tracks
static NBEdge * addBidiEdge(NBNetBuilder &nb, NBEdge *edge, bool update=true)
add bidi-edge for the given edge
static std::set< NBNode * > getBrokenRailNodes(NBNetBuilder &nb, bool verbose=false)
static void analyzeTopology(NBNetBuilder &nb)
Computes highway on-/off-ramps (if wished)
static int extendBidiEdges(NBNetBuilder &nb)
add further bidi-edges near existing bidi-edges
static bool allSharp(const NBNode *node, const EdgeVector &in, const EdgeVector &out, bool countBidiAsSharp=false)
static void addBidiEdgesForBufferStops(NBNetBuilder &nb)
add bidi-edges to connect buffers stops in both directions
static bool allBroken(const NBNode *node, NBEdge *candOut, const EdgeVector &in, const EdgeVector &out)
static bool allBidi(const EdgeVector &edges)
static void reverseEdges(NBNetBuilder &nb)
reverse edges sequences that are to broken nodes on both sides
static void repairTopology(NBNetBuilder &nb)
static double getTravelTimeStatic(const Track *const track, const NBVehicle *const veh, double time)
static std::set< NBNode * > getRailNodes(NBNetBuilder &nb, bool verbose=false)
static bool hasStraightPair(const NBNode *node, const EdgeVector &edges, const EdgeVector &edges2)
static void addBidiEdgesBetweenSwitches(NBNetBuilder &nb)
add bidi-edges to connect switches that are approached in both directions
static void assignDirectionPriority(NBNetBuilder &nb)
static void makeAllBidi(NBNetBuilder &nb)
A vehicle as used by router.
A storage for options typed value containers)