Something went wrong. Try again.
OpenMW is an open implementation of the Morrowind engine
Something went wrong. Try again.
1.0 kB · 41 lines
C++
123456789101112131415161718192021222324252627282930313233343536373839404142#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(); for (const auto& channel : channels) 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) { for (const auto& channel : mChannels) { channel->update(time, 1.0f, 0); } return true; }}