Introduced TerrainTile::TileLoadedCallback

This commit is contained in:
Robert Osfield
2008-09-10 18:11:54 +00:00
parent ed4bd41574
commit b4b5b5ea41
8 changed files with 82 additions and 10 deletions

View File

@@ -15,6 +15,8 @@
#include "ImageLayer.h"
#include "Layer.h"
#include <osgTerrain/TerrainTile>
#include <osgDB/ReadFile>
using namespace ive;
@@ -59,8 +61,18 @@ void ImageLayer::read(DataInputStream* in)
throw Exception("ImageLayer::read(): Could not cast this osgLayer::Layer to an osg::Group.");
bool deferExternalLayerLoading = osgTerrain::TerrainTile::getTileLoadedCallback().valid() ?
osgTerrain::TerrainTile::getTileLoadedCallback()->deferExternalLayerLoading() : false;
// Should we read image data from stream
IncludeImageMode includeImg = (IncludeImageMode)in->readChar();
setImage(in->readImage(includeImg));
if (includeImg==IMAGE_REFERENCE_FILE && deferExternalLayerLoading)
{
setFileName(in->readString());
}
else
{
setImage(in->readImage(includeImg));
}
}