RoboidControl-cpp/Quadcopter.h
2024-01-22 11:55:07 +01:00

37 lines
1014 B
C++

#pragma once
#include "Propulsion.h"
#include "Thing.h"
#include "VectorAlgebra/Vector3.h"
namespace Passer {
namespace RoboidControl {
/// @brief Support for Quadcopter as a propulsion method
/// @note This is work in progress
class Quadcopter : public Propulsion {
public:
/// @brief Default constuctor
Quadcopter();
// virtual void SetTwistSpeed(float forward, float yaw = 0.0F) override;
// virtual void SetTwistSpeed(Vector2 linear, float yaw = 0.0F) override;
// virtual void SetTwistSpeed(Vector3 linear, float yaw = 0.0F,
// float pitch = 0.0F, float roll = 0.0F)
// override;
// Vector3 GetTargetVelocity();
// float GetYawSpeed();
// float GetPitchSpeed();
// float GetRollSpeed();
protected:
Vector3 velocity = Vector3::zero;
float pitchSpeed = 0.0F;
float yawSpeed = 0.0F;
float rollSpeed = 0.0F;
};
} // namespace RoboidControl
} // namespace Passer
using namespace Passer::RoboidControl;