while(!(context)->empty())
{
// If this layer is active, and
- // it either isn't already set to the given time or
- // it's a time loop layer,
+ // it either isn't already set to the given time
+ // or it's a stroboscope layer,
+ // or it's a time loop layer,
// then break out of the loop and set its time
if((*context)->active() &&
(!(*context)->dirty_time_.is_equal(time) ||
+ (*context)->get_name() == "stroboscope" ||
(*context)->get_name() == "timeloop"))
break;
{
Layer::ParamList params;
Layer::DynamicParamList::const_iterator iter;
-
+ // For each parameter of the layer sets the time by the operator()(time)
for(iter=(*context)->dynamic_param_list().begin();iter!=(*context)->dynamic_param_list().end();iter++)
params[iter->first]=(*iter->second)(time);
-
+ // Sets the modified parameter list to the current context layer
(*context)->set_param_list(params);
-
+ // Calls the set time for the next layer in the context.
(*context)->set_time(context+1,time);
+ // Sets the dirty time the current calling time
(*context)->dirty_time_=time;
}