ActionCallback 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. /* -*-c++-*-
  2. * Copyright (C) 2009 Cedric Pinson <cedric.pinson@plopbyte.net>
  3. *
  4. * This library is open source and may be redistributed and/or modified under
  5. * the terms of the OpenSceneGraph Public License (OSGPL) version 0.0 or
  6. * (at your option) any later version. The full license is in LICENSE file
  7. * included with this distribution, and on the openscenegraph.org website.
  8. *
  9. * This library is distributed in the hope that it will be useful,
  10. * but WITHOUT ANY WARRANTY; without even the implied warranty of
  11. * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  12. * OpenSceneGraph Public License for more details.
  13. */
  14. #ifndef OSGANIMATION_ACTION_CALLBACK_H
  15. #define OSGANIMATION_ACTION_CALLBACK_H
  16. #include <osgAnimation/Export>
  17. #include <osgAnimation/Action>
  18. namespace osgAnimation
  19. {
  20. /** Callback used to run new action on the timeline.*/
  21. class OSGANIMATION_EXPORT RunAction : public Action::Callback
  22. {
  23. public:
  24. RunAction(Action* a, int priority = 0) : _action(a), _priority(priority) {}
  25. virtual void operator()(Action* action, ActionVisitor* visitor);
  26. Action* getAction() const { return _action.get(); }
  27. int getPriority() const { return _priority; }
  28. protected:
  29. osg::ref_ptr<Action> _action;
  30. int _priority;
  31. };
  32. }
  33. #endif