17 return this->_update_id;
20 void AnimSystem::AnimUpdate_Connector(
AnimConnector * connector )
38 [&]( AnimNodeI * node )
42 node->System_UpdateStart();
49 this->connectors.push_back( connector );
54 [&]( AnimNodeI * node )
58 this->AnimUpdate_Node( node );
64 void AnimSystem::AnimUpdate_Node( AnimNodeI * node )
70 [&]( AnimConnector * con )
72 this->AnimUpdate_Connector( con );
80 this->connectors.clear();
84 this->_update_id += 1;
95 root->System_UpdateStart();
96 root->Connector_RequestStep( step_distance );
97 this->AnimUpdate_Node( root );
101 for(
auto it = this->connectors.rbegin(); it != this->connectors.rend(); ++it )
111 node->cm.log( SRC_INFO, ::iv::Defs::Log::Animation_SystemUpdate,
"Node update end." );
112 node->System_UpdateEnd();
126 root->System_UpdateEnd();
134 this->roots.insert( client );
139 this->roots.erase( client );
146 if( state.printed_connectors.count( connector ) )
148 tree->
out() <<
" ..." << std::endl;
152 state.printed_connectors.insert( connector );
154 TreeDebugView subtree( tree->
context() );
159 [&]( AnimNodeI * node )
161 this->debug_print_node( tree, node, state );
169 void AnimSystem::debug_print_node( TreeDebugView * tree, AnimNodeI * node, PrintState & state )
171 tree->Push( ( node->cm.name_id() +
" " + node->label() ).c_str() );
173 if( state.printed_nodes.count( node ) )
175 tree->out() <<
" ..." << std::endl;
179 state.printed_nodes.insert( node );
181 TreeDebugView subtree( tree->context() );
182 node->cm.inheritance_root()->print_status_with_inherited( &subtree, &node->cm );
185 node->anim_eachChild(
186 [&]( AnimConnector * connector )
188 this->debug_print_connector( tree, connector, state );
204 this->debug_print_node( &tc, node, state );