# Ogre::AnimableValue Class Reference

Defines an object property which is animable, i.e. More...

`#include <OgreAnimable.h>`

Inheritance diagram for Ogre::AnimableValue:

[legend]

List of all members.

## Public Types

enum | ValueType { INT, REAL, VECTOR2, VECTOR3, VECTOR4, QUATERNION, COLOUR, RADIAN, DEGREE }
| The type of the value being animated. More...

## Public Member Functions

| AnimableValue (ValueType t)
virtual | ~AnimableValue ()
ValueType | getType (void) const
| Gets the value type of this animable value.
virtual void | setCurrentStateAsBaseValue (void)=0
| Sets the current state as the 'base' value; used for delta animation.
virtual void | setValue (int)
| Set value.
virtual void | setValue (Real)
| Set value.
virtual void | setValue (const Vector2 &)
| Set value.
virtual void | setValue (const Vector3 &)
| Set value.
virtual void | setValue (const Vector4 &)
| Set value.
virtual void | setValue (const Quaternion &)
| Set value.
virtual void | setValue (const ColourValue &)
| Set value.
virtual void | setValue (const Radian &)
| Set value.
virtual void | setValue (const Degree &)
| Set value.
virtual void | setValue (const Any &val)
| Set value.
virtual void | resetToBaseValue (void)
virtual void | applyDeltaValue (int)
| Apply delta value.
virtual void | applyDeltaValue (Real)
| Set value.
virtual void | applyDeltaValue (const Vector2 &)
| Apply delta value.
virtual void | applyDeltaValue (const Vector3 &)
| Apply delta value.
virtual void | applyDeltaValue (const Vector4 &)
| Apply delta value.
virtual void | applyDeltaValue (const Quaternion &)
| Apply delta value.
virtual void | applyDeltaValue (const ColourValue &)
| Apply delta value.
virtual void | applyDeltaValue (const Degree &)
| Apply delta value.
virtual void | applyDeltaValue (const Radian &)
| Apply delta value.
virtual void | applyDeltaValue (const Any &val)
| Apply delta value.
void * | operator new (size_t sz, const char *file, int line, const char *func)
| operator new, with debug line info
void * | operator new (size_t sz)
void * | operator new (size_t sz, void *ptr)
| placement operator new
void * | operator new[] (size_t sz, const char *file, int line, const char *func)
| array operator new, with debug line info
void * | operator new[] (size_t sz)
void | operator delete (void *ptr)
void | operator delete (void *ptr, void *)
void | operator delete (void *ptr, const char *, int, const char *)
void | operator delete[] (void *ptr)
void | operator delete[] (void *ptr, const char *, int, const char *)

## Protected Member Functions

virtual void | setAsBaseValue (int val)
| Internal method to set a value as base.
virtual void | setAsBaseValue (Real val)
| Internal method to set a value as base.
virtual void | setAsBaseValue (const Vector2 &val)
| Internal method to set a value as base.
virtual void | setAsBaseValue (const Vector3 &val)
| Internal method to set a value as base.
virtual void | setAsBaseValue (const Vector4 &val)
| Internal method to set a value as base.
virtual void | setAsBaseValue (const Quaternion &val)
| Internal method to set a value as base.
virtual void | setAsBaseValue (const Any &val)
| Internal method to set a value as base.
virtual void | setAsBaseValue (const ColourValue &val)
| Internal method to set a value as base.
virtual void | setAsBaseValue (const Radian &val)
| Internal method to set a value as base.
virtual void | setAsBaseValue (const Degree &val)
| Internal method to set a value as base.

## Protected Attributes

ValueType | mType
| Value type.
union {
int mBaseValueInt
Real mBaseValueReal [4]
}; |

## Detailed Description

Defines an object property which is animable, i.e.

may be keyframed.

Remarks:
  Animable properties are those which can be altered over time by a predefined keyframe sequence. They may be set directly, or they may be modified from their existing state (common if multiple animations are expected to apply at once). Implementors of this interface are expected to override the 'setValue', 'setCurrentStateAsBaseValue' and 'applyDeltaValue' methods appropriate to the type in question, and to initialise the type.

  AnimableValue instances are accessible through any class which extends AnimableObject in order to expose it's animable properties.

