3ds Max C++ API Reference
|
ILayerControl provides API access to layer control functionality. More...
#include <C:/adskgit/3dsmax/3dsmax/3dswin/src/maxsdk/include/ILayerControl.h>
Public Types | |
enum | { getNumLayers , setLayerActive , getLayerActive , copyLayer , pasteLayer , deleteLayer , count , setLayerActive_prop , getLayerActive_prop , getLayerName , setLayerName , getSubCtrl , getLayerWeight , setLayerWeight , getLayerMute , setLayerMute , collapseLayer , disableLayer , getLayerLocked , setLayerLocked } |
Public Types inherited from BaseInterface | |
enum | LifetimeType { noRelease , immediateRelease , wantsRelease , serverControlled } |
Public Member Functions | |
FN_0 (getNumLayers, TYPE_INT, GetLayerCount) | |
VFN_1 (setLayerActive, SetLayerActive, TYPE_INDEX) | |
FN_0 (getLayerActive, TYPE_INDEX, GetLayerActive) | |
VFN_1 (copyLayer, CopyLayer, TYPE_INDEX) | |
VFN_1 (pasteLayer, PasteLayer, TYPE_INDEX) | |
VFN_1 (deleteLayer, DeleteLayer, TYPE_INDEX) | |
FN_1 (getLayerName, TYPE_TSTR_BV, GetLayerName, TYPE_INDEX) | |
VFN_2 (setLayerName, SetLayerName, TYPE_INDEX, TYPE_STRING) | |
RO_PROP_FN (count, GetLayerCount, TYPE_INT) | |
PROP_FNS (getLayerActive_prop, GetLayerActive, setLayerActive_prop, SetLayerActive, TYPE_INDEX) | |
FN_1 (getSubCtrl, TYPE_CONTROL, GetSubCtrl, TYPE_INDEX) | |
FN_2 (getLayerWeight, TYPE_FLOAT, GetLayerWeight, TYPE_INDEX, TYPE_TIMEVALUE) | |
VFN_3 (setLayerWeight, SetLayerWeight, TYPE_INDEX, TYPE_TIMEVALUE, TYPE_FLOAT) | |
FN_1 (getLayerMute, TYPE_bool, GetLayerMute, TYPE_INDEX) | |
VFN_2 (setLayerMute, SetLayerMute, TYPE_INDEX, TYPE_bool) | |
VFN_1 (collapseLayer, CollapseLayer, TYPE_INDEX) | |
VFN_0 (disableLayer, DisableLayer) | |
FN_1 (getLayerLocked, TYPE_bool, GetLayerLocked, TYPE_INDEX) | |
VFN_2 (setLayerLocked, SetLayerLocked, TYPE_INDEX, TYPE_bool) | |
FPInterfaceDesc * | GetDesc () |
virtual int | GetLayerCount ()=0 |
Return the total number of layers on this layer control. | |
virtual void | SetLayerActive (int index)=0 |
Set the layer specified by the index to be active. | |
virtual int | GetLayerActive ()=0 |
Returns which layer is active. | |
virtual void | DeleteLayer (int index)=0 |
Delete the specified layer. | |
virtual void | CopyLayer (int index)=0 |
Copy the specified layer so that it may be pasted. | |
virtual void | PasteLayer (int index)=0 |
Paste the copied layer to the specified index. | |
virtual void | SetLayerName (int index, MSTR name)=0 |
Set the name of the specified layer. | |
virtual MSTR | GetLayerName (int index)=0 |
Get the name of the specified layer. | |
virtual float | GetLayerWeight (int index, TimeValue t)=0 |
Get the layer weight for the specified layer at the specified time. | |
virtual void | SetLayerWeight (int index, TimeValue t, float weight)=0 |
Set the layer weight for the specified layer at the specified time. | |
virtual bool | GetLayerMute (int index)=0 |
Get whether or not a particular layer is muted or not. | |
virtual void | SetLayerMute (int index, bool mute)=0 |
Set whether or not a particular layer is muted or not. | |
virtual Control * | GetSubCtrl (int in_index) const =0 |
Get a subcontroller from its index. | |
virtual void | CollapseLayer (int index)=0 |
Collapse the layer at the specified index so that it gets deleted and it's keys and values are baked down to the previous layer. | |
virtual void | DisableLayer ()=0 |
Disables and remove the layer controller, and replace it with the first, base layer. | |
virtual bool | GetLayerLocked (int index)=0 |
Get whether or not the layer is locked. | |
virtual void | SetLayerLocked (int index, bool locked)=0 |
Set whether or not a particular layer is locked. | |
Public Member Functions inherited from FPMixinInterface | |
FPMixinInterface () | |
virtual LifetimeType | LifetimeControl () |
virtual CoreExport bool | RegisterNotifyCallback (InterfaceNotifyCallback *incb) |
virtual void | UnRegisterNotifyCallback (InterfaceNotifyCallback *incb) |
CoreExport | ~FPMixinInterface () |
virtual BaseInterface * | GetInterface (Interface_ID id) |
virtual FPInterfaceDesc * | GetDescByID (Interface_ID id) |
virtual Interface_ID | GetID () |
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) |
virtual ActionTable * | GetActionTable () |
virtual void | EnableActions (BOOL onOff) |
Public Member Functions inherited from BaseInterface | |
virtual UtilExport | ~BaseInterface () |
Destructor. | |
virtual BaseInterface * | AcquireInterface () |
virtual void | ReleaseInterface () |
virtual void | DeleteInterface () |
virtual BaseInterface * | CloneInterface (void *remapDir=nullptr) |
Public Member Functions inherited from InterfaceServer | |
virtual UtilExport | ~InterfaceServer () |
Destructor. | |
template<class InterfaceType> | |
InterfaceType * | GetTypedInterface () |
Additional Inherited Members | |
Static Public Member Functions inherited from MaxHeapOperators | |
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. | |
Static Public Attributes inherited from FPInterface | |
static CoreExport FPInterfaceDesc | nullInterface |
Protected Member Functions inherited from FPMixinInterface | |
FPMixinInterface (const FPMixinInterface &rhs) | |
FPMixinInterface & | operator= (const FPMixinInterface &rhs) |
Protected Member Functions inherited from FPInterface | |
virtual FPStatus | _dispatch_fn (FunctionID fid, TimeValue t, FPValue &result, FPParams *p) |
Protected Attributes inherited from FPMixinInterface | |
Tab< InterfaceNotifyCallback * > * | interfaceNotifyCBs |
ILayerControl provides API access to layer control functionality.
The interface is returned by calling GetILayerControlInterface.
anonymous enum |
FN_0 | ( | getNumLayers | , |
TYPE_INT | , | ||
GetLayerCount | ) |
VFN_1 | ( | setLayerActive | , |
SetLayerActive | , | ||
TYPE_INDEX | ) |
FN_0 | ( | getLayerActive | , |
TYPE_INDEX | , | ||
GetLayerActive | ) |
VFN_1 | ( | copyLayer | , |
CopyLayer | , | ||
TYPE_INDEX | ) |
VFN_1 | ( | pasteLayer | , |
PasteLayer | , | ||
TYPE_INDEX | ) |
VFN_1 | ( | deleteLayer | , |
DeleteLayer | , | ||
TYPE_INDEX | ) |
FN_1 | ( | getLayerName | , |
TYPE_TSTR_BV | , | ||
GetLayerName | , | ||
TYPE_INDEX | ) |
VFN_2 | ( | setLayerName | , |
SetLayerName | , | ||
TYPE_INDEX | , | ||
TYPE_STRING | ) |
RO_PROP_FN | ( | count | , |
GetLayerCount | , | ||
TYPE_INT | ) |
PROP_FNS | ( | getLayerActive_prop | , |
GetLayerActive | , | ||
setLayerActive_prop | , | ||
SetLayerActive | , | ||
TYPE_INDEX | ) |
FN_1 | ( | getSubCtrl | , |
TYPE_CONTROL | , | ||
GetSubCtrl | , | ||
TYPE_INDEX | ) |
FN_2 | ( | getLayerWeight | , |
TYPE_FLOAT | , | ||
GetLayerWeight | , | ||
TYPE_INDEX | , | ||
TYPE_TIMEVALUE | ) |
VFN_3 | ( | setLayerWeight | , |
SetLayerWeight | , | ||
TYPE_INDEX | , | ||
TYPE_TIMEVALUE | , | ||
TYPE_FLOAT | ) |
FN_1 | ( | getLayerMute | , |
TYPE_bool | , | ||
GetLayerMute | , | ||
TYPE_INDEX | ) |
VFN_2 | ( | setLayerMute | , |
SetLayerMute | , | ||
TYPE_INDEX | , | ||
TYPE_bool | ) |
VFN_1 | ( | collapseLayer | , |
CollapseLayer | , | ||
TYPE_INDEX | ) |
VFN_0 | ( | disableLayer | , |
DisableLayer | ) |
FN_1 | ( | getLayerLocked | , |
TYPE_bool | , | ||
GetLayerLocked | , | ||
TYPE_INDEX | ) |
VFN_2 | ( | setLayerLocked | , |
SetLayerLocked | , | ||
TYPE_INDEX | , | ||
TYPE_bool | ) |
|
virtual |
Implements FPInterface.
|
pure virtual |
Return the total number of layers on this layer control.
Set the layer specified by the index to be active.
Note that this also sets this layer to be active on other layers on the same node that this layer is on, since layers on a node are synchronized.
[in] | index | The layer to set active. |
|
pure virtual |
Returns which layer is active.
Delete the specified layer.
Note since layers are synchronized on a node, other layers on the same node will also get deleted.
[in] | index | The layer to delete. |
Copy the specified layer so that it may be pasted.
Note since layers are synchronized on a node, other layers on the same node will also get cut.
[in] | index | The layer to cut. |
Paste the copied layer to the specified index.
Note since layers are synchronized on a node, other layers on the same node will also get pasted. If no layer is copied, then nothing happens.
[in] | index | Where the pasted layer will go. |
Set the name of the specified layer.
[in] | index | Which layer to rename. |
[in] | name | The new name of the layer. Remember layer names are unique so if a layer exists with this name, nothing happens. |
Get the name of the specified layer.
[in] | index | Which layer's name to get. |
Get the layer weight for the specified layer at the specified time.
[in] | index | Where to get the layer weight. |
[in] | t | At what time to get the layer weight. |
Set the layer weight for the specified layer at the specified time.
[in] | index | Where to set the layer weight. |
[in] | t | At what time to set the layer weight. |
[in] | weight | The weight to set. |
|
pure virtual |
Get whether or not a particular layer is muted or not.
[in] | index | Which layer to see if it's muted. |
Set whether or not a particular layer is muted or not.
[in] | index | Which layer to mute or not. |
[in] | mute | The mute value for the specified layer. |
Get a subcontroller from its index.
[in] | in_index | Index of the list controller subcontroller |
Collapse the layer at the specified index so that it gets deleted and it's keys and values are baked down to the previous layer.
[in] | index | Where to collapse. The index must be greater than zero since we can't collapse the first layer. |
|
pure virtual |
Disables and remove the layer controller, and replace it with the first, base layer.
Note that doing this may delete the layer control also, thus making this interface invalid. Nothing will happen if the layer controller has more than one layer.
|
pure virtual |
Get whether or not the layer is locked.
A locked layer cannot be animated nor collapsed, or pasted over and an object with a locked layer cannot get disabled.
[in] | index | Which layer to see if it's locked. |
Set whether or not a particular layer is locked.
A locked layer cannot be animated nor collapsed, or pasted over and an object with a locked layer cannot get disabled.
[in] | locked | the locked value for the specified layer. If true the layer is locked if false it is unlocked. |
[in] | index | Which layer output to lock or unlock. |