Updated wrappers

This commit is contained in:
Robert Osfield
2010-02-18 22:17:35 +00:00
parent 424183dd0e
commit ee09e94559
3 changed files with 89 additions and 3 deletions

View File

@@ -10,6 +10,7 @@
#include <osgIntrospection/StaticMethodInfo>
#include <osgIntrospection/Attributes>
#include <OpenThreads/Mutex>
#include <osg/Observer>
// Must undefine IN and OUT macros defined in Windows headers
@@ -25,6 +26,11 @@ BEGIN_VALUE_REFLECTOR(osg::Observer)
I_Constructor0(____Observer,
"",
"");
I_Method0(OpenThreads::Mutex *, getObserverMutex,
Properties::NON_VIRTUAL,
__OpenThreads_Mutex_P1__getObserverMutex,
"",
"");
I_Method1(bool, objectUnreferenced, IN, void *, x,
Properties::VIRTUAL,
__bool__objectUnreferenced__void_P1,
@@ -35,5 +41,64 @@ BEGIN_VALUE_REFLECTOR(osg::Observer)
__void__objectDeleted__void_P1,
"objectDeleted is called when the observed object is about to be deleted. ",
"The observer will be automatically removed from the observerd objects observer set so there is no need for the objectDeleted implementation to call removeObserver() on the observed object. ");
I_StaticMethod0(OpenThreads::Mutex *, getGlobalObserverMutex,
__OpenThreads_Mutex_P1__getGlobalObserverMutex_S,
"Get the optional global observer mutex, this can be shared between all osg::Observer. ",
"");
I_SimpleProperty(OpenThreads::Mutex *, ObserverMutex,
__OpenThreads_Mutex_P1__getObserverMutex,
0);
END_REFLECTOR
TYPE_NAME_ALIAS(std::set< osg::Observer * >, osg::ObserverSet::Observers)
BEGIN_VALUE_REFLECTOR(osg::ObserverSet)
I_DeclaringFile("osg/Observer");
I_Constructor0(____ObserverSet,
"",
"");
I_Method0(OpenThreads::Mutex *, getObserverSetMutex,
Properties::NON_VIRTUAL,
__OpenThreads_Mutex_P1__getObserverSetMutex,
"",
"");
I_Method1(void, addObserver, IN, osg::Observer *, observer,
Properties::NON_VIRTUAL,
__void__addObserver__Observer_P1,
"",
"");
I_Method1(void, removeObserver, IN, osg::Observer *, observer,
Properties::NON_VIRTUAL,
__void__removeObserver__Observer_P1,
"",
"");
I_Method1(void, signalObjectUnreferenced, IN, void *, ptr,
Properties::NON_VIRTUAL,
__void__signalObjectUnreferenced__void_P1,
"",
"");
I_Method1(void, signalObjectDeleted, IN, void *, ptr,
Properties::NON_VIRTUAL,
__void__signalObjectDeleted__void_P1,
"",
"");
I_Method0(osg::ObserverSet::Observers &, getObservers,
Properties::NON_VIRTUAL,
__Observers_R1__getObservers,
"",
"");
I_Method0(const osg::ObserverSet::Observers &, getObservers,
Properties::NON_VIRTUAL,
__C5_Observers_R1__getObservers,
"",
"");
I_SimpleProperty(OpenThreads::Mutex *, ObserverSetMutex,
__OpenThreads_Mutex_P1__getObserverSetMutex,
0);
I_SimpleProperty(osg::ObserverSet::Observers &, Observers,
__Observers_R1__getObservers,
0);
END_REFLECTOR
STD_SET_REFLECTOR(std::set< osg::Observer * >)

View File

@@ -42,6 +42,11 @@ BEGIN_OBJECT_REFLECTOR(osg::ObserverNodePath)
__bool__valid,
"",
"");
I_Method1(void, setNodePathTo, IN, osg::Node *, node,
Properties::NON_VIRTUAL,
__void__setNodePathTo__osg_Node_P1,
"get the NodePath from the first parental chain back to root, plus the specified node. ",
"");
I_Method1(void, setNodePath, IN, const osg::RefNodePath &, nodePath,
Properties::NON_VIRTUAL,
__void__setNodePath__C5_osg_RefNodePath_R1,
@@ -60,13 +65,13 @@ BEGIN_OBJECT_REFLECTOR(osg::ObserverNodePath)
I_Method1(bool, getRefNodePath, IN, osg::RefNodePath &, refNodePath,
Properties::NON_VIRTUAL,
__bool__getRefNodePath__RefNodePath_R1,
"Get a thread safe RefNodePath. ",
"Get a thread safe RefNodePath, return true if NodePath is valid. ",
"");
I_Method1(bool, getNodePath, IN, osg::NodePath &, nodePath,
Properties::NON_VIRTUAL,
__bool__getNodePath__NodePath_R1,
"Get a lightweight NodePath that isn't thread safe but may be safely used in single threaded applications, or when its known that the NodePath won't be invalidated during usage of the NodePath. ",
"");
"return true if NodePath is valid. ");
I_ProtectedMethod1(void, _setNodePath, IN, const osg::NodePath &, nodePath,
Properties::NON_VIRTUAL,
Properties::NON_CONST,
@@ -88,6 +93,9 @@ BEGIN_OBJECT_REFLECTOR(osg::ObserverNodePath)
I_SimpleProperty(const osg::RefNodePath &, NodePath,
0,
__void__setNodePath__C5_osg_RefNodePath_R1);
I_SimpleProperty(osg::Node *, NodePathTo,
0,
__void__setNodePathTo__osg_Node_P1);
END_REFLECTOR
TYPE_NAME_ALIAS(std::list< osg::ref_ptr< osg::Node > >, osg::RefNodePath)

View File

@@ -73,6 +73,16 @@ BEGIN_OBJECT_REFLECTOR(osg::Referenced)
__int__referenceCount,
"Return the number pointers currently referencing this object. ",
"");
I_Method0(osg::ObserverSet *, getObserverSet,
Properties::NON_VIRTUAL,
__ObserverSet_P1__getObserverSet,
"Get the ObserverSet if one is attached, otherwise return NULL. ",
"");
I_Method0(osg::ObserverSet *, getOrCreateObserverSet,
Properties::NON_VIRTUAL,
__ObserverSet_P1__getOrCreateObserverSet,
"Get the ObserverSet if one is attached, otherwise create an ObserverSet, attach it, then return this newly created ObserverSet. ",
"");
I_Method1(void, addObserver, IN, osg::Observer *, observer,
Properties::NON_VIRTUAL,
__void__addObserver__Observer_P1,
@@ -81,7 +91,7 @@ BEGIN_OBJECT_REFLECTOR(osg::Referenced)
I_Method1(void, removeObserver, IN, osg::Observer *, observer,
Properties::NON_VIRTUAL,
__void__removeObserver__Observer_P1,
"Add a Observer that is observing this object, notify the Observer when this object gets deleted. ",
"remove Observer that is observing this object. ",
"");
I_StaticMethod0(OpenThreads::Mutex *, getGlobalReferencedMutex,
__OpenThreads_Mutex_P1__getGlobalReferencedMutex_S,
@@ -115,6 +125,9 @@ BEGIN_OBJECT_REFLECTOR(osg::Referenced)
__void__deleteUsingDeleteHandler,
"",
"");
I_SimpleProperty(osg::ObserverSet *, ObserverSet,
__ObserverSet_P1__getObserverSet,
0);
I_SimpleProperty(OpenThreads::Mutex *, RefMutex,
__OpenThreads_Mutex_P1__getRefMutex,
0);