Note:
  This class is an instance of the Adapter pattern, since it generalises access to a particular property. Whilst it could have been templated such that the type which was being referenced was compiled in, this would make it more difficult to aggregated generically, and since animations are often comprised of multiple properties it helps to be able to deal with all values through a single class.

Definition at line 65 of file OgreAnimable.h.

## Member Enumeration Documentation

enum Ogre::AnimableValue::ValueType

The type of the value being animated.

Enumerator:

  INT |
  REAL |
  VECTOR2 |
  VECTOR3 |
  VECTOR4 |
  QUATERNION |
  COLOUR |
  RADIAN |
  DEGREE |

Definition at line 69 of file OgreAnimable.h.

## Constructor & Destructor Documentation

Ogre::AnimableValue::AnimableValue | ( | ValueType | t | ) |

Definition at line 131 of file OgreAnimable.h.

virtual Ogre::AnimableValue::~AnimableValue | ( |  | ) | `[virtual]`

Definition at line 132 of file OgreAnimable.h.

## Member Function Documentation

virtual void Ogre::AnimableValue::setAsBaseValue | ( | int | val | ) | `[protected, virtual]`

Internal method to set a value as base.

Definition at line 93 of file OgreAnimable.h.

virtual void Ogre::AnimableValue::setAsBaseValue | ( | Real | val | ) | `[protected, virtual]`

Internal method to set a value as base.

Definition at line 95 of file OgreAnimable.h.

virtual void Ogre::AnimableValue::setAsBaseValue | ( | const Vector2 & | val | ) | `[protected, virtual]`

Internal method to set a value as base.

Definition at line 97 of file OgreAnimable.h.

References Ogre::Vector2::ptr().

virtual void Ogre::AnimableValue::setAsBaseValue | ( | const Vector3 & | val | ) | `[protected, virtual]`

Internal method to set a value as base.

Definition at line 100 of file OgreAnimable.h.

References Ogre::Vector3::ptr().

virtual void Ogre::AnimableValue::setAsBaseValue | ( | const Vector4 & | val | ) | `[protected, virtual]`

Internal method to set a value as base.

Definition at line 103 of file OgreAnimable.h.

References Ogre::Vector4::ptr().

virtual void Ogre::AnimableValue::setAsBaseValue | ( | const Quaternion & | val | ) | `[protected, virtual]`

Internal method to set a value as base.

Definition at line 106 of file OgreAnimable.h.

References Ogre::Quaternion::ptr().

virtual void Ogre::AnimableValue::setAsBaseValue | ( | const Any & | val | ) | `[protected, virtual]`

Internal method to set a value as base.

virtual void Ogre::AnimableValue::setAsBaseValue | ( | const ColourValue & | val | ) | `[protected, virtual]`

Internal method to set a value as base.

Definition at line 111 of file OgreAnimable.h.

References Ogre::ColourValue::a, Ogre::ColourValue::b, Ogre::ColourValue::g, and Ogre::ColourValue::r.

virtual void Ogre::AnimableValue::setAsBaseValue | ( | const Radian & | val | ) | `[protected, virtual]`

Internal method to set a value as base.

Definition at line 119 of file OgreAnimable.h.

References Ogre::Radian::valueRadians().

virtual void Ogre::AnimableValue::setAsBaseValue | ( | const Degree & | val | ) | `[protected, virtual]`

Internal method to set a value as base.

Definition at line 124 of file OgreAnimable.h.

References Ogre::Degree::valueRadians().

ValueType Ogre::AnimableValue::getType | ( | void |  | ) | const

Gets the value type of this animable value.

Definition at line 135 of file OgreAnimable.h.

virtual void Ogre::AnimableValue::setCurrentStateAsBaseValue | ( | void |  | ) | `[pure virtual]`

Sets the current state as the 'base' value; used for delta animation.

virtual void Ogre::AnimableValue::setValue | ( | int |  | ) | `[virtual]`

Set value.

Definition at line 141 of file OgreAnimable.h.

References Ogre::Exception::ERR_NOT_IMPLEMENTED, and OGRE_EXCEPT.

virtual void Ogre::AnimableValue::setValue | ( | Real |  | ) | `[virtual]`

