OGRE  13.6
Object-Oriented Graphics Rendering Engine
Ogre::AnimableValue Class Referenceabstract

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

#include <OgreAnimable.h>

+ Inheritance diagram for Ogre::AnimableValue:

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 ()
 
virtual void applyDeltaValue (const Any &val)
 Apply delta value. More...
 
virtual void applyDeltaValue (const ColourValue &)
 Apply delta value. More...
 
virtual void applyDeltaValue (const Degree &)
 Apply delta value. More...
 
virtual void applyDeltaValue (const Quaternion &)
 Apply delta value. More...
 
virtual void applyDeltaValue (const Radian &)
 Apply delta value. More...
 
virtual void applyDeltaValue (const Vector2 &)
 Apply delta value. More...
 
virtual void applyDeltaValue (const Vector3 &)
 Apply delta value. More...
 
virtual void applyDeltaValue (const Vector4 &)
 Apply delta value. More...
 
virtual void applyDeltaValue (int)
 Apply delta value. More...
 
virtual void applyDeltaValue (Real)
 Set value. More...
 
ValueType getType (void) const
 Gets the value type of this animable value. More...
 
virtual void resetToBaseValue (void)
 
virtual void setCurrentStateAsBaseValue (void)=0
 Sets the current state as the 'base' value; used for delta animation. More...
 
virtual void setValue (const Any &val)
 Set value. More...
 
virtual void setValue (const ColourValue &)
 Set value. More...
 
virtual void setValue (const Degree &)
 Set value. More...
 
virtual void setValue (const Quaternion &)
 Set value. More...
 
virtual void setValue (const Radian &)
 Set value. More...
 
virtual void setValue (const Vector2 &)
 Set value. More...
 
virtual void setValue (const Vector3 &)
 Set value. More...
 
virtual void setValue (const Vector4 &)
 Set value. More...
 
virtual void setValue (int)
 Set value. More...
 
virtual void setValue (Real)
 Set value. More...
 

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.

Member Enumeration Documentation

◆ ValueType

The type of the value being animated.

Enumerator
INT 
REAL 
VECTOR2 
VECTOR3 
VECTOR4 
QUATERNION 
COLOUR 
RADIAN 
DEGREE 

Constructor & Destructor Documentation

◆ AnimableValue()

Ogre::AnimableValue::AnimableValue ( ValueType  t)
inline

◆ ~AnimableValue()

virtual Ogre::AnimableValue::~AnimableValue ( )
inlinevirtual

Member Function Documentation

◆ getType()

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

Gets the value type of this animable value.

◆ setCurrentStateAsBaseValue()

virtual void Ogre::AnimableValue::setCurrentStateAsBaseValue ( void  )
pure virtual

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

◆ setValue() [1/10]

virtual void Ogre::AnimableValue::setValue ( int  )
inlinevirtual

◆ setValue() [2/10]

virtual void Ogre::AnimableValue::setValue ( Real  )
inlinevirtual

◆ setValue() [3/10]

virtual void Ogre::AnimableValue::setValue ( const Vector2 )
inlinevirtual

◆ setValue() [4/10]

virtual void Ogre::AnimableValue::setValue ( const Vector3 )
inlinevirtual

◆ setValue() [5/10]

virtual void Ogre::AnimableValue::setValue ( const Vector4 )
inlinevirtual

◆ setValue() [6/10]

virtual void Ogre::AnimableValue::setValue ( const Quaternion )
inlinevirtual

◆ setValue() [7/10]

virtual void Ogre::AnimableValue::setValue ( const ColourValue )
inlinevirtual

◆ setValue() [8/10]

virtual void Ogre::AnimableValue::setValue ( const Radian )
inlinevirtual

◆ setValue() [9/10]

virtual void Ogre::AnimableValue::setValue ( const Degree )
inlinevirtual

◆ setValue() [10/10]

virtual void Ogre::AnimableValue::setValue ( const Any val)
virtual

Set value.

◆ resetToBaseValue()

virtual void Ogre::AnimableValue::resetToBaseValue ( void  )
virtual

◆ applyDeltaValue() [1/10]

virtual void Ogre::AnimableValue::applyDeltaValue ( int  )
inlinevirtual

Apply delta value.

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

◆ applyDeltaValue() [2/10]

virtual void Ogre::AnimableValue::applyDeltaValue ( Real  )
inlinevirtual

◆ applyDeltaValue() [3/10]

virtual void Ogre::AnimableValue::applyDeltaValue ( const Vector2 )
inlinevirtual

Apply delta value.

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

◆ applyDeltaValue() [4/10]

virtual void Ogre::AnimableValue::applyDeltaValue ( const Vector3 )
inlinevirtual

Apply delta value.

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

◆ applyDeltaValue() [5/10]

virtual void Ogre::AnimableValue::applyDeltaValue ( const Vector4 )
inlinevirtual

Apply delta value.

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

◆ applyDeltaValue() [6/10]

virtual void Ogre::AnimableValue::applyDeltaValue ( const Quaternion )
inlinevirtual

Apply delta value.

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

◆ applyDeltaValue() [7/10]

virtual void Ogre::AnimableValue::applyDeltaValue ( const ColourValue )
inlinevirtual

Apply delta value.

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

◆ applyDeltaValue() [8/10]

virtual void Ogre::AnimableValue::applyDeltaValue ( const Degree )
inlinevirtual

Apply delta value.

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

◆ applyDeltaValue() [9/10]

virtual void Ogre::AnimableValue::applyDeltaValue ( const Radian )
inlinevirtual

Apply delta value.

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

◆ applyDeltaValue() [10/10]

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

Apply delta value.

Member Data Documentation

◆ mBaseValueInt

int Ogre::AnimableValue::mBaseValueInt

◆ mBaseValueReal

Real Ogre::AnimableValue::mBaseValueReal[4]

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