mirror of
https://github.com/OpenSpace/OpenSpace.git
synced 2026-04-19 16:51:33 -05:00
Moved PatchCoverage specific logic from TileProvider to PatchCoverageProvider
This commit is contained in:
@@ -133,8 +133,12 @@ namespace openspace {
|
||||
tileIndex.y += y;
|
||||
|
||||
|
||||
// Returns only positive indices
|
||||
//GeodeticTileIndex tileIndex2 = startIndex.getRelatedTile(x, y);
|
||||
// If the tile index is negative or too big it needs to wrap around
|
||||
int nIndices = pow(2, tileIndex.level);
|
||||
GeodeticTileIndex positiveTileIndex = GeodeticTileIndex(tileIndex);
|
||||
positiveTileIndex.x += (tileIndex.x < 0) ? nIndices : ((tileIndex.x > nIndices - 1) ? -nIndices : 0);
|
||||
positiveTileIndex.y += (tileIndex.y < 0) ? nIndices : ((tileIndex.y > nIndices - 1) ? -nIndices : 0);
|
||||
|
||||
|
||||
|
||||
int numLevelsToLoop = tileIndex.level;
|
||||
@@ -142,7 +146,7 @@ namespace openspace {
|
||||
for (int j = numLevelsToLoop; j >= 0; j--)
|
||||
{
|
||||
// Try if the texture exists
|
||||
std::shared_ptr<Texture> tile = tileProvider->getTile(tileIndex);
|
||||
std::shared_ptr<Texture> tile = tileProvider->getTile(positiveTileIndex);
|
||||
if (tile == nullptr)
|
||||
{ // If it doesn't exist, go down a level
|
||||
tileIndex.x /= 2;
|
||||
|
||||
@@ -106,11 +106,7 @@ namespace openspace {
|
||||
}
|
||||
|
||||
std::shared_ptr<Texture> TileProvider::getTile(GeodeticTileIndex tileIndex) {
|
||||
// If the tile index is negative or too big it needs to wrap around
|
||||
int nIndices = pow(2, tileIndex.level);
|
||||
tileIndex.x += (tileIndex.x < 0) ? nIndices : ((tileIndex.x > nIndices - 1) ? -nIndices : 0);
|
||||
tileIndex.y += (tileIndex.y < 0) ? nIndices : ((tileIndex.y > nIndices - 1) ? -nIndices : 0);
|
||||
|
||||
|
||||
HashKey hashkey = tileIndex.hashKey();
|
||||
|
||||
if (_tileCache.exist(hashkey)) {
|
||||
|
||||
Reference in New Issue
Block a user