From Cedric Pinson, Traverse StripAction instead of applying, this fix the execution of FrameCallback in BlendIn, BlendOut and AnimationAction\nFix warning of osgAnimation::StatsHandler\nFix crash when running example osganimationtimeline without nathan.osg in OSG_FILE_PATH or with bad file

This commit is contained in:
Cedric Pinson
2009-06-30 11:55:49 +00:00
parent a2ae370c8e
commit 2c012faee4
5 changed files with 45 additions and 19 deletions

View File

@@ -194,6 +194,8 @@ namespace osgAnimation
void setLoop(unsigned int loop);
void computeWeightAndUpdateAnimation(unsigned int frame);
void traverse(ActionVisitor& visitor);
protected:
typedef std::pair<unsigned int, osg::ref_ptr<BlendOut> > FrameBlendOut;
osg::ref_ptr<BlendIn> _blendIn;

View File

@@ -44,7 +44,7 @@ namespace osgAnimation
META_ActionVisitor(osgAnimation, ActionVisitor);
void traverse(Action& visitor);
void pushFrameActionOnStack(FrameAction& fa);
void pushFrameActionOnStack(const FrameAction& fa);
void popFrameAction();
void pushTimelineOnStack(Timeline* tm);
@@ -71,7 +71,7 @@ namespace osgAnimation
UpdateActionVisitor();
void setFrame(unsigned int frame) { _frame = frame;}
bool isActive() const;
bool isActive(Action& action) const;
unsigned int getLocalFrame() const;
void apply(Timeline& action);