fpmas-metamodel 1.0
Loading...
Searching...
No Matches
Public Member Functions | List of all members
MetaGridModel< SyncMode > Class Template Reference

#include <metamodel.h>

Inheritance diagram for MetaGridModel< SyncMode >:
Inheritance graph
[legend]
Collaboration diagram for MetaGridModel< SyncMode >:
Collaboration graph
[legend]

Public Member Functions

void buildCells (const ModelConfig &config) override
 
void buildAgents (const ModelConfig &config) override
 
virtual std::string getName () const =0
 
virtual fpmas::api::model::Model & getModel ()=0
 
virtual fpmas::api::model::AgentGroup & cellGroup ()=0
 
virtual fpmas::api::model::AgentGroup & agentGroup ()=0
 
virtual DotOutputgetDotOutput ()=0
 
virtual BasicMetaModelinit ()=0
 
virtual void run ()=0
 

Detailed Description

template<template< typename > class SyncMode>
class MetaGridModel< SyncMode >

A generic MetaModel extension where Spatial Agents are moving on a Moore grid.

Member Function Documentation

◆ buildCells()

template<template< typename > class SyncMode>
void MetaGridModel< SyncMode >::buildCells ( const ModelConfig config)
overridevirtual

Builds a grid of size config.grid_width*config.grid_height.

A utility is assigned to each cell, according to the config.utility value:

GridAttractors are defined from config.grid_attractors. See MetaGridCell factory for more detailed information.

If config.json_output is true, a grid.json file describing the utility of Cells is built.

Parameters
configModel configuration

Implements MetaModel< GridModel< SyncMode, MetaGridCell >, MetaGridAgent >.

◆ buildAgents()

template<template< typename > class SyncMode>
void MetaGridModel< SyncMode >::buildAgents ( const ModelConfig config)
overridevirtual

Builds GridAgents on the grid.

A total of grid_size*config.occupation_rate Agents are initialized randomly and uniformly on the grid.

Parameters
configModel configuration

Implements MetaModel< GridModel< SyncMode, MetaGridCell >, MetaGridAgent >.


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