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 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 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); } }
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); } }