00001
00007 #ifndef CI_QUADROTOR_POSITION_ACTUATOR_H
00008 #define CI_QUADROTOR_POSITION_ACTUATOR_H
00009
00010
00011 namespace argos {
00012 class CCI_QuadRotorPositionActuator;
00013 }
00014
00015 #include <argos3/core/control_interface/ci_actuator.h>
00016 #include <argos3/core/utility/math/vector3.h>
00017
00018 namespace argos {
00019
00020 class CCI_QuadRotorPositionActuator : public CCI_Actuator {
00021
00022 public:
00023
00024 virtual ~CCI_QuadRotorPositionActuator() {}
00025
00030 virtual void SetAbsolutePosition(const CVector3& c_pos) = 0;
00031
00036 virtual void SetRelativePosition(const CVector3& c_pos) = 0;
00037
00042 virtual void SetAbsoluteYaw(const CRadians& c_yaw) = 0;
00043
00048 virtual void SetRelativeYaw(const CRadians& c_yaw) = 0;
00049
00050 #ifdef ARGOS_WITH_LUA
00051 virtual void CreateLuaState(lua_State* pt_lua_state);
00052 #endif
00053
00054 };
00055
00056 }
00057
00058 #endif