3ds Max C++ API Reference
|
Locked Track Manager This class provides an interface for managing and setting locks on acceptable tracks. More...
#include <ILockedTracks.h>
Public Member Functions | |
virtual bool | IsLockable (ReferenceTarget *anim, ReferenceTarget *client, int subNum)=0 |
Function to see if a particular track is lockable. | |
virtual bool | GetLocked (ReferenceTarget *anim, ReferenceTarget *client, int subNum, bool checkOverride=true)=0 |
Function to see if a particular track is locked or unlocked. | |
Setting Locks | |
virtual void | SetLocks (bool val, Tab< ReferenceTarget * > &anims, Tab< ReferenceTarget * > &clients, Tab< int > &subNums, bool lockSubAnims)=0 |
Function to set or unset a lock on a list of possible tracks. This function is used to lock or unlock a list of possible tracks. The tracks are represented by a pointer to the track, a pointer to their parent, and it's parent sub anim number. You can specify if you want to propagate the locking or unlocking to the tracks children. | |
virtual void | ToggleLocks (Tab< ReferenceTarget * > &anims, Tab< ReferenceTarget * > &clients, Tab< int > &subNums, bool lockSubAnims)=0 |
Function to toggle a lock on a list of possible tracks. | |
Unlocking Overrides | |
virtual void | SetUnLockOverride (bool val)=0 |
Function to unlock all locks. Note will NOT unlock a locked item in an imported container. | |
virtual bool | GetUnLockOverride () const =0 |
Function to get the state of the unlock override. | |
virtual void | PushUberUnLockOverride ()=0 |
Function to override all locked tracks, even those in containers. | |
virtual void | PopUberUnLockOverride ()=0 |
Function to pop the uber unlock override state. | |
virtual int | GetUberUnLockOverride () const =0 |
Function to get the state of the uber unlock override. | |
Convenience Functions | |
virtual void | FindLockedAnims (bool locked, bool checkOverride, ReferenceTarget *refTarget, Tab< ReferenceTarget * > &anims, Tab< ReferenceTarget * > &clients, Tab< int > &subNums)=0 |
Function to find all locked or unlocked anims on a node. | |
virtual bool | IsAnimOverrideUnlocked (ReferenceTarget *anim)=0 |
Function to test whether or not a particular anim is overridden unlocked or not. | |
![]() | |
CoreExport | FPInterfaceDesc () |
CoreExport | FPInterfaceDesc (Interface_ID id, const MCHAR *int_name, StringResID descr, ClassDesc *cd, ULONG flag,...) |
CoreExport | ~FPInterfaceDesc () |
virtual void | Init () |
LifetimeType | LifetimeControl () |
virtual BaseInterface * | GetInterface (Interface_ID id) |
CoreExport void | LoadDescriptor (Interface_ID id, const MCHAR *int_name, StringResID descr, ClassDesc *pCD, ULONG flag,...) |
CoreExport void | AppendFunction (int id,...) |
Add a new function to this interface descriptor. | |
CoreExport void | AppendProperty (int id,...) |
Add a new property to this interface descriptor. | |
CoreExport void | AppendEnum (int id,...) |
Add a new enum to this interface descriptor. | |
CoreExport void | SetClassDesc (ClassDesc *i_cd) |
CoreExport va_list | check_fn (va_list ap, int id) |
CoreExport va_list | scan_fn (va_list ap, int id, int index) |
CoreExport va_list | check_prop (va_list ap, int id) |
CoreExport va_list | scan_prop (va_list ap, int id, int index) |
CoreExport va_list | check_enum (va_list ap, EnumID id) |
CoreExport va_list | scan_enum (va_list ap, EnumID id, int index) |
FPInterfaceDesc * | GetDesc () |
Interface_ID | GetID () |
CoreExport FPFunctionDef * | GetFnDef (FunctionID fid) |
ActionTable * | GetActionTable () |
CoreExport void | EnableActions (BOOL onOff) |
virtual CoreExport HINSTANCE | HInstance () |
virtual CoreExport const MCHAR * | GetRsrcString (StringResID id) |
![]() | |
virtual BaseInterface * | GetInterface (Interface_ID id) |
virtual FPInterfaceDesc * | GetDesc ()=0 |
virtual CoreExport FPStatus | Invoke (FunctionID fid, TimeValue t=0, FPParams *params=NULL) |
virtual FPStatus | Invoke (FunctionID fid, FPParams *params) |
virtual CoreExport FPStatus | Invoke (FunctionID fid, TimeValue t, FPValue &result, FPParams *params=NULL) |
virtual FPStatus | Invoke (FunctionID fid, FPValue &result, FPParams *params=NULL) |
virtual CoreExport FunctionID | FindFn (const MCHAR *name) |
virtual CoreExport BOOL | IsEnabled (FunctionID actionID) |
virtual CoreExport BOOL | IsChecked (FunctionID actionID) |
virtual CoreExport BOOL | IsVisible (FunctionID actionID) |
virtual CoreExport FunctionID | GetIsEnabled (FunctionID actionID) |
virtual CoreExport FunctionID | GetIsChecked (FunctionID actionID) |
virtual CoreExport FunctionID | GetIsVisible (FunctionID actionID) |
virtual ActionTable * | GetActionTable () |
virtual void | EnableActions (BOOL onOff) |
![]() | |
virtual UtilExport | ~BaseInterface () |
Destructor. | |
UtilExport BaseInterface * | GetInterface (Interface_ID id) override |
virtual UtilExport Interface_ID | GetID () |
virtual LifetimeType | LifetimeControl () |
virtual bool | RegisterNotifyCallback (InterfaceNotifyCallback *incb) |
virtual void | UnRegisterNotifyCallback (InterfaceNotifyCallback *incb) |
virtual BaseInterface * | AcquireInterface () |
virtual void | ReleaseInterface () |
virtual void | DeleteInterface () |
virtual BaseInterface * | CloneInterface (void *remapDir=nullptr) |
![]() | |
virtual UtilExport | ~InterfaceServer () |
Destructor. | |
virtual UtilExport BaseInterface * | GetInterface (Interface_ID id) |
template<class InterfaceType > | |
InterfaceType * | GetTypedInterface () |
Additional Inherited Members | |
![]() | |
enum | LifetimeType { noRelease , immediateRelease , wantsRelease , serverControlled } |
![]() | |
static UtilExport void * | operator new (size_t size) |
Standard new operator used to allocate objects If there is insufficient memory, an exception will be thrown. | |
static UtilExport void * | operator new (size_t size, const std::nothrow_t &e) |
Standard new operator used to allocate objects if there is insufficient memory, NULL will be returned. | |
static UtilExport void * | operator new (size_t size, const char *filename, int line) |
New operator used to allocate objects that takes the filename and line number where the new was called If there is insufficient memory, an exception will be thrown. | |
static UtilExport void * | operator new (size_t size, int block_type, const char *filename, int line) |
New operator used to allocate objects that takes the type of memory, filename and line number where the new was called If there is insufficient memory, an exception will be thrown. | |
static UtilExport void * | operator new (size_t size, const std::nothrow_t &e, const char *filename, int line) |
New operator used to allocate objects that takes the filename and line number where the new was called If there is insufficient memory, NULL will be returned. | |
static UtilExport void * | operator new (size_t size, unsigned long flags) |
New operator used to allocate objects that takes extra flags to specify special operations If there is insufficient memory, an exception will be thrown. | |
static UtilExport void * | operator new (size_t size, const std::nothrow_t &e, unsigned long flags) |
New operator used to allocate objects that takes extra flags to specify special operations If there is insufficient memory, NULL will be returned. | |
static UtilExport void * | operator new[] (size_t size) |
New operator used to allocate arrays of objects If there is insufficient memory, an exception will be thrown. | |
static UtilExport void * | operator new[] (size_t size, const std::nothrow_t &e) |
New operator used to allocate arrays of objects If there is insufficient memory, NULL will be returned. | |
static UtilExport void * | operator new[] (size_t size, const char *filename, int line) |
New operator used to allocate arrays of objects If there is insufficient memory, an exception will be thrown. | |
static UtilExport void * | operator new[] (size_t size, int block_type, const char *filename, int line) |
New operator used to allocate arrays of objects. | |
static UtilExport void * | operator new[] (size_t size, const std::nothrow_t &e, const char *filename, int line) |
New operator used to allocate arrays of objects If there is insufficient memory, NULL will be returned. | |
static UtilExport void * | operator new[] (size_t size, unsigned long flags) |
New operator used to allocate arrays of objects If there is insufficient memory, an exception will be thrown. | |
static UtilExport void * | operator new[] (size_t size, const std::nothrow_t &e, unsigned long flags) |
New operator used to allocate arrays of objects If there is insufficient memory, NULL will be returned. | |
static UtilExport void | operator delete (void *ptr) |
Standard delete operator used to deallocate an object If the pointer is invalid, an exception will be thrown. | |
static UtilExport void | operator delete (void *ptr, const std::nothrow_t &e) |
Standard delete operator used to deallocate an object If the pointer is invalid, nothing will happen. | |
static UtilExport void | operator delete (void *ptr, const char *filename, int line) |
Delete operator used to deallocate an object that takes the filename and line number where the delete was called If the pointer is invalid, an exception will be thrown. | |
static UtilExport void | operator delete (void *ptr, int block_type, const char *filename, int line) |
Delete operator used to deallocate an object that takes the type of memory, filename and line number where the delete was called If the pointer is invalid, an exception will be thrown. | |
static UtilExport void | operator delete (void *ptr, const std::nothrow_t &e, const char *filename, int line) |
Delete operator used to deallocate an object that takes the filename and line number where the delete was called If the pointer is invalid, nothing will happen. | |
static UtilExport void | operator delete (void *ptr, unsigned long flags) |
Delete operator used to deallocate an object that takes extra flags to specify special operations If the pointer is invalid, an exception will be thrown. | |
static UtilExport void | operator delete (void *ptr, const std::nothrow_t &e, unsigned long flags) |
Delete operator used to deallocate an object that takes extra flags to specify special operations If the pointer is invalid, nothing will happen. | |
static UtilExport void | operator delete[] (void *ptr) |
Standard delete operator used to deallocate an array of objects If the pointer is invalid, an exception will be thrown. | |
static UtilExport void | operator delete[] (void *ptr, const std::nothrow_t &e) |
Standard delete operator used to deallocate an array of objects If the pointer is invalid, nothing will happen. | |
static UtilExport void | operator delete[] (void *ptr, const char *filename, int line) |
Delete operator used to deallocate an array of objects that takes the filename and line number where the delete was called If the pointer is invalid, an exception will be thrown. | |
static UtilExport void | operator delete[] (void *ptr, int block_type, const char *filename, int line) |
Delete operator used to deallocate an array of objects that takes the type of memory, filename and line number where the delete was called If the pointer is invalid, an exception will be thrown. | |
static UtilExport void | operator delete[] (void *ptr, const std::nothrow_t &e, const char *filename, int line) |
Delete operator used to deallocate an array of objects that takes the filename and line number where the delete was called If the pointer is invalid, nothing will happen. | |
static UtilExport void | operator delete[] (void *ptr, unsigned long flags) |
Delete operator used to deallocate an array of objects that takes extra flags to specify special operations If the pointer is invalid, an exception will be thrown. | |
static UtilExport void | operator delete[] (void *ptr, const std::nothrow_t &e, unsigned long flags) |
Delete operator used to deallocate an array of objects that takes extra flags to specify special operations If the pointer is invalid, an exception will be thrown. | |
static UtilExport void * | operator new (size_t size, void *placement_ptr) |
Placement new operator. | |
static UtilExport void | operator delete (void *ptr, void *placement_ptr) |
Placement delete operator. | |
static UtilExport void * | aligned_malloc (size_t size, size_t alignment) |
Allocates memory on a specified alignment boundary. | |
static UtilExport void * | aligned_realloc (void *ptr, size_t size, size_t alignment) |
Reallocates memory on a specified alignment boundary. | |
static UtilExport void | aligned_free (void *ptr) |
Frees a block of memory that was allocated with aligned_malloc/aligned_realloc. | |
![]() | |
Interface_ID | ID |
MSTR | internal_name |
StringResID | description |
ClassDesc * | cd |
USHORT | flags |
Tab< FPFunctionDef * > | functions |
Tab< FPPropDef * > | props |
Tab< FPEnum * > | enumerations |
MSPluginClass * | pc |
Rollout * | rollout |
ActionTable * | action_table |
![]() | |
static CoreExport FPInterfaceDesc | nullInterface |
![]() | |
CoreExport void | load_descriptor (Interface_ID id, const MCHAR *int_name, StringResID descr, ClassDesc *cd, USHORT flag, va_list ap) |
![]() | |
virtual FPStatus | _dispatch_fn (FunctionID fid, TimeValue t, FPValue &result, FPParams *p) |
Locked Track Manager This class provides an interface for managing and setting locks on acceptable tracks.
To get a pointer to this class simply call
|
pure virtual |
Function to see if a particular track is lockable.
This function is used to see if a particular track may get locked and unlocked.
[in] | anim | The track that we are checking to see if it's lockable. |
[in] | client | The parent of the track that we are testing to see if it's lockable. |
[in] | subNum | The subanim number of the anim related to it's client. |
|
pure virtual |
Function to see if a particular track is locked or unlocked.
This function is used to see if a track is locked or unlocked.
[in] | anim | The track that we are checking to see if it's locked |
[in] | client | The parent of the track that we are testing to see if it's locked. |
[in] | subNum | The subanim number of the anim related to it's client. |
[in] | checkOverride | If true we check the overrides first before testing to see if the item is locked, if false then we don't check the override state and rather just check the state of the locked item by itself. |
|
pure virtual |
Function to set or unset a lock on a list of possible tracks. This function is used to lock or unlock a list of possible tracks. The tracks are represented by a pointer to the track, a pointer to their parent, and it's parent sub anim number. You can specify if you want to propagate the locking or unlocking to the tracks children.
[in] | val | If true we lock, if false we unlock. |
[in] | anims | The list of tracks that you want to lock or unlock |
[in] | clients | The list of the tracks parents. |
[in] | subNums | The list of the subAnim id's for each of the track for each parent. |
[in] | lockSubAnims | If true then we also lock or unlock the tracks subanims, if false then we don't. |
|
pure virtual |
Function to toggle a lock on a list of possible tracks.
This function is used to toggle a lock on a list of possible tracks. The tracks are represented by a pointer to the track , a pointer to their parent, and it's parent sub anim number. You can specify if you want to propagate the locking or unlocking to the tracks children.
[in] | anims | The list of tracks that you want to toggle the lock on. |
[in] | clients | The list of the tracks parents. |
[in] | subNums | The list of the subAnim id's for each of the track for each parent. |
[in] | lockSubAnims | If true then we also toggle the locks on the tracks sub anims, if false we don't. |
|
pure virtual |
Function to unlock all locks. Note will NOT unlock a locked item in an imported container.
[in] | val | The value of the current state of the unlock override. If true then all locked items, not in an imported container, will become unlocked. |
|
pure virtual |
Function to get the state of the unlock override.
|
pure virtual |
Function to override all locked tracks, even those in containers.
This function will push an unlock override state that will let you override and unlock all tracks, including those that locked in a container. Useful usually when you want to have a script, like a script controller, still be able to drive locked tracks. Note that you need to call PopUberUnLockOverride to when you are done with this override and it should be used in a limited, local manner.
|
pure virtual |
Function to pop the uber unlock override state.
This function will pop an unlock override state that will let you override and unlock all tracks, including those that locked in a container. This function needs to be called at some point after every PushUberUnLockOverride function call. If called before PushUberUnLockOverride an error may occur.
|
pure virtual |
Function to get the state of the uber unlock override.
This function will return the value of how many existing pushes of the uber unlock override state exist. So, if this value is greater or equal to one then we have an active uber unlock override occurring, if the value is zero then we don't have this override, if this value is less than zero, then we have an error since a PopUberUnLockOverride(), was called without first calling PushUberUnLockOverride.
|
pure virtual |
Function to find all locked or unlocked anims on a node.
[in] | locked | If true we find locked items, if false we find unlocked items. If an item is not lockable, it is not included with either option. |
[in] | checkOverride | If true we check the overrides first before testing to see if the item is locked, |
[in] | refTarget | The reference target we will find the anims on. |
[out] | anims | The list of anims that are locked or unlocked. |
[out] | clients | The parents of the anims that are locked or unlocked. |
[out] | subNums | The subanim index of the anims that are locked or unlocked |
|
pure virtual |
Function to test whether or not a particular anim is overridden unlocked or not.
[in] | anim | The anim we are testing to see if it's overridden unlocked or not. |