void Placement::updateLayerOpacities(const RenderLayerSymbolInterface& symbolInterface) { std::set<uint32_t> seenCrossTileIDs; for (const RenderTile& renderTile : symbolInterface.getRenderTiles()) { if (!renderTile.tile.isRenderable()) { continue; } auto bucket = symbolInterface.getSymbolBucket(renderTile); if (!bucket) { continue; } SymbolBucket& symbolBucket = *bucket; if (symbolBucket.bucketLeaderID != symbolInterface.layerID()) { // Only update opacities this layer if it's the "group leader" for the bucket continue; } updateBucketOpacities(symbolBucket, seenCrossTileIDs); } }
void Placement::updateLayerOpacities(RenderSymbolLayer& symbolLayer) { std::set<uint32_t> seenCrossTileIDs; for (RenderTile& renderTile : symbolLayer.renderTiles) { if (!renderTile.tile.isRenderable()) { continue; } auto bucket = renderTile.tile.getBucket<SymbolBucket>(*symbolLayer.baseImpl); if (!bucket) { continue; } SymbolBucket& symbolBucket = *bucket; if (symbolBucket.bucketLeaderID != symbolLayer.getID()) { // Only update opacities this layer if it's the "group leader" for the bucket continue; } updateBucketOpacities(symbolBucket, seenCrossTileIDs); } }