abstreet/geom
Dustin Carlino 7170efbdba Improve some gridlock cases near roundabouts particularly. #114, #75
1) If a car is blocked by a conflicting turn and is part of a cycle,
   wake up the car blocking it. In some cases, this wakes it up faster
   and unsticks things. Otherwise, it just wastes a little bit of time.
2) If a car is part of a cycle, allow blocking-the-box.
3) Continue sorting people at a stop sign by the time they've been
   waiting. But for cars "overflowing" their current lane, move them to
   the front of this ordering. It unsticks one particular situation.
4) Fix wakeup_waiting entirely. Before, it was waking up protected turns
   before permitted, but otherwise the ordering was arbitrary. Now actually
   respect stop sign ordering. I expect this to improve many other
   situations than the one I was checking.

This was all motivated by one particular roundabout in Poundbury. It
doesn't solve gridlock there, but it gets past a major blockage.
2021-03-08 17:47:01 -08:00
..
src Improve some gridlock cases near roundabouts particularly. #114, #75 2021-03-08 17:47:01 -08:00
Cargo.toml update geo related deps. (#508) 2021-02-08 16:34:56 -08:00
README.md Document as much of geom as I can before my battery dies. And a mechanical API changes, Angle::new_degs -> Angle::degrees 2020-10-19 19:55:05 -05:00

geom

This crate contains primitive types used by A/B Street. It's unclear if other apps will have any use for this crate. In some cases, geom just wraps much more polished APIs, like rust-geo. In others, it has its own geometric algorithms, but they likely have many bugs and make use-case-driven assumptions. So, be warned if you use this.

Contents

Many of the types are geometric: Pt2D, Ring, Distance, Line, InfiniteLine, FindClosest, Circle, Angle, LonLat, Bounds, GPSBounds, PolyLine, Polygon, Triangle.

Some involve time: Time, Duration, Speed.

And there's also a Percent wrapper and a Histogram.