-void Block::tick(const Time::TimeDelta &dt)
-{
- if(state_confirm_timeout)
- {
- state_confirm_timeout -= dt;
- if(state_confirm_timeout<=Time::zero)
- {
- if(state==MAYBE_INACTIVE)
- state = INACTIVE;
- else if(state==MAYBE_ACTIVE)
- state = ACTIVE;
- state_confirm_timeout = Time::zero;
- signal_state_changed.emit(state);
- }
- }
-}
-
-void Block::find_paths(const TrackIter &track, unsigned path)
-{
- unsigned mask = track.endpoint().paths;
- for(unsigned i=0; mask>>i; ++i)
- if(mask&(1<<i))
- {
- TrackIter next = track.next(i);
- if(!next)
- continue;
- else if(has_track(*next))
- find_paths(track.next(i), path);
- else
- {
- next = next.flip();
- for(vector<Endpoint>::iterator j=endpoints.begin(); j!=endpoints.end(); ++j)
- if(j->track==next.track() && j->track_ep==next.entry())
- j->paths |= path;
- }
- }
-}
-