paramtype.h File Reference

paramtype.h File Reference

Macros

#define TYPE_TAB   0x0800
 Flags a parameter type as a Tab<> More...
 
Function Publishing Type Modification Flags
#define TYPE_BY_REF   0x1000
 Flags a parameter as being delivered by reference (&). More...
 
#define TYPE_BY_VAL   0x2000
 Flags a parameter as being delivered by value (via a local copy owned by the FPValue). More...
 
#define TYPE_BY_PTR   0x4000
 Flags a parameter as being delivered by pointer (*) More...
 

Enumerations

enum  ParamType {
  TYPE_FLOAT, TYPE_INT, TYPE_RGBA, TYPE_POINT3,
  TYPE_BOOL, TYPE_USER
}
 Identifies a parameter type. More...
 
enum  ParamType2 {
  TYPE_ANGLE = TYPE_BOOL + 1, TYPE_PCNT_FRAC, TYPE_WORLD, TYPE_STRING,
  TYPE_FILENAME, TYPE_HSV, TYPE_COLOR_CHANNEL, TYPE_TIMEVALUE,
  TYPE_RADIOBTN_INDEX, TYPE_MTL, TYPE_TEXMAP, TYPE_BITMAP,
  TYPE_INODE, TYPE_REFTARG, TYPE_INDEX, TYPE_MATRIX3,
  TYPE_PBLOCK2, TYPE_POINT4, TYPE_FRGBA, TYPE_ENUM,
  TYPE_VOID, TYPE_INTERVAL, TYPE_ANGAXIS, TYPE_QUAT,
  TYPE_RAY, TYPE_POINT2, TYPE_BITARRAY, TYPE_CLASS,
  TYPE_MESH, TYPE_OBJECT, TYPE_CONTROL, TYPE_POINT,
  TYPE_TSTR, TYPE_IOBJECT, TYPE_INTERFACE, TYPE_HWND,
  TYPE_NAME, TYPE_COLOR, TYPE_FPVALUE, TYPE_VALUE,
  TYPE_DWORD, TYPE_bool, TYPE_INTPTR, TYPE_INT64,
  TYPE_DOUBLE, TYPE_FLOAT_TAB = TYPE_FLOAT + TYPE_TAB, TYPE_INT_TAB, TYPE_RGBA_TAB,
  TYPE_POINT3_TAB, TYPE_BOOL_TAB, TYPE_ANGLE_TAB, TYPE_PCNT_FRAC_TAB,
  TYPE_WORLD_TAB, TYPE_STRING_TAB, TYPE_FILENAME_TAB, TYPE_HSV_TAB,
  TYPE_COLOR_CHANNEL_TAB, TYPE_TIMEVALUE_TAB, TYPE_RADIOBTN_INDEX_TAB, TYPE_MTL_TAB,
  TYPE_TEXMAP_TAB, TYPE_BITMAP_TAB, TYPE_INODE_TAB, TYPE_REFTARG_TAB,
  TYPE_INDEX_TAB, TYPE_MATRIX3_TAB, TYPE_PBLOCK2_TAB, TYPE_POINT4_TAB,
  TYPE_FRGBA_TAB, TYPE_ENUM_TAB, TYPE_VOID_TAB, TYPE_INTERVAL_TAB,
  TYPE_ANGAXIS_TAB, TYPE_QUAT_TAB, TYPE_RAY_TAB, TYPE_POINT2_TAB,
  TYPE_BITARRAY_TAB, TYPE_CLASS_TAB, TYPE_MESH_TAB, TYPE_OBJECT_TAB,
  TYPE_CONTROL_TAB, TYPE_POINT_TAB, TYPE_TSTR_TAB, TYPE_IOBJECT_TAB,
  TYPE_INTERFACE_TAB, TYPE_HWND_TAB, TYPE_NAME_TAB, TYPE_COLOR_TAB,
  TYPE_FPVALUE_TAB, TYPE_VALUE_TAB, TYPE_DWORD_TAB, TYPE_bool_TAB,
  TYPE_INTPTR_TAB, TYPE_INT64_TAB, TYPE_DOUBLE_TAB, TYPE_FLOAT_BR = TYPE_FLOAT + TYPE_BY_REF,
  TYPE_INT_BR = TYPE_INT + TYPE_BY_REF, TYPE_BOOL_BR = TYPE_BOOL + TYPE_BY_REF, TYPE_ANGLE_BR = TYPE_ANGLE + TYPE_BY_REF, TYPE_PCNT_FRAC_BR = TYPE_PCNT_FRAC + TYPE_BY_REF,
  TYPE_WORLD_BR = TYPE_WORLD + TYPE_BY_REF, TYPE_COLOR_CHANNEL_BR = TYPE_COLOR_CHANNEL + TYPE_BY_REF, TYPE_TIMEVALUE_BR = TYPE_TIMEVALUE + TYPE_BY_REF, TYPE_RADIOBTN_INDEX_BR = TYPE_RADIOBTN_INDEX + TYPE_BY_REF,
  TYPE_INDEX_BR = TYPE_INDEX + TYPE_BY_REF, TYPE_RGBA_BR = TYPE_RGBA + TYPE_BY_REF, TYPE_BITMAP_BR = TYPE_BITMAP + TYPE_BY_REF, TYPE_POINT3_BR = TYPE_POINT3 + TYPE_BY_REF,
  TYPE_HSV_BR = TYPE_HSV + TYPE_BY_REF, TYPE_REFTARG_BR = TYPE_REFTARG + TYPE_BY_REF, TYPE_MATRIX3_BR = TYPE_MATRIX3 + TYPE_BY_REF, TYPE_POINT4_BR = TYPE_POINT4 + TYPE_BY_REF,
  TYPE_FRGBA_BR = TYPE_FRGBA + TYPE_BY_REF, TYPE_ENUM_BR = TYPE_ENUM + TYPE_BY_REF, TYPE_INTERVAL_BR = TYPE_INTERVAL + TYPE_BY_REF, TYPE_ANGAXIS_BR = TYPE_ANGAXIS + TYPE_BY_REF,
  TYPE_QUAT_BR = TYPE_QUAT + TYPE_BY_REF, TYPE_RAY_BR = TYPE_RAY + TYPE_BY_REF, TYPE_POINT2_BR = TYPE_POINT2 + TYPE_BY_REF, TYPE_BITARRAY_BR = TYPE_BITARRAY + TYPE_BY_REF,
  TYPE_MESH_BR = TYPE_MESH + TYPE_BY_REF, TYPE_POINT_BR = TYPE_POINT + TYPE_BY_REF, TYPE_TSTR_BR = TYPE_TSTR + TYPE_BY_REF, TYPE_COLOR_BR = TYPE_COLOR + TYPE_BY_REF,
  TYPE_FPVALUE_BR = TYPE_FPVALUE + TYPE_BY_REF, TYPE_DWORD_BR = TYPE_DWORD + TYPE_BY_REF, TYPE_bool_BR = TYPE_bool + TYPE_BY_REF, TYPE_INTPTR_BR = TYPE_INTPTR + TYPE_BY_REF,
  TYPE_INT64_BR = TYPE_INT64 + TYPE_BY_REF, TYPE_DOUBLE_BR = TYPE_DOUBLE + TYPE_BY_REF, TYPE_FLOAT_TAB_BR = TYPE_FLOAT + TYPE_TAB + TYPE_BY_REF, TYPE_INT_TAB_BR = TYPE_INT + TYPE_TAB + TYPE_BY_REF,
  TYPE_RGBA_TAB_BR = TYPE_RGBA + TYPE_TAB + TYPE_BY_REF, TYPE_POINT3_TAB_BR = TYPE_POINT3 + TYPE_TAB + TYPE_BY_REF, TYPE_BOOL_TAB_BR = TYPE_BOOL + TYPE_TAB + TYPE_BY_REF, TYPE_ANGLE_TAB_BR = TYPE_ANGLE + TYPE_TAB + TYPE_BY_REF,
  TYPE_PCNT_FRAC_TAB_BR = TYPE_PCNT_FRAC + TYPE_TAB + TYPE_BY_REF, TYPE_WORLD_TAB_BR = TYPE_WORLD + TYPE_TAB + TYPE_BY_REF, TYPE_STRING_TAB_BR = TYPE_STRING + TYPE_TAB + TYPE_BY_REF, TYPE_FILENAME_TAB_BR = TYPE_FILENAME + TYPE_TAB + TYPE_BY_REF,
  TYPE_HSV_TAB_BR = TYPE_HSV + TYPE_TAB + TYPE_BY_REF, TYPE_COLOR_CHANNEL_TAB_BR = TYPE_COLOR_CHANNEL + TYPE_TAB + TYPE_BY_REF, TYPE_TIMEVALUE_TAB_BR = TYPE_TIMEVALUE + TYPE_TAB + TYPE_BY_REF, TYPE_RADIOBTN_INDEX_TAB_BR = TYPE_RADIOBTN_INDEX + TYPE_TAB + TYPE_BY_REF,
  TYPE_MTL_TAB_BR = TYPE_MTL + TYPE_TAB + TYPE_BY_REF, TYPE_TEXMAP_TAB_BR = TYPE_TEXMAP + TYPE_TAB + TYPE_BY_REF, TYPE_BITMAP_TAB_BR = TYPE_BITMAP + TYPE_TAB + TYPE_BY_REF, TYPE_INODE_TAB_BR = TYPE_INODE + TYPE_TAB + TYPE_BY_REF,
  TYPE_REFTARG_TAB_BR = TYPE_REFTARG + TYPE_TAB + TYPE_BY_REF, TYPE_INDEX_TAB_BR = TYPE_INDEX + TYPE_TAB + TYPE_BY_REF, TYPE_MATRIX3_TAB_BR = TYPE_MATRIX3 + TYPE_TAB + TYPE_BY_REF, TYPE_POINT4_TAB_BR = TYPE_POINT4 + TYPE_TAB + TYPE_BY_REF,
  TYPE_FRGBA_TAB_BR = TYPE_FRGBA + TYPE_TAB + TYPE_BY_REF, TYPE_TSTR_TAB_BR = TYPE_TSTR + TYPE_TAB + TYPE_BY_REF, TYPE_ENUM_TAB_BR = TYPE_ENUM + TYPE_TAB + TYPE_BY_REF, TYPE_INTERVAL_TAB_BR = TYPE_INTERVAL + TYPE_TAB + TYPE_BY_REF,
  TYPE_ANGAXIS_TAB_BR = TYPE_ANGAXIS + TYPE_TAB + TYPE_BY_REF, TYPE_QUAT_TAB_BR = TYPE_QUAT + TYPE_TAB + TYPE_BY_REF, TYPE_RAY_TAB_BR = TYPE_RAY + TYPE_TAB + TYPE_BY_REF, TYPE_POINT2_TAB_BR = TYPE_POINT2 + TYPE_TAB + TYPE_BY_REF,
  TYPE_BITARRAY_TAB_BR = TYPE_BITARRAY + TYPE_TAB + TYPE_BY_REF, TYPE_CLASS_TAB_BR = TYPE_CLASS + TYPE_TAB + TYPE_BY_REF, TYPE_MESH_TAB_BR = TYPE_MESH + TYPE_TAB + TYPE_BY_REF, TYPE_OBJECT_TAB_BR = TYPE_OBJECT + TYPE_TAB + TYPE_BY_REF,
  TYPE_CONTROL_TAB_BR = TYPE_CONTROL + TYPE_TAB + TYPE_BY_REF, TYPE_POINT_TAB_BR = TYPE_POINT + TYPE_TAB + TYPE_BY_REF, TYPE_IOBJECT_TAB_BR = TYPE_IOBJECT + TYPE_TAB + TYPE_BY_REF, TYPE_INTERFACE_TAB_BR = TYPE_INTERFACE + TYPE_TAB + TYPE_BY_REF,
  TYPE_HWND_TAB_BR = TYPE_HWND + TYPE_TAB + TYPE_BY_REF, TYPE_NAME_TAB_BR = TYPE_NAME + TYPE_TAB + TYPE_BY_REF, TYPE_COLOR_TAB_BR = TYPE_COLOR + TYPE_TAB + TYPE_BY_REF, TYPE_FPVALUE_TAB_BR = TYPE_FPVALUE + TYPE_TAB + TYPE_BY_REF,
  TYPE_VALUE_TAB_BR = TYPE_VALUE + TYPE_TAB + TYPE_BY_REF, TYPE_DWORD_TAB_BR = TYPE_DWORD + TYPE_TAB + TYPE_BY_REF, TYPE_bool_TAB_BR = TYPE_bool + TYPE_TAB + TYPE_BY_REF, TYPE_INTPTR_TAB_BR = TYPE_INTPTR + TYPE_TAB + TYPE_BY_REF,
  TYPE_INT64_TAB_BR = TYPE_INT64 + TYPE_TAB + TYPE_BY_REF, TYPE_DOUBLE_TAB_BR = TYPE_DOUBLE + TYPE_TAB + TYPE_BY_REF, TYPE_RGBA_BV = TYPE_RGBA + TYPE_BY_VAL, TYPE_POINT3_BV = TYPE_POINT3 + TYPE_BY_VAL,
  TYPE_HSV_BV = TYPE_HSV + TYPE_BY_VAL, TYPE_INTERVAL_BV = TYPE_INTERVAL + TYPE_BY_VAL, TYPE_BITMAP_BV = TYPE_BITMAP + TYPE_BY_VAL, TYPE_MATRIX3_BV = TYPE_MATRIX3 + TYPE_BY_VAL,
  TYPE_POINT4_BV = TYPE_POINT4 + TYPE_BY_VAL, TYPE_FRGBA_BV = TYPE_FRGBA + TYPE_BY_VAL, TYPE_ANGAXIS_BV = TYPE_ANGAXIS + TYPE_BY_VAL, TYPE_QUAT_BV = TYPE_QUAT + TYPE_BY_VAL,
  TYPE_RAY_BV = TYPE_RAY + TYPE_BY_VAL, TYPE_POINT2_BV = TYPE_POINT2 + TYPE_BY_VAL, TYPE_BITARRAY_BV = TYPE_BITARRAY + TYPE_BY_VAL, TYPE_MESH_BV = TYPE_MESH + TYPE_BY_VAL,
  TYPE_POINT_BV = TYPE_POINT + TYPE_BY_VAL, TYPE_TSTR_BV = TYPE_TSTR + TYPE_BY_VAL, TYPE_COLOR_BV = TYPE_COLOR + TYPE_BY_VAL, TYPE_FPVALUE_BV = TYPE_FPVALUE + TYPE_BY_VAL,
  TYPE_CLASS_BV = TYPE_CLASS + TYPE_BY_VAL, TYPE_FLOAT_TAB_BV = TYPE_FLOAT + TYPE_TAB + TYPE_BY_VAL, TYPE_INT_TAB_BV = TYPE_INT + TYPE_TAB + TYPE_BY_VAL, TYPE_RGBA_TAB_BV = TYPE_RGBA + TYPE_TAB + TYPE_BY_VAL,
  TYPE_POINT3_TAB_BV = TYPE_POINT3 + TYPE_TAB + TYPE_BY_VAL, TYPE_BOOL_TAB_BV = TYPE_BOOL + TYPE_TAB + TYPE_BY_VAL, TYPE_ANGLE_TAB_BV = TYPE_ANGLE + TYPE_TAB + TYPE_BY_VAL, TYPE_PCNT_FRAC_TAB_BV = TYPE_PCNT_FRAC + TYPE_TAB + TYPE_BY_VAL,
  TYPE_WORLD_TAB_BV = TYPE_WORLD + TYPE_TAB + TYPE_BY_VAL, TYPE_STRING_TAB_BV = TYPE_STRING + TYPE_TAB + TYPE_BY_VAL, TYPE_FILENAME_TAB_BV = TYPE_FILENAME + TYPE_TAB + TYPE_BY_VAL, TYPE_HSV_TAB_BV = TYPE_HSV + TYPE_TAB + TYPE_BY_VAL,
  TYPE_COLOR_CHANNEL_TAB_BV = TYPE_COLOR_CHANNEL + TYPE_TAB + TYPE_BY_VAL, TYPE_TIMEVALUE_TAB_BV = TYPE_TIMEVALUE + TYPE_TAB + TYPE_BY_VAL, TYPE_RADIOBTN_INDEX_TAB_BV = TYPE_RADIOBTN_INDEX + TYPE_TAB + TYPE_BY_VAL, TYPE_MTL_TAB_BV = TYPE_MTL + TYPE_TAB + TYPE_BY_VAL,
  TYPE_TEXMAP_TAB_BV = TYPE_TEXMAP + TYPE_TAB + TYPE_BY_VAL, TYPE_BITMAP_TAB_BV = TYPE_BITMAP + TYPE_TAB + TYPE_BY_VAL, TYPE_INODE_TAB_BV = TYPE_INODE + TYPE_TAB + TYPE_BY_VAL, TYPE_REFTARG_TAB_BV = TYPE_REFTARG + TYPE_TAB + TYPE_BY_VAL,
  TYPE_INDEX_TAB_BV = TYPE_INDEX + TYPE_TAB + TYPE_BY_VAL, TYPE_MATRIX3_TAB_BV = TYPE_MATRIX3 + TYPE_TAB + TYPE_BY_VAL, TYPE_POINT4_TAB_BV = TYPE_POINT4 + TYPE_TAB + TYPE_BY_VAL, TYPE_FRGBA_TAB_BV = TYPE_FRGBA + TYPE_TAB + TYPE_BY_VAL,
  TYPE_PBLOCK2_TAB_BV = TYPE_PBLOCK2 + TYPE_TAB + TYPE_BY_VAL, TYPE_VOID_TAB_BV = TYPE_VOID + TYPE_TAB + TYPE_BY_VAL, TYPE_TSTR_TAB_BV = TYPE_TSTR + TYPE_TAB + TYPE_BY_VAL, TYPE_ENUM_TAB_BV = TYPE_ENUM + TYPE_TAB + TYPE_BY_VAL,
  TYPE_INTERVAL_TAB_BV = TYPE_INTERVAL + TYPE_TAB + TYPE_BY_VAL, TYPE_ANGAXIS_TAB_BV = TYPE_ANGAXIS + TYPE_TAB + TYPE_BY_VAL, TYPE_QUAT_TAB_BV = TYPE_QUAT + TYPE_TAB + TYPE_BY_VAL, TYPE_RAY_TAB_BV = TYPE_RAY + TYPE_TAB + TYPE_BY_VAL,
  TYPE_POINT2_TAB_BV = TYPE_POINT2 + TYPE_TAB + TYPE_BY_VAL, TYPE_BITARRAY_TAB_BV = TYPE_BITARRAY + TYPE_TAB + TYPE_BY_VAL, TYPE_CLASS_TAB_BV = TYPE_CLASS + TYPE_TAB + TYPE_BY_VAL, TYPE_MESH_TAB_BV = TYPE_MESH + TYPE_TAB + TYPE_BY_VAL,
  TYPE_OBJECT_TAB_BV = TYPE_OBJECT + TYPE_TAB + TYPE_BY_VAL, TYPE_CONTROL_TAB_BV = TYPE_CONTROL + TYPE_TAB + TYPE_BY_VAL, TYPE_POINT_TAB_BV = TYPE_POINT + TYPE_TAB + TYPE_BY_VAL, TYPE_IOBJECT_TAB_BV = TYPE_IOBJECT + TYPE_TAB + TYPE_BY_VAL,
  TYPE_INTERFACE_TAB_BV = TYPE_INTERFACE + TYPE_TAB + TYPE_BY_VAL, TYPE_HWND_TAB_BV = TYPE_HWND + TYPE_TAB + TYPE_BY_VAL, TYPE_NAME_TAB_BV = TYPE_NAME + TYPE_TAB + TYPE_BY_VAL, TYPE_COLOR_TAB_BV = TYPE_COLOR + TYPE_TAB + TYPE_BY_VAL,
  TYPE_FPVALUE_TAB_BV = TYPE_FPVALUE + TYPE_TAB + TYPE_BY_VAL, TYPE_VALUE_TAB_BV = TYPE_VALUE + TYPE_TAB + TYPE_BY_VAL, TYPE_DWORD_TAB_BV = TYPE_DWORD + TYPE_TAB + TYPE_BY_VAL, TYPE_bool_TAB_BV = TYPE_bool + TYPE_TAB + TYPE_BY_VAL,
  TYPE_INTPTR_TAB_BV = TYPE_INTPTR + TYPE_TAB + TYPE_BY_VAL, TYPE_INT64_TAB_BV = TYPE_INT64 + TYPE_TAB + TYPE_BY_VAL, TYPE_DOUBLE_TAB_BV = TYPE_DOUBLE + TYPE_TAB + TYPE_BY_VAL, TYPE_FLOAT_BP = TYPE_FLOAT + TYPE_BY_PTR,
  TYPE_INT_BP = TYPE_INT + TYPE_BY_PTR, TYPE_BOOL_BP = TYPE_BOOL + TYPE_BY_PTR, TYPE_ANGLE_BP = TYPE_ANGLE + TYPE_BY_PTR, TYPE_PCNT_FRAC_BP = TYPE_PCNT_FRAC + TYPE_BY_PTR,
  TYPE_WORLD_BP = TYPE_WORLD + TYPE_BY_PTR, TYPE_COLOR_CHANNEL_BP = TYPE_COLOR_CHANNEL + TYPE_BY_PTR, TYPE_TIMEVALUE_BP = TYPE_TIMEVALUE + TYPE_BY_PTR, TYPE_RADIOBTN_INDEX_BP = TYPE_RADIOBTN_INDEX + TYPE_BY_PTR,
  TYPE_INDEX_BP = TYPE_INDEX + TYPE_BY_PTR, TYPE_ENUM_BP = TYPE_ENUM + TYPE_BY_PTR, TYPE_DWORD_BP = TYPE_DWORD + TYPE_BY_PTR, TYPE_bool_BP = TYPE_bool + TYPE_BY_PTR,
  TYPE_INTPTR_BP = TYPE_INTPTR + TYPE_BY_PTR, TYPE_INT64_BP = TYPE_INT64 + TYPE_BY_PTR, TYPE_DOUBLE_BP = TYPE_DOUBLE + TYPE_BY_PTR, TYPE_MAX_TYPE,
  TYPE_KEYARG_MARKER = 253, TYPE_MSFLOAT, TYPE_UNSPECIFIED
}
 Identifies a parameter type. More...
 
