Correctly copying and transforming GEO_CortexPrimitives during an ObjectMerge.
Bug fix: preventing a Computation result to be recomputed everytime it's queried because of unmatching hash.

Added a test showing the situation where it can happen: if the computation result is registered artificially and the hash of the given object does not match the real computation result, then it would never update the internal computation hash and would force the computation every time.
Fixed a bug that was cauing the cache to hold incorrect image data.
Merge pull request #119 from andrewkaufman/objectMergeFix

Fixed SOP merging for GEO_CortexPrimitives
TagFilter now prevents unnecessary expansion.

In SubNetwork/AllDescendants mode, the tagFilter is used to prevent expansion into branches of the hierarchy that were not requested. For a heavy asset, filtering by a "Proxy" tag was expanding in 25 seconds and creating 22000 nodes. It is now expanding in 3 seconds and creating 3000 nodes.
Promoting tagFilter to all SceneCache nodes.

Not actually using it yet.
Finished promoting tagFilter.

SceneCache Xform and Geo pass the tagFilter through to matching children during expansion and push. Xfrom still uses it to limit expansion and control visibility. Geo just passes it on to the SOP, which uses it to limit objects loaded.
Making struct to hold the expansion parameters.

Simplifying the function signatures rather than adding yet another argument to all of them. I probably should have done this before adding the tagFilter...
Promoting shapeFilter to all SceneCache nodes.

SceneCache Xform and Geo just pass it through to the SOP, as with the attributeFilter.
HoudiniScene recognizes user defined tags on OBJs.

It gets a space separated list of tags, which can be defined on any OBJ node, by making a string parm named ieTags
Adding ieTags output parameter to SceneCache OBJs.

This is a space separated list of tags, which are exported when caching with the SceneCache ROP (via HoudiniScene).
HoudiniScene uses PrimitiveGroups to define extra tags on SOPs.

Users can now define extra tags on hierarchy inside a flattened SOP by making a Houdini PrimitiveGroup with the prefix "ieTag_" and assigning the relative prims to it.
Merge pull request #123 from goddardl/cacheBug

Fixed a bug with the Nuke cache when using IECoreNuke::LensDistort
Added clear() method IECoreGL.ShaderLoader, which allows reloading GLSL shaders on the fly.
Fixing description on tagFilter parm
Merge pull request #124 from andrewkaufman/tagFilterImprovements

Tag Improvements in Houdini
Fixed Windows build issue in FromMayaPlugConverter.

Many thanks to Sun HaoHui for finding it.
Fixed shared data problem

Fixed a problem where the global shared data was getting created and destroyed multiple times if there were multiple procedurals in a rib
Hiding the top level SceneCache OBJ during expansion.

Also using setDisplay instead of setVisible, to control visibility of a single node without effecting parent nodes. On a heavy asset, this reduces expansion time from 442.3s (7.38m) to 17.12s.
Moved the work of sceneChanged() into updateState()

By deferring calculations until the node actually cooks, we shave another 12% (2 seconds) off the expansion time.