From Wang Rui, "I've finally completed the static build support for dotosg wrapper and

serialization libraries. My submission mainly includes:
1. Add two new macros USE_DOTOSGWRAPPER_LIBRARY and
USE_SERIALIZER_WRAPPER_LIBRARY. Applications using static OSG must
include corresponding static-link libraries and use these two macros
to predefine native format wrappers. Please see osgstaticviewer and
present3D in the attachment for details.

2. Add a LibraryWrapper.cpp file in each
osgWrappers/deprecated-dotosg/... and osgWrappers/serializers/...
subfolder, which calls all USE_...WRAPPERS macros inside. The
LibraryWrapper file is automatically generated by the
wrapper_includer.cpp (with some slight fixes), which is also attached
for your reference. The deprecated-dotosg/osgAnimation is not included
because it doesn't us REGISTER_DOTOSGWRAPPER to define its wrappers.

3. Modify the ReaderWriterOSG.cpp to prevent calling loadWrappers()
when static build.

4. An uncorrelated fix to Serializer and ObjectWrapper.cpp, which
ensures version variables of serialziers are initialized, and
serializers out-of-version are not written to model files.
"
This commit is contained in:
Robert Osfield 2010-11-11 11:47:24 +00:00
parent be9003d90c
commit bda7ef8179
29 changed files with 724 additions and 8 deletions

View File

@ -55,6 +55,19 @@ IF (NOT DYNAMIC_OPENSCENEGRAPH)
osgdb_obj
)
SET(TARGET_ADDED_LIBRARIES ${TARGET_ADDED_LIBRARIES}
osgdb_deprecated_osg osgdb_deprecated_osgparticle osgdb_deprecated_osganimation
osgdb_deprecated_osgfx osgdb_deprecated_osgsim osgdb_deprecated_osgtext
osgdb_deprecated_osgviewer osgdb_deprecated_osgshadow osgdb_deprecated_osgterrain
osgdb_deprecated_osgvolume osgdb_deprecated_osgwidget
)
SET(TARGET_ADDED_LIBRARIES ${TARGET_ADDED_LIBRARIES}
osgdb_serializers_osg osgdb_serializers_osgparticle osgdb_serializers_osgtext
osgdb_serializers_osgterrain osgdb_serializers_osganimation osgdb_serializers_osgfx
osgdb_serializers_osgshadow osgdb_serializers_osgmanipulator osgdb_serializers_osgsim
osgdb_serializers_osgvolume
)
IF(JPEG_FOUND)
ADD_DEFINITIONS(-DUSE_JPEG)
SET(TARGET_ADDED_LIBRARIES ${TARGET_ADDED_LIBRARIES} osgdb_jpeg)

View File

@ -61,6 +61,7 @@
// include the plugins we need
USE_OSGPLUGIN(ive)
USE_OSGPLUGIN(osg)
USE_OSGPLUGIN(osg2)
USE_OSGPLUGIN(p3d)
USE_OSGPLUGIN(paths)
USE_OSGPLUGIN(rgb)
@ -91,6 +92,28 @@
USE_OSGPLUGIN(curl)
#endif
USE_DOTOSGWRAPPER_LIBRARY(osg)
USE_DOTOSGWRAPPER_LIBRARY(osgFX)
USE_DOTOSGWRAPPER_LIBRARY(osgParticle)
USE_DOTOSGWRAPPER_LIBRARY(osgShadow)
USE_DOTOSGWRAPPER_LIBRARY(osgSim)
USE_DOTOSGWRAPPER_LIBRARY(osgTerrain)
USE_DOTOSGWRAPPER_LIBRARY(osgText)
USE_DOTOSGWRAPPER_LIBRARY(osgViewer)
USE_DOTOSGWRAPPER_LIBRARY(osgVolume)
USE_DOTOSGWRAPPER_LIBRARY(osgWidget)
USE_SERIALIZER_WRAPPER_LIBRARY(osg)
USE_SERIALIZER_WRAPPER_LIBRARY(osgAnimation)
USE_SERIALIZER_WRAPPER_LIBRARY(osgFX)
USE_SERIALIZER_WRAPPER_LIBRARY(osgManipulator)
USE_SERIALIZER_WRAPPER_LIBRARY(osgParticle)
USE_SERIALIZER_WRAPPER_LIBRARY(osgShadow)
USE_SERIALIZER_WRAPPER_LIBRARY(osgSim)
USE_SERIALIZER_WRAPPER_LIBRARY(osgTerrain)
USE_SERIALIZER_WRAPPER_LIBRARY(osgText)
USE_SERIALIZER_WRAPPER_LIBRARY(osgVolume)
// include the platform specific GraphicsWindow implementation.
USE_GRAPHICSWINDOW()

View File

@ -1,6 +1,23 @@
#this file is automatically generated
SET(TARGET_ADDED_LIBRARIES osgdb_ive osgdb_freetype osgdb_openflight osgdb_osg osgdb_rgb)
SET(TARGET_ADDED_LIBRARIES osgdb_ive osgdb_openflight osgdb_osg osgdb_rgb)
SET(TARGET_ADDED_LIBRARIES ${TARGET_ADDED_LIBRARIES}
osgdb_deprecated_osg osgdb_deprecated_osgparticle osgdb_deprecated_osganimation
osgdb_deprecated_osgfx osgdb_deprecated_osgsim osgdb_deprecated_osgtext
osgdb_deprecated_osgviewer osgdb_deprecated_osgshadow osgdb_deprecated_osgterrain
osgdb_deprecated_osgvolume osgdb_deprecated_osgwidget
)
SET(TARGET_ADDED_LIBRARIES ${TARGET_ADDED_LIBRARIES}
osgdb_serializers_osg osgdb_serializers_osgparticle osgdb_serializers_osgtext
osgdb_serializers_osgterrain osgdb_serializers_osganimation osgdb_serializers_osgfx
osgdb_serializers_osgshadow osgdb_serializers_osgmanipulator osgdb_serializers_osgsim
osgdb_serializers_osgvolume
)
IF(FREETYPE_FOUND)
ADD_DEFINITIONS(-DUSE_FREETYPE)
SET(TARGET_ADDED_LIBRARIES ${TARGET_ADDED_LIBRARIES} osgdb_freetype)
ENDIF(FREETYPE_FOUND)
SET(TARGET_SRC osgstaticviewer.cpp )
#### end var setup ###

