Eclipse SUMO - Simulation of Urban MObility
Loading...
Searching...
No Matches
NBPTStopCont Class Reference

Container for public transport stops during the net building process. More...

#include <NBPTStopCont.h>

Public Member Functions

void addEdges2Keep (const OptionsCont &oc, std::set< std::string > &into)
 add edges that must be kept
void alignIdSigns ()
void assignEdgeForFloatingStops (NBEdgeCont &cont, double maxRadius)
void assignLanes (NBEdgeCont &cont)
int cleanupDeleted (NBEdgeCont &cont)
 remove stops on non existing (removed) edges
int countBidiStops (NBEdgeCont &cont) const
 count number of stop-pairs for superposed rail-edges
void findAccessEdgesForRailStops (NBEdgeCont &cont, double maxRadius, int maxCount, double accessFactor)
std::shared_ptr< NBPTStopfindStop (const std::string &origEdgeID, Position pos, double threshold=1) const
int generateBidiStops (NBEdgeCont &cont)
 duplicate stops for superposed rail edges and return the number of generated stops
std::shared_ptr< NBPTStopget (std::string id) const
 Retrieve a previously inserted pt stop.
std::shared_ptr< NBPTStopgetReverseStop (std::shared_ptr< NBPTStop > pStop, const NBEdgeCont &ec)
const std::map< std::string, std::shared_ptr< NBPTStop > > & getStops () const
 Returns an unmodifiable reference to the stored pt stops.
bool insert (std::shared_ptr< NBPTStop > ptStop, bool floating=false)
 Inserts a node into the map.
void localizePTStops (NBEdgeCont &cont)
void postprocess (std::set< std::string > &usedStops)
void replaceEdge (const std::string &edgeID, const std::vector< NBEdge * > &replacement)
 replace the edge with the closes edge on the given edge list in all stops
 ~NBPTStopCont ()

Static Public Member Functions

static void addIgnored (const std::string &stopID)
static NBEdgegetReverseEdge (NBEdge *edge)
static bool wasIgnored (const std::string &stopID)

Private Types

typedef std::map< std::string, std::shared_ptr< NBPTStop > > PTStopsCont
 Definition of the map of names to pt stops.

Private Member Functions

std::shared_ptr< NBPTStopassignAndCreatNewPTStopAsNeeded (std::shared_ptr< NBPTStop > pStop, NBEdgeCont &cont)
void assignPTStopToEdgeOfClosestPlatform (std::shared_ptr< NBPTStop > pStop, NBEdgeCont &cont)
double computeCrossProductEdgePosition (const NBEdge *edge, const Position &closestPlatform) const
const NBPTPlatformgetClosestPlatformToPTStopPosition (std::shared_ptr< NBPTStop > pStop)

Static Private Member Functions

static std::string getReverseID (const std::string &id)

Private Attributes

std::vector< std::shared_ptr< NBPTStop > > myFloatingStops
std::map< std::string, std::vector< std::shared_ptr< NBPTStop > > > myPTStopLookup
 The map of edge ids to stops.
PTStopsCont myPTStops
 The map of names to pt stops.

Static Private Attributes

static std::set< std::string > myIgnoredStops

Detailed Description

Container for public transport stops during the net building process.

Definition at line 44 of file NBPTStopCont.h.

Member Typedef Documentation

◆ PTStopsCont

typedef std::map<std::string, std::shared_ptr<NBPTStop> > NBPTStopCont::PTStopsCont
private

Definition of the map of names to pt stops.

Definition at line 101 of file NBPTStopCont.h.

Constructor & Destructor Documentation

◆ ~NBPTStopCont()

NBPTStopCont::~NBPTStopCont ( )

Definition at line 43 of file NBPTStopCont.cpp.

References myPTStops.

Member Function Documentation

◆ addEdges2Keep()

void NBPTStopCont::addEdges2Keep ( const OptionsCont & oc,
std::set< std::string > & into )

add edges that must be kept

Definition at line 358 of file NBPTStopCont.cpp.

References myPTStops.

Referenced by NBRampsComputer::computeRamps(), and NBNodeCont::removeUnwishedNodes().

Here is the caller graph for this function:

◆ addIgnored()

void NBPTStopCont::addIgnored ( const std::string & stopID)
inlinestatic

Definition at line 125 of file NBPTStopCont.h.

References myIgnoredStops.

Referenced by NIXMLPTHandler::addPTStop().

Here is the caller graph for this function:

◆ alignIdSigns()

void NBPTStopCont::alignIdSigns ( )

Definition at line 403 of file NBPTStopCont.cpp.

References get(), getReverseID(), and myPTStops.

◆ assignAndCreatNewPTStopAsNeeded()

