3ds Max C++ API Reference
ParamUIDesc Class Reference

#include <iparamm.h>

+ Inheritance diagram for ParamUIDesc:

Public Member Functions

CoreExport ParamUIDesc (int index, EditSpinnerType spinType, int idEdit, int idSpin, float lowLim, float highLim, float scale, ParamDimension *dim=defaultDim)
 float lowLim,float highLim,float scale,

ParamDimension *dim=defaultDim); More...
 
CoreExport ParamUIDesc (int index, ControlType type, int *ctrlIDs, int count, int *vals=NULL)
 
CoreExport ParamUIDesc (int index, ControlType type, int id)
 
CoreExport ParamUIDesc (int index, EditSpinnerType spinType, int idEdit1, int idSpin1, int idEdit2, int idSpin2, int idEdit3, int idSpin3, float lowLim, float highLim, float scale, ParamDimension *dim=defaultDim)
 int idSpin3,float lowLim,float highLim,float scale,

ParamDimension *dim=defaultDim); More...
 

Public Attributes

int pbIndex
 
ParamType ptype
 
ControlType ctype
 
int id [6]
 
intids
 
intvals
 
int count
 
EditSpinnerType spinType
 
float lowLim
 
float highLim
 
float scale
 
ParamDimensiondim
 

Additional Inherited Members

- 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...
 

Detailed Description

See also
Class IParamMap, Parameter Maps.
Description:
The ParamUIDesc class is used in conjunction with the parameter maps mechanism. It is used for creating descriptors that define the properties of a user interface control such as its type (spinner, radio button, check box, etc.), which resource ID it refers to, and which index into the virtual array of parameters it uses. See the Advanced Topics section on Parameter Maps for an overview of how these descriptors are used.

Constructor & Destructor Documentation

◆ ParamUIDesc() [1/4]

CoreExport ParamUIDesc ( int  index,
EditSpinnerType  spinType,
int  idEdit,
int  idSpin,
float  lowLim,
float  highLim,
float  scale,
ParamDimension dim = defaultDim 
)

float lowLim,float highLim,float scale,

ParamDimension *dim=defaultDim);

Remarks
Constructor. This constructor is used for a float or int controlled by a single spinner control:
Parameters:
int index

This is the index into the IParamArray virtual array of this UI control.

EditSpinnerType spinType

This parameter specifies the type of value which may be entered. The valid types (listed in CUSTCONT.H) are:

EDITTYPE_INT - Any integer value.

EDITTYPE_FLOAT - Any floating point value.

EDITTYPE_UNIVERSE - This is a value in world space units. It respects the systems unit settings (for example feet and inches).

EDITTYPE_POS_INT - Any integer >= 0

EDITTYPE_POS_FLOAT - Any floating point value >= 0.0

EDITTYPE_POS_UNIVERSE - This is a positive value in world space units. It respects the systems unit settings (for example feet and inches) .

EDITTYPE_TIME - This is a time value. It respects the system time settings (SMPTE for example).

int idEdit, int idSpin

These are the resource IDs the edit control and the spinner control.

float lowLim

This is the minimum value the spinner can take on.

float highLim

This is the maximum value the spinner can take on.

float scale

This is the increment or decrement value used when the user uses the up or down arrow buttons of the spinner control. You may also pass the value SPIN_AUTOSCALE. This causes 3ds Max to automatically adjust the value used to increment or decrement based on the current value being edited. This allows the spinner to cover a wider range of values with less mouse movement or button clicking from the user.

◆ ParamUIDesc() [2/4]

CoreExport ParamUIDesc ( int  index,
ControlType  type,
int ctrlIDs,
int  count,
int vals = NULL 
)
Remarks
Constructor. This constructor is used for an int controlled by n radio buttons where

vals[i] represents the value if ctrlIDs[i] is checked. If vals=NULL then ctrlIDs[i] represents a value of i.

Or it may be used for:

