3ds Max C++ API Reference
List of ParamTags Choices

Enumerations

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_nonLocalizedName , p_end = p_default + 1024 ,
  properties , enums
}
 Optional parameter definition tags. More...
 

Detailed Description

Enumeration Type Documentation

◆ ParamTags

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

It must be of the correct type to match the ParamType of the parameter (for example float for TYPE_FLOATs, int for TYPE_INTs, Color(x,y,z) for TYPE_RGBA, Point3(x,y,z) for TYPE_POINT3s, etc.)

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.

Examples:

p_default, FALSE,p_default, 1,p_default, Point3(0,0,0),p_default, 25.0,
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.

Example:

p_ms_default, 25.0,
p_range 

Specifies legal range, used in spinner/slider setup.

Supplied as two values of the correct type (as described in p_default, above). Ranges are used for the following control types: TYPE_ANGLE, TYPE_PCNT_FRAC, TYPE_COLOR_CHANNEL, TYPE_FLOAT, TYPE_TIMEVALUE, TYPE_INT, TYPE_RADIOBTN_INDEX, TYPE_POINT3, TYPE_RGBA, TYPE_FRGBA. Note that the range is not used for MaxScript validation of parameters. Example:

p_range, -99999999.0, 99999999.0,
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 control types in the ControlType or ControlType2 enums should be specified.

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. See the example in ControlType.TYPE_SPINNER.
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.

Example:

p_validator, &fOutValidator,
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.

Example:

p_accessor, &cmap_accessor,
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.

Example:

p_vals, 0,1,2,4,3 ,
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.

Example:

p_refno, UVGEN_REF,
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.

Example:

p_subtexno, 0,
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.

Example:

p_submtlno, 1,
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.

Example:

p_dim, stdWorldDim,
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.

Example:

p_sclassID, SHAPE_CLASS_ID,
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.

Example:

p_enabled, FALSE,
p_enable_ctrls 

For TYPE_BOOL parameters, 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. This tag is to be followed by the number of controls as an integer, and then the list of individual parameter IDs (ParamID).

Example:

p_enable_ctrls, 3, sel_falloff, sel_pinch, sel_bubble
p_prompt 

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

Example:

p_prompt, IDS_PICK_CAM_PROMPT,
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.

Example:

p_tooltip, <tooltip_str_id>
p_assetTypeID 

Specfies asset type ID.

The value must be a MaxSDK::AssetManagement::AssetType enum value. This creates an asset that is managed by the asset manager.

Only one of p_assetTypeID and p_assetTypeName may be specified. If neither is specified, the asset pointed to by TYPE_FILENAME is stored as a string.

p_assetTypeName 

Specifies asset type name.

The value must be a MaxSDK::AssetManagement::AssetType enum name. If the name is not found, AssetType.kOtherAsset is used.

Only one of p_assetTypeID and p_assetTypeName may be specified. If neither is specified, the asset pointed to by TYPE_FILENAME is stored as a string.

p_defaults_and_ranges_in_meters 

When this tag is present, all values specified by p_default, p_ms_default, p_range, and the spinner scale are treated as being in meters - as opposed to normally being in system units, when this tag is not present.

Meters were chosen, over having configurable units, for simplicity and to avoid breaking SDK compatibility. Valid for parameters of types TYPE_FLOAT and TYPE_WORLD.

p_nonLocalizedName 

This allows you to supply a non-localized parameter name for this parameter.

This name should be the parameter name in English, and should be specified if the specified parameter name ("radialStrength" in the example below) is not the same as the localized name of the parameter acquired using the parameter's resource ID (IDS_EP_RDSTR in the example below).

Example:

PB_RADSTR, _T("radialStrength"), TYPE_FLOAT, P_ANIMATABLE + P_RESET_DEFAULT, IDS_EP_RDSTR,
p_default, 0.5f,
p_range, 0.0f,1000.0f,
p_ui, TYPE_SPINNER, EDITTYPE_FLOAT, IDC_VORTEX_RD, IDC_VORTEX_RDSPIN, SPIN_AUTOSCALE,
p_nonLocalizedName, _T("Radial Pull Strength"),
p_end,

