diff --git a/include/osg/Switch b/include/osg/Switch index 4ca9e7052..017663c04 100644 --- a/include/osg/Switch +++ b/include/osg/Switch @@ -49,6 +49,8 @@ class OSG_EXPORT Switch : public Group virtual bool insertChild( unsigned int index, Node *child, bool value ); + virtual bool removeChild( Node *child ); + virtual bool removeChild(unsigned int pos,unsigned int numChildrenToRemove=1); diff --git a/src/osg/Switch.cpp b/src/osg/Switch.cpp index c6be0de3c..d8df1a077 100644 --- a/src/osg/Switch.cpp +++ b/src/osg/Switch.cpp @@ -99,6 +99,11 @@ bool Switch::insertChild( unsigned int index, Node *child, bool value ) return false; } +bool Switch::removeChild( Node *child ) +{ + removeChild( getChildIndex(child) ); +} + bool Switch::removeChild(unsigned int pos,unsigned int numChildrenToRemove) { if (pos>=_values.size() || numChildrenToRemove==0) return false; diff --git a/src/osgWrappers/osg/Switch.cpp b/src/osgWrappers/osg/Switch.cpp index fabd82a05..4cfe09a78 100644 --- a/src/osgWrappers/osg/Switch.cpp +++ b/src/osgWrappers/osg/Switch.cpp @@ -43,6 +43,7 @@ BEGIN_OBJECT_REFLECTOR(osg::Switch) I_Method2(bool, addChild, IN, osg::Node *, child, IN, bool, value); I_Method2(bool, insertChild, IN, unsigned int, index, IN, osg::Node *, child); I_Method3(bool, insertChild, IN, unsigned int, index, IN, osg::Node *, child, IN, bool, value); + I_Method1(bool, removeChild, IN, osg::Node *, child); I_MethodWithDefaults2(bool, removeChild, IN, unsigned int, pos, , IN, unsigned int, numChildrenToRemove, 1); I_Method2(void, setValue, IN, unsigned int, pos, IN, bool, value); I_Method1(bool, getValue, IN, unsigned int, pos);