14#ifndef OSGDB_READERWRITER
15#define OSGDB_READERWRITER 1
48 osg::Object(rw,copyop) {}
75 FEATURE_READ_OBJECT = 1<<0,
76 FEATURE_READ_IMAGE = 1<<1,
77 FEATURE_READ_HEIGHT_FIELD = 1<<2,
78 FEATURE_READ_NODE = 1<<3,
79 FEATURE_READ_SHADER = 1<<4,
80 FEATURE_WRITE_OBJECT = 1<<5,
81 FEATURE_WRITE_IMAGE = 1<<6,
82 FEATURE_WRITE_HEIGHT_FIELD = 1<<7,
83 FEATURE_WRITE_NODE = 1<<8,
84 FEATURE_WRITE_SHADER = 1<<9,
85 FEATURE_READ_SCRIPT = 1<<10,
86 FEATURE_WRITE_SCRIPT = 1<<11,
87 FEATURE_ALL = FEATURE_READ_OBJECT |
89 FEATURE_READ_HEIGHT_FIELD |
93 FEATURE_WRITE_OBJECT |
95 FEATURE_WRITE_HEIGHT_FIELD |
97 FEATURE_WRITE_SHADER |
121 INSUFFICIENT_MEMORY_TO_LOAD
125 ReadResult(
const std::string& m):_status(ERROR_IN_READING_FILE),_message(m) {}
162 const std::string&
message()
const {
return _message; }
168 bool success()
const {
return _status==FILE_LOADED || _status==FILE_LOADED_FROM_CACHE ; }
170 bool error()
const {
return _status==ERROR_IN_READING_FILE; }
171 bool notHandled()
const {
return _status==FILE_NOT_HANDLED || _status==NOT_IMPLEMENTED; }
196 WriteResult(
const std::string& m):_status(ERROR_IN_WRITING_FILE),_message(m) {}
204 const std::string&
message()
const {
return _message; }
210 bool success()
const {
return _status==FILE_SAVED; }
211 bool error()
const {
return _status==ERROR_IN_WRITING_FILE; }
212 bool notHandled()
const {
return _status==FILE_NOT_HANDLED || _status==NOT_IMPLEMENTED; }
Definition ReaderWriter:109
osg::Script * takeScript()
bool validScript()
Definition ReaderWriter:151
osg::HeightField * takeHeightField()
osg::Script * getScript()
bool notFound() const
Definition ReaderWriter:172
ReadResult(osg::Object *obj, ReadStatus status=FILE_LOADED)
Definition ReaderWriter:127
bool notHandled() const
Definition ReaderWriter:171
bool loadedFromCache() const
Definition ReaderWriter:169
bool notEnoughMemory() const
Definition ReaderWriter:173
bool validHeightField()
Definition ReaderWriter:147
ReadResult(const ReadResult &rr)
Definition ReaderWriter:132
ReadResult(const std::string &m)
Definition ReaderWriter:125
ReadStatus status() const
Definition ReaderWriter:167
const std::string & message() const
Definition ReaderWriter:162
bool validArchive()
Definition ReaderWriter:149
ReadResult(const osg::ref_ptr< T > &obj, ReadStatus status=FILE_LOADED)
Definition ReaderWriter:130
osgDB::Archive * getArchive()
bool validShader()
Definition ReaderWriter:150
std::string _message
Definition ReaderWriter:178
bool validImage()
Definition ReaderWriter:146
osg::HeightField * getHeightField()
std::string statusMessage() const
report the ReadResult's status, and message (if any). Useful for reporting of errors to users.
std::string & message()
Definition ReaderWriter:161
ReadStatus
Definition ReaderWriter:113
@ FILE_LOADED_FROM_CACHE
File found in cache and returned.
Definition ReaderWriter:119
@ FILE_NOT_HANDLED
File is not appropriate for this file reader, due to some incompatibility, but not a read error.
Definition ReaderWriter:115
@ FILE_LOADED
File successfully found, loaded, and converted into osg.
Definition ReaderWriter:118
@ NOT_IMPLEMENTED
read*() method not implemented in concrete ReaderWriter.
Definition ReaderWriter:114
@ FILE_NOT_FOUND
File could not be found or could not be read.
Definition ReaderWriter:116
@ ERROR_IN_READING_FILE
File found, loaded, but an error was encountered during processing.
Definition ReaderWriter:117
@ FILE_REQUESTED
Asynchronous file read has been requested, but returning immediately, keep polling plugin until file ...
Definition ReaderWriter:120
osgDB::Archive * takeArchive()
bool error() const
Definition ReaderWriter:170
bool validNode()
Definition ReaderWriter:148
osg::Object * getObject()
osg::Shader * getShader()
bool success() const
Definition ReaderWriter:168
osg::Object * takeObject()
ReadStatus _status
Definition ReaderWriter:177
ReadResult(ReadStatus status=FILE_NOT_HANDLED)
Definition ReaderWriter:124
osg::ref_ptr< osg::Object > _object
Definition ReaderWriter:179
bool validObject()
Definition ReaderWriter:145
osg::Shader * takeShader()
Definition ReaderWriter:184
std::string & message()
Definition ReaderWriter:203
WriteStatus
Definition ReaderWriter:188
@ ERROR_IN_WRITING_FILE
Definition ReaderWriter:191
@ FILE_NOT_HANDLED
Definition ReaderWriter:190
@ NOT_IMPLEMENTED
write*() method not implemented in concrete ReaderWriter.
Definition ReaderWriter:189
WriteResult(const WriteResult &rr)
Definition ReaderWriter:198
WriteStatus status() const
Definition ReaderWriter:209
WriteStatus _status
Definition ReaderWriter:216
bool success() const
Definition ReaderWriter:210
WriteResult(WriteStatus status=FILE_NOT_HANDLED)
Definition ReaderWriter:195
std::string statusMessage() const
Report the WriteResult's status, and message (if any). Useful for reporting of errors to users.
const std::string & message() const
Definition ReaderWriter:204
std::string _message
Definition ReaderWriter:217
bool notHandled() const
Definition ReaderWriter:212
WriteResult(const std::string &m)
Definition ReaderWriter:196
bool error() const
Definition ReaderWriter:211
Definition ReaderWriter:40
virtual WriteResult writeHeightField(const osg::HeightField &, std::ostream &, const Options *=NULL) const
Definition ReaderWriter:262
virtual const FormatDescriptionMap & supportedProtocols() const
Definition ReaderWriter:58
static FeatureList featureAsString(Features feature)
FormatDescriptionMap _supportedOptions
Definition ReaderWriter:289
osgDB::Options Options
Definition ReaderWriter:227
virtual ReadResult readImage(const std::string &, const Options *=NULL) const
Definition ReaderWriter:240
std::map< std::string, std::string > FormatDescriptionMap
Definition ReaderWriter:54
virtual ReadResult readNode(std::istream &, const Options *=NULL) const
Definition ReaderWriter:256
virtual WriteResult writeImage(const osg::Image &, const std::string &, const Options *=NULL) const
Definition ReaderWriter:247
void supportsExtension(const std::string &ext, const std::string &description)
virtual ReadResult readObject(const std::string &, const Options *=NULL) const
Definition ReaderWriter:239
virtual ReadResult readHeightField(const std::string &, const Options *=NULL) const
Definition ReaderWriter:241
virtual WriteResult writeObject(const osg::Object &, std::ostream &, const Options *=NULL) const
Definition ReaderWriter:260
virtual const FormatDescriptionMap & supportedExtensions() const
Definition ReaderWriter:61
virtual WriteResult writeHeightField(const osg::HeightField &, const std::string &, const Options *=NULL) const
Definition ReaderWriter:248
virtual WriteResult writeNode(const osg::Node &, const std::string &, const Options *=NULL) const
Definition ReaderWriter:249
virtual ReadResult readShader(const std::string &, const Options *=NULL) const
Definition ReaderWriter:243
ArchiveStatus
Definition ReaderWriter:221
@ READ
Definition ReaderWriter:222
@ WRITE
Definition ReaderWriter:223
virtual ReadResult readScript(std::istream &, const Options *=NULL) const
Definition ReaderWriter:258
virtual Features supportedFeatures() const
virtual WriteResult writeShader(const osg::Shader &, const std::string &, const Options *=NULL) const
Definition ReaderWriter:250
ReaderWriter(const ReaderWriter &rw, const osg::CopyOp ©op=osg::CopyOp::SHALLOW_COPY)
Definition ReaderWriter:47
virtual ReadResult openArchive(const std::string &, ArchiveStatus, unsigned int=4096, const Options *=NULL) const
Definition ReaderWriter:234
virtual WriteResult writeNode(const osg::Node &, std::ostream &, const Options *=NULL) const
Definition ReaderWriter:263
std::list< std::string > FeatureList
Definition ReaderWriter:55
virtual WriteResult writeScript(const osg::Script &, std::ostream &, const Options *=NULL) const
Definition ReaderWriter:265
virtual ReadResult readShader(std::istream &, const Options *=NULL) const
Definition ReaderWriter:257
virtual WriteResult writeScript(const osg::Script &, const std::string &, const Options *=NULL) const
Definition ReaderWriter:251
FormatDescriptionMap _supportedExtensions
Definition ReaderWriter:288
virtual WriteResult writeImage(const osg::Image &, std::ostream &, const Options *=NULL) const
Definition ReaderWriter:261
FormatDescriptionMap _supportedProtocols
Definition ReaderWriter:287
virtual ReadResult readHeightField(std::istream &, const Options *=NULL) const
Definition ReaderWriter:255
virtual ReadResult openArchive(std::istream &, const Options *=NULL) const
Definition ReaderWriter:237
virtual ReadResult readImage(std::istream &, const Options *=NULL) const
Definition ReaderWriter:254
void supportsProtocol(const std::string &fmt, const std::string &description)
virtual WriteResult writeObject(const osg::Object &, const std::string &, const Options *=NULL) const
Definition ReaderWriter:246
Features
Bit mask for setting up which feature types are available for read and/or write.
Definition ReaderWriter:73
void supportsOption(const std::string &opt, const std::string &description)
virtual bool acceptsExtension(const std::string &) const
virtual const FormatDescriptionMap & supportedOptions() const
Definition ReaderWriter:64
virtual WriteResult writeShader(const osg::Shader &, std::ostream &, const Options *=NULL) const
Definition ReaderWriter:264
META_Object(osgDB, ReaderWriter)
virtual ReadResult readScript(const std::string &, const Options *=NULL) const
Definition ReaderWriter:244
virtual bool fileExists(const std::string &filename, const Options *options) const
virtual ReadResult readObject(std::istream &, const Options *=NULL) const
Definition ReaderWriter:253
ReaderWriter()
Definition ReaderWriter:44
virtual ReadResult readNode(const std::string &, const Options *=NULL) const
Definition ReaderWriter:242
virtual bool acceptsProtocol(const std::string &protocol) const
@ SHALLOW_COPY
Definition CopyOp:47
Definition osg/ScriptEngine:30
std::deque< std::string > FilePathList
Definition osgDB/Callbacks:28
@ FILE_NOT_FOUND
Definition FileUtils:48
author: Julien Valentin 2017 (mp3butcher@hotmail.com)
Definition AlphaFunc:19
#define OSGDB_EXPORT
Definition osgDB/Export:39
#define NULL
Definition osg/Export:55