ObjectWrapper File Reference
`#include <OpenThreads/ReentrantMutex>`
`#include <osgDB/Serializer>`
`#include <osg/ScriptEngine>`

Go to the source code of this file.

## Classes

struct | osgDB::MethodObject
class | osgDB::BaseCompressor
struct | osgDB::FinishedObjectReadCallback
struct | osgDB::ObjectWrapperAssociate
class | osgDB::ObjectWrapper
struct | osgDB::UpdateWrapperVersionProxy
class | osgDB::ObjectWrapperManager
class | osgDB::RegisterWrapperProxy
class | osgDB::RegisterCustomWrapperProxy
class | osgDB::RegisterCompressorProxy

## Namespaces

namespace | osgDB

## Macros

#define | OSGDB_OBJECTWRAPPER
#define | REGISTER_OBJECT_WRAPPER(NAME, CREATEINSTANCE, CLASS, ASSOCIATES)
#define | REGISTER_OBJECT_WRAPPER2(NAME, CREATEINSTANCE, CLASS, CLASSNAME, ASSOCIATES)
#define | REGISTER_CUSTOM_OBJECT_WRAPPER(DOMAIN, NAME, CREATEINSTANCE, CLASS, ASSOCIATES)
#define | REGISTER_CUSTOM_OBJECT_WRAPPER2(DOMAIN, NAME, CREATEINSTANCE, CLASS, CLASSNAME, ASSOCIATES)
#define | REGISTER_COMPRESSOR(NAME, CLASS)

## Macro Definition Documentation

## OSGDB_OBJECTWRAPPER

#define OSGDB_OBJECTWRAPPER

## REGISTER_COMPRESSOR

#define REGISTER_COMPRESSOR | ( |  | NAME,
|  |  | CLASS )

Value:
extern "C" void wrapper_compressor_##CLASS(void) {} \
static osgDB::RegisterCompressorProxy compressor_proxy_##CLASS(NAME, new CLASS);
osgDB::RegisterCompressorProxy
Definition ObjectWrapper:273

## REGISTER_CUSTOM_OBJECT_WRAPPER

#define REGISTER_CUSTOM_OBJECT_WRAPPER | ( |  | DOMAIN,
|  |  | NAME,
|  |  | CREATEINSTANCE,
|  |  | CLASS,
|  |  | ASSOCIATES )

Value:
extern "C" void wrapper_serializer_##NAME(void) {} \
extern void wrapper_propfunc_##NAME(const char*, osgDB::ObjectWrapper*); \
static osg::Object* wrapper_createinstancefunc##NAME() { return CREATEINSTANCE; } \
static osgDB::RegisterCustomWrapperProxy wrapper_proxy_##NAME( \
wrapper_createinstancefunc##NAME, #DOMAIN, #CLASS, ASSOCIATES, &wrapper_propfunc_##NAME); \
typedef CLASS MyClass; \
void wrapper_propfunc_##NAME(const char* domain, osgDB::ObjectWrapper* wrapper)
osgDB::ObjectWrapper
Definition ObjectWrapper:62
osg::Object
Definition Object:61

## REGISTER_CUSTOM_OBJECT_WRAPPER2

#define REGISTER_CUSTOM_OBJECT_WRAPPER2 | ( |  | DOMAIN,
|  |  | NAME,
|  |  | CREATEINSTANCE,
|  |  | CLASS,
|  |  | CLASSNAME,
|  |  | ASSOCIATES )

Value:
extern "C" void wrapper_serializer_##NAME(void) {} \
extern void wrapper_propfunc_##NAME(const char*, osgDB::ObjectWrapper*); \
static osg::Object* wrapper_createinstancefunc##NAME() { return CREATEINSTANCE; } \
static osgDB::RegisterCustomWrapperProxy wrapper_proxy_##NAME( \
wrapper_createinstancefunc##NAME, #DOMAIN, CLASSNAME, ASSOCIATES, &wrapper_propfunc_##NAME); \
typedef CLASS MyClass; \
void wrapper_propfunc_##NAME(const char* domain, osgDB::ObjectWrapper* wrapper)

## REGISTER_OBJECT_WRAPPER

#define REGISTER_OBJECT_WRAPPER | ( |  | NAME,
|  |  | CREATEINSTANCE,
|  |  | CLASS,
|  |  | ASSOCIATES )

Value:
extern "C" void wrapper_serializer_##NAME(void) {} \
extern void wrapper_propfunc_##NAME(osgDB::ObjectWrapper*); \
static osg::Object* wrapper_createinstancefunc##NAME() { return CREATEINSTANCE; } \
static osgDB::RegisterWrapperProxy wrapper_proxy_##NAME( \
wrapper_createinstancefunc##NAME, #CLASS, ASSOCIATES, &wrapper_propfunc_##NAME); \
typedef CLASS MyClass; \
void wrapper_propfunc_##NAME(osgDB::ObjectWrapper* wrapper)

## REGISTER_OBJECT_WRAPPER2

#define REGISTER_OBJECT_WRAPPER2 | ( |  | NAME,
|  |  | CREATEINSTANCE,
|  |  | CLASS,
|  |  | CLASSNAME,
|  |  | ASSOCIATES )

Value:
extern "C" void wrapper_serializer_##NAME(void) {} \
extern void wrapper_propfunc_##NAME(osgDB::ObjectWrapper*); \
static osg::Object* wrapper_createinstancefunc##NAME() { return CREATEINSTANCE; } \
static osgDB::RegisterWrapperProxy wrapper_proxy_##NAME( \
wrapper_createinstancefunc##NAME, CLASSNAME, ASSOCIATES, &wrapper_propfunc_##NAME); \
typedef CLASS MyClass; \
void wrapper_propfunc_##NAME(osgDB::ObjectWrapper* wrapper)