From Wang Rui, "I modified the Serializer header to add a UPDATE_TO_VERSION_SCOPED

macro, which could set version within brackets and reset it after
that. All related serializers are also modified so that the
backward-compatibility bug reported by Farshid can be fixed.
"

From Robert Osfield, removed the use of osg::Referenced and creating the proxy object on the heap.
This commit is contained in:
Robert Osfield
2012-10-09 16:05:50 +00:00
parent 16de7e9f33
commit 9fab99ddd9
8 changed files with 28 additions and 7 deletions

View File

@@ -79,8 +79,8 @@ REGISTER_OBJECT_WRAPPER( Node,
ADD_HEXINT_SERIALIZER( NodeMask, 0xffffffff ); // _nodeMask
ADD_USER_SERIALIZER( Descriptions ); // _descriptions, deprecated
UPDATE_TO_VERSION( 77 )
{
UPDATE_TO_VERSION_SCOPED( 77 )
REMOVE_SERIALIZER( Descriptions );
}

View File

@@ -42,9 +42,8 @@ REGISTER_OBJECT_WRAPPER( Object,
END_ENUM_SERIALIZER(); // _dataVariance
ADD_USER_SERIALIZER( UserData ); // _userData, deprecated
UPDATE_TO_VERSION( 77 )
{
UPDATE_TO_VERSION_SCOPED( 77 )
REMOVE_SERIALIZER( UserData );
ADD_OBJECT_SERIALIZER( UserDataContainer, osg::UserDataContainer, NULL );
}

View File

@@ -145,8 +145,8 @@ REGISTER_OBJECT_WRAPPER( PagedLOD,
ADD_USER_SERIALIZER( RangeDataList ); // _perRangeDataList
ADD_USER_SERIALIZER( Children ); // _children (which are not loaded from external)
UPDATE_TO_VERSION( 70 )
{
UPDATE_TO_VERSION_SCOPED( 70 )
REMOVE_SERIALIZER( FrameNumberOfLastTraversal );
}

View File

@@ -15,8 +15,8 @@ REGISTER_OBJECT_WRAPPER( osgText_Text3D,
ADD_ENUM_VALUE( PER_GLYPH );
END_ENUM_SERIALIZER(); // _renderMode
UPDATE_TO_VERSION( 68 )
{
UPDATE_TO_VERSION_SCOPED( 68 )
ADD_VEC4_SERIALIZER( Color, osg::Vec4(1.0,1.0,1.0,1.0) ); // _color
}
}

View File

@@ -42,8 +42,8 @@ REGISTER_OBJECT_WRAPPER( osgVolume_Locator,
ADD_MATRIXD_SERIALIZER( Transform, osg::Matrixd() ); // _transform
ADD_USER_SERIALIZER( LocatorCallbacks );
UPDATE_TO_VERSION( 90 )
{
UPDATE_TO_VERSION_SCOPED( 90 )
REMOVE_SERIALIZER( LocatorCallbacks );
}
}

View File

@@ -28,8 +28,8 @@ REGISTER_OBJECT_WRAPPER( osgVolume_VolumeTile,
"osg::Object osg::Node osg::Group osgVolume::VolumeTile" )
{
ADD_OBJECT_SERIALIZER( Volume, osgVolume::Volume, NULL ); // _volume
UPDATE_TO_VERSION( 90 )
{
UPDATE_TO_VERSION_SCOPED( 90 )
REMOVE_SERIALIZER( Volume );
}