enum  ControlType {
  TYPE_SPINNER, TYPE_RADIO, TYPE_SINGLECHEKBOX, TYPE_MULTICHEKBOX,
  TYPE_COLORSWATCH
}
 Used to associated automatically generated UI controls with parameters in a ParamBlockDesc2. More...
 
enum  ControlType2 {
  TYPE_EDITBOX = TYPE_COLORSWATCH + 1, TYPE_CHECKBUTTON, TYPE_PICKNODEBUTTON, TYPE_TEXMAPBUTTON,
  TYPE_MTLBUTTON, TYPE_BITMAPBUTTON, TYPE_FILEOPENBUTTON, TYPE_FILESAVEBUTTON,
  TYPE_INTLISTBOX, TYPE_FLOATLISTBOX, TYPE_STRINGLISTBOX, TYPE_NODELISTBOX,
  TYPE_SLIDER, TYPE_BUTTON, TYPE_POINT3LISTBOX, TYPE_SHADERSUBPARAMETERBLOCK,
  TYPE_POINT4LISTBOX, TYPE_COLORSWATCH_FRGBA, TYPE_INT_COMBOBOX
}
 Used to associated automatically generated UI controls with parameters in a ParamBlockDesc2. More...
 
enum  ParamTags {
  p_default = -(1<<30), p_ms_default, p_range, p_ui,
  p_validator, p_accessor, p_vals, p_refno,
  p_subtexno, p_submtlno, p_dim, p_classID,
  p_sclassID, p_enabled, p_enable_ctrls, p_prompt,
  p_caption, p_init_file, p_file_types, p_ctrl_ids,
  p_uix, p_configurable_default, p_tooltip, p_assetTypeID,
  p_assetTypeName, p_end = p_default + 1024, properties, enums
}
 Optional parameter definition tags. More...
 

