Added Vec*b, Vec4ub, Vec*s, Vec*i, Vec*ui serializers
This commit is contained in:
@@ -19,6 +19,12 @@
|
||||
#include <osg/Vec2>
|
||||
#include <osg/Vec3>
|
||||
#include <osg/Vec4>
|
||||
#include <osg/Vec2i>
|
||||
#include <osg/Vec3i>
|
||||
#include <osg/Vec4i>
|
||||
#include <osg/Vec2ui>
|
||||
#include <osg/Vec3ui>
|
||||
#include <osg/Vec4ui>
|
||||
#include <osg/Quat>
|
||||
#include <osg/Matrix>
|
||||
#include <osg/Array>
|
||||
@@ -101,6 +107,12 @@ public:
|
||||
InputStream& operator>>( osg::Vec2s& v );
|
||||
InputStream& operator>>( osg::Vec3s& v );
|
||||
InputStream& operator>>( osg::Vec4s& v );
|
||||
InputStream& operator>>( osg::Vec2i& v );
|
||||
InputStream& operator>>( osg::Vec3i& v );
|
||||
InputStream& operator>>( osg::Vec4i& v );
|
||||
InputStream& operator>>( osg::Vec2ui& v );
|
||||
InputStream& operator>>( osg::Vec3ui& v );
|
||||
InputStream& operator>>( osg::Vec4ui& v );
|
||||
InputStream& operator>>( osg::Vec2f& v );
|
||||
InputStream& operator>>( osg::Vec3f& v );
|
||||
InputStream& operator>>( osg::Vec4f& v );
|
||||
|
||||
@@ -111,6 +111,12 @@ public:
|
||||
OutputStream& operator<<( const osg::Vec2s& v );
|
||||
OutputStream& operator<<( const osg::Vec3s& v );
|
||||
OutputStream& operator<<( const osg::Vec4s& 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 );
|
||||
|
||||
@@ -124,7 +124,10 @@ public:
|
||||
RW_UNDEFINED = 0, RW_USER, RW_OBJECT, RW_IMAGE, RW_LIST,
|
||||
RW_BOOL, RW_CHAR, RW_UCHAR, RW_SHORT, RW_USHORT, RW_INT, RW_UINT, RW_FLOAT, RW_DOUBLE,
|
||||
RW_VEC2F, RW_VEC2D, RW_VEC3F, RW_VEC3D, RW_VEC4F, RW_VEC4D, RW_QUAT, RW_PLANE,
|
||||
RW_MATRIXF, RW_MATRIXD, RW_MATRIX, RW_GLENUM, RW_STRING, RW_ENUM
|
||||
RW_MATRIXF, RW_MATRIXD, RW_MATRIX, RW_GLENUM, RW_STRING, RW_ENUM,
|
||||
RW_VEC2B, RW_VEC2S, RW_VEC2I, RW_VEC2UI,
|
||||
RW_VEC3B, RW_VEC3S, RW_VEC3I, RW_VEC3UI,
|
||||
RW_VEC4B, RW_VEC4UB, RW_VEC4S, RW_VEC4I, RE_VEC4UI
|
||||
};
|
||||
|
||||
BaseSerializer() : _firstVersion(0), _lastVersion(INT_MAX) {}
|
||||
@@ -874,6 +877,23 @@ public:
|
||||
wrapper->addSerializer( new osgDB::PropByRefSerializer< MyClass, double >( \
|
||||
#PROP, DEF, &MyClass::get##PROP, &MyClass::set##PROP), osgDB::BaseSerializer::RW_DOUBLE )
|
||||
|
||||
|
||||
#define ADD_VEC2B_SERIALIZER(PROP, DEF) \
|
||||
wrapper->addSerializer( new osgDB::PropByRefSerializer< MyClass, osg::Vec2b >( \
|
||||
#PROP, DEF, &MyClass::get##PROP, &MyClass::set##PROP), osgDB::BaseSerializer::RW_VEC2B1 )
|
||||
|
||||
#define ADD_VEC2S_SERIALIZER(PROP, DEF) \
|
||||
wrapper->addSerializer( new osgDB::PropByRefSerializer< MyClass, osg::Vec2s >( \
|
||||
#PROP, DEF, &MyClass::get##PROP, &MyClass::set##PROP), osgDB::BaseSerializer::RW_VEC2S )
|
||||
|
||||
#define ADD_VEC2I_SERIALIZER(PROP, DEF) \
|
||||
wrapper->addSerializer( new osgDB::PropByRefSerializer< MyClass, osg::Vec2i >( \
|
||||
#PROP, DEF, &MyClass::get##PROP, &MyClass::set##PROP), osgDB::BaseSerializer::RW_VEC2I )
|
||||
|
||||
#define ADD_VEC2UI_SERIALIZER(PROP, DEF) \
|
||||
wrapper->addSerializer( new osgDB::PropByRefSerializer< MyClass, osg::Vec2ui >( \
|
||||
#PROP, DEF, &MyClass::get##PROP, &MyClass::set##PROP), osgDB::BaseSerializer::RW_VEC2UI )
|
||||
|
||||
#define ADD_VEC2F_SERIALIZER(PROP, DEF) \
|
||||
wrapper->addSerializer( new osgDB::PropByRefSerializer< MyClass, osg::Vec2f >( \
|
||||
#PROP, DEF, &MyClass::get##PROP, &MyClass::set##PROP), osgDB::BaseSerializer::RW_VEC2F )
|
||||
@@ -884,6 +904,23 @@ public:
|
||||
|
||||
#define ADD_VEC2_SERIALIZER(PROP, DEF) ADD_VEC2F_SERIALIZER(PROP, DEF)
|
||||
|
||||
|
||||
#define ADD_VEC3B_SERIALIZER(PROP, DEF) \
|
||||
wrapper->addSerializer( new osgDB::PropByRefSerializer< MyClass, osg::Vec3b >( \
|
||||
#PROP, DEF, &MyClass::get##PROP, &MyClass::set##PROP), osgDB::BaseSerializer::RW_VEC3B )
|
||||
|
||||
#define ADD_VEC3S_SERIALIZER(PROP, DEF) \
|
||||
wrapper->addSerializer( new osgDB::PropByRefSerializer< MyClass, osg::Vec3s >( \
|
||||
#PROP, DEF, &MyClass::get##PROP, &MyClass::set##PROP), osgDB::BaseSerializer::RW_VEC3S )
|
||||
|
||||
#define ADD_VEC3I_SERIALIZER(PROP, DEF) \
|
||||
wrapper->addSerializer( new osgDB::PropByRefSerializer< MyClass, osg::Vec3i >( \
|
||||
#PROP, DEF, &MyClass::get##PROP, &MyClass::set##PROP), osgDB::BaseSerializer::RW_VEC3I )
|
||||
|
||||
#define ADD_VEC3UI_SERIALIZER(PROP, DEF) \
|
||||
wrapper->addSerializer( new osgDB::PropByRefSerializer< MyClass, osg::Vec3ui >( \
|
||||
#PROP, DEF, &MyClass::get##PROP, &MyClass::set##PROP), osgDB::BaseSerializer::RW_VEC3UI )
|
||||
|
||||
#define ADD_VEC3F_SERIALIZER(PROP, DEF) \
|
||||
wrapper->addSerializer( new osgDB::PropByRefSerializer< MyClass, osg::Vec3f >( \
|
||||
#PROP, DEF, &MyClass::get##PROP, &MyClass::set##PROP), osgDB::BaseSerializer::RW_VEC3F )
|
||||
@@ -894,6 +931,26 @@ public:
|
||||
|
||||
#define ADD_VEC3_SERIALIZER(PROP, DEF) ADD_VEC3F_SERIALIZER(PROP, DEF)
|
||||
|
||||
#define ADD_VEC4B_SERIALIZER(PROP, DEF) \
|
||||
wrapper->addSerializer( new osgDB::PropByRefSerializer< MyClass, osg::Vec4b >( \
|
||||
#PROP, DEF, &MyClass::get##PROP, &MyClass::set##PROP), osgDB::BaseSerializer::RW_VEC4B )
|
||||
|
||||
#define ADD_VEC4UB_SERIALIZER(PROP, DEF) \
|
||||
wrapper->addSerializer( new osgDB::PropByRefSerializer< MyClass, osg::Vec4ub >( \
|
||||
#PROP, DEF, &MyClass::get##PROP, &MyClass::set##PROP), osgDB::BaseSerializer::RW_VEC4UB )
|
||||
|
||||
#define ADD_VEC4S_SERIALIZER(PROP, DEF) \
|
||||
wrapper->addSerializer( new osgDB::PropByRefSerializer< MyClass, osg::Vec4s >( \
|
||||
#PROP, DEF, &MyClass::get##PROP, &MyClass::set##PROP), osgDB::BaseSerializer::RW_VEC4S )
|
||||
|
||||
#define ADD_VEC4I_SERIALIZER(PROP, DEF) \
|
||||
wrapper->addSerializer( new osgDB::PropByRefSerializer< MyClass, osg::Vec4i >( \
|
||||
#PROP, DEF, &MyClass::get##PROP, &MyClass::set##PROP), osgDB::BaseSerializer::RW_VEC4I )
|
||||
|
||||
#define ADD_VEC4UI_SERIALIZER(PROP, DEF) \
|
||||
wrapper->addSerializer( new osgDB::PropByRefSerializer< MyClass, osg::Vec4ui >( \
|
||||
#PROP, DEF, &MyClass::get##PROP, &MyClass::set##PROP), osgDB::BaseSerializer::RW_VEC4UI )
|
||||
|
||||
#define ADD_VEC4F_SERIALIZER(PROP, DEF) \
|
||||
wrapper->addSerializer( new osgDB::PropByRefSerializer< MyClass, osg::Vec4f >( \
|
||||
#PROP, DEF, &MyClass::get##PROP, &MyClass::set##PROP), osgDB::BaseSerializer::RW_VEC4F )
|
||||
|
||||
@@ -97,6 +97,27 @@ InputStream& InputStream::operator>>( osg::Vec3s& v )
|
||||
InputStream& InputStream::operator>>( osg::Vec4s& v )
|
||||
{ *this >> v.x() >> v.y() >> v.z() >> v.w(); return *this; }
|
||||
|
||||
|
||||
InputStream& InputStream::operator>>( osg::Vec2i& v )
|
||||
{ *this >> v.x() >> v.y(); return *this; }
|
||||
|
||||
InputStream& InputStream::operator>>( osg::Vec3i& v )
|
||||
{ *this >> v.x() >> v.y() >> v.z(); return *this; }
|
||||
|
||||
InputStream& InputStream::operator>>( osg::Vec4i& v )
|
||||
{ *this >> v.x() >> v.y() >> v.z() >> v.w(); return *this; }
|
||||
|
||||
|
||||
InputStream& InputStream::operator>>( osg::Vec2ui& v )
|
||||
{ *this >> v.x() >> v.y(); return *this; }
|
||||
|
||||
InputStream& InputStream::operator>>( osg::Vec3ui& v )
|
||||
{ *this >> v.x() >> v.y() >> v.z(); return *this; }
|
||||
|
||||
InputStream& InputStream::operator>>( osg::Vec4ui& v )
|
||||
{ *this >> v.x() >> v.y() >> v.z() >> v.w(); return *this; }
|
||||
|
||||
|
||||
InputStream& InputStream::operator>>( osg::Vec2f& v )
|
||||
{ *this >> v.x() >> v.y(); return *this; }
|
||||
|
||||
@@ -106,6 +127,7 @@ InputStream& InputStream::operator>>( osg::Vec3f& v )
|
||||
InputStream& InputStream::operator>>( osg::Vec4f& v )
|
||||
{ *this >> v.x() >> v.y() >> v.z() >> v.w(); return *this; }
|
||||
|
||||
|
||||
InputStream& InputStream::operator>>( osg::Vec2d& v )
|
||||
{ *this >> v.x() >> v.y(); return *this; }
|
||||
|
||||
@@ -115,6 +137,7 @@ InputStream& InputStream::operator>>( osg::Vec3d& v )
|
||||
InputStream& InputStream::operator>>( osg::Vec4d& v )
|
||||
{ *this >> v.x() >> v.y() >> v.z() >> v.w(); return *this; }
|
||||
|
||||
|
||||
InputStream& InputStream::operator>>( osg::Quat& q )
|
||||
{ *this >> q.x() >> q.y() >> q.z() >> q.w(); return *this; }
|
||||
|
||||
|
||||
Reference in New Issue
Block a user