summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMikhail Pozdnyakov <mikhail.pozdnyakov@mapbox.com>2019-07-24 16:49:58 +0300
committerMikhail Pozdnyakov <mikhail.pozdnyakov@mapbox.com>2019-07-25 17:36:35 +0300
commite6e1e15f950dc246e609cf4acf5b9d6ca13f8806 (patch)
treec524d1d592307cde0e69ea27fc4befa12f7c272f
parent433d3fb29894a762e0992366f7e09d7d92ba77b6 (diff)
downloadqtlocation-mapboxgl-e6e1e15f950dc246e609cf4acf5b9d6ca13f8806.tar.gz
[core] Simplfy ToGeometryCollection
-rw-r--r--src/mbgl/tile/geometry_tile_data.hpp39
1 files changed, 7 insertions, 32 deletions
diff --git a/src/mbgl/tile/geometry_tile_data.hpp b/src/mbgl/tile/geometry_tile_data.hpp
index 203afcace7..a06e2be835 100644
--- a/src/mbgl/tile/geometry_tile_data.hpp
+++ b/src/mbgl/tile/geometry_tile_data.hpp
@@ -97,31 +97,16 @@ struct ToGeometryCollection {
return { { geom } };
}
GeometryCollection operator()(const mapbox::geometry::multi_point<int16_t>& geom) const {
- GeometryCoordinates coordinates;
- coordinates.reserve(geom.size());
- for (const auto& point : geom) {
- coordinates.emplace_back(point);
- }
- return { coordinates };
+ return { geom };
}
GeometryCollection operator()(const mapbox::geometry::line_string<int16_t>& geom) const {
- GeometryCoordinates coordinates;
- coordinates.reserve(geom.size());
- for (const auto& point : geom) {
- coordinates.emplace_back(point);
- }
- return { coordinates };
+ return { geom };
}
GeometryCollection operator()(const mapbox::geometry::multi_line_string<int16_t>& geom) const {
GeometryCollection collection;
collection.reserve(geom.size());
for (const auto& ring : geom) {
- GeometryCoordinates coordinates;
- coordinates.reserve(ring.size());
- for (const auto& point : ring) {
- coordinates.emplace_back(point);
- }
- collection.push_back(std::move(coordinates));
+ collection.emplace_back(ring);
}
return collection;
}
@@ -129,25 +114,15 @@ struct ToGeometryCollection {
GeometryCollection collection;
collection.reserve(geom.size());
for (const auto& ring : geom) {
- GeometryCoordinates coordinates;
- coordinates.reserve(ring.size());
- for (const auto& point : ring) {
- coordinates.emplace_back(point);
- }
- collection.push_back(std::move(coordinates));
+ collection.emplace_back(ring);
}
return collection;
}
GeometryCollection operator()(const mapbox::geometry::multi_polygon<int16_t>& geom) const {
GeometryCollection collection;
- for (auto& polygon : geom) {
- for (auto& ring : polygon) {
- GeometryCoordinates coordinates;
- coordinates.reserve(ring.size());
- for (auto& point : ring) {
- coordinates.emplace_back(point);
- }
- collection.push_back(std::move(coordinates));
+ for (const auto& polygon : geom) {
+ for (const auto& ring : polygon) {
+ collection.emplace_back(ring);
}
}
return collection;