76 std::vector<unsigned>& weights) {
85 if (!e->isInternal() && !e->isTazConnector() && e->restricts(veh)) {
86 for (
const unsigned a :
graph->arcsOfEdge(e)) {
CCHMetricFamily< ROEdge, ROVehicle, SUMOVTypeParameter > ROCCHMetricFamily
the ROEdge instantiation of the CCH metric store, keyed by the vehicle-type parameters (stable pointe...
SUMOVehicleClass
Definition of vehicle classes to differ between different lane usage and authority types.
Metric-independent RoutingKit CCH topology over the PURE road graph.
double(* EffortOperation)(const E *const, const V *const, double)
effort callback signature, matching SUMOAbstractRouter::Operation
per-vehicle-type CCH metric store over a shared CCHGraph
MetricPtr get(const K *key, SUMOVehicleClass vClass, SUMOTime time, const V *veh)
the metric for (type key, period of time), built on the first query of the pair; nullptr before init....
void flagStale()
the efforts behind the cached metrics changed – a runtime permission change in the simulation (the ca...
SUMOTime periodEnd(SUMOTime time) const
the end of the weight period containing the given time (SUMOTime_MAX when the weights are static); CC...
static SUMOTime periodEnd(SUMOTime time)
the end of the weight period containing the given time (SUMOTime_MAX when the weights are static); CC...
static void reset(const ROVehicle *veh)
the edge weights changed behind the metrics (marouter after an assignment iteration,...
static void patchRestrictions(const ROCCHGraph *graph, const ROVehicle *veh, std::vector< unsigned > &weights)
post-fill hook: mask the edges that restrict the querying vehicle's type to inf_weight (restriction-p...
static ROCCHMetricFamily * myFamily
static void init(const ROCCHGraph *graph, ROCCHGraph::EffortOperation effort, SUMOTime begin, SUMOTime weightPeriod)
install the shared graph, effort function and weight-period grid (call once, before routing); weightP...
static const RoutingKit::CustomizableContractionHierarchyMetric * get(SUMOVehicleClass vClass, SUMOTime time, const ROVehicle *veh)
the metric for the vehicle's type at a query time, built on first use; matches CCHRouter::MetricProvi...
A basic edge for routing applications.
static const ROEdgeVector & getAllEdges()
Returns all ROEdges.
const SUMOVTypeParameter * getType() const
Returns the type of the routable.
A vehicle as used by router.
std::vector< double > paramRestrictions
cached value of parameters which may restrict access to certain edges
const unsigned inf_weight