CommonBakeMap
plug-ins define their own UI using MAXScript rollout definition syntax, which gets displayed in the Bake To Texture dialog, under Maps.
This UI uses Qt as the underlying display technology, and must be defined using the extendedUI:true
keyword. A sub-set of rollout controls are mapped to corresponding Qt widgets (listed below), no other controls should be used in a CommonBakeMap
UI. These controls have their standard properties, plus some specific properties mapped to Qt properties (listed below). Properties on the Qt widget are also available, when they are of these basic types: Bool, Int, Float, Double, Size, SizeF, and String. Signals of these types are also available, but need to be invoked using identically named MAXScript handlers.
Standard auto mapped Qt widget properties like toolTip, visible, enabled are not covered by this documentation. For the full property description, refer to the Qt documentation.
Button
This control is mapped to QPushButton.
text : string
The text to display on the button.
iconName : string
A 3ds Max built-in multi-resolution icon name to display on the button. See the "Icon Guide" in the 3ds Max SDK Help for a list of available icons.
Example:
button myButton iconName:"Common/Hand"
MapButton
This control is mapped to QPushButton.
map : TextureMap
The texture map assigned to the button.
MaterialButton
This control is mapped to QPushButton.
material : Material
The material assigned to the button.
CheckBox
This control is mapped to QCheckBox
checked : bool
Indicates if the checkbox is checked.
iconName : string
A 3ds Max built-in multi-resolution icon name to display on the button. See the "Icon Guide" in the 3ds Max SDK Help for a list of available icons.
DropDownList
This control is mapped to QComboBox.
items : array of string
The array of text strings that are the items displayed in the combobox list.
text : string
The text in the edit box.
selection : int
The 1-based number of the currently selected item in the list. Defaults to 1.
selected : string
The text of the currently selected item. Can be used to replace individual items without resetting the entire items array. If the items list is an empty array, this value is undefined.
Spinner
This control is mapped to QSpinBox.
type: #float | #integer | #worldunits
The type of the spinner, either float, integer or world units. The default is #float.
value: float or integer
The value of the spinner.
scale : float
The scale of the spinner specifies the smallest value increment. Defaults to 0.1 for floats, 1 for integers.
range : point3
A Point3 value containing the minimum, maximum, and initial values for the spinner in the x, y, and z components, respectively. Defaults to [0,100,0]
.
Label
This control is mapped to QLabel.
text : string
The text of the label.
Two Qt layouts are available for laying out controls in the Bake To Texture UI.
GridLayout
The GridLayout positions UI controls in a grid of rows and columns.
This layout maps to QGridLayout.
Layout data:
rowStretch : array of int
Sets the stretch factor for the rows as defined by the single array entries. Rows with a larger factor will receive more of the available layout space. The default stretch factor for all rows is 0, which means no stretching at all.
columnStretch : array of int
Sets the stretch factor for the columns as defined by the single array entries. Columns with a larger factor will receive more of the available layout space. The default stretch factor for all columns is 0, which means no stretching at all.
spacing : int
The spacing between UI controls that are positioned next to each other. If a vertical spacing is defined which is unequal to the horizontal spacing, the spacing value is -1. The value is dpi scaled.
horzSpacing : int
The spacing between UI controls that are positioned side by side. The value is dpi scaled.
vertSpacing : int
The spacing between UI controls that are positioned on top of each other. The value is dpi scaled.
Layout item data:
The properties in this section need to be applied on a UI control that gets embedded in a GridLayout e.g. a Button
.
row : int
The row in which the UI control should be placed. This is a zero-based index.
column : int
The column in which the UI control should be placed. This is a zero-based index.
rowSpan : int
The number of rows over which the UI control should span. The default is 1.
columnSpan : int
The number of columns over which the UI control should span. The default is 1.
align : #left | #center | #right
The horizontal alignment of the UI control in the grid cell.
valign : #top | #center | #bottom
The vertical alignment of the UI control in the grid cell.
layoutParent: layout rollout control
For nested layouts this defines the layout parent to which a UI control belongs.
BoxLayout
The BoxLayout positions UI controls in a line depending on its orientation, which can be either horizontal or vertical.
This layout is mapped to QBoxLayout.
Layout data:
orientation: #vertical | #horizontal
The layout direction of the UI controls handled by this layout.
stretch : array of int
Sets the stretch factor for the each layout slot as defined by the single array entries. Slots with a larger factor receive more of the available layout space. The default stretch factor for all slots is 0, which means no stretching at all.
spacing : int
The spacing between UI controls that are positioned next to each other. The value is dpi scaled.
Layout item data:
The properties in this section need to be applied on a UI control that gets embedded in a BoxLayout e.g. a Button
.
stretch : int
The stretch factor for the UI control in the box layout slot. Note, that stretch factors defined on the box layout itself will discard the individual setting on layout item.
align : #left | #center | #right
The horizontal alignment of the UI control in the box layout slot.
valign : #top | #center | #bottom
The vertical alignment of the UI control in the box layout slot.
layoutParent: layout rollout control
For nested layouts, this defines the layout parent to which a UI control belongs.