Set value.

Definition at line 145 of file OgreAnimable.h.

References Ogre::Exception::ERR_NOT_IMPLEMENTED, and OGRE_EXCEPT.

virtual void Ogre::AnimableValue::setValue | ( | const Vector2 & |  | ) | `[virtual]`

Set value.

Definition at line 149 of file OgreAnimable.h.

References Ogre::Exception::ERR_NOT_IMPLEMENTED, and OGRE_EXCEPT.

virtual void Ogre::AnimableValue::setValue | ( | const Vector3 & |  | ) | `[virtual]`

Set value.

Definition at line 153 of file OgreAnimable.h.

References Ogre::Exception::ERR_NOT_IMPLEMENTED, and OGRE_EXCEPT.

virtual void Ogre::AnimableValue::setValue | ( | const Vector4 & |  | ) | `[virtual]`

Set value.

Definition at line 157 of file OgreAnimable.h.

References Ogre::Exception::ERR_NOT_IMPLEMENTED, and OGRE_EXCEPT.

virtual void Ogre::AnimableValue::setValue | ( | const Quaternion & |  | ) | `[virtual]`

Set value.

Definition at line 161 of file OgreAnimable.h.

References Ogre::Exception::ERR_NOT_IMPLEMENTED, and OGRE_EXCEPT.

virtual void Ogre::AnimableValue::setValue | ( | const ColourValue & |  | ) | `[virtual]`

Set value.

Definition at line 165 of file OgreAnimable.h.

References Ogre::Exception::ERR_NOT_IMPLEMENTED, and OGRE_EXCEPT.

virtual void Ogre::AnimableValue::setValue | ( | const Radian & |  | ) | `[virtual]`

Set value.

Definition at line 169 of file OgreAnimable.h.

References Ogre::Exception::ERR_NOT_IMPLEMENTED, and OGRE_EXCEPT.

virtual void Ogre::AnimableValue::setValue | ( | const Degree & |  | ) | `[virtual]`

Set value.

Definition at line 173 of file OgreAnimable.h.

References Ogre::Exception::ERR_NOT_IMPLEMENTED, and OGRE_EXCEPT.

virtual void Ogre::AnimableValue::setValue | ( | const Any & | val | ) | `[virtual]`

Set value.

virtual void Ogre::AnimableValue::resetToBaseValue | ( | void |  | ) | `[virtual]`

virtual void Ogre::AnimableValue::applyDeltaValue | ( | int |  | ) | `[virtual]`

Apply delta value.

Definition at line 183 of file OgreAnimable.h.

References Ogre::Exception::ERR_NOT_IMPLEMENTED, and OGRE_EXCEPT.

virtual void Ogre::AnimableValue::applyDeltaValue | ( | Real |  | ) | `[virtual]`

Set value.

Definition at line 187 of file OgreAnimable.h.

References Ogre::Exception::ERR_NOT_IMPLEMENTED, and OGRE_EXCEPT.

virtual void Ogre::AnimableValue::applyDeltaValue | ( | const Vector2 & |  | ) | `[virtual]`

Apply delta value.

Definition at line 191 of file OgreAnimable.h.

References Ogre::Exception::ERR_NOT_IMPLEMENTED, and OGRE_EXCEPT.

virtual void Ogre::AnimableValue::applyDeltaValue | ( | const Vector3 & |  | ) | `[virtual]`

Apply delta value.

Definition at line 195 of file OgreAnimable.h.

References Ogre::Exception::ERR_NOT_IMPLEMENTED, and OGRE_EXCEPT.

virtual void Ogre::AnimableValue::applyDeltaValue | ( | const Vector4 & |  | ) | `[virtual]`

Apply delta value.

Definition at line 199 of file OgreAnimable.h.

References Ogre::Exception::ERR_NOT_IMPLEMENTED, and OGRE_EXCEPT.

virtual void Ogre::AnimableValue::applyDeltaValue | ( | const Quaternion & |  | ) | `[virtual]`

Apply delta value.

Definition at line 203 of file OgreAnimable.h.

References Ogre::Exception::ERR_NOT_IMPLEMENTED, and OGRE_EXCEPT.

virtual void Ogre::AnimableValue::applyDeltaValue | ( | const ColourValue & |  | ) | `[virtual]`

