6 #ifndef __VISUALIZE_IMAGE_H__
7 #define __VISUALIZE_IMAGE_H__
22 struct VisualizeImageRequest
30 VisualizeImageRequest() :
31 tableNames(std::vector<std::string>()),
32 worldTableNames(std::vector<std::string>()),
33 xColumnName(std::string()),
34 yColumnName(std::string()),
35 trackIds(std::vector<std::vector<std::string> >()),
42 projection(std::string()),
44 styleOptions(std::map<std::string, std::vector<std::string> >()),
45 options(std::map<std::string, std::string>())
187 VisualizeImageRequest(
const std::vector<std::string>& tableNames_,
const std::vector<std::string>& worldTableNames_,
const std::string& xColumnName_,
const std::string& yColumnName_,
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_):
188 tableNames( tableNames_ ),
189 worldTableNames( worldTableNames_ ),
190 xColumnName( xColumnName_ ),
191 yColumnName( yColumnName_ ),
192 trackIds( trackIds_ ),
199 projection( projection_ ),
201 styleOptions( styleOptions_ ),
210 std::vector<std::string> tableNames;
211 std::vector<std::string> worldTableNames;
212 std::string xColumnName;
213 std::string yColumnName;
214 std::vector<std::vector<std::string> > trackIds;
221 std::string projection;
223 std::map<std::string, std::vector<std::string> > styleOptions;
224 std::map<std::string, std::string> options;
234 template<>
struct codec_traits<gpudb::VisualizeImageRequest>
236 static void encode(Encoder& e,
const gpudb::VisualizeImageRequest& v)
238 ::avro::encode(e, v.tableNames);
239 ::avro::encode(e, v.worldTableNames);
240 ::avro::encode(e, v.xColumnName);
241 ::avro::encode(e, v.yColumnName);
242 ::avro::encode(e, v.trackIds);
243 ::avro::encode(e, v.minX);
244 ::avro::encode(e, v.maxX);
245 ::avro::encode(e, v.minY);
246 ::avro::encode(e, v.maxY);
247 ::avro::encode(e, v.width);
248 ::avro::encode(e, v.height);
249 ::avro::encode(e, v.projection);
250 ::avro::encode(e, v.bgColor);
251 ::avro::encode(e, v.styleOptions);
252 ::avro::encode(e, v.options);
255 static void decode(Decoder& d, gpudb::VisualizeImageRequest& v)
257 if (::avro::ResolvingDecoder *rd = dynamic_cast< ::avro::ResolvingDecoder*>(&d))
259 const std::vector<size_t> fo = rd->fieldOrder();
261 for (std::vector<size_t>::const_iterator it = fo.begin(); it != fo.end(); ++it)
266 ::avro::decode(d, v.tableNames);
270 ::avro::decode(d, v.worldTableNames);
274 ::avro::decode(d, v.xColumnName);
278 ::avro::decode(d, v.yColumnName);
282 ::avro::decode(d, v.trackIds);
286 ::avro::decode(d, v.minX);
290 ::avro::decode(d, v.maxX);
294 ::avro::decode(d, v.minY);
298 ::avro::decode(d, v.maxY);
302 ::avro::decode(d, v.width);
306 ::avro::decode(d, v.height);
310 ::avro::decode(d, v.projection);
314 ::avro::decode(d, v.bgColor);
318 ::avro::decode(d, v.styleOptions);
322 ::avro::decode(d, v.options);
332 ::avro::decode(d, v.tableNames);
333 ::avro::decode(d, v.worldTableNames);
334 ::avro::decode(d, v.xColumnName);
335 ::avro::decode(d, v.yColumnName);
336 ::avro::decode(d, v.trackIds);
337 ::avro::decode(d, v.minX);
338 ::avro::decode(d, v.maxX);
339 ::avro::decode(d, v.minY);
340 ::avro::decode(d, v.maxY);
341 ::avro::decode(d, v.width);
342 ::avro::decode(d, v.height);
343 ::avro::decode(d, v.projection);
344 ::avro::decode(d, v.bgColor);
345 ::avro::decode(d, v.styleOptions);
346 ::avro::decode(d, v.options);
365 struct VisualizeImageResponse
373 VisualizeImageResponse() :
377 imageData(std::vector<uint8_t>())
388 std::vector<uint8_t> imageData;
398 template<>
struct codec_traits<gpudb::VisualizeImageResponse>
400 static void encode(Encoder& e,
const gpudb::VisualizeImageResponse& v)
402 ::avro::encode(e, v.width);
403 ::avro::encode(e, v.height);
404 ::avro::encode(e, v.bgColor);
405 ::avro::encode(e, v.imageData);
408 static void decode(Decoder& d, gpudb::VisualizeImageResponse& v)
410 if (::avro::ResolvingDecoder *rd = dynamic_cast< ::avro::ResolvingDecoder*>(&d))
412 const std::vector<size_t> fo = rd->fieldOrder();
414 for (std::vector<size_t>::const_iterator it = fo.begin(); it != fo.end(); ++it)
419 ::avro::decode(d, v.width);
423 ::avro::decode(d, v.height);
427 ::avro::decode(d, v.bgColor);
431 ::avro::decode(d, v.imageData);
441 ::avro::decode(d, v.width);
442 ::avro::decode(d, v.height);
443 ::avro::decode(d, v.bgColor);
444 ::avro::decode(d, v.imageData);