Macro Definition Documentation

#define TYPE_TAB   0x0800

Flags a parameter type as a Tab<>

#define TYPE_BY_REF   0x1000

Flags a parameter as being delivered by reference (&).

#define TYPE_BY_VAL   0x2000

Flags a parameter as being delivered by value (via a local copy owned by the FPValue).

#define TYPE_BY_PTR   0x4000

Flags a parameter as being delivered by pointer (*)

Enumeration Type Documentation

enum ParamType

Identifies a parameter type.

See Also
ParamBlockDesc2, ParamType2
Enumerator
TYPE_FLOAT 

Identifies a floating point parameter type.

TYPE_INT 

Identifies an integer parameter type.

TYPE_RGBA 

Identifies a Color parameter type.

Note
Does not contain an alpha channel despite the name.
TYPE_POINT3 

Identifies a Point3 parameter type.

TYPE_BOOL 

Identifies a BOOL parameter type.

TYPE_USER 

Used to define user types.

28  {
29  TYPE_FLOAT,
30  TYPE_INT,
31  TYPE_RGBA,
32  TYPE_POINT3,
33  TYPE_BOOL,
34  TYPE_USER,
35  };
Identifies a floating point parameter type.
Definition: paramtype.h:29
Identifies an integer parameter type.
Definition: paramtype.h:30
Identifies a Color parameter type.
Definition: paramtype.h:31
Identifies a Point3 parameter type.
Definition: paramtype.h:32
Used to define user types.
Definition: paramtype.h:34
Identifies a BOOL parameter type.
Definition: paramtype.h:33
enum ParamType2

Identifies a parameter type.

ParamType values are compatible with ParamType2.

  • The enumerated types from "TYPE_ENUM" to "TYPE_DOUBLE" are for published function parameter types only, not pblock2 parameter types.
  • The enumerated types from "TYPE_FLOAT_TAB" to "TYPE_FRGBA_TAB" are the tables (Tab<>s) of their base types, and must be in same order as the base types.
  • The enumerated types from "TYPE_ENUM_TAB" to "TYPE_DOUBLE_TAB" are for published function parameter types only, not pblock2 parameter types.
  • The enumerated types from "TYPE_FLOAT_BR" to "TYPE_DOUBLE_BR" are pass by-ref types, implies & parameters, int& & float& are passed via .ptr fields, only for FnPub use.
  • The enumerated types from "TYPE_FLOAT_TAB_BR" to "TYPE_DOUBLE_TAB_BR" are pass by-ref Tab<> types - tab is passed by ref, data type in tab is TYPE_XXXX. For example: TYPE_FLOAT_TAB_BR = Tab<float>& , TYPE_INODE_TAB_BR_TYPE = Tab<INode*>&
  • The enumerated types from "TYPE_RGBA_BV" to "TYPE_CLASS_BV" are pass by-value types, implies dereferencing the (meaningful) pointer-based values, only for FnPub use.
  • The enumerated types from "TYPE_FLOAT_TAB_BV" to "TYPE_DOUBLE_TAB_BV" are pass by-val Tab<> types - tab is passed by val, data type in tab is TYPE_XXXX. For example: TYPE_FLOAT_TAB_BV = Tab<float> , TYPE_INODE_TAB_BV = Tab<INode*>
  • The enumerated types from "TYPE_FLOAT_BP" to "TYPE_DOUBLE_BP" are pass by-pointer types for int & float types, implies * parameters, int* & float* are passed via .ptr fields, only for FnPub use.
  • The enumerated types from "TYPE_KEYARG_MARKER" to "TYPE_UNSPECIFIED" are MAXScript internal types
    See Also
    ParamBlockDesc2, ParamType
Enumerator
TYPE_ANGLE 

A floating point value with an implied stdAngleDim dimension.

TYPE_PCNT_FRAC 

A floating point with an implied stdPercentDim dimension.

TYPE_WORLD 

A floating point specifying a parameter represents world distance units.

This implies a parameter dimension of stdWorldDim.

TYPE_STRING 

A character string.

The string has a local copy made and managed by the parameter block.

TYPE_FILENAME 

Used to identify file names (const MCHAR*).

TYPE_HSV 

This option is obsolete.

TYPE_COLOR_CHANNEL 

A single floating point value with an implied stdColor255Dim dimension.

TYPE_TIMEVALUE 

A single integer value used as a TimeValue – implies a stdTimeDim dimension.

TYPE_RADIOBTN_INDEX 

This is used as integer for parameters represented as radio buttons in the UI.

TYPE_MTL 

A pointer to a material object.

This can be one of three types: a reference owned by the parameter block, a reference owned by the block owner, or no reference management (just a copy of the pointer).

TYPE_TEXMAP 

A pointer to a texture map object.

This can be one of three types: a reference owned by the parameter block, a reference owned by the block owner, or no reference management (just a copy of the pointer).

TYPE_BITMAP 

A pointer to a bitmap object.

This can be one of three types: a reference owned by the parameter block, a reference owned by the block owner, or no reference management (just a copy of the pointer).

TYPE_INODE 

A pointer to a node.

This can be one of three types: a reference owned by the parameter block, a reference owned by the block owner, or no reference management (just a copy of the pointer).

TYPE_REFTARG 

A pointer to a reference target.

All reference targets in this group can be one of three types: reference owned by parameter block, reference owned by block owner, or no reference management (just a copy of the pointer).

TYPE_INDEX 

Used for parameters that are 0-based, but exposed to MAXScript as 1-based.

For example a vertex index.

TYPE_MATRIX3 

A standard 3ds Max matrix.

TYPE_PBLOCK2 

A pointer to an IParamBlock2 object.

Note "TYPE_PBLOCK2_TYPE" is not defined.

TYPE_POINT4 
TYPE_FRGBA 
TYPE_ENUM 
TYPE_VOID 
TYPE_INTERVAL 
TYPE_ANGAXIS 
TYPE_QUAT 
TYPE_RAY 
TYPE_POINT2 
TYPE_BITARRAY 
TYPE_CLASS 
TYPE_MESH 
TYPE_OBJECT 
TYPE_CONTROL 
TYPE_POINT 
TYPE_TSTR 
TYPE_IOBJECT 
TYPE_INTERFACE 
TYPE_HWND 
TYPE_NAME 
TYPE_COLOR 
TYPE_FPVALUE 
TYPE_VALUE 
TYPE_DWORD 
TYPE_bool 
TYPE_INTPTR 
TYPE_INT64 
TYPE_DOUBLE 
TYPE_FLOAT_TAB 

A table of floating point values.

TYPE_INT_TAB 

A table of integer values.

TYPE_RGBA_TAB 

A table of Point3 values with an implied stdColor255Dim dimension.

TYPE_POINT3_TAB 

A table of Point3 data type values.

TYPE_BOOL_TAB 

A table of integers used as a set of boolean values.

TYPE_ANGLE_TAB 

A table of floating point value with an implied stdAngleDim dimension.

TYPE_PCNT_FRAC_TAB 

A table of same as TYPE_STRING, but is used with TYPE_FILEOPENBUTTON and TYPE_FILESAVEBUTTON parameter map controls.

TYPE_WORLD_TAB 

A table of parameters that represents world distance units.

This implies a parameter dimension of stdWorldDim.

TYPE_STRING_TAB 

A table of character strings (const MCHAR*).

TYPE_FILENAME_TAB 

A table of filenames (see TYPE_FILENAME).

TYPE_HSV_TAB 

This option is obsolete.

TYPE_COLOR_CHANNEL_TAB 

A table of floating point values with an implied stdColor255Dim dimension.

TYPE_TIMEVALUE_TAB 

A table of integer value used as a TimeValue – implies stdTimeDim dimension.

TYPE_RADIOBTN_INDEX_TAB 

This is currently unused.

TYPE_MTL_TAB 

A table of material object pointers (see TYPE_MTL).

TYPE_TEXMAP_TAB 

A table of texmap object pointers (see TYPE_TEXMAP).

TYPE_BITMAP_TAB 

A table of TYPE_BITMAP values.

TYPE_INODE_TAB 

A table of TYPE_INODE values.

TYPE_REFTARG_TAB 

A table of TYPE_REFTARG values.

TYPE_INDEX_TAB 

A table of TYPE_INDEX values.

TYPE_MATRIX3_TAB 

A table of TYPE_MATRIX3 values.

TYPE_PBLOCK2_TAB 

A table of TYPE_BLOCK2 values.

