#pragma once #include "messagebasic_global.h" #include "simsbasic.h" #define NAME(v) #v /// /// 推演请求 /// class MESSAGEBASIC_EXPORT DeduceRequest : public WsMessage { private: uint64_t _from_id, _to_id; public: DeduceRequest(); void reset(uint64_t from, uint64_t to); // 通过 WsMessage 继承 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; }; /// /// 默认的无返回消息的处理过程通用返回消息 /// class MESSAGEBASIC_EXPORT RespondDefault : public WsMessage { private: uint64_t _from_id, _to_id; double _time_consume; public: RespondDefault(); void reset(uint64_t from, uint64_t to, double consume); double consume() const; // 通过 WsMessage 继承 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; }; /// /// 时间同步消息 /// class MESSAGEBASIC_EXPORT SyncRequest : public WsMessage { private: uint64_t _from_id, _to_id; double _time_current; public: SyncRequest(); void reset(uint64_t from, uint64_t to, double timepoint); // 通过 WsMessage 继承 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; }; class MESSAGEBASIC_EXPORT Get3DVolume : public WsMessage { private: uint64_t _from_id = 0, _to_id = 0; public: Get3DVolume(); void reset(uint64_t from, uint64_t to); // 通过 WsMessage 继承 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; }; class MESSAGEBASIC_EXPORT Volume3DDesc : public WsMessage { private: uint64_t _from_id, _to_id; double _length, _width, _height; double _azimuth_deg; public: Volume3DDesc(); void reset(uint64_t from, uint64_t to, double l, double w, double h, double azi); // 通过 WsMessage 继承 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; };