An interface to an object who is a client that has subanims that may get locked.
Your animatable class should inherit from this class if it wants to support subanims, that don't return an interface when GetLockedTrackInterface(anim) is called, but can still get locked. In particularly, IParamBlock and IParamBlock2 objects will return this interface since they will control the locking and unlocking of their parameter entries. To get from an existing object, call GetLockedTrackClientInterface(anim) which is defined AnimatableInterfaceIDs.h
#include <ILockedTracks.h>
Public Member Functions |
|
virtual | ~ILockedTrackClient () |
destructor |
|
virtual void | SetLocked (bool val, bool lockSubanims, ReferenceTarget *anim, ReferenceTarget *client, int subNum)=0 |
Function to lock or unlock this track's
subanim This function will be called to lock or unlock this clients
subanim . |
|
virtual bool | GetLocked (int subNum, bool checkOverride=true) const =0 |
Return whether or not one if it's subanim
tracks are locked. |
|
virtual bool | IsLockable (int subNum) const =0 |
Return whether or not one if its subanim
tracks or lockable or not. |
virtual ~ILockedTrackClient | ( | ) | [inline, virtual] |
destructor
{};
virtual void SetLocked | ( | bool | val, |
bool | lockSubanims, | ||
ReferenceTarget * | anim, | ||
ReferenceTarget * | client, | ||
int | subNum | ||
) | [pure virtual] |
Function to lock or unlock this track's subanim This function will be called to lock or unlock this clients subanim .
The implementer of this function is responsible for setting and saving the locked state of the subanim track based upon the value of the passed in flag. Also it's the responsible of the implementer to lock it's subanim subanims if the flag is set to also lock it's subanims. The system itself is responsible to making sure all of it's parents are unlocked when it gets unlocked also.
[in] | val | If true the subanim track gets locked, if false the track gets unlocked |
[in] | lockSubanims | If true then also lock the children of the anim that you are locking. Usually this is not needed since the anim is almost always a leaf. |
[in] | anim | A pointer to the reference target that contains this interface. |
[in] | client | A pointer to the reference target of this interface. It's the client that contains the subanim we will lock. |
[in] | subNum | The subanim index of this track. |
virtual bool GetLocked | ( | int | subNum, |
bool | checkOverride =
true |
||
) | const [pure virtual] |
Return whether or not one if it's subanim tracks are locked.
[in] | subNum | This is the SubAnim number for the track we want to check to see if it's locked. |
[in] | checkOverride | If true we check the overrides first before testing to see if the track is locked, if false then we don't check the override state and rather just check the state of the locked item by itself. |
virtual bool IsLockable | ( | int | subNum | ) | const [pure virtual] |
Return whether or not one if its subanim tracks or lockable or not.
[in] | subNum | This is the SubAnim number for the track we want to check to see if it's lockable or not. |