argos::CSpaceMultiThreadBalanceQuantity Class Reference

#include <space_multi_thread_balance_quantity.h>

Inheritance diagram for argos::CSpaceMultiThreadBalanceQuantity:
Collaboration diagram for argos::CSpaceMultiThreadBalanceQuantity:

Public Member Functions

 CSpaceMultiThreadBalanceQuantity ()
 
virtual ~CSpaceMultiThreadBalanceQuantity ()
 
virtual void Init (TConfigurationNode &t_tree)
 Initializes the space using the <arena> section of the XML configuration file. More...
 
virtual void Destroy ()
 Destroys the space and all its entities. More...
 
virtual void UpdateControllableEntitiesAct ()
 
virtual void UpdatePhysics ()
 
virtual void UpdateMedia ()
 
virtual void UpdateControllableEntitiesSenseStep ()
 
virtual void IterateOverControllableEntities (const TControllableEntityIterCBType &c_cb)
 Given a callback specified in the loop functions, iterate over all controllable entities currently present in the arena (including those that are currently disabled). More...
 
- Public Member Functions inherited from argos::CSpace
 CSpace ()
 Class constructor. More...
 
virtual ~CSpace ()
 Class destructor. More...
 
virtual void Reset ()
 Reset the space and all its entities. More...
 
UInt32 GetNumberEntities () const
 Returns the number of entities contained in the space. More...
 
CEntity::TVectorGetEntityVector ()
 Returns a vector of all the entities in the space. More...
 
CEntity::TVectorGetRootEntityVector ()
 Returns a vector of all the root entities in the space. More...
 
CEntityGetEntity (const std::string &str_id)
 Returns the entity with the given id. More...
 
void GetEntitiesMatching (CEntity::TVector &t_buffer, const std::string &str_pattern)
 Returns the entities matching a given pattern. More...
 
CEntity::TMapGetEntityMapPerId ()
 Returns a map of all entities ordered by id. More...
 
TMapPerTypePerIdGetEntityMapPerTypePerId ()
 Returns a nested map of entities, ordered by type and by id. More...
 
TMapPerTypeGetEntitiesByType (const std::string &str_type)
 Returns a map containing all the objects of a given type. More...
 
const TMapPerTypeGetEntitiesByType (const std::string &str_type) const
 
CFloorEntityGetFloorEntity ()
 Returns the floor entity. More...
 
void SetFloorEntity (CFloorEntity &c_floor_entity)
 Sets the floor entity. More...
 
virtual void Update ()
 Updates the space. More...
 
template<typename ENTITY >
void AddEntity (ENTITY &c_entity)
 Adds an entity of the given type. More...
 
template<typename ENTITY >
void RemoveEntity (ENTITY &c_entity)
 Removes an entity of the given type. More...
 
UInt32 GetSimulationClock () const
 Returns the current value of the simulation clock. More...
 
void SetSimulationClock (UInt32 un_simulation_clock)
 Sets a new value for the simulation clock. More...
 
void IncreaseSimulationClock (UInt32 un_increase=1)
 Increases the simulation clock by the wanted value. More...
 
const CVector3GetArenaSize () const
 Returns the arena size. More...
 
void SetArenaSize (const CVector3 &c_size)
 Sets the arena size. More...
 
const CVector3GetArenaCenter () const
 Returns the arena center. More...
 
void SetArenaCenter (const CVector3 &c_center)
 Sets the arena center. More...
 
const CRange< CVector3 > & GetArenaLimits () const
 Returns the arena limits. More...
 
virtual void AddEntityToPhysicsEngine (CEmbodiedEntity &c_entity)
 
- Public Member Functions inherited from argos::CBaseConfigurableResource
virtual ~CBaseConfigurableResource ()
 Class destructor. More...
 

Protected Member Functions

virtual void AddControllableEntity (CControllableEntity &c_entity)
 
virtual void RemoveControllableEntity (CControllableEntity &c_entity)
 
- Protected Member Functions inherited from argos::CSpace
void Distribute (TConfigurationNode &t_tree)
 
void AddBoxStrip (TConfigurationNode &t_tree)
 
bool ControllableEntityIterationEnabled () const
 

Additional Inherited Members

- Public Types inherited from argos::CSpace
typedef std::map< std::string, CAny, std::less< std::string > > TMapPerType
 A map of entities indexed by type description. More...
 
typedef std::map< std::string, TMapPerType, std::less< std::string > > TMapPerTypePerId
 A map of entities indexed by type description and by id. More...
 
typedef std::function< void(CControllableEntity *)> TControllableEntityIterCBType
 The callback type for iteration over controllable entities within the PreStep() and/or PostStep() parts of the CLoopFunctions, making the threads used by ARGoS accessible therein. More...
 
