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


Protected Attributes | |
| std::set< DistributedId > | no_move_flags |
| std::set< DistributedId > | move_flags |
| std::set< DistributedId > | perception_flags |
Additional Inherited Members | |
Public Types inherited from fpmas::model::detail::AgentBase< CellInterface, CellType, CellType > | |
| typedef CellType | FinalAgentType |
Static Public Attributes inherited from fpmas::model::detail::AgentBase< CellInterface, CellType, CellType > | |
| static const api::model::TypeId | TYPE_ID |
api::model::Cell implementation.
The CellInterface template parameter specifies the API actually implemented by this class. It can be api::model::Cell, or any other api that extends the api::model::Cell interface (e.g. api::model::GridCell).
See fpmas::model::detail::AgentBase for more details about the implementation scheme.
|
default |
Auto generated default constructor.
|
default |
Auto generated copy constructor.
If CellType does not define any custom copy constructor , the CellType copy constructor copies all CellType members and all base classes (including this CellBase) members using their copy constructors.
If a custom CellType copy constructor is defined, this CellBase copy constructor must be called explictly to ensure required members are properly copied.
|
default |
Auto generated move constructor.
If CellType does not define any custom move constructor , the AgentType move constructor moves all internal CellType members and all base classes (including this CellBase) members using their move constructors.
If a custom CellType move constructor is defined, this CellBase move constructor must be called explictly to ensure required members are properly moved.
|
default |
Auto generated copy assignment operator.
If CellType does not define any custom copy assignment operator, the CellType copy assignment operator copies assign all CellType members and all base classes (including this CellBase) members.
If a custom CellType copy assignment operator is defined, this CellBase copy assignment operator must be called explictly to ensure required members are properly copied.
|
inline |
Move assignment operator.
Internal bufferes are preserved, i.e. they are not moved from other to this.
Since the current implementation does not do anything, there is no requirement to explicitly call this move constructor if a custom CellBase move constructor is defined.
|
override |
Returns successors of this Cell.
Successors are targets of outgoing edges from this Cell on the CELL_SUCCESSOR layer.
This method is assumed to be called on a LOCAL Cell. The returned list might be incomplete otherwise.
Implements fpmas::api::model::Cell
|
override |
Handles links on the NEW_LOCATION layer.
NEW_LOCATION links are replaced by LOCATION links, and the "range growing" algorithm is initialized, linking each NEW_LOCATION edges' sources to this cell's successors on the NEW_MOVE and NEW_PERCEIVE layers.
Implements fpmas::api::model::Cell
|
override |
Handles links on the MOVE layer.
Expands the current mobility range of MOVE edges' sources, if they have not been handled yet by this Cell. Expansion is performed linking each source to this cell's successors on the NEW_MOVE layer.
Implements fpmas::api::model::Cell
|
override |
Handles links on the PERCEIVE layer.
Expands the current perception range of PERCEIVE edges' sources, if they have not been handled yet by this Cell. Expansion is performed linking each source to this cell's successors on the NEW_PERCEIVE layer.
Implements fpmas::api::model::Cell
|
override |
Updates the perceptions of agents "perceiving" this Cell.
More precisely, each agent connected to this Cell on the PERCEIVE layer is linked to all agents located in this Cell, (i.e. connected on the LOCATION layer) on the PERCEPTION layer.
Implements fpmas::api::model::Cell
|
override |
Implementation free initialization method, called on each Cell when the DistributedMoveAlgorithm is run, before any other behavior is executed.
Implements fpmas::api::model::Cell
|
protected |
A local set of ids of agents that have not moved since the last DistributedMoveAlgorithm execution.
internal use only
|
protected |
A local set of ids of agents that have explored the current cell on the MOVE layer during the current DistributedMoveAlgorithm execution.
internal use only
|
protected |
A local set of ids of agents that have explored the current cell on the PERCEIVE layer during the current DistributedMoveAlgorithm execution.
internal use only