Module map_model::make::traffic_signals[][src]

Expand description

The various traffic signal generators live in the traffic signal module. Eventually, we might want to move to a trait. For now, there’s a single make_traffic_signal static method in each generator file, which is called to generate a traffic signal of a particular flavor.

For example, lagging_green.rs contains a one public fn: pub fn make_traffic_signal(map: &Map, i: IntersectionID)->Option

Modules

lagging_green

Constants

PROTECTED
YIELD

Functions

all_walk_all_yield
degenerate
expand_all_stages
four_way_four_stage
four_way_two_stage
get_possible_policies

Applies a bunch of heuristics to a single intersection, returning the valid results in best-first order. The signal configuration is only based on the roads connected to the intersection.

greedy_assignment
half_signal
make_stages
new
stage_per_road
synchronize

Simple second-pass after generating all signals. Find pairs of traffic signals very close to each other with 2 stages each, see if the primary movement of the first stages lead to each other, and flip the order of stages if not. This is often wrong when the most common movement is actually turning left then going straight (near Mercer for example), but not sure how we could know that without demand data.

three_way