ARGoS  3
A parallel, multi-engine simulator for swarm robotics
argos::CLEDEntity Class Reference

#include <led_entity.h>

+ Inheritance diagram for argos::CLEDEntity:

Public Types

typedef std::vector< CLEDEntity * > TList
 
typedef CSet< CLEDEntity * > TSet
 
- 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...
 

Public Member Functions

 ENABLE_VTABLE ()
 
 CLEDEntity (CComposableEntity *pc_parent)
 
 CLEDEntity (CComposableEntity *pc_parent, const std::string &str_id, const CVector3 &c_position, const CColor &c_color)
 
virtual ~CLEDEntity ()
 
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...
 
virtual void Destroy ()
 Destroys the entity, undoing whatever was done by Init() or by the standalone constructor. More...
 
virtual void SetEnabled (bool b_enabled)
 Enables or disables an entity. More...
 
const CColorGetColor () const
 Returns the current color of the LED. More...
 
const CColorGetInitColor () const
 Returns the color with which the LED was initialized. More...
 
void SetColor (const CColor &c_color)
 Sets the current color of the LED. More...
 
void SetInitColor (const CColor &c_color)
 Sets the initialization color for this LED. More...
 
virtual std::string GetTypeDescription () const
 Returns a string label for this class. More...
 
void AddToMedium (CLEDMedium &c_medium)
 Adds the LEDs to the wanted LED medium. More...
 
void RemoveFromMedium ()
 Removes the LEDs from the wanted LED medium. More...
 
bool HasMedium () const
 Returns true if this LED is associated to a medium. More...
 
CLEDMediumGetMedium () const
 Returns the medium associated to this LED. More...
 
- Public Member Functions inherited from argos::CPositionalEntity
 ENABLE_VTABLE ()
 
 CPositionalEntity (CComposableEntity *pc_parent)
 
 CPositionalEntity (CComposableEntity *pc_parent, const std::string &str_id, const CVector3 &c_position=CVector3(), const CQuaternion &c_orientation=CQuaternion())
 
const CVector3GetPosition () const
 
const CVector3GetInitPosition () const
 
void SetPosition (const CVector3 &c_position)
 
void SetInitPosition (const CVector3 &c_position)
 
const CQuaternionGetOrientation () const
 
const CQuaternionGetInitOrientation () const
 
void SetOrientation (const CQuaternion c_orientation)
 
void SetInitOrientation (const CQuaternion c_orientation)
 
virtual void MoveTo (const CVector3 &c_position, const CQuaternion &c_orientation)
 
- 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...
 
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...
 
virtual void Update ()
 Updates the state of this entity. More...
 
bool IsEnabled () const
 Returns true if the entity is enabled. More...
 
void Enable ()
 Enables the entity. More...
 
void Disable ()
 Disables the 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
 

Protected Attributes

CColor m_cColor
 
CColor m_cInitColor
 
CLEDMediumm_pcMedium
 

Detailed Description

Definition at line 24 of file led_entity.h.

Member Typedef Documentation

◆ TList

typedef std::vector<CLEDEntity*> argos::CLEDEntity::TList

Definition at line 30 of file led_entity.h.

◆ TSet

Definition at line 31 of file led_entity.h.

Constructor & Destructor Documentation

◆ CLEDEntity() [1/2]

argos::CLEDEntity::CLEDEntity ( CComposableEntity pc_parent)

Definition at line 17 of file led_entity.cpp.

◆ CLEDEntity() [2/2]

argos::CLEDEntity::CLEDEntity ( CComposableEntity pc_parent,
const std::string &  str_id,
const CVector3 c_position,
const CColor c_color 
)

Definition at line 26 of file led_entity.cpp.

◆ ~CLEDEntity()

virtual argos::CLEDEntity::~CLEDEntity ( )
inlinevirtual

Definition at line 42 of file led_entity.h.

Member Function Documentation

◆ AddToMedium()

void argos::CLEDEntity::AddToMedium ( CLEDMedium c_medium)

Adds the LEDs to the wanted LED medium.