View File

@ -38,11 +38,37 @@
// include the plugins we need
USE_OSGPLUGIN(ive)
USE_OSGPLUGIN(freetype)
USE_OSGPLUGIN(osg)
USE_OSGPLUGIN(osg2)
USE_OSGPLUGIN(rgb)
USE_OSGPLUGIN(OpenFlight)
#ifdef USE_FREETYPE
USE_OSGPLUGIN(freetype)
#endif
USE_DOTOSGWRAPPER_LIBRARY(osg)
USE_DOTOSGWRAPPER_LIBRARY(osgFX)
USE_DOTOSGWRAPPER_LIBRARY(osgParticle)
USE_DOTOSGWRAPPER_LIBRARY(osgShadow)
USE_DOTOSGWRAPPER_LIBRARY(osgSim)
USE_DOTOSGWRAPPER_LIBRARY(osgTerrain)
USE_DOTOSGWRAPPER_LIBRARY(osgText)
USE_DOTOSGWRAPPER_LIBRARY(osgViewer)
USE_DOTOSGWRAPPER_LIBRARY(osgVolume)
USE_DOTOSGWRAPPER_LIBRARY(osgWidget)
USE_SERIALIZER_WRAPPER_LIBRARY(osg)
USE_SERIALIZER_WRAPPER_LIBRARY(osgAnimation)
USE_SERIALIZER_WRAPPER_LIBRARY(osgFX)
USE_SERIALIZER_WRAPPER_LIBRARY(osgManipulator)
USE_SERIALIZER_WRAPPER_LIBRARY(osgParticle)
USE_SERIALIZER_WRAPPER_LIBRARY(osgShadow)
USE_SERIALIZER_WRAPPER_LIBRARY(osgSim)
USE_SERIALIZER_WRAPPER_LIBRARY(osgTerrain)
USE_SERIALIZER_WRAPPER_LIBRARY(osgText)
USE_SERIALIZER_WRAPPER_LIBRARY(osgVolume)
// include the platform specific GraphicsWindow implementation.
USE_GRAPHICSWINDOW()

View File

@ -637,10 +637,18 @@ struct PluginFunctionProxy
extern "C" void dotosgwrapper_##classname(void); \
static osgDB::PluginFunctionProxy proxy_dotosgwrapper_##classname(dotosgwrapper_##classname);
#define USE_DOTOSGWRAPPER_LIBRARY(libname) \
extern "C" void dotosgwrapper_library_##libname(void); \
static osgDB::PluginFunctionProxy proxy_dotosgwrapper_library_##libname(dotosgwrapper_library_##libname);
#define USE_SERIALIZER_WRAPPER(classname) \
extern "C" void wrapper_serializer_##classname(void); \
static osgDB::PluginFunctionProxy proxy_serializer_##classname(wrapper_serializer_##classname);
#define USE_SERIALIZER_WRAPPER_LIBRARY(libname) \
extern "C" void wrapper_serializer_library_##libname(void); \
static osgDB::PluginFunctionProxy proxy_serializer_library_##libname(wrapper_serializer_library_##libname);
#define USE_COMPRESSOR_WRAPPER(classname) \
extern "C" void wrapper_serializer_##classname(void); \
static osgDB::PluginFunctionProxy proxy_compressor_##classname(wrapper_compressor_##classname);

View File

@ -147,7 +147,7 @@ public:
typedef bool (*Writer)( OutputStream&, const C& );
UserSerializer( const char* name, Checker cf, Reader rf, Writer wf )
: _name(name), _checker(cf), _reader(rf), _writer(wf) {}
: BaseSerializer(), _name(name), _checker(cf), _reader(rf), _writer(wf) {}
virtual bool read( InputStream& is, osg::Object& obj )
{
@ -198,7 +198,7 @@ class TemplateSerializer : public BaseSerializer
{
public:
TemplateSerializer( const char* name )
: _name(name) {}
: BaseSerializer(), _name(name) {}
virtual bool read( InputStream& is, osg::Object& obj ) = 0;
virtual bool write( OutputStream& os, const osg::Object& obj ) = 0;

View File

@ -12,6 +12,7 @@
*/
// Written by Wang Rui, (C) 2010
#include <osg/Version>
#include <osg/Notify>
#include <osg/BlendFunc>
#include <osg/ClampColor>
@ -178,10 +179,21 @@ bool ObjectWrapper::write( OutputStream& os, const osg::Object& obj )
for ( SerializerList::iterator itr=_serializers.begin();
itr!=_serializers.end(); ++itr )
{
if ( (*itr)->write(os, obj) ) continue;
OSG_WARN << "ObjectWrapper::write(): Error writing property "
<< _name << "::" << (*itr)->getName() << std::endl;
writeOK = false;
BaseSerializer* serializer = itr->get();
if ( serializer->_firstVersion <= OPENSCENEGRAPH_SOVERSION &&
OPENSCENEGRAPH_SOVERSION <= serializer->_lastVersion)
{
if ( !serializer->write(os, obj) )
{
OSG_WARN << "ObjectWrapper::write(): Error writing property "
<< _name << "::" << (*itr)->getName() << std::endl;
writeOK = false;
}
}
else
{
// OSG_NOTICE<<"Ignoring serializer due to version mismatch"<<std::endl;
}
}
return writeOK;
}

View File

@ -128,6 +128,7 @@ class OSGReaderWriter : public ReaderWriter
bool loadWrappers() const
{
#ifndef OSG_LIBRARY_STATIC
if (_wrappersLoaded) return true;
OpenThreads::ScopedLock<OpenThreads::Mutex> lock(_mutex);
@ -146,6 +147,9 @@ class OSGReaderWriter : public ReaderWriter
_wrappersLoaded = true;
return false;
}
#else
return true;
#endif
}
virtual ReadResult readObject(const std::string& file, const Options* opt) const

View File

