#pragma once #include #include "componentbasic.h" /// /// 水面平台机动组件 /// class COMPONENTBASIC_EXPORT SurfaceMotionControlPlugin : public ProcList< WsRespond, WsRespond, WsRespond, WsRespond >{ private: std::weak_ptr _bind_entity; std::shared_ptr _current_cmd = nullptr; LonLatAlt _start_lla; Posture _start_posture; public: SurfaceMotionControlPlugin(); // 通过 ProcList 继承 void execute(std::shared_ptr map, std::shared_ptr in, QList>& out) override; void execute(std::shared_ptr map, std::shared_ptr in, QList>& out) override; void execute(std::shared_ptr map, std::shared_ptr in, QList>& out) override; void execute(std::shared_ptr map, std::shared_ptr in, QList>& out) override; std::shared_ptr defaultNew() 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; };