mirror of
https://github.com/a-b-street/abstreet.git
synced 2024-11-24 01:15:12 +03:00
7170efbdba
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. |
||
---|---|---|
.. | ||
src | ||
Cargo.toml | ||
README.md |
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
.