C++ Overview

C++ Overview#

The C++ code base is organised into two main sections, libraries and applications.

Applications#

  • Integrated_ABM: fully integrated activity-based dynamic traffic assignment

    • Hello_World: an example application using many Polaris development techniques

  • Test_Application: a bare-bones application used to learn how to build a Polaris application. See Building Your First Agent

  • Batch_Router:

  • Fixed_Demand_Simulator:

  • Population_Synthesizer:

Libraries#

  • Activity_Simulator: activity generation, destination choice, mode choice, and departure time choice

  • Commercial_Activity_Simulator:

  • Core: low level functionality: memory allocation, execution scheduling, data containers, concept checking, and macros

  • Fleet_Manager:

  • Io: Input/Output using ODB classes and support functions which enable object oriented database file access

  • ITS_Simulator:

  • Micromobility_Operations:

  • Population_Synthesis: components needed to generate a synthetic population

  • Repository: miscellaneous capabilities specific to transportation such as random number generation and POLARIS basic units

  • Routing: flexible multi-graph routing framework supported by high performance graph structures

  • Scenario_Manager: library for generating case studies and dispatch to a cluster environment

  • Spatial: Spatial geometry functions

  • TNC_Operator: Transportation Network Company (ex. Uber, Lyft) operations

  • Traffic_Simulator: pre-trip and en-route path choice, queue-based DTA, intersection controls, ITS components, and network events

  • Transit_Agencies_Operations:

  • Traveler_Simulator: