From Paul Martz, "here's the osgDB::Registry changes to add Options to the read*File() interface. As we discussed, this preserves the old interface for backwards compatibility.
osgconv also changed to use the new Registry::writeNode() interface. No other applications or examples were affected."
This commit is contained in:
parent
e55a992767
commit
38d33c7685
@ -671,7 +671,7 @@ int main( int argc, char **argv )
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
osgDB::ReaderWriter::WriteResult result = osgDB::Registry::instance()->writeNode(*root,fileNameOut);
|
osgDB::ReaderWriter::WriteResult result = osgDB::Registry::instance()->writeNode(*root,fileNameOut,osgDB::Registry::instance()->getOptions());
|
||||||
if (result.success())
|
if (result.success())
|
||||||
{
|
{
|
||||||
osg::notify(osg::NOTICE)<<"Data written to '"<<fileNameOut<<"'."<< std::endl;
|
osg::notify(osg::NOTICE)<<"Data written to '"<<fileNameOut<<"'."<< std::endl;
|
||||||
|
@ -215,24 +215,24 @@ class OSGDB_EXPORT Registry : public osg::Referenced
|
|||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
|
|
||||||
virtual ReaderWriter::WriteResult writeObject(const osg::Object& obj, const std::string& fileName)
|
virtual ReaderWriter::WriteResult writeObject(const osg::Object& obj, const std::string& fileName,const ReaderWriter::Options* options)
|
||||||
{
|
{
|
||||||
return osgDB::Registry::instance()->writeObjectImplementation(obj,fileName);
|
return osgDB::Registry::instance()->writeObjectImplementation(obj,fileName,options);
|
||||||
}
|
}
|
||||||
|
|
||||||
virtual ReaderWriter::WriteResult writeImage(const osg::Image& obj, const std::string& fileName)
|
virtual ReaderWriter::WriteResult writeImage(const osg::Image& obj, const std::string& fileName,const ReaderWriter::Options* options)
|
||||||
{
|
{
|
||||||
return osgDB::Registry::instance()->writeImageImplementation(obj,fileName);
|
return osgDB::Registry::instance()->writeImageImplementation(obj,fileName,options);
|
||||||
}
|
}
|
||||||
|
|
||||||
virtual ReaderWriter::WriteResult writeHeightField(const osg::HeightField& obj, const std::string& fileName)
|
virtual ReaderWriter::WriteResult writeHeightField(const osg::HeightField& obj, const std::string& fileName,const ReaderWriter::Options* options)
|
||||||
{
|
{
|
||||||
return osgDB::Registry::instance()->writeHeightFieldImplementation(obj,fileName);
|
return osgDB::Registry::instance()->writeHeightFieldImplementation(obj,fileName,options);
|
||||||
}
|
}
|
||||||
|
|
||||||
virtual ReaderWriter::WriteResult writeNode(const osg::Node& obj, const std::string& fileName)
|
virtual ReaderWriter::WriteResult writeNode(const osg::Node& obj, const std::string& fileName,const ReaderWriter::Options* options)
|
||||||
{
|
{
|
||||||
return osgDB::Registry::instance()->writeNodeImplementation(obj,fileName);
|
return osgDB::Registry::instance()->writeNodeImplementation(obj,fileName,options);
|
||||||
}
|
}
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
@ -249,33 +249,33 @@ class OSGDB_EXPORT Registry : public osg::Referenced
|
|||||||
const WriteFileCallback* getWriteFileCallback() const { return _writeFileCallback.get(); }
|
const WriteFileCallback* getWriteFileCallback() const { return _writeFileCallback.get(); }
|
||||||
|
|
||||||
|
|
||||||
ReaderWriter::WriteResult writeObject(const osg::Object& obj, const std::string& fileName)
|
ReaderWriter::WriteResult writeObject(const osg::Object& obj, const std::string& fileName,const ReaderWriter::Options* options)
|
||||||
{
|
{
|
||||||
if (_writeFileCallback.valid()) return _writeFileCallback->writeObject(obj,fileName);
|
if (_writeFileCallback.valid()) return _writeFileCallback->writeObject(obj,fileName,options);
|
||||||
else return writeObjectImplementation(obj,fileName);
|
else return writeObjectImplementation(obj,fileName,options);
|
||||||
}
|
}
|
||||||
ReaderWriter::WriteResult writeObjectImplementation(const osg::Object& obj, const std::string& fileName);
|
ReaderWriter::WriteResult writeObjectImplementation(const osg::Object& obj, const std::string& fileName,const ReaderWriter::Options* options);
|
||||||
|
|
||||||
ReaderWriter::WriteResult writeImage(const osg::Image& obj, const std::string& fileName)
|
ReaderWriter::WriteResult writeImage(const osg::Image& obj, const std::string& fileName,const ReaderWriter::Options* options)
|
||||||
{
|
{
|
||||||
if (_writeFileCallback.valid()) return _writeFileCallback->writeImage(obj,fileName);
|
if (_writeFileCallback.valid()) return _writeFileCallback->writeImage(obj,fileName,options);
|
||||||
else return writeImageImplementation(obj,fileName);
|
else return writeImageImplementation(obj,fileName,options);
|
||||||
}
|
}
|
||||||
ReaderWriter::WriteResult writeImageImplementation(const osg::Image& obj, const std::string& fileName);
|
ReaderWriter::WriteResult writeImageImplementation(const osg::Image& obj, const std::string& fileName,const ReaderWriter::Options* options);
|
||||||
|
|
||||||
ReaderWriter::WriteResult writeHeightField(const osg::HeightField& obj, const std::string& fileName)
|
ReaderWriter::WriteResult writeHeightField(const osg::HeightField& obj, const std::string& fileName,const ReaderWriter::Options* options)
|
||||||
{
|
{
|
||||||
if (_writeFileCallback.valid()) return _writeFileCallback->writeHeightField(obj,fileName);
|
if (_writeFileCallback.valid()) return _writeFileCallback->writeHeightField(obj,fileName,options);
|
||||||
else return writeHeightFieldImplementation(obj,fileName);
|
else return writeHeightFieldImplementation(obj,fileName,options);
|
||||||
}
|
}
|
||||||
ReaderWriter::WriteResult writeHeightFieldImplementation(const osg::HeightField& obj, const std::string& fileName);
|
ReaderWriter::WriteResult writeHeightFieldImplementation(const osg::HeightField& obj, const std::string& fileName,const ReaderWriter::Options* options);
|
||||||
|
|
||||||
ReaderWriter::WriteResult writeNode(const osg::Node& node, const std::string& fileName)
|
ReaderWriter::WriteResult writeNode(const osg::Node& node, const std::string& fileName,const ReaderWriter::Options* options)
|
||||||
{
|
{
|
||||||
if (_writeFileCallback.valid()) return _writeFileCallback->writeNode(node,fileName);
|
if (_writeFileCallback.valid()) return _writeFileCallback->writeNode(node,fileName,options);
|
||||||
else return writeNodeImplementation(node,fileName);
|
else return writeNodeImplementation(node,fileName,options);
|
||||||
}
|
}
|
||||||
ReaderWriter::WriteResult writeNodeImplementation(const osg::Node& node, const std::string& fileName);
|
ReaderWriter::WriteResult writeNodeImplementation(const osg::Node& node, const std::string& fileName,const ReaderWriter::Options* options);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -19,6 +19,7 @@
|
|||||||
#include <osg/Node>
|
#include <osg/Node>
|
||||||
|
|
||||||
#include <osgDB/Export>
|
#include <osgDB/Export>
|
||||||
|
#include <osgDB/Registry>
|
||||||
|
|
||||||
#include <string>
|
#include <string>
|
||||||
|
|
||||||
@ -27,11 +28,31 @@ namespace osgDB {
|
|||||||
/** Write an osg::Object to file.
|
/** Write an osg::Object to file.
|
||||||
* Return true on success,
|
* Return true on success,
|
||||||
* return false on failure.
|
* return false on failure.
|
||||||
|
* Use the Options object to control cache operations and file search paths in osgDB::Registry.
|
||||||
* The osgDB::Registry is used to load the appropriate ReaderWriter plugin
|
* The osgDB::Registry is used to load the appropriate ReaderWriter plugin
|
||||||
* for the filename extension, and this plugin then handles the request
|
* for the filename extension, and this plugin then handles the request
|
||||||
* to write the specified file.*/
|
* to write the specified file.*/
|
||||||
|
extern OSGDB_EXPORT bool writeObjectFile(const osg::Object& object, const std::string& filename, const ReaderWriter::Options* options );
|
||||||
|
|
||||||
extern OSGDB_EXPORT bool writeObjectFile(const osg::Object& object, const std::string& filename);
|
/** Write an osg::Object to file.
|
||||||
|
* Return true on success,
|
||||||
|
* return false on failure.
|
||||||
|
* The osgDB::Registry is used to load the appropriate ReaderWriter plugin
|
||||||
|
* for the filename extension, and this plugin then handles the request
|
||||||
|
* to write the specified file.*/
|
||||||
|
inline bool writeObjectFile(const osg::Object& object, const std::string& filename)
|
||||||
|
{
|
||||||
|
return writeObjectFile( object, filename, Registry::instance()->getOptions() );
|
||||||
|
}
|
||||||
|
|
||||||
|
/** Write an osg::Image to file.
|
||||||
|
* Return true on success,
|
||||||
|
* return false on failure.
|
||||||
|
* Use the Options object to control cache operations and file search paths in osgDB::Registry.
|
||||||
|
* The osgDB::Registry is used to load the appropriate ReaderWriter plugin
|
||||||
|
* for the filename extension, and this plugin then handles the request
|
||||||
|
* to write the specified file.*/
|
||||||
|
extern OSGDB_EXPORT bool writeImageFile(const osg::Image& image, const std::string& filename, const ReaderWriter::Options* options );
|
||||||
|
|
||||||
/** Write an osg::Image to file.
|
/** Write an osg::Image to file.
|
||||||
* Return true on success,
|
* Return true on success,
|
||||||
@ -39,7 +60,19 @@ extern OSGDB_EXPORT bool writeObjectFile(const osg::Object& object, const std::s
|
|||||||
* The osgDB::Registry is used to load the appropriate ReaderWriter plugin
|
* The osgDB::Registry is used to load the appropriate ReaderWriter plugin
|
||||||
* for the filename extension, and this plugin then handles the request
|
* for the filename extension, and this plugin then handles the request
|
||||||
* to write the specified file.*/
|
* to write the specified file.*/
|
||||||
extern OSGDB_EXPORT bool writeImageFile(const osg::Image& image, const std::string& filename);
|
inline bool writeImageFile(const osg::Image& image, const std::string& filename)
|
||||||
|
{
|
||||||
|
return writeImageFile( image, filename, Registry::instance()->getOptions() );
|
||||||
|
}
|
||||||
|
|
||||||
|
/** Write an osg::HeightField to file.
|
||||||
|
* Return true on success,
|
||||||
|
* return false on failure.
|
||||||
|
* Use the Options object to control cache operations and file search paths in osgDB::Registry.
|
||||||
|
* The osgDB::Registry is used to load the appropriate ReaderWriter plugin
|
||||||
|
* for the filename extension, and this plugin then handles the request
|
||||||
|
* to write the specified file.*/
|
||||||
|
extern OSGDB_EXPORT bool writeHeightFieldFile(const osg::HeightField& hf, const std::string& filename, const ReaderWriter::Options* options );
|
||||||
|
|
||||||
/** Write an osg::HeightField to file.
|
/** Write an osg::HeightField to file.
|
||||||
* Return true on success,
|
* Return true on success,
|
||||||
@ -47,7 +80,19 @@ extern OSGDB_EXPORT bool writeImageFile(const osg::Image& image, const std::stri
|
|||||||
* The osgDB::Registry is used to load the appropriate ReaderWriter plugin
|
* The osgDB::Registry is used to load the appropriate ReaderWriter plugin
|
||||||
* for the filename extension, and this plugin then handles the request
|
* for the filename extension, and this plugin then handles the request
|
||||||
* to write the specified file.*/
|
* to write the specified file.*/
|
||||||
extern OSGDB_EXPORT bool writeHeightFieldFile(const osg::HeightField& hf, const std::string& filename);
|
inline bool writeHeightFieldFile(const osg::HeightField& hf, const std::string& filename)
|
||||||
|
{
|
||||||
|
return writeHeightFieldFile( hf, filename, Registry::instance()->getOptions() );
|
||||||
|
}
|
||||||
|
|
||||||
|
/** Write an osg::Node to file.
|
||||||
|
* Return true on success,
|
||||||
|
* return false on failure.
|
||||||
|
* Use the Options object to control cache operations and file search paths in osgDB::Registry.
|
||||||
|
* The osgDB::Registry is used to load the appropriate ReaderWriter plugin
|
||||||
|
* for the filename extension, and this plugin then handles the request
|
||||||
|
* to write the specified file.*/
|
||||||
|
extern OSGDB_EXPORT bool writeNodeFile(const osg::Node& node, const std::string& filename, const ReaderWriter::Options* options );
|
||||||
|
|
||||||
/** Write an osg::Node to file.
|
/** Write an osg::Node to file.
|
||||||
* Return true on success,
|
* Return true on success,
|
||||||
@ -55,8 +100,10 @@ extern OSGDB_EXPORT bool writeHeightFieldFile(const osg::HeightField& hf, const
|
|||||||
* The osgDB::Registry is used to load the appropriate ReaderWriter plugin
|
* The osgDB::Registry is used to load the appropriate ReaderWriter plugin
|
||||||
* for the filename extension, and this plugin then handles the request
|
* for the filename extension, and this plugin then handles the request
|
||||||
* to write the specified file.*/
|
* to write the specified file.*/
|
||||||
extern OSGDB_EXPORT bool writeNodeFile(const osg::Node& node, const std::string& filename);
|
inline bool writeNodeFile(const osg::Node& node, const std::string& filename)
|
||||||
|
{
|
||||||
|
return writeNodeFile( node, filename, Registry::instance()->getOptions() );
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1586,7 +1586,7 @@ ReaderWriter::ReadResult Registry::readObjectImplementation(const std::string& f
|
|||||||
options ? (options->getObjectCacheHint()&ReaderWriter::Options::CACHE_OBJECTS)!=0: false);
|
options ? (options->getObjectCacheHint()&ReaderWriter::Options::CACHE_OBJECTS)!=0: false);
|
||||||
}
|
}
|
||||||
|
|
||||||
ReaderWriter::WriteResult Registry::writeObjectImplementation(const Object& obj,const std::string& fileName)
|
ReaderWriter::WriteResult Registry::writeObjectImplementation(const Object& obj,const std::string& fileName,const ReaderWriter::Options* options)
|
||||||
{
|
{
|
||||||
// record the errors reported by readerwriters.
|
// record the errors reported by readerwriters.
|
||||||
typedef std::vector<ReaderWriter::WriteResult> Results;
|
typedef std::vector<ReaderWriter::WriteResult> Results;
|
||||||
@ -1596,7 +1596,7 @@ ReaderWriter::WriteResult Registry::writeObjectImplementation(const Object& obj,
|
|||||||
AvailableReaderWriterIterator itr(_rwList);
|
AvailableReaderWriterIterator itr(_rwList);
|
||||||
for(;itr.valid();++itr)
|
for(;itr.valid();++itr)
|
||||||
{
|
{
|
||||||
ReaderWriter::WriteResult rr = itr->writeObject(obj,fileName,_options.get());
|
ReaderWriter::WriteResult rr = itr->writeObject(obj,fileName,options);
|
||||||
if (rr.success()) return rr;
|
if (rr.success()) return rr;
|
||||||
else results.push_back(rr);
|
else results.push_back(rr);
|
||||||
}
|
}
|
||||||
@ -1607,7 +1607,7 @@ ReaderWriter::WriteResult Registry::writeObjectImplementation(const Object& obj,
|
|||||||
{
|
{
|
||||||
for(;itr.valid();++itr)
|
for(;itr.valid();++itr)
|
||||||
{
|
{
|
||||||
ReaderWriter::WriteResult rr = itr->writeObject(obj,fileName,_options.get());
|
ReaderWriter::WriteResult rr = itr->writeObject(obj,fileName,options);
|
||||||
if (rr.success()) return rr;
|
if (rr.success()) return rr;
|
||||||
else results.push_back(rr);
|
else results.push_back(rr);
|
||||||
}
|
}
|
||||||
@ -1639,7 +1639,7 @@ ReaderWriter::ReadResult Registry::readImageImplementation(const std::string& fi
|
|||||||
options ? (options->getObjectCacheHint()&ReaderWriter::Options::CACHE_IMAGES)!=0: false);
|
options ? (options->getObjectCacheHint()&ReaderWriter::Options::CACHE_IMAGES)!=0: false);
|
||||||
}
|
}
|
||||||
|
|
||||||
ReaderWriter::WriteResult Registry::writeImageImplementation(const Image& image,const std::string& fileName)
|
ReaderWriter::WriteResult Registry::writeImageImplementation(const Image& image,const std::string& fileName,const ReaderWriter::Options* options)
|
||||||
{
|
{
|
||||||
// record the errors reported by readerwriters.
|
// record the errors reported by readerwriters.
|
||||||
typedef std::vector<ReaderWriter::WriteResult> Results;
|
typedef std::vector<ReaderWriter::WriteResult> Results;
|
||||||
@ -1649,7 +1649,7 @@ ReaderWriter::WriteResult Registry::writeImageImplementation(const Image& image,
|
|||||||
AvailableReaderWriterIterator itr(_rwList);
|
AvailableReaderWriterIterator itr(_rwList);
|
||||||
for(;itr.valid();++itr)
|
for(;itr.valid();++itr)
|
||||||
{
|
{
|
||||||
ReaderWriter::WriteResult rr = itr->writeImage(image,fileName,_options.get());
|
ReaderWriter::WriteResult rr = itr->writeImage(image,fileName,options);
|
||||||
if (rr.success()) return rr;
|
if (rr.success()) return rr;
|
||||||
else results.push_back(rr);
|
else results.push_back(rr);
|
||||||
}
|
}
|
||||||
@ -1662,7 +1662,7 @@ ReaderWriter::WriteResult Registry::writeImageImplementation(const Image& image,
|
|||||||
{
|
{
|
||||||
for(;itr.valid();++itr)
|
for(;itr.valid();++itr)
|
||||||
{
|
{
|
||||||
ReaderWriter::WriteResult rr = itr->writeImage(image,fileName,_options.get());
|
ReaderWriter::WriteResult rr = itr->writeImage(image,fileName,options);
|
||||||
if (rr.success()) return rr;
|
if (rr.success()) return rr;
|
||||||
else results.push_back(rr);
|
else results.push_back(rr);
|
||||||
}
|
}
|
||||||
@ -1693,7 +1693,7 @@ ReaderWriter::ReadResult Registry::readHeightFieldImplementation(const std::stri
|
|||||||
options ? (options->getObjectCacheHint()&ReaderWriter::Options::CACHE_HEIGHTFIELDS)!=0: false);
|
options ? (options->getObjectCacheHint()&ReaderWriter::Options::CACHE_HEIGHTFIELDS)!=0: false);
|
||||||
}
|
}
|
||||||
|
|
||||||
ReaderWriter::WriteResult Registry::writeHeightFieldImplementation(const HeightField& HeightField,const std::string& fileName)
|
ReaderWriter::WriteResult Registry::writeHeightFieldImplementation(const HeightField& HeightField,const std::string& fileName,const ReaderWriter::Options* options)
|
||||||
{
|
{
|
||||||
// record the errors reported by readerwriters.
|
// record the errors reported by readerwriters.
|
||||||
typedef std::vector<ReaderWriter::WriteResult> Results;
|
typedef std::vector<ReaderWriter::WriteResult> Results;
|
||||||
@ -1703,7 +1703,7 @@ ReaderWriter::WriteResult Registry::writeHeightFieldImplementation(const HeightF
|
|||||||
AvailableReaderWriterIterator itr(_rwList);
|
AvailableReaderWriterIterator itr(_rwList);
|
||||||
for(;itr.valid();++itr)
|
for(;itr.valid();++itr)
|
||||||
{
|
{
|
||||||
ReaderWriter::WriteResult rr = itr->writeHeightField(HeightField,fileName,_options.get());
|
ReaderWriter::WriteResult rr = itr->writeHeightField(HeightField,fileName,options);
|
||||||
if (rr.success()) return rr;
|
if (rr.success()) return rr;
|
||||||
else results.push_back(rr);
|
else results.push_back(rr);
|
||||||
}
|
}
|
||||||
@ -1716,7 +1716,7 @@ ReaderWriter::WriteResult Registry::writeHeightFieldImplementation(const HeightF
|
|||||||
{
|
{
|
||||||
for(;itr.valid();++itr)
|
for(;itr.valid();++itr)
|
||||||
{
|
{
|
||||||
ReaderWriter::WriteResult rr = itr->writeHeightField(HeightField,fileName,_options.get());
|
ReaderWriter::WriteResult rr = itr->writeHeightField(HeightField,fileName,options);
|
||||||
if (rr.success()) return rr;
|
if (rr.success()) return rr;
|
||||||
else results.push_back(rr);
|
else results.push_back(rr);
|
||||||
}
|
}
|
||||||
@ -1747,7 +1747,7 @@ ReaderWriter::ReadResult Registry::readNodeImplementation(const std::string& fil
|
|||||||
options ? (options->getObjectCacheHint()&ReaderWriter::Options::CACHE_NODES)!=0: false);
|
options ? (options->getObjectCacheHint()&ReaderWriter::Options::CACHE_NODES)!=0: false);
|
||||||
}
|
}
|
||||||
|
|
||||||
ReaderWriter::WriteResult Registry::writeNodeImplementation(const Node& node,const std::string& fileName)
|
ReaderWriter::WriteResult Registry::writeNodeImplementation(const Node& node,const std::string& fileName,const ReaderWriter::Options* options)
|
||||||
{
|
{
|
||||||
// record the errors reported by readerwriters.
|
// record the errors reported by readerwriters.
|
||||||
typedef std::vector<ReaderWriter::WriteResult> Results;
|
typedef std::vector<ReaderWriter::WriteResult> Results;
|
||||||
@ -1757,7 +1757,7 @@ ReaderWriter::WriteResult Registry::writeNodeImplementation(const Node& node,con
|
|||||||
AvailableReaderWriterIterator itr(_rwList);
|
AvailableReaderWriterIterator itr(_rwList);
|
||||||
for(;itr.valid();++itr)
|
for(;itr.valid();++itr)
|
||||||
{
|
{
|
||||||
ReaderWriter::WriteResult rr = itr->writeNode(node,fileName,_options.get());
|
ReaderWriter::WriteResult rr = itr->writeNode(node,fileName,options);
|
||||||
if (rr.success()) return rr;
|
if (rr.success()) return rr;
|
||||||
else results.push_back(rr);
|
else results.push_back(rr);
|
||||||
}
|
}
|
||||||
@ -1772,7 +1772,7 @@ ReaderWriter::WriteResult Registry::writeNodeImplementation(const Node& node,con
|
|||||||
{
|
{
|
||||||
for(;itr.valid();++itr)
|
for(;itr.valid();++itr)
|
||||||
{
|
{
|
||||||
ReaderWriter::WriteResult rr = itr->writeNode(node,fileName,_options.get());
|
ReaderWriter::WriteResult rr = itr->writeNode(node,fileName,options);
|
||||||
|
|
||||||
if (rr.success()) return rr;
|
if (rr.success()) return rr;
|
||||||
else results.push_back(rr);
|
else results.push_back(rr);
|
||||||
|
@ -24,32 +24,32 @@
|
|||||||
using namespace osg;
|
using namespace osg;
|
||||||
using namespace osgDB;
|
using namespace osgDB;
|
||||||
|
|
||||||
bool osgDB::writeObjectFile(const Object& object,const std::string& filename)
|
bool osgDB::writeObjectFile(const Object& object,const std::string& filename, const ReaderWriter::Options* options )
|
||||||
{
|
{
|
||||||
ReaderWriter::WriteResult wr = Registry::instance()->writeObject(object,filename);
|
ReaderWriter::WriteResult wr = Registry::instance()->writeObject( object, filename, options );
|
||||||
if (wr.error()) notify(WARN) << "Error writing file " << filename << ": " << wr.message() << std::endl;
|
if (wr.error()) notify(WARN) << "Error writing file " << filename << ": " << wr.message() << std::endl;
|
||||||
return wr.success();
|
return wr.success();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
bool osgDB::writeImageFile(const Image& image,const std::string& filename)
|
bool osgDB::writeImageFile(const Image& image,const std::string& filename, const ReaderWriter::Options* options )
|
||||||
{
|
{
|
||||||
ReaderWriter::WriteResult wr = Registry::instance()->writeImage(image,filename);
|
ReaderWriter::WriteResult wr = Registry::instance()->writeImage( image, filename, options );
|
||||||
if (wr.error()) notify(WARN) << "Error writing file " << filename << ": " << wr.message() << std::endl;
|
if (wr.error()) notify(WARN) << "Error writing file " << filename << ": " << wr.message() << std::endl;
|
||||||
return wr.success();
|
return wr.success();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
bool osgDB::writeHeightFieldFile(const HeightField& HeightField,const std::string& filename)
|
bool osgDB::writeHeightFieldFile(const HeightField& HeightField,const std::string& filename, const ReaderWriter::Options* options )
|
||||||
{
|
{
|
||||||
ReaderWriter::WriteResult wr = Registry::instance()->writeHeightField(HeightField,filename);
|
ReaderWriter::WriteResult wr = Registry::instance()->writeHeightField( HeightField, filename, options );
|
||||||
if (wr.error()) notify(WARN) << "Error writing file " << filename << ": " << wr.message() << std::endl;
|
if (wr.error()) notify(WARN) << "Error writing file " << filename << ": " << wr.message() << std::endl;
|
||||||
return wr.success();
|
return wr.success();
|
||||||
}
|
}
|
||||||
|
|
||||||
bool osgDB::writeNodeFile(const Node& node,const std::string& filename)
|
bool osgDB::writeNodeFile(const Node& node,const std::string& filename, const ReaderWriter::Options* options )
|
||||||
{
|
{
|
||||||
ReaderWriter::WriteResult wr = Registry::instance()->writeNode(node,filename);
|
ReaderWriter::WriteResult wr = Registry::instance()->writeNode( node, filename, options );
|
||||||
if (wr.error()) notify(WARN) << "Error writing file " << filename << ": " << wr.message() << std::endl;
|
if (wr.error()) notify(WARN) << "Error writing file " << filename << ": " << wr.message() << std::endl;
|
||||||
return wr.success();
|
return wr.success();
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user