Пример #1
0
 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;
     }
 }
Пример #2
0
    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;
        }

    }
Пример #3
0
 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);
     }
 }
Пример #4
0
 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);
     }
 }