![]() |
fpmas 1.6
|
#include <spatial_model.h>
Public Types | |
typedef _CellType | CellType |
Public Member Functions | |
virtual void | add (CellType *cell)=0 |
virtual std::vector< CellType * > | cells ()=0 |
virtual AgentGroup & | cellGroup ()=0 |
virtual const AgentGroup & | cellGroup () const =0 |
virtual MoveAgentGroup< CellType > & | buildMoveGroup (GroupId id, const Behavior &behavior)=0 |
![]() | |
virtual AgentGraph & | graph ()=0 |
virtual const AgentGraph & | graph () const =0 |
virtual api::scheduler::Scheduler & | scheduler ()=0 |
virtual const api::scheduler::Scheduler & | scheduler () const =0 |
virtual api::runtime::Runtime & | runtime ()=0 |
virtual const api::runtime::Runtime & | runtime () const =0 |
virtual const api::scheduler::Job & | loadBalancingJob () const =0 |
virtual AgentGroup & | buildGroup (GroupId id)=0 |
virtual AgentGroup & | buildGroup (GroupId id, const Behavior &behavior)=0 |
virtual void | removeGroup (AgentGroup &group)=0 |
virtual AgentGroup & | getGroup (GroupId id) const =0 |
virtual const std::unordered_map< GroupId, AgentGroup * > & | groups () const =0 |
virtual AgentEdge * | link (Agent *src_agent, Agent *tgt_agent, api::graph::LayerId layer)=0 |
virtual void | unlink (AgentEdge *edge)=0 |
virtual api::communication::MpiCommunicator & | getMpiCommunicator ()=0 |
virtual const api::communication::MpiCommunicator & | getMpiCommunicator () const =0 |
virtual void | clear ()=0 |
Additional Inherited Members | |
![]() | |
virtual void | insert (GroupId id, AgentGroup *group)=0 |
Model API extension to handle SpatialAgents.
typedef _CellType fpmas::api::model::SpatialModel< _CellType >::CellType |
Type of Cell on which SpatialAgents are moving.
|
pure virtual |
Adds a Cell to this model.
Cells added to the model constitute the "Cell network", on which SpatialAgents, added to groups created with buildMoveGroup(), will be able to move.
cell | cell to add to the model |
|
pure virtual |
Returns the list of LOCAL cells on the current process.
Such Cells have necessarily been added to the model using add(), but might have migrate across processes during load-balancing operations.
Implemented in fpmas::model::SpatialModel< SyncMode, CellType, EndCondition >.
|
pure virtual |
Returns the AgentGroup containing all Cells in the current SpatialModel.
Implemented in fpmas::model::SpatialModel< SyncMode, CellType, EndCondition >.
|
pure virtual |
Returns the AgentGroup containing all Cells in the current SpatialModel.
Implemented in fpmas::model::SpatialModel< SyncMode, CellType, EndCondition >.
|
pure virtual |
Builds an agent group that automatically includes the DistributedMoveAlgorithm execution.
The specified behavior
is assumed to include some SpatialAgent::moveTo() operations, even if it's not required. Contrary to the Model::buildGroup() method, the returned group is such that in addition to the execution of the behavior
for each agent of the group, the AgentGroup::jobs() list also includes the DistributedMoveAlgorithm::jobs() list, built properly from cells() in the model and agents contained in the AgentGroup.
id | unique group id |
behavior | agent behavior |
Implemented in fpmas::model::SpatialModel< SyncMode, CellType, EndCondition >.