ActionStripAnimation
Go to the documentation of this file.
/* -*-c++-*-
* Copyright (C) 2009 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_ACTION_STRIPANIMATION_H
#define OSGANIMATION_ACTION_STRIPANIMATION_H
#include <osgAnimation/Action>
#include <osgAnimation/Export>
#include <osgAnimation/FrameAction>
#include <osgAnimation/ActionBlendIn>
#include <osgAnimation/ActionBlendOut>
#include <osgAnimation/ActionAnimation>
namespace osgAnimation
{
// encapsulate animation with blend in blend out for classic usage
class OSGANIMATION_EXPORT ActionStripAnimation : public Action
{
public:
META_Action(osgAnimation, ActionStripAnimation);
ActionStripAnimation() {}
ActionStripAnimation(const ActionStripAnimation& a, const osg::CopyOp& c);
ActionStripAnimation(Animation* animation, double blendInDuration = 0.0, double blendOutDuration = 0.0, double blendInWeightTarget = 1.0 );
ActionAnimation* getAnimation();
ActionBlendIn* getBlendIn();
ActionBlendOut* getBlendOut();
const ActionAnimation* getAnimation() const;
const ActionBlendIn* getBlendIn() const;
const ActionBlendOut* getBlendOut() const;
unsigned int getBlendOutStartFrame() const;
unsigned int getLoop() const;
void setLoop(unsigned int loop);
void traverse(ActionVisitor& visitor);
protected:
typedef std::pair<unsigned int, osg::ref_ptr<ActionBlendOut> > FrameBlendOut;
osg::ref_ptr<ActionBlendIn> _blendIn;
FrameBlendOut _blendOut;
osg::ref_ptr<ActionAnimation> _animation;
};
}
#endif
ActionAnimation
ActionBlendIn
ActionBlendOut
Action
FrameAction
osgAnimation::ActionAnimation
Definition ActionAnimation:26
osgAnimation::ActionBlendIn
blend in from 0 to weight in duration
Definition ActionBlendIn:27
osgAnimation::ActionBlendOut
blend out from weight to 0 in duration
Definition ActionBlendOut:27
osgAnimation::ActionStripAnimation::_blendIn
osg::ref_ptr< ActionBlendIn > _blendIn
Definition ActionStripAnimation:50
osgAnimation::ActionStripAnimation::getBlendIn
const ActionBlendIn * getBlendIn() const
osgAnimation::ActionStripAnimation::getBlendOut
ActionBlendOut * getBlendOut()
osgAnimation::ActionStripAnimation::_blendOut
FrameBlendOut _blendOut
Definition ActionStripAnimation:51
osgAnimation::ActionStripAnimation::getBlendOutStartFrame
unsigned int getBlendOutStartFrame() const
osgAnimation::ActionStripAnimation::getBlendOut
const ActionBlendOut * getBlendOut() const
osgAnimation::ActionStripAnimation::getLoop
unsigned int getLoop() const
osgAnimation::ActionStripAnimation::FrameBlendOut
std::pair< unsigned int, osg::ref_ptr< ActionBlendOut > > FrameBlendOut
Definition ActionStripAnimation:49
osgAnimation::ActionStripAnimation::ActionStripAnimation
ActionStripAnimation(const ActionStripAnimation &a, const osg::CopyOp &c)
osgAnimation::ActionStripAnimation::getAnimation
ActionAnimation * getAnimation()
osgAnimation::ActionStripAnimation::META_Action
META_Action(osgAnimation, ActionStripAnimation)
osgAnimation::ActionStripAnimation::setLoop
void setLoop(unsigned int loop)
osgAnimation::ActionStripAnimation::_animation
osg::ref_ptr< ActionAnimation > _animation
Definition ActionStripAnimation:52
osgAnimation::ActionStripAnimation::getAnimation
const ActionAnimation * getAnimation() const
osgAnimation::ActionStripAnimation::ActionStripAnimation
ActionStripAnimation(Animation *animation, double blendInDuration=0.0, double blendOutDuration=0.0, double blendInWeightTarget=1.0)
osgAnimation::ActionStripAnimation::ActionStripAnimation
ActionStripAnimation()
Definition ActionStripAnimation:33
osgAnimation::ActionStripAnimation::traverse
void traverse(ActionVisitor &visitor)
osgAnimation::ActionStripAnimation::getBlendIn
ActionBlendIn * getBlendIn()
osgAnimation::ActionVisitor
Definition ActionVisitor:39
osgAnimation::Action::Action
Action()
osgAnimation::Animation
Definition Animation:29
osg::CopyOp
Definition CopyOp:41
osg::ref_ptr
Definition ref_ptr:32
osgAnimation
Definition Action:34
Export
OSGANIMATION_EXPORT
#define OSGANIMATION_EXPORT
Definition osgAnimation/Export:40