ARGoS  3
A parallel, multi-engine simulator for swarm robotics
spiri_entity.h
Go to the documentation of this file.
1 
7 #ifndef SPIRI_ENTITY_H
8 #define SPIRI_ENTITY_H
9 
10 namespace argos {
11  class CControllableEntity;
12  class CEmbodiedEntity;
13  class CSpiriEntity;
14  class CQuadRotorEntity;
15  class CRABEquippedEntity;
16  class CPerspectiveCameraEquippedEntity;
17 }
18 
19 #include <argos3/core/simulator/entity/composable_entity.h>
20 
21 namespace argos {
22 
24 
25  public:
26 
27  ENABLE_VTABLE();
28 
29  public:
30 
31  CSpiriEntity();
32 
33  CSpiriEntity(const std::string& str_id,
34  const std::string& str_controller_id,
35  const CVector3& c_position = CVector3(),
36  const CQuaternion& c_orientation = CQuaternion(),
37  Real f_rab_range = 3.0f,
38  size_t un_rab_data_size = 10,
39  const CRadians& c_cam_aperture = ToRadians(CDegrees(30.0f)),
40  Real f_cam_range = 10.0f);
41 
42  virtual void Init(TConfigurationNode& t_tree);
43  virtual void Reset();
44 
46  return *m_pcControllableEntity;
47  }
48 
50  return *m_pcEmbodiedEntity;
51  }
52 
54  return *m_pcQuadRotorEntity;
55  }
56 
58  return *m_pcRABEquippedEntity;
59  }
60 
62  return *m_pcPerspectiveCameraEquippedEntity;
63  }
64 
65  virtual std::string GetTypeDescription() const {
66  return "spiri";
67  }
68 
69  private:
70 
71  CControllableEntity* m_pcControllableEntity;
72  CEmbodiedEntity* m_pcEmbodiedEntity;
73  CQuadRotorEntity* m_pcQuadRotorEntity;
74  CRABEquippedEntity* m_pcRABEquippedEntity;
75  CPerspectiveCameraEquippedEntity* m_pcPerspectiveCameraEquippedEntity;
76  };
77 
78 }
79 
80 #endif
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::CSpiriEntity::Reset
virtual void Reset()
Resets the state of the entity to whatever it was after Init() or the standalone constructor was call...
Definition: spiri_entity.cpp:187
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::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::CRABEquippedEntity
Definition: rab_equipped_entity.h:25
argos::CSpiriEntity::GetPerspectiveCameraEquippedEntity
CPerspectiveCameraEquippedEntity & GetPerspectiveCameraEquippedEntity()
Definition: spiri_entity.h:61
argos::CQuaternion
Definition: quaternion.h:14
argos::CSpiriEntity::GetControllableEntity
CControllableEntity & GetControllableEntity()
Definition: spiri_entity.h:45
argos::CSpiriEntity::GetEmbodiedEntity
CEmbodiedEntity & GetEmbodiedEntity()
Definition: spiri_entity.h:49
argos::CSpiriEntity::Init
virtual void Init(TConfigurationNode &t_tree)
Initializes the state of the entity from the XML configuration tree.
Definition: spiri_entity.cpp:118
argos::CSpiriEntity
Definition: spiri_entity.h:23
argos::CSpiriEntity::ENABLE_VTABLE
ENABLE_VTABLE()
argos::CQuadRotorEntity
Definition: quadrotor_entity.h:15
argos::CSpiriEntity::GetTypeDescription
virtual std::string GetTypeDescription() const
Returns a string label for this class.
Definition: spiri_entity.h:65
argos::CSpiriEntity::GetRABEquippedEntity
CRABEquippedEntity & GetRABEquippedEntity()
Definition: spiri_entity.h:57
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
argos::CSpiriEntity::CSpiriEntity
CSpiriEntity()
Definition: spiri_entity.cpp:35
argos::CSpiriEntity::GetQuadRotorEntity
CQuadRotorEntity & GetQuadRotorEntity()
Definition: spiri_entity.h:53
Real
float Real
Collects all ARGoS code.
Definition: datatypes.h:39