Share

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 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.

Was this information helpful?