TYPE_POINT4_TAB 
TYPE_FRGBA_TAB 
TYPE_ENUM_TAB 
TYPE_VOID_TAB 
TYPE_INTERVAL_TAB 
TYPE_ANGAXIS_TAB 
TYPE_QUAT_TAB 
TYPE_RAY_TAB 
TYPE_POINT2_TAB 
TYPE_BITARRAY_TAB 
TYPE_CLASS_TAB 
TYPE_MESH_TAB 
TYPE_OBJECT_TAB 
TYPE_CONTROL_TAB 
TYPE_POINT_TAB 
TYPE_TSTR_TAB 
TYPE_IOBJECT_TAB 
TYPE_INTERFACE_TAB 
TYPE_HWND_TAB 
TYPE_NAME_TAB 
TYPE_COLOR_TAB 
TYPE_FPVALUE_TAB 
TYPE_VALUE_TAB 
TYPE_DWORD_TAB 
TYPE_bool_TAB 
TYPE_INTPTR_TAB 
TYPE_INT64_TAB 
TYPE_DOUBLE_TAB 
TYPE_FLOAT_BR 
TYPE_INT_BR 
TYPE_BOOL_BR 
TYPE_ANGLE_BR 
TYPE_PCNT_FRAC_BR 
TYPE_WORLD_BR 
TYPE_COLOR_CHANNEL_BR 
TYPE_TIMEVALUE_BR 
TYPE_RADIOBTN_INDEX_BR 
TYPE_INDEX_BR 
TYPE_RGBA_BR 
TYPE_BITMAP_BR 
TYPE_POINT3_BR 
TYPE_HSV_BR 
TYPE_REFTARG_BR 
TYPE_MATRIX3_BR 
TYPE_POINT4_BR 
TYPE_FRGBA_BR 
TYPE_ENUM_BR 
TYPE_INTERVAL_BR 
TYPE_ANGAXIS_BR 
TYPE_QUAT_BR 
TYPE_RAY_BR 
TYPE_POINT2_BR 
TYPE_BITARRAY_BR 
TYPE_MESH_BR 
TYPE_POINT_BR 
TYPE_TSTR_BR 
TYPE_COLOR_BR 
TYPE_FPVALUE_BR 
TYPE_DWORD_BR 
TYPE_bool_BR 
TYPE_INTPTR_BR 
TYPE_INT64_BR 
TYPE_DOUBLE_BR 
TYPE_FLOAT_TAB_BR 
TYPE_INT_TAB_BR 
TYPE_RGBA_TAB_BR 
TYPE_POINT3_TAB_BR 
TYPE_BOOL_TAB_BR 
TYPE_ANGLE_TAB_BR 
TYPE_PCNT_FRAC_TAB_BR 
TYPE_WORLD_TAB_BR 
TYPE_STRING_TAB_BR 
TYPE_FILENAME_TAB_BR 
TYPE_HSV_TAB_BR 
TYPE_COLOR_CHANNEL_TAB_BR 
TYPE_TIMEVALUE_TAB_BR 
TYPE_RADIOBTN_INDEX_TAB_BR 
TYPE_MTL_TAB_BR 
TYPE_TEXMAP_TAB_BR 
TYPE_BITMAP_TAB_BR 
TYPE_INODE_TAB_BR 
TYPE_REFTARG_TAB_BR 
TYPE_INDEX_TAB_BR 
TYPE_MATRIX3_TAB_BR 
TYPE_POINT4_TAB_BR 
TYPE_FRGBA_TAB_BR 
TYPE_TSTR_TAB_BR 
TYPE_ENUM_TAB_BR 
TYPE_INTERVAL_TAB_BR 
TYPE_ANGAXIS_TAB_BR 
TYPE_QUAT_TAB_BR 
TYPE_RAY_TAB_BR 
TYPE_POINT2_TAB_BR 
TYPE_BITARRAY_TAB_BR 
TYPE_CLASS_TAB_BR 
TYPE_MESH_TAB_BR 
TYPE_OBJECT_TAB_BR 
TYPE_CONTROL_TAB_BR 
TYPE_POINT_TAB_BR 
TYPE_IOBJECT_TAB_BR 
TYPE_INTERFACE_TAB_BR 
TYPE_HWND_TAB_BR 
TYPE_NAME_TAB_BR 
TYPE_COLOR_TAB_BR 
TYPE_FPVALUE_TAB_BR 
TYPE_VALUE_TAB_BR 
TYPE_DWORD_TAB_BR 
TYPE_bool_TAB_BR 
TYPE_INTPTR_TAB_BR 
TYPE_INT64_TAB_BR 
TYPE_DOUBLE_TAB_BR 
TYPE_RGBA_BV 
TYPE_POINT3_BV 
TYPE_HSV_BV 
TYPE_INTERVAL_BV 
TYPE_BITMAP_BV 
TYPE_MATRIX3_BV 
TYPE_POINT4_BV 
TYPE_FRGBA_BV 
TYPE_ANGAXIS_BV 
TYPE_QUAT_BV 
TYPE_RAY_BV 
TYPE_POINT2_BV 
TYPE_BITARRAY_BV 
TYPE_MESH_BV 
TYPE_POINT_BV 
TYPE_TSTR_BV 
TYPE_COLOR_BV 
TYPE_FPVALUE_BV 
TYPE_CLASS_BV 
TYPE_FLOAT_TAB_BV 
TYPE_INT_TAB_BV 
TYPE_RGBA_TAB_BV 
TYPE_POINT3_TAB_BV 
TYPE_BOOL_TAB_BV 
TYPE_ANGLE_TAB_BV 
TYPE_PCNT_FRAC_TAB_BV 
TYPE_WORLD_TAB_BV 
TYPE_STRING_TAB_BV 
TYPE_FILENAME_TAB_BV 
TYPE_HSV_TAB_BV 
TYPE_COLOR_CHANNEL_TAB_BV 
TYPE_TIMEVALUE_TAB_BV 
TYPE_RADIOBTN_INDEX_TAB_BV 
TYPE_MTL_TAB_BV 
TYPE_TEXMAP_TAB_BV 
TYPE_BITMAP_TAB_BV 
TYPE_INODE_TAB_BV 
TYPE_REFTARG_TAB_BV 
TYPE_INDEX_TAB_BV 
TYPE_MATRIX3_TAB_BV 
TYPE_POINT4_TAB_BV 
TYPE_FRGBA_TAB_BV 
TYPE_PBLOCK2_TAB_BV 
TYPE_VOID_TAB_BV 
TYPE_TSTR_TAB_BV 
TYPE_ENUM_TAB_BV 
TYPE_INTERVAL_TAB_BV 
TYPE_ANGAXIS_TAB_BV 
TYPE_QUAT_TAB_BV 
TYPE_RAY_TAB_BV 
TYPE_POINT2_TAB_BV 
TYPE_BITARRAY_TAB_BV 
TYPE_CLASS_TAB_BV 
TYPE_MESH_TAB_BV 
TYPE_OBJECT_TAB_BV 
TYPE_CONTROL_TAB_BV 
TYPE_POINT_TAB_BV 
TYPE_IOBJECT_TAB_BV 
TYPE_INTERFACE_TAB_BV 
TYPE_HWND_TAB_BV 
TYPE_NAME_TAB_BV 
TYPE_COLOR_TAB_BV 
TYPE_FPVALUE_TAB_BV 
TYPE_VALUE_TAB_BV 
TYPE_DWORD_TAB_BV 
TYPE_bool_TAB_BV 
TYPE_INTPTR_TAB_BV 
TYPE_INT64_TAB_BV 
TYPE_DOUBLE_TAB_BV 
TYPE_FLOAT_BP 
TYPE_INT_BP 
TYPE_BOOL_BP 
TYPE_ANGLE_BP 
TYPE_PCNT_FRAC_BP 
TYPE_WORLD_BP 
TYPE_COLOR_CHANNEL_BP 
TYPE_TIMEVALUE_BP 
TYPE_RADIOBTN_INDEX_BP 
TYPE_INDEX_BP 
TYPE_ENUM_BP 
TYPE_DWORD_BP 
TYPE_bool_BP 
TYPE_INTPTR_BP 
TYPE_INT64_BP 
TYPE_DOUBLE_BP 
TYPE_MAX_TYPE 
TYPE_KEYARG_MARKER 
TYPE_MSFLOAT 
TYPE_UNSPECIFIED 
52 {
53  // TYPE_FLOAT,
54  // TYPE_INT,
55  // TYPE_RGBA,
56  // TYPE_POINT3,
57  // TYPE_BOOL,
58  TYPE_ANGLE = TYPE_BOOL + 1,
60  TYPE_WORLD,
61  TYPE_STRING,
63  TYPE_HSV,
67  TYPE_MTL,
68  TYPE_TEXMAP,
69  TYPE_BITMAP,
70  TYPE_INODE,
71  TYPE_REFTARG,
72  // new for R4...
73  TYPE_INDEX,
74  TYPE_MATRIX3,
75  TYPE_PBLOCK2,
76  // new for R6...
78  TYPE_FRGBA,
79 
80  // only for published function parameter types, not pblock2 parameter types...
81  TYPE_ENUM,
82  TYPE_VOID,
85  TYPE_QUAT,
86  TYPE_RAY,
89  TYPE_CLASS,
90  TYPE_MESH,
93  TYPE_POINT,
94  TYPE_TSTR,
97  TYPE_HWND,
98  TYPE_NAME,
99  TYPE_COLOR,
100  TYPE_FPVALUE,
101  TYPE_VALUE,
102  TYPE_DWORD,
103  TYPE_bool,
104  TYPE_INTPTR,
105  TYPE_INT64,
106  TYPE_DOUBLE,
107 
108  // Tab<>s of above (MUST be in same order as base types)
110  TYPE_INT_TAB,
111  TYPE_RGBA_TAB,
113  TYPE_BOOL_TAB,
119  TYPE_HSV_TAB,
123  TYPE_MTL_TAB,
128  // new for R4...
132  // new for R6...
135  // Only for published function parameter types, not pblock2 parameter types.
136  TYPE_ENUM_TAB,
137  TYPE_VOID_TAB,
140  TYPE_QUAT_TAB,
141  TYPE_RAY_TAB,
145  TYPE_MESH_TAB,
149  TYPE_TSTR_TAB,
152  TYPE_HWND_TAB,
153  TYPE_NAME_TAB,
158  TYPE_bool_TAB,
162 
163  // pass by-ref types, implies & parameters, int& & float& are passed via .ptr fields, only for FnPub use
164 
169  TYPE_PCNT_FRAC_BR = TYPE_PCNT_FRAC + TYPE_BY_REF,
170  TYPE_WORLD_BR = TYPE_WORLD + TYPE_BY_REF,
171  TYPE_COLOR_CHANNEL_BR = TYPE_COLOR_CHANNEL + TYPE_BY_REF,
172  TYPE_TIMEVALUE_BR = TYPE_TIMEVALUE + TYPE_BY_REF,
173  TYPE_RADIOBTN_INDEX_BR = TYPE_RADIOBTN_INDEX + TYPE_BY_REF,
174  TYPE_INDEX_BR = TYPE_INDEX + TYPE_BY_REF,
176  TYPE_BITMAP_BR = TYPE_BITMAP + TYPE_BY_REF,
178  TYPE_HSV_BR = TYPE_HSV + TYPE_BY_REF,
179  TYPE_REFTARG_BR = TYPE_REFTARG + TYPE_BY_REF,
180  TYPE_MATRIX3_BR = TYPE_MATRIX3 + TYPE_BY_REF,
181  TYPE_POINT4_BR = TYPE_POINT4 + TYPE_BY_REF,
182  TYPE_FRGBA_BR = TYPE_FRGBA + TYPE_BY_REF,
183  TYPE_ENUM_BR = TYPE_ENUM + TYPE_BY_REF,
184  TYPE_INTERVAL_BR = TYPE_INTERVAL + TYPE_BY_REF,
185  TYPE_ANGAXIS_BR = TYPE_ANGAXIS + TYPE_BY_REF,
186  TYPE_QUAT_BR = TYPE_QUAT + TYPE_BY_REF,
187  TYPE_RAY_BR = TYPE_RAY + TYPE_BY_REF,
188  TYPE_POINT2_BR = TYPE_POINT2 + TYPE_BY_REF,
189  TYPE_BITARRAY_BR = TYPE_BITARRAY + TYPE_BY_REF,
190  TYPE_MESH_BR = TYPE_MESH + TYPE_BY_REF,
191  TYPE_POINT_BR = TYPE_POINT + TYPE_BY_REF,
192  TYPE_TSTR_BR = TYPE_TSTR + TYPE_BY_REF,
193  TYPE_COLOR_BR = TYPE_COLOR + TYPE_BY_REF,
194  TYPE_FPVALUE_BR = TYPE_FPVALUE + TYPE_BY_REF,
195  TYPE_DWORD_BR = TYPE_DWORD + TYPE_BY_REF,
196  TYPE_bool_BR = TYPE_bool + TYPE_BY_REF,
197  TYPE_INTPTR_BR = TYPE_INTPTR + TYPE_BY_REF,
198  TYPE_INT64_BR = TYPE_INT64 + TYPE_BY_REF,
199  TYPE_DOUBLE_BR = TYPE_DOUBLE + TYPE_BY_REF,
200 
201 
202 
203  // pass by-ref Tab<> types - tab is passed by ref, data type in tab is TYPE_XXXX.
204  // For example: TYPE_FLOAT_TAB_BR = Tab<float>& , TYPE_INODE_TAB_BR_TYPE = Tab<INode*>&
205  TYPE_FLOAT_TAB_BR = TYPE_FLOAT + TYPE_TAB + TYPE_BY_REF,
206  TYPE_INT_TAB_BR = TYPE_INT + TYPE_TAB + TYPE_BY_REF,
207  TYPE_RGBA_TAB_BR = TYPE_RGBA + TYPE_TAB + TYPE_BY_REF,
209  TYPE_BOOL_TAB_BR = TYPE_BOOL + TYPE_TAB + TYPE_BY_REF,
211  TYPE_PCNT_FRAC_TAB_BR = TYPE_PCNT_FRAC + TYPE_TAB + TYPE_BY_REF,
212  TYPE_WORLD_TAB_BR = TYPE_WORLD + TYPE_TAB + TYPE_BY_REF,
213  TYPE_STRING_TAB_BR = TYPE_STRING + TYPE_TAB + TYPE_BY_REF,
214  TYPE_FILENAME_TAB_BR = TYPE_FILENAME + TYPE_TAB + TYPE_BY_REF,
215  TYPE_HSV_TAB_BR = TYPE_HSV + TYPE_TAB + TYPE_BY_REF,
216  TYPE_COLOR_CHANNEL_TAB_BR = TYPE_COLOR_CHANNEL + TYPE_TAB + TYPE_BY_REF,
217  TYPE_TIMEVALUE_TAB_BR = TYPE_TIMEVALUE + TYPE_TAB + TYPE_BY_REF,
218  TYPE_RADIOBTN_INDEX_TAB_BR = TYPE_RADIOBTN_INDEX + TYPE_TAB + TYPE_BY_REF,
219  TYPE_MTL_TAB_BR = TYPE_MTL + TYPE_TAB + TYPE_BY_REF,
220  TYPE_TEXMAP_TAB_BR = TYPE_TEXMAP + TYPE_TAB + TYPE_BY_REF,
221  TYPE_BITMAP_TAB_BR = TYPE_BITMAP + TYPE_TAB + TYPE_BY_REF,
222  TYPE_INODE_TAB_BR = TYPE_INODE + TYPE_TAB + TYPE_BY_REF,
223  TYPE_REFTARG_TAB_BR = TYPE_REFTARG + TYPE_TAB + TYPE_BY_REF,
224  TYPE_INDEX_TAB_BR = TYPE_INDEX + TYPE_TAB + TYPE_BY_REF,
225  TYPE_MATRIX3_TAB_BR = TYPE_MATRIX3 + TYPE_TAB + TYPE_BY_REF,
226  TYPE_POINT4_TAB_BR = TYPE_POINT4 + TYPE_TAB + TYPE_BY_REF,
227  TYPE_FRGBA_TAB_BR = TYPE_FRGBA + TYPE_TAB + TYPE_BY_REF,
228  TYPE_TSTR_TAB_BR = TYPE_TSTR + TYPE_TAB + TYPE_BY_REF,
229  TYPE_ENUM_TAB_BR = TYPE_ENUM + TYPE_TAB + TYPE_BY_REF,
230  TYPE_INTERVAL_TAB_BR = TYPE_INTERVAL + TYPE_TAB + TYPE_BY_REF,
231  TYPE_ANGAXIS_TAB_BR = TYPE_ANGAXIS + TYPE_TAB + TYPE_BY_REF,
232  TYPE_QUAT_TAB_BR = TYPE_QUAT + TYPE_TAB + TYPE_BY_REF,
233  TYPE_RAY_TAB_BR = TYPE_RAY + TYPE_TAB + TYPE_BY_REF,
234  TYPE_POINT2_TAB_BR = TYPE_POINT2 + TYPE_TAB + TYPE_BY_REF,
235  TYPE_BITARRAY_TAB_BR = TYPE_BITARRAY + TYPE_TAB + TYPE_BY_REF,
236  TYPE_CLASS_TAB_BR = TYPE_CLASS + TYPE_TAB + TYPE_BY_REF,
237  TYPE_MESH_TAB_BR = TYPE_MESH + TYPE_TAB + TYPE_BY_REF,
238  TYPE_OBJECT_TAB_BR = TYPE_OBJECT + TYPE_TAB + TYPE_BY_REF,
239  TYPE_CONTROL_TAB_BR = TYPE_CONTROL + TYPE_TAB + TYPE_BY_REF,
240  TYPE_POINT_TAB_BR = TYPE_POINT + TYPE_TAB + TYPE_BY_REF,
241  TYPE_IOBJECT_TAB_BR = TYPE_IOBJECT + TYPE_TAB + TYPE_BY_REF,
242  TYPE_INTERFACE_TAB_BR = TYPE_INTERFACE + TYPE_TAB + TYPE_BY_REF,
243  TYPE_HWND_TAB_BR = TYPE_HWND + TYPE_TAB + TYPE_BY_REF,
244  TYPE_NAME_TAB_BR = TYPE_NAME + TYPE_TAB + TYPE_BY_REF,
245  TYPE_COLOR_TAB_BR = TYPE_COLOR + TYPE_TAB + TYPE_BY_REF,
246  TYPE_FPVALUE_TAB_BR = TYPE_FPVALUE + TYPE_TAB + TYPE_BY_REF,
247  TYPE_VALUE_TAB_BR = TYPE_VALUE + TYPE_TAB + TYPE_BY_REF,
248  TYPE_DWORD_TAB_BR = TYPE_DWORD + TYPE_TAB + TYPE_BY_REF,
249  TYPE_bool_TAB_BR = TYPE_bool + TYPE_TAB + TYPE_BY_REF,
250  TYPE_INTPTR_TAB_BR = TYPE_INTPTR + TYPE_TAB + TYPE_BY_REF,
251  TYPE_INT64_TAB_BR = TYPE_INT64 + TYPE_TAB + TYPE_BY_REF,
252  TYPE_DOUBLE_TAB_BR = TYPE_DOUBLE + TYPE_TAB + TYPE_BY_REF,
253 
254  // pass by-value types, implies dereferencing the (meaningful) pointer-based values, only for FnPub use
255  TYPE_RGBA_BV = TYPE_RGBA + TYPE_BY_VAL, //[TBA]
257  TYPE_HSV_BV = TYPE_HSV + TYPE_BY_VAL,
258  TYPE_INTERVAL_BV = TYPE_INTERVAL + TYPE_BY_VAL,
259  TYPE_BITMAP_BV = TYPE_BITMAP + TYPE_BY_VAL,
260  TYPE_MATRIX3_BV = TYPE_MATRIX3 + TYPE_BY_VAL,
261  TYPE_POINT4_BV = TYPE_POINT4 + TYPE_BY_VAL,
262  TYPE_FRGBA_BV = TYPE_FRGBA + TYPE_BY_VAL,
263  TYPE_ANGAXIS_BV = TYPE_ANGAXIS + TYPE_BY_VAL,
264  TYPE_QUAT_BV = TYPE_QUAT + TYPE_BY_VAL,
265  TYPE_RAY_BV = TYPE_RAY + TYPE_BY_VAL,
266  TYPE_POINT2_BV = TYPE_POINT2 + TYPE_BY_VAL,
267  TYPE_BITARRAY_BV = TYPE_BITARRAY + TYPE_BY_VAL,
268  TYPE_MESH_BV = TYPE_MESH + TYPE_BY_VAL,
269  TYPE_POINT_BV = TYPE_POINT + TYPE_BY_VAL,
270  TYPE_TSTR_BV = TYPE_TSTR + TYPE_BY_VAL,
271  TYPE_COLOR_BV = TYPE_COLOR + TYPE_BY_VAL,
272  TYPE_FPVALUE_BV = TYPE_FPVALUE + TYPE_BY_VAL,
273  TYPE_CLASS_BV = TYPE_CLASS + TYPE_BY_VAL,
274 
275  // pass by-val Tab<> types - tab is passed by val, data type in tab is TYPE_XXXX.
276  // For example: TYPE_FLOAT_TAB_BV = Tab<float> , TYPE_INODE_TAB_BV = Tab<INode*>
277  TYPE_FLOAT_TAB_BV = TYPE_FLOAT + TYPE_TAB + TYPE_BY_VAL, //[TBA]
278  TYPE_INT_TAB_BV = TYPE_INT + TYPE_TAB + TYPE_BY_VAL,
279  TYPE_RGBA_TAB_BV = TYPE_RGBA + TYPE_TAB + TYPE_BY_VAL,
281  TYPE_BOOL_TAB_BV = TYPE_BOOL + TYPE_TAB + TYPE_BY_VAL,
283  TYPE_PCNT_FRAC_TAB_BV = TYPE_PCNT_FRAC + TYPE_TAB + TYPE_BY_VAL,
284  TYPE_WORLD_TAB_BV = TYPE_WORLD + TYPE_TAB + TYPE_BY_VAL,
285  TYPE_STRING_TAB_BV = TYPE_STRING + TYPE_TAB + TYPE_BY_VAL,
286  TYPE_FILENAME_TAB_BV = TYPE_FILENAME + TYPE_TAB + TYPE_BY_VAL,
287  TYPE_HSV_TAB_BV = TYPE_HSV + TYPE_TAB + TYPE_BY_VAL,
288  TYPE_COLOR_CHANNEL_TAB_BV = TYPE_COLOR_CHANNEL + TYPE_TAB + TYPE_BY_VAL,
289  TYPE_TIMEVALUE_TAB_BV = TYPE_TIMEVALUE + TYPE_TAB + TYPE_BY_VAL,
290  TYPE_RADIOBTN_INDEX_TAB_BV = TYPE_RADIOBTN_INDEX + TYPE_TAB + TYPE_BY_VAL,
291  TYPE_MTL_TAB_BV = TYPE_MTL + TYPE_TAB + TYPE_BY_VAL,
292  TYPE_TEXMAP_TAB_BV = TYPE_TEXMAP + TYPE_TAB + TYPE_BY_VAL,
293  TYPE_BITMAP_TAB_BV = TYPE_BITMAP + TYPE_TAB + TYPE_BY_VAL,
294  TYPE_INODE_TAB_BV = TYPE_INODE + TYPE_TAB + TYPE_BY_VAL,
295  TYPE_REFTARG_TAB_BV = TYPE_REFTARG + TYPE_TAB + TYPE_BY_VAL,
296  TYPE_INDEX_TAB_BV = TYPE_INDEX + TYPE_TAB + TYPE_BY_VAL,
297  TYPE_MATRIX3_TAB_BV = TYPE_MATRIX3 + TYPE_TAB + TYPE_BY_VAL,
298  TYPE_POINT4_TAB_BV = TYPE_POINT4 + TYPE_TAB + TYPE_BY_VAL,
299  TYPE_FRGBA_TAB_BV = TYPE_FRGBA + TYPE_TAB + TYPE_BY_VAL,
300  TYPE_PBLOCK2_TAB_BV = TYPE_PBLOCK2 + TYPE_TAB + TYPE_BY_VAL,
301  TYPE_VOID_TAB_BV = TYPE_VOID + TYPE_TAB + TYPE_BY_VAL,
302  TYPE_TSTR_TAB_BV = TYPE_TSTR + TYPE_TAB + TYPE_BY_VAL,
303  TYPE_ENUM_TAB_BV = TYPE_ENUM + TYPE_TAB + TYPE_BY_VAL,
304  TYPE_INTERVAL_TAB_BV = TYPE_INTERVAL + TYPE_TAB + TYPE_BY_VAL,
305  TYPE_ANGAXIS_TAB_BV = TYPE_ANGAXIS + TYPE_TAB + TYPE_BY_VAL,
306  TYPE_QUAT_TAB_BV = TYPE_QUAT + TYPE_TAB + TYPE_BY_VAL,
307  TYPE_RAY_TAB_BV = TYPE_RAY + TYPE_TAB + TYPE_BY_VAL,
308  TYPE_POINT2_TAB_BV = TYPE_POINT2 + TYPE_TAB + TYPE_BY_VAL,
309  TYPE_BITARRAY_TAB_BV = TYPE_BITARRAY + TYPE_TAB + TYPE_BY_VAL,
310  TYPE_CLASS_TAB_BV = TYPE_CLASS + TYPE_TAB + TYPE_BY_VAL,
311  TYPE_MESH_TAB_BV = TYPE_MESH + TYPE_TAB + TYPE_BY_VAL,
312  TYPE_OBJECT_TAB_BV = TYPE_OBJECT + TYPE_TAB + TYPE_BY_VAL,
313  TYPE_CONTROL_TAB_BV = TYPE_CONTROL + TYPE_TAB + TYPE_BY_VAL,
314  TYPE_POINT_TAB_BV = TYPE_POINT + TYPE_TAB + TYPE_BY_VAL,
315  TYPE_IOBJECT_TAB_BV = TYPE_IOBJECT + TYPE_TAB + TYPE_BY_VAL,
316  TYPE_INTERFACE_TAB_BV = TYPE_INTERFACE + TYPE_TAB + TYPE_BY_VAL,
317  TYPE_HWND_TAB_BV = TYPE_HWND + TYPE_TAB + TYPE_BY_VAL,
318  TYPE_NAME_TAB_BV = TYPE_NAME + TYPE_TAB + TYPE_BY_VAL,
319  TYPE_COLOR_TAB_BV = TYPE_COLOR + TYPE_TAB + TYPE_BY_VAL,
320  TYPE_FPVALUE_TAB_BV = TYPE_FPVALUE + TYPE_TAB + TYPE_BY_VAL,
321  TYPE_VALUE_TAB_BV = TYPE_VALUE + TYPE_TAB + TYPE_BY_VAL,
322  TYPE_DWORD_TAB_BV = TYPE_DWORD + TYPE_TAB + TYPE_BY_VAL,
323  TYPE_bool_TAB_BV = TYPE_bool + TYPE_TAB + TYPE_BY_VAL,
324  TYPE_INTPTR_TAB_BV = TYPE_INTPTR + TYPE_TAB + TYPE_BY_VAL,
325  TYPE_INT64_TAB_BV = TYPE_INT64 + TYPE_TAB + TYPE_BY_VAL,
326  TYPE_DOUBLE_TAB_BV = TYPE_DOUBLE + TYPE_TAB + TYPE_BY_VAL,
327 
328  // pass by-pointer types for int & float types, implies * parameters, int* & float* are passed via .ptr fields, only for FnPub use
333  TYPE_PCNT_FRAC_BP = TYPE_PCNT_FRAC + TYPE_BY_PTR,
334  TYPE_WORLD_BP = TYPE_WORLD + TYPE_BY_PTR,
335  TYPE_COLOR_CHANNEL_BP = TYPE_COLOR_CHANNEL + TYPE_BY_PTR,
336  TYPE_TIMEVALUE_BP = TYPE_TIMEVALUE + TYPE_BY_PTR,
337  TYPE_RADIOBTN_INDEX_BP = TYPE_RADIOBTN_INDEX + TYPE_BY_PTR,
338  TYPE_INDEX_BP = TYPE_INDEX + TYPE_BY_PTR,
339  TYPE_ENUM_BP = TYPE_ENUM + TYPE_BY_PTR,
340  TYPE_DWORD_BP = TYPE_DWORD + TYPE_BY_PTR,
341  TYPE_bool_BP = TYPE_bool + TYPE_BY_PTR,
342  TYPE_INTPTR_BP = TYPE_INTPTR + TYPE_BY_PTR,
343  TYPE_INT64_BP = TYPE_INT64 + TYPE_BY_PTR,
344  TYPE_DOUBLE_BP = TYPE_DOUBLE + TYPE_BY_PTR,
345 
346  // there are no specific by-pointer Tab<> types, all Tab<> types are by-pointer by default
347 
348  TYPE_MAX_TYPE,
349 
350  // MAXScript internal types
351  TYPE_KEYARG_MARKER = 253,
352  TYPE_MSFLOAT,
354 
355 };
Definition: paramtype.h:221
Definition: paramtype.h:77
Definition: paramtype.h:193
Identifies a floating point parameter type.
Definition: paramtype.h:29
Definition: paramtype.h:293
Definition: paramtype.h:140
Definition: paramtype.h:188
Definition: paramtype.h:226
Definition: paramtype.h:180
This is used as integer for parameters represented as radio buttons in the UI.
Definition: paramtype.h:66
Definition: paramtype.h:335
Definition: paramtype.h:291
Definition: paramtype.h:300
Definition: paramtype.h:136
Definition: paramtype.h:152
Definition: paramtype.h:174
Definition: paramtype.h:248
Definition: paramtype.h:208
#define TYPE_BY_PTR
Flags a parameter as being delivered by pointer (*)
Definition: paramtype.h:23
Definition: paramtype.h:308
Definition: paramtype.h:344
Identifies an integer parameter type.
Definition: paramtype.h:30
Definition: paramtype.h:234
Definition: paramtype.h:273
Definition: paramtype.h:241
A character string.
Definition: paramtype.h:61
A table of texmap object pointers (see TYPE_TEXMAP).
Definition: paramtype.h:124
A table of TYPE_INDEX values.
Definition: paramtype.h:129
Definition: paramtype.h:99
Definition: paramtype.h:179
Definition: paramtype.h:237
Definition: paramtype.h:228
Definition: paramtype.h:334
A single floating point value with an implied stdColor255Dim dimension.
Definition: paramtype.h:64
Definition: paramtype.h:95
#define TYPE_BY_VAL
Flags a parameter as being delivered by value (via a local copy owned by the FPValue).
Definition: paramtype.h:22
A table of material object pointers (see TYPE_MTL).
Definition: paramtype.h:123
Definition: paramtype.h:316
Definition: paramtype.h:333
A table of parameters that represents world distance units.
Definition: paramtype.h:116
Definition: paramtype.h:157
Definition: paramtype.h:230
Definition: paramtype.h:245
Definition: paramtype.h:302
This option is obsolete.
Definition: paramtype.h:119
A table of character strings (const MCHAR*).
Definition: paramtype.h:117
Definition: paramtype.h:160
Definition: paramtype.h:91
Definition: paramtype.h:182
Definition: paramtype.h:307
This option is obsolete.
Definition: paramtype.h:63
Definition: paramtype.h:238
Definition: paramtype.h:222
Definition: paramtype.h:139
Definition: paramtype.h:292
A table of floating point values with an implied stdColor255Dim dimension.
Definition: paramtype.h:120
A pointer to a texture map object.
Definition: paramtype.h:68
Definition: paramtype.h:239
Definition: paramtype.h:256
Definition: paramtype.h:265
Definition: paramtype.h:105
Definition: paramtype.h:190
Definition: paramtype.h:96
Definition: paramtype.h:198
Definition: paramtype.h:262
Definition: paramtype.h:294
Definition: paramtype.h:85
A table of floating point value with an implied stdAngleDim dimension.
Definition: paramtype.h:114
Definition: paramtype.h:272
Definition: paramtype.h:231
A table of Point3 data type values.
Definition: paramtype.h:112
Definition: paramtype.h:322
A single integer value used as a TimeValue – implies a stdTimeDim dimension.
Definition: paramtype.h:65
Definition: paramtype.h:331
Definition: paramtype.h:103
Definition: paramtype.h:150
Definition: paramtype.h:290
Definition: paramtype.h:326
Definition: paramtype.h:348
Definition: paramtype.h:133
Definition: paramtype.h:98
Definition: paramtype.h:319
Definition: paramtype.h:317
Definition: paramtype.h:325
Definition: paramtype.h:176
Definition: paramtype.h:166
Definition: paramtype.h:86
Definition: paramtype.h:261
Definition: paramtype.h:220
Definition: paramtype.h:336
Definition: paramtype.h:257
Definition: paramtype.h:213
Definition: paramtype.h:252
Definition: paramtype.h:259
Definition: paramtype.h:268
Definition: paramtype.h:153
A table of integer value used as a TimeValue – implies stdTimeDim dimension.
Definition: paramtype.h:121
Definition: paramtype.h:306
Definition: paramtype.h:195
Definition: paramtype.h:318
Definition: paramtype.h:244
Definition: paramtype.h:285
Definition: paramtype.h:217
A table of Point3 values with an implied stdColor255Dim dimension.
Definition: paramtype.h:111
A table of integer values.
Definition: paramtype.h:110
Definition: paramtype.h:97
Definition: paramtype.h:189
Definition: paramtype.h:296
Definition: paramtype.h:184
Definition: paramtype.h:215
Definition: paramtype.h:172
Definition: paramtype.h:353
Definition: paramtype.h:212
Identifies a Color parameter type.
Definition: paramtype.h:31
Definition: paramtype.h:156
A pointer to a reference target.
Definition: paramtype.h:71
A table of TYPE_MATRIX3 values.
Definition: paramtype.h:130
Definition: paramtype.h:243
#define TYPE_TAB
Flags a parameter type as a Tab<>
Definition: paramtype.h:17
A table of same as TYPE_STRING, but is used with TYPE_FILEOPENBUTTON and TYPE_FILESAVEBUTTON paramete...
Definition: paramtype.h:115
Definition: paramtype.h:83
Definition: paramtype.h:155
Definition: paramtype.h:281
Definition: paramtype.h:194
Definition: paramtype.h:92
Definition: paramtype.h:82
Definition: paramtype.h:78
Definition: paramtype.h:288
Definition: paramtype.h:147
Definition: paramtype.h:314
Definition: paramtype.h:279
Definition: paramtype.h:269
Definition: paramtype.h:192
Definition: paramtype.h:167
Definition: paramtype.h:270
Definition: paramtype.h:146
Definition: paramtype.h:283
Definition: paramtype.h:352
Definition: paramtype.h:101
Definition: paramtype.h:299
Definition: paramtype.h:141
Definition: paramtype.h:339
Definition: paramtype.h:286
Definition: paramtype.h:168
Definition: paramtype.h:277
Definition: paramtype.h:175
Definition: paramtype.h:159
Definition: paramtype.h:236
Definition: paramtype.h:287
Definition: paramtype.h:351
Definition: paramtype.h:211
Definition: paramtype.h:267
Definition: paramtype.h:214
A table of TYPE_BITMAP values.
Definition: paramtype.h:125
Definition: paramtype.h:310
Definition: paramtype.h:305
Definition: paramtype.h:298
Definition: paramtype.h:278
A standard 3ds Max matrix.
Definition: paramtype.h:74
Definition: paramtype.h:87
Definition: paramtype.h:338
Definition: paramtype.h:224
Definition: paramtype.h:170
Definition: paramtype.h:158
Definition: paramtype.h:104
Definition: paramtype.h:185
Definition: paramtype.h:289
Definition: paramtype.h:251
Definition: paramtype.h:191
Definition: paramtype.h:207
Definition: paramtype.h:81
Definition: paramtype.h:183
Definition: paramtype.h:249
A pointer to a material object.
Definition: paramtype.h:67
Definition: paramtype.h:149
Definition: paramtype.h:89
Definition: paramtype.h:332
Definition: paramtype.h:206
This is currently unused.
Definition: paramtype.h:122
Definition: paramtype.h:255
Definition: paramtype.h:148
Definition: paramtype.h:329
Definition: paramtype.h:90
Definition: paramtype.h:145
Definition: paramtype.h:324
A table of TYPE_BLOCK2 values.
Definition: paramtype.h:131
Definition: paramtype.h:297
Definition: paramtype.h:232
Definition: paramtype.h:304
Definition: paramtype.h:311
A pointer to a node.
Definition: paramtype.h:70
Definition: paramtype.h:210
A table of TYPE_REFTARG values.
Definition: paramtype.h:127
Definition: paramtype.h:161
A pointer to a bitmap object.
Definition: paramtype.h:69
A table of integers used as a set of boolean values.
Definition: paramtype.h:113
Definition: paramtype.h:154
Definition: paramtype.h:173
Identifies a Point3 parameter type.
Definition: paramtype.h:32
Definition: paramtype.h:137
Definition: paramtype.h:295
Definition: paramtype.h:343
Definition: paramtype.h:199
Definition: paramtype.h:229
Definition: paramtype.h:143
Definition: paramtype.h:144
Definition: paramtype.h:84
Definition: paramtype.h:209
Definition: paramtype.h:330
Definition: paramtype.h:106
Definition: paramtype.h:205
Definition: paramtype.h:88
Definition: paramtype.h:197
Definition: paramtype.h:225
Definition: paramtype.h:309
Definition: paramtype.h:242
A floating point specifying a parameter represents world distance units.
Definition: paramtype.h:60
Definition: paramtype.h:323
Definition: paramtype.h:219
Definition: paramtype.h:227
Definition: paramtype.h:186
A floating point value with an implied stdAngleDim dimension.
Definition: paramtype.h:58
Definition: paramtype.h:246
Definition: paramtype.h:342
Definition: paramtype.h:151
Definition: paramtype.h:321
A pointer to an IParamBlock2 object.
Definition: paramtype.h:75
Definition: paramtype.h:266
Definition: paramtype.h:134
Used for parameters that are 0-based, but exposed to MAXScript as 1-based.
Definition: paramtype.h:73
Definition: paramtype.h:196
Definition: paramtype.h:94
Definition: paramtype.h:313
Definition: paramtype.h:223
Definition: paramtype.h:169
Definition: paramtype.h:284
Definition: paramtype.h:320
Definition: paramtype.h:282
Definition: paramtype.h:233
Definition: paramtype.h:247
Definition: paramtype.h:260
Definition: paramtype.h:138
Definition: paramtype.h:93
Identifies a BOOL parameter type.
Definition: paramtype.h:33
Definition: paramtype.h:177
Definition: paramtype.h:187
Definition: paramtype.h:218
Definition: paramtype.h:102
#define TYPE_BY_REF
Flags a parameter as being delivered by reference (&).
Definition: paramtype.h:21
Definition: paramtype.h:240
Definition: paramtype.h:301
A table of filenames (see TYPE_FILENAME).
Definition: paramtype.h:118
Definition: paramtype.h:235
Definition: paramtype.h:315
Definition: paramtype.h:100
A table of TYPE_INODE values.
Definition: paramtype.h:126
Definition: paramtype.h:264
Definition: paramtype.h:250
Definition: paramtype.h:142
Definition: paramtype.h:271
Definition: paramtype.h:216
Definition: paramtype.h:341
Definition: paramtype.h:303
Definition: paramtype.h:181
Definition: paramtype.h:165
Definition: paramtype.h:340
Definition: paramtype.h:171
Definition: paramtype.h:280
Definition: paramtype.h:312
Used to identify file names (const MCHAR*).
Definition: paramtype.h:62
A table of floating point values.
Definition: paramtype.h:109
A floating point with an implied stdPercentDim dimension.
Definition: paramtype.h:59
Definition: paramtype.h:258
Definition: paramtype.h:263
Definition: paramtype.h:337
Definition: paramtype.h:178

