( *i ).second->transformChanged();
}
}
-typedef MemberCaller<InstanceSet, &InstanceSet::transformChanged> TransformChangedCaller;
+typedef MemberCaller<InstanceSet, void(), &InstanceSet::transformChanged> TransformChangedCaller;
void boundsChanged(){
for ( InstanceMap::iterator i = m_instances.begin(); i != m_instances.end(); ++i )
{
( *i ).second->boundsChanged();
}
}
-typedef MemberCaller<InstanceSet, &InstanceSet::boundsChanged> BoundsChangedCaller;
+typedef MemberCaller<InstanceSet, void(), &InstanceSet::boundsChanged> BoundsChangedCaller;
};
template<typename Functor>
}
}
-template<typename Type>
-class InstanceEvaluateTransform
-{
-public:
-inline void operator()( scene::Instance& instance ) const {
- InstanceTypeCast<Type>::cast( instance )->evaluateTransform();
-}
-};
-
template<typename Type>
class InstanceSetEvaluateTransform
{
public:
static void apply( InstanceSet& instances ){
- InstanceSet_forEach( instances, InstanceEvaluateTransform<Type>() );
+ InstanceSet_forEach(instances, [&](scene::Instance &instance) {
+ InstanceTypeCast<Type>::cast(instance)->evaluateTransform();
+ });
}
-typedef ReferenceCaller<InstanceSet, &InstanceSetEvaluateTransform<Type>::apply> Caller;
+typedef ReferenceCaller<InstanceSet, void(), &InstanceSetEvaluateTransform<Type>::apply> Caller;
};
#endif