0.14.0.0¶
UI¶
- NodeGraph
- Improved “Select Affected Objects” menu item. This is now available on filters as well as on scene processors.
- Added support for dragging objects from the Viewer and SceneHierarchy
and dropping them onto scene processors and PathFilters, to specify
the affected objects.
- Dragging onto a node replaces the current paths.
- Shift+Drag adds to the current paths.
- Control+Drag removes from the current paths.
- Added plug context menu for moving promoted plugs on Boxes.
- NodeEditor
- Added “Select Affected Objects” menu item in the tool menu for filters and scene processors.
- UIEditor
- Added + button for adding plugs, and - button for deleting them.
- Added the ability to create nested sections and drag+drop plugs between them.
- Viewer
- Fixed grid and gnomon menus.
Core¶
Scene¶
- Improved ParentConstraint so it is acts more like the equivalent parenting operation, and maintains the local transforms of the objects being constrained. Note that this is a change of behaviour, but one that we feel is much for the better.
- Fixed ShaderAssignment to allow referencing of promoted shader input plugs.
API¶
- Added
parallelTraverse()
andfilteredParallelTraverse()
methods to SceneAlgo. These make it trivial to traverse all locations in a scene using multiple threads. - Added inputTransform argument to
Constraint::computeConstraint()
. - Removed TransformPlugValueWidget.
- Used Plug rather than CompoundPlug in several places. CompoundPlug
is being phased out because the Plug base class is now perfectly
capable of having child plugs.
ExecutableNode::dispatcherPlug()
- LocalDispatcher dispatcher plug
Shader::parametersPlug()
- Fixed support for boost python object methods as menu commands.
- Pointer
- Fixed
registerPointer()
method. - Added binding for
registerPointer()
.
- Fixed
- Added
scoped
argument toSignal.connect()
python bindings. - Added
SignalClass
for binding signals, and deprecated the oldSignalBinder
. - Added support for binding signals with 4 arguments.
- Added
LazyMethod.flush()
method. - Fixed update bug in
PathListingWidget.setSelectedPaths()
. - Added support for “nodule:type” metadata to control the type
of nodule created for a plug. This should be used in preference
to
Nodule::registerNodule()
, which has been deprecated. - Added support for modifying CompoundNodule orientation, spacing and direction using plug metadata.
- Improved signalling of instance metadata changes.
- Added default arguments for ValuePlug constructor arguments.
Incompatibilities¶
- Changed Constraint::computeConstraint() function signature.
- Changed ParentConstraint behaviour to include the local transform of the constrained object.
- Removed TransformPlugValueWidget.
- Changed plug type returned by ExecutableNode::dispatcherPlug().
- Changed Dispatcher::SetupPlugsFn signature.
- Changed ExecutableNode::dispatcherPlug() signature.
- Changed Shader::parametersPlug() to Plug rather than CompoundPlug.
- Removed asUserPlug arguments from Box promotion methods. Plugs are now always promoted directly under a box, and never as user plugs.
- Changed signature of
Nodule::registerNodule()
when registering a subclass. - Changed signature of CompoundNodule constructor, which now accepts a Plug rather than CompoundPlug.
- Replaced UIEditor setSelectedPlug()/getSelectedPlug() methods with setSelection()/getSelection().
- Added arguments to Metadata signals.