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

@@ -32,7 +32,7 @@ void osgAnimation::StatsActionVisitor::apply(Timeline& tm)
void osgAnimation::StatsActionVisitor::apply(Action& action)
{
if (isActive())
if (isActive(action))
{
_channels.push_back(action.getName());
_stats->setAttribute(_frame,action.getName(),1);
@@ -41,7 +41,7 @@ void osgAnimation::StatsActionVisitor::apply(Action& action)
void osgAnimation::StatsActionVisitor::apply(BlendIn& action)
{
if (isActive())
if (isActive(action))
{
_channels.push_back(action.getName());
_stats->setAttribute(_frame,action.getName(), action.getWeight());
@@ -50,7 +50,7 @@ void osgAnimation::StatsActionVisitor::apply(BlendIn& action)
void osgAnimation::StatsActionVisitor::apply(BlendOut& action)
{
if (isActive())
if (isActive(action))
{
_channels.push_back(action.getName());
_stats->setAttribute(_frame,action.getName(), action.getWeight());
@@ -59,7 +59,7 @@ void osgAnimation::StatsActionVisitor::apply(BlendOut& action)
void osgAnimation::StatsActionVisitor::apply(ActionAnimation& action)
{
if (isActive())
if (isActive(action))
{
_channels.push_back(action.getName());
_stats->setAttribute(_frame,action.getName(), action.getAnimation()->getWeight());
@@ -68,7 +68,7 @@ void osgAnimation::StatsActionVisitor::apply(ActionAnimation& action)
void osgAnimation::StatsActionVisitor::apply(StripAnimation& action)
{
if (isActive())
if (isActive(action))
{
_channels.push_back(action.getName());
_stats->setAttribute(_frame,action.getName(), action.getActionAnimation()->getAnimation()->getWeight());