Used to associated automatically generated UI controls with parameters in a ParamBlockDesc2.

See Also
ControlType2, ParamBlockDesc2 ~{ used by some customized operation mode. UI Control of zoom in direction used in customized zoom mode. }~
Enumerator
TYPE_SPINNER 

Identifies a spinner control.

The spinner control is used to provide input of values limited to a fixed numeric type. For example, the control may be limited to the input of only positive integers. The input options are integer, float, universe (world space units), positive integer, positive float, positive universe, and time. This control allows the user to increment or decrement a value by clicking on the up or down arrows. The user may also click and drag on the arrows to interactively adjust the value. The Ctrl key may be held to accelerate the value changing speed, while the Alt key may be held to decrease the value changing speed. Spinner and Slider Control Types

TYPE_RADIO 

Identifies a radio button control.

Radio buttons are used to provide the user with a single boolean choice, or when used in groups, to select among several options. These are the standard Win32 radio button controls. Following the TYPE_RADIO, you must supply an integer count of the number of radio buttons in this group and then a list of dialog item IDs for each button. A radio button can be used with TYPE_INT or TYPE_RADIOBTN_INDEX parameters. The value of the parameter defaults to the ordinal number of the radio button, starting at 0. You can optionally supply a p_vals tag immediately following the p_ui section, which would be followed by a list of numbers, one for each radio button. These numbers will become the (non-ordinal) parameter value corresponding to which button is set.

