86 ROEdge(
const std::string&
id,
RONode* from,
RONode* to,
int index,
const int priority);
176 void buildTimeLines(
const std::string& measure,
const bool boundariesOverride);
239 std::map<SUMOVehicleClass, double>::const_iterator r =
myRestrictions->find(vclass);
297 void addEffort(
double value,
double timeBegin,
double timeEnd);
306 void addTravelTime(
double value,
double timeBegin,
double timeEnd);
417 }
else if (veh != 0) {
425 template<PollutantsInterface::EmissionType ET>
555 mutable FXMutex myLock;
static ROEdgeVector myEdges
std::map< SUMOVehicleClass, ROEdgeVector > myClassesSuccessorMap
The successors available for a given vClass.
static double getEffortStatic(const ROEdge *const edge, const ROVehicle *const veh, double time)
Returns the effort for the given edge.
const ROEdgeVector & getPredecessors() const
Returns the edge at the given position from the list of incoming edges.
SUMOVehicleClass getVClass() const
const Position & getPosition() const
Returns the position of the node.
bool isTazConnector() const
double myLength
The length of the edge.
void addTravelTime(double value, double timeBegin, double timeEnd)
Adds a travel time value.
int getNumericalID() const
Returns the index (numeric id) of the edge.
A single lane the router may use.
double mySpeed
The maximum speed allowed on this edge.
bool allFollowersProhibit(const ROVehicle *const vehicle) const
Returns whether this edge succeeding edges prohibit the given vehicle to pass them.
int getNumSuccessors() const
Returns the number of edges this edge is connected to.
SUMOVehicleClass
Definition of vehicle classes to differ between different lane usage and authority types...
int getNumLanes() const
Returns the number of lanes this edge has.
const std::map< SUMOVehicleClass, double > * myRestrictions
The vClass speed restrictions for this edge.
static bool myInterpolate
Information whether to interpolate at interval boundaries.
Structure representing possible vehicle parameter.
Boundary myTazBoundary
The bounding rectangle of incoming or outgoing edges for taz connectors.
int SVCPermissions
bitset where each bit declares whether a certain SVC may use this edge/lane
const RONode * getFromJunction() const
void setSource(const bool isSource=true)
Sets whether the edge is a source.
bool prohibits(const ROVehicle *const vehicle) const
Returns whether this edge prohibits the given vehicle to pass it.
double getLengthGeometryFactor() const
return a lower bound on shape.length() / myLength that is
virtual void addLane(ROLane *lane)
Adds a lane to the edge while loading.
SUMOVehicleClass vehicleClass
The vehicle's class.
void setSink(const bool isSink=true)
Sets whether the edge is a sink.
double getEffort(const ROVehicle *const veh, double time) const
Returns the effort for this edge.
double getLength() const
Returns the length of the edge.
std::vector< const ROEdge * > ConstROEdgeVector
const RONode * getToJunction() const
SVCPermissions myCombinedPermissions
The list of allowed vehicle classes combined across lanes.
bool isCrossing() const
return whether this edge is a pedestrian crossing
SVCPermissions getPermissions() const
A class that stores a 2D geometrical boundary.
double getChosenSpeedFactor() const
Returns an upper bound for the speed factor of this vehicle.
static double getDefaultAccel(const SUMOVehicleClass vc=SVC_IGNORING)
Returns the default acceleration for the given vehicle class This needs to be a function because the ...
double getMinimumTravelTime(const ROVehicle *const veh) const
Returns a lower bound for the travel time on this edge without using any stored timeLine.
ROEdgeVector myFollowingEdges
List of edges that may be approached from this edge.
static double getDefaultImperfection(const SUMOVehicleClass vc=SVC_IGNORING)
Returns the default driver's imperfection (sigma or epsilon in Krauss' model) for the given vehicle c...
int getNumPredecessors() const
Returns the number of edges connected to this edge.
SumoXMLEdgeFunc myFunction
The function of the edge.
std::vector< ROEdge * > ROEdgeVector
double getDistanceTo(const ROEdge *other) const
optimistic distance heuristic for use in routing
bool hasLoadedTravelTime(double time) const
Returns whether a travel time for this edge was loaded.
A vehicle as used by router.
static double getEmissionEffort(const ROEdge *const edge, const ROVehicle *const veh, double time)
static double getTravelTimeStatic(const ROEdge *const edge, const ROVehicle *const veh, double time)
Returns the travel time for the given edge.
double maxSpeed
The vehicle type's maximum speed [m/s].
RONode * myFromJunction
the junctions for 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.
const ROEdge * getNormalAfter() const
if this edge is an internal edge, return its first normal successor, otherwise the edge itself ...
static bool myHaveEWarned
Information whether the edge has reported missing weights.
bool myUsingETimeLine
Information whether the time line shall be used instead of the length value.
std::vector< ROEdge * > ROEdgeVector
void addEffort(double value, double timeBegin, double timeEnd)
Adds a weight value.
SumoXMLEdgeFunc getFunction() const
Returns the function of the edge.
bool myAmSink
whether the edge is a source or a sink
bool getStoredEffort(double time, double &ret) const
Retrieves the stored effort.
bool isWalkingArea() const
return whether this edge is walking area
static int dictSize()
Returns the number of edges.
std::vector< ROLane * > myLanes
This edge's lanes.
ValueTimeLine< double > myEfforts
Container storing passing time varying over time for the edge.
virtual ~ROEdge()
Destructor.
A basic edge for routing applications.
Base class for objects which have an id.
double getCFParam(const SumoXMLAttr attr, const double defaultValue) const
Returns the named value from the map, or the default if it is not contained there.
bool isSink() const
Returns whether the edge acts as a sink.
bool isInternal() const
return whether this edge is an internal edge
int getPriority() const
get edge priority (road class)
const SUMOVTypeParameter * getType() const
Returns the type of the routable.
virtual void addSuccessor(ROEdge *s, std::string dir="")
Adds information about a connected edge.
ROEdge(const std::string &id, RONode *from, RONode *to, int index, const int priority)
Constructor.
ROEdgeVector myApproachingEdges
List of edges that approached this edge.
bool isConnectedTo(const ROEdge *const e, const ROVehicle *const vehicle) const
returns the information whether this edge is directly connected to the given
const ROEdgeVector & getSuccessors() const
Returns the following edges.
static const ROEdgeVector & getAllEdges()
Returns all ROEdges.
double getTravelTime(const ROVehicle *const veh, double time) const
Returns the travel time for this edge.
SumoXMLEdgeFunc
Numbers representing special SUMO-XML-attribute values for representing edge functions used in netbui...
double getSpeedLimit() const
Returns the speed allowed on this edge.
static double getNoiseEffort(const ROEdge *const edge, const ROVehicle *const veh, double time)
const std::vector< ROLane * > & getLanes() const
Returns this edge's lanes.
ValueTimeLine< double > myTravelTimes
Container storing passing time varying over time for the edge.
static void setGlobalOptions(const bool interpolate)
double getVClassMaxSpeed(SUMOVehicleClass vclass) const
Returns the lane's maximum speed, given a vehicle's speed limit adaptation.
double distanceTo(const Position &p2) const
returns the euclidean distance in 3 dimension
Base class for nodes used by the router.
static bool myHaveTTWarned
Information whether the edge has reported missing weights.
const ROEdge * getNormalBefore() const
if this edge is an internal edge, return its first normal predecessor, otherwise the edge itself ...
void setRestrictions(const std::map< SUMOVehicleClass, double > *restrictions)
Sets the vehicle class specific speed limits of the edge.
static double computeDefault(const SUMOEmissionClass c, const EmissionType e, const double v, const double a, const double slope, const double tt, const std::map< int, double > *param=0)
Returns the amount of emitted pollutant given the vehicle type and default values for the state (in m...
const int myIndex
The index (numeric id) of the edge.
ROEdge & operator=(const ROEdge &src)
Invalidated assignment operator.
const int myPriority
The edge priority (road class)
SUMOEmissionClass emissionClass
The emission class of this vehicle.
void setFunction(SumoXMLEdgeFunc func)
Sets the function of the edge.