where resource string IDS_EP_RDSTR is "Radial Pull Strength" in English language pack.

p_end 

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

properties 
enums 
719 {
731  p_default = -(1<<30),
732 
740  p_ms_default,
741 
750  p_range,
751 
761  p_ui,
762 
770  p_validator,
771 
782  p_accessor,
783 
792  p_vals,
793 
794  // p_subanim_order, //!< Overrides sequential subanim order. Unused.
795 
803  p_refno,
804 
812  p_subtexno,
813 
820  p_submtlno,
821 
828  p_dim,
829 
834  p_classID,
835 
843  p_sclassID,
844 
853  p_enabled,
854 
866 
872  p_prompt,
873 
875  p_caption,
876 
885  p_init_file,
886 
904  p_file_types,
905 
907  p_ctrl_ids,
908 
911  p_uix,
912 
915 
923  p_tooltip,
924 
931 
938 
943 
960 
962  p_end = p_default + 1024,
963 
965  properties,
966 
968  enums,
969 };
@ p_defaults_and_ranges_in_meters
When this tag is present, all values specified by p_default, p_ms_default, p_range,...
Definition: paramtype.h:942
@ p_file_types
Defines file patterns used by open/save file dialogs.
Definition: paramtype.h:904
@ p_end
Signals the end of the "required_param_specs" entry in a parameter block descriptor.
Definition: paramtype.h:962
@ properties
Definition: paramtype.h:965
@ p_submtlno
Defines the sub-material integer index for this Mtl in an owner Mtl.
Definition: paramtype.h:820
@ p_configurable_default
Default can be taken from .ini file.
Definition: paramtype.h:914
@ enums
Definition: paramtype.h:968
@ p_sclassID
Specifies the super class ID used as a validator for the various reftarg parameters.
Definition: paramtype.h:843
@ p_classID
This specifies the class ID used as a validator for the various reftarg parameters.
Definition: paramtype.h:834
@ p_vals
This defines radio button values in button order if button settings need to correspond to non-ordinal...
Definition: paramtype.h:792
@ p_ctrl_ids
Definition: paramtype.h:907
@ p_range
Specifies legal range, used in spinner/slider setup.
Definition: paramtype.h:750
@ p_assetTypeName
Specifies asset type name.
Definition: paramtype.h:937
@ p_ms_default
Specifies default value when constructed by scripts.
Definition: paramtype.h:740
@ p_uix
Specifies which additional rollup/map the parameter is supposed to appear in.
Definition: paramtype.h:911
@ p_default
Specifies the default value used when a parameter block is first created (or reset to defaults).
Definition: paramtype.h:731
@ p_dim
This allows you to supply a dimension for this parameter.
Definition: paramtype.h:828
@ p_tooltip
Specifies a tooltip string by resource ID to be displayed for the user interface control associated w...
Definition: paramtype.h:923
@ p_subtexno
For Texmap items in Mtls this defines the integer SubTexmap index for this Texmap in the owner Mtl.
Definition: paramtype.h:812
@ p_accessor
Specifies an accessor object.
Definition: paramtype.h:782
@ p_init_file
This establishes the initial filename for open/save file dlgs.
Definition: paramtype.h:885
@ p_assetTypeID
Specfies asset type ID.
Definition: paramtype.h:930
@ p_prompt
This sets the status line prompt string resource ID for various picker buttons.
Definition: paramtype.h:872
@ p_validator
Specifies a validator object.
Definition: paramtype.h:770
@ p_enable_ctrls
For TYPE_BOOL parameters, lists which other params should be automatically UI enabled/disabled by cha...
Definition: paramtype.h:865
@ p_ui
Specifies associated UI rollout control IDs, etc.
Definition: paramtype.h:761
@ p_refno
Used if the flag value includes P_OWNERS_REF.
Definition: paramtype.h:803
@ p_enabled
The associated UI controls are enabled by default.
Definition: paramtype.h:853
@ p_caption
This is a caption string resource ID for TYPE_FILEOPENBUTTON or TYPE_FILESAVEBUTTON open/save file di...
Definition: paramtype.h:875
@ p_nonLocalizedName
This allows you to supply a non-localized parameter name for this parameter.
Definition: paramtype.h:959