A container of CTagEntity. More...

#include <tag_equipped_entity.h>

Inheritance diagram for argos::CTagEquippedEntity:
Collaboration diagram for argos::CTagEquippedEntity:

Classes

struct  SInstance
 

Public Member Functions

 ENABLE_VTABLE ()
 
 CTagEquippedEntity (CComposableEntity *pc_parent)
 Class constructor. More...
 
 CTagEquippedEntity (CComposableEntity *pc_parent, const std::string &str_id)
 Class constructor. More...
 
virtual ~CTagEquippedEntity ()
 
virtual void Init (TConfigurationNode &t_tree)
 Initializes the state of the entity from the XML configuration tree. More...
 
virtual void Enable ()
 
virtual void Disable ()
 
void AddTag (const std::string &str_id, const CVector3 &c_position, const CQuaternion &c_orientation, SAnchor &s_anchor, const CRadians &c_observable_angle, Real f_side_length, const std::string &str_payload)
 Programmatically creates a new tag. More...
 
CTagEntityGetTag (UInt32 un_index)
 Returns a tag by numeric index. More...
 
SInstance::TVectorGetInstances ()
 Returns the tags. More...
 
const SInstance::TVectorGetInstances () const
 Returns the tags as a const reference. More...
 
void SetTagPayload (UInt32 un_index, const std::string &str_payload)
 Sets the payload of a tag. More...
 
void SetTagPayloads (const std::string &str_payload)
 Sets the payload of all the tags to the given payload. More...
 
void SetTagPayloads (const std::vector< std::string > &vec_payloads)
 Sets the payload of each tags to the payload given in the passed vector. More...
 
void SetMedium (CTagMedium &c_medium)
 Sets the medium associated to this entity. More...
 
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 Reset ()
 Resets the state of the entity to whatever it was after Init() or the standalone constructor was called. More...
 
virtual void Update ()
 Updates the status of this entity. More...
 
virtual void SetEnabled (bool b_enabled)
 Enables or disables an entity. 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
 

Protected Member Functions

virtual void UpdateComponents ()
 Calls the Update() method on all the components. More...
 

Protected Attributes

SInstance::TVector m_vecInstances
 List of the tags managed by this entity. More...
 

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

A container of CTagEntity.

This is a convenience class that acts a container of CTagEntity objects. It is mostly useful when a robot is equipped with a number of tags, and you want to manage them comfortably.

See also
CTagEntity

Definition at line 30 of file tag_equipped_entity.h.

Constructor & Destructor Documentation

◆ CTagEquippedEntity() [1/2]

argos::CTagEquippedEntity::CTagEquippedEntity ( CComposableEntity pc_parent)

Class constructor.

Parameters
pc_parentThe parent entity.

Definition at line 29 of file tag_equipped_entity.cpp.

◆ CTagEquippedEntity() [2/2]

argos::CTagEquippedEntity::CTagEquippedEntity ( CComposableEntity pc_parent,
const std::string &  str_id 
)

Class constructor.

Parameters
pc_parentThe parent entity.
str_idThe id of this entity.

Definition at line 37 of file tag_equipped_entity.cpp.

◆ ~CTagEquippedEntity()

virtual argos::CTagEquippedEntity::~CTagEquippedEntity ( )
inlinevirtual

Definition at line 66 of file tag_equipped_entity.h.

Member Function Documentation

◆ AddTag()

void argos::CTagEquippedEntity::AddTag ( const std::string &  str_id,
const CVector3 c_position,
const CQuaternion c_orientation,
SAnchor s_anchor,
const CRadians c_observable_angle,
Real  f_side_length,
const std::string &  str_payload 
)

Programmatically creates a new tag.

Parameters
str_idThe identifier of the tag.
c_positionThe position of the tag.
c_orientationThe orientation of the tag.
s_anchorThe anchor of the tag.
c_observable_angleThe observable angle of the tag.
f_side_lengthThe side length of the tag.
str_payloadThe payload of the tag.
See also
GetInstances()
GetTag()

Definition at line 116 of file tag_equipped_entity.cpp.

◆ Disable()

void argos::CTagEquippedEntity::Disable ( )
virtual

Definition at line 104 of file tag_equipped_entity.cpp.

◆ Enable()

void argos::CTagEquippedEntity::Enable ( )
virtual

Definition at line 92 of file tag_equipped_entity.cpp.

◆ ENABLE_VTABLE()

argos::CTagEquippedEntity::ENABLE_VTABLE ( )

◆ GetInstances() [1/2]

SInstance::TVector& argos::CTagEquippedEntity::GetInstances ( )
inline

Returns the tags.

Returns
The tags.
See also
GetTag()

Definition at line 107 of file tag_equipped_entity.h.

◆ GetInstances() [2/2]

const SInstance::TVector& argos::CTagEquippedEntity::GetInstances ( ) const
inline

Returns the tags as a const reference.

Returns
The tags as a const reference.
See also
GetTag()

Definition at line 116 of file tag_equipped_entity.h.

◆ GetTag()

CTagEntity & argos::CTagEquippedEntity::GetTag ( UInt32  un_index)

Returns a tag by numeric index.

Parameters
un_indexThe index of the specified tag.
Returns
A tag by numeric index.
See also
GetTags()

Definition at line 145 of file tag_equipped_entity.cpp.

◆ GetTypeDescription()

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

Returns a string label for this class.

Returns
A string label for this class.

Reimplemented from argos::CComposableEntity.

Definition at line 151 of file tag_equipped_entity.h.

◆ Init()

void argos::CTagEquippedEntity::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 46 of file tag_equipped_entity.cpp.

◆ SetMedium()

void argos::CTagEquippedEntity::SetMedium ( CTagMedium c_medium)

Sets the medium associated to this entity.

Parameters
c_mediumThe medium to associate to this entity.
See also
CTagMedium

Definition at line 223 of file tag_equipped_entity.cpp.

◆ SetTagPayload()

void argos::CTagEquippedEntity::SetTagPayload ( UInt32  un_index,
const std::string &  str_payload 
)

Sets the payload of a tag.

Parameters
un_indexThe index of the specified tag.
c_payloadThe payload of the tag.

Definition at line 159 of file tag_equipped_entity.cpp.

◆ SetTagPayloads() [1/2]

void argos::CTagEquippedEntity::SetTagPayloads ( const std::string &  str_payload)

Sets the payload of all the tags to the given payload.

Parameters
c_payloadThe payload for the tags.
See also
SetTagPayloads()

Definition at line 174 of file tag_equipped_entity.cpp.

◆ SetTagPayloads() [2/2]

void argos::CTagEquippedEntity::SetTagPayloads ( const std::vector< std::string > &  vec_payloads)

Sets the payload of each tags to the payload given in the passed vector.

Parameters
vec_payloadsA vector containing the payload for the tags.
See also
SetTagPayloads()
Exceptions
CARGoSExceptionif the size of the passed vector is different from the number of tags.

Definition at line 183 of file tag_equipped_entity.cpp.

◆ UpdateComponents()

void argos::CTagEquippedEntity::UpdateComponents ( )
protectedvirtual

Calls the Update() method on all the components.

See also
Update()

Reimplemented from argos::CComposableEntity.

Definition at line 204 of file tag_equipped_entity.cpp.

Member Data Documentation

◆ m_vecInstances

SInstance::TVector argos::CTagEquippedEntity::m_vecInstances
protected

List of the tags managed by this entity.

Definition at line 162 of file tag_equipped_entity.h.