virtual void setPause(SlideEventHandler*, bool pause) { 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) { OSG_INFO<<"apc->setPause("<<pause<<")"<<std::endl; apc->setPause(pause); } else if (tc) { OSG_INFO<<"tc->setPause("<<pause<<")"<<std::endl; tc->setPause(pause); } else if (amc) { OSG_INFO<<"amc->setPause("<<pause<<")"<<std::endl; amc->setPause(pause); } else if (pa) { pa->setPause(pause); } else if (nc) { OSG_INFO<<"Need to pause callback : "<<nc->className()<<std::endl; } }
virtual void setPause(bool pause) { 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) { OSG_INFO<<"apc->setPause("<<pause<<")"<<std::endl; apc->setPause(pause); } if (tc) { OSG_INFO<<"tc->setPause("<<pause<<")"<<std::endl; tc->setPause(pause); } if (amc) { OSG_INFO<<"amc->setPause("<<pause<<")"<<std::endl; amc->setPause(pause); } }