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_BOX3, 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_BOX3_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_BOX3_BR = TYPE_BOX3 + 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_BOX3_TAB_BR = TYPE_BOX3 + 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_BOX3_BV = TYPE_BOX3 + 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_BOX3_TAB_BV = TYPE_BOX3 + 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 associate 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_defaults_and_ranges_in_meters, 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*).

An AssetType should also be specified - see ParamTags.p_assetTypeID and ParamTags.p_assetTypeName.

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