summaryrefslogtreecommitdiff
path: root/src/mbgl/tile/custom_geometry_tile.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mbgl/tile/custom_geometry_tile.cpp')
-rw-r--r--src/mbgl/tile/custom_geometry_tile.cpp32
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)));
}