15#ifndef OSGDB_OUTPUTSTREAM
16#define OSGDB_OUTPUTSTREAM
41 for (
unsigned int i=0; i<fields.size(); ++i )
59 typedef std::map<const osg::Array*, unsigned int>
ArrayMap;
60 typedef std::map<const osg::Object*, unsigned int>
ObjectMap;
166 void writeSize(T size) { *this<<static_cast<unsigned int>(size); }
BoundingBoxImpl< Vec3d > BoundingBoxd
Definition BoundingBox:252
BoundingBoxImpl< Vec3f > BoundingBoxf
Definition BoundingBox:251
BoundingSphereImpl< Vec3f > BoundingSpheref
Definition BoundingSphere:302
BoundingSphereImpl< Vec3d > BoundingSphered
Definition BoundingSphere:303
The osgDB library provides support for reading and writing scene graphs, providing a plugin framework...
Definition Archive:24
Image class for encapsulating the storage texture image data.
Definition Image:179
Base class/standard interface for objects which require IO support, cloning and reference counting.
Definition Object:61
A plane class.
Definition Plane:34
Definition PrimitiveSet:125
A quaternion class.
Definition Quat:30
Smart pointer for handling referenced counted objects.
Definition ref_ptr:32
T * get() const
Definition ref_ptr:117
Base class for providing reference counted objects.
Definition Referenced:44
General purpose float triple.
Definition Vec2b:26
General purpose double pair, uses include representation of texture coordinates.
Definition Vec2d:29
General purpose float pair.
Definition Vec2f:29
General purpose integer pair.
Definition Vec2i:22
General purpose unsigned byte pair.
Definition Vec2ub:22
General purpose integer pair.
Definition Vec2ui:22
General purpose float triple.
Definition Vec3b:26
General purpose double triple for use as vertices, vectors and normals.
Definition Vec3d:30
General purpose float triple for use as vertices, vectors and normals.
Definition Vec3f:29
General purpose integer triple.
Definition Vec3i:22
General purpose float triple.
Definition Vec3ub:26
General purpose integer triple.
Definition Vec3ui:22
General purpose float triple.
Definition Vec4b:26
General purpose double quad.
Definition Vec4d:29
General purpose float quad.
Definition Vec4f:28
General purpose integer quad.
Definition Vec4i:22
General purpose float quad.
Definition Vec4s:26
General purpose float quad.
Definition Vec4ub:28
General purpose integer quad.
Definition Vec4ui:22
General purpose float quad.
Definition Vec4us:26
Options base class used for passing options into plugins to control their operation.
Definition Options:30
Definition OutputStream:37
std::string _error
Definition OutputStream:53
const std::string & getError() const
Definition OutputStream:49
std::string _field
Definition OutputStream:52
OutputException(const std::vector< std::string > &fields, const std::string &err)
Definition OutputStream:39
const std::string & getField() const
Definition OutputStream:48
OutputStream & operator<<(const osg::Vec3ui &v)
void setOutputIterator(OutputIterator *oi)
set an output iterator, used directly when not using OutputStream with a traditional file related str...
Definition OutputStream:177
OutputStream & operator<<(double d)
Definition OutputStream:104
OutputStream & operator<<(const osg::Vec3f &v)
OutputStream & operator<<(long l)
Definition OutputStream:101
void writePrimitiveSet(const osg::PrimitiveSet *p)
OutputStream & operator<<(const osg::Quat &q)
OutputStream & operator<<(const osg::PrimitiveSet *p)
Definition OutputStream:151
OutputStream & operator<<(const ObjectProperty &prop)
Definition OutputStream:113
OutputStream & operator<<(const osg::Image *img)
Definition OutputStream:149
OutputStream & operator<<(const osg::Vec4ub &v)
OutputStream & operator<<(const osg::Vec2s &v)
void setWriteImageHint(WriteImageHint hint)
Definition OutputStream:89
OutputStream & operator<<(const osg::Vec3ub &v)
WriteType
Definition OutputStream:63
@ WRITE_UNKNOWN
Definition OutputStream:64
@ WRITE_IMAGE
Definition OutputStream:66
@ WRITE_OBJECT
Definition OutputStream:67
@ WRITE_SCENE
Definition OutputStream:65
void writeCharArray(const char *s, unsigned int size)
Definition OutputStream:162
void compress(std::ostream *ostream)
std::map< std::string, std::string > SchemaMap
Definition OutputStream:212
OutputStream & operator<<(float f)
Definition OutputStream:103
OutputStream & operator<<(const osg::Matrixd &mat)
void writeImage(const osg::Image *img)
OutputStream & operator<<(const osg::Vec2us &v)
void writeObject(const osg::Object *obj)
OutputStream & operator<<(const osg::Vec4us &v)
OutputStream & operator<<(const osg::Vec4d &v)
int _targetFileVersion
Definition OutputStream:222
OutputStream & operator<<(const osg::Vec2b &v)
const std::string & getSchemaName() const
Definition OutputStream:86
WriteImageHint
Definition OutputStream:71
@ WRITE_INLINE_DATA
Definition OutputStream:74
@ WRITE_INLINE_FILE
Definition OutputStream:75
@ WRITE_USE_EXTERNAL
Definition OutputStream:73
@ WRITE_EXTERNAL_FILE
Definition OutputStream:76
@ WRITE_USE_IMAGE_HINT
Definition OutputStream:72
OutputStream & operator<<(long long ll)
Definition OutputStream:105
OutputStream & operator<<(unsigned int i)
Definition OutputStream:100
std::vector< std::string > _fields
Definition OutputStream:214
OutputStream & operator<<(const osg::ref_ptr< osg::PrimitiveSet > &ptr)
Definition OutputStream:156
OutputStream & operator<<(const osg::Matrixf &mat)
unsigned int findOrCreateArrayID(const osg::Array *array, bool &newID)
OutputStream & operator<<(std::ios_base &(*fn)(std::ios_base &))
Definition OutputStream:110
OutputStream & operator<<(const osg::BoundingBoxd &bb)
void start(OutputIterator *outIterator, WriteType type)
start writing to OutputStream treating it as a traditional file related stream, handles headers and v...
ObjectMark BEGIN_BRACKET
Definition OutputStream:193
OutputStream & operator<<(const osg::Plane &p)
ObjectMark END_BRACKET
Definition OutputStream:194
OutputStream & operator<<(const osg::Vec2ui &v)
void writeObjectFields(const osg::Object *obj, const std::string &compoundName)
void writeArray(const osg::Array *a)
OutputStream & operator<<(const osg::Vec4i &v)
OutputStream & operator<<(unsigned long long ull)
Definition OutputStream:106
ObjectMap _objectMap
Definition OutputStream:204
osg::ref_ptr< OutputException > _exception
Definition OutputStream:219
int getFileVersion(const std::string &d=std::string()) const
OutputStream & operator<<(const osg::Vec3i &v)
void throwException(const std::string &msg)
Definition OutputStream:225
OutputStream & operator<<(const ObjectGLenum &value)
Definition OutputStream:112
void writeObjectFields(const osg::Object *obj)
WriteImageHint _writeImageHint
Definition OutputStream:208
OutputStream & operator<<(unsigned long l)
Definition OutputStream:102
OutputStream & operator<<(const osg::BoundingBoxf &bb)
OutputStream & operator<<(signed char c)
Definition OutputStream:95
OutputStream & operator<<(const osg::ref_ptr< osg::Array > &ptr)
Definition OutputStream:155
WriteImageHint getWriteImageHint() const
Definition OutputStream:90
SchemaMap _inbuiltSchemaMap
Definition OutputStream:213
bool isBinary() const
Definition OutputStream:85
const osgDB::Options * getOptions() const
Definition OutputStream:87
osg::ref_ptr< OutputIterator > _out
Definition OutputStream:218
OutputStream & operator<<(short s)
Definition OutputStream:97
const OutputException * getException() const
Definition OutputStream:189
OutputStream & operator<<(bool b)
Definition OutputStream:93
OutputStream & operator<<(const osg::Vec4f &v)
OutputStream & operator<<(const char *s)
Definition OutputStream:108
VersionMap _domainVersionMap
Definition OutputStream:207
OutputStream & operator<<(const osg::ref_ptr< T > &ptr)
Definition OutputStream:158
OutputStream(const osgDB::Options *options)
OutputStream & operator<<(const osg::ref_ptr< osg::Image > &ptr)
Definition OutputStream:154
void writeSize(T size)
Definition OutputStream:166
OutputStream & operator<<(const osg::Vec4ui &v)
std::stringstream _compressSource
Definition OutputStream:217
std::map< const osg::Object *, unsigned int > ObjectMap
Definition OutputStream:60
ObjectProperty PROPERTY
Definition OutputStream:192
void writeWrappedString(const std::string &str)
Definition OutputStream:161
OutputStream & operator<<(const osg::Array *a)
Definition OutputStream:150
std::map< const osg::Array *, unsigned int > ArrayMap
Definition OutputStream:59
OutputStream & operator<<(const osg::Vec3us &v)
OutputStream & operator<<(const osg::Vec2f &v)
OutputStream & operator<<(const std::string &s)
Definition OutputStream:107
OutputStream & operator<<(const osg::Vec2ub &v)
OutputStream & operator<<(const osg::Object *obj)
Definition OutputStream:152
OutputStream & operator<<(std::ostream &(*fn)(std::ostream &))
Definition OutputStream:109
std::map< std::string, int > VersionMap
Definition OutputStream:206
OutputStream & operator<<(const osg::Vec2i &v)
void setFileVersion(const std::string &d, int v)
void writeArrayImplementation(const T *, int write_size, unsigned int numInRow=1)
bool _useSchemaData
Definition OutputStream:209
std::string _schemaName
Definition OutputStream:215
std::string _compressorName
Definition OutputStream:216
OutputStream & operator<<(const osg::Vec4b &v)
OutputStream & operator<<(unsigned char c)
Definition OutputStream:96
osg::ref_ptr< const osgDB::Options > _options
Definition OutputStream:220
ArrayMap _arrayMap
Definition OutputStream:203
OutputStream & operator<<(char c)
Definition OutputStream:94
bool _useRobustBinaryFormat
Definition OutputStream:210
OutputStream & operator<<(const osg::Vec3d &v)
void writeSchema(std::ostream &fout)
OutputStream & operator<<(const ObjectMark &mark)
Definition OutputStream:114
OutputStream & operator<<(const osg::Vec3b &v)
OutputStream & operator<<(int i)
Definition OutputStream:99
OutputStream & operator<<(const osg::Vec2d &v)
OutputStream & operator<<(const osg::BoundingSpheref &bb)
OutputStream & operator<<(unsigned short s)
Definition OutputStream:98
OutputStream & operator<<(const osg::Vec3s &v)
unsigned int findOrCreateObjectID(const osg::Object *obj, bool &newID)
OutputStream & operator<<(const osg::BoundingSphered &bb)
OutputStream & operator<<(const osg::Vec4s &v)
Definition StreamOperator:18
#define OSGDB_EXPORT
Definition Export:39