Extend IKeyControl to include interfaces to IKeyProperty.
Keys of a key controller may have extra properties that does not
affect the interpolated value. These properties are accessed
through interface IKeyProperty. IKeyControl2
provides interface to the Key Property of individual keys.
The interface ID is I_KEYCONTROL2 defined in
AnimatableInterfaceIDs.h.
#include <istdplug.h>
Public Member Functions |
|
virtual bool | DoesKeyPropExist (IKeyProperty::PropID id) |
Whether the key of this key controller has
property of ID id. |
|
virtual const IKeyProperty * | GetKeyProp (IKeyProperty::PropID id, int i) |
Get the property of the i-th key. |
|
virtual bool | SetKeyProp (IKeyProperty::PropID id, int i, const IKeyProperty &prop) |
Set the property to the i-th key. |
virtual bool DoesKeyPropExist | ( | IKeyProperty::PropID | id | ) | [inline, virtual] |
Whether the key of this key controller has property of ID id.
[in] | id | - the property ID being queried. |
{ return false;}
virtual const IKeyProperty* GetKeyProp | ( | IKeyProperty::PropID | id, |
int | i | ||
) | [inline, virtual] |
Get the property of the i-th key.
Use this method to get the property of the i-th key.
[in] | id | - the property ID. |
[in] | i | - the index of the key |
{ return NULL; }
virtual bool SetKeyProp | ( | IKeyProperty::PropID | id, |
int | i, | ||
const IKeyProperty & | prop | ||
) | [inline, virtual] |
Set the property to the i-th key.
[in] | id | - the property ID. |
[in] | i | the index for the key at which to set. |
[in] | prop | - the property object whose values are used for
set-value. The implementation will cast it to appropriate property interface and call the get methods to extract values. The values will be checked against the expected range. An attribute of the key property won't be affected if the value of that particular attribute is out of range. |
{ return false; }