argos::CBoxEntity Class Reference

#include <box_entity.h>

Inheritance diagram for argos::CBoxEntity:
Collaboration diagram for argos::CBoxEntity:

Public Member Functions

 ENABLE_VTABLE ()
 
 CBoxEntity ()
 
 CBoxEntity (const std::string &str_id, const CVector3 &c_position, const CQuaternion &c_orientation, bool b_movable, const CVector3 &c_size, Real f_mass=1.0f)
 
virtual void Init (TConfigurationNode &t_tree)
 Initializes the state of the entity from the XML configuration tree. More...
 
virtual void Reset ()
 Resets the state of the entity to whatever it was after Init() or the standalone constructor was called. More...
 
void EnableLEDs (CLEDMedium &c_medium)
 
void DisableLEDs ()
 
void AddLED (const CVector3 &c_offset, const CColor &c_color=CColor::BLACK)
 Adds an LED to this entity. More...
 
CEmbodiedEntityGetEmbodiedEntity ()
 
const CEmbodiedEntityGetEmbodiedEntity () const
 
CLEDEquippedEntityGetLEDEquippedEntity ()
 
const CLEDEquippedEntityGetLEDEquippedEntity () const
 
const CVector3GetSize () const
 
void Resize (const CVector3 &c_size)
 
Real GetMass () const
 
void SetMass (Real f_mass)
 
virtual std::string GetTypeDescription () const
 Returns a string label for this class. More...
 
- Public Member Functions inherited from argos::CComposableEntity
 ENABLE_VTABLE ()
 
 CComposableEntity (CComposableEntity *pc_parent)
 Class constructor. More...
 
 CComposableEntity (CComposableEntity *pc_parent, const std::string &str_id)
 Class constructor. More...
 
virtual ~CComposableEntity ()
 Class destructor. More...
 
virtual void Update ()
 Updates the status of this entity. More...
 
virtual void SetEnabled (bool b_enabled)
 Enables or disables an entity. More...
 
virtual void UpdateComponents ()
 Calls the Update() method on all the components. More...
 
void AddComponent (CEntity &c_component)
 Adds a component to this composable entity. More...
 
CEntityRemoveComponent (const std::string &str_component)
 Removes a component from this composable entity. More...
 
CEntityGetComponent (const std::string &str_component)
 Returns the component with the passed string label. More...
 
template<class E >
E & GetComponent (const std::string &str_component)
 Returns the component with the passed string label. More...
 
bool HasComponent (const std::string &str_component)
 Returns true if this composable entity has a component with the given string label. More...
 
CEntity::TMultiMap::iterator FindComponent (const std::string &str_component)
 Searches for a component with the given string label. More...
 
CEntity::TMultiMapGetComponentMap ()
 Returns the map of all the components. More...
 
CEntity::TVectorGetComponentVector ()
 Returns the vector of all the components. More...
 
- Public Member Functions inherited from argos::CEntity
 ENABLE_VTABLE ()
 
 CEntity (CComposableEntity *pc_parent)
 Class constructor. More...
 
 CEntity (CComposableEntity *pc_parent, const std::string &str_id)
 Class constructor. More...
 
virtual ~CEntity ()
 Class destructor. More...
 
virtual void Destroy ()
 Destroys the entity, undoing whatever was done by Init() or by the standalone constructor. More...
 
const std::string & GetId () const
 Returns the id of this entity. More...
 
std::string GetContext () const
 Returns the context of this entity. More...
 
bool HasParent () const
 Returns true if this entity has a parent. More...
 
CEntityGetRootEntity ()
 Returns the root entity containing this entity. More...
 
const CEntityGetRootEntity () const
 Returns the root entity containing this entity. More...
 
CComposableEntityGetParent ()
 Returns this entity's parent. More...
 
const CComposableEntityGetParent () const
 Returns this entity's parent. More...
 
void SetParent (CComposableEntity &c_parent)
 Sets this entity's parent. More...
 
ssize_t GetIndex () const
 Returns the entity index. More...
 
void SetIndex (ssize_t n_idx)
 Sets the entity index. More...
 
bool IsEnabled () const
 Returns true if the entity is enabled. More...
 
void Enable ()
 Enables the entity. More...
 
void Disable ()
 Disables the entity. More...
 
TConfigurationNodeGetConfigurationNode ()
 Returns a pointer to the configuration node that was used to create this entity. More...
 
- Public Member Functions inherited from argos::CBaseConfigurableResource
virtual ~CBaseConfigurableResource ()
 Class destructor. More...
 
