104 ROEdge(
const std::string&
id,
RONode* from,
RONode* to,
unsigned int index,
const int priority);
145 inline void setRestrictions(
const std::map<SUMOVehicleClass, SUMOReal>* restrictions) {
174 void buildTimeLines(
const std::string& measure,
const bool boundariesOverride);
218 return (
unsigned int)
myLanes.size();
380 template<PollutantsInterface::EmissionType ET>
static ROEdgeVector myEdges
std::map< SUMOVehicleClass, ROEdgeVector > myClassesSuccessorMap
The successors available for a given vClass.
SUMOReal get(const SumoXMLAttr attr, const SUMOReal defaultValue) const
Returns the named value from the map, or the default if it is not contained there.
A single lane the router may use.
SUMOVehicleClass
Definition of vehicle classes to differ between different lane usage and authority types...
unsigned int getNumSuccessors() const
Returns the number of edges this edge is connected to.
SUMOReal getDistanceTo(const ROEdge *other) const
optimistic distance heuristic for use in routing
static SUMOReal getNoiseEffort(const ROEdge *const edge, const ROVehicle *const veh, SUMOReal time)
SUMOVehicleClass getVClass() const
static bool myInterpolate
Information whether to interpolate at interval boundaries.
Structure representing possible vehicle parameter.
static ROEdge * dictionary(size_t index)
Returns the ROEdge at the index.
ValueTimeLine< SUMOReal > myTravelTimes
Container storing passing time varying over time for the edge.
virtual void addLane(ROLane *lane)
Adds a lane to the edge while loading.
static bool myAmParallel
Information whether we are routing multi-threaded.
SUMOVehicleClass vehicleClass
The vehicle's class.
EdgeFunc getFunc() const
Returns the function of the edge.
const SUMOVTypeParameter * getType() const
Returns the type of the vehicle.
An internal edge which models vehicles driving across a junction. This is currently not used for rout...
unsigned int getLaneNo() const
Returns the number of lanes this edge has.
std::vector< const ROEdge * > ConstROEdgeVector
void setFunc(EdgeFunc func)
Sets the function of the edge.
SVCPermissions myCombinedPermissions
The list of allowed vehicle classes combined across lanes.
const std::vector< ROLane * > & getLanes() const
Returns this edge's lanes.
void addTravelTime(SUMOReal value, SUMOReal timeBegin, SUMOReal timeEnd)
Adds a travel time value.
ROEdgeVector myFollowingEdges
List of edges that may be approached from this edge.
bool isWalkingArea() const
return whether this edge is walking area
static SUMOReal getDefaultImperfection(const SUMOVehicleClass vc=SVC_IGNORING)
Returns the default driver's imperfection (sigma or epsilon in Krauss' model) for the given vehicle c...
std::vector< ROEdge * > ROEdgeVector
bool hasLoadedTravelTime(SUMOReal time) const
Returns whether a travel time for this edge was loaded.
A vehicle as used by router.
An internal edge which models walking areas for pedestrians.
const RONode * getToJunction() const
bool allFollowersProhibit(const ROVehicle *const vehicle) const
Returns whether this edge succeeding edges prohibit the given vehicle to pass them.
static SUMOReal getEffortStatic(const ROEdge *const edge, const ROVehicle *const veh, SUMOReal time)
Returns the effort for the given edge.
bool isInternal() const
return whether this edge is an internal edge
const std::map< SUMOVehicleClass, SUMOReal > * myRestrictions
The vClass speed restrictions for this edge.
RONode * myFromJunction
the junctions for this edge
ValueTimeLine< SUMOReal > myEfforts
Container storing passing time varying over time for the edge.
An edge where vehicles disappear (no vehicle may leave this edge)
void buildTimeLines(const std::string &measure, const bool boundariesOverride)
Builds the internal representation of the travel time/effort.
bool myUsingTTTimeLine
Information whether the time line shall be used instead of the length value.
bool isConnectedTo(const ROEdge *const e, const ROVehicle *const vehicle) const
returns the information whether this edge is directly connected to the given
An edge where vehicles are inserted at (no vehicle may come from back)
static bool myHaveEWarned
Information whether the edge has reported missing weights.
SUMOReal myLength
The length of the edge.
bool myUsingETimeLine
Information whether the time line shall be used instead of the length value.
static SUMOReal computeDefault(const SUMOEmissionClass c, const EmissionType e, const double v, const double a, const double slope, const SUMOReal tt)
Returns the amount of emitted pollutant given the vehicle type and default values for the state (in m...
std::vector< ROEdge * > ROEdgeVector
const ROEdgeVector & getPredecessors() const
Returns the edge at the given position from the list of incoming edges.
unsigned int getNumericalID() const
Returns the index (numeric id) of the edge.
std::vector< ROLane * > myLanes
This edge's lanes.
ROEdge(const std::string &id, RONode *from, RONode *to, unsigned int index, const int priority)
Constructor.
const unsigned int myIndex
The index (numeric id) of the edge.
virtual ~ROEdge()
Destructor.
A basic edge for routing applications.
Base class for objects which have an id.
SUMOReal mySpeed
The maximum speed allowed on this edge.
void setRestrictions(const std::map< SUMOVehicleClass, SUMOReal > *restrictions)
Sets the vehicle class specific speed limits of the edge.
SUMOReal maxSpeed
The vehicle type's maximum speed [m/s].
const RONode * getFromJunction() const
void addEffort(SUMOReal value, SUMOReal timeBegin, SUMOReal timeEnd)
Adds a weight value.
virtual void addSuccessor(ROEdge *s, std::string dir="")
Adds information about a connected edge.
An internal edge which models pedestrian crossings.
int getPriority() const
get edge priority (road class)
SUMOReal getLength() const
Returns the length of the edge.
ROEdgeVector myApproachingEdges
List of edges that approached this edge.
bool prohibits(const ROVehicle *const vehicle) const
Returns whether this edge prohibits the given vehicle to pass it.
SUMOReal getEffort(const ROVehicle *const veh, SUMOReal time) const
Returns the effort for this edge.
static SUMOReal getEmissionEffort(const ROEdge *const edge, const ROVehicle *const veh, SUMOReal time)
const ROEdgeVector & getSuccessors() const
Returns the following edges.
EdgeFunc
Possible functions of edges.
unsigned int getNumPredecessors() const
Returns the number of edges connected to this edge.
bool getStoredEffort(SUMOReal time, SUMOReal &ret) const
Retrieves the stored effort.
static void setGlobalOptions(bool interpolate, bool isParallel)
static size_t dictSize()
Returns the number of edges.
SUMOReal getChosenSpeedFactor() const
Returns an upper bound for the speed factor of this vehicle.
static SUMOReal getDefaultAccel(const SUMOVehicleClass vc=SVC_IGNORING)
Returns the default acceleration for the given vehicle class This needs to be a function because the ...
Base class for nodes used by the router.
bool isCrossing() const
return whether this edge is a pedestrian crossing
SUMOReal getTravelTime(const ROVehicle *const veh, SUMOReal time) const
Returns the travel time for this edge.
static bool myHaveTTWarned
Information whether the edge has reported missing weights.
SVCPermissions getPermissions() const
SUMOReal getMinimumTravelTime(const ROVehicle *const veh) const
Returns a lower bound for the travel time on this edge without using any stored timeLine.
An edge representing a whole district.
EdgeFunc myFunc
The function of the edge.
ROEdge & operator=(const ROEdge &src)
Invalidated assignment operator.
SUMOReal getSpeed() const
Returns the speed allowed on this edge.
const int myPriority
The edge priority (road class)
SUMOEmissionClass emissionClass
The emission class of this vehicle.
static SUMOReal getTravelTimeStatic(const ROEdge *const edge, const ROVehicle *const veh, SUMOReal time)
Returns the travel time for the given edge.