|
Utopia 2
Framework for studying models of complex & adaptive systems.
|
An interface to build and use cellular automata. More...

Classes | |
| class | Utopia::Cell< Traits > |
| A cell is a slightly specialized state container. More... | |
| class | Utopia::CellManager< CellTraits, Model > |
| Manages a physical space, its grid discretization, and cells on that grid. More... | |
| class | Utopia::Grid< Space > |
| The base class for all grid discretizations used by the CellManager. More... | |
| class | Utopia::HexagonalGrid< Space > |
| A grid discretization using hexagonal cells. More... | |
| class | Utopia::SquareGrid< Space > |
| A grid discretization using square cells. More... | |
| class | Utopia::TriangularGrid< Space > |
| A grid discretization using triangular cells. More... | |
Typedefs | |
| template<typename StateType , Update update_mode, bool use_def_state_constr = false, typename CellTags = EmptyTag, template< class > class CustomLinkContainers = NoCustomLinks> | |
| using | Utopia::CellTraits = EntityTraits< StateType, update_mode, use_def_state_constr, CellTags, CustomLinkContainers > |
| CellTraits are just another name for Utopia::EntityTraits. | |
| template<class Grid > | |
| using | Utopia::NBFuncID = std::function< IndexContainer(const IndexType)> |
| Type of the neighborhood calculating function. | |
Enumerations | |
| enum class | Utopia::GridStructure { Utopia::GridStructure::square , Utopia::GridStructure::triangular , Utopia::GridStructure::hexagonal } |
| Available grid implementations. More... | |
| enum class | Utopia::NBMode { Utopia::NBMode::empty = 0 , Utopia::NBMode::vonNeumann = 1 , Utopia::NBMode::Moore = 2 , Utopia::NBMode::hexagonal = 3 } |
| Possible neighborhood types; availability depends on choice of grid. More... | |
Functions | |
| std::string | Utopia::grid_structure_to_string (const GridStructure &structure) |
| Given an GridStructure enum value, return the corresponding string key. | |
| std::string | Utopia::nb_mode_to_string (const NBMode &nb_mode) |
| Given an NBMode enum value, return the corresponding string key. | |
Variables | |
| const std::map< std::string, GridStructure > | Utopia::grid_structure_map |
| A map from strings to grid structure enum values. | |
| const std::map< std::string, NBMode > | Utopia::nb_mode_map |
| A map from strings to neighborhood enum values. | |
An interface to build and use cellular automata.
The Utopia::CellManager and associated constructs allow convenient use of discretizations of physical space into rectangular, hexagonal, or triangular grids.
| using Utopia::CellTraits = typedef EntityTraits<StateType, update_mode, use_def_state_constr, CellTags, CustomLinkContainers> |
CellTraits are just another name for Utopia::EntityTraits.
| using Utopia::NBFuncID = typedef std::function<IndexContainer(const IndexType)> |
Type of the neighborhood calculating function.
|
strong |
Available grid implementations.
| Enumerator | |
|---|---|
| square | A square lattice grid. |
| triangular | A triangular lattice grid. |
| hexagonal | A hexagonal lattice grid. |
|
strong |
Possible neighborhood types; availability depends on choice of grid.
| std::string Utopia::grid_structure_to_string | ( | const GridStructure & | structure | ) |
Given an GridStructure enum value, return the corresponding string key.
This iterates over the grid_structure_map and returns the first key that matches the given enum value.
Given an NBMode enum value, return the corresponding string key.
This iterates over the nb_mode_map and returns the first key that matches the given enum value.
| const std::map<std::string, GridStructure> Utopia::grid_structure_map |
A map from strings to grid structure enum values.
A map from strings to neighborhood enum values.