1
0
mirror of https://gitlab.com/OpenMW/openmw.git synced 2025-01-03 17:37:18 +00:00
OpenMW/components/resource/animation.cpp

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

42 lines
1.0 KiB
C++
Raw Normal View History

2020-11-18 23:11:56 +00:00
#include <components/resource/animation.hpp>
#include <osg/ref_ptr>
#include <osgAnimation/Channel>
namespace Resource
{
Animation::Animation(const Animation& anim, const osg::CopyOp& copyop)
: osg::Object(anim, copyop)
, mDuration(0.0f)
, mStartTime(0.0f)
{
const osgAnimation::ChannelList& channels = anim.getChannels();
2020-12-12 20:23:20 +00:00
for (const auto& channel : channels)
2020-11-18 23:11:56 +00:00
addChannel(channel.get()->clone());
}
void Animation::addChannel(osg::ref_ptr<osgAnimation::Channel> pChannel)
{
mChannels.push_back(pChannel);
}
std::vector<osg::ref_ptr<osgAnimation::Channel>>& Animation::getChannels()
{
return mChannels;
}
const std::vector<osg::ref_ptr<osgAnimation::Channel>>& Animation::getChannels() const
{
return mChannels;
}
bool Animation::update(double time)
{
2020-12-12 20:23:20 +00:00
for (const auto& channel : mChannels)
2020-11-18 23:11:56 +00:00
{
channel->update(time, 1.0f, 0);
}
return true;
}
}