TYPE_SINGLECHEKBOX 

Identifies a single checkbox control with a parameter.

Check boxes are used to provide the user with a single boolean choice. This is the standard Win32 check box control. The TYPE_SINGLECHEKBOX must be followed dialog item ID. A TYPE_SINGLECHEKBOX can only be used with TYPE_INT or TYPE_BOOL parameters.

TYPE_MULTICHEKBOX 

Identifies a multiple checkbox control.

This control type is not currently supported.

TYPE_COLORSWATCH 

Identifies a color swatch color control.

The color swatch control presents the user with the standard 3ds Max modeless color selector when the user clicks on the control. The color swatch control displays the currently selected color. The TYPE_COLORSWATCH with the dialog item ID of the swatch custom control. This can only be used with TYPE_POINT3 or TYPE_RGBA parameter.

361  {
368  TYPE_SPINNER,
369 
377  TYPE_RADIO,
378 
383 
386 
392  };
Identifies a multiple checkbox control.
Definition: paramtype.h:385
Identifies a radio button control.
Definition: paramtype.h:377
Identifies a single checkbox control with a parameter.
Definition: paramtype.h:382
Identifies a spinner control.
Definition: paramtype.h:368
Identifies a color swatch color control.
Definition: paramtype.h:391

Used to associated automatically generated UI controls with parameters in a ParamBlockDesc2.

