virtual void reset(SlideEventHandler*) { osg::NodeCallback* nc = dynamic_cast<osg::NodeCallback*>(_callback.get()); osg::AnimationPathCallback* apc = dynamic_cast<osg::AnimationPathCallback*>(_callback.get()); osgUtil::TransformCallback* tc = dynamic_cast<osgUtil::TransformCallback*>(_callback.get()); AnimationMaterialCallback* amc = dynamic_cast<AnimationMaterialCallback*>(_callback.get()); PropertyAnimation* pa = dynamic_cast<PropertyAnimation*>(_callback.get()); if (apc) { apc->reset(); apc->update(*_node); } else if (tc) { } else if (amc) { amc->reset(); amc->update(*_node); } else if (pa) { pa->reset(); pa->update(*_node); } else { OSG_INFO<<"Need to reset callback : "<<nc->className()<<std::endl; } }
virtual void reset() { osg::AnimationPathCallback* apc = dynamic_cast<osg::AnimationPathCallback*>(_callback.get()); osgUtil::TransformCallback* tc = dynamic_cast<osgUtil::TransformCallback*>(_callback.get()); AnimationMaterialCallback* amc = dynamic_cast<AnimationMaterialCallback*>(_callback.get()); if (apc) { apc->reset(); apc->update(*_node); } if (tc) { } if (amc) { amc->reset(); amc->update(*_node); } }