#include <tag_entity.h>

Inheritance diagram for argos::CTagEntity:
Collaboration diagram for argos::CTagEntity:

Public Types

typedef std::vector< CTagEntity * > TList
 
typedef CSet< CTagEntity * > 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 ()
 
 CTagEntity (CComposableEntity *pc_parent)
 
 CTagEntity (CComposableEntity *pc_parent, const std::string &str_id, const CVector3 &c_position, const CQuaternion &c_orientation, const CRadians &c_observable_angle, Real f_side_length, const std::string &str_payload)
 
virtual ~CTagEntity ()
 
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 std::string & GetPayload () const
 Returns the current payload of the tag. More...
 
const CRadiansGetObservableAngle () const
 Returns the observable angle of the tag. More...
 
Real GetSideLength () const
 Returns the side length of the tag. More...
 
const std::string & GetInitPayload () const
 Returns the payload with which the tag was initialized. More...
 
void SetPayload (const std::string &str_payload)
 Sets the current payload of the tag. More...
 
void SetInitPayload (const std::string &str_payload)
 Sets the initialization payload for this tag. More...
 
virtual std::string GetTypeDescription () const
 Returns a string label for this class. More...
 
bool HasMedium () const
 Returns true if this tag is associated to a medium. More...
 
CTagMediumGetMedium () const
 Returns the medium associated to this tag. More...
 
void SetMedium (CTagMedium &c_medium)
 Sets the medium associated to this entity. 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...
 
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 Attributes

CRadians m_cObservableAngle
 
Real m_fSideLength
 
std::string m_strPayload
 
std::string m_strInitPayload
 
CTagMediumm_pcMedium
 

Detailed Description

Definition at line 23 of file tag_entity.h.

Member Typedef Documentation

◆ TList

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

Definition at line 29 of file tag_entity.h.

◆ TSet

Definition at line 30 of file tag_entity.h.

Constructor & Destructor Documentation

◆ CTagEntity() [1/2]

argos::CTagEntity::CTagEntity ( CComposableEntity pc_parent)

Definition at line 17 of file tag_entity.cpp.

◆ CTagEntity() [2/2]

argos::CTagEntity::CTagEntity ( CComposableEntity pc_parent,
const std::string &  str_id,
const CVector3 c_position,
const CQuaternion c_orientation,
const CRadians c_observable_angle,
Real  f_side_length,
const std::string &  str_payload 
)

Definition at line 28 of file tag_entity.cpp.

◆ ~CTagEntity()

virtual argos::CTagEntity::~CTagEntity ( )
inlinevirtual

Definition at line 44 of file tag_entity.h.

Member Function Documentation

◆ Destroy()

void argos::CTagEntity::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 73 of file tag_entity.cpp.

◆ ENABLE_VTABLE()

argos::CTagEntity::ENABLE_VTABLE ( )

◆ GetInitPayload()

const std::string& argos::CTagEntity::GetInitPayload ( ) const
inline

Returns the payload with which the tag was initialized.

When the simulation is reset, the tag payload is set to this value.

Returns
the payload with which the tag was initialized.
See also
GetPayload()
SetInitPayload()

Definition at line 87 of file tag_entity.h.

◆ GetMedium()

CTagMedium & argos::CTagEntity::GetMedium ( ) const

Returns the medium associated to this tag.

Returns
The medium associated to this tag.
See also
CTagMedium

Definition at line 105 of file tag_entity.cpp.

◆ GetObservableAngle()

const CRadians& argos::CTagEntity::GetObservableAngle ( ) const
inline

Returns the observable angle of the tag.

Returns
the observable angle of the tag.

Definition at line 68 of file tag_entity.h.

◆ GetPayload()

const std::string& argos::CTagEntity::GetPayload ( ) const
inline

Returns the current payload of the tag.

Returns
the current payload of the tag.
See also
GetInitPayload()
SetPayload()

Definition at line 60 of file tag_entity.h.

◆ GetSideLength()

Real argos::CTagEntity::GetSideLength ( ) const
inline

Returns the side length of the tag.

Returns
the side length of the tag.

Definition at line 76 of file tag_entity.h.

◆ GetTypeDescription()

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

Returns a string label for this class.

Returns
A string label for this class.

Reimplemented from argos::CPositionalEntity.

Definition at line 109 of file tag_entity.h.

◆ HasMedium()

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

Returns true if this tag is associated to a medium.

Returns
true if this tag is associated to a medium.
See also
CTagMedium

Definition at line 118 of file tag_entity.h.

◆ Init()

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

Definition at line 47 of file tag_entity.cpp.

◆ Reset()

void argos::CTagEntity::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 66 of file tag_entity.cpp.

◆ SetEnabled()

void argos::CTagEntity::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 80 of file tag_entity.cpp.

◆ SetInitPayload()

void argos::CTagEntity::SetInitPayload ( const std::string &  str_payload)
inline

Sets the initialization payload for this tag.

When the simulation is reset, the tag payload is set to this value.

Parameters
c_payloadthe initialization payload for this tag.
See also
GetInitPayload()
SetPayload()

Definition at line 105 of file tag_entity.h.

◆ SetMedium()

void argos::CTagEntity::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 116 of file tag_entity.cpp.

◆ SetPayload()

void argos::CTagEntity::SetPayload ( const std::string &  str_payload)

Sets the current payload of the tag.

Parameters
c_payloadthe wanted payload.
See also
GetPayload()

Definition at line 98 of file tag_entity.cpp.

Member Data Documentation

◆ m_cObservableAngle

CRadians argos::CTagEntity::m_cObservableAngle
protected

Definition at line 139 of file tag_entity.h.

◆ m_fSideLength

Real argos::CTagEntity::m_fSideLength
protected

Definition at line 140 of file tag_entity.h.

◆ m_pcMedium

CTagMedium* argos::CTagEntity::m_pcMedium
protected

Definition at line 143 of file tag_entity.h.

◆ m_strInitPayload

std::string argos::CTagEntity::m_strInitPayload
protected

Definition at line 142 of file tag_entity.h.

◆ m_strPayload

std::string argos::CTagEntity::m_strPayload
protected

Definition at line 141 of file tag_entity.h.