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.