![]() |
fpmas 1.6
|
#include <von_neumann_grid.h>


Additional Inherited Members | |
Public Member Functions inherited from fpmas::model::detail::GridBuilder< model::GridCell > | |
| GridBuilder (api::model::GridCellFactory< model::GridCell > &cell_factory, DiscreteCoordinate width, DiscreteCoordinate height) | |
| GridBuilder (DiscreteCoordinate width, DiscreteCoordinate height) | |
| DiscreteCoordinate | width () const |
| DiscreteCoordinate | height () const |
| std::vector< model::GridCell * > | build (api::model::SpatialModel< model::GridCell > &spatial_model) const override |
| std::vector< model::GridCell * > | build (api::model::SpatialModel< model::GridCell > &spatial_model, api::model::GroupList groups) const override |
| void | initSample (std::size_t n, std::function< void(model::GridCell *)> init_function) const |
| void | initSequence (const std::vector< T > &items, std::function< void(model::GridCell *, typename std::vector< T >::const_reference)> init_function) const |
Public Member Functions inherited from fpmas::api::model::CellNetworkBuilder< model::GridCell > | |
| virtual std::vector< model::GridCell * > | build (SpatialModel< model::GridCell > &spatial_model) const=0 |
| virtual std::vector< model::GridCell * > | build (SpatialModel< model::GridCell > &spatial_model, GroupList groups) const=0 |
Static Public Attributes inherited from fpmas::model::detail::GridBuilder< model::GridCell > | |
| static GridCellFactory< model::GridCell > | default_cell_factory |
Protected Types inherited from fpmas::model::detail::GridBuilder< model::GridCell > | |
| typedef std::vector< std::vector< model::GridCell * > > | CellMatrix |
Protected Member Functions inherited from fpmas::model::detail::GridBuilder< model::GridCell > | |
| virtual void | buildLocalGrid (api::model::SpatialModel< model::GridCell > &model, GridDimensions local_dimensions, CellMatrix &cells) const=0 |
| virtual void | linkFrontiers (api::model::SpatialModel< model::GridCell > &model, GridDimensions local_dimensions, CellMatrix &local_cells, std::vector< model::GridCell * > &frontier) const=0 |
CellNetworkBuilder implementation used to build a VonNeumann grid.
The built grid is such the successors of each GridCell correspond to GridCells of its VonNeumann neighborhood.
Notice that this only has an impact on internal performances, notably concerning the DistributedMoveAlgorithm: GridAgents' mobility and perception ranges are not limited to the "Von Neumann shape" of the Grid.