@ -0,0 +1,98 @@
#include <osgDB/Registry>
USE_DOTOSGWRAPPER(AlphaFunc)
USE_DOTOSGWRAPPER(AnimationPath)
USE_DOTOSGWRAPPER(AnimationPathCallback_Proxy)
USE_DOTOSGWRAPPER(AutoTransform)
USE_DOTOSGWRAPPER(Billboard)
USE_DOTOSGWRAPPER(BlendColor)
USE_DOTOSGWRAPPER(BlendEquation)
USE_DOTOSGWRAPPER(Transparency)
USE_DOTOSGWRAPPER(BlendFunc)
USE_DOTOSGWRAPPER(Box)
USE_DOTOSGWRAPPER(Camera)
USE_DOTOSGWRAPPER(CameraNode)
USE_DOTOSGWRAPPER(CameraView)
USE_DOTOSGWRAPPER(Capsule)
USE_DOTOSGWRAPPER(EarthSky)
USE_DOTOSGWRAPPER(ClearNode)
USE_DOTOSGWRAPPER(ClipNode)
USE_DOTOSGWRAPPER(ClipPlane)
USE_DOTOSGWRAPPER(ClusterCullingCallback)
USE_DOTOSGWRAPPER(ColorMask)
USE_DOTOSGWRAPPER(ColorMatrix)
USE_DOTOSGWRAPPER(CompositeShape)
USE_DOTOSGWRAPPER(Cone)
USE_DOTOSGWRAPPER(ConvexPlanarOccluder)
USE_DOTOSGWRAPPER(CoordinateSystemNode)
USE_DOTOSGWRAPPER(CullFace)
USE_DOTOSGWRAPPER(Cylinder)
USE_DOTOSGWRAPPER(Depth)
USE_DOTOSGWRAPPER(Drawable)
USE_DOTOSGWRAPPER(EllipsoidModel)
USE_DOTOSGWRAPPER(Fog)
USE_DOTOSGWRAPPER(FragmentProgram)
USE_DOTOSGWRAPPER(FrontFace)
USE_DOTOSGWRAPPER(Geode)
USE_DOTOSGWRAPPER(Geometry)
USE_DOTOSGWRAPPER(Group)
USE_DOTOSGWRAPPER(HeightField)
USE_DOTOSGWRAPPER(Grid)
USE_DOTOSGWRAPPER(Image)
USE_DOTOSGWRAPPER(ImageSequence)
USE_DOTOSGWRAPPER(Light)
USE_DOTOSGWRAPPER(LightModel)
USE_DOTOSGWRAPPER(LightSource)
USE_DOTOSGWRAPPER(LineStipple)
USE_DOTOSGWRAPPER(LineWidth)
USE_DOTOSGWRAPPER(LOD)
USE_DOTOSGWRAPPER(Material)
USE_DOTOSGWRAPPER(MatrixTransform)
USE_DOTOSGWRAPPER(DCS)
USE_DOTOSGWRAPPER(Node)
USE_DOTOSGWRAPPER(NodeCallback)
USE_DOTOSGWRAPPER(Object)
USE_DOTOSGWRAPPER(OccluderNode)
USE_DOTOSGWRAPPER(OcclusionQueryNode)
USE_DOTOSGWRAPPER(PagedLOD)
USE_DOTOSGWRAPPER(Point)
USE_DOTOSGWRAPPER(PointSprite)
USE_DOTOSGWRAPPER(PolygonMode)
USE_DOTOSGWRAPPER(PolygonOffset)
USE_DOTOSGWRAPPER(PositionAttitudeTransform)
USE_DOTOSGWRAPPER(Program)
USE_DOTOSGWRAPPER(Projection)
USE_DOTOSGWRAPPER(ProxyNode)
USE_DOTOSGWRAPPER(Scissor)
USE_DOTOSGWRAPPER(Sequence)
USE_DOTOSGWRAPPER(ShadeModel)
USE_DOTOSGWRAPPER(Shader)
USE_DOTOSGWRAPPER(ShapeDrawable)
USE_DOTOSGWRAPPER(Sphere)
USE_DOTOSGWRAPPER(StateAttribute)
USE_DOTOSGWRAPPER(StateSet)
USE_DOTOSGWRAPPER(GeoState)
USE_DOTOSGWRAPPER(Stencil)
USE_DOTOSGWRAPPER(Switch)
USE_DOTOSGWRAPPER(TessellationHints)
USE_DOTOSGWRAPPER(TexEnv)
USE_DOTOSGWRAPPER(TexEnvCombine)
USE_DOTOSGWRAPPER(TexEnvFilter)
USE_DOTOSGWRAPPER(TexGen)
USE_DOTOSGWRAPPER(TexGenNode)
USE_DOTOSGWRAPPER(TexMat)
USE_DOTOSGWRAPPER(Texture)
USE_DOTOSGWRAPPER(Texture1D)
USE_DOTOSGWRAPPER(OldTexture)
USE_DOTOSGWRAPPER(Texture2D)
USE_DOTOSGWRAPPER(Texture3D)
USE_DOTOSGWRAPPER(TextureCubeMap)
USE_DOTOSGWRAPPER(TextureRectangle)
USE_DOTOSGWRAPPER(TransferFunction1D_Proxy)
USE_DOTOSGWRAPPER(Transform)
USE_DOTOSGWRAPPER(Uniform)
USE_DOTOSGWRAPPER(VertexProgram)
USE_DOTOSGWRAPPER(Viewport)
extern "C" void dotosgwrapper_library_osg(void) {}

View File

@ -0,0 +1,13 @@
#include <osgDB/Registry>
USE_DOTOSGWRAPPER(AnisotropicLighting_Proxy)
USE_DOTOSGWRAPPER(BumpMapping_Proxy)
USE_DOTOSGWRAPPER(Cartoon_Proxy)
USE_DOTOSGWRAPPER(Effect_Proxy)
USE_DOTOSGWRAPPER(MultiTextureControl_Proxy)
USE_DOTOSGWRAPPER(Outline_Proxy)
USE_DOTOSGWRAPPER(Scribe_Proxy)
USE_DOTOSGWRAPPER(SpecularHighlights_Proxy)
extern "C" void dotosgwrapper_library_osgFX(void) {}

View File

@ -0,0 +1,42 @@
#include <osgDB/Registry>
USE_DOTOSGWRAPPER(AccelOperator_Proxy)
USE_DOTOSGWRAPPER(AngularAccelOperator_Proxy)
USE_DOTOSGWRAPPER(AngularDampingOperator_Proxy)
USE_DOTOSGWRAPPER(BounceOperator_Proxy)
USE_DOTOSGWRAPPER(BoxPlacer_Proxy)
USE_DOTOSGWRAPPER(CenteredPlacer_Proxy)
USE_DOTOSGWRAPPER(ConnectedParticleSystem_Proxy)
USE_DOTOSGWRAPPER(ConstantRateCounter_Proxy)
USE_DOTOSGWRAPPER(DampingOperator_Proxy)
USE_DOTOSGWRAPPER(DomainOperator_Proxy)
USE_DOTOSGWRAPPER(Emitter_Proxy)
USE_DOTOSGWRAPPER(ExplosionDebrisEffect_Proxy)
USE_DOTOSGWRAPPER(ExplosionEffect_Proxy)
USE_DOTOSGWRAPPER(ExplosionOperator_Proxy)
USE_DOTOSGWRAPPER(FireEffect_Proxy)
USE_DOTOSGWRAPPER(FluidFrictionOperator_Proxy)
USE_DOTOSGWRAPPER(FluidProgram_Proxy)
USE_DOTOSGWRAPPER(ForceOperator_Proxy)
USE_DOTOSGWRAPPER(LinearInterpolator_Proxy)
USE_DOTOSGWRAPPER(ModularEmitter_Proxy)
USE_DOTOSGWRAPPER(ModularProgram_Proxy)
USE_DOTOSGWRAPPER(MultiSegmentPlacer_Proxy)
USE_DOTOSGWRAPPER(OrbitOperator_Proxy)
USE_DOTOSGWRAPPER(ParticleEffect_Proxy)
USE_DOTOSGWRAPPER(ParticleProcessor_Proxy)
USE_DOTOSGWRAPPER(ParticleSystem_Proxy)
USE_DOTOSGWRAPPER(PSU_Proxy)
USE_DOTOSGWRAPPER(PointPlacer_Proxy)
USE_DOTOSGWRAPPER(g_IOProgramProxy)
USE_DOTOSGWRAPPER(RadialShooter_Proxy)
USE_DOTOSGWRAPPER(RandomRateCounter_Proxy)
USE_DOTOSGWRAPPER(SectorPlacer_Proxy)
USE_DOTOSGWRAPPER(SegmentPlacer_Proxy)
USE_DOTOSGWRAPPER(SinkOperator_Proxy)
USE_DOTOSGWRAPPER(SmokeEffect_Proxy)
USE_DOTOSGWRAPPER(SmokeTrailEffect_Proxy)
USE_DOTOSGWRAPPER(VariableRateCounter_Proxy)
extern "C" void dotosgwrapper_library_osgParticle(void) {}

View File

@ -0,0 +1,10 @@
#include <osgDB/Registry>
USE_DOTOSGWRAPPER(ShadowedScene_Proxy)
USE_DOTOSGWRAPPER(ShadowMap_Proxy)
USE_DOTOSGWRAPPER(ShadowTechnique_Proxy)
USE_DOTOSGWRAPPER(ShadowTexture_Proxy)
USE_DOTOSGWRAPPER(ShadowVolume_Proxy)
extern "C" void dotosgwrapper_library_osgShadow(void) {}

View File

@ -0,0 +1,20 @@
#include <osgDB/Registry>
USE_DOTOSGWRAPPER(BlinkSequence_Proxy)
USE_DOTOSGWRAPPER(BlinkSequence_SequenceGroup_Proxy)
USE_DOTOSGWRAPPER(g_DOFTransformProxy)
USE_DOTOSGWRAPPER(g_ImpostorProxy)
USE_DOTOSGWRAPPER(LightPointNode_Proxy)
USE_DOTOSGWRAPPER(g_simSwitchProxy)
USE_DOTOSGWRAPPER(ObjectRecordData_Proxy)
USE_DOTOSGWRAPPER(g_OverlayNodeProxy)
USE_DOTOSGWRAPPER(AzimSector_Proxy)
USE_DOTOSGWRAPPER(ElevationSector_Proxy)
USE_DOTOSGWRAPPER(AzimElevationSector_Proxy)
USE_DOTOSGWRAPPER(ConeSector_Proxy)
USE_DOTOSGWRAPPER(DirectionalSector_Proxy)
USE_DOTOSGWRAPPER(ShapeAttributeList_Proxy)
USE_DOTOSGWRAPPER(g_VisibilityGroupProxy)
extern "C" void dotosgwrapper_library_osgSim(void) {}

View File

@ -0,0 +1,14 @@
#include <osgDB/Registry>
USE_DOTOSGWRAPPER(CompositeLayer_Proxy)
USE_DOTOSGWRAPPER(GeometryTechnique_Proxy)
USE_DOTOSGWRAPPER(HeightFieldLayer_Proxy)
USE_DOTOSGWRAPPER(ImageLayer_Proxy)
USE_DOTOSGWRAPPER(Layer_Proxy)
USE_DOTOSGWRAPPER(Locator_Proxy)
USE_DOTOSGWRAPPER(SwitchLayer_Proxy)
USE_DOTOSGWRAPPER(Terrain)
USE_DOTOSGWRAPPER(TerrainTile_Proxy)
extern "C" void dotosgwrapper_library_osgTerrain(void) {}

View File

@ -0,0 +1,8 @@
#include <osgDB/Registry>
USE_DOTOSGWRAPPER(Text_Proxy)
USE_DOTOSGWRAPPER(Text3D_Proxy)
USE_DOTOSGWRAPPER(TextBase_Proxy)
extern "C" void dotosgwrapper_library_osgText(void) {}

View File

@ -0,0 +1,8 @@
#include <osgDB/Registry>
USE_DOTOSGWRAPPER(CompositeViewer_Proxy)
USE_DOTOSGWRAPPER(View_Proxy)
USE_DOTOSGWRAPPER(Viewer_Proxy)
extern "C" void dotosgwrapper_library_osgViewer(void) {}

View File

