b6ab5bbe27
Update Timeline.cpp to add current layer to the ActionVisitor, use correctly the priority Add accessors in Action.cpp to retrieve protected data Split files and rename them to classname Change de default color of UpdateMaterial to FFOOFF to detect unset value Add accessors in LinkVisitor instead of accessing data directly Update osganimationtimeline example to fit the api callback
57 lines
1.7 KiB
C++
57 lines
1.7 KiB
C++
/* -*-c++-*-
|
|
* Copyright (C) 2008 Cedric Pinson <cedric.pinson@plopbyte.net>
|
|
*
|
|
* This library is open source and may be redistributed and/or modified under
|
|
* the terms of the OpenSceneGraph Public License (OSGPL) version 0.0 or
|
|
* (at your option) any later version. The full license is in LICENSE file
|
|
* included with this distribution, and on the openscenegraph.org website.
|
|
*
|
|
* This library is distributed in the hope that it will be useful,
|
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
* OpenSceneGraph Public License for more details.
|
|
*/
|
|
|
|
#ifndef OSGANIMATION_NODE_VISITOR_H
|
|
#define OSGANIMATION_NODE_VISITOR_H
|
|
|
|
#include <osg/NodeVisitor>
|
|
#include <osg/StateSet>
|
|
#include <osgAnimation/Animation>
|
|
|
|
namespace osgAnimation
|
|
{
|
|
class AnimationUpdateCallbackBase;
|
|
|
|
/** This class is instancied by the AnimationManagerBase, it will link animation target to updatecallback that have the same name
|
|
*/
|
|
class OSGANIMATION_EXPORT LinkVisitor : public osg::NodeVisitor
|
|
{
|
|
public:
|
|
LinkVisitor();
|
|
|
|
META_NodeVisitor("osgAnimation","LinkVisitor");
|
|
|
|
void apply(osg::Node& node);
|
|
void apply(osg::Geode& node);
|
|
|
|
AnimationList& getAnimationList();
|
|
void reset();
|
|
unsigned int getNbLinkedTarget() const { return _nbLinkedTarget; }
|
|
|
|
protected:
|
|
|
|
void handle_stateset(osg::StateSet* stateset);
|
|
void link(osgAnimation::AnimationUpdateCallbackBase* cb);
|
|
|
|
// animation list to link
|
|
AnimationList _animations;
|
|
|
|
// number of success link done
|
|
unsigned int _nbLinkedTarget;
|
|
};
|
|
|
|
}
|
|
|
|
#endif
|