store spriteAtlas by value + make TileParser noncopyable

This commit is contained in:
artemp
2014-10-29 14:09:06 -04:00
parent 92f99cbc16
commit 2607a755af
4 changed files with 16 additions and 18 deletions

View File

@@ -39,9 +39,9 @@ TileParser::~TileParser() = default;
TileParser::TileParser(const std::string &data, VectorTileData &tile_,
const util::ptr<const Style> &style_,
GlyphAtlas& glyphAtlas_,
GlyphAtlas & glyphAtlas_,
const util::ptr<GlyphStore> &glyphStore_,
const util::ptr<SpriteAtlas> &spriteAtlas_,
SpriteAtlas & spriteAtlas_,
const util::ptr<Sprite> &sprite_)
: vector_data(pbf((const uint8_t *)data.data(), data.size())),
tile(tile_),
@@ -54,7 +54,6 @@ TileParser::TileParser(const std::string &data, VectorTileData &tile_,
assert(&tile != nullptr);
assert(style);
assert(glyphStore);
assert(spriteAtlas);
assert(sprite);
assert(collision);
}
@@ -176,7 +175,7 @@ std::unique_ptr<Bucket> TileParser::createLineBucket(const VectorTileLayer& laye
std::unique_ptr<Bucket> TileParser::createSymbolBucket(const VectorTileLayer& layer, const FilterExpression &filter, const StyleBucketSymbol &symbol) {
std::unique_ptr<SymbolBucket> bucket = std::make_unique<SymbolBucket>(symbol, *collision);
bucket->addFeatures(layer, filter, tile.id, *spriteAtlas, *sprite, glyphAtlas, *glyphStore);
bucket->addFeatures(layer, filter, tile.id, spriteAtlas, *sprite, glyphAtlas, *glyphStore);
return obsolete() ? nullptr : std::move(bucket);
}