35template<
class E,
class N,
class V>
42template<
class E,
class N,
class V>
100 FXMutexLock lock(mySuccessorMutex);
111 if (viaPair.first->getOriginalEdge()->isTazConnector()
112 || viaPair.first->getOriginalEdge()->isConnectedTo(*(this->
getOriginalEdge()), vClass)) {
113 result.push_back(viaPair);
123 return this->
getOriginalEdge()->getBidiEdge()->getFlippedRoutingEdge();
184 mutable FXMutex mySuccessorMutex;
192template<
class E,
class N,
class V>
194 if (!this->getOriginalEdge()->isInternal()) {
195 for (
const auto& viaPair : this->getOriginalEdge()->getViaSuccessors()) {
197 const E* via = viaPair.second;
199 while (via !=
nullptr && via->isInternal()) {
200 via->getFlippedRoutingEdge()->
myViaSuccessors.push_back(std::make_pair(
this, preVia));
201 preVia = via->getFlippedRoutingEdge();
SUMOVehicleClass
Definition of vehicle classes to differ between different lane usage and authority types.
@ SVC_IGNORING
vehicles ignoring classes
#define UNUSED_PARAMETER(x)
The edge type representing backward edges with flipped nodes.
double getLengthGeometryFactor() const
Returns a lower bound on shape.length() / myLength.
bool hasLoadedTravelTimes() const
Returns a boolean flag indicating whether this edge has loaded travel times or not.
static double getTravelTimeStaticRandomized(const FlippedEdge< E, N, V > *const edge, const V *const veh, double time)
Returns the randomized time for travelling on the given edge with the given vehicle at the given time...
~FlippedEdge()
Destructor.
void init()
Initialize the flipped edge.
double getDistanceTo(const FlippedEdge< E, N, V > *other, const bool doBoundaryEstimate=false) const
Returns the distance to another flipped edge param[in] other The other flipped edge param[in] doBound...
FlippedEdge(const E *originalEdge)
Constructor.
const FlippedEdge< E, N, V > * getBidiEdge() const
Returns the bidirectional edge.
int getPriority() const
Returns the edge priority (road class)
double getTimePenalty() const
Returns the time penalty.
ConstFlippedEdgePairVector myViaSuccessors
FlippedNode< E, N, V > * myFromJunction
The junctions for this edge.
std::map< SUMOVehicleClass, ConstFlippedEdgePairVector > myClassesViaSuccessorMap
The successors available for a given vClass.
static double getTravelTimeStatic(const FlippedEdge< E, N, V > *const edge, const V *const veh, double time)
Returns the time for travelling on the given edge with the given vehicle at the given time.
FlippedNode< E, N, V > * myToJunction
const FlippedNode< E, N, V > * getFromJunction() const
Returns the from-junction.
double getMinimumTravelTime(const V *const veh) const
Returns the minimum travel time.
const FlippedNode< E, N, V > * getToJunction() const
Returns the to-junction.
std::vector< std::pair< const FlippedEdge< E, N, V > *, const FlippedEdge< E, N, V > * > > ConstFlippedEdgePairVector
double getSpeedLimit() const
Returns the speed allowed on this edge.
const ConstFlippedEdgePairVector & getViaSuccessors(SUMOVehicleClass vClass=SVC_IGNORING, bool ignoreTransientPermissions=false) const
Returns the via successors.
the node type representing nodes used for backward search
the edge type representing backward edges
const E * getOriginalEdge() const
Returns the original edge.