fpmas 1.6
Public Member Functions | List of all members
fpmas::api::model::MoveAgentGroup< CellType > Class Template Referenceabstract

#include <spatial_model.h>

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

Public Member Functions

virtual DistributedMoveAlgorithm< CellType > & distributedMoveAlgorithm ()=0
 
- Public Member Functions inherited from fpmas::api::model::AgentGroup
virtual GroupId groupId () const =0
 
virtual const Behaviorbehavior ()=0
 
virtual void add (Agent *agent)=0
 
virtual void remove (Agent *agent)=0
 
virtual void clear ()=0
 
virtual void insert (AgentPtr *agent)=0
 
virtual void erase (AgentPtr *agent)=0
 
virtual std::vector< Agent * > agents () const =0
 
virtual std::vector< Agent * > localAgents () const =0
 
virtual std::vector< Agent * > distantAgents () const =0
 
virtual api::scheduler::Jobjob ()=0
 
virtual const api::scheduler::Jobjob () const =0
 
virtual api::scheduler::JobagentExecutionJob ()=0
 
virtual const api::scheduler::JobagentExecutionJob () const =0
 
virtual api::scheduler::JobList jobs () const =0
 
virtual void addEventHandler (Event event, api::utils::Callback< Agent * > *callback)=0
 
virtual void removeEventHandler (Event event, api::utils::Callback< Agent * > *callback)=0
 

Additional Inherited Members

- Public Types inherited from fpmas::api::model::AgentGroup
enum  Event { INSERT , ERASE , ADD , REMOVE }
 

Detailed Description

template<typename CellType>
class fpmas::api::model::MoveAgentGroup< CellType >

AgentGroup designed to implicitly include a DistributedMoveAlgorithm in the JobList returned by jobs().

Member Function Documentation

◆ distributedMoveAlgorithm()

template<typename CellType >
virtual DistributedMoveAlgorithm< CellType > & fpmas::api::model::MoveAgentGroup< CellType >::distributedMoveAlgorithm ( )
pure virtual

Returns the internal distributedMoveAlgorithm() associated to this group.

The execution of distributedMoveAlgorithm().jobs() apply the DistributedMoveAlgorithm to all agents currently contained in the group.

The JobList returned by jobs() corresponds to

virtual api::scheduler::Job & agentExecutionJob()=0
virtual DistributedMoveAlgorithm< CellType > & distributedMoveAlgorithm()=0
Returns
reference to internal distributed move algorithm instance

Implemented in fpmas::model::MoveAgentGroup< CellType >.


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