Eclipse SUMO - Simulation of Urban MObility
GNEPathManager::PathCalculator Class Reference

class used to calculate paths in nets More...

#include <GNEPathManager.h>

Collaboration diagram for GNEPathManager::PathCalculator:
[legend]

Public Member Functions

bool busStopConnected (const GNEAdditional *busStop, const GNEEdge *edge) const
 check if exist a path between the given busStop and edge (Either a valid lane or an acces) for pedestrians More...
 
std::vector< GNEEdge * > calculateDijkstraPath (const SUMOVehicleClass vClass, const std::vector< GNEEdge * > &edges) const
 calculate Dijkstra path between a list of edges (for example, from-via-to edges) More...
 
std::vector< GNEEdge * > calculateDijkstraPath (const SUMOVehicleClass vClass, GNEEdge *fromEdge, GNEEdge *toEdge) const
 calculate Dijkstra path between one edge More...
 
std::vector< GNEEdge * > calculateDijkstraPath (const SUMOVehicleClass vClass, GNEEdge *fromEdge, GNEJunction *toJunction) const
 calculate Dijkstra path between from edge and to junction More...
 
std::vector< GNEEdge * > calculateDijkstraPath (const SUMOVehicleClass vClass, GNEJunction *fromJunction, GNEEdge *toEdge) const
 calculate Dijkstra path between from junction and to edge More...
 
std::vector< GNEEdge * > calculateDijkstraPath (const SUMOVehicleClass vClass, GNEJunction *fromJunction, GNEJunction *toJunction) const
 calculate Dijkstra path between two Junctions More...
 
void calculateReachability (const SUMOVehicleClass vClass, GNEEdge *originEdge)
 calculate reachability for given edge More...
 
bool consecutiveEdgesConnected (const SUMOVehicleClass vClass, const GNEEdge *from, const GNEEdge *to) const
 check if exist a path between the two given consecutive edges for the given VClass More...
 
void invalidatePathCalculator ()
 invalidate pathCalculator More...
 
bool isPathCalculatorUpdated () const
 check if pathCalculator is updated More...
 
 PathCalculator (const GNENet *net)
 constructor More...
 
void updatePathCalculator ()
 update path calculator (called when SuperModes Demand or Data is selected) More...
 
 ~PathCalculator ()
 destructor More...
 

Private Member Functions

std::vector< GNEEdge * > optimizeJunctionPath (const std::vector< GNEEdge * > &edges) const
 optimize junction path More...
 

Private Attributes

SUMOAbstractRouter< NBRouterEdge, NBVehicle > * myDijkstraRouter
 SUMO Abstract myDijkstraRouter. More...
 
const GNENetmyNet
 pointer to net More...
 
bool myPathCalculatorUpdated
 flag for checking if path calculator is updated More...
 

Detailed Description

class used to calculate paths in nets

Definition at line 208 of file GNEPathManager.h.

Constructor & Destructor Documentation

◆ PathCalculator()

GNEPathManager::PathCalculator::PathCalculator ( const GNENet net)

◆ ~PathCalculator()

GNEPathManager::PathCalculator::~PathCalculator ( )

destructor

Definition at line 244 of file GNEPathManager.cpp.

Member Function Documentation

◆ busStopConnected()

bool GNEPathManager::PathCalculator::busStopConnected ( const GNEAdditional busStop,
const GNEEdge edge 
) const

◆ calculateDijkstraPath() [1/5]

std::vector< GNEEdge * > GNEPathManager::PathCalculator::calculateDijkstraPath ( const SUMOVehicleClass  vClass,
const std::vector< GNEEdge * > &  edges 
) const

calculate Dijkstra path between a list of edges (for example, from-via-to edges)

Definition at line 264 of file GNEPathManager.cpp.

References GNENet::getAttributeCarriers(), and GNENetHelper::AttributeCarriers::retrieveEdge().

Referenced by GNEDemandElement::buildMenuCommandRouteLength(), GNEPathManager::calculatePath(), GNERouteHandler::canReverse(), GNEVehicle::isDemandElementValid(), GNEPathCreator::Path::Path(), GNEPlanCreator::PlanPath::PlanPath(), GNERouteHandler::transformToRouteFlow(), and GNERouteHandler::transformToVehicle().

Here is the caller graph for this function:

◆ calculateDijkstraPath() [2/5]

std::vector< GNEEdge * > GNEPathManager::PathCalculator::calculateDijkstraPath ( const SUMOVehicleClass  vClass,
GNEEdge fromEdge,
GNEEdge toEdge 
) const

