6 #ifndef __VISUALIZE_IMAGE_HEATMAP_H__ 
    7 #define __VISUALIZE_IMAGE_HEATMAP_H__ 
   18     struct VisualizeImageHeatmapRequest
 
   26         VisualizeImageHeatmapRequest() :
 
   27             tableNames(std::vector<std::string>()),
 
   28             xColumnName(std::string()),
 
   29             yColumnName(std::string()),
 
   30             valueColumnName(std::string()),
 
   31             geometryColumnName(std::string()),
 
   38             projection(std::string()),
 
   39             styleOptions(std::map<std::string, std::string>()),
 
   40             options(std::map<std::string, std::string>())
 
  256         VisualizeImageHeatmapRequest(
const std::vector<std::string>& tableNames_, 
const std::string& xColumnName_, 
const std::string& yColumnName_, 
const std::string& valueColumnName_, 
const std::string& geometryColumnName_, 
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 std::map<std::string, std::string>& styleOptions_, 
const std::map<std::string, std::string>& options_):
 
  257             tableNames( tableNames_ ),
 
  258             xColumnName( xColumnName_ ),
 
  259             yColumnName( yColumnName_ ),
 
  260             valueColumnName( valueColumnName_ ),
 
  261             geometryColumnName( geometryColumnName_ ),
 
  268             projection( projection_ ),
 
  269             styleOptions( styleOptions_ ),
 
  274         std::vector<std::string> tableNames;
 
  275         std::string xColumnName;
 
  276         std::string yColumnName;
 
  277         std::string valueColumnName;
 
  278         std::string geometryColumnName;
 
  285         std::string projection;
 
  286         std::map<std::string, std::string> styleOptions;
 
  287         std::map<std::string, std::string> options;
 
  297     template<> 
struct codec_traits<gpudb::VisualizeImageHeatmapRequest>
 
  299         static void encode(Encoder& e, 
const gpudb::VisualizeImageHeatmapRequest& v)
 
  301             ::avro::encode(e, v.tableNames);
 
  302             ::avro::encode(e, v.xColumnName);
 
  303             ::avro::encode(e, v.yColumnName);
 
  304             ::avro::encode(e, v.valueColumnName);
 
  305             ::avro::encode(e, v.geometryColumnName);
 
  306             ::avro::encode(e, v.minX);
 
  307             ::avro::encode(e, v.maxX);
 
  308             ::avro::encode(e, v.minY);
 
  309             ::avro::encode(e, v.maxY);
 
  310             ::avro::encode(e, v.width);
 
  311             ::avro::encode(e, v.height);
 
  312             ::avro::encode(e, v.projection);
 
  313             ::avro::encode(e, v.styleOptions);
 
  314             ::avro::encode(e, v.options);
 
  317         static void decode(Decoder& d, gpudb::VisualizeImageHeatmapRequest& v)
 
  319             if (::avro::ResolvingDecoder *rd = dynamic_cast< ::avro::ResolvingDecoder*>(&d))
 
  321                 const std::vector<size_t> fo = rd->fieldOrder();
 
  323                 for (std::vector<size_t>::const_iterator it = fo.begin(); it != fo.end(); ++it)
 
  328                             ::avro::decode(d, v.tableNames);
 
  332                             ::avro::decode(d, v.xColumnName);
 
  336                             ::avro::decode(d, v.yColumnName);
 
  340                             ::avro::decode(d, v.valueColumnName);
 
  344                             ::avro::decode(d, v.geometryColumnName);
 
  348                             ::avro::decode(d, v.minX);
 
  352                             ::avro::decode(d, v.maxX);
 
  356                             ::avro::decode(d, v.minY);
 
  360                             ::avro::decode(d, v.maxY);
 
  364                             ::avro::decode(d, v.width);
 
  368                             ::avro::decode(d, v.height);
 
  372                             ::avro::decode(d, v.projection);
 
  376                             ::avro::decode(d, v.styleOptions);
 
  380                             ::avro::decode(d, v.options);
 
  390                 ::avro::decode(d, v.tableNames);
 
  391                 ::avro::decode(d, v.xColumnName);
 
  392                 ::avro::decode(d, v.yColumnName);
 
  393                 ::avro::decode(d, v.valueColumnName);
 
  394                 ::avro::decode(d, v.geometryColumnName);
 
  395                 ::avro::decode(d, v.minX);
 
  396                 ::avro::decode(d, v.maxX);
 
  397                 ::avro::decode(d, v.minY);
 
  398                 ::avro::decode(d, v.maxY);
 
  399                 ::avro::decode(d, v.width);
 
  400                 ::avro::decode(d, v.height);
 
  401                 ::avro::decode(d, v.projection);
 
  402                 ::avro::decode(d, v.styleOptions);
 
  403                 ::avro::decode(d, v.options);
 
  418     struct VisualizeImageHeatmapResponse
 
  426         VisualizeImageHeatmapResponse() :
 
  430             imageData(std::vector<uint8_t>()),
 
  431             info(std::map<std::string, std::string>())
 
  438         std::vector<uint8_t> imageData;
 
  439         std::map<std::string, std::string> info;
 
  449     template<> 
struct codec_traits<gpudb::VisualizeImageHeatmapResponse>
 
  451         static void encode(Encoder& e, 
const gpudb::VisualizeImageHeatmapResponse& v)
 
  453             ::avro::encode(e, v.width);
 
  454             ::avro::encode(e, v.height);
 
  455             ::avro::encode(e, v.bgColor);
 
  456             ::avro::encode(e, v.imageData);
 
  457             ::avro::encode(e, v.info);
 
  460         static void decode(Decoder& d, gpudb::VisualizeImageHeatmapResponse& v)
 
  462             if (::avro::ResolvingDecoder *rd = dynamic_cast< ::avro::ResolvingDecoder*>(&d))
 
  464                 const std::vector<size_t> fo = rd->fieldOrder();
 
  466                 for (std::vector<size_t>::const_iterator it = fo.begin(); it != fo.end(); ++it)
 
  471                             ::avro::decode(d, v.width);
 
  475                             ::avro::decode(d, v.height);
 
  479                             ::avro::decode(d, v.bgColor);
 
  483                             ::avro::decode(d, v.imageData);
 
  487                             ::avro::decode(d, v.info);
 
  497                 ::avro::decode(d, v.width);
 
  498                 ::avro::decode(d, v.height);
 
  499                 ::avro::decode(d, v.bgColor);
 
  500                 ::avro::decode(d, v.imageData);
 
  501                 ::avro::decode(d, v.info);