Added support for reading a .osg style data from a file string when trailed by a .osgs extension i.e.

osgviewer "osgTerrain::Terrain { ElevationLayer { CartesianLocator 0 0 1000000 1000000 Image ps_height_512.tif } ColorLayer { CartesianLocator 0 0 1000000 1000000 Image ps_texture_1k.tif } }".osgs
This commit is contained in:
Robert Osfield
2007-08-24 19:16:02 +00:00
parent b0bede80c5
commit 09f63eebbb
2 changed files with 9 additions and 0 deletions

View File

@@ -169,6 +169,7 @@ Registry::Registry()
#endif
}
addFileExtensionAlias("osgs", "osg");
addFileExtensionAlias("shadow", "osgShadow");
addFileExtensionAlias("terrain", "osgTerrain");
addFileExtensionAlias("view", "osgViewer");

View File

@@ -30,6 +30,14 @@ class OSGReaderWriter : public ReaderWriter
virtual ReadResult readNode(const std::string& file, const Options* opt) const
{
std::string ext = osgDB::getLowerCaseFileExtension(file);
if (equalCaseInsensitive(ext,"osgs"))
{
std::istringstream fin(osgDB::getNameLessExtension(file));
if (fin) return readNode(fin,opt);
return ReadResult::ERROR_IN_READING_FILE;
}
if (!acceptsExtension(ext)) return ReadResult::FILE_NOT_HANDLED;
std::string fileName = osgDB::findDataFile( file, opt );