From acb497b2aba9f49789d8029157e12edc4cf96a74 Mon Sep 17 00:00:00 2001 From: Robert Osfield Date: Fri, 18 Jul 2014 17:17:01 +0000 Subject: [PATCH] Added serailizer support for NodeVisitor, UpdateVisitor, CullVisitor and EventVisitor git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14367 16af8721-9629-0410-8352-f15c8da7e697 --- src/osgWrappers/serializers/CMakeLists.txt | 1 + .../serializers/osg/NodeVisitor.cpp | 35 +++++++++++++++++++ .../serializers/osgGA/EventVisitor.cpp | 18 ++++++++++ .../serializers/osgUtil/CMakeLists.txt | 7 ++++ .../serializers/osgUtil/CullVisitor.cpp | 18 ++++++++++ .../serializers/osgUtil/UpdateVisitor.cpp | 18 ++++++++++ 6 files changed, 97 insertions(+) create mode 100644 src/osgWrappers/serializers/osg/NodeVisitor.cpp create mode 100644 src/osgWrappers/serializers/osgGA/EventVisitor.cpp create mode 100644 src/osgWrappers/serializers/osgUtil/CMakeLists.txt create mode 100644 src/osgWrappers/serializers/osgUtil/CullVisitor.cpp create mode 100644 src/osgWrappers/serializers/osgUtil/UpdateVisitor.cpp diff --git a/src/osgWrappers/serializers/CMakeLists.txt b/src/osgWrappers/serializers/CMakeLists.txt index cbb11eada..37ca1b6d2 100644 --- a/src/osgWrappers/serializers/CMakeLists.txt +++ b/src/osgWrappers/serializers/CMakeLists.txt @@ -38,6 +38,7 @@ SET(TARGET_COMMON_LIBRARIES ) ADD_SUBDIRECTORY(osg) +ADD_SUBDIRECTORY(osgUtil) ADD_SUBDIRECTORY(osgAnimation) ADD_SUBDIRECTORY(osgFX) ADD_SUBDIRECTORY(osgManipulator) diff --git a/src/osgWrappers/serializers/osg/NodeVisitor.cpp b/src/osgWrappers/serializers/osg/NodeVisitor.cpp new file mode 100644 index 000000000..5f1dea24c --- /dev/null +++ b/src/osgWrappers/serializers/osg/NodeVisitor.cpp @@ -0,0 +1,35 @@ +#undef OBJECT_CAST +#define OBJECT_CAST dynamic_cast + +#include +#include +#include +#include + + +REGISTER_OBJECT_WRAPPER( NodeVistor, + new osg::NodeVisitor, + osg::NodeVisitor, + "osg::Object osg::NodeVisitor" ) +{ + BEGIN_ENUM_SERIALIZER( TraversalMode, TRAVERSE_NONE ); + ADD_ENUM_VALUE( TRAVERSE_NONE ); + ADD_ENUM_VALUE( TRAVERSE_PARENTS ); + ADD_ENUM_VALUE( TRAVERSE_ALL_CHILDREN ); + ADD_ENUM_VALUE( TRAVERSE_ACTIVE_CHILDREN ); + END_ENUM_SERIALIZER(); + + BEGIN_ENUM_SERIALIZER( VisitorType, NODE_VISITOR ); + ADD_ENUM_VALUE( UPDATE_VISITOR ); + ADD_ENUM_VALUE( EVENT_VISITOR ); + ADD_ENUM_VALUE( COLLECT_OCCLUDER_VISITOR ); + ADD_ENUM_VALUE( CULL_VISITOR ); + END_ENUM_SERIALIZER(); + + ADD_UINT_SERIALIZER(TraversalMask, 0xffffffff); + ADD_UINT_SERIALIZER(TraversalNumber, 0); +} + + +#undef OBJECT_CAST +#define OBJECT_CAST static_cast diff --git a/src/osgWrappers/serializers/osgGA/EventVisitor.cpp b/src/osgWrappers/serializers/osgGA/EventVisitor.cpp new file mode 100644 index 000000000..fdfab4574 --- /dev/null +++ b/src/osgWrappers/serializers/osgGA/EventVisitor.cpp @@ -0,0 +1,18 @@ +#undef OBJECT_CAST +#define OBJECT_CAST dynamic_cast + +#include +#include +#include +#include + + +REGISTER_OBJECT_WRAPPER( EventVisitor, + new osgGA::EventVisitor, + osgGA::EventVisitor, + "osg::Object osg::NodeVisitor osgGA::EventVisitor" ) +{ +} + +#undef OBJECT_CAST +#define OBJECT_CAST static_cast diff --git a/src/osgWrappers/serializers/osgUtil/CMakeLists.txt b/src/osgWrappers/serializers/osgUtil/CMakeLists.txt new file mode 100644 index 000000000..e75aedf4f --- /dev/null +++ b/src/osgWrappers/serializers/osgUtil/CMakeLists.txt @@ -0,0 +1,7 @@ +FILE(GLOB TARGET_SRC *.cpp) +FILE(GLOB TARGET_H *.h) + +SET(TARGET_ADDED_LIBRARIES osgUtil ) + +#### end var setup ### +SETUP_PLUGIN(osgutil) diff --git a/src/osgWrappers/serializers/osgUtil/CullVisitor.cpp b/src/osgWrappers/serializers/osgUtil/CullVisitor.cpp new file mode 100644 index 000000000..57c5f07c7 --- /dev/null +++ b/src/osgWrappers/serializers/osgUtil/CullVisitor.cpp @@ -0,0 +1,18 @@ +#undef OBJECT_CAST +#define OBJECT_CAST dynamic_cast + +#include +#include +#include +#include + + +REGISTER_OBJECT_WRAPPER( CullVisitor, + new osgUtil::CullVisitor, + osgUtil::CullVisitor, + "osg::Object osg::NodeVisitor osgUtil::CullVisitor" ) +{ +} + +#undef OBJECT_CAST +#define OBJECT_CAST static_cast diff --git a/src/osgWrappers/serializers/osgUtil/UpdateVisitor.cpp b/src/osgWrappers/serializers/osgUtil/UpdateVisitor.cpp new file mode 100644 index 000000000..c0b55e5c3 --- /dev/null +++ b/src/osgWrappers/serializers/osgUtil/UpdateVisitor.cpp @@ -0,0 +1,18 @@ +#undef OBJECT_CAST +#define OBJECT_CAST dynamic_cast + +#include +#include +#include +#include + + +REGISTER_OBJECT_WRAPPER( UpdateVisitor, + new osgUtil::UpdateVisitor, + osgUtil::UpdateVisitor, + "osg::Object osg::NodeVisitor osgUtil::UpdateVisitor" ) +{ +} + +#undef OBJECT_CAST +#define OBJECT_CAST static_cast