#include #include #include 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 pChannel) { mChannels.push_back(pChannel); } std::vector>& Animation::getChannels() { return mChannels; } const std::vector>& Animation::getChannels() const { return mChannels; } bool Animation::update(double time) { for (const auto& channel : mChannels) { channel->update(time, 1.0f, 0); } return true; } }