Ogre::AnimableValue Class Reference
[Animation]

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

#include <OgreAnimable.h>

Inheritance diagram for Ogre::AnimableValue:
Inheritance graph
[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]
}; 
 Base value data.

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 71 of file OgreAnimable.h.


Member Enumeration Documentation

The type of the value being animated.

Enumerator:
INT 
REAL 
VECTOR2 
VECTOR3 
VECTOR4 
QUATERNION 
COLOUR 
RADIAN 
DEGREE 

Definition at line 75 of file OgreAnimable.h.


Constructor & Destructor Documentation

Ogre::AnimableValue::AnimableValue ( ValueType  t  ) 

Definition at line 137 of file OgreAnimable.h.

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

Definition at line 138 of file OgreAnimable.h.


Member Function Documentation

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

Apply delta value.

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

Apply delta value.

Definition at line 221 of file OgreAnimable.h.

References Ogre::Exception::ERR_NOT_IMPLEMENTED.

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

Apply delta value.

Definition at line 217 of file OgreAnimable.h.

References Ogre::Exception::ERR_NOT_IMPLEMENTED.

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

Apply delta value.

Definition at line 213 of file OgreAnimable.h.

References Ogre::Exception::ERR_NOT_IMPLEMENTED.

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

Apply delta value.

Definition at line 209 of file OgreAnimable.h.

References Ogre::Exception::ERR_NOT_IMPLEMENTED.

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

Apply delta value.

Definition at line 205 of file OgreAnimable.h.

References Ogre::Exception::ERR_NOT_IMPLEMENTED.

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

Apply delta value.

Definition at line 201 of file OgreAnimable.h.

References Ogre::Exception::ERR_NOT_IMPLEMENTED.

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

Apply delta value.

Definition at line 197 of file OgreAnimable.h.

References Ogre::Exception::ERR_NOT_IMPLEMENTED.

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

Set value.

Definition at line 193 of file OgreAnimable.h.

References Ogre::Exception::ERR_NOT_IMPLEMENTED.

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

Apply delta value.

Definition at line 189 of file OgreAnimable.h.

References Ogre::Exception::ERR_NOT_IMPLEMENTED.

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

Gets the value type of this animable value.

Definition at line 141 of file OgreAnimable.h.

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

Definition at line 107 of file OgreMemoryAllocatedObject.h.

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

Definition at line 101 of file OgreMemoryAllocatedObject.h.

template<class Alloc >
void Ogre::AllocatedObject< Alloc >::operator delete ( void *  ptr  )  [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 118 of file OgreMemoryAllocatedObject.h.

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

Definition at line 112 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 78 of file OgreMemoryAllocatedObject.h.

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

Definition at line 72 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]

operator new, with debug line info

Definition at line 67 of file OgreMemoryAllocatedObject.h.

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

Definition at line 90 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 85 of file OgreMemoryAllocatedObject.h.

virtual void Ogre::AnimableValue::resetToBaseValue ( void   )  [virtual]
virtual void Ogre::AnimableValue::setAsBaseValue ( const Degree val  )  [protected, virtual]

Internal method to set a value as base.

Definition at line 130 of file OgreAnimable.h.

References Ogre::Degree::valueRadians().

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

Internal method to set a value as base.

Definition at line 125 of file OgreAnimable.h.

References Ogre::Radian::valueRadians().

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

Internal method to set a value as base.

Definition at line 117 of file OgreAnimable.h.

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

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

Internal method to set a value as base.

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

Internal method to set a value as base.

Definition at line 112 of file OgreAnimable.h.

References Ogre::Quaternion::ptr().

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

Internal method to set a value as base.

Definition at line 109 of file OgreAnimable.h.

References Ogre::Vector4::ptr().

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

Internal method to set a value as base.

Definition at line 106 of file OgreAnimable.h.

References Ogre::Vector3::ptr().

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

Internal method to set a value as base.

Definition at line 103 of file OgreAnimable.h.

References Ogre::Vector2::ptr().

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

Internal method to set a value as base.

Definition at line 101 of file OgreAnimable.h.

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

Internal method to set a value as base.

Definition at line 99 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 ( const Any val  )  [virtual]

Set value.

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

Set value.

Definition at line 179 of file OgreAnimable.h.

References Ogre::Exception::ERR_NOT_IMPLEMENTED.

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

Set value.

Definition at line 175 of file OgreAnimable.h.

References Ogre::Exception::ERR_NOT_IMPLEMENTED.

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

Set value.

Definition at line 171 of file OgreAnimable.h.

References Ogre::Exception::ERR_NOT_IMPLEMENTED.

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

Set value.

Definition at line 167 of file OgreAnimable.h.

References Ogre::Exception::ERR_NOT_IMPLEMENTED.

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

Set value.

Definition at line 163 of file OgreAnimable.h.

References Ogre::Exception::ERR_NOT_IMPLEMENTED.

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

Set value.

Definition at line 159 of file OgreAnimable.h.

References Ogre::Exception::ERR_NOT_IMPLEMENTED.

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

Set value.

Definition at line 155 of file OgreAnimable.h.

References Ogre::Exception::ERR_NOT_IMPLEMENTED.

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

Set value.

Definition at line 151 of file OgreAnimable.h.

References Ogre::Exception::ERR_NOT_IMPLEMENTED.

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

Set value.

Definition at line 147 of file OgreAnimable.h.

References Ogre::Exception::ERR_NOT_IMPLEMENTED.


Member Data Documentation

union { ... } [protected]

Base value data.

Definition at line 94 of file OgreAnimable.h.

Definition at line 95 of file OgreAnimable.h.

Value type.

Definition at line 89 of file OgreAnimable.h.


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

Copyright © 2012 Torus Knot Software Ltd
Creative Commons License
This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 Unported License.
Last modified Fri May 25 23:37:05 2012