6#include <unordered_map> 
   10#ifndef MSGPACK_DEFINE_MAP 
   11#define MSGPACK_DEFINE_MAP(...) 
   24    std::map<std::string, double> 
angles;
 
   35        return !(*
this == other);
 
   38                       MSGPACK_NVP(
"or", origin_rot), MSGPACK_NVP(
"c", color),
 
   39                       MSGPACK_NVP(
"gt", geometry_type),
 
   40                       MSGPACK_NVP(
"gp", geometry_properties),
 
   41                       MSGPACK_NVP(
"fm", field_member),
 
   42                       MSGPACK_NVP(
"ff", field_field), MSGPACK_NVP(
"a", angles))
 
   45    std::map<std::string, std::shared_ptr<Canvas3DComponentData>, std::less<>>
 
   52    std::map<std::string, std::shared_ptr<Canvas3DComponentData>, std::less<>>
 
   54    std::optional<std::vector<SharedString>> 
data_ids;
 
   57             std::map<std::string, std::shared_ptr<Canvas3DComponentData>,
 
   60             std::optional<std::vector<SharedString>> data_ids)
 
   61        : field(field), data_diff(std::move(data_diff)),
 
   62          data_ids(std::move(data_ids)) {}
 
   64                       MSGPACK_NVP(
"l", data_ids))
 
   68    std::map<std::string, std::shared_ptr<Canvas3DComponentData>> 
data_diff;
 
   69    std::size_t length = 0;
 
   73        const std::unordered_map<
int, std::shared_ptr<Canvas3DComponentData>>
 
   76        : field(field), data_diff(), length(length) {
 
   77        for (
const auto &vc : data_diff) {
 
   78            this->data_diff.emplace(std::to_string(vc.first), vc.second);
 
   83        const std::map<std::string, std::shared_ptr<Canvas3DComponentData>>
 
   86        : field(field), data_diff(data_diff), length(length) {}
 
   88                       MSGPACK_NVP(
"l", length))
 
   92    : 
public MessageBase<MessageKind::canvas3d + MessageKind::res> {
 
   93    unsigned int req_id = 0;
 
   95    std::map<std::string, std::shared_ptr<Canvas3DComponentData>, std::less<>>
 
   97    std::optional<std::vector<SharedString>> 
data_ids;
 
  100        const std::map<std::string, std::shared_ptr<Canvas3DComponentData>,
 
  101                       std::less<>> &data_diff,
 
  102        const std::optional<std::vector<SharedString>> &data_ids)
 
  103        : req_id(req_id), sub_field(sub_field), data_diff(data_diff),
 
  104          data_ids(data_ids) {}
 
  106                       MSGPACK_NVP(
"d", data_diff), MSGPACK_NVP(
"l", data_ids))
 
  110    : 
public MessageBase<MessageKind::canvas3d_old + MessageKind::res> {
 
  111    unsigned int req_id = 0;
 
  113    std::map<std::string, std::shared_ptr<Canvas3DComponentData>> 
data_diff;
 
  114    std::size_t length = 0;
 
  117        const std::map<std::string, std::shared_ptr<Canvas3DComponentData>>
 
  120        : req_id(req_id), sub_field(sub_field), data_diff(data_diff),
 
  123                       MSGPACK_NVP(
"d", data_diff), MSGPACK_NVP(
"l", length))
 
#define MSGPACK_DEFINE_MAP(...)
Definition base.h:18
 
u8stringとstringとwstringをshared_ptrで持ち共有する
Definition encoding.h:170
 
#define WEBCFACE_MESSAGE_FMT(Type)
Definition fmt.h:21
 
std::array< double, 3 > origin_rot
Definition canvas3d.h:19
 
std::optional< SharedString > field_field
Definition canvas3d.h:23
 
int color
Definition canvas3d.h:20
 
Canvas3DComponentData()=default
 
std::array< double, 3 > origin_pos
Definition canvas3d.h:19
 
std::optional< SharedString > field_member
Definition canvas3d.h:23
 
bool operator==(const Canvas3DComponentData &other) const
Definition canvas3d.h:26
 
std::optional< int > geometry_type
Definition canvas3d.h:21
 
int type
Definition canvas3d.h:18
 
std::map< std::string, double > angles
Definition canvas3d.h:24
 
bool operator!=(const Canvas3DComponentData &other) const
Definition canvas3d.h:34
 
std::vector< double > geometry_properties
Definition canvas3d.h:22
 
std::vector< SharedString > data_ids
Definition canvas3d.h:47
 
std::map< std::string, std::shared_ptr< Canvas3DComponentData >, std::less<> > components
Definition canvas3d.h:46
 
Canvas3DOld(const SharedString &field, const std::map< std::string, std::shared_ptr< Canvas3DComponentData > > &data_diff, std::size_t length)
Definition canvas3d.h:81
 
SharedString field
Definition canvas3d.h:67
 
Canvas3DOld(const SharedString &field, const std::unordered_map< int, std::shared_ptr< Canvas3DComponentData > > &data_diff, std::size_t length)
Definition canvas3d.h:71
 
std::map< std::string, std::shared_ptr< Canvas3DComponentData > > data_diff
Definition canvas3d.h:68
 
std::map< std::string, std::shared_ptr< Canvas3DComponentData >, std::less<> > data_diff
Definition canvas3d.h:53
 
std::optional< std::vector< SharedString > > data_ids
Definition canvas3d.h:54
 
Canvas3D(const SharedString &field, std::map< std::string, std::shared_ptr< Canvas3DComponentData >, std::less<> > data_diff, std::optional< std::vector< SharedString > > data_ids)
Definition canvas3d.h:56
 
SharedString field
Definition canvas3d.h:51
 
型からkindを取得するためだけのベースクラス
Definition base.h:68
 
SharedString sub_field
Definition canvas3d.h:112
 
std::map< std::string, std::shared_ptr< Canvas3DComponentData > > data_diff
Definition canvas3d.h:113
 
Res(unsigned int req_id, const SharedString &sub_field, const std::map< std::string, std::shared_ptr< Canvas3DComponentData > > &data_diff, std::size_t length)
Definition canvas3d.h:116
 
std::map< std::string, std::shared_ptr< Canvas3DComponentData >, std::less<> > data_diff
Definition canvas3d.h:96
 
std::optional< std::vector< SharedString > > data_ids
Definition canvas3d.h:97
 
SharedString sub_field
Definition canvas3d.h:94
 
Res(unsigned int req_id, const SharedString &sub_field, const std::map< std::string, std::shared_ptr< Canvas3DComponentData >, std::less<> > &data_diff, const std::optional< std::vector< SharedString > > &data_ids)
Definition canvas3d.h:99
 
#define WEBCFACE_NS_END
Definition webcface-config.h:113
 
#define WEBCFACE_NS_BEGIN
Definition webcface-config.h:112