[][src]Module sim::make

Everything needed to setup a simulation. https://dabreegster.github.io/abstreet/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::generator::BorderSpawnOverTime;
pub use self::generator::OriginDestination;
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::OffMapLocation;
pub use self::scenario::PersonSpec;
pub use self::scenario::Scenario;
pub use self::scenario::SpawnTrip;
pub use self::scenario::TripPurpose;
pub use self::spawner::TripSpawner;
pub use self::spawner::TripSpec;

Modules

activity_model

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.

external

Some users of the API (https://dabreegster.github.io/abstreet/dev/api.html) have their own simulation input data; import it here.

generator

This is a much more primitive way to randomly generate trips. activity_model.rs has something more realistic.

load
modifier
scenario
spawner

Intermediate structures used to instantiate a Scenario. Badly needs simplification: https://github.com/dabreegster/abstreet/issues/258

Functions

fork_rng

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.