28 class GimbalInterface :
public Component {
30 virtual void set_roll_pitch_yaw_angle(
double roll,
double pitch,
double yaw) = 0;
32 virtual void set_roll_pitch_yaw_speed(
double roll,
double pitch,
double yaw) = 0;
34 virtual GimbalMode get_gimbal_mode() = 0;
36 virtual void set_gimbal_mode(GimbalMode mode) = 0;
38 [[nodiscard]]
virtual double get_roll()
const = 0;
40 [[nodiscard]]
virtual double get_pitch()
const = 0;
42 [[nodiscard]]
virtual double get_yaw()
const = 0;
52 class Gimbal :
public GimbalInterface {
138 [[nodiscard]]
double get_yaw()
const override {
The base gimbal class.
Definition gimbal.h:52
double get_yaw() const override
Returns current yaw angle.
Definition gimbal.h:138
void set_gimbal_mode(GimbalMode mode) override
Sets the gimbal mode.
Definition gimbal.h:79
double get_pitch() const override
Returns current pitch angle.
Definition gimbal.h:127
double get_roll() const override
Returns current roll angle.
Definition gimbal.h:116
Gimbal()=default
The default constructor.
void set_roll_pitch_yaw_speed(double roll, double pitch, double yaw) override
Sets the speed of rotation of the roll, pitch, and yaw.
Definition gimbal.h:105
GimbalMode get_gimbal_mode() override
Gets the gimbal mode.
Definition gimbal.h:68
void set_roll_pitch_yaw_angle(double roll, double pitch, double yaw) override
Sets the angle of the roll, pitch, and yaw.
Definition gimbal.h:92
An error representing a function that is not implemented.
Definition error.h:17
GimbalMode
The gimbal movement mode.
Definition gimbal.h:18