Added support for using osgDB::fineFile into the .flt plugin.

This commit is contained in:
Robert Osfield 2001-10-08 08:35:06 +00:00
parent 2b85ce5c1c
commit c66557087d
2 changed files with 20 additions and 2 deletions

View File

@ -4,6 +4,8 @@
#include <osg/NodeVisitor>
#include <osg/Notify>
#include <osgDB/FileUtils>
#include "FltFile.h"
#include "Registry.h"
#include "Record.h"
@ -86,7 +88,14 @@ Record* FltFile::readFile(const std::string& fileName)
{
FileInput fin;
if (!fin.open(fileName)) return NULL;
if (!fin.open(fileName))
{
// ok havn't found file, resort to using findFile...
std::string newFileName = osgDB::findFile(fileName.c_str());
if (newFileName.empty()) return NULL;
if (!fin.open(newFileName)) return NULL;
}
osg::notify(osg::INFO) << "Loading " << fileName << " ... " << endl;

View File

@ -4,6 +4,7 @@
#include <malloc.h>
#include <osg/Notify>
#include <osgDB/FileUtils>
#include "Input.h"
#include "Record.h"
@ -63,7 +64,15 @@ bool FileInput::eof()
bool FileInput::open(const std::string& fileName)
{
_file=::fopen( fileName.c_str(), "rb");
if (_file == NULL) return false;
if (_file == NULL)
{
// ok havn't found file, resort to using findFile...
std::string newFileName = osgDB::findFile(fileName.c_str());
if (newFileName.empty()) return false;
_file=::fopen( fileName.c_str(), "rb");
if (_file == NULL) return false;
}
_eof = false;
return true;
}