2025-05-25 04:43:37 +00:00
|
|
|
|
#pragma once
|
|
|
|
|
|
|
|
|
|
#include "messagebasic_global.h"
|
2025-06-07 08:44:25 +00:00
|
|
|
|
#include <simsbasic.h>
|
|
|
|
|
#include <standardglobe.h>
|
2025-05-25 04:43:37 +00:00
|
|
|
|
|
|
|
|
|
#define NAME(v) #v
|
2025-05-31 04:18:43 +00:00
|
|
|
|
#define DOUBLE_SAVE(u) obj[NAME(u)] = u
|
|
|
|
|
#define DOUOBLE_PEAK(u) u = obj[NAME(u)].toDouble()
|
2025-05-25 04:43:37 +00:00
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
/// </summary>
|
|
|
|
|
class MESSAGEBASIC_EXPORT DeduceRequest : public WsMessage {
|
|
|
|
|
private:
|
2025-05-31 03:57:32 +00:00
|
|
|
|
uint64_t _from_id = 0, _to_id = 0;
|
2025-05-25 04:43:37 +00:00
|
|
|
|
|
|
|
|
|
public:
|
|
|
|
|
DeduceRequest();
|
|
|
|
|
|
|
|
|
|
void reset(uint64_t from, uint64_t to);
|
|
|
|
|
|
|
|
|
|
// ͨ<><CDA8> WsMessage <20>̳<EFBFBD>
|
|
|
|
|
void recoveryFrom(const QJsonObject& obj) override;
|
|
|
|
|
void saveTo(QJsonObject& obj) const override;
|
|
|
|
|
QString topicString() const override;
|
|
|
|
|
uint64_t targetEntity() const override;
|
|
|
|
|
uint64_t sourceEntity() const override;
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// Ĭ<>ϵ<EFBFBD><CFB5><EFBFBD><DEB7><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD>Ĵ<EFBFBD><C4B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͨ<EFBFBD>÷<EFBFBD><C3B7><EFBFBD><EFBFBD><EFBFBD>Ϣ
|
|
|
|
|
/// </summary>
|
|
|
|
|
class MESSAGEBASIC_EXPORT RespondDefault : public WsMessage {
|
|
|
|
|
private:
|
2025-05-31 03:57:32 +00:00
|
|
|
|
uint64_t _from_id = 0, _to_id = 0;
|
2025-05-25 04:43:37 +00:00
|
|
|
|
double _time_consume;
|
|
|
|
|
|
|
|
|
|
public:
|
|
|
|
|
RespondDefault();
|
|
|
|
|
|
|
|
|
|
void reset(uint64_t from, uint64_t to, double consume);
|
|
|
|
|
|
|
|
|
|
double consume() const;
|
|
|
|
|
|
|
|
|
|
// ͨ<><CDA8> WsMessage <20>̳<EFBFBD>
|
|
|
|
|
void recoveryFrom(const QJsonObject& obj) override;
|
|
|
|
|
void saveTo(QJsonObject& obj) const override;
|
|
|
|
|
QString topicString() const override;
|
|
|
|
|
uint64_t targetEntity() const override;
|
|
|
|
|
uint64_t sourceEntity() const override;
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// ʱ<><CAB1>ͬ<EFBFBD><CDAC><EFBFBD><EFBFBD>Ϣ
|
|
|
|
|
/// </summary>
|
|
|
|
|
class MESSAGEBASIC_EXPORT SyncRequest : public WsMessage {
|
|
|
|
|
private:
|
2025-05-31 03:57:32 +00:00
|
|
|
|
uint64_t _from_id = 0, _to_id = 0;
|
2025-05-25 04:43:37 +00:00
|
|
|
|
double _time_current;
|
|
|
|
|
|
|
|
|
|
public:
|
|
|
|
|
SyncRequest();
|
|
|
|
|
|
|
|
|
|
void reset(uint64_t from, uint64_t to, double timepoint);
|
|
|
|
|
|
|
|
|
|
// ͨ<><CDA8> WsMessage <20>̳<EFBFBD>
|
|
|
|
|
void recoveryFrom(const QJsonObject& obj) override;
|
|
|
|
|
void saveTo(QJsonObject& obj) const override;
|
|
|
|
|
QString topicString() const override;
|
|
|
|
|
uint64_t targetEntity() const override;
|
|
|
|
|
uint64_t sourceEntity() const override;
|
|
|
|
|
};
|
|
|
|
|
|
2025-05-31 03:57:32 +00:00
|
|
|
|
// <20><><EFBFBD><EFBFBD><EFBFBD>п<EFBFBD><D0BF>ӻ<EFBFBD><D3BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ =======================================================
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// <20><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϸ<EFBFBD><CFB8><EFBFBD><EFBFBD>
|
|
|
|
|
/// </summary>
|
|
|
|
|
class MESSAGEBASIC_EXPORT Get3DBox : public WsMessage {
|
2025-05-25 04:43:37 +00:00
|
|
|
|
private:
|
|
|
|
|
uint64_t _from_id = 0, _to_id = 0;
|
|
|
|
|
|
|
|
|
|
public:
|
2025-05-31 03:57:32 +00:00
|
|
|
|
Get3DBox();
|
2025-05-25 04:43:37 +00:00
|
|
|
|
|
|
|
|
|
void reset(uint64_t from, uint64_t to);
|
|
|
|
|
|
|
|
|
|
// ͨ<><CDA8> WsMessage <20>̳<EFBFBD>
|
|
|
|
|
void recoveryFrom(const QJsonObject& obj) override;
|
|
|
|
|
void saveTo(QJsonObject& obj) const override;
|
|
|
|
|
QString topicString() const override;
|
|
|
|
|
uint64_t targetEntity() const override;
|
|
|
|
|
uint64_t sourceEntity() const override;
|
|
|
|
|
};
|
|
|
|
|
|
2025-05-31 03:57:32 +00:00
|
|
|
|
/// <summary>
|
|
|
|
|
/// <20><>̬<EFBFBD><CCAC><EFBFBD>ݽṹ<DDBD><E1B9B9><EFBFBD><EFBFBD>
|
|
|
|
|
/// </summary>
|
|
|
|
|
struct Posture {
|
|
|
|
|
double _azimuth_deg = 0;
|
|
|
|
|
double _pitch_deg = 0;
|
|
|
|
|
double _roll_deg = 0;
|
|
|
|
|
};
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// <20><>ά<EFBFBD><CEAC><EFBFBD>ݽṹ<DDBD><E1B9B9><EFBFBD><EFBFBD>
|
|
|
|
|
/// </summary>
|
|
|
|
|
struct D3Data{
|
|
|
|
|
double _length_m = 0;
|
|
|
|
|
double _width_m = 0;
|
|
|
|
|
double _height_m = 0;
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϸ<EFBFBD><CFB8><EFBFBD>ݶ<EFBFBD><DDB6><EFBFBD>
|
|
|
|
|
/// </summary>
|
|
|
|
|
class MESSAGEBASIC_EXPORT Box3DDesc : public WsMessage {
|
2025-05-25 04:43:37 +00:00
|
|
|
|
private:
|
2025-05-31 03:57:32 +00:00
|
|
|
|
uint64_t _from_id = 0, _to_id = 0;
|
|
|
|
|
D3Data _d3_data;
|
|
|
|
|
Posture _posture_d3;
|
|
|
|
|
LLAPos _lla_pos;
|
2025-05-25 04:43:37 +00:00
|
|
|
|
|
|
|
|
|
public:
|
2025-05-31 03:57:32 +00:00
|
|
|
|
Box3DDesc();
|
|
|
|
|
|
|
|
|
|
void setTarget(uint64_t from, uint64_t to);
|
|
|
|
|
void setVolume(const D3Data &d);
|
|
|
|
|
D3Data volume() const;
|
|
|
|
|
void setPosture(const Posture &p);
|
|
|
|
|
Posture posture() const;
|
|
|
|
|
void setPosition(const LLAPos &lla);
|
|
|
|
|
LLAPos position() const;
|
2025-05-25 04:43:37 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// ͨ<><CDA8> WsMessage <20>̳<EFBFBD>
|
|
|
|
|
void recoveryFrom(const QJsonObject& obj) override;
|
|
|
|
|
void saveTo(QJsonObject& obj) const override;
|
|
|
|
|
QString topicString() const override;
|
|
|
|
|
uint64_t targetEntity() const override;
|
|
|
|
|
uint64_t sourceEntity() const override;
|
2025-05-31 03:57:32 +00:00
|
|
|
|
};
|