OpenMW
|
#include <animation.hpp>
Public Member Functions | |
ObjectAnimation (const MWWorld::Ptr &ptr, const std::string &model, Resource::ResourceSystem *resourceSystem, bool animated, bool allowLight) | |
Public Member Functions inherited from MWRender::Animation | |
void | setTextKeyListener (TextKeyListener *listener) |
Animation (const MWWorld::Ptr &ptr, osg::ref_ptr< osg::Group > parentNode, Resource::ResourceSystem *resourceSystem) | |
virtual | ~Animation () |
MWWorld::ConstPtr | getPtr () const |
void | setActive (bool active) |
osg::Group * | getOrCreateObjectRoot () |
osg::Group * | getObjectRoot () |
void | addEffect (const std::string &model, int effectId, bool loop=false, const std::string &bonename="", std::string texture="") |
Add an effect mesh attached to a bone or the insert scene node. More... | |
void | removeEffect (int effectId) |
void | getLoopingEffects (std::vector< int > &out) const |
void | addSpellCastGlow (const ESM::MagicEffect *effect, float glowDuration=1.5) |
virtual void | updatePtr (const MWWorld::Ptr &ptr) |
bool | hasAnimation (const std::string &anim) const |
void | setAccumulation (const osg::Vec3f &accum) |
void | play (const std::string &groupname, const AnimPriority &priority, int blendMask, bool autodisable, float speedmult, const std::string &start, const std::string &stop, float startpoint, size_t loops, bool loopfallback=false) |
void | adjustSpeedMult (const std::string &groupname, float speedmult) |
bool | isPlaying (const std::string &groupname) const |
bool | upperBodyReady () const |
Returns true if no important animations are currently playing on the upper body. More... | |
bool | getInfo (const std::string &groupname, float *complete=NULL, float *speedmult=NULL) const |
float | getStartTime (const std::string &groupname) const |
Get the absolute position in the animation track of the first text key with the given group. More... | |
float | getTextKeyTime (const std::string &textKey) const |
Get the absolute position in the animation track of the text key. More... | |
float | getCurrentTime (const std::string &groupname) const |
Get the current absolute position in the animation track for the animation that is currently playing from the given group. More... | |
size_t | getCurrentLoopCount (const std::string &groupname) const |
void | disable (const std::string &groupname) |
float | getVelocity (const std::string &groupname) const |
virtual osg::Vec3f | runAnimation (float duration) |
void | setLoopingEnabled (const std::string &groupname, bool enabled) |
void | updateEffects (float duration) |
This is typically called as part of runAnimation, but may be called manually if needed. More... | |
const osg::Node * | getNode (const std::string &name) const |
virtual void | showWeapons (bool showWeapon) |
virtual void | showCarriedLeft (bool show) |
virtual void | setWeaponGroup (const std::string &group) |
virtual void | setVampire (bool vampire) |
void | setAlpha (float alpha) |
A value < 1 makes the animation translucent, 1.f = fully opaque. More... | |
virtual void | setPitchFactor (float factor) |
virtual void | attachArrow () |
virtual void | releaseArrow (float attackStrength) |
virtual void | enableHeadAnimation (bool enable) |
virtual void | setLightEffect (float effect) |
virtual void | setHeadPitch (float pitchRadians) |
virtual void | setHeadYaw (float yawRadians) |
virtual float | getHeadPitch () const |
virtual float | getHeadYaw () const |
virtual void | setAccurateAiming (bool enabled) |
Additional Inherited Members | |
Public Types inherited from MWRender::Animation | |
enum | BoneGroup { BoneGroup_LowerBody = 0, BoneGroup_Torso, BoneGroup_LeftArm, BoneGroup_RightArm } |
enum | BlendMask { BlendMask_LowerBody = 1<<0, BlendMask_Torso = 1<<1, BlendMask_LeftArm = 1<<2, BlendMask_RightArm = 1<<3, BlendMask_UpperBody = BlendMask_Torso | BlendMask_LeftArm | BlendMask_RightArm, BlendMask_All = BlendMask_LowerBody | BlendMask_UpperBody } |
Static Public Attributes inherited from MWRender::Animation | |
static const size_t | sNumBlendMasks = 4 |
Protected Types inherited from MWRender::Animation | |
typedef std::map< std::string, AnimState > | AnimStateMap |
typedef std::vector < boost::shared_ptr < AnimSource > > | AnimSourceList |
typedef std::multimap < osg::ref_ptr< osg::Node > , osg::ref_ptr < osg::NodeCallback > > | ControllerMap |
typedef std::map< std::string, osg::ref_ptr < osg::MatrixTransform > > | NodeMap |
Protected Member Functions inherited from MWRender::Animation | |
const NodeMap & | getNodeMap () const |
void | resetActiveGroups () |
size_t | detectBlendMask (const osg::Node *node) const |
void | updatePosition (float oldtime, float newtime, osg::Vec3f &position) |
bool | reset (AnimState &state, const std::multimap< float, std::string > &keys, const std::string &groupname, const std::string &start, const std::string &stop, float startpoint, bool loopfallback) |
void | handleTextKey (AnimState &state, const std::string &groupname, const std::multimap< float, std::string >::const_iterator &key, const std::multimap< float, std::string > &map) |
void | setObjectRoot (const std::string &model, bool forceskeleton, bool baseonly, bool isCreature) |
void | addAnimSource (const std::string &model) |
void | addExtraLight (osg::ref_ptr< osg::Group > parent, const ESM::Light *light) |
void | clearAnimSources () |
virtual void | addControllers () |
osg::Vec4f | getEnchantmentColor (const MWWorld::ConstPtr &item) const |
void | addGlow (osg::ref_ptr< osg::Node > node, osg::Vec4f glowColor, float glowDuration=-1) |
virtual void | setRenderBin () |
Set the render bin for this animation's object root. May be customized by subclasses. More... | |
Protected Attributes inherited from MWRender::Animation | |
AnimStateMap | mStates |
AnimSourceList | mAnimSources |
osg::ref_ptr< osg::Group > | mInsert |
osg::ref_ptr< osg::Group > | mObjectRoot |
SceneUtil::Skeleton * | mSkeleton |
osg::ref_ptr< osg::Node > | mAccumRoot |
osg::ref_ptr < NifOsg::KeyframeController > | mAccumCtrl |
osg::ref_ptr < ResetAccumRootCallback > | mResetAccumRootCallback |
ControllerMap | mActiveControllers |
boost::shared_ptr< AnimationTime > | mAnimationTimePtr [sNumBlendMasks] |
NodeMap | mNodeMap |
bool | mNodeMapCreated |
MWWorld::Ptr | mPtr |
Resource::ResourceSystem * | mResourceSystem |
osg::Vec3f | mAccumulate |
std::vector< EffectParams > | mEffects |
TextKeyListener * | mTextKeyListener |
osg::ref_ptr< RotateController > | mHeadController |
float | mHeadYawRadians |
float | mHeadPitchRadians |
osg::ref_ptr < SceneUtil::LightSource > | mGlowLight |
osg::ref_ptr< GlowUpdater > | mGlowUpdater |
float | mAlpha |
osg::ref_ptr < SceneUtil::LightListCallback > | mLightListCallback |
MWRender::ObjectAnimation::ObjectAnimation | ( | const MWWorld::Ptr & | ptr, |
const std::string & | model, | ||
Resource::ResourceSystem * | resourceSystem, | ||
bool | animated, | ||
bool | allowLight | ||
) |