argos::CSpaceMultiThreadBalanceLength Class Reference

#include <space_multi_thread_balance_length.h>

Inheritance diagram for argos::CSpaceMultiThreadBalanceLength:
Collaboration diagram for argos::CSpaceMultiThreadBalanceLength:

Public Member Functions

 CSpaceMultiThreadBalanceLength ()
 
virtual ~CSpaceMultiThreadBalanceLength ()
 
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 Update ()
 Updates the space. 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...
 
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 AddControllableEntity (CControllableEntity &c_entity)
 
virtual void RemoveControllableEntity (CControllableEntity &c_entity)
 
virtual void AddEntityToPhysicsEngine (CEmbodiedEntity &c_entity)
 
- Public Member Functions inherited from argos::CBaseConfigurableResource
virtual ~CBaseConfigurableResource ()
 Class destructor. More...
 

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 Member Functions inherited from argos::CSpace
virtual void ControllableEntityIterationWaitAbort ()
 If the loop functions do not perform entity iteration in either of the PreStep() or PostStep() functions, then the threads which are currently waiting for the "go" signal from the loop functions need to be told in CSpace::Update() that they should stop waiting and start the next phase of the per-timestep updates. More...
 
void Distribute (TConfigurationNode &t_tree)
 
void AddBoxStrip (TConfigurationNode &t_tree)
 
bool ControllableEntityIterationEnabled () const
 
- 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 22 of file space_multi_thread_balance_length.h.

Constructor & Destructor Documentation

◆ CSpaceMultiThreadBalanceLength()

argos::CSpaceMultiThreadBalanceLength::CSpaceMultiThreadBalanceLength ( )
inline

Definition at line 26 of file space_multi_thread_balance_length.h.

◆ ~CSpaceMultiThreadBalanceLength()

virtual argos::CSpaceMultiThreadBalanceLength::~CSpaceMultiThreadBalanceLength ( )
inlinevirtual

Definition at line 27 of file space_multi_thread_balance_length.h.

Member Function Documentation

◆ Destroy()

void argos::CSpaceMultiThreadBalanceLength::Destroy ( )
virtual

Destroys the space and all its entities.

Reimplemented from argos::CSpace.

Definition at line 103 of file space_multi_thread_balance_length.cpp.

◆ Init()

void argos::CSpaceMultiThreadBalanceLength::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 67 of file space_multi_thread_balance_length.cpp.

◆ IterateOverControllableEntities()

void argos::CSpaceMultiThreadBalanceLength::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 213 of file space_multi_thread_balance_length.cpp.

◆ Update()

void argos::CSpaceMultiThreadBalanceLength::Update ( )
virtual

◆ UpdateControllableEntitiesAct()

void argos::CSpaceMultiThreadBalanceLength::UpdateControllableEntitiesAct ( )
virtual

Implements argos::CSpace.

Definition at line 180 of file space_multi_thread_balance_length.cpp.

◆ UpdateControllableEntitiesSenseStep()

void argos::CSpaceMultiThreadBalanceLength::UpdateControllableEntitiesSenseStep ( )
virtual

Implements argos::CSpace.

Definition at line 225 of file space_multi_thread_balance_length.cpp.

◆ UpdateMedia()

void argos::CSpaceMultiThreadBalanceLength::UpdateMedia ( )
virtual

Implements argos::CSpace.

Definition at line 204 of file space_multi_thread_balance_length.cpp.

◆ UpdatePhysics()

void argos::CSpaceMultiThreadBalanceLength::UpdatePhysics ( )
virtual

Implements argos::CSpace.

Definition at line 189 of file space_multi_thread_balance_length.cpp.