An int controlled by multiple check boxes where each check boxes controls a single bit.

vals[i] specifies which bit ctrlIds[i] controls. If vals=NULL then ctrlIDs[i] controls the i-th bit.
Parameters:
int index

This is the index into the IParamArray virtual array of this UI control.

ControlType type

This specifies the type of control to use. The available control are:

TYPE_RADIO - Radio Buttons.

TYPE_MULTICHECKBOX - Multiple Check Boxes. Note: This option is not currently supported.

int *ctrlIDs

An array of control IDs. See the Remarks above.

int count

This is the number of control IDs in the array above.

int *vals=NULL

An array of values. See the Remarks above.

◆ ParamUIDesc() [3/4]

CoreExport ParamUIDesc ( int  index,
ControlType  type,
int  id 
)
Remarks
Constructor. This version is used for an int controlled by a single check box (BOOL) or a Point3 controlled by a color swatch.
Parameters:
int index

This is the index into the IParamArray virtual array of this UI control.

ControlType type

This specifies the type of control to use. The available control types (defined in IPARAM.H) are:

TYPE_SPINNER - Spinner Control.

TYPE_RADIO - Radio Button.

TYPE_SINGLECHECKBOX - Single Check Box.

TYPE_MULTICHECKBOX - Multiple Check Boxes. Note: This option is not currently supported.

TYPE_COLORSWATCH - Color Swatch.

int id

This is the resource ID of the control.

◆ ParamUIDesc() [4/4]

CoreExport ParamUIDesc ( int  index,
EditSpinnerType  spinType,
int  idEdit1,
int  idSpin1,
int  idEdit2,
int  idSpin2,
int  idEdit3,
int  idSpin3,
float  lowLim,
float  highLim,
float  scale,
ParamDimension dim = defaultDim 
)

int idSpin3,float lowLim,float highLim,float scale,

ParamDimension *dim=defaultDim);

Remarks
Implemented by the System.

This version if for a Point3 controlled by 3 spinners
Parameters:
int index

This is the index into the IParamArray virtual array of this UI control.

EditSpinnerType spinType

This parameter specifies the type of value which may be entered. The valid types (listed in CUSTCONT.H) are:

EDITTYPE_INT - Any integer value.

EDITTYPE_FLOAT - Any floating point value.

EDITTYPE_UNIVERSE - This is a value in world space units. It respects the systems unit settings (for example feet and inches).

EDITTYPE_POS_INT - Any integer >= 0

EDITTYPE_POS_FLOAT - Any floating point value >= 0.0

EDITTYPE_POS_UNIVERSE - This is a positive value in world space units. It respects the systems unit settings (for example feet and inches) .

EDITTYPE_TIME - This is a time value. It respects the system time settings (SMPTE for example).

int idEdit1,int idSpin1

These are the resource IDs of the first edit and spinner controls.

int idEdit2,int idSpin2

These are the resource IDs of the second edit and spinner controls.

int idEdit3,int idSpin3

These are the resource IDs of the third edit and spinner controls.

float lowLim

This is the minimum value the spinner can take on.

float highLim

This is the maximum value the spinner can take on.

float scale

This is the increment or decrement value used when the user uses the up or down arrow buttons of the spinner control. You may also pass the value SPIN_AUTOSCALE. This causes 3ds Max to automatically adjust the value used to increment or decrement based on the current value being edited. This allows the spinner to cover a wider range of values with less mouse movement or button clicking from the user.

ParamDimension *dim=defaultDim

This parameter represents the type and magnitude of the parameter. See Class ParamDimension.

Member Data Documentation

◆ pbIndex

int pbIndex

◆ ptype

ParamType ptype

◆ ctype

ControlType ctype

◆ id

int id[6]

◆ ids

int* ids

◆ vals

int* vals

◆ count

int count

◆ spinType

EditSpinnerType spinType

◆ lowLim

float lowLim

◆ highLim

float highLim

◆ scale

float scale

◆ dim