예제 #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 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);
     }
 }