6 #ifndef __VISUALIZE_IMAGE_H__
7 #define __VISUALIZE_IMAGE_H__
18 struct VisualizeImageRequest
26 VisualizeImageRequest() :
27 tableNames(std::vector<std::string>()),
28 worldTableNames(std::vector<std::string>()),
29 xColumnName(std::string()),
30 yColumnName(std::string()),
31 symbolColumnName(std::string()),
32 geometryColumnName(std::string()),
33 trackIds(std::vector<std::vector<std::string> >()),
40 projection(std::string()),
42 styleOptions(std::map<std::string, std::vector<std::string> >()),
43 options(std::map<std::string, std::string>())
276 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_):
277 tableNames( tableNames_ ),
278 worldTableNames( worldTableNames_ ),
279 xColumnName( xColumnName_ ),
280 yColumnName( yColumnName_ ),
281 symbolColumnName( symbolColumnName_ ),
282 geometryColumnName( geometryColumnName_ ),
283 trackIds( trackIds_ ),
290 projection( projection_ ),
292 styleOptions( styleOptions_ ),
297 std::vector<std::string> tableNames;
298 std::vector<std::string> worldTableNames;
299 std::string xColumnName;
300 std::string yColumnName;
301 std::string symbolColumnName;
302 std::string geometryColumnName;
303 std::vector<std::vector<std::string> > trackIds;
310 std::string projection;
312 std::map<std::string, std::vector<std::string> > styleOptions;
313 std::map<std::string, std::string> options;
323 template<>
struct codec_traits<gpudb::VisualizeImageRequest>
325 static void encode(Encoder& e,
const gpudb::VisualizeImageRequest& v)
327 ::avro::encode(e, v.tableNames);
328 ::avro::encode(e, v.worldTableNames);
329 ::avro::encode(e, v.xColumnName);
330 ::avro::encode(e, v.yColumnName);
331 ::avro::encode(e, v.symbolColumnName);
332 ::avro::encode(e, v.geometryColumnName);
333 ::avro::encode(e, v.trackIds);
334 ::avro::encode(e, v.minX);
335 ::avro::encode(e, v.maxX);
336 ::avro::encode(e, v.minY);
337 ::avro::encode(e, v.maxY);
338 ::avro::encode(e, v.width);
339 ::avro::encode(e, v.height);
340 ::avro::encode(e, v.projection);
341 ::avro::encode(e, v.bgColor);
342 ::avro::encode(e, v.styleOptions);
343 ::avro::encode(e, v.options);
346 static void decode(Decoder& d, gpudb::VisualizeImageRequest& v)
348 if (::avro::ResolvingDecoder *rd = dynamic_cast< ::avro::ResolvingDecoder*>(&d))
350 const std::vector<size_t> fo = rd->fieldOrder();
352 for (std::vector<size_t>::const_iterator it = fo.begin(); it != fo.end(); ++it)
357 ::avro::decode(d, v.tableNames);
361 ::avro::decode(d, v.worldTableNames);
365 ::avro::decode(d, v.xColumnName);
369 ::avro::decode(d, v.yColumnName);
373 ::avro::decode(d, v.symbolColumnName);
377 ::avro::decode(d, v.geometryColumnName);
381 ::avro::decode(d, v.trackIds);
385 ::avro::decode(d, v.minX);
389 ::avro::decode(d, v.maxX);
393 ::avro::decode(d, v.minY);
397 ::avro::decode(d, v.maxY);
401 ::avro::decode(d, v.width);
405 ::avro::decode(d, v.height);
409 ::avro::decode(d, v.projection);
413 ::avro::decode(d, v.bgColor);
417 ::avro::decode(d, v.styleOptions);
421 ::avro::decode(d, v.options);
431 ::avro::decode(d, v.tableNames);
432 ::avro::decode(d, v.worldTableNames);
433 ::avro::decode(d, v.xColumnName);
434 ::avro::decode(d, v.yColumnName);
435 ::avro::decode(d, v.symbolColumnName);
436 ::avro::decode(d, v.geometryColumnName);
437 ::avro::decode(d, v.trackIds);
438 ::avro::decode(d, v.minX);
439 ::avro::decode(d, v.maxX);
440 ::avro::decode(d, v.minY);
441 ::avro::decode(d, v.maxY);
442 ::avro::decode(d, v.width);
443 ::avro::decode(d, v.height);
444 ::avro::decode(d, v.projection);
445 ::avro::decode(d, v.bgColor);
446 ::avro::decode(d, v.styleOptions);
447 ::avro::decode(d, v.options);
462 struct VisualizeImageResponse
470 VisualizeImageResponse() :
474 imageData(std::vector<uint8_t>()),
475 info(std::map<std::string, std::string>())
482 std::vector<uint8_t> imageData;
483 std::map<std::string, std::string> info;
493 template<>
struct codec_traits<gpudb::VisualizeImageResponse>
495 static void encode(Encoder& e,
const gpudb::VisualizeImageResponse& v)
497 ::avro::encode(e, v.width);
498 ::avro::encode(e, v.height);
499 ::avro::encode(e, v.bgColor);
500 ::avro::encode(e, v.imageData);
501 ::avro::encode(e, v.info);
504 static void decode(Decoder& d, gpudb::VisualizeImageResponse& v)
506 if (::avro::ResolvingDecoder *rd = dynamic_cast< ::avro::ResolvingDecoder*>(&d))
508 const std::vector<size_t> fo = rd->fieldOrder();
510 for (std::vector<size_t>::const_iterator it = fo.begin(); it != fo.end(); ++it)
515 ::avro::decode(d, v.width);
519 ::avro::decode(d, v.height);
523 ::avro::decode(d, v.bgColor);
527 ::avro::decode(d, v.imageData);
531 ::avro::decode(d, v.info);
541 ::avro::decode(d, v.width);
542 ::avro::decode(d, v.height);
543 ::avro::decode(d, v.bgColor);
544 ::avro::decode(d, v.imageData);
545 ::avro::decode(d, v.info);