Wherever ControlType2 is used, a ControlType can be used as well.

See Also
ControlType, ParamBlockDesc2, ~{ used by some customized operation mode. UI Control of zoom in direction used in customized zoom mode. }~
Enumerator
TYPE_EDITBOX 

Identifies a 3ds Max custom edit box control.

The TYPE_EDITBOX must be followed by the dialog item ID of the edit box custom control. This can only be used with TYPE_STRING and TYPE_FILENAME parameters.

TYPE_CHECKBUTTON 

Idenfies a two-state (pressed or not-pressed) check button control.

Check boxes are used to provide the user with a single boolean choice. This is the standard Win32 check box control. The TYPE_SINGLECHEKBOX must be followed by a dialog item ID. A TYPE_SINGLECHEKBOX can only be used with TYPE_INT or TYPE_BOOL parameters.

TYPE_PICKNODEBUTTON 

Identifies a scene node (INode) picker button.

This is a 3ds Max ICustButton control used in a CBT_CHECK mode with GREEN_WASH highlight color, as per node picking button conventions. Follow the control type with the dialog item ID of the button control. When the user presses this button a PickModeCallback command mode is entered and the user can pick a scene node under the filtering of any validation supplied (see tags p_validator, p_classID and p_sclassID). This can only be used with TYPE_INODE parameters. Use the p_prompt tag to supply a status line prompt.

TYPE_TEXMAPBUTTON 

A texture map selector button that supports drag and drop of texture maps.

This is an ICustButton control used in CBT_PUSH mode. The control type must be followed by the dialog item ID of the button control. This button opens up a map selector dialog when pressed. This can only be used with TYPE_TEXMAP parameters. Use the p_prompt tag to supply a status line prompt.

TYPE_MTLBUTTON 

Identifies a material selector button that supports drag and drop of materials.

This is an ICustButton control used in CBT_PUSH mode. The control type must be followed by the dialog item ID of the button control. This button throws up a material selector dialog when pressed. This can only be used with TYPE_MTL parameters. Use the p_prompt tag to supply a status line prompt.

TYPE_BITMAPBUTTON 

Identifies a bitmap browser button.

This is a 3ds Max CustButton control used in a CBT_PUSH mode. Follow the control type with the dialog item ID of the CustButton custom control. This button throws up a standard 3ds Max Bitmap browser when pressed and is Bitmap drag-and-drop sensitive. Can only be used with TYPE_BITMAP parameters. Use the p_prompt tag to supply a status line prompt.

TYPE_FILEOPENBUTTON 

Identifies a file open dialog button.

This is an ICustButton control used in CBT_PUSH mode. The control type with the dialog item ID of the button control. This button open a standard Windows Open File dialog for selecting a file name. This type can only be used with TYPE_STRING and TYPE_FILENAME parameters. Use any of the p_caption, p_init_file, and p_file_types tags to further control the dialog.

TYPE_FILESAVEBUTTON 

Identifies a file save dialog button.

This is an ICustButton control used in CBT_PUSH mode. The control type with the dialog item ID of the button control. This button open a standard Windows Save File dialog for selecting a file name. This type can only be used with TYPE_STRING and TYPE_FILENAME parameters. Use any of the p_caption, p_init_file, and p_file_types tags to further control the dialog.

TYPE_INTLISTBOX 

Identifies a list box control for managing a Tab<int>.

List Box Control Types.

TYPE_FLOATLISTBOX 

Identifies a list box control for managing a Tab<float>.

List Box Control Types.

TYPE_STRINGLISTBOX 

Identifies a series a controls for displaying and managing a list box control containing a Tab<MSTR> parameter.

TYPE_NODELISTBOX 

Identifies a series a controls for displaying and managing a list box control containing a Tab<INode> parameter.

TYPE_SLIDER 

Identifies a standard 3ds Max slider control.

TYPE_BUTTON 
TYPE_POINT3LISTBOX 

Identifies A series a controls for displaying and managing a list box control containing a Tab<Point3> parameter.

TYPE_SHADERSUBPARAMETERBLOCK 

Parameters with a UI type of TYPE_SHADERSUBPARAMETERBLOCK indicate PB2 parameters for which param maps must be created, while all parameters should be edited in the same rollup.

See Also
mrShaderParamMap2
TYPE_POINT4LISTBOX 

Identifies a series a controls for displaying and managing a list box control containing a Tab<Point4> parameter.

TYPE_COLORSWATCH_FRGBA 

Identifies a color swatch color control for colors with an alpha channel.

The color swatch control presents the user with the standard 3ds Max modeless color selector when the user clicks on the control. The color swatch control displays the currently selected color. The TYPE_COLORSWATCH with the dialog item ID of the swatch custom control. This can only be used with TYPE_POINT4 or TYPE_FRGBA parameter.

TYPE_INT_COMBOBOX 

A combo box control that can be used with parameters of type TYPE_INT and TYPE_INT_TAB.

Combo Box Control Types.

