Softimage SDK Programmer's Guide > What's New / What's Changed >

# Softimage 2012

## Getting and Setting Size and Position for PPGs

New methods and functions were added to PPGLayout in the Object Model and the C++ API to allow for setting and getting the size and position of a modal property editor (also known as a PPG).

- PPGLayout.SetViewSize
- PPGLayout.SetViewPosition
- PPGLayout.ViewSize
- PPGLayout.ViewPosition

## Undo API

New methods and functions were added to XSIApplication in the Object Model and the C++ API to allow for opening and closing undo complexes and return true if a command is undoing or redoing.

- XSIApplication.OpenUndo
- XSIApplication.CloseUndo
- XSIApplication.IsUndoing

## UVProperty Pinning API

New C++ and Object Model API for marking cluster components as pinned or unpinned. This API is mainly used by the UVUnfold feature.

- UVProperty

## Schematic View and Nodes API

New C++ and Object Model API for manipulating the schematic view nodes, and new menu anchor points: siMenuSchematicViewID, siMenuSchematicViewContextID, and siMenuSchematicNodeContextID. The schematic view presents the scene in a hierarchical structure with graphical links that show the relationships between objects, as well as material and texture nodes to indicate how each object is defined. A SchematicDemo example is added to the SDK Examples Workgroup.

- Schematic
- SchematicNode

## Events

- siOnBeginCommand: Fired when a command is about to be executed. The event can be used to abort the command execution, modify the command argument values or launch other commands.
- siOnEndCommand: Fired when a command has been executed. The event can be used to access the command return value or output argument values. Contrary to other event types, this event is always fired when the current command has been aborted by a previous event.
- siOnRenderAbort: Fired when a render sequence has been aborted by the user. The event can also be sent when a render region job is re-executed as a result of a scene change.
- Added ActionSource support for siFileTypeAction to siOnBeginFileImport and siOnEndFileImport events. Now siOnBeginFileExport/siOnEndFileExport and siOnBeginFileImport/siOnEndFileImport events support Action and Shape actions.

## Interactive Tool SDK

- New ToolContext class added to the C++ API for building plug-in tools that can be used in 3D views.
- New Math classes CLine and CPlane used by the Tool SDK.
- Tool Wizard in the Plug-in Manager.
- New CustomTool example added to the SDK Examples Workgroup.

## Image Clip and Bitmap Controls

- New Image Clip Control in PPGLayout (siControlImageClip): A control that shows an Image Clip. A string parameter sets the Image Clip full name. Supported attribute is siUIShowClip Set to True to show the thumbnail of the Image Clip control. The control toolbar is always displayed, regardless of this attribute value.
- Static Bitmap control (siControlBitmap): Use siUIFilePath to set the bitmap to show.
- For an example of both, see PSetUIDemo in the SDK Examples Workgroup.

## Support for Menu Checkmarks

A new method and two functions where added to MenuItem in the Object Model and the C++ API to support menu checkmarks.

- MenuItem.Checked

## Scripting Shortcuts for Python

New Object Model shortcuts were added to siutils.py to facilitate python scripting. See Shortcuts for Python.

## Behavior Changes in the SDK

- The Layout.CreateView method and the Layout::CreateView function now display the name (in the titlebar) of the created view.
- Scripts can no longer change the number of undo levels permanently. This prevents problems that occurred when scripts set the number of undo levels to 0 to increase performance, and then failed to set it back or terminated abnormally.

## New Commands

- CreateLayerGroup
- FBXGetPluginVersion
- FBXGetSDKVersion
- PinAllUVComponents
- PinUVComponents
- UnPinAllUVComponents
- UnPinUVComponents