Animatable::Animatable(const Animatable& other) { for (auto state : other.mStates) { AnimationState* newState = mnew AnimationState(*state); AddState(newState); } }
AnimationState* Animatable::AddState(const String& name, const Animation& animation, const AnimationMask& mask, float weight) { AnimationState* res = mnew AnimationState(name); res->animation = animation; res->mask = mask; res->weight = weight; return AddState(res); }
Animatable& Animatable::operator=(const Animatable& other) { RemoveAllStates(); for (auto state : other.mStates) { AnimationState* newState = mnew AnimationState(*state); AddState(newState); } return *this; }
void GLView::updateAnimationState( bool checked ) { QAction * action = qobject_cast<QAction *>(sender()); if ( action ) { auto opt = AnimationState( action->data().toInt() ); if ( checked ) animState |= opt; else animState &= ~opt; scene->animate = (animState & AnimEnabled); lastTime = QTime::currentTime(); update(); } }
//--------------------------------------------------------------------- AnimationState* AnimationStateSet::createAnimationState(const String& name, Real timePos, Real length, Real weight, bool enabled) { OGRE_LOCK_AUTO_MUTEX; AnimationStateMap::iterator i = mAnimationStates.find(name); if (i != mAnimationStates.end()) { OGRE_EXCEPT(Exception::ERR_DUPLICATE_ITEM, "State for animation named '" + name + "' already exists.", "AnimationStateSet::createAnimationState"); } AnimationState* newState = OGRE_NEW AnimationState(name, this, timePos, length, weight, enabled); mAnimationStates[name] = newState; return newState; }
//--------------------------------------------------------------------- AnimationStateSet::AnimationStateSet(const AnimationStateSet& rhs) : mDirtyFrameNumber(std::numeric_limits<unsigned long>::max()) { // lock rhs OGRE_LOCK_MUTEX(rhs.OGRE_AUTO_MUTEX_NAME); for (AnimationStateMap::const_iterator i = rhs.mAnimationStates.begin(); i != rhs.mAnimationStates.end(); ++i) { AnimationState* src = i->second; mAnimationStates[src->getAnimationName()] = OGRE_NEW AnimationState(this, *src); } // Clone enabled animation state list for (EnabledAnimationStateList::const_iterator it = rhs.mEnabledAnimationStates.begin(); it != rhs.mEnabledAnimationStates.end(); ++it) { const AnimationState* src = *it; mEnabledAnimationStates.push_back(getAnimationState(src->getAnimationName())); } }
void OpticMedal::pushNotify(std::pair<int, int> dimensions) { Benchmark timer; timer.start(); sliders.emplace_back(std::make_tuple(slideAnimation, AnimationState(), timer, dimensions)); }
AnimationState* Animatable::AddState(const String& name) { AnimationState* res = mnew AnimationState(name); return AddState(res); }