diff options
Diffstat (limited to 'src/mbgl/tile/custom_geometry_tile.cpp')
-rw-r--r-- | src/mbgl/tile/custom_geometry_tile.cpp | 32 |
1 files changed, 16 insertions, 16 deletions
diff --git a/src/mbgl/tile/custom_geometry_tile.cpp b/src/mbgl/tile/custom_geometry_tile.cpp index 7b1fc2e2d9..660dcf64d4 100644 --- a/src/mbgl/tile/custom_geometry_tile.cpp +++ b/src/mbgl/tile/custom_geometry_tile.cpp @@ -13,17 +13,16 @@ namespace mbgl { CustomGeometryTile::CustomGeometryTile(const OverscaledTileID& overscaledTileID, - std::string sourceID_, - const TileParameters& parameters, - const style::CustomGeometrySource::TileOptions options_, - ActorRef<style::CustomTileLoader> loader_) + std::string sourceID_, + const TileParameters& parameters, + Immutable<style::CustomGeometrySource::TileOptions> options_, + ActorRef<style::CustomTileLoader> loader_) : GeometryTile(overscaledTileID, sourceID_, parameters), - necessity(TileNecessity::Optional), - options(options_), - loader(std::move(loader_)), - mailbox(std::make_shared<Mailbox>(*Scheduler::GetCurrent())), - actorRef(*this, mailbox) { -} + necessity(TileNecessity::Optional), + options(std::move(options_)), + loader(std::move(loader_)), + mailbox(std::make_shared<Mailbox>(*Scheduler::GetCurrent())), + actorRef(*this, mailbox) {} CustomGeometryTile::~CustomGeometryTile() { loader.invoke(&style::CustomTileLoader::removeTile, id); @@ -33,15 +32,16 @@ void CustomGeometryTile::setTileData(const GeoJSON& geoJSON) { auto featureData = mapbox::feature::feature_collection<int16_t>(); if (geoJSON.is<FeatureCollection>() && !geoJSON.get<FeatureCollection>().empty()) { - const double scale = util::EXTENT / options.tileSize; + const double scale = util::EXTENT / options->tileSize; mapbox::geojsonvt::TileOptions vtOptions; vtOptions.extent = util::EXTENT; - vtOptions.buffer = ::round(scale * options.buffer); - vtOptions.tolerance = scale * options.tolerance; - featureData = mapbox::geojsonvt::geoJSONToTile(geoJSON, - id.canonical.z, id.canonical.x, id.canonical.y, - vtOptions, options.wrap, options.clip).features; + vtOptions.buffer = ::round(scale * options->buffer); + vtOptions.tolerance = scale * options->tolerance; + featureData = + mapbox::geojsonvt::geoJSONToTile( + geoJSON, id.canonical.z, id.canonical.x, id.canonical.y, vtOptions, options->wrap, options->clip) + .features; } setData(std::make_unique<GeoJSONTileData>(std::move(featureData))); } |