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
An entity that contains a pointer to the user-defined controller.
A 3D vector class.
Definition: vector3.h:29
const CCI_MiniQuadrotorTrajectoryActuator::SWaypoint & GetDesiredWaypoint() const
ticpp::Element TConfigurationNode
The ARGoS configuration XML node.
This entity is a link to a body in the physics engine.
CRotorEquippedEntity & GetRotorEquippedEntity()
virtual std::string GetTypeDescription() const
Returns a string label for this class.
Basic class for an entity that contains other entities.
CControllableEntity & GetControllableEntity()
virtual void Init(TConfigurationNode &t_tree)
Initializes the state of the entity from the XML configuration tree.
void SetDesiredWaypoint(CCI_MiniQuadrotorTrajectoryActuator::SWaypoint &s_waypoint)
The namespace containing all the ARGoS related code.
Definition: ci_actuator.h:12
CEmbodiedEntity & GetEmbodiedEntity()