The following are the flags used in the parameter specification.
- P_ANIMATABLE - Indicates the parameter is animatable.
- P_TRANSIENT - Indicates the parameter should not be saved in the scene file. One might do this, for example, for virtual parameters that
don't actually hold data but reflect data held elsewhere in the object (and accessed via a PBAccessor) which is saved explicitly by it. This might save file space. In some cases, parameters might be provided that are derived
from other state in the object that is computed each time you load the object and made available say as a help to script authors.
In these cases also, you might decide not to take up file space.
- P_NO_INIT - This is obsolete.
- P_COMPUTED_NAME - This allows a plug-in to provide a dynamically-created local name for a parameter or Tab<> parameter entry. If you specify this parameter flag, you also need to supply a PBAccessor instance pointer (using the p_accessor tag) that has the PBAccessor::GetLocalName() method implemented.
- P_INVISIBLE - Prevents the animatable parameter from being shown in the track view.
- P_RESET_DEFAULT - Indicates to not make creation parameters sticky, rather always reset to default values.
- P_SUBANIM - Indicates this is a non-animatable reference target parameter is to be published as a sub-animatable. This makes it visible
in Track View.
- P_TV_SHOW_ALL - This is used for Tab<> animatable parameters, and indicates to show all entries in Track View even if there is no controller assigned.
- P_NO_REF - For reference target parameters, this indicates to not maintain the reference automatically (rather simply keep a copy
of the pointer).
- P_OWNERS_REF - Indicates this is a reference target parameter owned by the parameter block's owner not the block itself. Make sure to
supply the owner's reference number using the p_refno tag. If neither P_REF_NO or P_OWNERS_REF is set, the parameter block owns and maintains the reference.
- P_CAN_CONVERT - Indicates the validator supplied using the p_classID tag is used in a call to the CanConvertoTo() function, rather than requiring an exact ClassID match.
- P_SUBTEX - Indicates a texture map parameter is managed by the owner using the MtlBase sub-texture map methods. The integer index of the sub-texture map must be provided using the p_subtexno tag. See the Sub-Texture Map Parameters topic for more information.
- P_VARIABLE_SIZE - Indicates a Tab<> parameter is variable in size. This allows scripted changes.
- P_NO_AUTO_LABELS - Disables the automatic setting of button text for texture maps, materials, files, etc. You can use the method IParamMap2::SetText() to set it by hand.
- P_SHORT_LABELS - This is for use with TYPE_TEXMAP, TYPE_MTL and TYPE_BITMAP parameters that are associated with ParamMap2 picker buttons.
If you specify this flag, a shortened form of the object name is installed in the picker button label. For texture maps and
materials, the MtlBase::GetName() rather than MtlBase::GetFullName() is used, and for bitmaps just the filename rather than the full path name is used.
- P_READ_ONLY - This parameter can not be assigned using MAXScript. It allows try-and-buy 3rd-party plugins.
- P_OBSOLETE - When used as a parameter flag, the parameter will not be saved to disk or maintain references or animation keys. When loading
older files, the parameter will be reset after the load is completed, but will be valid during a post-load callback