Public Member Functions

ILockedTrackClient Class Reference

Search for all occurrences

Detailed Description

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>

Inheritance diagram for ILockedTrackClient:
Inheritance graph
[legend]

List of all members.

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.

Constructor & Destructor Documentation

virtual ~ILockedTrackClient ( ) [inline, virtual]

destructor

{};

Member Function Documentation

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.

Parameters:
[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.

Parameters:
[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.
Returns:
Returns true if the subanim track is locked, false if it is not. Also take note that this track takes into account whether or not any overrides are active and if it's inside a container or not.
See also:
ILockedTracksMan.
virtual bool IsLockable ( int  subNum ) const [pure virtual]

Return whether or not one if its subanim tracks or lockable or not.

Parameters:
[in] subNum This is the SubAnim number for the track we want to check to see if it's lockable or not.
Returns:
Returns true if the subanim track is lockable false if it is not.

ILockedTrackClient ILockedTrackClient ILockedTrackClient ILockedTrackClient ILockedTrackClient ILockedTrackClient ILockedTrackClient ILockedTrackClient ILockedTrackClient ILockedTrackClient
ILockedTrackClient ILockedTrackClient ILockedTrackClient ILockedTrackClient ILockedTrackClient ILockedTrackClient ILockedTrackClient ILockedTrackClient ILockedTrackClient ILockedTrackClient