Parameter Types
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 aPoint3
value representing color data with an impliedstdColor255Dim
dimension.TYPE_POINT3
(Point3
) - APoint3
data type value.TYPE_FRGBA
(Point3
) - APoint4
value representing color data with an impliedstdColor255Dim
dimension.TYPE_POINT4
(Point3
) - APoint4
data type value.TYPE_BOOL
(BOOL
) - An integer used as a boolean value.TYPE_ANGLE
(float
) - A floating point value with an impliedstdAngleDim
dimension.TYPE_PCNT_FRAC
(float
) - A floating point with an impliedstdPercentDim
dimension.TYPE_WORLD
(float
) 0 Specify that a parameter represents world distance units. This implies a parameter dimension ofstdWorldDim
.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 impliedstdColor255Dim
dimension.TYPE_TIMEVALUE
(int
) - A single integer value used as a TimeValue -- implies astdTimeDim
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.