@ -0,0 +1,24 @@
#include <osgDB/Registry>
USE_DOTOSGWRAPPER(CompositeProperty_Proxy)
USE_DOTOSGWRAPPER(FixedFunctionTechnique_Proxy)
USE_DOTOSGWRAPPER(ImageLayer_Proxy)
USE_DOTOSGWRAPPER(Layer_Proxy)
USE_DOTOSGWRAPPER(Locator_Proxy)
USE_DOTOSGWRAPPER(Property_Proxy)
USE_DOTOSGWRAPPER(MaximumImageProjectionProperty_Proxy)
USE_DOTOSGWRAPPER(LightingProperty_Proxy)
USE_DOTOSGWRAPPER(PropertyAdjustmentCallback_Proxy)
USE_DOTOSGWRAPPER(RayTracedTechnique_Proxy)
USE_DOTOSGWRAPPER(ScalarProperty_Proxy)
USE_DOTOSGWRAPPER(IsoSurfaceProperty_Proxy)
USE_DOTOSGWRAPPER(AlphaFuncProperty_Proxy)
USE_DOTOSGWRAPPER(SampleDensityProperty_Proxy)
USE_DOTOSGWRAPPER(TransparencyProperty_Proxy)
USE_DOTOSGWRAPPER(SwitchProperty_Proxy)
USE_DOTOSGWRAPPER(TransferFunctionProperty_Proxy)
USE_DOTOSGWRAPPER(Volume_Proxy)
USE_DOTOSGWRAPPER(VolumeTile_Proxy)
extern "C" void dotosgwrapper_library_osgVolume(void) {}

View File

@ -0,0 +1,15 @@
#include <osgDB/Registry>
USE_DOTOSGWRAPPER(g_osgWidget_BoxProxy)
USE_DOTOSGWRAPPER(g_osgWidget_EmbeddedWindowProxy)
USE_DOTOSGWRAPPER(g_osgWidget_FrameProxy)
USE_DOTOSGWRAPPER(g_osgWidget_InputProxy)
USE_DOTOSGWRAPPER(g_osgWidget_LabelProxy)
USE_DOTOSGWRAPPER(g_osgWidget_TableProxy)
USE_DOTOSGWRAPPER(g_osgWidget_WidgetProxy)
USE_DOTOSGWRAPPER(g_osgWidget_NotifyWidgetProxy)
USE_DOTOSGWRAPPER(g_osgWidget_NullWidgetProxy)
USE_DOTOSGWRAPPER(g_osgWidget_WindowManagerProxy)
extern "C" void dotosgwrapper_library_osgWidget(void) {}

View File

@ -0,0 +1,108 @@
#include <osgDB/Registry>
USE_SERIALIZER_WRAPPER(AlphaFunc)
USE_SERIALIZER_WRAPPER(AnimationPath)
USE_SERIALIZER_WRAPPER(AnimationPathCallback)
USE_SERIALIZER_WRAPPER(AudioSink)
USE_SERIALIZER_WRAPPER(AudioStream)
USE_SERIALIZER_WRAPPER(AutoTransform)
USE_SERIALIZER_WRAPPER(Billboard)
USE_SERIALIZER_WRAPPER(BlendColor)
USE_SERIALIZER_WRAPPER(BlendEquation)
USE_SERIALIZER_WRAPPER(BlendFunc)
USE_SERIALIZER_WRAPPER(Box)
USE_SERIALIZER_WRAPPER(Camera)
USE_SERIALIZER_WRAPPER(CameraView)
USE_SERIALIZER_WRAPPER(Capsule)
USE_SERIALIZER_WRAPPER(ClampColor)
USE_SERIALIZER_WRAPPER(ClearNode)
USE_SERIALIZER_WRAPPER(ClipNode)
USE_SERIALIZER_WRAPPER(ClipPlane)
USE_SERIALIZER_WRAPPER(ClusterCullingCallback)
USE_SERIALIZER_WRAPPER(ColorMask)
USE_SERIALIZER_WRAPPER(ColorMatrix)
USE_SERIALIZER_WRAPPER(CompositeShape)
USE_SERIALIZER_WRAPPER(Cone)
USE_SERIALIZER_WRAPPER(ConvexHull)
USE_SERIALIZER_WRAPPER(ConvexPlanarOccluder)
USE_SERIALIZER_WRAPPER(CoordinateSystemNode)
USE_SERIALIZER_WRAPPER(CullFace)
USE_SERIALIZER_WRAPPER(Cylinder)
USE_SERIALIZER_WRAPPER(Depth)
USE_SERIALIZER_WRAPPER(Drawable)
USE_SERIALIZER_WRAPPER(DrawPixels)
USE_SERIALIZER_WRAPPER(EllipsoidModel)
USE_SERIALIZER_WRAPPER(Fog)
USE_SERIALIZER_WRAPPER(FragmentProgram)
USE_SERIALIZER_WRAPPER(FrontFace)
USE_SERIALIZER_WRAPPER(Geode)
USE_SERIALIZER_WRAPPER(Geometry)
USE_SERIALIZER_WRAPPER(Group)
USE_SERIALIZER_WRAPPER(HeightField)
USE_SERIALIZER_WRAPPER(Hint)
USE_SERIALIZER_WRAPPER(Image)
USE_SERIALIZER_WRAPPER(ImageSequence)
USE_SERIALIZER_WRAPPER(ImageStream)
USE_SERIALIZER_WRAPPER(Light)
USE_SERIALIZER_WRAPPER(LightModel)
USE_SERIALIZER_WRAPPER(LightSource)
USE_SERIALIZER_WRAPPER(LineStipple)
USE_SERIALIZER_WRAPPER(LineWidth)
USE_SERIALIZER_WRAPPER(LOD)
USE_SERIALIZER_WRAPPER(LogicOp)
USE_SERIALIZER_WRAPPER(Material)
USE_SERIALIZER_WRAPPER(MatrixTransform)
USE_SERIALIZER_WRAPPER(Multisample)
USE_SERIALIZER_WRAPPER(Node)
USE_SERIALIZER_WRAPPER(NodeCallback)
USE_SERIALIZER_WRAPPER(NodeTrackerCallback)
USE_SERIALIZER_WRAPPER(Object)
USE_SERIALIZER_WRAPPER(OccluderNode)
USE_SERIALIZER_WRAPPER(OcclusionQueryNode)
USE_SERIALIZER_WRAPPER(PagedLOD)
USE_SERIALIZER_WRAPPER(Point)
USE_SERIALIZER_WRAPPER(PointSprite)
USE_SERIALIZER_WRAPPER(PolygonMode)
USE_SERIALIZER_WRAPPER(PolygonOffset)
USE_SERIALIZER_WRAPPER(PolygonStipple)
USE_SERIALIZER_WRAPPER(PositionAttitudeTransform)
USE_SERIALIZER_WRAPPER(Program)
USE_SERIALIZER_WRAPPER(Projection)
USE_SERIALIZER_WRAPPER(ProxyNode)
USE_SERIALIZER_WRAPPER(Scissor)
USE_SERIALIZER_WRAPPER(Sequence)
USE_SERIALIZER_WRAPPER(ShadeModel)
USE_SERIALIZER_WRAPPER(Shader)
USE_SERIALIZER_WRAPPER(ShaderBinary)
USE_SERIALIZER_WRAPPER(Shape)
USE_SERIALIZER_WRAPPER(ShapeDrawable)
USE_SERIALIZER_WRAPPER(Sphere)
USE_SERIALIZER_WRAPPER(StateAttribute)
USE_SERIALIZER_WRAPPER(StateSet)
USE_SERIALIZER_WRAPPER(Stencil)
USE_SERIALIZER_WRAPPER(StencilTwoSided)
USE_SERIALIZER_WRAPPER(Switch)
USE_SERIALIZER_WRAPPER(TessellationHints)
USE_SERIALIZER_WRAPPER(TexEnv)
USE_SERIALIZER_WRAPPER(TexEnvCombine)
USE_SERIALIZER_WRAPPER(TexEnvFilter)
USE_SERIALIZER_WRAPPER(TexGen)
USE_SERIALIZER_WRAPPER(TexGenNode)
USE_SERIALIZER_WRAPPER(TexMat)
USE_SERIALIZER_WRAPPER(Texture)
USE_SERIALIZER_WRAPPER(Texture1D)
USE_SERIALIZER_WRAPPER(Texture2D)
USE_SERIALIZER_WRAPPER(Texture2DArray)
USE_SERIALIZER_WRAPPER(Texture3D)
USE_SERIALIZER_WRAPPER(TextureCubeMap)
USE_SERIALIZER_WRAPPER(TextureRectangle)
USE_SERIALIZER_WRAPPER(TransferFunction)
USE_SERIALIZER_WRAPPER(TransferFunction1D)
USE_SERIALIZER_WRAPPER(Transform)
USE_SERIALIZER_WRAPPER(TriangleMesh)
USE_SERIALIZER_WRAPPER(Uniform)
USE_SERIALIZER_WRAPPER(VertexProgram)
USE_SERIALIZER_WRAPPER(Viewport)
extern "C" void wrapper_serializer_library_osg(void) {}

