6 #ifndef __VISUALIZE_IMAGE_H__ 7 #define __VISUALIZE_IMAGE_H__ 12 struct VisualizeImageRequest
14 VisualizeImageRequest() :
15 tableNames(std::vector<std::string>()),
16 worldTableNames(std::vector<std::string>()),
17 xColumnName(std::string()),
18 yColumnName(std::string()),
19 symbolColumnName(std::string()),
20 geometryColumnName(std::string()),
21 trackIds(std::vector<std::vector<std::string> >()),
28 projection(std::string()),
30 styleOptions(std::map<std::string, std::vector<std::string> >()),
31 options(std::map<std::string, std::string>())
35 VisualizeImageRequest(
const std::vector<std::string>& tableNames_,
const std::vector<std::string>& worldTableNames_,
const std::string& xColumnName_,
const std::string& yColumnName_,
const std::string& symbolColumnName_,
const std::string& geometryColumnName_,
const std::vector<std::vector<std::string> >& trackIds_,
const double minX_,
const double maxX_,
const double minY_,
const double maxY_,
const int32_t width_,
const int32_t height_,
const std::string& projection_,
const int64_t bgColor_,
const std::map<std::string, std::vector<std::string> >& styleOptions_,
const std::map<std::string, std::string>& options_):
36 tableNames( tableNames_ ),
37 worldTableNames( worldTableNames_ ),
38 xColumnName( xColumnName_ ),
39 yColumnName( yColumnName_ ),
40 symbolColumnName( symbolColumnName_ ),
41 geometryColumnName( geometryColumnName_ ),
42 trackIds( trackIds_ ),
49 projection( projection_ ),
51 styleOptions( styleOptions_ ),
56 std::vector<std::string> tableNames;
57 std::vector<std::string> worldTableNames;
58 std::string xColumnName;
59 std::string yColumnName;
60 std::string symbolColumnName;
61 std::string geometryColumnName;
62 std::vector<std::vector<std::string> > trackIds;
69 std::string projection;
71 std::map<std::string, std::vector<std::string> > styleOptions;
72 std::map<std::string, std::string> options;
78 template<>
struct codec_traits<
gpudb::VisualizeImageRequest>
80 static void encode(Encoder& e,
const gpudb::VisualizeImageRequest& v)
82 ::avro::encode(e, v.tableNames);
83 ::avro::encode(e, v.worldTableNames);
84 ::avro::encode(e, v.xColumnName);
85 ::avro::encode(e, v.yColumnName);
86 ::avro::encode(e, v.symbolColumnName);
87 ::avro::encode(e, v.geometryColumnName);
88 ::avro::encode(e, v.trackIds);
89 ::avro::encode(e, v.minX);
90 ::avro::encode(e, v.maxX);
91 ::avro::encode(e, v.minY);
92 ::avro::encode(e, v.maxY);
93 ::avro::encode(e, v.width);
94 ::avro::encode(e, v.height);
95 ::avro::encode(e, v.projection);
96 ::avro::encode(e, v.bgColor);
97 ::avro::encode(e, v.styleOptions);
98 ::avro::encode(e, v.options);
101 static void decode(Decoder& d, gpudb::VisualizeImageRequest& v)
103 if (::avro::ResolvingDecoder *rd = dynamic_cast< ::avro::ResolvingDecoder*>(&d))
105 const std::vector<size_t> fo = rd->fieldOrder();
107 for (std::vector<size_t>::const_iterator it = fo.begin(); it != fo.end(); ++it)
112 ::avro::decode(d, v.tableNames);
116 ::avro::decode(d, v.worldTableNames);
120 ::avro::decode(d, v.xColumnName);
124 ::avro::decode(d, v.yColumnName);
128 ::avro::decode(d, v.symbolColumnName);
132 ::avro::decode(d, v.geometryColumnName);
136 ::avro::decode(d, v.trackIds);
140 ::avro::decode(d, v.minX);
144 ::avro::decode(d, v.maxX);
148 ::avro::decode(d, v.minY);
152 ::avro::decode(d, v.maxY);
156 ::avro::decode(d, v.width);
160 ::avro::decode(d, v.height);
164 ::avro::decode(d, v.projection);
168 ::avro::decode(d, v.bgColor);
172 ::avro::decode(d, v.styleOptions);
176 ::avro::decode(d, v.options);
186 ::avro::decode(d, v.tableNames);
187 ::avro::decode(d, v.worldTableNames);
188 ::avro::decode(d, v.xColumnName);
189 ::avro::decode(d, v.yColumnName);
190 ::avro::decode(d, v.symbolColumnName);
191 ::avro::decode(d, v.geometryColumnName);
192 ::avro::decode(d, v.trackIds);
193 ::avro::decode(d, v.minX);
194 ::avro::decode(d, v.maxX);
195 ::avro::decode(d, v.minY);
196 ::avro::decode(d, v.maxY);
197 ::avro::decode(d, v.width);
198 ::avro::decode(d, v.height);
199 ::avro::decode(d, v.projection);
200 ::avro::decode(d, v.bgColor);
201 ::avro::decode(d, v.styleOptions);
202 ::avro::decode(d, v.options);
211 struct VisualizeImageResponse
213 VisualizeImageResponse() :
217 imageData(std::vector<uint8_t>()),
218 info(std::map<std::string, std::string>())
225 std::vector<uint8_t> imageData;
226 std::map<std::string, std::string> info;
232 template<>
struct codec_traits<
gpudb::VisualizeImageResponse>
234 static void encode(Encoder& e,
const gpudb::VisualizeImageResponse& v)
236 ::avro::encode(e, v.width);
237 ::avro::encode(e, v.height);
238 ::avro::encode(e, v.bgColor);
239 ::avro::encode(e, v.imageData);
240 ::avro::encode(e, v.info);
243 static void decode(Decoder& d, gpudb::VisualizeImageResponse& v)
245 if (::avro::ResolvingDecoder *rd = dynamic_cast< ::avro::ResolvingDecoder*>(&d))
247 const std::vector<size_t> fo = rd->fieldOrder();
249 for (std::vector<size_t>::const_iterator it = fo.begin(); it != fo.end(); ++it)
254 ::avro::decode(d, v.width);
258 ::avro::decode(d, v.height);
262 ::avro::decode(d, v.bgColor);
266 ::avro::decode(d, v.imageData);
270 ::avro::decode(d, v.info);
280 ::avro::decode(d, v.width);
281 ::avro::decode(d, v.height);
282 ::avro::decode(d, v.bgColor);
283 ::avro::decode(d, v.imageData);
284 ::avro::decode(d, v.info);
290 #endif // __VISUALIZE_IMAGE_H__