3ds Max C++ API Reference
IActionItemOverrideManager Class Referenceabstract

The interface for managing action item overrides. More...

#include <IActionItemOverrideManager.h>

+ Inheritance diagram for IActionItemOverrideManager:

Public Member Functions

virtual void SetOverridesActive (BOOL active)=0
 Function to set action item overrides active. More...
 
virtual BOOL GetOverridesActive (void) const =0
 Get whether or not action item overrides are globally active or not. More...
 
virtual void SetTimeToStartOverride (float secs)=0
 Function to set how long a key must be pressed before a suitable action item becomes an override. More...
 
virtual float GetTimeToStartOverride () const =0
 How much time, in seconds, that we need to hold a key before a suitable ction item becomes an override. More...
 
virtual void RegisterActionItemOverride (ActionItem *aItem, MSTR &overrideDescription)=0
 Function to register an action item as a possible override. More...
 
virtual void UnregisterActionItemOverride (ActionItem *aItem)=0
 Function to unregister an action item as a possible override. More...
 
virtual BOOL IsActionItemRegistered (ActionItem *aItem, MSTR &description)=0
 Function to see if an action item has been registered, and thus may eventually be activated. More...
 
virtual void ActivateActionItemOverride (ActionItem *aItem, IActionItemOverride *aItemOverride)=0
 Function to activate a particular action item with a particular override, which then allows the action item to work like an override also. More...
 
virtual void DeactivateActionItemOverride (ActionItem *aItem)=0
 Function to deactivate an action item override. More...
 
virtual IActionItemOverrideFindOverride (ActionItem *aItem)=0
 Find a particular activated IActionItemOverride given a particular ActionItem. More...
 
virtual ActionItemGetOverridingActionItem () const =0
 Returns the action item that is currently being overriden. More...
 
- Public Member Functions inherited from FPInterfaceDesc
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 BaseInterfaceGetInterface (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. More...
 
CoreExport void AppendProperty (int id,...)
 Add a new property to this interface descriptor. More...
 
CoreExport void AppendEnum (int id,...)
 Add a new enum to this interface descriptor. More...
 
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)
 
FPInterfaceDescGetDesc ()
 
Interface_ID GetID ()
 
CoreExport FPFunctionDefGetFnDef (FunctionID fid)
 
ActionTableGetActionTable ()
 
CoreExport void EnableActions (BOOL onOff)
 
virtual CoreExport HINSTANCE HInstance ()
 
virtual CoreExport const MCHARGetRsrcString (StringResID id)
 
- Public Member Functions inherited from FPInterface
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)
 
- Public Member Functions inherited from BaseInterface
virtual UtilExport ~BaseInterface ()
 Destructor. More...
 
virtual bool RegisterNotifyCallback (InterfaceNotifyCallback *incb)
 
virtual void UnRegisterNotifyCallback (InterfaceNotifyCallback *incb)
 
virtual BaseInterfaceAcquireInterface ()
 
virtual void ReleaseInterface ()
 
virtual void DeleteInterface ()
 
virtual BaseInterfaceCloneInterface (void *remapDir=nullptr)
 
- Public Member Functions inherited from InterfaceServer
virtual UtilExport ~InterfaceServer ()
 Destructor. More...
 
template<class InterfaceType >
InterfaceType * GetTypedInterface ()
 

Additional Inherited Members

- Public Types inherited from BaseInterface
enum  LifetimeType { noRelease , immediateRelease , wantsRelease , serverControlled }
 
- Static Public Member Functions inherited from MaxHeapOperators
static UtilExport voidoperator new (size_t size)
 Standard new operator used to allocate objects If there is insufficient memory, an exception will be thrown. More...
 
static UtilExport voidoperator 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. More...
 
static UtilExport voidoperator 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. More...
 
static UtilExport voidoperator 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. More...
 
static UtilExport voidoperator 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. More...
 
static UtilExport voidoperator 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. More...
 
static UtilExport voidoperator 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. More...
 
static UtilExport voidoperator new[] (size_t size)
 New operator used to allocate arrays of objects If there is insufficient memory, an exception will be thrown. More...
 
static UtilExport voidoperator 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. More...
 
static UtilExport voidoperator 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. More...
 
static UtilExport voidoperator new[] (size_t size, int block_type, const char *filename, int line)
 New operator used to allocate arrays of objects. More...
 
static UtilExport voidoperator 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. More...
 
static UtilExport voidoperator 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. More...
 
static UtilExport voidoperator 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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
static UtilExport voidoperator new (size_t size, void *placement_ptr)
 Placement new operator. More...
 
static UtilExport void operator delete (void *ptr, void *placement_ptr)
 Placement delete operator. More...
 
static UtilExport voidaligned_malloc (size_t size, size_t alignment)
 Allocates memory on a specified alignment boundary. More...
 
static UtilExport voidaligned_realloc (void *ptr, size_t size, size_t alignment)
 Reallocates memory on a specified alignment boundary. More...
 
static UtilExport void aligned_free (void *ptr)
 Frees a block of memory that was allocated with aligned_malloc/aligned_realloc. More...
 
- Public Attributes inherited from FPInterfaceDesc
Interface_ID ID
 
MSTR internal_name
 
StringResID description
 
ClassDesccd
 
USHORT flags
 
Tab< FPFunctionDef * > functions
 
Tab< FPPropDef * > props
 
Tab< FPEnum * > enumerations
 
