fpmas 1.6
Classes | Public Member Functions | List of all members
fpmas::model::DistributedMoveAlgorithm< CellType > Class Template Reference

#include <dist_move_algo.h>

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

Public Member Functions

 DistributedMoveAlgorithm (api::model::SpatialModel< CellType > &model, api::model::AgentGroup &move_agent_group, api::model::AgentGroup &cell_group, api::model::EndCondition< CellType > &end)
 
api::scheduler::JobList jobs () const override
 
virtual api::scheduler::JobList jobs () const =0
 

Detailed Description

template<typename CellType>
class fpmas::model::DistributedMoveAlgorithm< CellType >

api::model::DistributedMoveAlgorithm implementation.

Constructor & Destructor Documentation

◆ DistributedMoveAlgorithm()

template<typename CellType >
fpmas::model::DistributedMoveAlgorithm< CellType >::DistributedMoveAlgorithm ( api::model::SpatialModel< CellType > &  model,
api::model::AgentGroup move_agent_group,
api::model::AgentGroup cell_group,
api::model::EndCondition< CellType > &  end 
)
inline

◆ ~DistributedMoveAlgorithm()

template<typename CellType >
fpmas::model::DistributedMoveAlgorithm< CellType >::~DistributedMoveAlgorithm ( )
inlinevirtual

Member Function Documentation

◆ jobs()

template<typename CellType >
api::scheduler::JobList fpmas::model::DistributedMoveAlgorithm< CellType >::jobs ( ) const
inlineoverridevirtual

Returns an executable JobList that can be used to update the location, mobility field and perceptions of all agents.

The returned job list can be scheduled right after the execution of agents' behaviors that include SpatialAgent::moveTo() operations, in order to commit them. Notice that a graph synchronization is required between those operations and the execution of jobs returned by this method.

All those operations can be handled automatically using dedicated AgentGroups: see SpatialModel::buildMoveGroup().

Parameters
modelcurrent SpatialModel
agentsLOCAL agents to move
cellsLOCAL cells of the current Cell network, within which agents are moving

Implements fpmas::api::model::DistributedMoveAlgorithm< CellType >.


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