- Public Member Functions inherited from argos::EnableVTableFor< CEntity >
size_t GetTagHelper (const DERIVED *) const
 

Additional Inherited Members

- Public Types inherited from argos::CEntity
typedef std::vector< CEntity * > TVector
 A vector of entities. More...
 
typedef unordered_map< std::string, CEntity * > TMap
 A map of entities. More...
 
typedef std::multimap< std::string, CEntity * > TMultiMap
 A multi-map of entities. More...
 

Detailed Description

Definition at line 20 of file box_entity.h.

Constructor & Destructor Documentation

◆ CBoxEntity() [1/2]

argos::CBoxEntity::CBoxEntity ( )

Definition at line 19 of file box_entity.cpp.

◆ CBoxEntity() [2/2]

argos::CBoxEntity::CBoxEntity ( const std::string &  str_id,
const CVector3 c_position,
const CQuaternion c_orientation,
bool  b_movable,
const CVector3 c_size,
Real  f_mass = 1.0f 
)

Definition at line 29 of file box_entity.cpp.

Member Function Documentation

◆ AddLED()

void argos::CBoxEntity::AddLED ( const CVector3 c_offset,
const CColor c_color = CColor::BLACK 
)

Adds an LED to this entity.

For the LEDs to be updated correctly, you must first call CBoxEntity::EnableLEDs().

Parameters
c_offsetThe position of the LED wrt the origin anchor.
c_colorThe color of the LED.
See also
CBoxEntity::EnableLEDs()

Definition at line 126 of file box_entity.cpp.

◆ DisableLEDs()

void argos::CBoxEntity::DisableLEDs ( )

Definition at line 119 of file box_entity.cpp.

◆ ENABLE_VTABLE()

argos::CBoxEntity::ENABLE_VTABLE ( )

◆ EnableLEDs()

void argos::CBoxEntity::EnableLEDs ( CLEDMedium c_medium)

Definition at line 110 of file box_entity.cpp.

◆ GetEmbodiedEntity() [1/2]

CEmbodiedEntity& argos::CBoxEntity::GetEmbodiedEntity ( )
inline

Definition at line 64 of file box_entity.h.

◆ GetEmbodiedEntity() [2/2]

const CEmbodiedEntity& argos::CBoxEntity::GetEmbodiedEntity ( ) const
inline

Definition at line 68 of file box_entity.h.

◆ GetLEDEquippedEntity() [1/2]

CLEDEquippedEntity& argos::CBoxEntity::GetLEDEquippedEntity ( )
inline

Definition at line 72 of file box_entity.h.

◆ GetLEDEquippedEntity() [2/2]

const CLEDEquippedEntity& argos::CBoxEntity::GetLEDEquippedEntity ( ) const
inline

Definition at line 76 of file box_entity.h.

◆ GetMass()

Real argos::CBoxEntity::GetMass ( ) const
inline

Definition at line 86 of file box_entity.h.

◆ GetSize()

const CVector3& argos::CBoxEntity::GetSize ( ) const
inline

Definition at line 80 of file box_entity.h.

◆ GetTypeDescription()

virtual std::string argos::CBoxEntity::GetTypeDescription ( ) const
inlinevirtual

Returns a string label for this class.

Returns
A string label for this class.

Reimplemented from argos::CComposableEntity.

Definition at line 94 of file box_entity.h.

◆ Init()

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

Initializes the state of the entity from the XML configuration tree.

If the id of the entity has not been set yet, this method sets an id for the entity. If the entity has no parent, this method parses the passed XML tree and looks for the id attribute, setting its value as id. If, instead, this entity has a parent, the id is set as GetParent().GetId() + "." + GetTypeDescription().

Exceptions
CARGoSExceptionif a parse error occurred

Reimplemented from argos::CEntity.

Definition at line 54 of file box_entity.cpp.

◆ Reset()

void argos::CBoxEntity::Reset ( )
virtual

Resets the state of the entity to whatever it was after Init() or the standalone constructor was called.

Internally calls Reset() for all the component entities.

Reimplemented from argos::CComposableEntity.

Definition at line 100 of file box_entity.cpp.

◆ Resize()

void argos::CBoxEntity::Resize ( const CVector3 c_size)

Definition at line 137 of file box_entity.cpp.

◆ SetMass()

void argos::CBoxEntity::SetMass ( Real  f_mass)
inline

Definition at line 90 of file box_entity.h.