#pragma once #include "messagebasic.h" // 体积盒可视化插件定义消息 ======================================================= /// /// 获取体积盒详细数据 /// struct MESSAGEBASIC_EXPORT Get3DBox : public AbstractMessage { Get3DBox(); std::shared_ptr newDefault() const override; }; /// /// 姿态数据结构定义 /// struct Posture { double _azimuth_deg = 0; double _pitch_deg = 0; double _roll_deg = 0; }; /// /// 三维数据结构定义 /// struct VolumeData { double _length_m = 0; double _width_m = 0; double _height_m = 0; }; /// /// 体积盒详细数据定义 /// struct MESSAGEBASIC_EXPORT Box3DDesc : public AbstractMessage { VolumeData _d3_data; Posture _posture_d3; LonLatAlt _lla_pos; Box3DDesc(); // 通过 WsMessage 继承 std::shared_ptr newDefault() const override; void recoveryFrom(const QJsonObject& obj) override; void saveTo(QJsonObject& obj) const override; }; /// /// 设置三维数据 /// struct MESSAGEBASIC_EXPORT Set3DBoxD3Data : public AbstractMessage { VolumeData _d3_data; Set3DBoxD3Data(); // 通过 WsMessage 继承 std::shared_ptr newDefault() const override; void recoveryFrom(const QJsonObject& obj) override; void saveTo(QJsonObject& obj) const override; }; /// /// 设置姿态数据 /// struct MESSAGEBASIC_EXPORT Set3DBoxPosture : public AbstractMessage { Posture _posture_d3; Set3DBoxPosture(); // 通过 WsMessage 继承 std::shared_ptr newDefault() const override; void recoveryFrom(const QJsonObject& obj) override; void saveTo(QJsonObject& obj) const override; }; /// /// 设置地理定位 /// struct MESSAGEBASIC_EXPORT Set3DBoxLLAPos : public AbstractMessage { LonLatAlt _lla_pos; Set3DBoxLLAPos(); // 通过 WsMessage 继承 std::shared_ptr newDefault() const override; void recoveryFrom(const QJsonObject& obj) override; void saveTo(QJsonObject& obj) const override; };