Softimage 2014


Following are the additions and changes to the Softimage® 2014 SDK.

Custom Primitives

A custom primitive object is an implicit primitive, and you can fully define its representation. You can use a custom primitive object like any other primitives in Softimage such as the cones and spheres.

You must first register the custom primitive object using PluginRegistrar.RegisterPrimitive inside the XSILoadPlugin callback. After registering the custom primitive object, it can be created using the create primitive commands like GetPrim and X3DObject::AddPrimitive. You can define parameters for the custom primitive object and tweak where they appear in the property page using the DefineLayout callback. The PPGEvent callback can be used for tracking the parameter changes using the siParameterChange event id. The Draw callback draws the custom primitive object. The custom primitive object is drawn in the scene directly using OpenGL calls. Like other implicit geometry, a custom primitive object can be converted using either the SIConvert command or CreatePrim command. The custom primitive object can only be converted to a PolygonMesh.

The BoundingBox callback returns the bounding box for the custom primitive. The bounding box represents a simplified version of the custom primitive object and is used for improving performance in certain operations. Unlike the Draw callback, the bounding box values are cached internally and only called when there are updates such as changes to parameter values.

You can use the Custom Primitive Wizard to generate the code for a self-installing plug-in that contains a custom primitive object. To access the Custom Primitive Wizard, select Plug-in Manager File New Primitive.

See the custom primitive example in the SDK workgroup about how to define a custom primitive object (<your_installation_folder>\Softimage 2014\XSISDK\examples\workgroup\Addons\CustomPrimitive).

Enhancements to the GridData Object

New methods, attributes, and events are added to enhance the GridData object. The new methods enable you to perform useful functions on the GridData object such as set new column type, insertion and removal of rows and columns, and others.

These are the new attributes: siUIGridLockRowHeight to freeze the row height, siUIGridLockColumnWidth to freeze the column width, and siUIGridThumbnailSize to set the default thumbnail size to use when a size is not specified. The newly added events are: OnBeginValueChange which is called before modifying a parameter, OnEndValueChange which is called after modifying a parameter, OnBeginSelectionChange which is called before applying a selection change to a grid widget, OnEndSelectionChange which is called after a selection change is applied to a grid widget, OnButtonClicked which is called when a button is clicked in a grid widget, OnHeaderDoubleClick which is called when a header is double-clicked in a grid widget, OnContextMenuInit which is called when a mouse is right-clicked over a grid widget, and OnContextMenuSelected which is called when a contextual menu item is selected over a grid widget.

See the GridData example in the SDK workgroup for more information.

Upgraded Python and New Environment Variable

For Windows and Linux, the version that is installed with Softimage is Python v2.7.3. The version of the pywin32 extensions for both Windows and Linux is v217. Additionally, a new WARNPYTHON3K environment variable can be set to 1 to generate a warning in the script log for features that will not work or work differently in Python 3.x.

New Classes (C++)

New Callbacks (C++)

The following callbacks are added for the custom primitive object:

New Methods (C++)

New Methods (Object Model)

New Structures (C++)

New Commands

New Properties (Object Model)

New Enumerations

New PPGEvent Types (C++)

New Events

See the Python example in <yourinstallationdirectory>Addons\DragAndDrop\Application\Plugins\ for more information.

New View Attributes


The operator preset information such as, Fx operator presets, generator operator presets, and others are removed from the Commands and Scripting Reference section of the SDK help. For information about the operator parameters, refer to the Properties Reference section in the Softimage User's Guide.

Creative Commons License Except where otherwise noted, this work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported License