ARGoS  3
A parallel, multi-engine simulator for swarm robotics
eyebot_entity.h
Go to the documentation of this file.
1 
7 #ifndef EYEBOT_ENTITY_H
8 #define EYEBOT_ENTITY_H
9 
10 namespace argos {
11  class CControllableEntity;
12  class CEmbodiedEntity;
13  class CEyeBotEntity;
14  class CLEDEquippedEntity;
15  class CLightSensorEquippedEntity;
16  class CPerspectiveCameraEquippedEntity;
17  class CProximitySensorEquippedEntity;
18  class CQuadRotorEntity;
19  class CRABEquippedEntity;
20 }
21 
22 #include <argos3/core/simulator/entity/composable_entity.h>
23 
24 namespace argos {
25 
27 
28  public:
29 
30  ENABLE_VTABLE();
31 
32  public:
33 
34  CEyeBotEntity();
35 
36  CEyeBotEntity(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 = 3.0f,
41  size_t un_rab_data_size = 10,
42  const CRadians& c_perspcam_aperture = ToRadians(CDegrees(30.0f)),
43  Real f_perspcam_focal_length = 0.035,
44  Real f_perspcam_range = 2.0);
45 
46  virtual void Init(TConfigurationNode& t_tree);
47  virtual void Reset();
48 
49  virtual void UpdateComponents();
50 
52  return *m_pcControllableEntity;
53  }
54 
56  return *m_pcEmbodiedEntity;
57  }
58 
60  return *m_pcLEDEquippedEntity;
61  }
62 
64  return *m_pcLightSensorEquippedEntity;
65  }
66 
68  return *m_pcProximitySensorEquippedEntity;
69  }
70 
72  return *m_pcQuadRotorEntity;
73  }
74 
76  return *m_pcRABEquippedEntity;
77  }
78 
79  virtual std::string GetTypeDescription() const {
80  return "eye-bot";
81  }
82 
83  private:
84 
85  CControllableEntity* m_pcControllableEntity;
86  CEmbodiedEntity* m_pcEmbodiedEntity;
87  CLEDEquippedEntity* m_pcLEDEquippedEntity;
88  CLightSensorEquippedEntity* m_pcLightSensorEquippedEntity;
89  CPerspectiveCameraEquippedEntity* m_pcPerspectiveCameraEquippedEntity;
90  CProximitySensorEquippedEntity* m_pcProximitySensorEquippedEntity;
91  CQuadRotorEntity* m_pcQuadRotorEntity;
92  CRABEquippedEntity* m_pcRABEquippedEntity;
93  };
94 
95 }
96 
97 #endif
argos::CEyeBotEntity::GetEmbodiedEntity
CEmbodiedEntity & GetEmbodiedEntity()
Definition: eyebot_entity.h:55
argos::CEyeBotEntity::GetQuadRotorEntity
CQuadRotorEntity & GetQuadRotorEntity()
Definition: eyebot_entity.h:71
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::CEyeBotEntity::GetProximitySensorEquippedEntity
CProximitySensorEquippedEntity & GetProximitySensorEquippedEntity()
Definition: eyebot_entity.h:67
argos::CPerspectiveCameraEquippedEntity
Definition: perspective_camera_equipped_entity.h:23
argos::CRadians
It defines the basic type CRadians, used to store an angle value in radians.
Definition: angles.h:42
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::CEyeBotEntity::GetLEDEquippedEntity
CLEDEquippedEntity & GetLEDEquippedEntity()
Definition: eyebot_entity.h:59
argos::CEmbodiedEntity
This entity is a link to a body in the physics engine.
Definition: embodied_entity.h:48
argos::TConfigurationNode
ticpp::Element TConfigurationNode
The ARGoS configuration XML node.
Definition: argos_configuration.h:27
argos::CEyeBotEntity::Reset
virtual void Reset()
Resets the state of the entity to whatever it was after Init() or the standalone constructor was call...
Definition: eyebot_entity.cpp:286
argos::CRABEquippedEntity
Definition: rab_equipped_entity.h:25
argos::CLEDEquippedEntity
A container of CLEDEntity.
Definition: led_equipped_entity.h:36
argos::CEyeBotEntity::CEyeBotEntity
CEyeBotEntity()
Definition: eyebot_entity.cpp:39
argos::CQuaternion
Definition: quaternion.h:14
argos::CEyeBotEntity::GetControllableEntity
CControllableEntity & GetControllableEntity()
Definition: eyebot_entity.h:51
argos::CEyeBotEntity::UpdateComponents
virtual void UpdateComponents()
Calls the Update() method on all the components.
Definition: eyebot_entity.cpp:298
argos::CEyeBotEntity
Definition: eyebot_entity.h:26
argos::CEyeBotEntity::Init
virtual void Init(TConfigurationNode &t_tree)
Initializes the state of the entity from the XML configuration tree.
Definition: eyebot_entity.cpp:170
argos::CProximitySensorEquippedEntity
Definition: proximity_sensor_equipped_entity.h:21
argos::CEyeBotEntity::GetRABEquippedEntity
CRABEquippedEntity & GetRABEquippedEntity()
Definition: eyebot_entity.h:75
argos::CQuadRotorEntity
Definition: quadrotor_entity.h:15
argos::CEyeBotEntity::ENABLE_VTABLE
ENABLE_VTABLE()
argos::CEyeBotEntity::GetTypeDescription
virtual std::string GetTypeDescription() const
Returns a string label for this class.
Definition: eyebot_entity.h:79
argos::CEyeBotEntity::GetLightSensorEquippedEntity
CLightSensorEquippedEntity & GetLightSensorEquippedEntity()
Definition: eyebot_entity.h:63
argos::CDegrees
It defines the basic type CDegrees, used to store an angle value in degrees.
Definition: angles.h:288
argos::CControllableEntity
An entity that contains a pointer to the user-defined controller.
Definition: controllable_entity.h:26
argos::ToRadians
CRadians ToRadians(const CDegrees &c_degrees)
Converts CDegrees to CRadians.
Definition: angles.h:498
Real
float Real
Collects all ARGoS code.
Definition: datatypes.h:39