OutputStream
Go to the documentation of this file.
/* -*-c++-*- OpenSceneGraph - Copyright (C) 1998-2010 Robert Osfield
*
* This library is open source and may be redistributed and/or modified under
* the terms of the OpenSceneGraph Public License (OSGPL) version 0.0 or
* (at your option) any later version. The full license is in LICENSE file
* included with this distribution, and on the openscenegraph.org website.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* OpenSceneGraph Public License for more details.
*/
// Written by Wang Rui, (C) 2010
#ifndef OSGDB_OUTPUTSTREAM
#define OSGDB_OUTPUTSTREAM
#include <osg/Version>
#include <osg/Vec2>
#include <osg/Vec3>
#include <osg/Vec4>
#include <osg/Quat>
#include <osg/Matrix>
#include <osg/BoundingBox>
#include <osg/BoundingSphere>
#include <osg/Array>
#include <osg/PrimitiveSet>
#include <osgDB/ReaderWriter>
#include <osgDB/StreamOperator>
#include <iostream>
#include <sstream>
namespace osgDB
{
class OutputException : public osg::Referenced
{
public:
OutputException( const std::vector<std::string>& fields, const std::string& err ) : _error(err)
{
for ( unsigned int i=0; i<fields.size(); ++i )
{
_field += fields[i];
_field += " ";
}
}
const std::string& getField() const { return _field; }
const std::string& getError() const { return _error; }
protected:
std::string _field;
std::string _error;
};
class OSGDB_EXPORT OutputStream
{
public:
typedef std::map<const osg::Array*, unsigned int> ArrayMap;
typedef std::map<const osg::Object*, unsigned int> ObjectMap;
enum WriteType
{
WRITE_UNKNOWN = 0,
WRITE_SCENE,
WRITE_IMAGE,
WRITE_OBJECT
};
enum WriteImageHint
{
WRITE_USE_IMAGE_HINT = 0,
WRITE_USE_EXTERNAL,
WRITE_INLINE_DATA,
WRITE_INLINE_FILE,
WRITE_EXTERNAL_FILE
};
OutputStream( const osgDB::Options* options );
virtual ~OutputStream();
void setFileVersion( const std::string& d, int v );
int getFileVersion( const std::string& d=std::string() ) const;
bool isBinary() const { return _out->isBinary(); }
const std::string& getSchemaName() const { return _schemaName; }
const osgDB::Options* getOptions() const { return _options.get(); }
void setWriteImageHint( WriteImageHint hint ) { _writeImageHint = hint; }
WriteImageHint getWriteImageHint() const { return _writeImageHint; }
// Serialization related functions
OutputStream& operator<<( bool b ) { _out->writeBool(b); return *this; }
OutputStream& operator<<( char c ) { _out->writeChar(c); return *this; }
OutputStream& operator<<( signed char c) { _out->writeChar(c); return *this; }
OutputStream& operator<<( unsigned char c ) { _out->writeUChar(c); return *this; }
OutputStream& operator<<( short s ) { _out->writeShort(s); return *this; }
OutputStream& operator<<( unsigned short s ) { _out->writeUShort(s); return *this; }
OutputStream& operator<<( int i ) { _out->writeInt(i); return *this; }
OutputStream& operator<<( unsigned int i ) { _out->writeUInt(i); return *this; }
OutputStream& operator<<( long l ) { _out->writeLong(l); return *this; }
OutputStream& operator<<( unsigned long l ) { _out->writeULong(l); return *this; }
OutputStream& operator<<( float f ) { _out->writeFloat(f); return *this; }
OutputStream& operator<<( double d ) { _out->writeDouble(d); return *this; }
OutputStream& operator<<( long long ll ) { _out->writeInt64(ll); return *this; }
OutputStream& operator<<( unsigned long long ull ) { _out->writeUInt64(ull); return *this; }
OutputStream& operator<<( const std::string& s ) { _out->writeString(s); return *this; }
OutputStream& operator<<( const char* s ) { _out->writeString(s); return *this; }
OutputStream& operator<<( std::ostream& (*fn)(std::ostream&) ) { _out->writeStream(fn); return *this; }
OutputStream& operator<<( std::ios_base& (*fn)(std::ios_base&) ) { _out->writeBase(fn); return *this; }
OutputStream& operator<<( const ObjectGLenum& value ) { _out->writeGLenum(value); return *this; }
OutputStream& operator<<( const ObjectProperty& prop ) { _out->writeProperty(prop); return *this; }
OutputStream& operator<<( const ObjectMark& mark ) { _out->writeMark(mark); return *this; }
OutputStream& operator<<( const osg::Vec2b& v );
OutputStream& operator<<( const osg::Vec3b& v );
OutputStream& operator<<( const osg::Vec4b& v );
OutputStream& operator<<( const osg::Vec2ub& v );
OutputStream& operator<<( const osg::Vec3ub& v );
OutputStream& operator<<( const osg::Vec4ub& v );
OutputStream& operator<<( const osg::Vec2s& v );
OutputStream& operator<<( const osg::Vec3s& v );
OutputStream& operator<<( const osg::Vec4s& v );
OutputStream& operator<<( const osg::Vec2us& v );
OutputStream& operator<<( const osg::Vec3us& v );
OutputStream& operator<<( const osg::Vec4us& v );
OutputStream& operator<<( const osg::Vec2i& v );
OutputStream& operator<<( const osg::Vec3i& v );
OutputStream& operator<<( const osg::Vec4i& v );
OutputStream& operator<<( const osg::Vec2ui& v );
OutputStream& operator<<( const osg::Vec3ui& v );
OutputStream& operator<<( const osg::Vec4ui& v );
OutputStream& operator<<( const osg::Vec2f& v );
OutputStream& operator<<( const osg::Vec3f& v );
OutputStream& operator<<( const osg::Vec4f& v );
OutputStream& operator<<( const osg::Vec2d& v );
OutputStream& operator<<( const osg::Vec3d& v );
OutputStream& operator<<( const osg::Vec4d& v );
OutputStream& operator<<( const osg::Quat& q );
OutputStream& operator<<( const osg::Plane& p );
OutputStream& operator<<( const osg::Matrixf& mat );
OutputStream& operator<<( const osg::Matrixd& mat );
OutputStream& operator<<( const osg::BoundingBoxf& bb );
OutputStream& operator<<( const osg::BoundingBoxd& bb );
OutputStream& operator<<( const osg::BoundingSpheref& bb );
OutputStream& operator<<( const osg::BoundingSphered& bb );
OutputStream& operator<<( const osg::Image* img ) { writeImage(img); return *this; }
OutputStream& operator<<( const osg::Array* a ) { if (_targetFileVersion >= 112) writeObject(a); else writeArray(a); return *this; }
OutputStream& operator<<( const osg::PrimitiveSet* p ) { if (_targetFileVersion >= 112) writeObject(p); else writePrimitiveSet(p); return *this; }
OutputStream& operator<<( const osg::Object* obj ) { writeObject(obj); return *this; }
OutputStream& operator<<( const osg::ref_ptr<osg::Image>& ptr ) { writeImage(ptr.get()); return *this; }
OutputStream& operator<<( const osg::ref_ptr<osg::Array>& ptr ) { if (_targetFileVersion >= 112) writeObject(ptr.get()); else writeArray(ptr.get()); return *this; }
OutputStream& operator<<( const osg::ref_ptr<osg::PrimitiveSet>& ptr ) { if (_targetFileVersion >= 112) writeObject(ptr.get()); else writePrimitiveSet(ptr.get()); return *this; }
template<typename T> OutputStream& operator<<( const osg::ref_ptr<T>& ptr ) { writeObject(ptr.get()); return *this; }
// Convenient methods for writing
void writeWrappedString( const std::string& str ) { _out->writeWrappedString(str); }
void writeCharArray( const char* s, unsigned int size ) { _out->writeCharArray(s, size); }
// method for converting all data structure sizes to unsigned int to ensure architecture portability.
template<typename T>
void writeSize(T size) { *this<<static_cast<unsigned int>(size); }
// Global writing functions
void writeArray( const osg::Array* a );
void writePrimitiveSet( const osg::PrimitiveSet* p );
void writeImage( const osg::Image* img );
void writeObject( const osg::Object* obj );
void writeObjectFields( const osg::Object* obj );
void writeObjectFields( const osg::Object* obj, const std::string& compoundName );
void setOutputIterator( OutputIterator* oi ) { _out = oi; }
void start( OutputIterator* outIterator, WriteType type );
void compress( std::ostream* ostream );
// Schema handlers
void writeSchema( std::ostream& fout );
// Exception handlers
inline void throwException( const std::string& msg );
const OutputException* getException() const { return _exception.get(); }
// Property & mask variables
ObjectProperty PROPERTY;
ObjectMark BEGIN_BRACKET;
ObjectMark END_BRACKET;
protected:
template<typename T>
void writeArrayImplementation( const T*, int write_size, unsigned int numInRow=1 );
unsigned int findOrCreateArrayID( const osg::Array* array, bool& newID );
unsigned int findOrCreateObjectID( const osg::Object* obj, bool& newID );
ArrayMap _arrayMap;
ObjectMap _objectMap;
typedef std::map<std::string, int> VersionMap;
VersionMap _domainVersionMap;
WriteImageHint _writeImageHint;
bool _useSchemaData;
bool _useRobustBinaryFormat;
typedef std::map<std::string, std::string> SchemaMap;
SchemaMap _inbuiltSchemaMap;
std::vector<std::string> _fields;
std::string _schemaName;
std::string _compressorName;
std::stringstream _compressSource;
osg::ref_ptr<OutputIterator> _out;
osg::ref_ptr<OutputException> _exception;
osg::ref_ptr<const osgDB::Options> _options;
int _targetFileVersion;
};
void OutputStream::throwException( const std::string& msg )
{
_exception = new OutputException(_fields, msg);
}
}
#endif
Array
BoundingBox
BoundingSphere
Matrix
PrimitiveSet
Quat
ReaderWriter
StreamOperator
Vec2
Vec3
Vec4
osgDB::ObjectMark
Definition DataTypes:129
osgDB::ObjectProperty
Definition DataTypes:105
osgDB::Options
Definition Options:30
osgDB::OutputException
Definition OutputStream:37
osgDB::OutputException::_error
std::string _error
Definition OutputStream:53
osgDB::OutputException::getError
const std::string & getError() const
Definition OutputStream:49
osgDB::OutputException::_field
std::string _field
Definition OutputStream:52
osgDB::OutputException::OutputException
OutputException(const std::vector< std::string > &fields, const std::string &err)
Definition OutputStream:39
osgDB::OutputException::getField
const std::string & getField() const
Definition OutputStream:48
osgDB::OutputIterator
Definition StreamOperator:18
osgDB::OutputStream::operator<<
OutputStream & operator<<(const osg::Vec3ui &v)
osgDB::OutputStream::setOutputIterator
void setOutputIterator(OutputIterator *oi)
set an output iterator, used directly when not using OutputStream with a traditional file related str...
Definition OutputStream:177
osgDB::OutputStream::operator<<
OutputStream & operator<<(double d)
Definition OutputStream:104
osgDB::OutputStream::operator<<
OutputStream & operator<<(const osg::Vec3f &v)
osgDB::OutputStream::operator<<
OutputStream & operator<<(long l)
Definition OutputStream:101
osgDB::OutputStream::writePrimitiveSet
void writePrimitiveSet(const osg::PrimitiveSet *p)
osgDB::OutputStream::operator<<
OutputStream & operator<<(const osg::Quat &q)
osgDB::OutputStream::operator<<
OutputStream & operator<<(const osg::PrimitiveSet *p)
Definition OutputStream:151
osgDB::OutputStream::operator<<
OutputStream & operator<<(const ObjectProperty &prop)
Definition OutputStream:113
osgDB::OutputStream::operator<<
OutputStream & operator<<(const osg::Image *img)
Definition OutputStream:149
osgDB::OutputStream::operator<<
OutputStream & operator<<(const osg::Vec4ub &v)
osgDB::OutputStream::operator<<
OutputStream & operator<<(const osg::Vec2s &v)
osgDB::OutputStream::setWriteImageHint
void setWriteImageHint(WriteImageHint hint)
Definition OutputStream:89
osgDB::OutputStream::operator<<
OutputStream & operator<<(const osg::Vec3ub &v)
osgDB::OutputStream::WriteType
WriteType
Definition OutputStream:63
osgDB::OutputStream::WRITE_UNKNOWN
@ WRITE_UNKNOWN
Definition OutputStream:64
osgDB::OutputStream::WRITE_IMAGE
@ WRITE_IMAGE
Definition OutputStream:66
osgDB::OutputStream::WRITE_OBJECT
@ WRITE_OBJECT
Definition OutputStream:67
osgDB::OutputStream::WRITE_SCENE
@ WRITE_SCENE
Definition OutputStream:65
osgDB::OutputStream::writeCharArray
void writeCharArray(const char *s, unsigned int size)
Definition OutputStream:162
osgDB::OutputStream::compress
void compress(std::ostream *ostream)
osgDB::OutputStream::SchemaMap
std::map< std::string, std::string > SchemaMap
Definition OutputStream:212
osgDB::OutputStream::operator<<
OutputStream & operator<<(float f)
Definition OutputStream:103
osgDB::OutputStream::operator<<
OutputStream & operator<<(const osg::Matrixd &mat)
osgDB::OutputStream::writeImage
void writeImage(const osg::Image *img)
osgDB::OutputStream::operator<<
OutputStream & operator<<(const osg::Vec2us &v)
osgDB::OutputStream::writeObject
void writeObject(const osg::Object *obj)
osgDB::OutputStream::operator<<
OutputStream & operator<<(const osg::Vec4us &v)
osgDB::OutputStream::operator<<
OutputStream & operator<<(const osg::Vec4d &v)
osgDB::OutputStream::_targetFileVersion
int _targetFileVersion
Definition OutputStream:222
osgDB::OutputStream::operator<<
OutputStream & operator<<(const osg::Vec2b &v)
osgDB::OutputStream::getSchemaName
const std::string & getSchemaName() const
Definition OutputStream:86
osgDB::OutputStream::WriteImageHint
WriteImageHint
Definition OutputStream:71
osgDB::OutputStream::WRITE_INLINE_DATA
@ WRITE_INLINE_DATA
Definition OutputStream:74
osgDB::OutputStream::WRITE_INLINE_FILE
@ WRITE_INLINE_FILE
Definition OutputStream:75
osgDB::OutputStream::WRITE_USE_EXTERNAL
@ WRITE_USE_EXTERNAL
Definition OutputStream:73
osgDB::OutputStream::WRITE_EXTERNAL_FILE
@ WRITE_EXTERNAL_FILE
Definition OutputStream:76
osgDB::OutputStream::WRITE_USE_IMAGE_HINT
@ WRITE_USE_IMAGE_HINT
Definition OutputStream:72
osgDB::OutputStream::operator<<
OutputStream & operator<<(long long ll)
Definition OutputStream:105
osgDB::OutputStream::operator<<
OutputStream & operator<<(unsigned int i)
Definition OutputStream:100
osgDB::OutputStream::_fields
std::vector< std::string > _fields
Definition OutputStream:214
osgDB::OutputStream::operator<<
OutputStream & operator<<(const osg::ref_ptr< osg::PrimitiveSet > &ptr)
Definition OutputStream:156
osgDB::OutputStream::operator<<
OutputStream & operator<<(const osg::Matrixf &mat)
osgDB::OutputStream::findOrCreateArrayID
unsigned int findOrCreateArrayID(const osg::Array *array, bool &newID)
osgDB::OutputStream::operator<<
OutputStream & operator<<(std::ios_base &(*fn)(std::ios_base &))
Definition OutputStream:110
osgDB::OutputStream::operator<<
OutputStream & operator<<(const osg::BoundingBoxd &bb)
osgDB::OutputStream::start
void start(OutputIterator *outIterator, WriteType type)
start writing to OutputStream treating it as a traditional file related stream, handles headers and v...
osgDB::OutputStream::BEGIN_BRACKET
ObjectMark BEGIN_BRACKET
Definition OutputStream:193
osgDB::OutputStream::operator<<
OutputStream & operator<<(const osg::Plane &p)
osgDB::OutputStream::END_BRACKET
ObjectMark END_BRACKET
Definition OutputStream:194
osgDB::OutputStream::operator<<
OutputStream & operator<<(const osg::Vec2ui &v)
osgDB::OutputStream::writeObjectFields
void writeObjectFields(const osg::Object *obj, const std::string &compoundName)
osgDB::OutputStream::writeArray
void writeArray(const osg::Array *a)
osgDB::OutputStream::operator<<
OutputStream & operator<<(const osg::Vec4i &v)
osgDB::OutputStream::operator<<
OutputStream & operator<<(unsigned long long ull)
Definition OutputStream:106
osgDB::OutputStream::_objectMap
ObjectMap _objectMap
Definition OutputStream:204
osgDB::OutputStream::_exception
osg::ref_ptr< OutputException > _exception
Definition OutputStream:219
osgDB::OutputStream::getFileVersion
int getFileVersion(const std::string &d=std::string()) const
osgDB::OutputStream::operator<<
OutputStream & operator<<(const osg::Vec3i &v)
osgDB::OutputStream::throwException
void throwException(const std::string &msg)
Definition OutputStream:225
osgDB::OutputStream::operator<<
OutputStream & operator<<(const ObjectGLenum &value)
Definition OutputStream:112
osgDB::OutputStream::writeObjectFields
void writeObjectFields(const osg::Object *obj)
osgDB::OutputStream::_writeImageHint
WriteImageHint _writeImageHint
Definition OutputStream:208
osgDB::OutputStream::operator<<
OutputStream & operator<<(unsigned long l)
Definition OutputStream:102
osgDB::OutputStream::operator<<
OutputStream & operator<<(const osg::BoundingBoxf &bb)
osgDB::OutputStream::operator<<
OutputStream & operator<<(signed char c)
Definition OutputStream:95
osgDB::OutputStream::operator<<
OutputStream & operator<<(const osg::ref_ptr< osg::Array > &ptr)
Definition OutputStream:155
osgDB::OutputStream::getWriteImageHint
WriteImageHint getWriteImageHint() const
Definition OutputStream:90
osgDB::OutputStream::_inbuiltSchemaMap
SchemaMap _inbuiltSchemaMap
Definition OutputStream:213
osgDB::OutputStream::isBinary
bool isBinary() const
Definition OutputStream:85
osgDB::OutputStream::getOptions
const osgDB::Options * getOptions() const
Definition OutputStream:87
osgDB::OutputStream::_out
osg::ref_ptr< OutputIterator > _out
Definition OutputStream:218
osgDB::OutputStream::operator<<
OutputStream & operator<<(short s)
Definition OutputStream:97
osgDB::OutputStream::getException
const OutputException * getException() const
Definition OutputStream:189
osgDB::OutputStream::operator<<
OutputStream & operator<<(bool b)
Definition OutputStream:93
osgDB::OutputStream::operator<<
OutputStream & operator<<(const osg::Vec4f &v)
osgDB::OutputStream::operator<<
OutputStream & operator<<(const char *s)
Definition OutputStream:108
osgDB::OutputStream::_domainVersionMap
VersionMap _domainVersionMap
Definition OutputStream:207
osgDB::OutputStream::operator<<
OutputStream & operator<<(const osg::ref_ptr< T > &ptr)
Definition OutputStream:158
osgDB::OutputStream::OutputStream
OutputStream(const osgDB::Options *options)
osgDB::OutputStream::operator<<
OutputStream & operator<<(const osg::ref_ptr< osg::Image > &ptr)
Definition OutputStream:154
osgDB::OutputStream::writeSize
void writeSize(T size)
Definition OutputStream:166
osgDB::OutputStream::operator<<
OutputStream & operator<<(const osg::Vec4ui &v)
osgDB::OutputStream::_compressSource
std::stringstream _compressSource
Definition OutputStream:217
osgDB::OutputStream::ObjectMap
std::map< const osg::Object *, unsigned int > ObjectMap
Definition OutputStream:60
osgDB::OutputStream::PROPERTY
ObjectProperty PROPERTY
Definition OutputStream:192
osgDB::OutputStream::writeWrappedString
void writeWrappedString(const std::string &str)
Definition OutputStream:161
osgDB::OutputStream::operator<<
OutputStream & operator<<(const osg::Array *a)
Definition OutputStream:150
osgDB::OutputStream::ArrayMap
std::map< const osg::Array *, unsigned int > ArrayMap
Definition OutputStream:59
osgDB::OutputStream::operator<<
OutputStream & operator<<(const osg::Vec3us &v)
osgDB::OutputStream::operator<<
OutputStream & operator<<(const osg::Vec2f &v)
osgDB::OutputStream::operator<<
OutputStream & operator<<(const std::string &s)
Definition OutputStream:107
osgDB::OutputStream::operator<<
OutputStream & operator<<(const osg::Vec2ub &v)
osgDB::OutputStream::operator<<
OutputStream & operator<<(const osg::Object *obj)
Definition OutputStream:152
osgDB::OutputStream::operator<<
OutputStream & operator<<(std::ostream &(*fn)(std::ostream &))
Definition OutputStream:109
osgDB::OutputStream::VersionMap
std::map< std::string, int > VersionMap
Definition OutputStream:206
osgDB::OutputStream::operator<<
OutputStream & operator<<(const osg::Vec2i &v)
osgDB::OutputStream::setFileVersion
void setFileVersion(const std::string &d, int v)
osgDB::OutputStream::writeArrayImplementation
void writeArrayImplementation(const T *, int write_size, unsigned int numInRow=1)
osgDB::OutputStream::_useSchemaData
bool _useSchemaData
Definition OutputStream:209
osgDB::OutputStream::_schemaName
std::string _schemaName
Definition OutputStream:215
osgDB::OutputStream::_compressorName
std::string _compressorName
Definition OutputStream:216
osgDB::OutputStream::operator<<
OutputStream & operator<<(const osg::Vec4b &v)
osgDB::OutputStream::operator<<
OutputStream & operator<<(unsigned char c)
Definition OutputStream:96
osgDB::OutputStream::_options
osg::ref_ptr< const osgDB::Options > _options
Definition OutputStream:220
osgDB::OutputStream::_arrayMap
ArrayMap _arrayMap
Definition OutputStream:203
osgDB::OutputStream::operator<<
OutputStream & operator<<(char c)
Definition OutputStream:94
osgDB::OutputStream::_useRobustBinaryFormat
bool _useRobustBinaryFormat
Definition OutputStream:210
osgDB::OutputStream::~OutputStream
virtual ~OutputStream()
osgDB::OutputStream::operator<<
OutputStream & operator<<(const osg::Vec3d &v)
osgDB::OutputStream::writeSchema
void writeSchema(std::ostream &fout)
osgDB::OutputStream::operator<<
OutputStream & operator<<(const ObjectMark &mark)
Definition OutputStream:114
osgDB::OutputStream::operator<<
OutputStream & operator<<(const osg::Vec3b &v)
osgDB::OutputStream::operator<<
OutputStream & operator<<(int i)
Definition OutputStream:99
osgDB::OutputStream::operator<<
OutputStream & operator<<(const osg::Vec2d &v)
osgDB::OutputStream::operator<<
OutputStream & operator<<(const osg::BoundingSpheref &bb)
osgDB::OutputStream::operator<<
OutputStream & operator<<(unsigned short s)
Definition OutputStream:98
osgDB::OutputStream::operator<<
OutputStream & operator<<(const osg::Vec3s &v)
osgDB::OutputStream::findOrCreateObjectID
unsigned int findOrCreateObjectID(const osg::Object *obj, bool &newID)
osgDB::OutputStream::operator<<
OutputStream & operator<<(const osg::BoundingSphered &bb)
osgDB::OutputStream::operator<<
OutputStream & operator<<(const osg::Vec4s &v)
osg::Array
Definition Array:61
osg::Image
Definition Image:179
osg::Matrixd
Definition Matrixd:27
osg::Matrixf
Definition Matrixf:27
osg::Object
Definition Object:61
osg::Plane
A plane class. It can be used to represent an infinite plane.
Definition Plane:34
osg::PrimitiveSet
Definition PrimitiveSet:125
osg::Quat
Definition Quat:30
osg::Referenced
Definition Referenced:44
osg::Vec2b
Definition Vec2b:26
osg::Vec2d
Definition Vec2d:29
osg::Vec2f
Definition Vec2f:29
osg::Vec2i
Definition Vec2i:22
osg::Vec2s
Definition Vec2s:20
osg::Vec2ub
Definition Vec2ub:22
osg::Vec2ui
Definition Vec2ui:22
osg::Vec2us
Definition Vec2us:20
osg::Vec3b
Definition Vec3b:26
osg::Vec3d
Definition Vec3d:30
osg::Vec3f
Definition Vec3f:29
osg::Vec3i
Definition Vec3i:22
osg::Vec3s
Definition Vec3s:20
osg::Vec3ub
Definition Vec3ub:26
osg::Vec3ui
Definition Vec3ui:22
osg::Vec3us
Definition Vec3us:20
osg::Vec4b
Definition Vec4b:26
osg::Vec4d
Definition Vec4d:29
osg::Vec4f
Definition Vec4f:28
osg::Vec4i
Definition Vec4i:22
osg::Vec4s
Definition Vec4s:26
osg::Vec4ub
Definition Vec4ub:28
osg::Vec4ui
Definition Vec4ui:22
osg::Vec4us
Definition Vec4us:26
osg::ref_ptr
Definition ref_ptr:32
osg::ref_ptr::get
T * get() const
Definition ref_ptr:117
osgDB
Definition Archive:24
osg::BoundingBoxd
BoundingBoxImpl< Vec3d > BoundingBoxd
Definition BoundingBox:252
osg::BoundingBoxf
BoundingBoxImpl< Vec3f > BoundingBoxf
Definition BoundingBox:251
osg::BoundingSpheref
BoundingSphereImpl< Vec3f > BoundingSpheref
Definition BoundingSphere:308
osg::BoundingSphered
BoundingSphereImpl< Vec3d > BoundingSphered
Definition BoundingSphere:309
OSGDB_EXPORT
#define OSGDB_EXPORT
Definition osgDB/Export:39
osgDB::ObjectGLenum
Definition DataTypes:94