From Antonoine Hue, a small modification to the osgTerrain::DataSet
to be able to pass an already opened GDAL Dataset to the osgTerrain::DataSet::Source
This commit is contained in:
@@ -193,7 +193,8 @@ class OSGTERRAIN_EXPORT DataSet : public osg::Referenced
|
||||
_geoTransformPolicy(PREFER_FILE_SETTINGS),
|
||||
_minLevel(0),
|
||||
_maxLevel(MAXIMUM_NUMBER_OF_LEVELS),
|
||||
_layer(0)
|
||||
_layer(0),
|
||||
_gdalDataSet(0)
|
||||
{}
|
||||
|
||||
Source(Type type, const std::string& filename):
|
||||
@@ -205,7 +206,8 @@ class OSGTERRAIN_EXPORT DataSet : public osg::Referenced
|
||||
_geoTransformPolicy(PREFER_FILE_SETTINGS),
|
||||
_minLevel(0),
|
||||
_maxLevel(MAXIMUM_NUMBER_OF_LEVELS),
|
||||
_layer(0)
|
||||
_layer(0),
|
||||
_gdalDataSet(0)
|
||||
{}
|
||||
|
||||
void setSortValue(double s) { _sortValue = s; }
|
||||
@@ -222,6 +224,9 @@ class OSGTERRAIN_EXPORT DataSet : public osg::Referenced
|
||||
void setTemporaryFile(bool temporaryFile) { _temporaryFile = temporaryFile; }
|
||||
bool getTemporaryFile() const { return _temporaryFile; }
|
||||
|
||||
void setGdalDataSet(GDALDataset* gdalDataSet) { _gdalDataSet = gdalDataSet; }
|
||||
GDALDataset* getGdalDataSet() const { return _gdalDataSet; }
|
||||
|
||||
void setCoordinateSystemPolicy(ParameterPolicy policy) { _coordinateSystemPolicy = policy; }
|
||||
ParameterPolicy getCoordinateSystemPolicy() const { return _coordinateSystemPolicy; }
|
||||
|
||||
@@ -333,8 +338,9 @@ class OSGTERRAIN_EXPORT DataSet : public osg::Referenced
|
||||
osg::ref_ptr<SourceData> _sourceData;
|
||||
|
||||
ResolutionList _requiredResolutions;
|
||||
|
||||
};
|
||||
|
||||
GDALDataset* _gdalDataSet;
|
||||
};
|
||||
|
||||
enum CompositeType
|
||||
{
|
||||
|
||||
@@ -227,7 +227,9 @@ DataSet::SourceData* DataSet::SourceData::readData(Source* source)
|
||||
case(Source::IMAGE):
|
||||
case(Source::HEIGHT_FIELD):
|
||||
{
|
||||
GDALDataset* gdalDataSet = (GDALDataset*)GDALOpen(source->getFileName().c_str(),GA_ReadOnly);
|
||||
GDALDataset* gdalDataSet = source->getGdalDataSet();
|
||||
if(!gdalDataSet)
|
||||
gdalDataSet = (GDALDataset*)GDALOpen(source->getFileName().c_str(),GA_ReadOnly);
|
||||
if (gdalDataSet)
|
||||
{
|
||||
SourceData* data = new SourceData(source);
|
||||
|
||||
Reference in New Issue
Block a user