 |
Eclipse SUMO - Simulation of Urban MObility
|
Go to the documentation of this file.
18 #ifndef PedestrianEdge_h
19 #define PedestrianEdge_h
27 #define TL_RED_PENALTY 20
36 template<
class E,
class L,
class N,
class V>
39 PedestrianEdge(
int numericalID,
const E* edge,
const L* lane,
bool forward,
const double pos = -1.) :
40 IntermodalEdge<E, L, N, V>(edge->
getID() + (edge->isWalkingArea() ?
"" : (forward ?
"_fwd" :
"_bwd")) +
toString(pos), numericalID, edge,
"!ped"),
46 return allEdges || (!this->
getEdge()->isCrossing() && !this->
getEdge()->isWalkingArea() && !this->
getEdge()->isInternal());
50 if (trip->
node == 0) {
55 return (this->
getEdge()->getFromJunction() != trip->
node
56 && this->getEdge()->getToJunction() != trip->
node);
82 #ifdef IntermodalRouter_DEBUG_EFFORTS
83 std::cout <<
" effort for " << trip->
getID() <<
" at " << time <<
" edge=" << edge->getID() <<
" effort=" << length / trip->
speed + tlsDelay <<
" l=" << length <<
" s=" << trip->
speed <<
" tlsDelay=" << tlsDelay <<
"\n";
85 return length / trip->
speed + tlsDelay;
PedestrianEdge(int numericalID, const E *edge, const L *lane, bool forward, const double pos=-1.)
bool includeInRoute(bool allEdges) const
the base edge type that is given to the internal router (SUMOAbstractRouter)
const SUMOTime departTime
the pedestrian edge type that is given to the internal router (SUMOAbstractRouter)
double getStartPos() const
virtual double getTravelTime(const IntermodalTrip< E, N, V > *const trip, double time) const
const E * getEdge() const
const bool myForward
the direction of this edge
std::string toString(const T &t, std::streamsize accuracy=gPrecision)
std::string getID() const
@ LINKSTATE_TL_RED
The link has red light (must brake)
const std::string & getID() const
Returns the id.
the "vehicle" type that is given to the internal router (SUMOAbstractRouter)
const double myStartPos
the starting position for split edges
bool prohibits(const IntermodalTrip< E, N, V > *const trip) const
const L * myLane
the original edge