import Gaffer
import GafferImage
import GafferOSL
import GafferScene
import IECore
import imath

Gaffer.Metadata.registerValue( parent, "serialiser:milestoneVersion", 1, persistent=False )
Gaffer.Metadata.registerValue( parent, "serialiser:majorVersion", 4, persistent=False )
Gaffer.Metadata.registerValue( parent, "serialiser:minorVersion", 7, persistent=False )
Gaffer.Metadata.registerValue( parent, "serialiser:patchVersion", 0, persistent=False )

__children = {}

parent["variables"].addChild( Gaffer.NameValuePlug( "image:catalogue:port", Gaffer.IntPlug( "value", defaultValue = 0, flags = Gaffer.Plug.Flags.Default | Gaffer.Plug.Flags.Dynamic, ), "imageCataloguePort", Gaffer.Plug.Flags.Default | Gaffer.Plug.Flags.Dynamic ) )
parent["variables"].addChild( Gaffer.NameValuePlug( "project:name", Gaffer.StringPlug( "value", defaultValue = 'default', flags = Gaffer.Plug.Flags.Default | Gaffer.Plug.Flags.Dynamic, ), "projectName", Gaffer.Plug.Flags.Default | Gaffer.Plug.Flags.Dynamic ) )
parent["variables"].addChild( Gaffer.NameValuePlug( "project:rootDirectory", Gaffer.StringPlug( "value", defaultValue = '$HOME/gaffer/projects/${project:name}', flags = Gaffer.Plug.Flags.Default | Gaffer.Plug.Flags.Dynamic, ), "projectRootDirectory", Gaffer.Plug.Flags.Default | Gaffer.Plug.Flags.Dynamic ) )
__children["openColorIO"] = GafferImage.OpenColorIOConfigPlug( "openColorIO", flags = Gaffer.Plug.Flags.Default | Gaffer.Plug.Flags.Dynamic, )
parent.addChild( __children["openColorIO"] )
__children["defaultFormat"] = GafferImage.FormatPlug( "defaultFormat", defaultValue = GafferImage.Format( 1920, 1080, 1.000 ), flags = Gaffer.Plug.Flags.Default | Gaffer.Plug.Flags.Dynamic, )
parent.addChild( __children["defaultFormat"] )
__children["GroupieBots"] = GafferScene.SceneReader( "GroupieBots" )
parent.addChild( __children["GroupieBots"] )
__children["GroupieBots"].addChild( Gaffer.V2fPlug( "__uiPosition", defaultValue = imath.V2f( 0, 0 ), flags = Gaffer.Plug.Flags.Default | Gaffer.Plug.Flags.Dynamic, ) )
__children["GroundSurface"] = GafferScene.Plane( "GroundSurface" )
parent.addChild( __children["GroundSurface"] )
__children["GroundSurface"].addChild( Gaffer.V2fPlug( "__uiPosition", defaultValue = imath.V2f( 0, 0 ), flags = Gaffer.Plug.Flags.Default | Gaffer.Plug.Flags.Dynamic, ) )
__children["DisplaceAndDensity"] = GafferOSL.OSLObject( "DisplaceAndDensity" )
parent.addChild( __children["DisplaceAndDensity"] )
__children["DisplaceAndDensity"]["primitiveVariables"].addChild( Gaffer.NameValuePlug( "P", Gaffer.V3fPlug( "value", defaultValue = imath.V3f( 0, 0, 0 ), interpretation = IECore.GeometricData.Interpretation.Point ), True, "primitiveVariable", Gaffer.Plug.Flags.Default | Gaffer.Plug.Flags.Dynamic ) )
__children["DisplaceAndDensity"]["primitiveVariables"].addChild( Gaffer.NameValuePlug( "customFloat", Gaffer.FloatPlug( "value", defaultValue = 0.0, ), True, "primitiveVariable1", Gaffer.Plug.Flags.Default | Gaffer.Plug.Flags.Dynamic ) )
__children["DisplaceAndDensity"]["primitiveVariables"].addChild( Gaffer.NameValuePlug( "Cs", Gaffer.Color3fPlug( "value", defaultValue = imath.Color3f( 0, 0, 0 ), ), True, "primitiveVariable2", Gaffer.Plug.Flags.Default | Gaffer.Plug.Flags.Dynamic ) )
__children["DisplaceAndDensity"].addChild( Gaffer.V2fPlug( "__uiPosition", defaultValue = imath.V2f( 0, 0 ), flags = Gaffer.Plug.Flags.Default | Gaffer.Plug.Flags.Dynamic, ) )
__children["PathFilter"] = GafferScene.PathFilter( "PathFilter" )
parent.addChild( __children["PathFilter"] )
__children["PathFilter"].addChild( Gaffer.V2fPlug( "__uiPosition", defaultValue = imath.V2f( 0, 0 ), flags = Gaffer.Plug.Flags.Default | Gaffer.Plug.Flags.Dynamic, ) )
__children["Noise"] = GafferOSL.OSLShader( "Noise" )
parent.addChild( __children["Noise"] )
__children["Noise"].loadShader( "Pattern/Noise" )
__children["Noise"].addChild( Gaffer.V2fPlug( "__uiPosition", defaultValue = imath.V2f( 0, 0 ), flags = Gaffer.Plug.Flags.Default | Gaffer.Plug.Flags.Dynamic, ) )
__children["InPoint"] = GafferOSL.OSLShader( "InPoint" )
parent.addChild( __children["InPoint"] )
__children["InPoint"].loadShader( "ObjectProcessing/InPoint" )
__children["InPoint"].addChild( Gaffer.V2fPlug( "__uiPosition", defaultValue = imath.V2f( 0, 0 ), flags = Gaffer.Plug.Flags.Default | Gaffer.Plug.Flags.Dynamic, ) )
__children["FloatToVector"] = GafferOSL.OSLShader( "FloatToVector" )
parent.addChild( __children["FloatToVector"] )
__children["FloatToVector"].loadShader( "Conversion/FloatToVector" )
__children["FloatToVector"].addChild( Gaffer.V2fPlug( "__uiPosition", defaultValue = imath.V2f( 0, 0 ), flags = Gaffer.Plug.Flags.Default | Gaffer.Plug.Flags.Dynamic, ) )
__children["FreezeTransform"] = GafferScene.FreezeTransform( "FreezeTransform" )
parent.addChild( __children["FreezeTransform"] )
__children["FreezeTransform"].addChild( Gaffer.V2fPlug( "__uiPosition", defaultValue = imath.V2f( 0, 0 ), flags = Gaffer.Plug.Flags.Default | Gaffer.Plug.Flags.Dynamic, ) )
__children["MultiplyFloat"] = GafferOSL.OSLShader( "MultiplyFloat" )
parent.addChild( __children["MultiplyFloat"] )
__children["MultiplyFloat"].loadShader( "Maths/MultiplyFloat" )
__children["MultiplyFloat"].addChild( Gaffer.V2fPlug( "__uiPosition", defaultValue = imath.V2f( 0, 0 ), flags = Gaffer.Plug.Flags.Default | Gaffer.Plug.Flags.Dynamic, ) )
__children["MeshNormals"] = GafferScene.MeshNormals( "MeshNormals" )
parent.addChild( __children["MeshNormals"] )
__children["MeshNormals"].addChild( Gaffer.V2fPlug( "__uiPosition", defaultValue = imath.V2f( 0, 0 ), flags = Gaffer.Plug.Flags.Default | Gaffer.Plug.Flags.Dynamic, ) )
__children["Scatter"] = GafferScene.Scatter( "Scatter" )
parent.addChild( __children["Scatter"] )
__children["Scatter"].addChild( Gaffer.V2fPlug( "__uiPosition", defaultValue = imath.V2f( 0, 0 ), flags = Gaffer.Plug.Flags.Default | Gaffer.Plug.Flags.Dynamic, ) )
__children["Instancer"] = GafferScene.Instancer( "Instancer" )
parent.addChild( __children["Instancer"] )
__children["Instancer"].addChild( Gaffer.V2fPlug( "__uiPosition", defaultValue = imath.V2f( 0, 0 ), flags = Gaffer.Plug.Flags.Default | Gaffer.Plug.Flags.Dynamic, ) )
__children["PathFilter1"] = GafferScene.PathFilter( "PathFilter1" )
parent.addChild( __children["PathFilter1"] )
__children["PathFilter1"].addChild( Gaffer.V2fPlug( "__uiPosition", defaultValue = imath.V2f( 0, 0 ), flags = Gaffer.Plug.Flags.Default | Gaffer.Plug.Flags.Dynamic, ) )
__children["Orientation"] = GafferScene.Orientation( "Orientation" )
parent.addChild( __children["Orientation"] )
__children["Orientation"].addChild( Gaffer.V2fPlug( "__uiPosition", defaultValue = imath.V2f( 0, 0 ), flags = Gaffer.Plug.Flags.Default | Gaffer.Plug.Flags.Dynamic, ) )
__children["Noise1"] = GafferOSL.OSLShader( "Noise1" )
parent.addChild( __children["Noise1"] )
__children["Noise1"].loadShader( "Pattern/Noise" )
__children["Noise1"].addChild( Gaffer.V2fPlug( "__uiPosition", defaultValue = imath.V2f( 0, 0 ), flags = Gaffer.Plug.Flags.Default | Gaffer.Plug.Flags.Dynamic, ) )
__children["CalculateZDirection"] = GafferOSL.OSLObject( "CalculateZDirection" )
parent.addChild( __children["CalculateZDirection"] )
__children["CalculateZDirection"]["primitiveVariables"].addChild( Gaffer.NameValuePlug( "customVector", Gaffer.V3fPlug( "value", defaultValue = imath.V3f( 0, 0, 0 ), interpretation = IECore.GeometricData.Interpretation.Vector ), True, "primitiveVariable", Gaffer.Plug.Flags.Default | Gaffer.Plug.Flags.Dynamic ) )
__children["CalculateZDirection"].addChild( Gaffer.V2fPlug( "__uiPosition", defaultValue = imath.V2f( 0, 0 ), flags = Gaffer.Plug.Flags.Default | Gaffer.Plug.Flags.Dynamic, ) )
__children["InPoint1"] = GafferOSL.OSLShader( "InPoint1" )
parent.addChild( __children["InPoint1"] )
__children["InPoint1"].loadShader( "ObjectProcessing/InPoint" )
__children["InPoint1"].addChild( Gaffer.V2fPlug( "__uiPosition", defaultValue = imath.V2f( 0, 0 ), flags = Gaffer.Plug.Flags.Default | Gaffer.Plug.Flags.Dynamic, ) )
__children["SubtractVector"] = GafferOSL.OSLShader( "SubtractVector" )
parent.addChild( __children["SubtractVector"] )
__children["SubtractVector"].loadShader( "Maths/SubtractVector" )
__children["SubtractVector"].addChild( Gaffer.V2fPlug( "__uiPosition", defaultValue = imath.V2f( 0, 0 ), flags = Gaffer.Plug.Flags.Default | Gaffer.Plug.Flags.Dynamic, ) )
__children["Normalize"] = GafferOSL.OSLShader( "Normalize" )
parent.addChild( __children["Normalize"] )
__children["Normalize"].loadShader( "Maths/Normalize" )
__children["Normalize"].addChild( Gaffer.V2fPlug( "__uiPosition", defaultValue = imath.V2f( 0, 0 ), flags = Gaffer.Plug.Flags.Default | Gaffer.Plug.Flags.Dynamic, ) )
__children["RockStarBot"] = GafferScene.SceneReader( "RockStarBot" )
parent.addChild( __children["RockStarBot"] )
__children["RockStarBot"].addChild( Gaffer.V2fPlug( "__uiPosition", defaultValue = imath.V2f( 0, 0 ), flags = Gaffer.Plug.Flags.Default | Gaffer.Plug.Flags.Dynamic, ) )
__children["Parent"] = GafferScene.Parent( "Parent" )
parent.addChild( __children["Parent"] )
__children["Parent"]["children"].addChild( GafferScene.ScenePlug( "child1", flags = Gaffer.Plug.Flags.Default | Gaffer.Plug.Flags.Dynamic, ) )
__children["Parent"]["children"].addChild( GafferScene.ScenePlug( "child2", flags = Gaffer.Plug.Flags.Default | Gaffer.Plug.Flags.Dynamic, ) )
__children["Parent"].addChild( Gaffer.V2fPlug( "__uiPosition", defaultValue = imath.V2f( 0, 0 ), flags = Gaffer.Plug.Flags.Default | Gaffer.Plug.Flags.Dynamic, ) )
__children["TransformQuery"] = GafferScene.TransformQuery( "TransformQuery" )
parent.addChild( __children["TransformQuery"] )
__children["TransformQuery"].addChild( Gaffer.V2fPlug( "__uiPosition", defaultValue = imath.V2f( 0, 0 ), flags = Gaffer.Plug.Flags.Default | Gaffer.Plug.Flags.Dynamic, ) )
__children["Dot"] = Gaffer.Dot( "Dot" )
parent.addChild( __children["Dot"] )
__children["Dot"].setup( GafferScene.ScenePlug( "in", ) )
__children["Dot"].addChild( Gaffer.V2fPlug( "__uiPosition", defaultValue = imath.V2f( 0, 0 ), flags = Gaffer.Plug.Flags.Default | Gaffer.Plug.Flags.Dynamic, ) )
__children["Dot1"] = Gaffer.Dot( "Dot1" )
parent.addChild( __children["Dot1"] )
__children["Dot1"].setup( GafferScene.ScenePlug( "in", ) )
__children["Dot1"].addChild( Gaffer.V2fPlug( "__uiPosition", defaultValue = imath.V2f( 0, 0 ), flags = Gaffer.Plug.Flags.Default | Gaffer.Plug.Flags.Dynamic, ) )
__children["Backdrop"] = Gaffer.Backdrop( "Backdrop" )
parent.addChild( __children["Backdrop"] )
__children["Backdrop"].addChild( Gaffer.V2fPlug( "__uiPosition", defaultValue = imath.V2f( 0, 0 ), flags = Gaffer.Plug.Flags.Default | Gaffer.Plug.Flags.Dynamic, ) )
__children["Backdrop"].addChild( Gaffer.Box2fPlug( "__uiBound", defaultValue = imath.Box2f( imath.V2f( -10, -10 ), imath.V2f( 10, 10 ) ), flags = Gaffer.Plug.Flags.Default | Gaffer.Plug.Flags.Dynamic, ) )
__children["Backdrop1"] = Gaffer.Backdrop( "Backdrop1" )
parent.addChild( __children["Backdrop1"] )
__children["Backdrop1"].addChild( Gaffer.V2fPlug( "__uiPosition", defaultValue = imath.V2f( 0, 0 ), flags = Gaffer.Plug.Flags.Default | Gaffer.Plug.Flags.Dynamic, ) )
__children["Backdrop1"].addChild( Gaffer.Box2fPlug( "__uiBound", defaultValue = imath.Box2f( imath.V2f( -10, -10 ), imath.V2f( 10, 10 ) ), flags = Gaffer.Plug.Flags.Default | Gaffer.Plug.Flags.Dynamic, ) )
__children["Backdrop2"] = Gaffer.Backdrop( "Backdrop2" )
parent.addChild( __children["Backdrop2"] )
__children["Backdrop2"].addChild( Gaffer.V2fPlug( "__uiPosition", defaultValue = imath.V2f( 0, 0 ), flags = Gaffer.Plug.Flags.Default | Gaffer.Plug.Flags.Dynamic, ) )
__children["Backdrop2"].addChild( Gaffer.Box2fPlug( "__uiBound", defaultValue = imath.Box2f( imath.V2f( -10, -10 ), imath.V2f( 10, 10 ) ), flags = Gaffer.Plug.Flags.Default | Gaffer.Plug.Flags.Dynamic, ) )
__children["Backdrop3"] = Gaffer.Backdrop( "Backdrop3" )
parent.addChild( __children["Backdrop3"] )
__children["Backdrop3"].addChild( Gaffer.V2fPlug( "__uiPosition", defaultValue = imath.V2f( 0, 0 ), flags = Gaffer.Plug.Flags.Default | Gaffer.Plug.Flags.Dynamic, ) )
__children["Backdrop3"].addChild( Gaffer.Box2fPlug( "__uiBound", defaultValue = imath.Box2f( imath.V2f( -10, -10 ), imath.V2f( 10, 10 ) ), flags = Gaffer.Plug.Flags.Default | Gaffer.Plug.Flags.Dynamic, ) )
parent["variables"]["imageCataloguePort"]["value"].setValue( 60185 )
Gaffer.Metadata.registerValue( parent["variables"]["imageCataloguePort"], 'readOnly', True )
Gaffer.Metadata.registerValue( parent["variables"]["projectName"]["name"], 'readOnly', True )
Gaffer.Metadata.registerValue( parent["variables"]["projectRootDirectory"]["name"], 'readOnly', True )
__children["GroupieBots"]["fileName"].setValue( '${GAFFER_ROOT}/resources/gafferBot/caches/gafferBot.scc' )
__children["GroupieBots"]["__uiPosition"].setValue( imath.V2f( 86.4499969, -80.4213867 ) )
__children["GroundSurface"]["transform"]["rotate"].setValue( imath.V3f( -90, 0, 0 ) )
__children["GroundSurface"]["dimensions"].setValue( imath.V2f( 1000, 1000 ) )
__children["GroundSurface"]["divisions"].setValue( imath.V2i( 100, 100 ) )
__children["GroundSurface"]["__uiPosition"].setValue( imath.V2f( 54.9500046, 37.6719208 ) )
Gaffer.Metadata.registerValue( __children["DisplaceAndDensity"], 'annotation:user:text', 'Displace the plane and add noise to the `density` variable to be used for scattering.\n\nEnable the `Cs` variable to preview the density directly on the ground surface.' )
Gaffer.Metadata.registerValue( __children["DisplaceAndDensity"], 'annotation:user:color', imath.Color3f( 0.150000006, 0.25999999, 0.25999999 ) )
__children["DisplaceAndDensity"]["in"].setInput( __children["FreezeTransform"]["out"] )
__children["DisplaceAndDensity"]["filter"].setInput( __children["PathFilter"]["out"] )
__children["DisplaceAndDensity"]["primitiveVariables"]["primitiveVariable"]["value"].setInput( __children["FloatToVector"]["out"]["p"] )
__children["DisplaceAndDensity"]["primitiveVariables"]["primitiveVariable1"]["name"].setValue( 'density' )
__children["DisplaceAndDensity"]["primitiveVariables"]["primitiveVariable1"]["value"].setInput( __children["Noise1"]["out"]["n"] )
__children["DisplaceAndDensity"]["primitiveVariables"]["primitiveVariable2"]["enabled"].setValue( False )
Gaffer.Metadata.registerValue( __children["DisplaceAndDensity"]["primitiveVariables"]["primitiveVariable2"]["value"], 'compoundNumericNodule:childrenVisible', True )
__children["DisplaceAndDensity"]["primitiveVariables"]["primitiveVariable2"]["value"]["r"].setInput( __children["Noise1"]["out"]["n"] )
__children["DisplaceAndDensity"]["primitiveVariables"]["primitiveVariable2"]["value"]["g"].setInput( __children["Noise1"]["out"]["n"] )
__children["DisplaceAndDensity"]["primitiveVariables"]["primitiveVariable2"]["value"]["b"].setInput( __children["Noise1"]["out"]["n"] )
__children["DisplaceAndDensity"]["__uiPosition"].setValue( imath.V2f( 54.9500046, 15.3078556 ) )
__children["PathFilter"]["paths"].setValue( IECore.StringVectorData( [ '/plane' ] ) )
__children["PathFilter"]["__uiPosition"].setValue( imath.V2f( 82.5499954, 32.4898834 ) )
__children["Noise"]["parameters"]["type"].setValue( 'perlin' )
__children["Noise"]["parameters"]["scale"].setValue( 100.0 )
__children["Noise"]["__uiPosition"].setValue( imath.V2f( 11.8860397, 35.5719223 ) )
Gaffer.Metadata.registerValue( __children["InPoint"]["out"]["value"], 'compoundNumericNodule:childrenVisible', True )
__children["InPoint"]["__uiPosition"].setValue( imath.V2f( 18.8738289, 25.8219185 ) )
__children["FloatToVector"]["parameters"]["x"].setInput( __children["InPoint"]["out"]["value"]["x"] )
__children["FloatToVector"]["parameters"]["y"].setInput( __children["MultiplyFloat"]["out"]["out"] )
__children["FloatToVector"]["parameters"]["z"].setInput( __children["InPoint"]["out"]["value"]["z"] )
__children["FloatToVector"]["__uiPosition"].setValue( imath.V2f( 38.5459518, 25.3719215 ) )
__children["FreezeTransform"]["in"].setInput( __children["GroundSurface"]["out"] )
__children["FreezeTransform"]["filter"].setInput( __children["PathFilter"]["out"] )
__children["FreezeTransform"]["__uiPosition"].setValue( imath.V2f( 54.9500046, 29.5078564 ) )
__children["MultiplyFloat"]["parameters"]["a"].setInput( __children["Noise"]["out"]["n"] )
__children["MultiplyFloat"]["parameters"]["b"].setValue( 50.0 )
__children["MultiplyFloat"]["__uiPosition"].setValue( imath.V2f( 24.0520554, 34.9719238 ) )
Gaffer.Metadata.registerValue( __children["MeshNormals"], 'annotation:user:text', 'Update the ground surface normals.' )
Gaffer.Metadata.registerValue( __children["MeshNormals"], 'annotation:user:color', imath.Color3f( 0.150000006, 0.25999999, 0.25999999 ) )
__children["MeshNormals"]["in"].setInput( __children["DisplaceAndDensity"]["out"] )
__children["MeshNormals"]["filter"].setInput( __children["PathFilter"]["out"] )
__children["MeshNormals"]["__uiPosition"].setValue( imath.V2f( 54.9508705, 7.14379311 ) )
Gaffer.Metadata.registerValue( __children["Scatter"], 'annotation:user:text', 'Scatter points to be used for instances. Sample the `N` primitive variable onto the scattered points to be used for orienting the instances.' )
Gaffer.Metadata.registerValue( __children["Scatter"], 'annotation:user:color', imath.Color3f( 0.150000006, 0.25999999, 0.25999999 ) )
__children["Scatter"]["in"].setInput( __children["MeshNormals"]["out"] )
__children["Scatter"]["filter"].setInput( __children["PathFilter"]["out"] )
__children["Scatter"]["name"].setValue( 'points' )
__children["Scatter"]["density"].setValue( 0.0020000000949949026 )
__children["Scatter"]["densityPrimitiveVariable"].setValue( 'density' )
__children["Scatter"]["primitiveVariables"].setValue( 'N' )
__children["Scatter"]["__uiPosition"].setValue( imath.V2f( 54.9508705, -34.9870987 ) )
Gaffer.Metadata.registerValue( __children["Instancer"], 'annotation:user:text', 'Instance the GafferBots onto the points.' )
Gaffer.Metadata.registerValue( __children["Instancer"], 'annotation:user:color', imath.Color3f( 0.150000006, 0.25999999, 0.25999999 ) )
__children["Instancer"]["in"].setInput( __children["Orientation"]["out"] )
__children["Instancer"]["filter"].setInput( __children["PathFilter1"]["out"] )
__children["Instancer"]["prototypes"].setInput( __children["GroupieBots"]["out"] )
__children["Instancer"]["prototypeIndex"].setValue( 'prototypeIndex' )
__children["Instancer"]["omitDuplicateIds"].setValue( False )
__children["Instancer"]["orientation"].setValue( 'orientation' )
__children["Instancer"]["scale"].setValue( 'scale' )
__children["Instancer"]["attributePrefix"].setValue( 'user:' )
__children["Instancer"]["__capsuleScene"]["bound"].setInput( __children["Instancer"]["out"]["bound"] )
__children["Instancer"]["__capsuleScene"]["transform"].setInput( __children["Instancer"]["out"]["transform"] )
__children["Instancer"]["__capsuleScene"]["attributes"].setInput( __children["Instancer"]["out"]["attributes"] )
__children["Instancer"]["__capsuleScene"]["globals"].setInput( __children["Instancer"]["out"]["globals"] )
__children["Instancer"]["__capsuleScene"]["setNames"].setInput( __children["Instancer"]["out"]["setNames"] )
__children["Instancer"]["__uiPosition"].setValue( imath.V2f( 56.4508705, -88.5854492 ) )
__children["PathFilter1"]["paths"].setValue( IECore.StringVectorData( [ '/plane/points' ] ) )
__children["PathFilter1"]["__uiPosition"].setValue( imath.V2f( 82.1501617, -51.7691116 ) )
Gaffer.Metadata.registerValue( __children["Orientation"], 'annotation:user:text', 'Orient the scattered points so their Y axis aligns to the `N` direction sampled from the ground surface and their Z axis points to the focal GafferBot.' )
Gaffer.Metadata.registerValue( __children["Orientation"], 'annotation:user:color', imath.Color3f( 0.150000006, 0.25999999, 0.25999999 ) )
__children["Orientation"]["in"].setInput( __children["CalculateZDirection"]["out"] )
__children["Orientation"]["filter"].setInput( __children["PathFilter1"]["out"] )
__children["Orientation"]["inMode"].setValue( 3 )
__children["Orientation"]["inYAxis"].setValue( 'N' )
__children["Orientation"]["inZAxis"].setValue( 'lookAtZ' )
__children["Orientation"]["randomTwist"].setValue( 180.0 )
__children["Orientation"]["__uiPosition"].setValue( imath.V2f( 54.9508705, -61.8870926 ) )
__children["Noise1"]["parameters"]["type"].setValue( 'simplex' )
__children["Noise1"]["parameters"]["scale"].setValue( 500.0 )
__children["Noise1"]["__uiPosition"].setValue( imath.V2f( 34.9500046, 13.9578552 ) )
Gaffer.Metadata.registerValue( __children["CalculateZDirection"], 'annotation:user:text', 'Add a primitive variable to orient the Z axis of instances.' )
Gaffer.Metadata.registerValue( __children["CalculateZDirection"], 'annotation:user:color', imath.Color3f( 0.150000006, 0.25999999, 0.25999999 ) )
__children["CalculateZDirection"]["in"].setInput( __children["Scatter"]["out"] )
__children["CalculateZDirection"]["filter"].setInput( __children["PathFilter1"]["out"] )
__children["CalculateZDirection"]["primitiveVariables"]["primitiveVariable"]["name"].setValue( 'lookAtZ' )
__children["CalculateZDirection"]["primitiveVariables"]["primitiveVariable"]["value"].setInput( __children["Normalize"]["out"]["out"] )
__children["CalculateZDirection"]["__uiPosition"].setValue( imath.V2f( 54.9503479, -47.5276794 ) )
__children["InPoint1"]["__uiPosition"].setValue( imath.V2f( 12.1944885, -47.5276794 ) )
__children["SubtractVector"]["parameters"]["a"].setInput( __children["TransformQuery"]["translate"] )
__children["SubtractVector"]["parameters"]["b"].setInput( __children["InPoint1"]["out"]["value"] )
__children["SubtractVector"]["__uiPosition"].setValue( imath.V2f( 25.6996155, -46.927681 ) )
__children["Normalize"]["parameters"]["a"].setInput( __children["SubtractVector"]["out"]["out"] )
__children["Normalize"]["__uiPosition"].setValue( imath.V2f( 39.6886292, -46.927681 ) )
Gaffer.Metadata.registerValue( __children["RockStarBot"], 'annotation:user:text', 'Add a focal GafferBot. Move this around the scene and the instanced bots will always face it.' )
Gaffer.Metadata.registerValue( __children["RockStarBot"], 'annotation:user:color', imath.Color3f( 0.150000006, 0.25999999, 0.25999999 ) )
__children["RockStarBot"]["fileName"].setValue( '${GAFFER_ROOT}/resources/gafferBot/caches/gafferBot.scc' )
__children["RockStarBot"]["transform"]["translate"].setValue( imath.V3f( -177.799011, 11.0346603, 383.283356 ) )
__children["RockStarBot"]["transform"]["rotate"].setValue( imath.V3f( 0, 135.145538, 8.65142192e-06 ) )
__children["RockStarBot"]["transform"]["scale"]["x"].setValue( 5.0 )
__children["RockStarBot"]["transform"]["scale"]["y"].setInput( __children["RockStarBot"]["transform"]["scale"]["x"] )
__children["RockStarBot"]["transform"]["scale"]["z"].setInput( __children["RockStarBot"]["transform"]["scale"]["x"] )
__children["RockStarBot"]["__uiPosition"].setValue( imath.V2f( 15.5650902, -9.35623169 ) )
__children["Parent"]["parent"].setValue( '/' )
__children["Parent"]["children"][0].setInput( __children["Dot1"]["out"] )
__children["Parent"]["children"][1].setInput( __children["Instancer"]["out"] )
__children["Parent"]["__uiPosition"].setValue( imath.V2f( 54.9508705, -105.646751 ) )
__children["TransformQuery"]["scene"].setInput( __children["RockStarBot"]["out"] )
__children["TransformQuery"]["location"].setValue( '/GAFFERBOT' )
__children["TransformQuery"]["__uiPosition"].setValue( imath.V2f( 15.5650978, -17.5202942 ) )
__children["Dot"]["in"].setInput( __children["RockStarBot"]["out"] )
__children["Dot"]["__uiPosition"].setValue( imath.V2f( -5.03970337, -16.6882629 ) )
__children["Dot1"]["in"].setInput( __children["Dot"]["out"] )
__children["Dot1"]["__uiPosition"].setValue( imath.V2f( -5.03970337, -98.3147202 ) )
__children["Backdrop"]["title"].setValue( 'Setup Ground Surface' )
__children["Backdrop"]["__uiPosition"].setValue( imath.V2f( 48.4680176, 22.407856 ) )
__children["Backdrop"]["__uiBound"].setValue( imath.Box2f( imath.V2f( -42.5819778, -20.3460941 ), imath.V2f( 48.5819778, 26.3460941 ) ) )
__children["Backdrop1"]["title"].setValue( 'Load Focal GafferBot' )
__children["Backdrop1"]["__uiPosition"].setValue( imath.V2f( 15.5650978, -13.4382629 ) )
__children["Backdrop1"]["__uiBound"].setValue( imath.Box2f( imath.V2f( -9.5, -9.1640625 ), imath.V2f( 15.5, 15.1640625 ) ) )
__children["Backdrop2"]["title"].setValue( 'Setup scatter orientations' )
__children["Backdrop2"]["__uiPosition"].setValue( imath.V2f( 46.4253464, -48.4370956 ) )
__children["Backdrop2"]["__uiBound"].setValue( imath.Box2f( imath.V2f( -40.07621, -18.5320301 ), imath.V2f( 50.2248154, 24.5320301 ) ) )
__children["Backdrop3"]["title"].setValue( 'Instance GafferBots' )
__children["Backdrop3"]["__uiPosition"].setValue( imath.V2f( 71.4504318, -84.503418 ) )
__children["Backdrop3"]["__uiBound"].setValue( imath.Box2f( imath.V2f( -23.4995632, -9.1640625 ), imath.V2f( 29.4995632, 15.1640625 ) ) )


del __children