If this LED has already been added to a medium, the LED is removed from that medium and then added to the passed one. This behavior is to enforce that, at any time, an LED is under the control of (at most) a single medium.

Parameters
c_mediumThe LED medium.
See also
CLEDMedium

Definition at line 86 of file led_entity.cpp.

◆ Destroy()

void argos::CLEDEntity::Destroy ( )
virtual

Destroys the entity, undoing whatever was done by Init() or by the standalone constructor.

The default implementation of this method does nothing.

Reimplemented from argos::CEntity.

Definition at line 62 of file led_entity.cpp.

◆ ENABLE_VTABLE()

argos::CLEDEntity::ENABLE_VTABLE ( )

◆ GetColor()

const CColor& argos::CLEDEntity::GetColor ( ) const
inline

Returns the current color of the LED.

Returns
the current color of the LED.
See also
GetInitColor()
SetColor()

Definition at line 58 of file led_entity.h.

◆ GetInitColor()

const CColor& argos::CLEDEntity::GetInitColor ( ) const
inline

Returns the color with which the LED was initialized.

When the simulation is reset, the LED color is set to this value.

Returns
the color with which the LED was initialized.
See also
GetColor()
SetInitColor()

Definition at line 69 of file led_entity.h.

◆ GetMedium()

CLEDMedium & argos::CLEDEntity::GetMedium ( ) const

Returns the medium associated to this LED.

Returns
The medium associated to this LED.
See also
CLEDMedium

Definition at line 110 of file led_entity.cpp.

◆ GetTypeDescription()

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

Returns a string label for this class.

Returns
A string label for this class.

Reimplemented from argos::CPositionalEntity.

Reimplemented in argos::CLightEntity.

Definition at line 91 of file led_entity.h.

◆ HasMedium()

bool argos::CLEDEntity::HasMedium ( ) const
inline

Returns true if this LED is associated to a medium.

Returns
true if this LED is associated to a medium.
See also
CLEDMedium

Definition at line 118 of file led_entity.h.

◆ Init()

void argos::CLEDEntity::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::CPositionalEntity.

Reimplemented in argos::CLightEntity.

Definition at line 40 of file led_entity.cpp.

◆ RemoveFromMedium()

void argos::CLEDEntity::RemoveFromMedium ( )

Removes the LEDs from the wanted LED medium.

Parameters
c_mediumThe LED medium.
See also
CLEDMedium

Definition at line 96 of file led_entity.cpp.

◆ Reset()

void argos::CLEDEntity::Reset ( )
virtual

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

The default implementation of this method does nothing.

Reimplemented from argos::CPositionalEntity.

Definition at line 55 of file led_entity.cpp.

◆ SetColor()

void argos::CLEDEntity::SetColor ( const CColor c_color)

Sets the current color of the LED.

Parameters
c_colorthe wanted color.
See also
GetColor()

Definition at line 78 of file led_entity.cpp.

◆ SetEnabled()

void argos::CLEDEntity::SetEnabled ( bool  b_enabled)
virtual

Enables or disables an entity.

Parameters
b_enabledtrue if the entity is enabled, false otherwise
See also
m_bEnabled
m_bCanBeEnabledIfDisabled

Reimplemented from argos::CEntity.

Definition at line 71 of file led_entity.cpp.

◆ SetInitColor()

void argos::CLEDEntity::SetInitColor ( const CColor c_color)
inline

Sets the initialization color for this LED.

When the simulation is reset, the LED color is set to this value.

Parameters
c_colorthe initialization color for this LED.
See also
GetInitColor()
SetColor()

Definition at line 87 of file led_entity.h.

Member Data Documentation

◆ m_cColor

CColor argos::CLEDEntity::m_cColor
protected

Definition at line 131 of file led_entity.h.

◆ m_cInitColor

CColor argos::CLEDEntity::m_cInitColor
protected

Definition at line 132 of file led_entity.h.

◆ m_pcMedium

CLEDMedium* argos::CLEDEntity::m_pcMedium
protected

Definition at line 133 of file led_entity.h.


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