Apply delta value.

Definition at line 207 of file OgreAnimable.h.

References Ogre::Exception::ERR_NOT_IMPLEMENTED, and OGRE_EXCEPT.

virtual void Ogre::AnimableValue::applyDeltaValue | ( | const Degree & |  | ) | `[virtual]`

Apply delta value.

Definition at line 211 of file OgreAnimable.h.

References Ogre::Exception::ERR_NOT_IMPLEMENTED, and OGRE_EXCEPT.

virtual void Ogre::AnimableValue::applyDeltaValue | ( | const Radian & |  | ) | `[virtual]`

Apply delta value.

Definition at line 215 of file OgreAnimable.h.

References Ogre::Exception::ERR_NOT_IMPLEMENTED, and OGRE_EXCEPT.

virtual void Ogre::AnimableValue::applyDeltaValue | ( | const Any & | val | ) | `[virtual]`

Apply delta value.

template<class Alloc>

void* Ogre::AllocatedObject< Alloc >::operator new | ( | size_t | sz,
|  | const char * | file,
|  | int | line,
|  | const char * | func |
| ) |  |  | `[inherited]`

operator new, with debug line info

Definition at line 62 of file OgreMemoryAllocatedObject.h.

template<class Alloc>

void* Ogre::AllocatedObject< Alloc >::operator new | ( | size_t | sz | ) | `[inherited]`

Definition at line 67 of file OgreMemoryAllocatedObject.h.

template<class Alloc>

void* Ogre::AllocatedObject< Alloc >::operator new | ( | size_t | sz,
|  | void * | ptr |
| ) |  |  | `[inherited]`

placement operator new

Definition at line 73 of file OgreMemoryAllocatedObject.h.

template<class Alloc>

void* Ogre::AllocatedObject< Alloc >::operator new[] | ( | size_t | sz,
|  | const char * | file,
|  | int | line,
|  | const char * | func |
| ) |  |  | `[inherited]`

array operator new, with debug line info

Definition at line 79 of file OgreMemoryAllocatedObject.h.

template<class Alloc>

void* Ogre::AllocatedObject< Alloc >::operator new[] | ( | size_t | sz | ) | `[inherited]`

Definition at line 84 of file OgreMemoryAllocatedObject.h.

template<class Alloc>

void Ogre::AllocatedObject< Alloc >::operator delete | ( | void * | ptr | ) | `[inherited]`

Definition at line 89 of file OgreMemoryAllocatedObject.h.

template<class Alloc>

void Ogre::AllocatedObject< Alloc >::operator delete | ( | void * | ptr,
|  | void * |  |
| ) |  |  | `[inherited]`

Definition at line 95 of file OgreMemoryAllocatedObject.h.

template<class Alloc>

void Ogre::AllocatedObject< Alloc >::operator delete | ( | void * | ptr,
|  | const char * | ,
|  | int | ,
|  | const char * |  |
| ) |  |  | `[inherited]`

Definition at line 101 of file OgreMemoryAllocatedObject.h.

template<class Alloc>

void Ogre::AllocatedObject< Alloc >::operator delete[] | ( | void * | ptr | ) | `[inherited]`

Definition at line 106 of file OgreMemoryAllocatedObject.h.

template<class Alloc>

void Ogre::AllocatedObject< Alloc >::operator delete[] | ( | void * | ptr,
|  | const char * | ,
|  | int | ,
|  | const char * |  |
| ) |  |  | `[inherited]`

Definition at line 112 of file OgreMemoryAllocatedObject.h.

## Member Data Documentation

ValueType Ogre::AnimableValue::mType `[protected]`

Value type.

Definition at line 83 of file OgreAnimable.h.

int Ogre::AnimableValue::mBaseValueInt

Definition at line 88 of file OgreAnimable.h.

Real Ogre::AnimableValue::mBaseValueReal[4]

Definition at line 89 of file OgreAnimable.h.

union { ... } `[protected]`

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

- OgreAnimable.h

Copyright © 2008 Torus Knot Software Ltd
This work is licensed under a Creative Commons Attribution-ShareAlike 2.5 License.
Last modified Sun Dec 27 17:31:32 2009