2014-10-24 15:12:02 -07:00
|
|
|
struct draw {
|
2014-11-05 14:37:54 -08:00
|
|
|
signed char op;
|
2014-10-24 15:12:02 -07:00
|
|
|
long long x;
|
|
|
|
long long y;
|
|
|
|
int necessary;
|
|
|
|
|
|
|
|
draw(int op, long long x, long long y) {
|
|
|
|
this->op = op;
|
|
|
|
this->x = x;
|
|
|
|
this->y = y;
|
|
|
|
}
|
|
|
|
|
2015-06-03 11:21:40 -07:00
|
|
|
draw() {
|
|
|
|
}
|
2014-10-24 15:12:02 -07:00
|
|
|
};
|
|
|
|
|
|
|
|
typedef std::vector<draw> drawvec;
|
|
|
|
|
2014-12-11 13:34:50 -08:00
|
|
|
drawvec decode_geometry(char **meta, int z, unsigned tx, unsigned ty, int detail, long long *bbox);
|
2014-10-24 15:12:02 -07:00
|
|
|
void to_tile_scale(drawvec &geom, int z, int detail);
|
2015-07-01 12:16:50 -07:00
|
|
|
drawvec remove_noop(drawvec geom, int type, int shift);
|
2014-12-03 16:18:43 -08:00
|
|
|
drawvec clip_point(drawvec &geom, int z, int detail, long long buffer);
|
2015-10-15 17:11:29 -07:00
|
|
|
drawvec clean_or_clip_poly(drawvec &geom, int z, int detail, int buffer, bool clip);
|
2014-10-24 15:12:02 -07:00
|
|
|
drawvec reduce_tiny_poly(drawvec &geom, int z, int detail, bool *reduced, double *accum_area);
|
2014-10-27 13:20:17 -07:00
|
|
|
drawvec clip_lines(drawvec &geom, int z, int detail, long long buffer);
|
2014-12-11 13:34:50 -08:00
|
|
|
int quick_check(long long *bbox, int z, int detail, long long buffer);
|
2014-10-24 15:12:02 -07:00
|
|
|
drawvec simplify_lines(drawvec &geom, int z, int detail);
|
|
|
|
drawvec reorder_lines(drawvec &geom);
|
2015-10-07 16:52:52 -07:00
|
|
|
drawvec fix_polygon(drawvec &geom);
|