calculate Dijkstra path between one edge

Definition at line 318 of file GNEPathManager.cpp.

◆ calculateDijkstraPath() [3/5]

std::vector< GNEEdge * > GNEPathManager::PathCalculator::calculateDijkstraPath ( const SUMOVehicleClass  vClass,
GNEEdge fromEdge,
GNEJunction toJunction 
) const

calculate Dijkstra path between from edge and to junction

Definition at line 324 of file GNEPathManager.cpp.

References GNEJunction::getGNEIncomingEdges().

◆ calculateDijkstraPath() [4/5]

std::vector< GNEEdge * > GNEPathManager::PathCalculator::calculateDijkstraPath ( const SUMOVehicleClass  vClass,
GNEJunction fromJunction,
GNEEdge toEdge 
) const

calculate Dijkstra path between from junction and to edge

Definition at line 341 of file GNEPathManager.cpp.

References GNEJunction::getGNEOutgoingEdges().

◆ calculateDijkstraPath() [5/5]

std::vector< GNEEdge * > GNEPathManager::PathCalculator::calculateDijkstraPath ( const SUMOVehicleClass  vClass,
GNEJunction fromJunction,
GNEJunction toJunction 
) const

calculate Dijkstra path between two Junctions

Definition at line 358 of file GNEPathManager.cpp.

References GNEJunction::getGNEIncomingEdges(), and GNEJunction::getGNEOutgoingEdges().

◆ calculateReachability()

void GNEPathManager::PathCalculator::calculateReachability ( const SUMOVehicleClass  vClass,
GNEEdge originEdge 
)

◆ consecutiveEdgesConnected()

bool GNEPathManager::PathCalculator::consecutiveEdgesConnected ( const SUMOVehicleClass  vClass,
const GNEEdge from,
const GNEEdge to 
) const

check if exist a path between the two given consecutive edges for the given VClass

Definition at line 428 of file GNEPathManager.cpp.

References GNEEdge::getGNEConnections(), GNEEdge::getLanes(), NBEdge::getLaneStruct(), GNEEdge::getNBEdge(), NBEdge::Lane::permissions, and SVC_PEDESTRIAN.

Referenced by GNEVehicle::getDemandElementProblem().

Here is the caller graph for this function:

◆ invalidatePathCalculator()

void GNEPathManager::PathCalculator::invalidatePathCalculator ( )

invalidate pathCalculator

Definition at line 505 of file GNEPathManager.cpp.

Referenced by GNEConnection::setAttribute(), GNECrossing::setAttribute(), GNEEdge::setAttribute(), GNEJunction::setAttribute(), and GNELane::setAttribute().

Here is the caller graph for this function:

◆ isPathCalculatorUpdated()

bool GNEPathManager::PathCalculator::isPathCalculatorUpdated ( ) const

check if pathCalculator is updated

Definition at line 499 of file GNEPathManager.cpp.

Referenced by GNENet::computeDemandElements(), GNEApplicationWindow::onCmdComputePathManager(), and GNEApplicationWindow::onUpdComputePathManager().

Here is the caller graph for this function:

◆ optimizeJunctionPath()

std::vector< GNEEdge * > GNEPathManager::PathCalculator::optimizeJunctionPath ( const std::vector< GNEEdge * > &  edges) const
private

optimize junction path

Definition at line 511 of file GNEPathManager.cpp.

◆ updatePathCalculator()

void GNEPathManager::PathCalculator::updatePathCalculator ( )

update path calculator (called when SuperModes Demand or Data is selected)

Definition at line 250 of file GNEPathManager.cpp.

References NBRouterEdge::getTravelTimeStatic().

Referenced by GNENet::computeDemandElements(), and GNEApplicationWindow::onCmdComputePathManager().

Here is the caller graph for this function:

Field Documentation

◆ myDijkstraRouter

SUMOAbstractRouter<NBRouterEdge, NBVehicle>* GNEPathManager::PathCalculator::myDijkstraRouter
private

SUMO Abstract myDijkstraRouter.

Definition at line 258 of file GNEPathManager.h.

Referenced by PathCalculator().

◆ myNet

const GNENet* GNEPathManager::PathCalculator::myNet
private

pointer to net

Definition at line 252 of file GNEPathManager.h.

Referenced by PathCalculator().

◆ myPathCalculatorUpdated

bool GNEPathManager::PathCalculator::myPathCalculatorUpdated
private

flag for checking if path calculator is updated

Definition at line 255 of file GNEPathManager.h.


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