Skip to content

Commit

Permalink
Merge pull request #3333 from mattigruener/metadataIssue
Browse files Browse the repository at this point in the history
Metadata Lookup Issue
  • Loading branch information
johnhaddon committed Aug 20, 2019
2 parents 9fb5302 + d2a3aad commit 3e5b667
Show file tree
Hide file tree
Showing 2 changed files with 13 additions and 3 deletions.
5 changes: 3 additions & 2 deletions python/GafferArnoldUI/ArnoldShaderUI.py
Expand Up @@ -283,8 +283,9 @@ def __translateNodeMetadata( nodeEntry ) :
userDefault = __aiMetadataGetStr( nodeEntry, paramName, "gaffer.userDefault" )

if userDefault:
__metadata[paramPath]["userDefault"] = userDefault

nodeName, _, plugName = paramPath.split( "." )
Gaffer.Metadata.registerValue( "ai:surface:%s:%s" % ( nodeName, plugName ), "userDefault", userDefault )


with IECoreArnold.UniverseBlock( writable = False ) :

Expand Down
11 changes: 10 additions & 1 deletion python/GafferArnoldUITest/ArnoldShaderUITest.py
Expand Up @@ -189,7 +189,16 @@ def testUserDefaultMetadata( self ) :
self.assertEqual( parms["uvcoords"].value, imath.V2f( 12, 13 ) )
self.assertEqual( parms["filename"].value, "overrideUserDefault" )
self.assertEqual( parms["filter"].value, "bilinear" )


def testBaseClassMetadataLookup( self ) :

surface = GafferArnold.ArnoldShader()
surface.loadShader( "standard_surface" )

# Make sure that metadata registration based on mechanism in GafferScene.ShaderUI works
Gaffer.Metadata.registerValue( "ai:surface:standard_surface:aov_id1", "userDefault", "id_1" )

self.assertEqual( Gaffer.Metadata.value( surface["parameters"]["aov_id1"], "userDefault" ), "id_1" )

if __name__ == "__main__":
unittest.main()

0 comments on commit 3e5b667

Please sign in to comment.