3ds Max C++ API Reference
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
IMetaDataManager::ParamDescriptor Struct Reference

A description for a parameter to be used in a meta-data, and its UI in an eventual rollout. More...

#include <IMetaData.h>

+ Inheritance diagram for IMetaDataManager::ParamDescriptor:

Public Member Functions

 ParamDescriptor ()
 

Public Attributes

const MCHARm_name
 
ParamType2 m_dataType
 
PB2Value m_defValue
 
ULONGLONG m_flags
 
PB2Value m_rangeLow
 
PB2Value m_rangeHigh
 
ControlType2 m_ctrlType
 
const MCHARm_ctrlLabel
 
int m_width
 
int m_height
 
IPoint2 m_offset
 
ControlAlign m_ctrlAlign
 
bool m_sliderHorizontal
 
int m_sliderTicks
 
bool m_labelOnTop
 
Color m_highlightColor
 

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.
 
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.
 
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.
 
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.
 
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.
 
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.
 
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.
 
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.
 
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.
 
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.
 
static UtilExport voidoperator new[] (size_t size, int block_type, const char *filename, int line)
 New operator used to allocate arrays of objects.
 
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.
 
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.
 
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.
 
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 voidoperator 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 voidaligned_malloc (size_t size, size_t alignment)
 Allocates memory on a specified alignment boundary.
 
static UtilExport voidaligned_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.
 

Detailed Description

A description for a parameter to be used in a meta-data, and its UI in an eventual rollout.

There are reasonable defaults for most of the fields. The ones that have to be filled are:

  • m_name: the name of the parameter. It cannot contain single quotes. All non-alphanumerical characters will be replaced with underscores, but the control label will show them.
  • m_dataType: for now, supported types are limited to TYPE_STRING, TYPE_FLOAT, TYPE_BOOL and TYPE_INT
  • m_ctrlType: should be appropriate for m_dataType. Supported types are limited to TYPE_EDITBOX, TYPE_SPINNER, TYPE_SINGLECHECKBOX, TYPE_CHECKBUTTON and TYPE_SLIDER
  • m_ctrlLabel: the label for the corresponding label. If not defined, m_name will be used
  • m_defValue: a default value for the parameter

Constructor & Destructor Documentation

◆ ParamDescriptor()

ParamDescriptor ( )
inline
63 :
64 m_name(NULL),
68 m_width(-1),
69 m_height(-1),
70 m_offset(0, 0),
74 m_labelOnTop(false),
75 m_highlightColor(0.99f, 0.86f, 0.03f)
76 {
77 }
#define NULL
Definition: autoptr.h:18
@ eAlignCenter
Definition: IMetaData.h:47
@ TYPE_EDITBOX
Identifies a 3ds Max custom edit box control.
Definition: paramtype.h:522
@ TYPE_STRING
A character string.
Definition: paramtype.h:69
int m_sliderTicks
Definition: IMetaData.h:99
bool m_labelOnTop
Definition: IMetaData.h:100
int m_width
Definition: IMetaData.h:93
IPoint2 m_offset
Definition: IMetaData.h:95
ControlType2 m_ctrlType
Definition: IMetaData.h:91
const MCHAR * m_name
Definition: IMetaData.h:79
bool m_sliderHorizontal
Definition: IMetaData.h:98
const MCHAR * m_ctrlLabel
Definition: IMetaData.h:92
ParamType2 m_dataType
Definition: IMetaData.h:80
ControlAlign m_ctrlAlign
Definition: IMetaData.h:96
int m_height
Definition: IMetaData.h:94
Color m_highlightColor
Definition: IMetaData.h:101

Member Data Documentation

◆ m_name

const MCHAR* m_name

◆ m_dataType

ParamType2 m_dataType

◆ m_defValue

PB2Value m_defValue

◆ m_flags

ULONGLONG m_flags

◆ m_rangeLow

PB2Value m_rangeLow

◆ m_rangeHigh

PB2Value m_rangeHigh

◆ m_ctrlType

ControlType2 m_ctrlType

◆ m_ctrlLabel

const MCHAR* m_ctrlLabel

◆ m_width

int m_width

◆ m_height

int m_height

◆ m_offset

IPoint2 m_offset

◆ m_ctrlAlign

ControlAlign m_ctrlAlign

◆ m_sliderHorizontal

bool m_sliderHorizontal

◆ m_sliderTicks

int m_sliderTicks

◆ m_labelOnTop

bool m_labelOnTop

◆ m_highlightColor

Color m_highlightColor