View File

@ -0,0 +1,30 @@
#include <osgDB/Registry>
USE_SERIALIZER_WRAPPER(osgAnimation_Action)
USE_SERIALIZER_WRAPPER(osgAnimation_ActionAnimation)
USE_SERIALIZER_WRAPPER(osgAnimation_ActionBlendIn)
USE_SERIALIZER_WRAPPER(osgAnimation_ActionBlendOut)
USE_SERIALIZER_WRAPPER(osgAnimation_ActionStripAnimation)
USE_SERIALIZER_WRAPPER(osgAnimation_Animation)
USE_SERIALIZER_WRAPPER(osgAnimation_AnimationManagerBase)
USE_SERIALIZER_WRAPPER(osgAnimation_BasicAnimationManager)
USE_SERIALIZER_WRAPPER(osgAnimation_Bone)
USE_SERIALIZER_WRAPPER(osgAnimation_MorphGeometry)
USE_SERIALIZER_WRAPPER(osgAnimation_RigGeometry)
USE_SERIALIZER_WRAPPER(osgAnimation_Skeleton)
USE_SERIALIZER_WRAPPER(osgAnimation_StackedMatrixElement)
USE_SERIALIZER_WRAPPER(osgAnimation_StackedQuaternionElement)
USE_SERIALIZER_WRAPPER(osgAnimation_StackedRotateAxisElement)
USE_SERIALIZER_WRAPPER(osgAnimation_StackedScaleElement)
USE_SERIALIZER_WRAPPER(osgAnimation_StackedTransformElement)
USE_SERIALIZER_WRAPPER(osgAnimation_StackedTranslateElement)
USE_SERIALIZER_WRAPPER(osgAnimation_Timeline)
USE_SERIALIZER_WRAPPER(osgAnimation_TimelineAnimationManager)
USE_SERIALIZER_WRAPPER(osgAnimation_UpdateBone)
USE_SERIALIZER_WRAPPER(osgAnimation_UpdateMaterial)
USE_SERIALIZER_WRAPPER(osgAnimation_UpdateMatrixTransform)
USE_SERIALIZER_WRAPPER(osgAnimation_UpdateMorph)
USE_SERIALIZER_WRAPPER(osgAnimation_UpdateSkeleton)
extern "C" void wrapper_serializer_library_osgAnimation(void) {}

View File

@ -0,0 +1,13 @@
#include <osgDB/Registry>
USE_SERIALIZER_WRAPPER(osgFX_AnisotropicLighting)
USE_SERIALIZER_WRAPPER(osgFX_BumpMapping)
USE_SERIALIZER_WRAPPER(osgFX_Cartoon)
USE_SERIALIZER_WRAPPER(osgFX_Effect)
USE_SERIALIZER_WRAPPER(osgFX_MultiTextureControl)
USE_SERIALIZER_WRAPPER(osgFX_Outline)
USE_SERIALIZER_WRAPPER(osgFX_Scribe)
USE_SERIALIZER_WRAPPER(osgFX_SpecularHighlights)
extern "C" void wrapper_serializer_library_osgFX(void) {}

View File

@ -0,0 +1,22 @@
#include <osgDB/Registry>
USE_SERIALIZER_WRAPPER(osgManipulator_AntiSquish)
USE_SERIALIZER_WRAPPER(osgManipulator_CompositeDragger)
USE_SERIALIZER_WRAPPER(osgManipulator_Dragger)
USE_SERIALIZER_WRAPPER(osgManipulator_RotateCylinderDragger)
USE_SERIALIZER_WRAPPER(osgManipulator_RotateSphereDragger)
USE_SERIALIZER_WRAPPER(osgManipulator_Scale1DDragger)
USE_SERIALIZER_WRAPPER(osgManipulator_Scale2DDragger)
USE_SERIALIZER_WRAPPER(osgManipulator_ScaleAxisDragger)
USE_SERIALIZER_WRAPPER(osgManipulator_TabBoxDragger)
USE_SERIALIZER_WRAPPER(osgManipulator_TabBoxTrackballDragger)
USE_SERIALIZER_WRAPPER(osgManipulator_TabPlaneDragger)
USE_SERIALIZER_WRAPPER(osgManipulator_TabPlaneTrackballDragger)
USE_SERIALIZER_WRAPPER(osgManipulator_TrackballDragger)
USE_SERIALIZER_WRAPPER(osgManipulator_Translate1DDragger)
USE_SERIALIZER_WRAPPER(osgManipulator_Translate2DDragger)
USE_SERIALIZER_WRAPPER(osgManipulator_TranslateAxisDragger)
USE_SERIALIZER_WRAPPER(osgManipulator_TranslatePlaneDragger)
extern "C" void wrapper_serializer_library_osgManipulator(void) {}

