ARGoS  3
A parallel, multi-engine simulator for swarm robotics
epuck_entity.h
Go to the documentation of this file.
1 
7 #ifndef EPUCK_ENTITY_H
8 #define EPUCK_ENTITY_H
9 
10 namespace argos {
11  class CControllableEntity;
12  class CEmbodiedEntity;
13  class CEPuckEntity;
14  class CGroundSensorEquippedEntity;
15  class CLEDEquippedEntity;
16  class CLightSensorEquippedEntity;
17  class CProximitySensorEquippedEntity;
18  class CRABEquippedEntity;
19 }
20 
21 #include <argos3/core/simulator/entity/composable_entity.h>
22 #include <argos3/plugins/simulator/entities/wheeled_entity.h>
23 
24 namespace argos {
25 
27 
28  public:
29 
30  ENABLE_VTABLE();
31 
32  public:
33 
34  CEPuckEntity();
35 
36  CEPuckEntity(const std::string& str_id,
37  const std::string& str_controller_id,
38  const CVector3& c_position = CVector3(),
39  const CQuaternion& c_orientation = CQuaternion(),
40  Real f_rab_range = 0.8f,
41  size_t un_rab_data_size = 2);
42 
43  virtual void Init(TConfigurationNode& t_tree);
44  virtual void Reset();
45  virtual void Destroy();
46 
47  virtual void UpdateComponents();
48 
50  return *m_pcControllableEntity;
51  }
52 
54  return *m_pcEmbodiedEntity;
55  }
56 
58  return *m_pcGroundSensorEquippedEntity;
59  }
60 
62  return *m_pcLEDEquippedEntity;
63  }
64 
66  return *m_pcLightSensorEquippedEntity;
67  }
68 
70  return *m_pcProximitySensorEquippedEntity;
71  }
72 
74  return *m_pcRABEquippedEntity;
75  }
76 
78  return *m_pcWheeledEntity;
79  }
80 
81  virtual std::string GetTypeDescription() const {
82  return "e-puck";
83  }
84 
85  private:
86 
87  void SetLEDPosition();
88 
89  private:
90 
91  CControllableEntity* m_pcControllableEntity;
92  CEmbodiedEntity* m_pcEmbodiedEntity;
93  CGroundSensorEquippedEntity* m_pcGroundSensorEquippedEntity;
94  CLEDEquippedEntity* m_pcLEDEquippedEntity;
95  CLightSensorEquippedEntity* m_pcLightSensorEquippedEntity;
96  CProximitySensorEquippedEntity* m_pcProximitySensorEquippedEntity;
97  CRABEquippedEntity* m_pcRABEquippedEntity;
98  CWheeledEntity* m_pcWheeledEntity;
99  };
100 
101 }
102 
103 #endif
argos::CEPuckEntity::GetRABEquippedEntity
CRABEquippedEntity & GetRABEquippedEntity()
Definition: epuck_entity.h:73
argos::CEPuckEntity::Destroy
virtual void Destroy()
Destroys the entity, undoing whatever was done by Init() or by the standalone constructor.
Definition: epuck_entity.cpp:262
argos::CEPuckEntity::GetProximitySensorEquippedEntity
CProximitySensorEquippedEntity & GetProximitySensorEquippedEntity()
Definition: epuck_entity.h:69
argos
The namespace containing all the ARGoS related code.
Definition: ci_actuator.h:12
argos::CVector3
A 3D vector class.
Definition: vector3.h:29
argos::CComposableEntity
Basic class for an entity that contains other entities.
Definition: composable_entity.h:32
argos::CLightSensorEquippedEntity
Definition: light_sensor_equipped_entity.h:21
argos::CEPuckEntity::GetControllableEntity
CControllableEntity & GetControllableEntity()
Definition: epuck_entity.h:49
argos::CWheeledEntity
Definition: wheeled_entity.h:15
argos::CEmbodiedEntity
This entity is a link to a body in the physics engine.
Definition: embodied_entity.h:48
argos::CEPuckEntity::GetLightSensorEquippedEntity
CLightSensorEquippedEntity & GetLightSensorEquippedEntity()
Definition: epuck_entity.h:65
argos::TConfigurationNode
ticpp::Element TConfigurationNode
The ARGoS configuration XML node.
Definition: argos_configuration.h:27
argos::CEPuckEntity
Definition: epuck_entity.h:26
argos::CRABEquippedEntity
Definition: rab_equipped_entity.h:25
argos::CEPuckEntity::GetGroundSensorEquippedEntity
CGroundSensorEquippedEntity & GetGroundSensorEquippedEntity()
Definition: epuck_entity.h:57
argos::CEPuckEntity::GetTypeDescription
virtual std::string GetTypeDescription() const
Returns a string label for this class.
Definition: epuck_entity.h:81
argos::CLEDEquippedEntity
A container of CLEDEntity.
Definition: led_equipped_entity.h:36
argos::CQuaternion
Definition: quaternion.h:14
argos::CEPuckEntity::CEPuckEntity
CEPuckEntity()
Definition: epuck_entity.cpp:44
argos::CProximitySensorEquippedEntity
Definition: proximity_sensor_equipped_entity.h:21
argos::CEPuckEntity::GetEmbodiedEntity
CEmbodiedEntity & GetEmbodiedEntity()
Definition: epuck_entity.h:53
argos::CEPuckEntity::ENABLE_VTABLE
ENABLE_VTABLE()
argos::CEPuckEntity::Init
virtual void Init(TConfigurationNode &t_tree)
Initializes the state of the entity from the XML configuration tree.
Definition: epuck_entity.cpp:158
argos::CGroundSensorEquippedEntity
Definition: ground_sensor_equipped_entity.h:21
argos::CEPuckEntity::UpdateComponents
virtual void UpdateComponents()
Calls the Update() method on all the components.
Definition: epuck_entity.cpp:271
argos::CEPuckEntity::GetLEDEquippedEntity
CLEDEquippedEntity & GetLEDEquippedEntity()
Definition: epuck_entity.h:61
argos::CControllableEntity
An entity that contains a pointer to the user-defined controller.
Definition: controllable_entity.h:26
Real
float Real
Collects all ARGoS code.
Definition: datatypes.h:39
argos::CEPuckEntity::Reset
virtual void Reset()
Resets the state of the entity to whatever it was after Init() or the standalone constructor was call...
Definition: epuck_entity.cpp:252
argos::CEPuckEntity::GetWheeledEntity
CWheeledEntity & GetWheeledEntity()
Definition: epuck_entity.h:77