std::shared_ptr< NBPTStop > NBPTStopCont::assignAndCreatNewPTStopAsNeeded ( std::shared_ptr< NBPTStop > pStop,
NBEdgeCont & cont )
private

Definition at line 215 of file NBPTStopCont.cpp.

References computeCrossProductEdgePosition(), NBEdgeCont::getByID(), NBEdge::getID(), NBPTPlatform::getLength(), getReverseEdge(), and getReverseStop().

Referenced by localizePTStops().

Here is the caller graph for this function:

◆ assignEdgeForFloatingStops()

◆ assignLanes()

void NBPTStopCont::assignLanes ( NBEdgeCont & cont)

Definition at line 105 of file NBPTStopCont.cpp.

References myPTStops, TL, and WRITE_WARNINGF.

◆ assignPTStopToEdgeOfClosestPlatform()

void NBPTStopCont::assignPTStopToEdgeOfClosestPlatform ( std::shared_ptr< NBPTStop > pStop,
NBEdgeCont & cont )
private

Definition at line 255 of file NBPTStopCont.cpp.

References computeCrossProductEdgePosition(), NBEdgeCont::getByID(), getClosestPlatformToPTStopPosition(), NBEdge::getID(), NBPTPlatform::getLength(), NBPTPlatform::getPos(), and getReverseEdge().

Referenced by localizePTStops().

Here is the caller graph for this function:

◆ cleanupDeleted()

int NBPTStopCont::cleanupDeleted ( NBEdgeCont & cont)

remove stops on non existing (removed) edges

Parameters
cont

Definition at line 342 of file NBPTStopCont.cpp.

References NBEdgeCont::getByID(), myPTStops, TL, and WRITE_WARNINGF.

Referenced by NIImporter_OpenStreetMap::load().

Here is the caller graph for this function:

◆ computeCrossProductEdgePosition()

double NBPTStopCont::computeCrossProductEdgePosition ( const NBEdge * edge,
const Position & closestPlatform ) const
private

Definition at line 278 of file NBPTStopCont.cpp.

References NBEdge::getGeometry(), NBEdge::getID(), PositionVector::indexOfClosest(), PositionVector::nearest_offset_to_point2D(), PositionVector::offsetAtIndex2D(), TL, WRITE_WARNINGF, Position::x(), and Position::y().

Referenced by assignAndCreatNewPTStopAsNeeded(), and assignPTStopToEdgeOfClosestPlatform().

Here is the caller graph for this function:

◆ countBidiStops()

int NBPTStopCont::countBidiStops ( NBEdgeCont & cont) const

count number of stop-pairs for superposed rail-edges

Definition at line 176 of file NBPTStopCont.cpp.

References NBEdgeCont::getByID(), NBEdge::getID(), getReverseID(), NBEdge::getTurnDestination(), NBEdge::isBidiRail(), and myPTStops.

◆ findAccessEdgesForRailStops()

void NBPTStopCont::findAccessEdgesForRailStops ( NBEdgeCont & cont,
double maxRadius,
int maxCount,
double accessFactor )

◆ findStop()

std::shared_ptr< NBPTStop > NBPTStopCont::findStop ( const std::string & origEdgeID,
Position pos,
double threshold = 1 ) const

Definition at line 530 of file NBPTStopCont.cpp.

References myPTStops.

Referenced by NBPTLineCont::findWay().

Here is the caller graph for this function:

◆ generateBidiStops()

int NBPTStopCont::generateBidiStops ( NBEdgeCont & cont)

duplicate stops for superposed rail edges and return the number of generated stops

Definition at line 123 of file NBPTStopCont.cpp.

References NBEdgeCont::getByID(), NBEdge::getID(), getReverseID(), NBEdge::getTurnDestination(), NBEdge::isBidiRail(), myPTStops, TL, toString(), WRITE_MESSAGEF, and WRITE_WARNINGF.

◆ get()

std::shared_ptr< NBPTStop > NBPTStopCont::get ( std::string id) const

Retrieve a previously inserted pt stop.

Definition at line 64 of file NBPTStopCont.cpp.

References myPTStops.

Referenced by NBRailwayTopologyAnalyzer::addBidiEdgesForStops(), alignIdSigns(), NBPTLine::deleteInvalidStops(), and NIImporter_OpenStreetMap::insertEdge().

Here is the caller graph for this function:

◆ getClosestPlatformToPTStopPosition()

const NBPTPlatform * NBPTStopCont::getClosestPlatformToPTStopPosition ( std::shared_ptr< NBPTStop > pStop)
private

Definition at line 310 of file NBPTStopCont.cpp.

References Position::distanceSquaredTo2D().

Referenced by assignPTStopToEdgeOfClosestPlatform().

Here is the caller graph for this function:

◆ getReverseEdge()

