Go to the documentation of this file.
28 #ifndef __ANIMABLE_H__
29 #define __ANIMABLE_H__
105 { memcpy(mBaseValueReal, val.
ptr(),
sizeof(
Real)*2); }
108 { memcpy(mBaseValueReal, val.
ptr(),
sizeof(
Real)*3); }
111 { memcpy(mBaseValueReal, val.
ptr(),
sizeof(
Real)*4); }
114 { memcpy(mBaseValueReal, val.
ptr(),
sizeof(
Real)*4); }
116 virtual void setAsBaseValue(
const Any& val);
120 mBaseValueReal[0] = val.
r;
121 mBaseValueReal[1] = val.
g;
122 mBaseValueReal[2] = val.
b;
123 mBaseValueReal[3] = val.
a;
145 virtual void setCurrentStateAsBaseValue(
void) = 0;
184 virtual void setValue(
const Any& val);
187 virtual void resetToBaseValue(
void);
226 virtual void applyDeltaValue(
const Any& val);
256 if (msAnimableDictionary.find(getAnimableDictionaryName())
257 == msAnimableDictionary.end())
260 initialiseAnimableDictionary(vec);
261 msAnimableDictionary[getAnimableDictionaryName()] = vec;
269 AnimableDictionaryMap::iterator i =
270 msAnimableDictionary.find(getAnimableDictionaryName());
271 if (i != msAnimableDictionary.end())
278 "Animable value list not found for " + getAnimableDictionaryName(),
279 "AnimableObject::getAnimableValueNames");
297 createAnimableDictionary();
299 AnimableDictionaryMap::iterator i =
300 msAnimableDictionary.find(getAnimableDictionaryName());
301 if (i != msAnimableDictionary.end())
308 "Animable value list not found for " + getAnimableDictionaryName(),
309 "AnimableObject::getAnimableValueNames");
323 "No animable value named '" + valueName +
"' present.",
324 "AnimableObject::createAnimableValue");
virtual void setValue(const Vector2 &)
Set value.
virtual void applyDeltaValue(const Vector4 &)
Apply delta value.
StringVector & _getAnimableValueNames(void)
Get an updateable reference to animable value list.
Real valueRadians() const
Superclass for all objects that wish to use custom memory allocators when their new / delete operator...
AnimableValue(ValueType t)
virtual void applyDeltaValue(const Radian &)
Apply delta value.
vector< String >::type StringVector
Defines an object property which is animable, i.e.
virtual void applyDeltaValue(const Vector2 &)
Apply delta value.
virtual void setValue(const Quaternion &)
Set value.
Real * ptr()
Pointer accessor for direct copying.
Variant type that can hold Any other type.
virtual ~AnimableObject()
virtual void applyDeltaValue(Real)
Set value.
virtual void setAsBaseValue(int val)
Internal method to set a value as base.
map< String, StringVector >::type AnimableDictionaryMap
static AnimableDictionaryMap msAnimableDictionary
Static map of class name to list of animable value names.
void createAnimableDictionary(void) const
Internal method for creating a dictionary of animable value names for the class, if it does not alrea...
Real * ptr()
Pointer accessor for direct copying.
virtual void applyDeltaValue(const ColourValue &)
Apply delta value.
virtual void applyDeltaValue(const Quaternion &)
Apply delta value.
Real * ptr()
Pointer accessor for direct copying.
virtual void setAsBaseValue(const Radian &val)
Internal method to set a value as base.
virtual void setValue(const Degree &)
Set value.
Wrapper class which indicates a given angle value is in Degrees.
Implementation of a Quaternion, i.e.
virtual void setAsBaseValue(const Vector3 &val)
Internal method to set a value as base.
static const String BLANK
Constant blank string, useful for returning by ref where local does not exist.
virtual void setAsBaseValue(const Quaternion &val)
Internal method to set a value as base.
virtual void applyDeltaValue(const Degree &)
Apply delta value.
virtual void setValue(const Vector4 &)
Set value.
Defines an interface to classes which have one or more AnimableValue instances to expose.
Wrapper class which indicates a given angle value is in Radians.
virtual void setValue(const Radian &)
Set value.
virtual AnimableValuePtr createAnimableValue(const String &valueName)
Create a reference-counted AnimableValuePtr for the named value.
Real * ptr()
Pointer accessor for direct copying.
virtual void setValue(const Vector3 &)
Set value.
virtual void setValue(const ColourValue &)
Set value.
virtual void setAsBaseValue(const ColourValue &val)
Internal method to set a value as base.
Real valueRadians() const
std::map< K, V, P, A > type
const StringVector & getAnimableValueNames(void) const
Gets a list of animable value names for this object.
Class representing colour.
4-dimensional homogeneous vector.
Standard 2-dimensional vector.
SharedPtr< AnimableValue > AnimableValuePtr
virtual void initialiseAnimableDictionary(StringVector &) const
Internal method for initialising dictionary; should be implemented by subclasses wanting to expose an...
ValueType
The type of the value being animated.
virtual void setAsBaseValue(const Vector2 &val)
Internal method to set a value as base.
float Real
Software floating point type.
virtual void setAsBaseValue(const Degree &val)
Internal method to set a value as base.
virtual void applyDeltaValue(int)
Apply delta value.
#define OGRE_EXCEPT(num, desc, src)
virtual void setValue(Real)
Set value.
virtual void setAsBaseValue(Real val)
Internal method to set a value as base.
ValueType getType(void) const
Gets the value type of this animable value.
virtual void setValue(int)
Set value.
virtual void applyDeltaValue(const Vector3 &)
Apply delta value.
Standard 3-dimensional vector.
ValueType mType
Value type.
virtual const String & getAnimableDictionaryName(void) const
Get the name of the animable dictionary for this class.
virtual void setAsBaseValue(const Vector4 &val)
Internal method to set a value as base.
Copyright © 2012 Torus Knot Software Ltd

This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 Unported License.