Public Member Functions

ILockedTrack Class Reference

This reference page is linked to from the following overview topics: General Best Practices, Animation Track Locking.


Search for all occurrences

Detailed Description

An interface to a track that can get locked.

Your animatable class should inherit from this class if it wants to support itself getting locked. Remember only items which can get locked can support local edits with containers. To get from an existing object, call GetLockedTrackInterface(anim) which is defined AnimatableInterfaceIDs.h

#include <ILockedTracks.h>

Inheritance diagram for ILockedTrack:
Inheritance graph
[legend]

List of all members.

Public Member Functions

virtual  ~ILockedTrack ()
  deconstructor
virtual void  SetLocked (bool val, bool lockSubanims, ReferenceTarget *anim, ReferenceTarget *client, int subNum)=0
  Function to lock or unlock this track This function will be called to lock or unlock this item.
virtual bool  GetLocked (bool checkOverride=true) const =0
  Return whether or not the track is locked.
virtual bool  IsComponent ()
  Returns whether or not the object is a component Returns whether or not an object is a component.

Constructor & Destructor Documentation

virtual ~ILockedTrack ( ) [inline, virtual]

deconstructor

{};

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 This function will be called to lock or unlock this item.

The implementator of this function is responsible for setting and saving the locked state of the track based upon the value of the passed in flag. Also it's the responsible of the implementator to lock it's sub anims 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.

Parameters:
[in] val If true the track gets locked, if false the track gets unlocked
[in] anim A pointer to the reference target that contains this interface.
[in] client A pointer to the parent of this interface.
[in] subNum The subanim index of this track.

Implemented in ILockedTrackImp.

virtual bool GetLocked ( bool  checkOverride = true ) const [pure virtual]

Return whether or not the track is locked.

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

Implemented in ILockedTrackImp.

virtual bool IsComponent ( ) [inline, virtual]

Returns whether or not the object is a component Returns whether or not an object is a component.

A component is an object that when locked gets replaced by a wrapper object that hides the existing object inside it. Lockable Modifiers and Materials may be examples of components. Most basic 'tracks' and controllers aren't componenets. Thus the default returns false.

Returns:
return true if a component false otherwise
{return false;}

ILockedTrack ILockedTrack ILockedTrack ILockedTrack ILockedTrack ILockedTrack ILockedTrack ILockedTrack ILockedTrack ILockedTrack
ILockedTrack ILockedTrack ILockedTrack ILockedTrack ILockedTrack ILockedTrack ILockedTrack ILockedTrack ILockedTrack ILockedTrack