NBEdge * NBPTStopCont::getReverseEdge ( NBEdge * edge)
static

Definition at line 327 of file NBPTStopCont.cpp.

References NBEdge::getFromNode(), NBNode::getOutgoingEdges(), and NBEdge::getToNode().

Referenced by assignAndCreatNewPTStopAsNeeded(), assignPTStopToEdgeOfClosestPlatform(), getReverseStop(), and NBPTLineCont::reviseStops().

Here is the caller graph for this function:

◆ getReverseID()

std::string NBPTStopCont::getReverseID ( const std::string & id)
staticprivate

Definition at line 398 of file NBPTStopCont.cpp.

Referenced by alignIdSigns(), countBidiStops(), generateBidiStops(), and getReverseStop().

Here is the caller graph for this function:

◆ getReverseStop()

std::shared_ptr< NBPTStop > NBPTStopCont::getReverseStop ( std::shared_ptr< NBPTStop > pStop,
const NBEdgeCont & ec )

Definition at line 197 of file NBPTStopCont.cpp.

References NBEdgeCont::getByID(), NBEdge::getID(), getReverseEdge(), getReverseID(), and myPTStops.

Referenced by NBRailwayTopologyAnalyzer::addBidiEdgesForStops(), assignAndCreatNewPTStopAsNeeded(), localizePTStops(), and NBPTLineCont::reviseStops().

Here is the caller graph for this function:

◆ getStops()

const std::map< std::string, std::shared_ptr< NBPTStop > > & NBPTStopCont::getStops ( ) const
inline

Returns an unmodifiable reference to the stored pt stops.

Returns
The stored pt stops

Definition at line 62 of file NBPTStopCont.h.

References myPTStops.

Referenced by NBEdgeCont::appendRailwayTurnarounds(), NBRailwaySignalGuesser::guessByStops(), NBNodeCont::joinJunctions(), NIImporter_OpenStreetMap::load(), NBEdgeCont::remapIDs(), NBNodeCont::removeRailComponents(), NBRailwayTopologyAnalyzer::reverseEdges(), and NWWriter_XML::writePTStops().

Here is the caller graph for this function:

◆ insert()

bool NBPTStopCont::insert ( std::shared_ptr< NBPTStop > ptStop,
bool floating = false )

Inserts a node into the map.

Parameters
[in]stopThe pt stop to insert
[in]floatingwhether the stop is not referenced by a way or relation
Returns
Whether the pt stop could be added

Definition at line 49 of file NBPTStopCont.cpp.

References myFloatingStops, and myPTStops.

Referenced by NBRailwayTopologyAnalyzer::addBidiEdgesForStops(), NBPTLineCont::findWay(), NIImporter_OpenStreetMap::insertEdge(), NIImporter_OpenStreetMap::load(), localizePTStops(), and NBPTLineCont::reviseStops().

Here is the caller graph for this function:

◆ localizePTStops()

void NBPTStopCont::localizePTStops ( NBEdgeCont & cont)

◆ postprocess()

void NBPTStopCont::postprocess ( std::set< std::string > & usedStops)

Definition at line 387 of file NBPTStopCont.cpp.

References myPTStops.

◆ replaceEdge()

void NBPTStopCont::replaceEdge ( const std::string & edgeID,
const std::vector< NBEdge * > & replacement )

replace the edge with the closes edge on the given edge list in all stops

Definition at line 366 of file NBPTStopCont.cpp.

References myPTStopLookup, myPTStops, TL, and WRITE_WARNINGF.

Referenced by NBEdgeCont::joinTramEdges(), and NBNodeCont::removeUnwishedNodes().

Here is the caller graph for this function:

◆ wasIgnored()

bool NBPTStopCont::wasIgnored ( const std::string & stopID)
inlinestatic

Definition at line 129 of file NBPTStopCont.h.

References myIgnoredStops.

Referenced by NIXMLPTHandler::addPTLineStop().

Here is the caller graph for this function:

Field Documentation

◆ myFloatingStops

std::vector<std::shared_ptr<NBPTStop> > NBPTStopCont::myFloatingStops
private

Definition at line 109 of file NBPTStopCont.h.

Referenced by assignEdgeForFloatingStops(), and insert().

◆ myIgnoredStops

std::set< std::string > NBPTStopCont::myIgnoredStops
staticprivate

Definition at line 119 of file NBPTStopCont.h.

Referenced by addIgnored(), and wasIgnored().

◆ myPTStopLookup

std::map<std::string, std::vector<std::shared_ptr<NBPTStop> > > NBPTStopCont::myPTStopLookup
private

The map of edge ids to stops.

Definition at line 107 of file NBPTStopCont.h.

Referenced by replaceEdge().

◆ myPTStops


The documentation for this class was generated from the following files: