argos::CBatteryEquippedEntity Class Reference

The battery entity. More...

#include <battery_equipped_entity.h>

Inheritance diagram for argos::CBatteryEquippedEntity:
Collaboration diagram for argos::CBatteryEquippedEntity:

Public Member Functions

 ENABLE_VTABLE ()
 
 CBatteryEquippedEntity (CComposableEntity *pc_parent)
 
 CBatteryEquippedEntity (CComposableEntity *pc_parent, const std::string &str_id, CBatteryDischargeModel *pc_discharge_model=NULL, Real f_start_charge=1.0, Real f_full_charge=1.0)
 
 CBatteryEquippedEntity (CComposableEntity *pc_parent, const std::string &str_id, const std::string &str_discharge_model, Real f_start_charge=1.0, Real f_full_charge=1.0)
 
virtual ~CBatteryEquippedEntity ()
 
virtual void Init (TConfigurationNode &t_tree)
 Initializes the state of the entity from the XML configuration tree. More...
 
virtual std::string GetTypeDescription () const
 Returns a string label for this class. More...
 
virtual void Update ()
 Updates the state of this entity. More...
 
Real GetFullCharge () const
 
void SetFullCharge (Real f_full_charge)
 
Real GetAvailableCharge () const
 
void SetAvailableCharge (Real f_available_charge)
 
void SetDischargeModel (CBatteryDischargeModel *pc_model)
 
void SetDischargeModel (const std::string &str_model)
 
- 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 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...
 
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...
 
virtual void SetEnabled (bool b_enabled)
 Enables or disables an 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

Real m_fFullCharge
 Full charge. More...
 
Real m_fAvailableCharge
 Available charge. More...
 
CBatteryDischargeModelm_pcDischargeModel
 Discharge model. 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

The battery entity.

This entity is used to model the fact that robots have batteries. This entity allows the user to specify the initial level of the battery, its maximum charge, and the discharge model. A few discharge models are offered by default.

Definition at line 33 of file battery_equipped_entity.h.

Constructor & Destructor Documentation

◆ CBatteryEquippedEntity() [1/3]

argos::CBatteryEquippedEntity::CBatteryEquippedEntity ( CComposableEntity pc_parent)

Definition at line 16 of file battery_equipped_entity.cpp.

◆ CBatteryEquippedEntity() [2/3]

argos::CBatteryEquippedEntity::CBatteryEquippedEntity ( CComposableEntity pc_parent,
const std::string &  str_id,
CBatteryDischargeModel pc_discharge_model = NULL,
Real  f_start_charge = 1.0,
Real  f_full_charge = 1.0 
)

Definition at line 28 of file battery_equipped_entity.cpp.

◆ CBatteryEquippedEntity() [3/3]

argos::CBatteryEquippedEntity::CBatteryEquippedEntity ( CComposableEntity pc_parent,
const std::string &  str_id,
const std::string &  str_discharge_model,
Real  f_start_charge = 1.0,
Real  f_full_charge = 1.0 
)

Definition at line 44 of file battery_equipped_entity.cpp.

◆ ~CBatteryEquippedEntity()

argos::CBatteryEquippedEntity::~CBatteryEquippedEntity ( )
virtual

Definition at line 60 of file battery_equipped_entity.cpp.

Member Function Documentation

◆ ENABLE_VTABLE()

argos::CBatteryEquippedEntity::ENABLE_VTABLE ( )

◆ GetAvailableCharge()

Real argos::CBatteryEquippedEntity::GetAvailableCharge ( ) const
inline

Definition at line 73 of file battery_equipped_entity.h.

◆ GetFullCharge()

Real argos::CBatteryEquippedEntity::GetFullCharge ( ) const
inline

Definition at line 65 of file battery_equipped_entity.h.

◆ GetTypeDescription()

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

Returns a string label for this class.

Returns
A string label for this class.

Reimplemented from argos::CEntity.

Definition at line 59 of file battery_equipped_entity.h.

◆ Init()

void argos::CBatteryEquippedEntity::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 68 of file battery_equipped_entity.cpp.

◆ SetAvailableCharge()

void argos::CBatteryEquippedEntity::SetAvailableCharge ( Real  f_available_charge)
inline

Definition at line 77 of file battery_equipped_entity.h.

◆ SetDischargeModel() [1/2]

void argos::CBatteryEquippedEntity::SetDischargeModel ( CBatteryDischargeModel pc_model)

Definition at line 100 of file battery_equipped_entity.cpp.

◆ SetDischargeModel() [2/2]

void argos::CBatteryEquippedEntity::SetDischargeModel ( const std::string &  str_model)

Definition at line 110 of file battery_equipped_entity.cpp.

◆ SetFullCharge()

void argos::CBatteryEquippedEntity::SetFullCharge ( Real  f_full_charge)
inline

Definition at line 69 of file battery_equipped_entity.h.

◆ Update()

void argos::CBatteryEquippedEntity::Update ( )
virtual

Updates the state of this entity.

The default implementation of this method does nothing.

Reimplemented from argos::CEntity.

Definition at line 89 of file battery_equipped_entity.cpp.

Member Data Documentation

◆ m_fAvailableCharge

Real argos::CBatteryEquippedEntity::m_fAvailableCharge
protected

Available charge.

Definition at line 90 of file battery_equipped_entity.h.

◆ m_fFullCharge

Real argos::CBatteryEquippedEntity::m_fFullCharge
protected

Full charge.

Definition at line 88 of file battery_equipped_entity.h.

◆ m_pcDischargeModel

CBatteryDischargeModel* argos::CBatteryEquippedEntity::m_pcDischargeModel
protected

Discharge model.

Definition at line 92 of file battery_equipped_entity.h.