Example #1
0
	Animatable::Animatable(const Animatable& other)
	{
		for (auto state : other.mStates)
		{
			AnimationState* newState = mnew AnimationState(*state);
			AddState(newState);
		}
	}
Example #2
0
	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);
	}
Example #3
0
	Animatable& Animatable::operator=(const Animatable& other)
	{
		RemoveAllStates();

		for (auto state : other.mStates)
		{
			AnimationState* newState = mnew AnimationState(*state);
			AddState(newState);
		}

		return *this;
	}
Example #4
0
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()));
        }
    }
Example #7
0
void OpticMedal::pushNotify(std::pair<int, int> dimensions) {
	Benchmark timer;
	timer.start();
	sliders.emplace_back(std::make_tuple(slideAnimation, AnimationState(), timer, dimensions)); 
}
Example #8
0
	AnimationState* Animatable::AddState(const String& name)
	{
		AnimationState* res = mnew AnimationState(name);
		return AddState(res);
	}