![]() |
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 | |
![]() | |
typedef CellType | FinalAgentType |
![]() | |
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