- Protected Attributes inherited from argos::CSpace
CSimulatorm_cSimulator
 
UInt32 m_unSimulationClock
 The current simulation clock. More...
 
CVector3 m_cArenaCenter
 Arena center. More...
 
CVector3 m_cArenaSize
 Arena size. More...
 
CRange< CVector3m_cArenaLimits
 Arena limits. More...
 
CEntity::TVector m_vecEntities
 A vector of entities. More...
 
CEntity::TVector m_vecRootEntities
 A vector of all the entities without a parent. More...
 
CEntity::TMap m_mapEntitiesPerId
 A map of entities. More...
 
TMapPerTypePerId m_mapEntitiesPerTypePerId
 A map of maps of all the simulated entities. More...
 
CControllableEntity::TVector m_vecControllableEntities
 A vector of controllable entities. More...
 
CFloorEntitym_pcFloorEntity
 The floor entity. More...
 
CPhysicsEngine::TVectorm_ptPhysicsEngines
 A pointer to the list of physics engines. More...
 
CMedium::TVectorm_ptMedia
 A pointer to the list of media. More...
 
TControllableEntityIterCBType m_cbControllableEntityIter {nullptr}
 Callback for iterating over entities from within the loop functions. More...
 

Detailed Description

Definition at line 15 of file space_multi_thread_balance_quantity.h.

Constructor & Destructor Documentation

◆ CSpaceMultiThreadBalanceQuantity()

argos::CSpaceMultiThreadBalanceQuantity::CSpaceMultiThreadBalanceQuantity ( )

Definition at line 51 of file space_multi_thread_balance_quantity.cpp.

◆ ~CSpaceMultiThreadBalanceQuantity()

virtual argos::CSpaceMultiThreadBalanceQuantity::~CSpaceMultiThreadBalanceQuantity ( )
inlinevirtual

Definition at line 71 of file space_multi_thread_balance_quantity.h.

Member Function Documentation

◆ AddControllableEntity()

void argos::CSpaceMultiThreadBalanceQuantity::AddControllableEntity ( CControllableEntity c_entity)
protectedvirtual

Reimplemented from argos::CSpace.

Definition at line 162 of file space_multi_thread_balance_quantity.cpp.

◆ Destroy()

void argos::CSpaceMultiThreadBalanceQuantity::Destroy ( )
virtual

Destroys the space and all its entities.

Reimplemented from argos::CSpace.

Definition at line 115 of file space_multi_thread_balance_quantity.cpp.

◆ Init()

void argos::CSpaceMultiThreadBalanceQuantity::Init ( TConfigurationNode t_tree)
virtual

Initializes the space using the <arena> section of the XML configuration file.

Parameters
t_treethe <arena> section of the XML configuration file.

Reimplemented from argos::CSpace.

Definition at line 59 of file space_multi_thread_balance_quantity.cpp.

◆ IterateOverControllableEntities()

void argos::CSpaceMultiThreadBalanceQuantity::IterateOverControllableEntities ( const TControllableEntityIterCBType c_cb)
virtual

Given a callback specified in the loop functions, iterate over all controllable entities currently present in the arena (including those that are currently disabled).

Implements argos::CSpace.

Definition at line 227 of file space_multi_thread_balance_quantity.cpp.

◆ RemoveControllableEntity()

void argos::CSpaceMultiThreadBalanceQuantity::RemoveControllableEntity ( CControllableEntity c_entity)
protectedvirtual

Reimplemented from argos::CSpace.

Definition at line 170 of file space_multi_thread_balance_quantity.cpp.

◆ UpdateControllableEntitiesAct()

void argos::CSpaceMultiThreadBalanceQuantity::UpdateControllableEntitiesAct ( )
virtual

Implements argos::CSpace.

Definition at line 193 of file space_multi_thread_balance_quantity.cpp.

◆ UpdateControllableEntitiesSenseStep()

void argos::CSpaceMultiThreadBalanceQuantity::UpdateControllableEntitiesSenseStep ( )
virtual

Implements argos::CSpace.

Definition at line 247 of file space_multi_thread_balance_quantity.cpp.

◆ UpdateMedia()

void argos::CSpaceMultiThreadBalanceQuantity::UpdateMedia ( )
virtual

Implements argos::CSpace.

Definition at line 218 of file space_multi_thread_balance_quantity.cpp.

◆ UpdatePhysics()

void argos::CSpaceMultiThreadBalanceQuantity::UpdatePhysics ( )
virtual

Implements argos::CSpace.

Definition at line 203 of file space_multi_thread_balance_quantity.cpp.