fpmas 1.6
Classes | Namespaces | Macros | Typedefs
spatial_model.h File Reference
#include "dist_move_algo.h"
#include "fpmas/api/model/exceptions.h"
#include "../serializer.h"
#include <type_traits>
Include dependency graph for spatial_model.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  fpmas::model::MoveAgentGroup< CellType >
 
class  fpmas::model::detail::CurrentOutLayer
 
class  fpmas::model::CellBase< CellInterface, CellType, TypeIdBase >
 
class  fpmas::model::SpatialModel< SyncMode, CellType, EndCondition >
 
class  fpmas::model::SpatialAgentBase< SpatialAgentInterface, AgentType, CellType, Derived >
 
class  fpmas::model::SpatialAgent< AgentType, CellType, Derived >
 
struct  fpmas::model::VoidRange< CellType >
 
struct  fpmas::model::LocationRange< CellType >
 
class  fpmas::model::DefaultSpatialAgentFactory< AgentType >
 
class  fpmas::model::SpatialAgentBuilderBase< CellType, MappingCellType >
 
class  fpmas::model::SpatialAgentBuilder< CellType, MappingCellType >
 
struct  nlohmann::adl_serializer< fpmas::api::utils::PtrWrapper< fpmas::model::SpatialAgentBase< SpatialAgentInterface, AgentType, CellType, Derived > > >
 
struct  fpmas::io::json::light_serializer< PtrWrapper< fpmas::model::SpatialAgentBase< SpatialAgentInterface, AgentType, CellType, Derived > > >
 
struct  fpmas::io::datapack::Serializer< PtrWrapper< fpmas::model::SpatialAgentBase< SpatialAgentInterface, AgentType, CellType, Derived > > >
 
struct  fpmas::io::datapack::LightSerializer< PtrWrapper< fpmas::model::SpatialAgentBase< SpatialAgentInterface, AgentType, CellType, Derived > > >
 

Namespaces

namespace  fpmas
 
namespace  fpmas::model
 
namespace  fpmas::model::detail
 
namespace  nlohmann
 
namespace  fpmas::io
 
namespace  fpmas::io::json
 
namespace  fpmas::io::datapack
 

Macros

#define FPMAS_MOBILITY_RANGE(RANGE)    const decltype(RANGE)& mobilityRange() const override {return RANGE;}
 
#define FPMAS_PERCEPTION_RANGE(RANGE)    const decltype(RANGE)& perceptionRange() const override {return RANGE;}
 

Typedefs

template<typename CellType , typename TypeIdBase = CellType>
using fpmas::model::Cell = CellBase< api::model::Cell, CellType, TypeIdBase >
 

Detailed Description

Spatial models implementation.

Macro Definition Documentation

◆ FPMAS_MOBILITY_RANGE

#define FPMAS_MOBILITY_RANGE (   RANGE)     const decltype(RANGE)& mobilityRange() const override {return RANGE;}

Utility macro to define the fpmas::api::model::SpatialAgent::mobilityRange() method for the current agent so that it returns the specified RANGE.

This macro must be called within the class definition of a SpatialAgent.

Using this macro is not required: the mobilityRange() method can be manually defined.

Parameters
RANGEreference to the agent mobility range. The specified range might be a class member, a static variable, or any other variable which lifetime exceeds the one of the current agent.

◆ FPMAS_PERCEPTION_RANGE

#define FPMAS_PERCEPTION_RANGE (   RANGE)     const decltype(RANGE)& perceptionRange() const override {return RANGE;}

Utility macro to define the fpmas::api::model::SpatialAgent::perceptionRange() method for the current agent so that it returns the specified RANGE.

This macro must be called within the class definition of a SpatialAgent.

Using this macro is not required: the perceptionRange() method can be manually defined.

Parameters
RANGEreference to the agent perception range. The specified range might be a class member, a static variable, or any other variable which lifetime exceeds the one of the current agent.