argos::CMagnetEntity Class Reference

#include <magnet_entity.h>

Inheritance diagram for argos::CMagnetEntity:
Collaboration diagram for argos::CMagnetEntity:

Public Member Functions

 ENABLE_VTABLE ()
 
 CMagnetEntity (CComposableEntity *pc_parent)
 
 CMagnetEntity (CComposableEntity *pc_parent, const std::string &str_id, const CVector3 &c_passive_field, const CVector3 &c_active_field)
 
virtual ~CMagnetEntity ()
 
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...
 
const CVector3GetField () const
 Returns the field of the magnet. More...
 
const CVector3GetPassiveField () const
 Returns the passive field with which the magnet was initialized. More...
 
const CVector3GetActiveField () const
 Returns the active field with which the magnet was initialized. More...
 
void SetCurrent (Real f_current)
 Sets the current field of the magnet. More...
 
virtual std::string GetTypeDescription () const
 Returns a string label for this class. 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...
 
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...
 
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

CVector3 m_cField
 
CVector3 m_cPassiveField
 
CVector3 m_cActiveField
 

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 19 of file magnet_entity.h.

Constructor & Destructor Documentation

argos::CMagnetEntity::CMagnetEntity ( CComposableEntity pc_parent)

Definition at line 15 of file magnet_entity.cpp.

argos::CMagnetEntity::CMagnetEntity ( CComposableEntity pc_parent,
const std::string &  str_id,
const CVector3 c_passive_field,
const CVector3 c_active_field 
)

Definition at line 24 of file magnet_entity.cpp.

virtual argos::CMagnetEntity::~CMagnetEntity ( )
inlinevirtual

Definition at line 34 of file magnet_entity.h.

Member Function Documentation

argos::CMagnetEntity::ENABLE_VTABLE ( )
const CVector3& argos::CMagnetEntity::GetActiveField ( ) const
inline

Returns the active field with which the magnet was initialized.

This value is used by an actuator, that will update the field using the expression: field = passive_field + active_field * current

Returns
the active field with which the magnet was initialized.
See also
GetField()

Definition at line 66 of file magnet_entity.h.

const CVector3& argos::CMagnetEntity::GetField ( ) const
inline

Returns the field of the magnet.

Returns
the field of the magnet.
See also
SetField()

Definition at line 45 of file magnet_entity.h.

const CVector3& argos::CMagnetEntity::GetPassiveField ( ) const
inline

Returns the passive field with which the magnet was initialized.

When the simulation is reset, the magnet field is set to this value.

Returns
the field with which the magnet was initialized.
See also
GetField()

Definition at line 55 of file magnet_entity.h.

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

Returns a string label for this class.

Returns
A string label for this class.

Reimplemented from argos::CEntity.

Definition at line 79 of file magnet_entity.h.

void argos::CMagnetEntity::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 36 of file magnet_entity.cpp.

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

Definition at line 54 of file magnet_entity.cpp.

void argos::CMagnetEntity::SetCurrent ( Real  f_current)
inline

Sets the current field of the magnet.

Parameters
c_fieldthe wanted field.
See also
GetField()

Definition at line 75 of file magnet_entity.h.

Member Data Documentation

CVector3 argos::CMagnetEntity::m_cActiveField
protected

Definition at line 87 of file magnet_entity.h.

CVector3 argos::CMagnetEntity::m_cField
protected

Definition at line 85 of file magnet_entity.h.

CVector3 argos::CMagnetEntity::m_cPassiveField
protected

Definition at line 86 of file magnet_entity.h.