# Ogre::AnimationStateSet Class Reference

Class encapsulating a set of AnimationState objects. More...

`#include <OgreAnimationState.h>`

List of all members.

## Public Member Functions

OGRE_AUTO_MUTEX | AnimationStateSet ()
| Mutex, public for external locking if needed.
| AnimationStateSet (const AnimationStateSet &rhs)
| Create an animation set by copying the contents of another.
| ~AnimationStateSet ()
AnimationState * | createAnimationState (const String &animName, Real timePos, Real length, Real weight=1.0, bool enabled=false)
| Create a new AnimationState instance.
AnimationState * | getAnimationState (const String &name) const
| Get an animation state by the name of the animation.
bool | hasAnimationState (const String &name) const
| Tests if state for the named animation is present.
void | removeAnimationState (const String &name)
| Remove animation state with the given name.
void | removeAllAnimationStates (void)
| Remove all animation states.
AnimationStateIterator | getAnimationStateIterator (void)
| Get an iterator over all the animation states in this set.
ConstAnimationStateIterator | getAnimationStateIterator (void) const
| Get an iterator over all the animation states in this set.
void | copyMatchingState (AnimationStateSet *target) const
| Copy the state of any matching animation states from this to another.
void | _notifyDirty (void)
| Set the dirty flag and dirty frame number on this state set.
unsigned long | getDirtyFrameNumber (void) const
| Get the latest animation state been altered frame number.
void | _notifyAnimationStateEnabled (AnimationState *target, bool enabled)
| Internal method respond to enable/disable an animation state.
bool | hasEnabledAnimationState (void) const
| Tests if exists enabled animation state in this set.
ConstEnabledAnimationStateIterator | getEnabledAnimationStateIterator (void) const
| Get an iterator over all the enabled animation states in this set.

## Protected Attributes

unsigned long | mDirtyFrameNumber
AnimationStateMap | mAnimationStates
EnabledAnimationStateList | mEnabledAnimationStates

## Detailed Description

Class encapsulating a set of AnimationState objects.

Definition at line 129 of file OgreAnimationState.h.

## Constructor & Destructor Documentation

OGRE_AUTO_MUTEX Ogre::AnimationStateSet::AnimationStateSet | ( |  | ) |

Mutex, public for external locking if needed.

Create a blank animation state set

Ogre::AnimationStateSet::AnimationStateSet | ( | const AnimationStateSet & | rhs | ) |

Create an animation set by copying the contents of another.

Ogre::AnimationStateSet::~AnimationStateSet | ( |  | ) |

## Member Function Documentation

AnimationState* Ogre::AnimationStateSet::createAnimationState | ( | const String & | animName,
|  | Real | timePos,
|  | Real | length,
|  | Real | weight = `1.0`,
|  | bool | enabled = `false` |
| ) |  |  |

Create a new AnimationState instance.

Parameters:

  | animName | The name of the animation
  | timePos | Starting time position
  | length | Length of the animation to play
  | weight | Weight to apply the animation with
  | enabled | Whether the animation is enabled

AnimationState* Ogre::AnimationStateSet::getAnimationState | ( | const String & | name | ) | const

Get an animation state by the name of the animation.

bool Ogre::AnimationStateSet::hasAnimationState | ( | const String & | name | ) | const

Tests if state for the named animation is present.

void Ogre::AnimationStateSet::removeAnimationState | ( | const String & | name | ) |

Remove animation state with the given name.

void Ogre::AnimationStateSet::removeAllAnimationStates | ( | void |  | ) |

Remove all animation states.

AnimationStateIterator Ogre::AnimationStateSet::getAnimationStateIterator | ( | void |  | ) |

Get an iterator over all the animation states in this set.

Note:
  The iterator returned from this method is not threadsafe, you will need to manually lock the public mutex on this class to ensure thread safety if you need it.

ConstAnimationStateIterator Ogre::AnimationStateSet::getAnimationStateIterator | ( | void |  | ) | const

Get an iterator over all the animation states in this set.

Note:
  The iterator returned from this method is not threadsafe, you will need to manually lock the public mutex on this class to ensure thread safety if you need it.

void Ogre::AnimationStateSet::copyMatchingState | ( | AnimationStateSet * | target | ) | const

Copy the state of any matching animation states from this to another.

void Ogre::AnimationStateSet::_notifyDirty | ( | void |  | ) |

Set the dirty flag and dirty frame number on this state set.

unsigned long Ogre::AnimationStateSet::getDirtyFrameNumber | ( | void |  | ) | const

Get the latest animation state been altered frame number.

Definition at line 178 of file OgreAnimationState.h.

void Ogre::AnimationStateSet::_notifyAnimationStateEnabled | ( | AnimationState * | target,
|  | bool | enabled |
| ) |  |  |

Internal method respond to enable/disable an animation state.

bool Ogre::AnimationStateSet::hasEnabledAnimationState | ( | void |  | ) | const

Tests if exists enabled animation state in this set.

Definition at line 183 of file OgreAnimationState.h.

ConstEnabledAnimationStateIterator Ogre::AnimationStateSet::getEnabledAnimationStateIterator | ( | void |  | ) | const

Get an iterator over all the enabled animation states in this set.

Note:
  The iterator returned from this method is not threadsafe, you will need to manually lock the public mutex on this class to ensure thread safety if you need it.

## Member Data Documentation

unsigned long Ogre::AnimationStateSet::mDirtyFrameNumber`[protected]`

Definition at line 193 of file OgreAnimationState.h.

AnimationStateMap Ogre::AnimationStateSet::mAnimationStates`[protected]`

Definition at line 194 of file OgreAnimationState.h.

EnabledAnimationStateList Ogre::AnimationStateSet::mEnabledAnimationStates`[protected]`

Definition at line 195 of file OgreAnimationState.h.

The documentation for this class was generated from the following file:

- OgreAnimationState.h

Copyright © 2000-2005 by The OGRE Team
This work is licensed under a Creative Commons Attribution-ShareAlike 2.5 License.
Last modified Sat May 10 16:25:14 2008