View File

@ -0,0 +1,41 @@
#include <osgParticle/CompositePlacer>
#include <osgDB/ObjectWrapper>
#include <osgDB/InputStream>
#include <osgDB/OutputStream>
static bool checkPlacers( const osgParticle::CompositePlacer& cp )
{
return cp.getNumPlacers()>0;
}
static bool readPlacers( osgDB::InputStream& is, osgParticle::CompositePlacer& cp )
{
unsigned int size = 0; is >> size >> osgDB::BEGIN_BRACKET;
for ( unsigned int i=0; i<size; ++i )
{
osgParticle::Placer* p = dynamic_cast<osgParticle::Placer*>( is.readObject() );
if ( p ) cp.addPlacer( p );
}
is >> osgDB::END_BRACKET;
return true;
}
static bool writePlacers( osgDB::OutputStream& os, const osgParticle::CompositePlacer& cp )
{
unsigned int size = cp.getNumPlacers();
os << size << osgDB::BEGIN_BRACKET << std::endl;
for ( unsigned int i=0; i<size; ++i )
{
os << cp.getPlacer(i);
}
os << osgDB::END_BRACKET << std::endl;
return true;
}
REGISTER_OBJECT_WRAPPER( osgParticleCompositePlacer,
new osgParticle::CompositePlacer,
osgParticle::CompositePlacer,
"osg::Object osgParticle::Placer osgParticle::CompositePlacer" )
{
ADD_USER_SERIALIZER( Placers ); // _placers
}

View File

@ -0,0 +1,49 @@
#include <osgDB/Registry>
USE_SERIALIZER_WRAPPER(osgParticleAccelOperator)
USE_SERIALIZER_WRAPPER(osgParticleAngularAccelOperator)
USE_SERIALIZER_WRAPPER(osgParticleAngularDampingOperator)
USE_SERIALIZER_WRAPPER(osgParticleBounceOperator)
USE_SERIALIZER_WRAPPER(osgParticleBoxPlacer)
USE_SERIALIZER_WRAPPER(osgParticleCenteredPlacer)
USE_SERIALIZER_WRAPPER(osgParticleCompositePlacer)
USE_SERIALIZER_WRAPPER(osgParticleConnectedParticleSystem)
USE_SERIALIZER_WRAPPER(osgParticleConstantRateCounter)
USE_SERIALIZER_WRAPPER(osgParticleCounter)
USE_SERIALIZER_WRAPPER(osgParticleDampingOperator)
USE_SERIALIZER_WRAPPER(osgParticleDomainOperator)
USE_SERIALIZER_WRAPPER(osgParticleEmitter)
USE_SERIALIZER_WRAPPER(osgParticleExplosionDebrisEffect)
USE_SERIALIZER_WRAPPER(osgParticleExplosionEffect)
USE_SERIALIZER_WRAPPER(osgParticleExplosionOperator)
USE_SERIALIZER_WRAPPER(osgParticleFireEffect)
USE_SERIALIZER_WRAPPER(osgParticleFluidFrictionOperator)
USE_SERIALIZER_WRAPPER(osgParticleFluidProgram)
USE_SERIALIZER_WRAPPER(osgParticleForceOperator)
USE_SERIALIZER_WRAPPER(osgParticleInterpolator)
USE_SERIALIZER_WRAPPER(osgParticleLinearInterpolator)
USE_SERIALIZER_WRAPPER(osgParticleModularEmitter)
USE_SERIALIZER_WRAPPER(osgParticleModularProgram)
USE_SERIALIZER_WRAPPER(osgParticleMultiSegmentPlacer)
USE_SERIALIZER_WRAPPER(osgParticleOperator)
USE_SERIALIZER_WRAPPER(osgParticleOrbitOperator)
USE_SERIALIZER_WRAPPER(osgParticleParticleEffect)
USE_SERIALIZER_WRAPPER(osgParticleParticleProcessor)
USE_SERIALIZER_WRAPPER(osgParticleParticleSystem)
USE_SERIALIZER_WRAPPER(osgParticleParticleSystemUpdater)
USE_SERIALIZER_WRAPPER(osgParticlePlacer)
USE_SERIALIZER_WRAPPER(osgParticlePointPlacer)
USE_SERIALIZER_WRAPPER(osgParticlePrecipitationEffect)
USE_SERIALIZER_WRAPPER(osgParticleProgram)
USE_SERIALIZER_WRAPPER(osgParticleRadialShooter)
USE_SERIALIZER_WRAPPER(osgParticleRandomRateCounter)
USE_SERIALIZER_WRAPPER(osgParticleSectorPlacer)
USE_SERIALIZER_WRAPPER(osgParticleSegmentPlacer)
USE_SERIALIZER_WRAPPER(osgParticleShooter)
USE_SERIALIZER_WRAPPER(osgParticleSinkOperator)
USE_SERIALIZER_WRAPPER(osgParticleSmokeEffect)
USE_SERIALIZER_WRAPPER(osgParticleSmokeTrailEffect)
USE_SERIALIZER_WRAPPER(osgParticleVariableRateCounter)
extern "C" void wrapper_serializer_library_osgParticle(void) {}

View File

