mirror of
https://github.com/a-b-street/abstreet.git
synced 2024-12-27 16:36:02 +03:00
fix bike layer when there's no traffic yet
This commit is contained in:
parent
204b2962b1
commit
1161591b6b
@ -441,3 +441,11 @@ changes here.
|
|||||||
- rendering improvements: unzoomed agent size, visualizing routes on trip table, transparent roads beneath bridges, draw harbor island
|
- rendering improvements: unzoomed agent size, visualizing routes on trip table, transparent roads beneath bridges, draw harbor island
|
||||||
- overhauled street/address finder
|
- overhauled street/address finder
|
||||||
- parking mapper: shortcut to open bing
|
- parking mapper: shortcut to open bing
|
||||||
|
|
||||||
|
0.1.43
|
||||||
|
|
||||||
|
- new map picker!
|
||||||
|
- UI polish: traffic signal editor, layers, bus stops, delay plots
|
||||||
|
- generate more interesting biographies for people
|
||||||
|
- tuned all the map boundaries
|
||||||
|
- fleshing out lots of docs in preparation for the alpha release...
|
||||||
|
@ -82,6 +82,7 @@ impl LaneEditor {
|
|||||||
change_speed_limit(ctx, parent.speed_limit).margin_below(5),
|
change_speed_limit(ctx, parent.speed_limit).margin_below(5),
|
||||||
Widget::row(vec![
|
Widget::row(vec![
|
||||||
Btn::text_fg("Finish").build_def(ctx, hotkey(Key::Escape)),
|
Btn::text_fg("Finish").build_def(ctx, hotkey(Key::Escape)),
|
||||||
|
// TODO Handle reverting speed limit too...
|
||||||
if app.primary.map.get_edits().original_lts.contains_key(&l)
|
if app.primary.map.get_edits().original_lts.contains_key(&l)
|
||||||
|| app.primary.map.get_edits().reversed_lanes.contains(&l)
|
|| app.primary.map.get_edits().reversed_lanes.contains(&l)
|
||||||
{
|
{
|
||||||
|
@ -555,7 +555,7 @@ pub fn change_speed_limit(ctx: &mut EventCtx, default: Speed) -> Widget {
|
|||||||
"Change speed limit:"
|
"Change speed limit:"
|
||||||
.draw_text(ctx)
|
.draw_text(ctx)
|
||||||
.centered_vert()
|
.centered_vert()
|
||||||
.margin_right(5),
|
.margin_right(15),
|
||||||
Widget::dropdown(
|
Widget::dropdown(
|
||||||
ctx,
|
ctx,
|
||||||
"speed limit",
|
"speed limit",
|
||||||
|
@ -56,9 +56,16 @@ impl Layer for BikeNetwork {
|
|||||||
|
|
||||||
impl BikeNetwork {
|
impl BikeNetwork {
|
||||||
pub fn new(ctx: &mut EventCtx, app: &App) -> BikeNetwork {
|
pub fn new(ctx: &mut EventCtx, app: &App) -> BikeNetwork {
|
||||||
// Show throughput, broken down by bike lanes or not
|
|
||||||
let mut on_bike_lanes = Counter::new();
|
let mut on_bike_lanes = Counter::new();
|
||||||
let mut off_bike_lanes = Counter::new();
|
let mut off_bike_lanes = Counter::new();
|
||||||
|
// Make sure all bikes lanes show up no matter what
|
||||||
|
for l in app.primary.map.all_lanes() {
|
||||||
|
if l.is_biking() {
|
||||||
|
on_bike_lanes.add(l.parent, 0);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Show throughput, broken down by bike lanes or not
|
||||||
for ((r, mode, _), count) in &app.primary.sim.get_analytics().road_thruput.counts {
|
for ((r, mode, _), count) in &app.primary.sim.get_analytics().road_thruput.counts {
|
||||||
if *mode == TripMode::Bike {
|
if *mode == TripMode::Bike {
|
||||||
let (fwd, back) = app.primary.map.get_r(*r).get_lane_types();
|
let (fwd, back) = app.primary.map.get_r(*r).get_lane_types();
|
||||||
@ -86,6 +93,7 @@ impl BikeNetwork {
|
|||||||
(on_bike_lanes, &app.cs.good_to_bad_monochrome_green),
|
(on_bike_lanes, &app.cs.good_to_bad_monochrome_green),
|
||||||
(off_bike_lanes, &app.cs.good_to_bad_monochrome_red),
|
(off_bike_lanes, &app.cs.good_to_bad_monochrome_red),
|
||||||
] {
|
] {
|
||||||
|
// TODO This is nonsense, bin based on percentiles of values. Dupe values now.
|
||||||
let roads = counter.sorted_asc();
|
let roads = counter.sorted_asc();
|
||||||
let p50_idx = ((roads.len() as f64) * 0.5) as usize;
|
let p50_idx = ((roads.len() as f64) * 0.5) as usize;
|
||||||
let p90_idx = ((roads.len() as f64) * 0.9) as usize;
|
let p90_idx = ((roads.len() as f64) * 0.9) as usize;
|
||||||
|
Loading…
Reference in New Issue
Block a user