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>())
107 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):
108 tableNames(tableNames),
109 worldTableNames(worldTableNames),
110 xColumnName(xColumnName),
111 yColumnName(yColumnName),
119 projection(projection),
121 styleOptions(styleOptions),
130 std::vector<std::string> tableNames;
131 std::vector<std::string> worldTableNames;
132 std::string xColumnName;
133 std::string yColumnName;
134 std::vector<std::vector<std::string> > trackIds;
141 std::string projection;
143 std::map<std::string, std::vector<std::string> > styleOptions;
144 std::map<std::string, std::string> options;
154 template<>
struct codec_traits<
gpudb::VisualizeImageRequest>
156 static void encode(Encoder& e,
const gpudb::VisualizeImageRequest& v)
158 ::avro::encode(e, v.tableNames);
159 ::avro::encode(e, v.worldTableNames);
160 ::avro::encode(e, v.xColumnName);
161 ::avro::encode(e, v.yColumnName);
162 ::avro::encode(e, v.trackIds);
163 ::avro::encode(e, v.minX);
164 ::avro::encode(e, v.maxX);
165 ::avro::encode(e, v.minY);
166 ::avro::encode(e, v.maxY);
167 ::avro::encode(e, v.width);
168 ::avro::encode(e, v.height);
169 ::avro::encode(e, v.projection);
170 ::avro::encode(e, v.bgColor);
171 ::avro::encode(e, v.styleOptions);
172 ::avro::encode(e, v.options);
175 static void decode(Decoder& d, gpudb::VisualizeImageRequest& v)
177 if (::avro::ResolvingDecoder *rd = dynamic_cast< ::avro::ResolvingDecoder*>(&d))
179 const std::vector<size_t> fo = rd->fieldOrder();
181 for (std::vector<size_t>::const_iterator it = fo.begin(); it != fo.end(); ++it)
186 ::avro::decode(d, v.tableNames);
190 ::avro::decode(d, v.worldTableNames);
194 ::avro::decode(d, v.xColumnName);
198 ::avro::decode(d, v.yColumnName);
202 ::avro::decode(d, v.trackIds);
206 ::avro::decode(d, v.minX);
210 ::avro::decode(d, v.maxX);
214 ::avro::decode(d, v.minY);
218 ::avro::decode(d, v.maxY);
222 ::avro::decode(d, v.width);
226 ::avro::decode(d, v.height);
230 ::avro::decode(d, v.projection);
234 ::avro::decode(d, v.bgColor);
238 ::avro::decode(d, v.styleOptions);
242 ::avro::decode(d, v.options);
252 ::avro::decode(d, v.tableNames);
253 ::avro::decode(d, v.worldTableNames);
254 ::avro::decode(d, v.xColumnName);
255 ::avro::decode(d, v.yColumnName);
256 ::avro::decode(d, v.trackIds);
257 ::avro::decode(d, v.minX);
258 ::avro::decode(d, v.maxX);
259 ::avro::decode(d, v.minY);
260 ::avro::decode(d, v.maxY);
261 ::avro::decode(d, v.width);
262 ::avro::decode(d, v.height);
263 ::avro::decode(d, v.projection);
264 ::avro::decode(d, v.bgColor);
265 ::avro::decode(d, v.styleOptions);
266 ::avro::decode(d, v.options);
285 struct VisualizeImageResponse
293 VisualizeImageResponse() :
297 imageData(std::vector<uint8_t>())
308 std::vector<uint8_t> imageData;
318 template<>
struct codec_traits<
gpudb::VisualizeImageResponse>
320 static void encode(Encoder& e,
const gpudb::VisualizeImageResponse& v)
322 ::avro::encode(e, v.width);
323 ::avro::encode(e, v.height);
324 ::avro::encode(e, v.bgColor);
325 ::avro::encode(e, v.imageData);
328 static void decode(Decoder& d, gpudb::VisualizeImageResponse& v)
330 if (::avro::ResolvingDecoder *rd = dynamic_cast< ::avro::ResolvingDecoder*>(&d))
332 const std::vector<size_t> fo = rd->fieldOrder();
334 for (std::vector<size_t>::const_iterator it = fo.begin(); it != fo.end(); ++it)
339 ::avro::decode(d, v.width);
343 ::avro::decode(d, v.height);
347 ::avro::decode(d, v.bgColor);
351 ::avro::decode(d, v.imageData);
361 ::avro::decode(d, v.width);
362 ::avro::decode(d, v.height);
363 ::avro::decode(d, v.bgColor);
364 ::avro::decode(d, v.imageData);