fpmas 1.6
List of all members
fpmas::model::VonNeumannGridBuilder< CellType > Class Template Reference

#include <von_neumann_grid.h>

Inheritance diagram for fpmas::model::VonNeumannGridBuilder< CellType >:
Inheritance graph
[legend]
Collaboration diagram for fpmas::model::VonNeumannGridBuilder< CellType >:
Collaboration graph
[legend]

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::GridCelldefault_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
 

Detailed Description

template<typename CellType = model::GridCell>
class fpmas::model::VonNeumannGridBuilder< CellType >

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.

See also
VonNeumannRange
MooreRange

The documentation for this class was generated from the following file: