/
githubmirror
/
omim
Обзор
Документация
Войти
/
githubmirror
/
omim
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
drape_frontend/animation/interpolation_holder.cpp
46 строк
1 KB
r.kuznetsov
Added fast frames
20 июл 2018, 14:51
20 июл 2018, 14:51
75e6aa0
Код
Авторство
О чём код?
#include "drape_frontend/animation/base_interpolator.hpp" #include "drape_frontend/animation/interpolation_holder.hpp" #include "base/assert.hpp" namespace df { InterpolationHolder & InterpolationHolder::Instance() { static InterpolationHolder holder; return holder; } bool InterpolationHolder::IsActive() const { return !m_interpolations.empty(); } void InterpolationHolder::Advance(double elapsedSeconds) { auto iter = m_interpolations.begin(); while (iter != m_interpolations.end()) { (*iter)->Advance(elapsedSeconds); if ((*iter)->IsFinished()) iter = m_interpolations.erase(iter); else ++iter; } } InterpolationHolder::~InterpolationHolder() { ASSERT(m_interpolations.empty(), ()); } void InterpolationHolder::RegisterInterpolator(BaseInterpolator * interpolator) { VERIFY(m_interpolations.insert(interpolator).second, ()); } void InterpolationHolder::DeregisterInterpolator(BaseInterpolator * interpolator) { m_interpolations.erase(interpolator); } } // namespace df