Module sim::make [−][src]
Expand description
Everything needed to setup a simulation. https://a-b-street.github.io/docs/tech/trafficsim/travel_demand.html for context.
Re-exports
pub use self::external::ExternalPerson;
pub use self::external::ExternalTrip;
pub use self::external::ExternalTripEndpoint;
pub use self::external::MapBorders;
pub use self::generator::BorderSpawnOverTime;
pub use self::generator::ScenarioGenerator;
pub use self::generator::SpawnOverTime;
pub use self::load::SimFlags;
pub use self::modifier::ScenarioModifier;
pub use self::scenario::IndividTrip;
pub use self::scenario::PersonSpec;
pub use self::scenario::Scenario;
pub use self::scenario::TripPurpose;
pub use self::spawner::TripEndpoint;
Modules
An activity model creates “people” that follow a set schedule of activities through the day. Each activity (like shopping, working, sleeping) lasts some time, and requires the person to go somewhere at some time. This is an extremely simple activity model that just uses data inferred from OSM.
Some users of the API (https://a-b-street.github.io/docs/tech/dev/api.html) have their own simulation input data; import it here.
This is a much more primitive way to randomly generate trips. activity_model.rs has something more realistic.
Intermediate structures used to instantiate a Scenario. Badly needs simplification: https://github.com/a-b-street/abstreet/issues/258
Functions
Need to explain this trick – basically keeps consistency between two different simulations when each one might make slightly different sequences of calls to the RNG.