From 8128a2b1ef1999f00b13f36c059ba15ae4d4c85d Mon Sep 17 00:00:00 2001 From: artemp Date: Thu, 10 Sep 2015 19:26:57 +0200 Subject: [PATCH] topojson - remove 'invalid' geometry type to avoid default constructed geometries --- include/mapnik/json/topojson_grammar_impl.hpp | 2 +- include/mapnik/json/topojson_utils.hpp | 6 ------ include/mapnik/json/topology.hpp | 5 +---- plugins/input/topojson/topojson_datasource.cpp | 6 ------ 4 files changed, 2 insertions(+), 17 deletions(-) diff --git a/include/mapnik/json/topojson_grammar_impl.hpp b/include/mapnik/json/topojson_grammar_impl.hpp index f20fbf935..90e3f1a0f 100644 --- a/include/mapnik/json/topojson_grammar_impl.hpp +++ b/include/mapnik/json/topojson_grammar_impl.hpp @@ -73,7 +73,7 @@ topojson_grammar::topojson_grammar() // topo json topology = lit('{') >> lit("\"type\"") >> lit(':') >> lit("\"Topology\"") - >> ( (lit(',') >> objects) ^ ( lit(',') >> arcs) ^ (lit(',') >> transform) ^ (lit(',') >> bbox)) + >> ( (lit(',') >> objects ) ^ ( lit(',') >> arcs) ^ (lit(',') >> transform) ^ (lit(',') >> bbox)) >> lit('}') ; diff --git a/include/mapnik/json/topojson_utils.hpp b/include/mapnik/json/topojson_utils.hpp index 5558bde97..be6a83a2c 100644 --- a/include/mapnik/json/topojson_utils.hpp +++ b/include/mapnik/json/topojson_utils.hpp @@ -238,12 +238,6 @@ struct bounding_box_visitor } return bbox; } - - box2d operator() (mapnik::topojson::invalid const&) const - { - return box2d(); - } - private: topology const& topo_; std::size_t num_arcs_; diff --git a/include/mapnik/json/topology.hpp b/include/mapnik/json/topology.hpp index 3cfc2d322..48453df70 100644 --- a/include/mapnik/json/topology.hpp +++ b/include/mapnik/json/topology.hpp @@ -86,10 +86,7 @@ struct multi_polygon boost::optional props; }; -struct invalid {}; - -using geometry = util::variant(mapnik::datasource_geometry_t::Polygon); } - int operator() (mapnik::topojson::invalid const&) const - { - return -1; - } }; struct collect_attributes_visitor @@ -121,8 +117,6 @@ struct collect_attributes_visitor collect_attributes_visitor(mapnik::layer_descriptor & desc): desc_(desc) {} - void operator() (mapnik::topojson::invalid const&) {} - template void operator() (GeomType const& g) {