400 {
404 
409 
416 
422 
428 
434 
440 
446 
449 
452 
455 
458 
460  TYPE_SLIDER,
461 
463  TYPE_BUTTON,
464 
467 
473 
476 
483 
487 };
Identifies a series a controls for displaying and managing a list box control containing a Tab<Point4...
Definition: paramtype.h:475
Identifies A series a controls for displaying and managing a list box control containing a Tab<Point3...
Definition: paramtype.h:466
Definition: paramtype.h:463
Identifies a color swatch color control for colors with an alpha channel.
Definition: paramtype.h:482
Identifies a series a controls for displaying and managing a list box control containing a Tab<INode>...
Definition: paramtype.h:457
Identifies a bitmap browser button.
Definition: paramtype.h:433
Identifies a 3ds Max custom edit box control.
Definition: paramtype.h:403
Identifies a scene node (INode) picker button.
Definition: paramtype.h:415
Identifies a standard 3ds Max slider control.
Definition: paramtype.h:460
Parameters with a UI type of TYPE_SHADERSUBPARAMETERBLOCK indicate PB2 parameters for which param map...
Definition: paramtype.h:472
A combo box control that can be used with parameters of type TYPE_INT and TYPE_INT_TAB.
Definition: paramtype.h:486
Identifies a series a controls for displaying and managing a list box control containing a Tab<MSTR> ...
Definition: paramtype.h:454
Identifies a material selector button that supports drag and drop of materials.
Definition: paramtype.h:427
Identifies a list box control for managing a Tab<int>.
Definition: paramtype.h:448
Identifies a list box control for managing a Tab<float>.
Definition: paramtype.h:451
Idenfies a two-state (pressed or not-pressed) check button control.
Definition: paramtype.h:408
Identifies a color swatch color control.
Definition: paramtype.h:391
Identifies a file save dialog button.
Definition: paramtype.h:445
Identifies a file open dialog button.
Definition: paramtype.h:439
A texture map selector button that supports drag and drop of texture maps.
Definition: paramtype.h:421
enum ParamTags

Optional parameter definition tags.

These tags are used in the ParamBlockDesc2 constructor as part of the "optional_tagged_param_specs". The typical format in the var args list is: "tag", "optional_param_spec",

Enumerator
p_default 

Specifies the default value used when a parameter block is first created (or reset to defaults).

Valid for the following types: TYPE_ANGLE, TYPE_PCNT_FRAC, TYPE_COLOR_CHANNEL, TYPE_FLOAT, TYPE_TIMEVALUE, TYPE_INT, TYPE_BOOL, TYPE_RADIOBTN_INDEX, TYPE_POINT3, TYPE_RGBA, TYPE_STRING, TYPE_FILENAME, TYPE_MATRIX3.

p_ms_default 

Specifies default value when constructed by scripts.

For example the MAXScript command sphere.radius defaults to 25.0 when created by the scripter, but p_default is set to 0.0 so interactive creation starts out with a point-sized sphere when the first mouse click is made.

p_range 

Specifies legal range, used in MS validation and spinner/slider setup.

Ranges are used for the following control tyeps: TYPE_ANGLE, TYPE_PCNT_FRAC, TYPE_COLOR_CHANNEL, TYPE_FLOAT, TYPE_TIMEVALUE, TYPE_INT, TYPE_RADIOBTN_INDEX, TYPE_POINT3, TYPE_RGBA, TYPE_FRGBA.

p_ui 

Specifies associated UI rollout control IDs, etc.

An optional tag that precedes a variable list of arguments depending on the type of UI control specified. This sequence of arguments is similar in form to the ParamDescBlock2 class constructors. Following the p_ui tag, one of the following control types should be specified. Following that are further tags as defined in each type.

Note
If a p_ui is supplied for a Tab<> parameter type and the control is *not* of on the ListBox types, the table size should be fixed and supplied in the "required_param_specs" table_size field, and you should supply a set of dialog item ID's for each element in the table.
p_validator 

Specifies a validator object.

You supply a pointer to an instance of a class derived from PBValidator. This class has a PBValidator::Validate() method which can return TRUE if the PB2Value passed to it is valid and FALSE otherwise. This can be used for instance by a node pick button to check if a choosen node is acceptable.

p_accessor 

Specifies an accessor object.

You supply a pointer to an instance of a class derived from PBAccessor. This class is used to provide a parameter Get/SetValue callback. The callback can be used to monitor parameter value changes, or to implement dynamically-computed virtual parameters. The class has two virtual methods, PBAccessor::Get() and PBAccessor::Set(), each given a PB2Value&, parameter ID, etc. In the case of a Get() you can modify the value in the PB2Value& to implement a virtual get.

p_vals 

This defines radio button values in button order if button settings need to correspond to non-ordinal numbers.

The value of the parameter defaults to the ordinal number of the radio button, starting at 0. You can optionally supply this tag immediately following the TYPE_RADIO p_ui. This tag should be followed by a list of numbers, one for each radio button. These numbers will become the (non-ordinal) parameter value corresponding to which button is set.

p_refno 

Used if the flag value includes P_OWNERS_REF.

For these reftarg parameters this specifies the reference number in the block's owner for this reference. If the parameter is a Tab<>, then the reference number supplied is the base reference number of the 0'th element, with sequential reference numbers for the following elements.

p_subtexno 

For Texmap items in Mtls this defines the integer SubTexmap index for this Texmap in the owner Mtl.

This is used by TYPE_TEXMAPBUTTON ParamMap2 control types to give to the Material Edtor for automatic button and drag And drop handling.

p_submtlno 

Defines the sub-material integer index for this Mtl in an owner Mtl.

This is used by TYPE_MTLBUTTON ParamMap2 control types to give to the Material Edtor for automatic button and Drag And Drop handling.

p_dim 

This allows you to supply a dimension for this parameter.

You specify a ParamDimension* as the argument. Certain parameter types have an implied dimension. Defaults to defaultDim.

p_classID 

This specifies the class ID used as a validator for the various reftarg parameters.

This is used by the scripter, picknode filter, etc. For example, if you supply this in a TYPE_INODE parameter and use a TYPE_PICKNODE parammap control, the picker uses this class ID in the picking filter. If you set P_CAN_CONVERT in the parameter's flag, it applies an Object::CanConvertTo() test to the node's world state using the Class_ID supplied to perform the filter test.

p_sclassID 

Specifies the super class ID used as a validator for the various reftarg parameters.

For example, if you supply this in a TYPE_INODE parameter and use a TYPE_PICKNODE parammap control, the picker uses this super class ID in the picking filter.

p_enabled 

The associated UI controls are enabled by default.

Supply TRUE or FALSE to indicate whether associated UI controls are enabled or disabled when the rollout dialog is first opened. If not supplied, defaults to enabled. Can be overridden by p_enable_ctrls.

For example:

p_enable_ctrls, 3, sel_falloff, sel_pinch, sel_bubble
p_enable_ctrls 

For TYPE_BOOL parametes, lists which other params should be automatically UI enabled/disabled by changes in state of this parameter.

This allows you to easily set up conditional enabling of other UI controls based on the state of the controlling parameter.

p_prompt 

This sets the status line prompt string resource ID for various picker buttons.

p_caption 

This is a caption string resource ID for TYPE_FILEOPENBUTTON or TYPE_FILESAVEBUTTON open/save file dialogs.

p_init_file 

This establishes the initial filename for open/save file dlgs.

Use a direct string for the argument, not a resource ID. The filename can be changed at runtime; do this by setting the init_file member of the ParamDef for the parameter. For example:

pbdesc->GetParamDef(file_param).init_file = new_file_name;
p_file_types 

Defines file patterns used by open/save file dialogs.

The argument is a string resource ID. This string sets up the file type drop-down in the open/save dialog. It is in the following form:

"<description1>|<pattern1>|<description2>|<pattern2>|...|"

In other words, it is a sequence of file type descriptions and file type patterns each separated by a '|' vertical bar and terminated by a '|' vertical bar. For example:

"Data(*.dat)|*.dat|Excel(*.csv)|*.csv|All|*.*|"

This example specifies 3 types in the file type dropdown, the first reading "Data(*.dat)" and matching *.dat and the second reading "Excel(*.csv)" and matching *.csv and the third reading "All" and matching any file.

p_ctrl_ids 

Sets the ctrl_id array for the parameter.

p_uix 

Specifies which additional rollup/map the parameter is supposed to appear in.

A parameter may have multiple instance of p_uix.

p_configurable_default 

Default can be taken from .ini file.

p_tooltip 

Specifies a tooltip string by resource ID to be displayed for the user interface control associated with a parameter described in a parameter block.

The p_tooltip flag needs to be followed by the resource id of the string representing the tooltip.

p_assetTypeID 

Specfies asset type ID.

p_assetTypeName 

Specifies asset type name.

p_end 

Signals the end of the "required_param_specs" entry in a parameter block descriptor.

properties 
enums 
493 {
498  p_default = -(1<<30),
499 
503  p_ms_default,
504 
508  p_range,
509 
520  p_ui,
521 
526  p_validator,
527 
534  p_accessor,
535 
541  p_vals,
542 
543  // p_subanim_order, //!< Overrides sequential subanim order. Unused.
544 
549  p_refno,
550 
554  p_subtexno,
555 
558  p_submtlno,
559 
562  p_dim,
563 
568  p_classID,
569 
573  p_sclassID,
574 
585  p_enabled,
586 
591 
593  p_prompt,
594 
596  p_caption,
597 
606  p_init_file,
607 
625  p_file_types,
626 
628  p_ctrl_ids,
629 
632  p_uix,
633 
636 
640  p_tooltip,
641 
644 
647 
649  p_end = p_default + 1024,
650 
652  properties,
653 
655  enums,
656 };
Specifies default value when constructed by scripts.
Definition: paramtype.h:503
Specifies the default value used when a parameter block is first created (or reset to defaults)...
Definition: paramtype.h:498
This establishes the initial filename for open/save file dlgs.
Definition: paramtype.h:606
Default can be taken from .ini file.
Definition: paramtype.h:635
This is a caption string resource ID for TYPE_FILEOPENBUTTON or TYPE_FILESAVEBUTTON open/save file di...
Definition: paramtype.h:596
Specifies an accessor object.
Definition: paramtype.h:534
Definition: paramtype.h:655
Specifies legal range, used in MS validation and spinner/slider setup.
Definition: paramtype.h:508
Specifies associated UI rollout control IDs, etc.
Definition: paramtype.h:520
This sets the status line prompt string resource ID for various picker buttons.
Definition: paramtype.h:593
For TYPE_BOOL parametes, lists which other params should be automatically UI enabled/disabled by chan...
Definition: paramtype.h:590
This defines radio button values in button order if button settings need to correspond to non-ordinal...
Definition: paramtype.h:541
Specifies a tooltip string by resource ID to be displayed for the user interface control associated w...
Definition: paramtype.h:640
Specifies the super class ID used as a validator for the various reftarg parameters.
Definition: paramtype.h:573
Specifies which additional rollup/map the parameter is supposed to appear in.
Definition: paramtype.h:632
Specfies asset type ID.
Definition: paramtype.h:643
This allows you to supply a dimension for this parameter.
Definition: paramtype.h:562
Used if the flag value includes P_OWNERS_REF.
Definition: paramtype.h:549
Signals the end of the "required_param_specs" entry in a parameter block descriptor.
Definition: paramtype.h:649
Definition: paramtype.h:652
Definition: paramtype.h:628
For Texmap items in Mtls this defines the integer SubTexmap index for this Texmap in the owner Mtl...
Definition: paramtype.h:554
The associated UI controls are enabled by default.
Definition: paramtype.h:585
Defines file patterns used by open/save file dialogs.
Definition: paramtype.h:625
This specifies the class ID used as a validator for the various reftarg parameters.
Definition: paramtype.h:568
Defines the sub-material integer index for this Mtl in an owner Mtl.
Definition: paramtype.h:558
Specifies a validator object.
Definition: paramtype.h:526
Specifies asset type name.
Definition: paramtype.h:646