The parameter types are identified by a ParamType or ParamType2 enumeration. These are defined in the header file paramtype.h.
Note: TYPE_RGBA has a misleading name because it has no alpha field, and only corresponds to parameters defined as a Point3. If you want to use a color with an alpha field consider using TYPE_FRGBA which accepts Point4.
The following are the valid types for parameters in parameter blocks. Note that the actual type of a parameter block object
type is the name of the parameter type appended with the suffix _TYPE. For example the type of a TYPE_FLOAT parameter is defined as TYPE_FLOAT_TYPE.
Note that the parameter types have associated Tab<> collections, and are noted by the suffix _TAB (e.g. TYPE_FLOAT_TAB). The collections are passed as pointers to the appropriate parameterization of Tab<> (e.g. Tab<TYPE_FLOAT>*).
- TYPE_FLOAT (float) - A single floating point value.
- TYPE_INT (int) - A single integer value.
- TYPE_RGBA (Point3) - Note that this is a Point3value representing color data with an implied stdColor255Dim dimension.
- TYPE_POINT3 (Point3) - A Point3 data type value.
- TYPE_FRGBA (Point3) - A Point4 value representing color data with an implied stdColor255Dim dimension.
- TYPE_POINT4 (Point3) - A Point4 data type value.
- TYPE_BOOL (BOOL) - An integer used as a boolean value.
- TYPE_ANGLE (float) - A floating point value with an implied stdAngleDim dimension.
- TYPE_PCNT_FRAC (float) - A floating point with an implied stdPercentDim dimension.
- TYPE_WORLD (float) 0 Specify that a parameter represents world distance units. This implies a parameter dimension of stdWorldDim.
- TYPE_STRING (MCHAR*) - A character string. The string has a local copy made and managed by the parameter block.
- TYPE_FILENAME (MCHAR*) - Used to identify file names .
- TYPE_HSV (Point3) - This option is obsolete.
- TYPE_COLOR_CHANNEL (float) - A single floating point value with an implied stdColor255Dim dimension.
- TYPE_TIMEVALUE (int) - A single integer value used as a TimeValue -- implies a stdTimeDim dimension.
- TYPE_RADIOBTN_INDEX (int) - This is used as integer for parameters represented as radio buttons in the UI.
- TYPE_MTL (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 (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 (PBBitmap*) - 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 (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 (ReferenceTarget*) - 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 (int) - This is used for parameters that are 0-based, but exposed to MAXScript as 1-based. For example a vertex index.
- TYPE_MATRIX3 (Matrix3*) - A standard 3ds Max matrix.
- TYPE_PBLOCK2 (IParamBlock2*) - A pointer to an IParamBlock2 object. Note "TYPE_PBLOCK2_TYPE" is not defined.