@ -0,0 +1,21 @@
#include <osgDB/Registry>
USE_SERIALIZER_WRAPPER(osgShadow_DebugShadowMap)
USE_SERIALIZER_WRAPPER(osgShadow_LightSpacePerspectiveShadowMapCB)
USE_SERIALIZER_WRAPPER(osgShadow_LightSpacePerspectiveShadowMapDB)
USE_SERIALIZER_WRAPPER(osgShadow_LightSpacePerspectiveShadowMapVB)
USE_SERIALIZER_WRAPPER(osgShadow_MinimalCullBoundsShadowMap)
USE_SERIALIZER_WRAPPER(osgShadow_MinimalDrawBoundsShadowMap)
USE_SERIALIZER_WRAPPER(osgShadow_MinimalShadowMap)
USE_SERIALIZER_WRAPPER(osgShadow_ParallelSplitShadowMap)
USE_SERIALIZER_WRAPPER(osgShadow_ShadowedScene)
USE_SERIALIZER_WRAPPER(osgShadow_ShadowMap)
USE_SERIALIZER_WRAPPER(osgShadow_ShadowTechnique)
USE_SERIALIZER_WRAPPER(osgShadow_ShadowTexture)
USE_SERIALIZER_WRAPPER(osgShadow_ShadowVolume)
USE_SERIALIZER_WRAPPER(osgShadow_SoftShadowMap)
USE_SERIALIZER_WRAPPER(osgShadow_StandardShadowMap)
USE_SERIALIZER_WRAPPER(osgShadow_ViewDependentShadowTechnique)
extern "C" void wrapper_serializer_library_osgShadow(void) {}

View File

@ -0,0 +1,24 @@
#include <osgDB/Registry>
USE_SERIALIZER_WRAPPER(osgSim_AzimElevationSector)
USE_SERIALIZER_WRAPPER(osgSim_AzimSector)
USE_SERIALIZER_WRAPPER(osgSim_BlinkSequence)
USE_SERIALIZER_WRAPPER(osgSim_ConeSector)
USE_SERIALIZER_WRAPPER(osgSim_DirectionalSector)
USE_SERIALIZER_WRAPPER(osgSim_DOFTransform)
USE_SERIALIZER_WRAPPER(osgSim_ElevationSector)
USE_SERIALIZER_WRAPPER(osgSim_Impostor)
USE_SERIALIZER_WRAPPER(osgSim_LightPointNode)
USE_SERIALIZER_WRAPPER(osgSim_LightPointSystem)
USE_SERIALIZER_WRAPPER(osgSim_MultiSwitch)
USE_SERIALIZER_WRAPPER(osgSim_ObjectRecordData)
USE_SERIALIZER_WRAPPER(osgSim_OverlayNode)
USE_SERIALIZER_WRAPPER(osgSim_ScalarBar)
USE_SERIALIZER_WRAPPER(osgSim_Sector)
USE_SERIALIZER_WRAPPER(osgSim_SequenceGroup)
USE_SERIALIZER_WRAPPER(osgSim_ShapeAttributeList)
USE_SERIALIZER_WRAPPER(osgSim_SphereSegment)
USE_SERIALIZER_WRAPPER(osgSim_VisibilityGroup)
extern "C" void wrapper_serializer_library_osgSim(void) {}

View File

@ -0,0 +1,17 @@
#include <osgDB/Registry>
USE_SERIALIZER_WRAPPER(osgTerrain_CompositeLayer)
USE_SERIALIZER_WRAPPER(osgTerrain_ContourLayer)
USE_SERIALIZER_WRAPPER(osgTerrain_GeometryTechnique)
USE_SERIALIZER_WRAPPER(osgTerrain_HeightFieldLayer)
USE_SERIALIZER_WRAPPER(osgTerrain_ImageLayer)
USE_SERIALIZER_WRAPPER(osgTerrain_Layer)
USE_SERIALIZER_WRAPPER(osgTerrain_Locator)
USE_SERIALIZER_WRAPPER(osgTerrain_ProxyLayer)
USE_SERIALIZER_WRAPPER(osgTerrain_SwitchLayer)
USE_SERIALIZER_WRAPPER(osgTerrain_Terrain)
USE_SERIALIZER_WRAPPER(osgTerrain_TerrainTechnique)
USE_SERIALIZER_WRAPPER(osgTerrain_TerrainTile)
extern "C" void wrapper_serializer_library_osgTerrain(void) {}

View File

@ -0,0 +1,9 @@
#include <osgDB/Registry>
USE_SERIALIZER_WRAPPER(osgText_FadeText)
USE_SERIALIZER_WRAPPER(osgText_Text)
USE_SERIALIZER_WRAPPER(osgText_Text3D)
USE_SERIALIZER_WRAPPER(osgText_TextBase)
extern "C" void wrapper_serializer_library_osgText(void) {}

View File

@ -0,0 +1,27 @@
#include <osgDB/Registry>
USE_SERIALIZER_WRAPPER(osgVolume_AlphaFuncProperty)
USE_SERIALIZER_WRAPPER(osgVolume_CompositeLayer)
USE_SERIALIZER_WRAPPER(osgVolume_CompositeProperty)
USE_SERIALIZER_WRAPPER(osgVolume_FixedFunctionTechnique)
USE_SERIALIZER_WRAPPER(osgVolume_ImageDetails)
USE_SERIALIZER_WRAPPER(osgVolume_ImageLayer)
USE_SERIALIZER_WRAPPER(osgVolume_IsoSurfaceProperty)
USE_SERIALIZER_WRAPPER(osgVolume_Layer)
USE_SERIALIZER_WRAPPER(osgVolume_LightingProperty)
USE_SERIALIZER_WRAPPER(osgVolume_Locator)
USE_SERIALIZER_WRAPPER(osgVolume_MaximumIntensityProjectionProperty)
USE_SERIALIZER_WRAPPER(osgVolume_Property)
USE_SERIALIZER_WRAPPER(osgVolume_PropertyAdjustmentCallback)
USE_SERIALIZER_WRAPPER(osgVolume_RayTracedTechnique)
USE_SERIALIZER_WRAPPER(osgVolume_SampleDensityProperty)
USE_SERIALIZER_WRAPPER(osgVolume_ScalarProperty)
USE_SERIALIZER_WRAPPER(osgVolume_SwitchProperty)
USE_SERIALIZER_WRAPPER(osgVolume_TransferFunctionProperty)
USE_SERIALIZER_WRAPPER(osgVolume_TransparencyProperty)
USE_SERIALIZER_WRAPPER(osgVolume_Volume)
USE_SERIALIZER_WRAPPER(osgVolume_VolumeTechnique)
USE_SERIALIZER_WRAPPER(osgVolume_VolumeTile)
extern "C" void wrapper_serializer_library_osgVolume(void) {}