Gaffer 0.60.0.0b1 #4228
johnhaddon
started this conversation in
General
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
Features
Improvements
enabled
plug may not be varied using thescene:path
context variable. Attempts to do so could result in the generation of invalid scenes. Filters are the appropriate way to enable or disable a node on a per-location basis, and should be used instead. This change yielded a 5-10% performance improvement for a moderately complex scene.hash()
method, and reduced overhead inEditableScope
.parallelProcessLocations()
,parallelTraverse()
andfilteredParallelTraverse()
. This is particularly noticeable when visiting locations with many children.Fixes
PYTHONHOME
environment variable. This fixes problems running Gaffer in python-enabled versions ofgdb
.API
EditableScope::set( name, const T * )
overload. This should be used in preference to the oldset( name const T & )
method.EditableScope::setAllocated()
method to replace the oldset()
method in the rare circumstance where allocation is required.variableHash()
method, which returns the hash for an individual variable.getIfExists()
method, which returnsnullptr
if a variable doesn't exist.getAsData()
method, which returns a copy of a variable asIECore::Data
.TypeDescription
registration class, which must be used to register any custom data types used in context variables.reorderChildren()
andchildrenReorderedSignal()
methods.addModule()
method, for adding imports to the serialisation.setSnapIncrement()
andgetSnapIncrement()
methods.setHoverPositionVisible()
andgetHoverPositionVisible()
accessors to control an optional position indicator drawn under the pointer.Engine::executeCachePolicy()
method which must be implemented by subclasses.channelNameR
etc.root
argument tofilteredParallelTraverse( scene, pathMatcher )
.Breaking Changes
*
row.Ownership
enum. The copy constructor now always performs a full copy.changed()
method._copy
argument fromget()
Python binding.value
tovalues
.setPositions()/getPositions()
andsetPosition()/getPosition()
methods fromSlider
. UsesetValues()/getValues()
andsetValue()/getValue()
instead.positionChangedSignal()
fromSlider
. UsevalueChangedSignal()
instead.PositionChangedReason
fromSlider
. UseValueChangedReason
instead.setPositionIncrement()/getPositionIncrement()
fromSlider
. UsesetIncrement()/getIncrement()
instead._drawPosition()
method with_drawValue()
.cameraBlur
plug. This never functioned as advertised, as the regulartransformBlur
anddeformationBlur
blur settings were applied to cameras instead. As before, a StandardAttributes node may be used to customise blur for individual cameras.GafferScene::FilterPlug
:matchingPaths
,filteredParallelTraverse
,Detail::ThreadableFilteredFunctor
.filteredParallelTraverse()
overload which accepted aFilter *
. Passfilter->outPlug()
instead.const object &
where they used to takeobject &
:modulePath()
classPath()
Serialisation &
argument where they used to takeconst Serialisation &
:constructor()
postConstructor()
postHierarchy()
postScript()
repr()
now takes aSerialisation *
where it used to take aconst Serialisation *
.valueRepr()
now has an optionalserialisation
argument.NodeValueChangedSignal
->LegacyNodeValueChangedSignal
PlugValueChangedSignal
->LegacyPlugValueChangedSignal
NodeValueChangedSignal2
->NodeValueChangedSignal
PlugValueChangedSignal2
->PlugValueChangedSignal
serialisation
required argument tometadataSerialisation()
.metadataModuleDependencies()
method. Module dependencies are now declared automatically bymetadataSerialisation()
.SourceSet
.Standard
. This executes expressions behind a lock, and can cause hangs if buggy upstream nodes perform TBB tasks without an appropriateTaskIsolation
orTaskCollaboration
policy. In this case, theGAFFER_PYTHONEXPRESSION_CACHEPOLICY
environment variable may be set toLegacy
orTaskIsolation
while the bugs are fixed.plugFlagsChangedSignal()
. We aim to phase flags out completely in future, and none of the current flags are expected to be changed after construction.storage
argument toprocessContext()
method.[[deprecated]]
. These were already documented as deprecated in Gaffer 0.59.0.0, but their use will now trigger compiler warnings. Please use the class-level typedefs instead, for examplePlug::Iterator
in place ofPlugIterator
.Build
This discussion was created from the release Gaffer 0.60.0.0b1.
Beta Was this translation helpful? Give feedback.
All reactions