diff --git a/modules/globebrowsing/tile/layermanager.cpp b/modules/globebrowsing/tile/layermanager.cpp index 7abc83c8b8..b1c02ba01b 100644 --- a/modules/globebrowsing/tile/layermanager.cpp +++ b/modules/globebrowsing/tile/layermanager.cpp @@ -49,6 +49,10 @@ namespace globebrowsing { addProperty(gamma); addProperty(multiplier); } + + ////////////////////////////////////////////////////////////////////////////////////// + // Layer // + ////////////////////////////////////////////////////////////////////////////////////// Layer::Layer(const ghoul::Dictionary& layerDict) : _enabled(properties::BoolProperty("enabled", "enabled", false)) @@ -81,6 +85,7 @@ namespace globebrowsing { return std::move(TileSelector::getHighestResolutionTilePile(_tileProvider.get(), tileIndex, pileSize)); } + ////////////////////////////////////////////////////////////////////////////////////// // Layer Group // ////////////////////////////////////////////////////////////////////////////////////// @@ -100,7 +105,7 @@ namespace globebrowsing { ghoul::Dictionary layerDict = dict.value(dictKey); try { - layers.push_back(std::make_shared(layerDict)); + _layers.push_back(std::make_shared(layerDict)); } catch (const ghoul::RuntimeError& e) { LERROR(e.what()); @@ -108,7 +113,7 @@ namespace globebrowsing { } } - for(auto layer : layers){ + for(auto layer : _layers){ addPropertySubOwner(layer.get()); } } @@ -116,7 +121,7 @@ namespace globebrowsing { void LayerGroup::update() { _activeLayers.clear(); - for (auto layer : layers) { + for (auto layer : _layers) { if (layer->enabled()) { layer->tileProvider()->update(); _activeLayers.push_back(layer); @@ -124,6 +129,10 @@ namespace globebrowsing { } } + const std::vector>& LayerGroup::layers() const { + return _layers; + } + const std::vector>& LayerGroup::activeLayers() const { return _activeLayers; } @@ -133,7 +142,7 @@ namespace globebrowsing { } ////////////////////////////////////////////////////////////////////////////////////// - // Tile Provider Manager // + // LayerManager // ////////////////////////////////////////////////////////////////////////////////////// LayerManager::LayerManager(const ghoul::Dictionary& textureCategoriesDictionary) { @@ -201,7 +210,7 @@ namespace globebrowsing { void LayerManager::reset(bool includeDisabled) { for (auto& layerGroup : _layerGroups) { - for (auto layer : layerGroup->layers) { + for (auto layer : layerGroup->layers()) { if (layer->enabled() || includeDisabled) { layer->tileProvider()->reset(); } diff --git a/modules/globebrowsing/tile/layermanager.h b/modules/globebrowsing/tile/layermanager.h index fcd3627df4..62d03c7d1d 100644 --- a/modules/globebrowsing/tile/layermanager.h +++ b/modules/globebrowsing/tile/layermanager.h @@ -84,6 +84,9 @@ namespace globebrowsing { /// Updates all layers tile providers within this group void update(); + /// @returns const vector of all layers + const std::vector>& layers() const; + /// @returns const vector of all active layers const std::vector>& activeLayers() const; @@ -92,10 +95,9 @@ namespace globebrowsing { bool layerBlendingEnabled() const { return _levelBlendingEnabled.value(); } - std::vector> layers; - private: + std::vector> _layers; std::vector> _activeLayers; properties::BoolProperty _levelBlendingEnabled;