static void restore_blends( buffer_vector<sblend_save>& buffer ) { buffer_vector<sblend_save>::iterator i = buffer.begin(), e = buffer.end(); for(; i != e; ++i ) (*i).restore(); buffer.clear(); }
static void save_blends( buffer_vector<sblend_save>& buffer, IKinematicsAnimated& KA ) { buffer.clear(); struct scbl: public IterateBlendsCallback, private boost::noncopyable { buffer_vector<sblend_save>& _buffer; scbl( buffer_vector<sblend_save>& bf ): _buffer( bf ){} virtual void operator () ( CBlend &B ) { sblend_save s; s.save( &B ); _buffer.push_back( s ); } } cbl( buffer ); KA.LL_IterateBlends( cbl ); }