#pragma once #include #include "componentbasic.h" #include /// /// 水面平台机动组件 /// class COMPONENTBASIC_EXPORT SurfaceMotionPlugin : public RespondRoute< WsRespond, WsRespond, WsRespond, WsRespond>, public RequestRoute< WsRequest> { private: std::weak_ptr _bind_entity; std::shared_ptr _current_cmd = nullptr; LonLatAlt _start_lla; Posture _start_posture; public: SurfaceMotionPlugin(); // 通过 ProcList 继承 void execute(std::shared_ptr in, QList>& out) override; void execute(std::shared_ptr in, QList>& out) override; void execute(std::shared_ptr in, QList>& out) override; void execute(std::shared_ptr in, QList>& out) override; std::shared_ptr newDefault() const override; void bindEntity(std::weak_ptr host) override; QString name() const override; void recoveryFrom(const QJsonObject& obj) override; void saveTo(QJsonObject& obj) const override; };