ARGoS  3
A parallel, multi-engine simulator for swarm robotics
miniquadrotor_entity.h
Go to the documentation of this file.
1 
7 #ifndef MINIQUADROTOR_ENTITY_H
8 #define MINIQUADROTOR_ENTITY_H
9 
10 namespace argos {
11  class CControllableEntity;
12  class CEmbodiedEntity;
13  class CRotorEquippedEntity;
14 }
15 
16 #include <argos3/core/simulator/entity/composable_entity.h>
17 #include <argos3/plugins/robots/mini-quadrotor/control_interface/ci_miniquadrotor_trajectory_actuator.h>
18 
19 namespace argos {
20 
22 
23  public:
24 
25  ENABLE_VTABLE();
26 
27  public:
28 
30 
31  CMiniQuadrotorEntity(const std::string& str_id,
32  const std::string& str_controller_id,
33  const CVector3& c_position = CVector3(),
34  const CQuaternion& c_orientation = CQuaternion());
35 
36  virtual void Init(TConfigurationNode& t_tree);
37 
39  return *m_pcControllableEntity;
40  }
41 
43  return *m_pcEmbodiedEntity;
44  }
45 
47  return *m_pcRotorEquippedEntity;
48  }
49 
50  virtual std::string GetTypeDescription() const {
51  return "mini-bot";
52  }
53 
55  return m_sDesiredWaypoint;
56  }
57 
59  m_sDesiredWaypoint = s_waypoint;
60  }
61 
62  private:
63 
64  CControllableEntity* m_pcControllableEntity;
65  CEmbodiedEntity* m_pcEmbodiedEntity;
66  CRotorEquippedEntity* m_pcRotorEquippedEntity;
68  };
69 
70 }
71 
72 #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::CMiniQuadrotorEntity
Definition: miniquadrotor_entity.h:21
argos::CComposableEntity
Basic class for an entity that contains other entities.
Definition: composable_entity.h:32
argos::CMiniQuadrotorEntity::Init
virtual void Init(TConfigurationNode &t_tree)
Initializes the state of the entity from the XML configuration tree.
Definition: miniquadrotor_entity.cpp:75
argos::CEmbodiedEntity
This entity is a link to a body in the physics engine.
Definition: embodied_entity.h:48
argos::CCI_MiniQuadrotorTrajectoryActuator::SWaypoint
Definition: ci_miniquadrotor_trajectory_actuator.h:23
argos::TConfigurationNode
ticpp::Element TConfigurationNode
The ARGoS configuration XML node.
Definition: argos_configuration.h:27
argos::CMiniQuadrotorEntity::GetControllableEntity
CControllableEntity & GetControllableEntity()
Definition: miniquadrotor_entity.h:38
argos::CMiniQuadrotorEntity::GetRotorEquippedEntity
CRotorEquippedEntity & GetRotorEquippedEntity()
Definition: miniquadrotor_entity.h:46
argos::CMiniQuadrotorEntity::GetDesiredWaypoint
const CCI_MiniQuadrotorTrajectoryActuator::SWaypoint & GetDesiredWaypoint() const
Definition: miniquadrotor_entity.h:54
argos::CQuaternion
Definition: quaternion.h:14
argos::CMiniQuadrotorEntity::GetEmbodiedEntity
CEmbodiedEntity & GetEmbodiedEntity()
Definition: miniquadrotor_entity.h:42
argos::CMiniQuadrotorEntity::ENABLE_VTABLE
ENABLE_VTABLE()
argos::CRotorEquippedEntity
Definition: rotor_equipped_entity.h:15
argos::CMiniQuadrotorEntity::GetTypeDescription
virtual std::string GetTypeDescription() const
Returns a string label for this class.
Definition: miniquadrotor_entity.h:50
argos::CMiniQuadrotorEntity::CMiniQuadrotorEntity
CMiniQuadrotorEntity()
Definition: miniquadrotor_entity.cpp:24
argos::CControllableEntity
An entity that contains a pointer to the user-defined controller.
Definition: controllable_entity.h:26
argos::CMiniQuadrotorEntity::SetDesiredWaypoint
void SetDesiredWaypoint(CCI_MiniQuadrotorTrajectoryActuator::SWaypoint &s_waypoint)
Definition: miniquadrotor_entity.h:58