From f91efb7f310bfbde0a6f93f89b42e28c02353e53 Mon Sep 17 00:00:00 2001 From: Robert Osfield Date: Sat, 23 Apr 2005 10:41:30 +0000 Subject: [PATCH] Added missing bodes of Uniform::operator = and setEvent/UpdateCallback in StateSet. --- include/osg/Uniform | 4 ++-- src/osg/StateSet.cpp | 45 ++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 47 insertions(+), 2 deletions(-) diff --git a/include/osg/Uniform b/include/osg/Uniform index 7c74f3482..41e992d86 100644 --- a/include/osg/Uniform +++ b/include/osg/Uniform @@ -198,7 +198,7 @@ class OSG_EXPORT Uniform : public Object virtual int compare(const Uniform& rhs) const; virtual int compareData(const Uniform& rhs) const; - virtual bool operator < (const Uniform& rhs) const { return (compare(rhs) == -1); } + virtual bool operator < (const Uniform& rhs) const { return (compare(rhs) == -1); } void copyData( const Uniform& rhs ); @@ -276,7 +276,7 @@ class OSG_EXPORT Uniform : public Object protected: virtual ~Uniform() {} - Uniform& operator=(const Uniform&); // disallowed + Uniform& operator=(const Uniform&) { return *this; } // disallowed bool isCompatibleType( Type t ) const; diff --git a/src/osg/StateSet.cpp b/src/osg/StateSet.cpp index ba03c29bb..87d618798 100644 --- a/src/osg/StateSet.cpp +++ b/src/osg/StateSet.cpp @@ -1081,3 +1081,48 @@ const StateSet::RefAttributePair* StateSet::getAttributePair(const AttributeList +void StateSet::setUpdateCallback(Callback* ac) +{ + if (_updateCallback==ac) return; + + int delta = 0; + if (_updateCallback.valid()) --delta; + if (ac) ++delta; + + _updateCallback = ac; + + if (delta!=0) + { +#if 0 + for(ParentList::iterator itr=_parents.begin(); + itr!=_parents.end(); + ++itr) + { + (*itr)->setNumChildrenRequiringUpdateTraversal((*itr)->getNumChildrenRequiringUpdateTraversal()+delta); + } +#endif + } +} + +void StateSet::setEventCallback(Callback* ac) +{ + if (_eventCallback==ac) return; + + int delta = 0; + if (_eventCallback.valid()) --delta; + if (ac) ++delta; + + _eventCallback = ac; + + if (delta!=0) + { +#if 0 + for(ParentList::iterator itr=_parents.begin(); + itr!=_parents.end(); + ++itr) + { + (*itr)->setNumChildrenRequiringEventTraversal((*itr)->getNumChildrenRequiringEventTraversal()+delta); + } +#endif + } +}