MSPluginClasspc
 
Rolloutrollout
 
ActionTableaction_table
 
- Static Public Attributes inherited from FPInterface
static CoreExport FPInterfaceDesc nullInterface
 
- Protected Member Functions inherited from FPInterfaceDesc
CoreExport void load_descriptor (Interface_ID id, const MCHAR *int_name, StringResID descr, ClassDesc *cd, USHORT flag, va_list ap)
 
- Protected Member Functions inherited from FPInterface
virtual FPStatus _dispatch_fn (FunctionID fid, TimeValue t, FPValue &result, FPParams *p)
 

Detailed Description

The interface for managing action item overrides.

This manager allows action item overrides to be activated, deactivated and retrieved. This static function-published interface is registered as a core interface. You retrieve this interface by calling

#define IACTIONITEMOVERRIDEMANAGER_INTERFACE
The unique interface ID for the SimpleFaceData Manager.
Definition: IActionItemOverrideManager.h:58
The interface for managing action item overrides.
Definition: IActionItemOverrideManager.h:69
CoreExport Interface * GetCOREInterface()

Note that once an IActionOverrideItem is managed by this interface by activating it, it then will get deleted by this interface.

See also
IActionItemOverride

Member Function Documentation

◆ SetOverridesActive()

virtual void SetOverridesActive ( BOOL  active)
pure virtual

Function to set action item overrides active.

Parameters
[in]activeIf TRUE then action item overrides may be active, if FALSE then all action overrides will be disabled.

◆ GetOverridesActive()

virtual BOOL GetOverridesActive ( void  ) const
pure virtual

Get whether or not action item overrides are globally active or not.

Returns
TRUE if action item overrides may be active, FALSE if otherwise.

◆ SetTimeToStartOverride()

virtual void SetTimeToStartOverride ( float  secs)
pure virtual

Function to set how long a key must be pressed before a suitable action item becomes an override.

Parameters
[in]secsThe number of seconds that a key must be pressed and held before an action item becomes an override.

◆ GetTimeToStartOverride()

virtual float GetTimeToStartOverride ( ) const
pure virtual

How much time, in seconds, that we need to hold a key before a suitable ction item becomes an override.

Returns
Returns how many seconds that we need to hold a key before an action time becomes an override.

◆ RegisterActionItemOverride()

virtual void RegisterActionItemOverride ( ActionItem aItem,
MSTR overrideDescription 
)
pure virtual

Function to register an action item as a possible override.

Function to register an action item as a possible override. The purpose of this is to inform the system of a possible override so that the action item may get highlighted in the customize UI dialog.

Parameters
[in]aItemThe action item that may have an override.
[in]overrideDescriptionText description of what the override does.

◆ UnregisterActionItemOverride()

virtual void UnregisterActionItemOverride ( ActionItem aItem)
pure virtual

Function to unregister an action item as a possible override.

Function to unregister an action item as a possible override. The client should call this when either an action item will no longer be overridable of if the action item will get removed from the action table.

See also
ActionTable::DeleteOperation.
Parameters
[in]aItemThe action item that we want to unregister. Nothing happens if the action item was never registered.

◆ IsActionItemRegistered()

virtual BOOL IsActionItemRegistered ( ActionItem aItem,
MSTR description 
)
pure virtual

Function to see if an action item has been registered, and thus may eventually be activated.

Parameters
[in]aItemThe aciton item that may have an override.
[out]descriptionThe text description of the override.
Returns
Return TRUE if the ActionItem is registered, otherwise return FALSE.

◆ ActivateActionItemOverride()

virtual void ActivateActionItemOverride ( ActionItem aItem,
IActionItemOverride aItemOverride 
)
pure virtual

Function to activate a particular action item with a particular override, which then allows the action item to work like an override also.

Function to activate a particular action item with a particular override. This function must be called in order for a particular action item to work like an override.

Parameters
[in]aItemThe action item that will be associated with an override.
[in]aItemOverrideThe action item override that will override the action item when a key is held. Note that once a IActionItemOverride object is activated the deletion of this object is now the responsibility of the IActionItemOverrideManager, and so the client shouldn't delete it also. Usually the action item override will be activated after IActionManger::ActivateActionTable is called.

◆ DeactivateActionItemOverride()

virtual void DeactivateActionItemOverride ( ActionItem aItem)
pure virtual

Function to deactivate an action item override.

Function to unactive an action item with a corresponding action item override. Note that the activated IActionItemOverride instance will get deleted when this occurs. For efficiency, a user should unactivate their action item and action item overrides whenever they would also deactivate an action table via IActionManager::DeactiveActionTable, usually within a Animatable::EndEditParams function call.

See also
IActionManager::DeactivateActionTable
Parameters
[in]aItemThe action item that will be unactivated. The corresponding IActionActionItemOverride will also get removed and deleted.

◆ FindOverride()

virtual IActionItemOverride* FindOverride ( ActionItem aItem)
pure virtual

Find a particular activated IActionItemOverride given a particular ActionItem.

Returns
Returns the IActionItemOverride object that's been activated with IActionItemOverrideManager::ActivateActionItemOverride. If none exists, it will return NULL.

◆ GetOverridingActionItem()

virtual ActionItem* GetOverridingActionItem ( ) const
pure virtual

Returns the action item that is currently being overriden.

Returns
Returns a pointer to the ActionItem that is currently being overriden. If no action item is being overriden, it return NULL.