make collision debug boxes toggleable

This commit is contained in:
Ansis Brammanis
2015-05-28 11:01:57 -04:00
parent 0bd39ae44a
commit 8962442b1b
15 changed files with 71 additions and 25 deletions

View File

@@ -288,7 +288,7 @@ TileData::State Source::addTile(MapData& data,
if (info.type == SourceType::Vector) {
new_tile.data =
std::make_shared<VectorTileData>(normalized_id, data.transform.getMaxZoom(), style, glyphAtlas,
glyphStore, spriteAtlas, sprite, info, transformState.getAngle());
glyphStore, spriteAtlas, sprite, info, transformState.getAngle(), data.getCollisionDebug());
new_tile.data->request(style.workers, transformState.getPixelRatio(), callback);
} else if (info.type == SourceType::Raster) {
new_tile.data = std::make_shared<RasterTileData>(normalized_id, texturePool, info);
@@ -296,7 +296,7 @@ TileData::State Source::addTile(MapData& data,
} else if (info.type == SourceType::Annotations) {
new_tile.data = std::make_shared<LiveTileData>(normalized_id, data.annotationManager,
data.transform.getMaxZoom(), style, glyphAtlas,
glyphStore, spriteAtlas, sprite, info, transformState.getAngle());
glyphStore, spriteAtlas, sprite, info, transformState.getAngle(), data.getCollisionDebug());
new_tile.data->reparse(style.workers, callback);
} else {
throw std::runtime_error("source type not implemented");
@@ -497,7 +497,7 @@ bool Source::update(MapData& data,
updateTilePtrs();
redoPlacement(transformState);
redoPlacement(transformState, data.getCollisionDebug());
updated = data.getAnimationTime();
@@ -520,9 +520,9 @@ void Source::updateTilePtrs() {
}
}
void Source::redoPlacement(const TransformState& transformState) {
void Source::redoPlacement(const TransformState& transformState, bool collisionDebug) {
for (auto& tilePtr : tilePtrs) {
tilePtr->data->redoPlacement(transformState.getAngle());
tilePtr->data->redoPlacement(transformState.getAngle(), collisionDebug);
}
}