Bake To Texture Rollout Controls

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.

Controls

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.

Layouts

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.