0707070000010000000006660000000000000000010000001331302235300000700000000243.start fplayback -i on -r off -f 1 -e on -h on -t on -a on -k on -s 1
tcur 2.875
fps 24
tset 0 10
frange 1 100
unitlength 1
unitmass 1
prompt '`strcat(oppwf(), " -> ")`'
0707070000010000000006660000000000000000010000001331302235300001300000001147.variables set -g ACTIVETAKE = 'Main'
set -g E = '2.7182818284590452354'
set -g EYE = 'stereo'
set -g HIP = '/Users/mikel/Documents/projects/Epic/niagara/hip'
set -g HIPFILE = '/Users/mikel/Documents/projects/Epic/niagara/hip/niagara_destruction_example.hip'
set -g HIPNAME = 'niagara_destruction_example'
set -g JOB = '/Users/mikel/Documents/projects/Epic/niagara/hip'
set -g PI = '3.1415926535897932384'
set -g POSE = '/Users/mikel/Library/Preferences/houdini/16.5/poselib'
set -g _HIP_SAVEPLATFORM = 'Darwin-17.0.0'
set -g _HIP_SAVETIME = 'Thu Jun 21 15:21:31 2018'
set -g _HIP_SAVEVERSION = '16.5.496'
set -g status = '0'
0707070000010000000006660000000000000000010000001331302235300001100000000310.aliases alias bye 'quit'
alias cd 'opcf'
alias cp 'opcp'
alias h 'history'
alias hython 'python'
alias ls 'opls'
alias matramp 'opramp'
alias opcd 'opcf'
alias oppwd 'oppwf'
alias pwd 'oppwf'
alias rm 'oprm'
0707070000010000000006660000000000000000010000001331302235300001400000000021.takeconfig takename -g take
0707070000010000000006660000000000000000010000001331302235300001500000000000.hou.session 0707070000010000000006660000000000000000010000001331302235300001500000000000.OPlibraries 0707070000010000000006660000000000000000010000001331302235300001700000000000.OPpreferences 0707070000010000000006660000000000000000010000001331302235300001500000052651.OPfallbacks Vop/addattrib /Applications/Houdini/Houdini16.5.496/Frameworks/Houdini.framework/Versions/Current/Resources/houdini/otls/OPlibScripted.hda
Vop/addattrib otls/OPlibScripted.hda
Vop/addconst /Applications/Houdini/Houdini16.5.496/Frameworks/Houdini.framework/Versions/Current/Resources/houdini/otls/OPlibScripted.hda
Vop/addconst otls/OPlibScripted.hda
Vop/addgroup /Applications/Houdini/Houdini16.5.496/Frameworks/Houdini.framework/Versions/Current/Resources/houdini/otls/OPlibScripted.hda
Vop/addgroup otls/OPlibScripted.hda
Vop/albedo /Applications/Houdini/Houdini16.5.496/Frameworks/Houdini.framework/Versions/Current/Resources/houdini/otls/OPlibVop.hda
Vop/albedo otls/OPlibVop.hda
Vop/align /Applications/Houdini/Houdini16.5.496/Frameworks/Houdini.framework/Versions/Current/Resources/houdini/otls/OPlibScripted.hda
Vop/align otls/OPlibScripted.hda
Vop/alphamix /Applications/Houdini/Houdini16.5.496/Frameworks/Houdini.framework/Versions/Current/Resources/houdini/otls/OPlibVop.hda
Vop/alphamix otls/OPlibVop.hda
Sop/assemble /Applications/Houdini/Houdini16.5.496/Frameworks/Houdini.framework/Versions/Current/Resources/houdini/otls/OPlibSop.hda
Sop/assemble otls/OPlibSop.hda
Sop/attribdelete /Applications/Houdini/Houdini16.5.496/Frameworks/Houdini.framework/Versions/Current/Resources/houdini/otls/OPlibSop.hda
Sop/attribdelete otls/OPlibSop.hda
Sop/attribrandomize /Applications/Houdini/Houdini16.5.496/Frameworks/Houdini.framework/Versions/Current/Resources/houdini/otls/OPlibSop.hda
Sop/attribrandomize otls/OPlibSop.hda
Sop/attribwrangle /Applications/Houdini/Houdini16.5.496/Frameworks/Houdini.framework/Versions/Current/Resources/houdini/otls/OPlibSop.hda
Sop/attribwrangle otls/OPlibSop.hda
Vop/bias /Applications/Houdini/Houdini16.5.496/Frameworks/Houdini.framework/Versions/Current/Resources/houdini/otls/OPlibScripted.hda
Vop/bias otls/OPlibScripted.hda
Vop/clamp /Applications/Houdini/Houdini16.5.496/Frameworks/Houdini.framework/Versions/Current/Resources/houdini/otls/OPlibScripted.hda
Vop/clamp otls/OPlibScripted.hda
Sop/clean /Applications/Houdini/Houdini16.5.496/Frameworks/Houdini.framework/Versions/Current/Resources/houdini/otls/OPlibSop.hda
Sop/clean otls/OPlibSop.hda
Sop/clusterpoints /Applications/Houdini/Houdini16.5.496/Frameworks/Houdini.framework/Versions/Current/Resources/houdini/otls/OPlibSop.hda
Sop/clusterpoints otls/OPlibSop.hda
Sop/color /Applications/Houdini/Houdini16.5.496/Frameworks/Houdini.framework/Versions/Current/Resources/houdini/otls/OPlibSop.hda
Sop/color otls/OPlibSop.hda
Vop/complement /Applications/Houdini/Houdini16.5.496/Frameworks/Houdini.framework/Versions/Current/Resources/houdini/otls/OPlibScripted.hda
Vop/complement otls/OPlibScripted.hda
Vop/computelighting /Applications/Houdini/Houdini16.5.496/Frameworks/Houdini.framework/Versions/Current/Resources/houdini/otls/OPlibVop.hda
Vop/computelighting otls/OPlibVop.hda
Vop/computetan /Applications/Houdini/Houdini16.5.496/Frameworks/Houdini.framework/Versions/Current/Resources/houdini/otls/OPlibVop.hda
Vop/computetan otls/OPlibVop.hda
Sop/connectadjacentpieces /Applications/Houdini/Houdini16.5.496/Frameworks/Houdini.framework/Versions/Current/Resources/houdini/otls/OPlibSop.hda
Sop/connectadjacentpieces otls/OPlibSop.hda
Vop/conserveenergy /Applications/Houdini/Houdini16.5.496/Frameworks/Houdini.framework/Versions/Current/Resources/houdini/otls/OPlibVop.hda
Vop/conserveenergy otls/OPlibVop.hda
Vop/cross /Applications/Houdini/Houdini16.5.496/Frameworks/Houdini.framework/Versions/Current/Resources/houdini/otls/OPlibScripted.hda
Vop/cross otls/OPlibScripted.hda
Vop/curlnoise /Applications/Houdini/Houdini16.5.496/Frameworks/Houdini.framework/Versions/Current/Resources/houdini/otls/OPlibScripted.hda
Vop/curlnoise otls/OPlibScripted.hda
Vop/degtorad /Applications/Houdini/Houdini16.5.496/Frameworks/Houdini.framework/Versions/Current/Resources/houdini/otls/OPlibScripted.hda
Vop/degtorad otls/OPlibScripted.hda
Vop/displacenml /Applications/Houdini/Houdini16.5.496/Frameworks/Houdini.framework/Versions/Current/Resources/houdini/otls/OPlibScripted.hda
Vop/displacenml otls/OPlibScripted.hda
Vop/divconst /Applications/Houdini/Houdini16.5.496/Frameworks/Houdini.framework/Versions/Current/Resources/houdini/otls/OPlibScripted.hda
Vop/divconst otls/OPlibScripted.hda
Vop/dot /Applications/Houdini/Houdini16.5.496/Frameworks/Houdini.framework/Versions/Current/Resources/houdini/otls/OPlibScripted.hda
Vop/dot otls/OPlibScripted.hda
Vop/exp /Applications/Houdini/Houdini16.5.496/Frameworks/Houdini.framework/Versions/Current/Resources/houdini/otls/OPlibScripted.hda
Vop/exp otls/OPlibScripted.hda
Sop/explodedview /Applications/Houdini/Houdini16.5.496/Frameworks/Houdini.framework/Versions/Current/Resources/houdini/otls/OPlibSop.hda
Sop/explodedview otls/OPlibSop.hda
Vop/fit /Applications/Houdini/Houdini16.5.496/Frameworks/Houdini.framework/Versions/Current/Resources/houdini/otls/OPlibScripted.hda
Vop/fit otls/OPlibScripted.hda
Vop/floattovec /Applications/Houdini/Houdini16.5.496/Frameworks/Houdini.framework/Versions/Current/Resources/houdini/otls/OPlibScripted.hda
Vop/floattovec otls/OPlibScripted.hda
Vop/fresnel /Applications/Houdini/Houdini16.5.496/Frameworks/Houdini.framework/Versions/Current/Resources/houdini/otls/OPlibScripted.hda
Vop/fresnel otls/OPlibScripted.hda
Vop/frontface /Applications/Houdini/Houdini16.5.496/Frameworks/Houdini.framework/Versions/Current/Resources/houdini/otls/OPlibScripted.hda
Vop/frontface otls/OPlibScripted.hda
gamedev::Sop/inside_face_uvs /Users/mikel/dev/houdini/GameDevelopmentToolset/otls/sop_inside_face_uvs.hda
gamedev::Sop/niagara_impacts /Users/mikel/dev/houdini/GameDevelopmentToolset/otls/sop_niagara_impacts.hda
gamedev::Sop/niagara_interpolate /Users/mikel/dev/houdini/GameDevelopmentToolset/otls/sop_niagara_interpolate.hda
gamedev::Sop/niagara_rbd_split /Users/mikel/dev/houdini/GameDevelopmentToolset/otls/sop_niagara_rbd_split.hda
gamedev::Sop/niagara_rop /Users/mikel/dev/houdini/GameDevelopmentToolset/otls/sop_niagara_rop.hda
gamedev::Sop/rbd_director /Users/mikel/dev/houdini/GameDevelopmentToolset/otls/sop_rbd_director.hda
gamedev::Sop/rbd_solver /Users/mikel/dev/houdini/GameDevelopmentToolset/otls/sop_rbd_solver.hda
gamedev::Driver/rop_csv_exporter /Users/mikel/dev/houdini/GameDevelopmentToolset/otls/rop_csv_exporter.hda
gamedev::Sop/sop_extract_borders /Users/mikel/dev/houdini/GameDevelopmentToolset/otls/sop_extract_borders.hda
gamedev::Sop/sop_merge_small_islands /Users/mikel/dev/houdini/GameDevelopmentToolset/otls/sop_merge_small_islands.hda
gamedev::Sop/sop_rbd_fracture /Users/mikel/dev/houdini/GameDevelopmentToolset/otls/sop_rbd_fracture.hda
Vop/geometryvopglobal /Applications/Houdini/Houdini16.5.496/Frameworks/Houdini.framework/Versions/Current/Resources/houdini/otls/OPlibVop.hda
Vop/geometryvopglobal otls/OPlibVop.hda
Vop/geometryvopglobal::2.0 /Applications/Houdini/Houdini16.5.496/Frameworks/Houdini.framework/Versions/Current/Resources/houdini/otls/OPlibVop.hda
Vop/geometryvopglobal::2.0 otls/OPlibVop.hda
Vop/geometryvopoutput /Applications/Houdini/Houdini16.5.496/Frameworks/Houdini.framework/Versions/Current/Resources/houdini/otls/OPlibVop.hda
Vop/geometryvopoutput otls/OPlibVop.hda
Vop/getattrib::2.0 /Applications/Houdini/Houdini16.5.496/Frameworks/Houdini.framework/Versions/Current/Resources/houdini/otls/OPlibScripted.hda
Vop/getattrib::2.0 otls/OPlibScripted.hda
Dop/groundplane /Applications/Houdini/Houdini16.5.496/Frameworks/Houdini.framework/Versions/Current/Resources/houdini/otls/OPlibDop.hda
Dop/groundplane otls/OPlibDop.hda
Sop/groupexpression /Applications/Houdini/Houdini16.5.496/Frameworks/Houdini.framework/Versions/Current/Resources/houdini/otls/OPlibSop.hda
Sop/groupexpression otls/OPlibSop.hda
Vop/hvectovec /Applications/Houdini/Houdini16.5.496/Frameworks/Houdini.framework/Versions/Current/Resources/houdini/otls/OPlibScripted.hda
Vop/hvectovec otls/OPlibScripted.hda
Vop/ifconnected /Applications/Houdini/Houdini16.5.496/Frameworks/Houdini.framework/Versions/Current/Resources/houdini/otls/OPlibScripted.hda
Vop/ifconnected otls/OPlibScripted.hda
Dop/impactanalysis /Applications/Houdini/Houdini16.5.496/Frameworks/Houdini.framework/Versions/Current/Resources/houdini/otls/OPlibDop.hda
Dop/impactanalysis otls/OPlibDop.hda
Vop/importattrib /Applications/Houdini/Houdini16.5.496/Frameworks/Houdini.framework/Versions/Current/Resources/houdini/otls/OPlibScripted.hda
Vop/importattrib otls/OPlibScripted.hda
Vop/inttofloat /Applications/Houdini/Houdini16.5.496/Frameworks/Houdini.framework/Versions/Current/Resources/houdini/otls/OPlibScripted.hda
Vop/inttofloat otls/OPlibScripted.hda
Vop/inttovec /Applications/Houdini/Houdini16.5.496/Frameworks/Houdini.framework/Versions/Current/Resources/houdini/otls/OPlibScripted.hda
Vop/inttovec otls/OPlibScripted.hda
Vop/invert /Applications/Houdini/Houdini16.5.496/Frameworks/Houdini.framework/Versions/Current/Resources/houdini/otls/OPlibScripted.hda
Vop/invert otls/OPlibScripted.hda
Vop/isconnected /Applications/Houdini/Houdini16.5.496/Frameworks/Houdini.framework/Versions/Current/Resources/houdini/otls/OPlibScripted.hda
Vop/isconnected otls/OPlibScripted.hda
Vop/isnan /Applications/Houdini/Houdini16.5.496/Frameworks/Houdini.framework/Versions/Current/Resources/houdini/otls/OPlibScripted.hda
Vop/isnan otls/OPlibScripted.hda
Vop/isshadow /Applications/Houdini/Houdini16.5.496/Frameworks/Houdini.framework/Versions/Current/Resources/houdini/otls/OPlibScripted.hda
Vop/isshadow otls/OPlibScripted.hda
Vop/length /Applications/Houdini/Houdini16.5.496/Frameworks/Houdini.framework/Versions/Current/Resources/houdini/otls/OPlibScripted.hda
Vop/length otls/OPlibScripted.hda
Dop/linktosourceobject /Applications/Houdini/Houdini16.5.496/Frameworks/Houdini.framework/Versions/Current/Resources/houdini/otls/OPlibDop.hda
Dop/linktosourceobject otls/OPlibDop.hda
Vop/luminance /Applications/Houdini/Houdini16.5.496/Frameworks/Houdini.framework/Versions/Current/Resources/houdini/otls/OPlibScripted.hda
Vop/luminance otls/OPlibScripted.hda
Vop/maddconst /Applications/Houdini/Houdini16.5.496/Frameworks/Houdini.framework/Versions/Current/Resources/houdini/otls/OPlibScripted.hda
Vop/maddconst otls/OPlibScripted.hda
Vop/makeinstancexform /Applications/Houdini/Houdini16.5.496/Frameworks/Houdini.framework/Versions/Current/Resources/houdini/otls/OPlibScripted.hda
Vop/makeinstancexform otls/OPlibScripted.hda
Sop/matchaxis /Applications/Houdini/Houdini16.5.496/Frameworks/Houdini.framework/Versions/Current/Resources/houdini/otls/OPlibSop.hda
Sop/matchaxis otls/OPlibSop.hda
Sop/matchsize /Applications/Houdini/Houdini16.5.496/Frameworks/Houdini.framework/Versions/Current/Resources/houdini/otls/OPlibSop.hda
Sop/matchsize otls/OPlibSop.hda
Vop/mix /Applications/Houdini/Houdini16.5.496/Frameworks/Houdini.framework/Versions/Current/Resources/houdini/otls/OPlibScripted.hda
Vop/mix otls/OPlibScripted.hda
Sop/mountain::2.0 /Applications/Houdini/Houdini16.5.496/Frameworks/Houdini.framework/Versions/Current/Resources/houdini/otls/OPlibSop.hda
Sop/mountain::2.0 otls/OPlibSop.hda
Vop/mulconst /Applications/Houdini/Houdini16.5.496/Frameworks/Houdini.framework/Versions/Current/Resources/houdini/otls/OPlibScripted.hda
Vop/mulconst otls/OPlibScripted.hda
Vop/negate /Applications/Houdini/Houdini16.5.496/Frameworks/Houdini.framework/Versions/Current/Resources/houdini/otls/OPlibScripted.hda
Vop/negate otls/OPlibScripted.hda
Vop/neighbour /Applications/Houdini/Houdini16.5.496/Frameworks/Houdini.framework/Versions/Current/Resources/houdini/otls/OPlibScripted.hda
Vop/neighbour otls/OPlibScripted.hda
Vop/neighbourcount /Applications/Houdini/Houdini16.5.496/Frameworks/Houdini.framework/Versions/Current/Resources/houdini/otls/OPlibScripted.hda
Vop/neighbourcount otls/OPlibScripted.hda
Vop/normalize /Applications/Houdini/Houdini16.5.496/Frameworks/Houdini.framework/Versions/Current/Resources/houdini/otls/OPlibScripted.hda
Vop/normalize otls/OPlibScripted.hda
Vop/not /Applications/Houdini/Houdini16.5.496/Frameworks/Houdini.framework/Versions/Current/Resources/houdini/otls/OPlibScripted.hda
Vop/not otls/OPlibScripted.hda
Dop/null /Applications/Houdini/Houdini16.5.496/Frameworks/Houdini.framework/Versions/Current/Resources/houdini/otls/OPlibDop.hda
Dop/null otls/OPlibDop.hda
Dop/objpos /Applications/Houdini/Houdini16.5.496/Frameworks/Houdini.framework/Versions/Current/Resources/houdini/otls/OPlibDop.hda
Dop/objpos otls/OPlibDop.hda
Dop/output /Applications/Houdini/Houdini16.5.496/Frameworks/Houdini.framework/Versions/Current/Resources/houdini/otls/OPlibDop.hda
Dop/output otls/OPlibDop.hda
Vop/pbrdiffuse /Applications/Houdini/Houdini16.5.496/Frameworks/Houdini.framework/Versions/Current/Resources/houdini/otls/OPlibVop.hda
Vop/pbrdiffuse otls/OPlibVop.hda
Vop/pbrlighting /Applications/Houdini/Houdini16.5.496/Frameworks/Houdini.framework/Versions/Current/Resources/houdini/otls/OPlibShopVMantra.hda
Vop/pbrlighting otls/OPlibShopVMantra.hda
Vop/pbrspecular /Applications/Houdini/Houdini16.5.496/Frameworks/Houdini.framework/Versions/Current/Resources/houdini/otls/OPlibVop.hda
Vop/pbrspecular otls/OPlibVop.hda
Vop/pcimport /Applications/Houdini/Houdini16.5.496/Frameworks/Houdini.framework/Versions/Current/Resources/houdini/otls/OPlibScripted.hda
Vop/pcimport otls/OPlibScripted.hda
Vop/pciterate /Applications/Houdini/Houdini16.5.496/Frameworks/Houdini.framework/Versions/Current/Resources/houdini/otls/OPlibScripted.hda
Vop/pciterate otls/OPlibScripted.hda
Vop/pcopen /Applications/Houdini/Houdini16.5.496/Frameworks/Houdini.framework/Versions/Current/Resources/houdini/otls/OPlibScripted.hda
Vop/pcopen otls/OPlibScripted.hda
Vop/physicalsss /Applications/Houdini/Houdini16.5.496/Frameworks/Houdini.framework/Versions/Current/Resources/houdini/otls/OPlibVop.hda
Vop/physicalsss otls/OPlibVop.hda
Dop/popforce /Applications/Houdini/Houdini16.5.496/Frameworks/Houdini.framework/Versions/Current/Resources/houdini/otls/OPlibPopDop.hda
Dop/popforce otls/OPlibPopDop.hda
Vop/pow /Applications/Houdini/Houdini16.5.496/Frameworks/Houdini.framework/Versions/Current/Resources/houdini/otls/OPlibScripted.hda
Vop/pow otls/OPlibScripted.hda
Vop/qrotate /Applications/Houdini/Houdini16.5.496/Frameworks/Houdini.framework/Versions/Current/Resources/houdini/otls/OPlibScripted.hda
Vop/qrotate otls/OPlibScripted.hda
Vop/quaternion /Applications/Houdini/Houdini16.5.496/Frameworks/Houdini.framework/Versions/Current/Resources/houdini/otls/OPlibScripted.hda
Vop/quaternion otls/OPlibScripted.hda
Vop/random /Applications/Houdini/Houdini16.5.496/Frameworks/Houdini.framework/Versions/Current/Resources/houdini/otls/OPlibScripted.hda
Vop/random otls/OPlibScripted.hda
Vop/raybounce /Applications/Houdini/Houdini16.5.496/Frameworks/Houdini.framework/Versions/Current/Resources/houdini/otls/OPlibScripted.hda
Vop/raybounce otls/OPlibScripted.hda
Dop/rbdpackedobject /Applications/Houdini/Houdini16.5.496/Frameworks/Houdini.framework/Versions/Current/Resources/houdini/otls/OPlibDop.hda
Dop/rbdpackedobject otls/OPlibDop.hda
Vop/reflect /Applications/Houdini/Houdini16.5.496/Frameworks/Houdini.framework/Versions/Current/Resources/houdini/otls/OPlibScripted.hda
Vop/reflect otls/OPlibScripted.hda
Vop/renderstate /Applications/Houdini/Houdini16.5.496/Frameworks/Houdini.framework/Versions/Current/Resources/houdini/otls/OPlibScripted.hda
Vop/renderstate otls/OPlibScripted.hda
Vop/restpos /Applications/Houdini/Houdini16.5.496/Frameworks/Houdini.framework/Versions/Current/Resources/houdini/otls/OPlibVop.hda
Vop/restpos otls/OPlibVop.hda
Dop/rigidbodysolver /Applications/Houdini/Houdini16.5.496/Frameworks/Houdini.framework/Versions/Current/Resources/houdini/otls/OPlibDop.hda
Dop/rigidbodysolver otls/OPlibDop.hda
Vop/setattrib /Applications/Houdini/Houdini16.5.496/Frameworks/Houdini.framework/Versions/Current/Resources/houdini/otls/OPlibScripted.hda
Vop/setattrib otls/OPlibScripted.hda
Vop/shadingnormal /Applications/Houdini/Houdini16.5.496/Frameworks/Houdini.framework/Versions/Current/Resources/houdini/otls/OPlibScripted.hda
Vop/shadingnormal otls/OPlibScripted.hda
Vop/smooth /Applications/Houdini/Houdini16.5.496/Frameworks/Houdini.framework/Versions/Current/Resources/houdini/otls/OPlibScripted.hda
Vop/smooth otls/OPlibScripted.hda
Sop/solver /Applications/Houdini/Houdini16.5.496/Frameworks/Houdini.framework/Versions/Current/Resources/houdini/otls/OPlibSop.hda
Sop/solver otls/OPlibSop.hda
Sop/split /Applications/Houdini/Houdini16.5.496/Frameworks/Houdini.framework/Versions/Current/Resources/houdini/otls/OPlibSop.hda
Sop/split otls/OPlibSop.hda
Vop/subconst /Applications/Houdini/Houdini16.5.496/Frameworks/Houdini.framework/Versions/Current/Resources/houdini/otls/OPlibScripted.hda
Vop/subconst otls/OPlibScripted.hda
Vop/surfacecolor /Applications/Houdini/Houdini16.5.496/Frameworks/Houdini.framework/Versions/Current/Resources/houdini/otls/OPlibVop.hda
Vop/surfacecolor otls/OPlibVop.hda
Vop/surfacemodel /Applications/Houdini/Houdini16.5.496/Frameworks/Houdini.framework/Versions/Current/Resources/houdini/otls/OPlibVop.hda
Vop/surfacemodel otls/OPlibVop.hda
Vop/switchlightingbsdf /Applications/Houdini/Houdini16.5.496/Frameworks/Houdini.framework/Versions/Current/Resources/houdini/otls/OPlibScripted.hda
Vop/switchlightingbsdf otls/OPlibScripted.hda
Vop/tangentnormals /Applications/Houdini/Houdini16.5.496/Frameworks/Houdini.framework/Versions/Current/Resources/houdini/otls/OPlibVop.hda
Vop/tangentnormals otls/OPlibVop.hda
Sop/testgeometry_rubbertoy /Applications/Houdini/Houdini16.5.496/Frameworks/Houdini.framework/Versions/Current/Resources/houdini/otls/OPlibPlaceholder.hda
Sop/testgeometry_rubbertoy otls/OPlibPlaceholder.hda
Vop/texture /Applications/Houdini/Houdini16.5.496/Frameworks/Houdini.framework/Versions/Current/Resources/houdini/otls/OPlibScripted.hda
Vop/texture otls/OPlibScripted.hda
Vop/thinfilmfresnel /Applications/Houdini/Houdini16.5.496/Frameworks/Houdini.framework/Versions/Current/Resources/houdini/otls/OPlibVop.hda
Vop/thinfilmfresnel otls/OPlibVop.hda
Vop/transform /Applications/Houdini/Houdini16.5.496/Frameworks/Houdini.framework/Versions/Current/Resources/houdini/otls/OPlibScripted.hda
Vop/transform otls/OPlibScripted.hda
Vop/turbnoise /Applications/Houdini/Houdini16.5.496/Frameworks/Houdini.framework/Versions/Current/Resources/houdini/otls/OPlibScripted.hda
Vop/turbnoise otls/OPlibScripted.hda
Vop/twoway /Applications/Houdini/Houdini16.5.496/Frameworks/Houdini.framework/Versions/Current/Resources/houdini/otls/OPlibScripted.hda
Vop/twoway otls/OPlibScripted.hda
Vop/unifiednoise_static /Applications/Houdini/Houdini16.5.496/Frameworks/Houdini.framework/Versions/Current/Resources/houdini/otls/OPlibVop.hda
Vop/unifiednoise_static otls/OPlibVop.hda
Vop/uvcoords /Applications/Houdini/Houdini16.5.496/Frameworks/Houdini.framework/Versions/Current/Resources/houdini/otls/OPlibVop.hda
Vop/uvcoords otls/OPlibVop.hda
Sop/uvquickshade /Applications/Houdini/Houdini16.5.496/Frameworks/Houdini.framework/Versions/Current/Resources/houdini/otls/OPlibSop.hda
Sop/uvquickshade otls/OPlibSop.hda
Vop/uvspacechg /Applications/Houdini/Houdini16.5.496/Frameworks/Houdini.framework/Versions/Current/Resources/houdini/otls/OPlibScripted.hda
Vop/uvspacechg otls/OPlibScripted.hda
Shop/v_layered /Applications/Houdini/Houdini16.5.496/Frameworks/Houdini.framework/Versions/Current/Resources/houdini/otls/OPlibShopVMantra.hda
Shop/v_layered otls/OPlibShopVMantra.hda
Vop/vecgetcompon /Applications/Houdini/Houdini16.5.496/Frameworks/Houdini.framework/Versions/Current/Resources/houdini/otls/OPlibScripted.hda
Vop/vecgetcompon otls/OPlibScripted.hda
Vop/vectofloat /Applications/Houdini/Houdini16.5.496/Frameworks/Houdini.framework/Versions/Current/Resources/houdini/otls/OPlibScripted.hda
Vop/vectofloat otls/OPlibScripted.hda
Vop/vectohvec /Applications/Houdini/Houdini16.5.496/Frameworks/Houdini.framework/Versions/Current/Resources/houdini/otls/OPlibScripted.hda
Vop/vectohvec otls/OPlibScripted.hda
Sop/visualize /Applications/Houdini/Houdini16.5.496/Frameworks/Houdini.framework/Versions/Current/Resources/houdini/otls/OPlibSop.hda
Sop/visualize otls/OPlibSop.hda
Vop/volumegradientfile /Applications/Houdini/Houdini16.5.496/Frameworks/Houdini.framework/Versions/Current/Resources/houdini/otls/OPlibScripted.hda
Vop/volumegradientfile otls/OPlibScripted.hda
Vop/volumesample /Applications/Houdini/Houdini16.5.496/Frameworks/Houdini.framework/Versions/Current/Resources/houdini/otls/OPlibScripted.hda
Vop/volumesample otls/OPlibScripted.hda
Vop/volumesamplefile /Applications/Houdini/Houdini16.5.496/Frameworks/Houdini.framework/Versions/Current/Resources/houdini/otls/OPlibScripted.hda
Vop/volumesamplefile otls/OPlibScripted.hda
Vop/volumevopglobal /Applications/Houdini/Houdini16.5.496/Frameworks/Houdini.framework/Versions/Current/Resources/houdini/otls/OPlibVop.hda
Vop/volumevopglobal otls/OPlibVop.hda
Vop/volumevopoutput /Applications/Houdini/Houdini16.5.496/Frameworks/Houdini.framework/Versions/Current/Resources/houdini/otls/OPlibVop.hda
Vop/volumevopoutput otls/OPlibVop.hda
Sop/voronoifracture /Applications/Houdini/Houdini16.5.496/Frameworks/Houdini.framework/Versions/Current/Resources/houdini/otls/OPlibSop.hda
Sop/voronoifracture otls/OPlibSop.hda
Sop/voronoifracturepoints /Applications/Houdini/Houdini16.5.496/Frameworks/Houdini.framework/Versions/Current/Resources/houdini/otls/OPlibSop.hda
Sop/voronoifracturepoints otls/OPlibSop.hda
Dop/voronoifracturesolver /Applications/Houdini/Houdini16.5.496/Frameworks/Houdini.framework/Versions/Current/Resources/houdini/otls/OPlibDop.hda
Dop/voronoifracturesolver otls/OPlibDop.hda
Vop/voronoise /Applications/Houdini/Houdini16.5.496/Frameworks/Houdini.framework/Versions/Current/Resources/houdini/otls/OPlibScripted.hda
Vop/voronoise otls/OPlibScripted.hda
Sop/xformpieces /Applications/Houdini/Houdini16.5.496/Frameworks/Houdini.framework/Versions/Current/Resources/houdini/otls/OPlibSop.hda
Sop/xformpieces otls/OPlibSop.hda
0707070000010000000006660000000000000000010000001331302235300001500001640416.OPdummydefs INDX              INDEX_SECTION      O[,$   houdini.hdalibrary  O    [,$   Vop/addattrib  O  [,5   Vop/addconst  W  *[,   Vop/addgroup  ]#  3[,5   
Vop/albedo  `V  [,   	Vop/align  eG  [,Y   Vop/alphamix  hD  J[,   Sop/assemble  k  [,5   Sop/attribdelete  |  [,5   Sop/attribrandomize    C[,5   Sop/attribwrangle  l  [,5   Vop/bias    .[,5   	Vop/clamp  G  
+[,   	Sop/clean  r  	[,5   Sop/clusterpoints    8[,5   	Sop/color O  [,5   Vop/complement   L[,   Vop/computelighting \  [,   Vop/computetan "  [,   Sop/connectadjacentpieces '  [,   Vop/conserveenergy 0j  B[,   	Vop/cross 2  [,Y   Vop/curlnoise 7]  [,Y   Vop/degtorad E,  [,Y   Vop/displacenml M  [,   Vop/divconst Q  M[,   Vop/dot WA  	*[,   Vop/exp `k  [,   Sop/explodedview g_  [,5   Vop/fit p!  [,   Vop/floattovec   [,   Vop/fresnel j  2[,   Vop/frontface   D[,   gamedev::Sop/inside_face_uvs   [,5   gamedev::Sop/niagara_impacts b  
[,    gamedev::Sop/niagara_interpolate l  [,   gamedev::Sop/niagara_rbd_split ?  R[,   gamedev::Sop/niagara_rop   [,$m   gamedev::Sop/rbd_director   [,O   gamedev::Sop/rbd_solver O  I[,$    gamedev::Driver/rop_csv_exporter ͘  u[,    gamedev::Sop/sop_extract_borders   [,5   $gamedev::Sop/sop_merge_small_islands   [,5   gamedev::Sop/sop_rbd_fracture ߴ  $[,5   Vop/geometryvopglobal o  [,5   Vop/geometryvopglobal::2.0 G   [,O   Vop/geometryvopoutput g  [,5   Vop/getattrib::2.0 $  [,O   Dop/groundplane "  p[,Y   Sop/groupexpression /,  y[,   Vop/hvectovec :  [,   Vop/ifconnected =  [,   Dop/impactanalysis J(  [,Y   Vop/importattrib O  [,5   Vop/inttofloat Uj  [,   Vop/inttovec W  [,5   
Vop/invert Z  [,   Vop/isconnected _  [,   	Vop/isnan e  p[,5   Vop/isshadow h*  [,   
Vop/length j@  A[,   Dop/linktosourceobject o  [,Y   Vop/luminance t  [,   Vop/maddconst w"  n[,   Vop/makeinstancexform |  8[,Y   Sop/matchaxis   [,Y   Sop/matchsize o  N[,5   Vop/mix   D[,   Sop/mountain::2.0   .[,5   Vop/mulconst   [,   
Vop/negate ͔  [,   Vop/neighbour 8  [,5   Vop/neighbourcount *  f[,5   Vop/normalize ِ  [,   Vop/not +  [,   Dop/null 0  [,Y   
Dop/objpos   7[,Y   
Dop/output   
[,Y   Vop/pbrdiffuse   [,   Vop/pbrlighting q  h[,   Vop/pbrspecular   [,   Vop/pcimport 0   [,Y   Vop/pciterate 5  f[,Y   
Vop/pcopen 7  [,Y   Vop/physicalsss =  5[,   Dop/popforce sH  [,Y   Vop/pow   [,   Vop/qrotate   `[,   Vop/quaternion   [,   
Vop/random   j[,5   Vop/raybounce a  [,   Dop/rbdpackedobject   <+[,Y   Vop/reflect   K[,   Vop/renderstate c  [,   Vop/restpos   [,   Dop/rigidbodysolver #  ={[,Y   Vop/setattrib H  [,O   Vop/shadingnormal U,  [,   
Vop/smooth Z  [,Y   
Sop/solver ^   [,   	Sop/split e  8[,5   Vop/subconst l  1[,5   Vop/surfacecolor r.  -[,   Vop/surfacemodel [  u[,   Vop/switchlightingbsdf D  [,   Vop/tangentnormals   [,   Sop/testgeometry_rubbertoy   Z[,   Vop/texture   [,   Vop/thinfilmfresnel   z[,   Vop/transform #?  [,   Vop/turbnoise +!  
O[,   
Vop/twoway 5p  [,   Vop/unifiednoise_static D)  F[,5   Vop/uvcoords :  N[,   Sop/uvquickshade   [,5   Vop/uvspacechg J  ~[,   Shop/v_layered   `[,5   Vop/vecgetcompon (  [,Y   Vop/vectofloat   0[,   Vop/vectohvec 
  [,5   Sop/visualize   [,   Vop/volumegradientfile   P[,O   Vop/volumesample   [,5   Vop/volumesamplefile   D[,O   Vop/volumevopglobal G  [,5   Vop/volumevopoutput   c[,5   Sop/voronoifracture [  9[,5   Sop/voronoifracturepoints   [,Y   Dop/voronoifracturesolver   ,[,Y   Vop/voronoise F  [,5   Sop/xformpieces '@  	[,Y         	addattrib   Add Attribute   "oplib:/Vop/addattrib?Vop/addattrib   VOP_addattrib           Vop   vop   VOPall       sop pop        [,$        addconst   Add Constant    oplib:/Vop/addconst?Vop/addconst   VOP_addconst           Vop   vop   VOPall       *        [,$        addgroup   Add Point to Group    oplib:/Vop/addgroup?Vop/addgroup   VOP_addgroup           Vop   vop   VOPall       sop pop        [,$        albedo   Get BSDF Albedo   oplib:/Vop/albedo?Vop/albedo   
VOP_albedo           Vop                       [,$        align   Align   oplib:/Vop/align?Vop/align   	VOP_align           Vop   vop   VOPall                [,$        alphamix   	Alpha Mix    oplib:/Vop/alphamix?Vop/alphamix   VOP_alphamix           Vop   subnet   SUBvop       surface fog rsl_surface       [,$       assemble   Assemble    oplib:/Sop/assemble?Sop/assemble   SOP_assemble           Sop                      [,$       attribdelete   Attribute Delete   (oplib:/Sop/attribdelete?Sop/attribdelete   SOP_attribdelete           Sop                      [,$       attribrandomize   Attribute Randomize   .oplib:/Sop/attribrandomize?Sop/attribrandomize   SOP_attribrandomize           Sop                       [,$       attribwrangle   Attribute Wrangle   *oplib:/Sop/attribwrangle?Sop/attribwrangle   SOP_attribwrangle           Sop                       [,$       bias   Bias   oplib:/Vop/bias?Vop/bias   VOP_bias           Vop   vop   VOPall                [,$        clamp   Clamp   oplib:/Vop/clamp?Vop/clamp   	VOP_clamp           Vop   vop   VOPall       *        [,$        clean   Clean   oplib:/Sop/clean?Sop/clean   	SOP_clean           Sop   subnet   SUBsop              [,$       clusterpoints   Cluster Points   *oplib:/Sop/clusterpoints?Sop/clusterpoints   SOP_clusterpoints           Sop                      [,$       color   Color   oplib:/Sop/color?Sop/color   	SOP_color           Sop                      [,$       
complement   
Complement   $oplib:/Vop/complement?Vop/complement   VOP_complement           Vop   vop   VOPall       *        [,$        computelighting   Compute Lighting   .oplib:/Vop/computelighting?Vop/computelighting   VOP_computelighting           Vop               surface fog       [,$          
computetan   Compute Tangents   $oplib:/Vop/computetan?Vop/computetan   VOP_computetan           Vop               !displace fog light shadow surface       [,$          connectadjacentpieces   Connect Adjacent Pieces   :oplib:/Sop/connectadjacentpieces?Sop/connectadjacentpieces   SOP_connectadjacentpieces           Sop                      [,$       conserveenergy   Conserve Energy   ,oplib:/Vop/conserveenergy?Vop/conserveenergy   VOP_conserveenergy           Vop                       [,$          cross   Cross Product   oplib:/Vop/cross?Vop/cross   	VOP_cross           Vop   vop   VOPall       *        [,$        	curlnoise   
Curl Noise   "oplib:/Vop/curlnoise?Vop/curlnoise   VOP_curlnoise           Vop   vop   VOPall                [,$        degtorad   Degrees to Radians    oplib:/Vop/degtorad?Vop/degtorad   VOP_degtorad           Vop   vop   VOPall       *        [,$        displacenml   Displace Along Normal   &oplib:/Vop/displacenml?Vop/displacenml   VOP_displacenml           Vop   vop   VOPall       "surface displace cvex sop pop rsl*        [,$        divconst   Divide Constant    oplib:/Vop/divconst?Vop/divconst   VOP_divconst           Vop   vop   VOPall       *        [,$        dot   Dot Product   oplib:/Vop/dot?Vop/dot   VOP_dot           Vop   vop   VOPall       *        [,$        exp   Exponential   oplib:/Vop/exp?Vop/exp   VOP_exp           Vop   vop   VOPall       *        [,$        explodedview   Exploded View   (oplib:/Sop/explodedview?Sop/explodedview   SOP_explodedview           Sop                      [,$       fit   	Fit Range   oplib:/Vop/fit?Vop/fit   VOP_fit           Vop   vop   VOPall       *        [,$        
floattovec   Float to Vector   $oplib:/Vop/floattovec?Vop/floattovec   VOP_floattovec           Vop   vop   VOPall       *        [,$        fresnel   Fresnel   oplib:/Vop/fresnel?Vop/fresnel   VOP_fresnel           Vop   vop   VOPall       surface fog rsl_*        [,$        	frontface   
Front Face   "oplib:/Vop/frontface?Vop/frontface   VOP_frontface           Vop   vop   VOPall       %surface fog light shadow photon rsl_*        [,$        gamedev::inside_face_uvs   Inside Face UVs   @oplib:/gamedev::Sop/inside_face_uvs?gamedev::Sop/inside_face_uvs   SOP_uvunwrap           Sop                      [,$       gamedev::niagara_impacts   GameDev Niagara Impacts   @oplib:/gamedev::Sop/niagara_impacts?gamedev::Sop/niagara_impacts   DOP_particlefluidemitter           Sop                       [,$       gamedev::niagara_interpolate   GameDev Niagara Interpolate   Hoplib:/gamedev::Sop/niagara_interpolate?gamedev::Sop/niagara_interpolate   DOP_particlefluidemitter           Sop                      [,$       gamedev::niagara_rbd_split   GameDev Niagara RBD Split   Doplib:/gamedev::Sop/niagara_rbd_split?gamedev::Sop/niagara_rbd_split   DOP_particlefluidemitter           Sop                       [,$       gamedev::niagara_rop   GameDev Niagara ROP   8oplib:/gamedev::Sop/niagara_rop?gamedev::Sop/niagara_rop   DOP_particlefluidemitter           Sop                      [,$       gamedev::rbd_director   GameDev RBD Director   :oplib:/gamedev::Sop/rbd_director?gamedev::Sop/rbd_director   DOP_bulletdata           Sop                      [,$       gamedev::rbd_solver   GameDev RBD Solver   6oplib:/gamedev::Sop/rbd_solver?gamedev::Sop/rbd_solver   DOP_rbdpackedobject           Sop                      [,$       gamedev::rop_csv_exporter   GameDev CSV Exporter   Hoplib:/gamedev::Driver/rop_csv_exporter?gamedev::Driver/rop_csv_exporter   BUTTONS_jump_to_line           Driver                        [,$       gamedev::sop_extract_borders   Gamedev Extract Borders   Hoplib:/gamedev::Sop/sop_extract_borders?gamedev::Sop/sop_extract_borders   VIEW_wireframe           Sop                      [,$        gamedev::sop_merge_small_islands   GameDev Merge Small Islands   Poplib:/gamedev::Sop/sop_merge_small_islands?gamedev::Sop/sop_merge_small_islands   SOP_partition           Sop                      [,$       gamedev::sop_rbd_fracture   GameDev RBD Fracture   Boplib:/gamedev::Sop/sop_rbd_fracture?gamedev::Sop/sop_rbd_fracture   SOP_voronoifracture           Sop                      [,$          geometryvopglobal   Geometry VOP Global Parameters   2oplib:/Vop/geometryvopglobal?Vop/geometryvopglobal   VOP_geometryvopglobal           Vop               cvex        [,$       geometryvopglobal::2.0   Geometry VOP Global Parameters   <oplib:/Vop/geometryvopglobal::2.0?Vop/geometryvopglobal::2.0   VOP_geometryvopglobal           Vop               cvex        [,$       geometryvopoutput   Geometry VOP Output   2oplib:/Vop/geometryvopoutput?Vop/geometryvopoutput   VOP_geometryvopoutput.otl           Vop               cvex       [,$       getattrib::2.0   Get Attribute   ,oplib:/Vop/getattrib::2.0?Vop/getattrib::2.0   VOP_getattrib-2.0           Vop   vop   VOPall                [,$        groundplane   Ground Plane   &oplib:/Dop/groundplane?Dop/groundplane   DOP_groundplane           Dop                        [,$       groupexpression   Group Expression   .oplib:/Sop/groupexpression?Sop/groupexpression   SOP_groupexpression           Sop                      [,$       	hvectovec   Vector4 to Vector   "oplib:/Vop/hvectovec?Vop/hvectovec   VOP_hvectovec           Vop   vop   VOPall                [,$        ifconnected   If Connected   &oplib:/Vop/ifconnected?Vop/ifconnected   VOP_ifconnected           Vop   vop   VOPall       *        [,$        impactanalysis   Impact Analysis   ,oplib:/Dop/impactanalysis?Dop/impactanalysis   DOP_affector           Dop               subtype=Solver        [,$       importattrib   Import Attribute   (oplib:/Vop/importattrib?Vop/importattrib   VOP_importattrib           Vop   vop   VOPall       sop pop        [,$        
inttofloat   Integer to Float   $oplib:/Vop/inttofloat?Vop/inttofloat   VOP_inttofloat           Vop   vop   VOPall                [,$        inttovec   Integer to Vector    oplib:/Vop/inttovec?Vop/inttovec   VOP_inttovec           Vop   vop   VOPall                [,$        invert   Invert   oplib:/Vop/invert?Vop/invert   
VOP_invert           Vop   vop   VOPall                [,$        isconnected   Is Connected   &oplib:/Vop/isconnected?Vop/isconnected   VOP_isconnected           Vop   vop   VOPall       *        [,$        isnan   Is NaN   oplib:/Vop/isnan?Vop/isnan   	VOP_isnan           Vop   vop   VOPall       *        [,$        isshadow   Is Shadow Ray    oplib:/Vop/isshadow?Vop/isshadow   VOP_isshadow           Vop   vop   VOPall       surface fog        [,$        length   Length   oplib:/Vop/length?Vop/length   
VOP_length           Vop   vop   VOPall       *        [,$        linktosourceobject   Link to Source Object   4oplib:/Dop/linktosourceobject?Dop/linktosourceobject   DOP_linktosourceobject           Dop                       [,$       	luminance   	Luminance   "oplib:/Vop/luminance?Vop/luminance   VOP_luminance           Vop   vop   VOPall       *        [,$        	maddconst   Multiply Add Constant   "oplib:/Vop/maddconst?Vop/maddconst   VOP_maddconst           Vop   vop   VOPall       *        [,$        makeinstancexform   Make Instance Transform   2oplib:/Vop/makeinstancexform?Vop/makeinstancexform   VOP_makeinstancexform           Vop   vop   VOPall                [,$        	matchaxis   
Match Axis   "oplib:/Sop/matchaxis?Sop/matchaxis   SOP_matchaxis           Sop                      [,$       	matchsize   
Match Size   "oplib:/Sop/matchsize?Sop/matchsize   SOP_matchsize           Sop                      [,$       mix   Mix   oplib:/Vop/mix?Vop/mix   VOP_mix           Vop   vop   VOPall       *        [,$        mountain::2.0   Mountain   *oplib:/Sop/mountain::2.0?Sop/mountain::2.0   SOP_mountain           Sop                      [,$       mulconst   Multiply Constant    oplib:/Vop/mulconst?Vop/mulconst   VOP_mulconst           Vop   vop   VOPall       *        [,$        negate   Negate   oplib:/Vop/negate?Vop/negate   
VOP_negate           Vop   vop   VOPall       *        [,$        	neighbour   	Neighbour   "oplib:/Vop/neighbour?Vop/neighbour   VOP_neighbour           Vop   vop   VOPall                [,$        neighbourcount   Neighbour Count   ,oplib:/Vop/neighbourcount?Vop/neighbourcount   VOP_neighbourcount           Vop   vop   VOPall                [,$        	normalize   	Normalize   "oplib:/Vop/normalize?Vop/normalize   VOP_normalize           Vop   vop   VOPall       *        [,$        not   Not   oplib:/Vop/not?Vop/not   VOP_not           Vop   vop   VOPall       *        [,$        null   Null   oplib:/Dop/null?Dop/null   DOP_null           Dop                       [,$       objpos   OBJ Position   oplib:/Dop/objpos?Dop/objpos   
DOP_objpos           Dop                       [,$          output   Output   oplib:/Dop/output?Dop/output   
DOP_output           Dop                       [,$          
pbrdiffuse   Physically Based Diffuse   $oplib:/Vop/pbrdiffuse?Vop/pbrdiffuse   VOP_diffuse           Vop                       [,$        pbrlighting   PBR Lighting   &oplib:/Vop/pbrlighting?Vop/pbrlighting   VOP_pbrlighting           Vop               surface       [,$        pbrspecular   Physically Based Specular   &oplib:/Vop/pbrspecular?Vop/pbrspecular   VOP_specular           Vop                       [,$        pcimport   Point Cloud Import    oplib:/Vop/pcimport?Vop/pcimport   VOP_pcimport           Vop   vop   VOPall                [,$        	pciterate   Point Cloud Iterate   "oplib:/Vop/pciterate?Vop/pciterate   VOP_pciterate           Vop   vop   VOPall                [,$        pcopen   Point Cloud Open   oplib:/Vop/pcopen?Vop/pcopen   
VOP_pcopen           Vop   vop   VOPall                [,$        physicalsss   Physical SSS   &oplib:/Vop/physicalsss?Vop/physicalsss   VOP_physicalsss           Vop                       "[,$           popforce   	POP Force    oplib:/Dop/popforce?Dop/popforce   	POP_force           Dop                       [,$       pow   Power   oplib:/Vop/pow?Vop/pow   VOP_pow           Vop   vop   VOPall       *        [,$        qrotate   Rotate by Quaternion   oplib:/Vop/qrotate?Vop/qrotate   VOP_qrotate           Vop   vop   VOPall                [,$        
quaternion   
Quaternion   $oplib:/Vop/quaternion?Vop/quaternion   VOP_quaternion           Vop   vop   VOPall                [,$        random   Random   oplib:/Vop/random?Vop/random   
VOP_random           Vop   vop   VOPall       *        [,$        	raybounce   Ray Bounce Level   "oplib:/Vop/raybounce?Vop/raybounce   VOP_raybounce           Vop   vop   VOPall       (surface photon displace light shadow fog        [,$        rbdpackedobject   RBD Packed Object   .oplib:/Dop/rbdpackedobject?Dop/rbdpackedobject   DOP_rbdpackedobject           Dop                        [,$          reflect   Reflect   oplib:/Vop/reflect?Vop/reflect   VOP_reflect           Vop   vop   VOPall       *        [,$        renderstate   Render State   &oplib:/Vop/renderstate?Vop/renderstate   VOP_renderstate           Vop   vop   VOPall       (surface photon displace light shadow fog        [,$        restpos   Rest Position   oplib:/Vop/restpos?Vop/restpos   VOP_restpos           Vop   subnet   SUBvop       surface displace light sop pop       [,$          rigidbodysolver   Rigid Body Solver   .oplib:/Dop/rigidbodysolver?Dop/rigidbodysolver   DOP_rbdsolver           Dop                       [,$          	setattrib   Set Attribute   "oplib:/Vop/setattrib?Vop/setattrib   VOP_setattrib           Vop   vop   VOPall                [,$        shadingnormal   Shading Normal   *oplib:/Vop/shadingnormal?Vop/shadingnormal   VOP_shadingnormal           Vop   vop   VOPall       (surface photon displace light shadow fog        [,$        smooth   Smooth   oplib:/Vop/smooth?Vop/smooth   
VOP_smooth           Vop   vop   VOPall       *        [,$        solver   Solver   oplib:/Sop/solver?Sop/solver   
SOP_solver           Sop                       [,$       split   Split   oplib:/Sop/split?Sop/split   	SOP_split           Sop                      [,$          subconst   Subtract Constant    oplib:/Vop/subconst?Vop/subconst   VOP_subconst           Vop   vop   VOPall       *        [,$        surfacecolor   Surface Color   (oplib:/Vop/surfacecolor?Vop/surfacecolor   opdef:/Vop/surfacecolor?Icon           Vop               (surface photon displace light shadow fog       [,$          surfacemodel   Surface Model   (oplib:/Vop/surfacemodel?Vop/surfacemodel   VOP_surfacemodel           Vop               (surface photon displace light shadow fog       e[,$       switchlightingbsdf   Switch Lighting BSDF   4oplib:/Vop/switchlightingbsdf?Vop/switchlightingbsdf   VOP_switchlightingbsdf           Vop   vop   VOPall       (surface photon displace light shadow fog        [,$        tangentnormals   Tangent Normals   ,oplib:/Vop/tangentnormals?Vop/tangentnormals   VOP_tangentnormals           Vop               !displace fog light shadow surface       [,$          testgeometry_rubbertoy   Test Geometry: Rubber Toy   <oplib:/Sop/testgeometry_rubbertoy?Sop/testgeometry_rubbertoy   SOP_testgeometry_rubbertoy           Sop                        [,$       texture   Texture   oplib:/Vop/texture?Vop/texture   VOP_texture           Vop   vop   VOPall       	vex* rsl*        [,$        thinfilmfresnel   Thin Film Fresnel   .oplib:/Vop/thinfilmfresnel?Vop/thinfilmfresnel   VOP_thinfilmfresnel           Vop               (surface photon displace light shadow fog       [,$          	transform   	Transform   "oplib:/Vop/transform?Vop/transform   VOP_transform           Vop   vop   VOPall                [,$        	turbnoise   Turbulent Noise   "oplib:/Vop/turbnoise?Vop/turbnoise   VOP_turbnoise           Vop   vop   VOPall                [,$        twoway   Two Way Switch   oplib:/Vop/twoway?Vop/twoway   
VOP_twoway           Vop   vop   VOPall       *        [,$        unifiednoise_static   Unified Noise - Static   6oplib:/Vop/unifiednoise_static?Vop/unifiednoise_static   VOP_unifiednoise           Vop                       [,$           uvcoords   	UV Coords    oplib:/Vop/uvcoords?Vop/uvcoords   VOP_uvcoords           Vop               	vex* rsl*        [,$          uvquickshade   UV Quick Shade   (oplib:/Sop/uvquickshade?Sop/uvquickshade   SOP_uvquickshade           Sop                      [,$       
uvspacechg   UV Space Change   $oplib:/Vop/uvspacechg?Vop/uvspacechg   VOP_uvspacechg           Vop   vop   VOPall       surface displace light        [,$        	v_layered   Layered Surface   $oplib:/Shop/v_layered?Shop/v_layered   SHOP_surface           Shop               surface        [,$        vecgetcompon   Get Vector Component   (oplib:/Vop/vecgetcompon?Vop/vecgetcompon   VOP_vecgetcompon           Vop   vop   VOPall       *        [,$        
vectofloat   Vector to Float   $oplib:/Vop/vectofloat?Vop/vectofloat   VOP_vectofloat           Vop   vop   VOPall       *        [,$        	vectohvec   Vector to Vector4   "oplib:/Vop/vectohvec?Vop/vectohvec   VOP_vectohvec           Vop   vop   VOPall                [,$        	visualize   	Visualize   "oplib:/Sop/visualize?Sop/visualize   SOP_visualize           Sop                       [,$       volumegradientfile   Volume Gradient   4oplib:/Vop/volumegradientfile?Vop/volumegradientfile   VOP_volumegradientfile           Vop   vop   VOPall                [,$        volumesample   Volume Sample   (oplib:/Vop/volumesample?Vop/volumesample   VOP_volumesample           Vop   vop   VOPall                [,$        volumesamplefile   Volume Sample   0oplib:/Vop/volumesamplefile?Vop/volumesamplefile   VOP_volumesamplefile           Vop   vop   VOPall                [,$        volumevopglobal   Volume VOP Global Parameters   .oplib:/Vop/volumevopglobal?Vop/volumevopglobal   VOP_volumevexglobal           Vop               cvex        [,$       volumevopoutput   Volume VOP Output   .oplib:/Vop/volumevopoutput?Vop/volumevopoutput   VOP_volumevexoutput           Vop               cvex       [,$       voronoifracture   Voronoi Fracture   .oplib:/Sop/voronoifracture?Sop/voronoifracture   SOP_voronoifracture           Sop                      [,$       voronoifracturepoints   Voronoi Fracture Points   :oplib:/Sop/voronoifracturepoints?Sop/voronoifracturepoints   SOP_voronoifracturepoints           Sop               guide=./IMPACT_METABALLS       [,$       voronoifracturesolver   Voronoi Fracture Solver   :oplib:/Dop/voronoifracturesolver?Dop/voronoifracturesolver   DOP_voronoifracturesolver           Dop                       [,$          	voronoise   Voronoi Noise   "oplib:/Vop/voronoise?Vop/voronoise   VOP_voronoise           Vop   vop   VOPall       *        [,$        xformpieces   Transform Pieces   &oplib:/Sop/xformpieces?Sop/xformpieces   SOP_xformpieces           Sop                      [,$ INDX              DialogScript      Z Vh/*
 * PROPRIETARY INFORMATION.  This software is proprietary to
 * Side Effects Software Inc., and is not to be reproduced,
 * transmitted, or disclosed in any way without written permission.
 *
 * Produced by:
 *	Side Effects Software Inc
 *	477 Richmond Street West
 *	Toronto, Ontario
 *	Canada   M5V 3E7
 *	416-504-9876
 *
 */

{
    name	"addattrib"
    script	"addattrib"
    label	"addattrib"


    code {
	"$newadata = $adata;"
	"addattribute($attrib, $newadata, \"type\", $typemodifier);"
	"if ($localvar != \"\")"
	"    addvariablename($attrib, $localvar);"
    }

    forcecode
    input	string	attrib		"Attribute Name"
    input	vector	adata		"Attribute Value"
    input	string	localvar	"Local Variable Name"
    output	vector	newadata	"Attribute Value"

    signature	"Float Attribute"	f  { string float string float }
    signature	"Integer Attribute"	i  { string int string int }
    signature	"Vector Attribute"	default { }
    signature	"Vector4 Attribute"	v4 { string vector4 string vector4 }
    signature	"Matrix3 Attribute"	m3 { string matrix3 string matrix3 }
    signature	"Matrix Attribute"	m  { string matrix string matrix }

    parm {
	name	attrib
	label	"Attribute"
	type	string
	default	{ "Cd" }
    }
    parm {
	name	localvar
	label	"Local Variable Name"
	type	string
	default { "" }
    }
    parm {
	name	adata_f
	label	"Data Float"
	type	float
	size	1
	default	{ 0.0 }
    }
    parm {
	name	adata_i
	label	"Data Integer"
	type	int
	size	1
	default	{ 0 }
    }
    parm {
	name	adata	
	label	"Data Vector"
	type	float
	size	3
	default	{ 0.0 0.0 0.0 }
    }
    parm {
	name	adata_v4
	label	"Data Vector4"
	type	float
	size	4
	default	{ 0.0 0.0 0.0 0.0 }
    }
    parm {
	name	adata_m3
	label	"Data Matrix3"
	type	float
	size	9
	default	{ 1 0 0 0 1 0 0 0 1 }
    }
    parm {
	name	adata_m
	label	"Data Matrix"
	type	float
	size	16
	default	{ 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 }
    }
    parm {
	name	typemodifier
	label	"Type Modifier"
	type	string
	default	{ "" }
	menu {
	    ""			"None"
	    "vector"		"Vector Data"
	    "normal"		"Normal Data"
	    "point"		"Position Data"
	    "indexpair"		"Index/Pair (Capture Attribute)"
	    "color"		"Color Data"
	    "quaternion"	"Quaternion"
	}
    }
}

INDX              DialogScript      Z Vi/*
 * PROPRIETARY INFORMATION.  This software is proprietary to
 * Side Effects Software Inc., and is not to be reproduced,
 * transmitted, or disclosed in any way without written permission.
 *
 * Produced by:
 *	Side Effects Software Inc
 *	477 Richmond Street West
 *	Toronto, Ontario
 *	Canada   M5V 3E7
 *	416-504-9876
 *
 */

{
    name	"addconst"
    script	"addconst"
    label	"addconst"


    code {
	"$added = $val + $addconst;"
    }

    descriptiveparm	addconst

    input	int	val		"Input Value"
    output	int	added		"Input Value + Constant"
    signature	"Integer"		default	{ }
    signature	"Float"			f	{ float float }
    signature	"2D Vector"		u	{ vector2 vector2 }
    signature	"3D Vector"		v	{ vector vector }
    signature	"3D Point"		p	{ point point }
    signature	"3D Normal"		n	{ normal normal }
    signature	"4D Vector"		v4	{ vector4 vector4 }
    signature	"RGB Color"		c	{ color color }
    signature	"Uniform Float"		uf	{ ufloat ufloat }
    signature	"Uniform 3D Vector"	uv	{ uvector uvector }
    signature	"Uniform 3D Point"	up	{ upoint upoint }
    signature	"Uniform 3D Normal"	un	{ unormal unormal }
    signature	"Uniform RGB Color"	uc	{ ucolor ucolor }

    parm {
	name	addconst
	label	"Add"
	type	float
	size	1
	default	{ 1.0 }
    }
}
INDX              DialogScript      Z Vh/*
 * PROPRIETARY INFORMATION.  This software is proprietary to
 * Side Effects Software Inc., and is not to be reproduced,
 * transmitted, or disclosed in any way without written permission.
 *
 * Produced by:
 *	Side Effects Software Inc
 *	477 Richmond Street West
 *	Toronto, Ontario
 *	Canada   M5V 3E7
 *	416-504-9876
 *
 */

{
    name	"addgroup"
    script	"addgroup"
    label	"addgroup"


    code {
	"$found = $ptnum;"
	"addgroup($group, $ptnum);"
    }

    forcecode

    input	string	group		"Group Name"
    input	int	ptnum		"Point Number"
    output	int	found		"Point Number"

    parm {
	name	group
	label	"Group"
	type	string
	default	{ "group1" }
    }
    parm {
	name	ptnum
	label	"Point Number"
	type	int
        size    1
        default { 0 }
    }
}

INDX              DialogScript      Z Vb# Dialog script for albedo automatically generated

{
    name	albedo
    script	albedo
    label	Albedo

    outercode {
	"#include <voptype.h>"
	"#include <voplib.h>"
	"#include <pbr.h>"
    }

    code {
	"VOPint $components = 0;"
	"if ($diffuse_comp)"
	"    $components |= PBR_DIFFUSE_MASK;"
	"if ($glossy_comp)"
	"    $components |= PBR_GLOSSY_MASK;"
	"if ($volume_comp)"
	"    $components |= PBR_VOLUME_MASK;"
	""
	"VOPvector $ii = ($isconnected_nI != 0) ? $nI : normalize(I);"
	"$albedo = albedo($f, -$ii, $components);"
    }

    input	bsdf	f	BSDF
    input	vector	nI	"Incident Vector"
    output	vector	albedo	Albedo
    inputflags	f	0
    inputflags	nI	0
    signature	"Default Inputs"	default	{ bsdf vector vector }

    outputoverrides	default
    {
	___begin	auto
			(0,0,0)
    }

    help {
	""
    }

    group {
	name	"folder0"
	label	"Bounce Components"

	parm {
	    name	"diffuse_comp"
	    label	"Diffuse"
	    type	toggle
	    default	{ "1" }
	    range	{ 0 1 }
	}
	parm {
	    name	"glossy_comp"
	    label	"Glossy"
	    type	toggle
	    default	{ "1" }
	    range	{ 0 1 }
	}
	parm {
	    name	"volume_comp"
	    label	"Volume"
	    type	toggle
	    default	{ "0" }
	    range	{ 0 1 }
	}
    }

}
INDX              DialogScript      Z Vi/*
 * PROPRIETARY INFORMATION.  This software is proprietary to
 * Side Effects Software Inc., and is not to be reproduced,
 * transmitted, or disclosed in any way without written permission.
 *
 * Produced by:
 *	Side Effects Software Inc
 *	477 Richmond Street West
 *	Toronto, Ontario
 *	Canada   M5V 3E7
 *	416-504-9876
 *
 */

#include <parameter.ds>

{
    name	"align"
    script	"align"
    label	"align"


    code {
	"$matx = dihedral($from, $to);"
    }

    output	matrix3	matx	"Rotation Matrix"

    VOP_VEC_INPUT(from,	"Vector To Rotate From", 1, 0, 0)
    VOP_VEC_INPUT(to,	"Vector To Rotate To",   0, 1, 0)

    signature	"Matrix 3"		default	{ }
    signature	"Angle Axis"		v	{ vector vector vector4 }

}
INDX              Contents       W[,   DialogScript   W  P30707070000010000000006660000000000000000010000001331301640400001300000000000TRAILER!!! /*
 * PROPRIETARY INFORMATION.  This software is proprietary to
 * Side Effects Software Inc., and is not to be reproduced,
 * transmitted, or disclosed in any way without written permission.
 *
 * Produced by:
 *	Side Effects Software Inc
 *	477 Richmond Street West
 *	Toronto, Ontario
 *	Canada   M5V 3E7
 *	416-504-9876
 *
 */

#include <parameter.ds>

{
    name	"alphamix"
    script	"alphamix"
    label	"alphamix"


    input       vector  I       "Direction From Eye To Surface"
    input       normal  N       "Surface Normal"
    VOP_FLT_INPUT(	apara,	"Alpha Para",	0.3)
    VOP_FLT_INPUT(	aperp,	"Alpha Perp",	0)
    VOP_FLT_INPUT_R(	aroll,	"Alpha Roll",	0.025, 0.02, 0.1)
}
INDX              Contents       W[,5   DialogScript   W  zZ VZ0707070000010000000006660000000000000000010000001331301646500001300000000000TRAILER!!! # Dialog script for assemble automatically generated

{
    name	assemble
    script	Reassemble
    label	Assemble

    help {
	""
    }

    inputlabel	1	"Polygons to Assemble into Pieces"
    inputlabel	2	"Sub-Network Input #2"
    inputlabel	3	"Sub-Network Input #3"
    inputlabel	4	"Sub-Network Input #4"

    parm {
        name    "group"
        label   "Group"
        type    string
        default { "" }
        menutoggle {
            [ "opmenu -l delete__no_change group" ]
        }
        range   { 0 1 }
        parmtag { "script_action" "import soputils\nkwargs['geometrytype'] = hou.geometryType.Primitives\nkwargs['inputindex'] = 0\nsoputils.selectGroupParm(kwargs)" }
        parmtag { "script_action_help" "Select geometry from an available viewport." }
        parmtag { "script_action_icon" "BUTTONS_reselect" }
        bindselector prims "Primitives to Finalize"
            "Select the geometry to finalize and right click to complete"
            0 1 poly 0 "" 0
    }
    parm {
        name    "inside_group"
        label   "Inside Group"
        type    string
        default { "inside" }
        menutoggle {
            [ "opmenu -l delete__no_change group" ]
        }
        range   { 0 1 }
        parmtag { "script_action" "import soputils\nkwargs['geometrytype'] = hou.geometryType.Primitives\nkwargs['inputindex'] = 0\nsoputils.selectGroupParm(kwargs)" }
        parmtag { "script_action_help" "Select geometry from an available viewport." }
        parmtag { "script_action_icon" "BUTTONS_reselect" }
    }
    parm {
        name    "outside_group"
        label   "Output Prefix"
        type    string
        default { "piece" }
        range   { 0 1 }
    }
    parm {
        name    "keepattrib"
        label   "Label"
        type    toggle
        nolabel
        joinnext
        default { "0" }
        range   { 0 1 }
    }
    parm {
        name    "pieceattrib"
        label   "Piece Attribute"
        type    string
        default { "__fracture_class__" }
        disablewhen "{ keepattrib == 0 }"
        range   { 0 1 }
    }
    parm {
        name    "newgroups"
        label   "Create Groups"
        type    toggle
        default { "0" }
        range   { 0 1 }
    }
    parm {
        name    "newname"
        label   "Create Name Attribute"
        type    toggle
        default { "1" }
        range   { 0 1 }
    }
    parm {
        name    "connect"
        label   "Connect Inside Edges"
        type    toggle
        default { "0" }
        range   { 0 1 }
    }
    parm {
        name    "doCusp"
        label   "Cusp Edges"
        type    toggle
        default { "0" }
        range   { 0 1 }
    }
    parm {
        name    "pack_geo"
        label   "Create Packed Geometry"
        type    toggle
        default { "0" }
        range   { 0 1 }
    }
    parm {
        name    "transfer_attributes"
        label   "Transfer Attributes"
        type    string
        default { "" }
        disablewhen "{ pack_geo == 0 }"
        menutoggle {
            [ "opmenu -l pack transfer_attributes" ]
        }
        parmtag { "autoscope" "0000000000000000" }
    }
    parm {
        name    "transfer_groups"
        label   "Transfer Groups"
        type    string
        default { "" }
        disablewhen "{ pack_geo == 0 }"
        menutoggle {
            [ "opmenu -l pack transfer_groups" ]
        }
        parmtag { "autoscope" "0000000000000000" }
    }
    parm {
        name    "pivot"
        label   "Pivot Location"
        type    ordinal
        default { "centroid" }
        disablewhen "{ pack_geo == 0 }"
        menu {
            "origin"    "Origin"
            "centroid"  "Centroid"
        }
        range   { 0 1 }
    }
    parm {
        name    "viewportlod"
        label   "Display As"
        type    ordinal
        default { [ "full" hscript-expr ] }
        disablewhen "{ pack_geo == 0 }"
        menu {
            "full"      "Full Geometry"
            "points"    "Point Cloud"
            "box"       "Bounding Box"
            "centroid"  "Centroid"
            "hidden"    "Hidden"
        }
        range   { 0 1 }
        parmtag { "autoscope" "0000000000000000" }
    }
}
INDX              Contents       W[,5   DialogScript   W  mTS֥0707070000010000000006660000000000000000010000001331301646500001300000000000TRAILER!!! # Dialog script for attribdelete automatically generated 10/31/14 14:36:21

{
    name	attribdelete
    script	attribdelete
    label	"Attribute Delete"

    help {
	""
    }

    inputlabel	1	"Geometry to Remove Attributes from"
    inputlabel	2	"Sub-Network Input #2"
    inputlabel	3	"Sub-Network Input #3"
    inputlabel	4	"Sub-Network Input #4"

    parm {
	name	"ptdel"
	label	"Point Attributes"
	type	string
	default	{ "" }
	menutoggle	{
	    [ "opmenu -l attribute1 ptdel" ]
	}
	range	{ 0 1 }
	export	none
	parmtag	{ "autoscope" "0000000000000000" }
    }
    parm {
	name	"vtxdel"
	label	"Vertex Attributes"
	type	string
	default	{ "" }
	menutoggle	{
	    [ "opmenu -l attribute1 vtxdel" ]
	}
	range	{ 0 1 }
	export	none
	parmtag	{ "autoscope" "0000000000000000" }
    }
    parm {
	name	"primdel"
	label	"Primitive Attributes"
	type	string
	default	{ "" }
	menutoggle	{
	    [ "opmenu -l attribute1 primdel" ]
	}
	range	{ 0 1 }
	export	none
	parmtag	{ "autoscope" "0000000000000000" }
    }
    parm {
	name	"dtldel"
	label	"Detail Attributes"
	type	string
	default	{ "" }
	menutoggle	{
	    [ "opmenu -l attribute1 dtldel" ]
	}
	range	{ 0 1 }
	export	none
	parmtag	{ "autoscope" "0000000000000000" }
    }
    parm {
	name	"updatevar"
	label	"Update Local Variables"
	type	toggle
	default	{ "on" }
	range	{ 0 1 }
	export	none
	parmtag	{ "autoscope" "0000000000000000" }
    }
}
INDX              Contents       W[,5   DialogScript   W  C&Z V[0707070000010000000006660000000000000000010000001331301646500001300000000000TRAILER!!! # Dialog script for attribrandomize automatically generated

{
    name	attribrandomize
    script	attribrandomize
    label	"Attribute Randomize"

    help {
	""
    }

    inputlabel	1	"Geometry to Randomize"
    inputlabel	2	"Sub-Network Input #2"
    inputlabel	3	"Sub-Network Input #3"
    inputlabel	4	"Sub-Network Input #4"

    parm {
	name	"group"
	label	"Group"
	type	string
	default	{ "" }
	disablewhen	"{ visualize == on }"
	menutoggle	{
	    [ "opmenu -l attribwrangle2 group" ]
	}
	range	{ 0 1 }
	parmtag	{ "autoscope" "0000000000000000" }
	parmtag	{ "script_action" "import soputils\nkwargs['geometrytype'] = kwargs['node'].parmTuple('grouptype')\nkwargs['inputindex'] = 0\nsoputils.selectGroupParm(kwargs)" }
	parmtag	{ "script_action_help" "Select geometry from an available viewport." }
	parmtag	{ "script_action_icon" "BUTTONS_reselect" }
	parmtag	{ "script_callback" "" }
	bindselector uvselect "Randomize Attribute Values"
	    "Select the geometry whose attribute values should be randomized, and press Enter to complete."
	    0 1 all 0 grouptype 0
    }
    parm {
	name	"grouptype"
	label	"Group Type"
	type	ordinal
	default	{ "guess" }
	disablewhen	"{ visualize == on }"
	menu	{
	    "guess"	"Guess from Group"
	    "vertices"	"Vertices"
	    "edges"	"Edges"
	    "points"	"Points"
	    "prims"	"Primitives"
	}
	range	{ 0 1 }
	parmtag	{ "autoscope" "0000000000000000" }
	parmtag	{ "script_callback" "" }
    }
    parm {
	name	"class"
	label	"Attribute Class"
	type	ordinal
	default	{ "point" }
	disablewhen	"{ visualize == on }"
	menu	{
	    "detail"	"Detail"
	    "primitive"	"Primitives"
	    "point"	"Points"
	    "vertex"	"Vertices"
	}
	range	{ 0 1 }
	parmtag	{ "autoscope" "0000000000000000" }
	parmtag	{ "script_callback" "" }
    }
    parm {
	name	"name"
	label	"Attribute Name"
	type	string
	default	{ "Cd" }
	disablewhen	"{ visualize == on }"
	range	{ 0 1 }
	parmtag	{ "autoscope" "0000000000000000" }
	parmtag	{ "script_callback" "" }
    }
    parm {
	name	"operation"
	label	"Operation"
	type	string
	default	{ "set" }
	disablewhen	"{ visualize == on }"
	menu	{
	    "set"	"Set Value"
	    "add"	"Add Value"
	    "min"	"Minimum"
	    "max"	"Maximum"
	    "mult"	"Multiply"
	}
	range	{ 0 1 }
	parmtag	{ "autoscope" "0000000000000000" }
	parmtag	{ "script_callback" "" }
    }
    parm {
	name	"scale"
	label	"Global Scale"
	type	float
	default	{ "1" }
	range	{ 0 10 }
	parmtag	{ "autoscope" "0000000000000000" }
	parmtag	{ "script_callback" "" }
    }
    group {
	name	"folder0"
	label	"Distribution"

	parm {
	    name	"distribution"
	    label	"Distribution"
	    type	string
	    default	{ "uniform" }
	    menu	{
		"constant"	"Constant Value (not random)"
		"bernoulli"	"Two Values"
		"uniform"	"Uniform (Continuous)"
		"uniformdiscrete"	"Uniform (Discrete)"
		"uniformorient"	"Direction or Orientation"
		"uniformball"	"Inside Sphere"
		"normal"	"Normal (Gaussian)"
		"exponential"	"Exponential"
		"lognormal"	"Log-Normal"
		"cauchy"	"Cauchy-Lorentz"
		"ramp"	"Custom Ramp"
		"discrete"	"Custom Discrete"
	    }
	    range	{ 0 1 }
	    parmtag	{ "autoscope" "0000000000000000" }
	    parmtag	{ "script_callback" "" }
	}
	parm {
	    name	"dimensions"
	    label	"Dimensions"
	    type	integer
	    default	{ "3" }
	    disablewhen	"{ distribution == discrete }"
	    hidewhen	"{ distribution == discrete }"
	    range	{ 1! 4! }
	    parmtag	{ "autoscope" "0000000000000000" }
	    parmtag	{ "script_callback" "" }
	}
	parm {
	    name	"allsame"
	    label	"Use first dimension's parameters for all"
	    type	toggle
	    default	{ "off" }
	    disablewhen	"{ distribution == uniformorient } { distribution == uniformball } { distribution == ramp } { distribution == discrete } { dimensions == 1 }"
	    hidewhen	"{ distribution == uniformorient } { distribution == uniformball } { distribution == ramp } { distribution == discrete } { dimensions == 1 }"
	    range	{ 0 1 }
	    parmtag	{ "autoscope" "0000000000000000" }
	    parmtag	{ "script_callback" "" }
	}
	parm {
	    name	"constvalue"
	    label	"Value"
	    type	vector4
	    size	4
	    default	{ "0" "0" "0" "0" }
	    disablewhen	"{ distribution != constant }"
	    hidewhen	"{ distribution != constant }"
	    range	{ -1 1 }
	    parmtag	{ "autoscope" "0000000000000000" }
	    parmtag	{ "script_callback" "" }
	}
	parm {
	    name	"valuea"
	    label	"Value A"
	    type	vector4
	    size	4
	    default	{ "0" "0" "0" "0" }
	    disablewhen	"{ distribution != bernoulli }"
	    hidewhen	"{ distribution != bernoulli }"
	    range	{ -1 1 }
	    parmtag	{ "autoscope" "0000000000000000" }
	    parmtag	{ "script_callback" "" }
	}
	parm {
	    name	"valueb"
	    label	"Value B"
	    type	vector4
	    size	4
	    default	{ "1" "1" "1" "1" }
	    disablewhen	"{ distribution != bernoulli }"
	    hidewhen	"{ distribution != bernoulli }"
	    range	{ -1 1 }
	    parmtag	{ "autoscope" "0000000000000000" }
	    parmtag	{ "script_callback" "" }
	}
	parm {
	    name	"probvalueb"
	    label	"Probability of Value B"
	    type	float
	    default	{ "0.5" }
	    disablewhen	"{ distribution != bernoulli }"
	    hidewhen	"{ distribution != bernoulli }"
	    range	{ 0! 1! }
	}
	parm {
	    name	"min"
	    label	"Min Value"
	    type	vector4
	    size	4
	    default	{ "0" "0" "0" "0" }
	    disablewhen	"{ distribution != uniform }"
	    hidewhen	"{ distribution != uniform }"
	    range	{ -1 1 }
	    parmtag	{ "autoscope" "0000000000000000" }
	    parmtag	{ "script_callback" "" }
	}
	parm {
	    name	"max"
	    label	"Max Value"
	    type	vector4
	    size	4
	    default	{ "1" "1" "1" "1" }
	    disablewhen	"{ distribution != uniform }"
	    hidewhen	"{ distribution != uniform }"
	    range	{ -1 1 }
	    parmtag	{ "autoscope" "0000000000000000" }
	    parmtag	{ "script_callback" "" }
	}
	parm {
	    name	"mindiscrete"
	    label	"Min Value"
	    type	vector4
	    size	4
	    default	{ "0" "0" "0" "0" }
	    disablewhen	"{ distribution != uniformdiscrete }"
	    hidewhen	"{ distribution != uniformdiscrete }"
	    range	{ 0 100 }
	    parmtag	{ "autoscope" "0000000000000000" }
	    parmtag	{ "script_callback" "" }
	}
	parm {
	    name	"maxdiscrete"
	    label	"Max Value"
	    type	vector4
	    size	4
	    default	{ "9" "9" "9" "9" }
	    disablewhen	"{ distribution != uniformdiscrete }"
	    hidewhen	"{ distribution != uniformdiscrete }"
	    range	{ 0 100 }
	    parmtag	{ "autoscope" "0000000000000000" }
	    parmtag	{ "script_callback" "" }
	}
	parm {
	    name	"stepsize"
	    label	"Step Size"
	    type	vector4
	    size	4
	    default	{ "1" "1" "1" "1" }
	    disablewhen	"{ distribution != uniformdiscrete }"
	    hidewhen	"{ distribution != uniformdiscrete }"
	    range	{ -1 1 }
	}
	parm {
	    name	"median"
	    label	"Middle Value"
	    type	vector4
	    size	4
	    default	{ "0" "0" "0" "0" }
	    disablewhen	"{ distribution != normal distribution != cauchy }"
	    hidewhen	"{ distribution != normal distribution != cauchy }"
	    range	{ -10 10 }
	    parmtag	{ "autoscope" "0000000000000000" }
	    parmtag	{ "script_callback" "" }
	}
	parm {
	    name	"onesidedmedian"
	    label	"Middle Value"
	    type	vector4
	    size	4
	    default	{ "1" "1" "1" "1" }
	    disablewhen	"{ distribution != lognormal distribution != exponential }"
	    hidewhen	"{ distribution != lognormal distribution != exponential }"
	    range	{ -1 1 }
	}
	parm {
	    name	"medianattrib"
	    label	"Middle Value Attribute"
	    type	string
	    default	{ "" }
	    disablewhen	"{ visualize == on } { distribution != normal distribution != cauchy distribution != lognormal distribution != exponential }"
	    hidewhen	"{ distribution != normal distribution != cauchy distribution != lognormal distribution != exponential }"
	    range	{ 0 1 }
	    parmtag	{ "autoscope" "0000000000000000" }
	    parmtag	{ "script_callback" "" }
	}
	parm {
	    name	"stddev"
	    label	"Scale Around Middle"
	    type	vector4
	    size	4
	    default	{ "1" "1" "1" "1" }
	    disablewhen	"{ distribution != normal distribution != cauchy }"
	    hidewhen	"{ distribution != normal distribution != cauchy }"
	    range	{ -1 1 }
	    parmtag	{ "autoscope" "0000000000000000" }
	    parmtag	{ "script_callback" "" }
	}
	parm {
	    name	"onesidedstddev"
	    label	"Spread Around Middle"
	    type	vector4
	    size	4
	    default	{ "0.2" "0.2" "0.2" "0.2" }
	    disablewhen	"{ distribution != lognormal }"
	    hidewhen	"{ distribution != lognormal }"
	    range	{ -1 1 }
	}
	parm {
	    name	"usefit0to"
	    label	"Use Fit Value 0 To"
	    type	toggle
	    nolabel
	    joinnext
	    default	{ "off" }
	    disablewhen	"{ distribution != ramp }"
	    hidewhen	"{ distribution != ramp }"
	    range	{ 0 1 }
	}
	parm {
	    name	"fit0to"
	    label	"Fit Value 0 To"
	    type	float
	    default	{ "0" }
	    disablewhen	"{ distribution != ramp } { usefit0to != on }"
	    hidewhen	"{ distribution != ramp }"
	    range	{ -2 2 }
	}
	parm {
	    name	"usefit1to"
	    label	"Use Fit Value 1 To"
	    type	toggle
	    nolabel
	    joinnext
	    default	{ "off" }
	    disablewhen	"{ distribution != ramp }"
	    hidewhen	"{ distribution != ramp }"
	    range	{ 0 1 }
	}
	parm {
	    name	"fit1to"
	    label	"Fit Value 1 To"
	    type	float
	    default	{ "1" }
	    disablewhen	"{ distribution != ramp } { usefit1to != on }"
	    hidewhen	"{ distribution != ramp }"
	    range	{ -2 2 }
	}
	parm {
	    name	"ramp"
	    label	"Custom Ramp"
	    type	ramp_flt
	    default	{ "3" }
	    disablewhen	"{ distribution != ramp }"
	    hidewhen	"{ distribution != ramp }"
	    range	{ 1! 10 }
	    parmtag	{ "autoscope" "0000000000000000" }
	    parmtag	{ "rampbasisdefault" "monotonecubic" }
	    parmtag	{ "rampfloatdefault" "1pos ( 0 ) 1value ( 0 ) 1interp ( monotonecubic ) 2pos ( 0.5 ) 2value ( 0.5 ) 2interp ( monotonecubic ) 3pos ( 1 ) 3value ( 1 ) 3interp ( monotonecubic )" }
	    parmtag	{ "script_callback" "" }
	}
	parm {
	    name	"useminlimit"
	    label	"Use Min Limit"
	    type	toggle
	    nolabel
	    joinnext
	    default	{ "off" }
	    disablewhen	"{ distribution != normal distribution != cauchy }"
	    hidewhen	"{ distribution != normal distribution != cauchy }"
	    range	{ 0 1 }
	}
	parm {
	    name	"minlimit"
	    label	"Min Limit"
	    type	vector4
	    size	4
	    default	{ "-100" "-100" "-100" "-100" }
	    disablewhen	"{ distribution != normal distribution != cauchy } { useminlimit == off }"
	    hidewhen	"{ distribution != normal distribution != cauchy }"
	    range	{ -1 1 }
	}
	parm {
	    name	"useonesidedmin"
	    label	"Use Min Limit"
	    type	toggle
	    nolabel
	    joinnext
	    default	{ "off" }
	    disablewhen	"{ distribution != exponential distribution != lognormal }"
	    hidewhen	"{ distribution != exponential distribution != lognormal }"
	    range	{ 0 1 }
	}
	parm {
	    name	"onesidedmin"
	    label	"Min Limit"
	    type	vector4
	    size	4
	    default	{ "0.1" "0.1" "0.1" "0.1" }
	    disablewhen	"{ distribution != exponential distribution != lognormal } { useonesidedmin != on }"
	    hidewhen	"{ distribution != exponential distribution != lognormal }"
	    range	{ -1 1 }
	}
	parm {
	    name	"usemaxlimit"
	    label	"Use Max Limit"
	    type	toggle
	    nolabel
	    joinnext
	    default	{ "off" }
	    disablewhen	"{ distribution != normal distribution != cauchy distribution != exponential distribution != lognormal }"
	    hidewhen	"{ distribution != normal distribution != cauchy distribution != exponential distribution != lognormal }"
	    range	{ 0 1 }
	}
	parm {
	    name	"maxlimit"
	    label	"Max Limit"
	    type	vector4
	    size	4
	    default	{ "100" "100" "100" "100" }
	    disablewhen	"{ distribution != normal distribution != cauchy distribution != exponential distribution != lognormal } { usemaxlimit == off }"
	    hidewhen	"{ distribution != normal distribution != cauchy distribution != exponential distribution != lognormal }"
	    range	{ -1 1 }
	}
	parm {
	    name	"useconeangle"
	    label	"Use Cone Angle"
	    type	toggle
	    nolabel
	    joinnext
	    default	{ "off" }
	    disablewhen	"{ distribution != uniformorient distribution != uniformball }"
	    hidewhen	"{ distribution != uniformorient distribution != uniformball }"
	    range	{ 0 1 }
	}
	parm {
	    name	"coneangle"
	    label	"Cone Angle"
	    type	float
	    default	{ "30" }
	    disablewhen	"{ distribution != uniformorient distribution != uniformball } { useconeangle == off }"
	    hidewhen	"{ distribution != uniformorient distribution != uniformball }"
	    range	{ 0! 180 }
	}
	parm {
	    name	"usepowerbias"
	    label	"Use Bias Toward Direction"
	    type	toggle
	    nolabel
	    joinnext
	    default	{ "off" }
	    disablewhen	"{ distribution != uniformorient distribution != uniformball }"
	    hidewhen	"{ distribution != uniformorient distribution != uniformball }"
	    range	{ 0 1 }
	}
	parm {
	    name	"powerbias"
	    label	"Bias Toward Direction"
	    type	float
	    default	{ "0" }
	    disablewhen	"{ distribution != uniformorient distribution != uniformball } { usepowerbias == off }"
	    hidewhen	"{ distribution != uniformorient distribution != uniformball }"
	    range	{ -1! 20 }
	    parmtag	{ "script_action" "" }
	}
	parm {
	    name	"direction"
	    label	"Direction"
	    type	vector4
	    size	4
	    default	{ "1" "0" "0" "0" }
	    disablewhen	"{ distribution != uniformorient distribution != uniformball } { useconeangle == off usepowerbias == off }"
	    hidewhen	"{ distribution != uniformorient distribution != uniformball }"
	    range	{ -1 1 }
	    parmtag	{ "script_action" "" }
	}
	parm {
	    name	"directionattrib"
	    label	"Direction Attribute"
	    type	string
	    default	{ "" }
	    disablewhen	"{ distribution != uniformorient distribution != uniformball } { useconeangle == off usepowerbias == off }"
	    hidewhen	"{ distribution != uniformorient distribution != uniformball }"
	    range	{ 0 1 }
	}
	group {
	    name	"folder"
	    label	"Specific Values"
	    hidewhentab	"{ distribution != discrete }"
	    hidewhen	"{ distribution != discrete }"

	    parm {
		name	"valuetype"
		label	"Type"
		type	ordinal
		default	{ "0" }
		menu	{
		    "float"	"Float"
		    "string"	"String"
		}
	    }
	    multiparm {
		name	"values"
		label	"Number of Values"
		default	4
		parmtag	{ "multistartoffset" "0" }

		parm {
		    name	"strvalue#"
		    label	"Value #"
		    type	string
		    joinnext
		    default	{ "" }
		    hidewhen	"{ valuetype == float }"
		    range	{ 0 10 }
		}
		parm {
		    name	"value#"
		    label	"Value #"
		    type	float
		    joinnext
		    default	{ "0" }
		    hidewhen	"{ valuetype == string }"
		    range	{ 0 10 }
		}
		parm {
		    name	"weight#"
		    label	"Weight"
		    type	float
		    default	{ "1" }
		    range	{ 0! 2 }
		}
	    }

	}

	parm {
	    name	"normalize"
	    label	"Normalize"
	    type	toggle
	    default	{ "off" }
	    disablewhen	"{ distribution == uniformorient } { distribution == uniformball } { distribution == uniformdiscrete } { distribution == discrete }"
	    hidewhen	"{ distribution == uniformorient } { distribution == uniformball } { distribution == uniformdiscrete } { distribution == discrete }"
	    range	{ 0 1 }
	    parmtag	{ "autoscope" "0000000000000000" }
	    parmtag	{ "script_callback" "" }
	}
    }

    group {
	name	"folder0_1"
	label	"Options"

	parm {
	    name	"visualize"
	    label	"Visualize as Points"
	    type	toggle
	    nolabel
	    joinnext
	    default	{ "off" }
	    range	{ 0 1 }
	    parmtag	{ "autoscope" "0000000000000000" }
	    parmtag	{ "script_callback" "" }
	}
	parm {
	    name	"nvisualizepts"
	    label	"Visualize as Points"
	    type	intlog
	    default	{ "10000" }
	    range	{ 0! 100000 }
	    parmtag	{ "autoscope" "0000000000000000" }
	    parmtag	{ "script_callback" "" }
	}
	parm {
	    name	"usefractionattrib"
	    label	"Use Fraction Attribute"
	    type	toggle
	    nolabel
	    joinnext
	    default	{ "off" }
	    disablewhen	"{ visualize == on } { distribution == constant }"
	    range	{ 0 1 }
	}
	parm {
	    name	"fractionattrib"
	    label	"Fraction Attribute"
	    type	string
	    default	{ "fraction" }
	    disablewhen	"{ visualize == on } { distribution == constant } { usefractionattrib == off }"
	    range	{ 0 1 }
	}
	parm {
	    name	"seed"
	    label	"Global Seed"
	    type	float
	    default	{ "0" }
	    disablewhen	"{ distribution == constant } { usefractionattrib == on }"
	    range	{ 0 10 }
	    parmtag	{ "autoscope" "0000000000000000" }
	    parmtag	{ "script_callback" "" }
	}
	parm {
	    name	"useseedattrib"
	    label	"Use Seed Attribute"
	    type	toggle
	    nolabel
	    joinnext
	    default	{ "off" }
	    disablewhen	"{ visualize == on } { distribution == constant }"
	    range	{ 0 1 }
	    parmtag	{ "autoscope" "0000000000000000" }
	    parmtag	{ "script_callback" "" }
	}
	parm {
	    name	"seedattrib"
	    label	"Seed Attribute"
	    type	string
	    default	{ "id" }
	    disablewhen	"{ visualize == on } { distribution == constant } { usefractionattrib == on } { useseedattrib == off }"
	    range	{ 0 1 }
	    parmtag	{ "autoscope" "0000000000000000" }
	    parmtag	{ "script_callback" "" }
	}
    }

}
INDX              Contents       W[,5   DialogScript   W  WY0707070000010000000006660000000000000000010000001331301646500001300000000000TRAILER!!! # Dialog script for attribwrangle automatically generated 06/09/16 15:22:24

{
    name	attribwrangle
    script	attribwrangle
    label	"Attribute Wrangle"

    help {
	""
    }

    inputlabel	1	"Geometry to Process with Wrangle"
    inputlabel	2	"Ancillary Input, point(1, ...) to Access"
    inputlabel	3	"Ancillary Input, point(2, ...) to Access"
    inputlabel	4	"Ancillary Input, point(3, ...) to Access"

    group {
	name	"folder0"
	label	"Code"

	parm {
	    name	"group"
	    label	"Group"
	    type	string
	    default	{ "" }
	    menutoggle	{
		[ "opmenu -l attribvop1 bindgroup" ]
	    }
	    range	{ 0 1 }
	    parmtag	{ "autoscope" "0000000000000000" }
	    parmtag	{ "script_action" "import soputils\nkwargs['geometrytype'] = kwargs['node'].parmTuple('grouptype')\nkwargs['inputindex'] = 0\nsoputils.selectGroupParm(kwargs)" }
	    parmtag	{ "script_action_help" "Select geometry from an available viewport." }
	    parmtag	{ "script_action_icon" "BUTTONS_reselect" }
	    bindselector points "Modify Points"
	        "Select the points to affect and press Enter to complete."
	        0 1 0xffffffff 0 grouptype 0
	}
	parm {
	    name	"grouptype"
	    label	"Group Type"
	    type	ordinal
	    default	{ "guess" }
	    menu	{
		"guess"	"Guess from Group"
		"vertices"	"Vertices"
		"edges"	"Edges"
		"points"	"Points"
		"prims"	"Primitives"
	    }
	    range	{ 0 1 }
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"class"
	    label	"Run Over"
	    type	ordinal
	    default	{ "point" }
	    menu	{
		"detail"	"Detail (only once)"
		"primitive"	"Primitives"
		"point"	"Points"
		"vertex"	"Vertices"
		"number"	"Numbers"
	    }
	    range	{ 0 1 }
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"vex_numcount"
	    label	"Number Count"
	    type	integer
	    default	{ "10" }
	    hidewhen	"{ class != number }"
	    range	{ 0! 10000 }
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"vex_threadjobsize"
	    label	"Thread Job Size"
	    type	integer
	    default	{ "1024" }
	    hidewhen	"{ class != number }"
	    range	{ 1! 10000 }
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"snippet"
	    label	"VEXpression"
	    type	string
	    default	{ "" }
	    menureplace	{
		[ "import vexpressionmenu" ]
		[ "" ]
		[ "return vexpressionmenu.buildSnippetMenu('attribwrangle/snippet')" ]
		language	python
	    }
	    range	{ 0 1 }
	    export	all
	    parmtag	{ "autoscope" "0000000000000000" }
	    parmtag	{ "editor" "1" }
	    parmtag	{ "editorlang" "VEX" }
	    parmtag	{ "editorlines" "8-30" }
	    parmtag	{ "script_action" "import vexpressionmenu\n\nnode = kwargs['node']\nparmname = 'snippet'\n\nvexpressionmenu.createSpareParmsFromChCalls(node, parmname)" }
	    parmtag	{ "script_action_help" "Creates spare parameters for each unique call of ch() " }
	    parmtag	{ "script_action_icon" "BUTTONS_create_parm_from_ch" }
	}
	parm {
	    name	"exportlist"
	    label	"Attributes to Create"
	    type	string
	    default	{ "*" }
	    range	{ 0 1 }
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"vex_strict"
	    label	"Enforce Prototypes"
	    type	toggle
	    default	{ "off" }
	    range	{ 0 1 }
	    parmtag	{ "autoscope" "0000000000000000" }
	    parmtag	{ "script_callback" "" }
	}
    }

    group {
	name	"folder0_1"
	label	"Bindings"

	parm {
	    name	"autobind"
	    label	"Autobind by Name"
	    type	toggle
	    default	{ "on" }
	    range	{ 0 1 }
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	multiparm {
	    name	"bindings"
	    label	"Number of Bindings"
	    default	0
	    parmtag	{ "autoscope" "0000000000000000" }
	    parmtag	{ "multistartoffset" "1" }

	    parm {
		name	"bindname#"
		label	"Attribute Name"
		type	string
		default	{ "" }
		range	{ 0 1 }
	    }
	    parm {
		name	"bindparm#"
		label	"VEX Parameter"
		type	string
		default	{ "" }
		range	{ 0 1 }
	    }
	}

	parm {
	    name	"groupautobind"
	    label	"Autobind Groups by Name"
	    type	toggle
	    default	{ "on" }
	    range	{ 0 1 }
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	multiparm {
	    name	"groupbindings"
	    label	"Group Bindings"
	    default	0
	    parmtag	{ "autoscope" "0000000000000000" }
	    parmtag	{ "multistartoffset" "1" }

	    parm {
		name	"bindgroupname#"
		label	"Group Name"
		type	string
		default	{ "" }
		range	{ 0 1 }
	    }
	    parm {
		name	"bindgroupparm#"
		label	"VEX Parameter"
		type	string
		default	{ "" }
		range	{ 0 1 }
	    }
	}

	parm {
	    name	"vex_cwdpath"
	    label	"Evaluation Node Path"
	    type	oppath
	    default	{ "." }
	    range	{ 0 1 }
	    parmtag	{ "autoscope" "0000000000000000" }
	    parmtag	{ "oprelative" "." }
	}
	parm {
	    name	"vex_outputmask"
	    label	"Export Parameters"
	    type	string
	    default	{ "*" }
	    range	{ 0 1 }
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"vex_updatenmls"
	    label	"Update Normals If Displaced"
	    type	toggle
	    default	{ "off" }
	    range	{ 0 1 }
	    parmtag	{ "autoscope" "0000000000000000" }
	    parmtag	{ "script_callback" "" }
	}
	parm {
	    name	"vex_matchattrib"
	    label	"Attribute to Match"
	    type	string
	    default	{ "id" }
	    range	{ 0 1 }
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"vex_inplace"
	    label	"Compute Results In Place"
	    type	toggle
	    default	{ "off" }
	    range	{ 0 1 }
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"vex_selectiongroup"
	    label	"Output Selection Group"
	    type	string
	    default	{ "" }
	    parmtag	{ "autoscope" "0000000000000000" }
	}
    }

}
INDX              DialogScript      Z Vi/*
 * PROPRIETARY INFORMATION.  This software is proprietary to
 * Side Effects Software Inc., and is not to be reproduced,
 * transmitted, or disclosed in any way without written permission.
 *
 * Produced by:
 * Side Effects Software Inc
 * 477 Richmond Street West
 * Toronto, Ontario
 * Canada   M5V 3E7
 * 416-504-9876
 *
 */

#include <parameter.ds>

{
    name    "bias"
    script  "bias"
    label   "bias"


    outercode {
    INCLUDE_VOPLIB
    }

    code { R"code(
#if !strcmp($signature, "v4")
   float $cr = vop_bias($val.x, $amount.x);
   float $cg = vop_bias($val.y, $amount.y);
   float $cb = vop_bias($val.z, $amount.z);
   float $ca = vop_bias($val.w, $amount.w);
   $bias = set($cr, $cg, $cb, $ca);

#elif (!strcmp($signature, "v") || !strcmp($signature, "c"))
   float $cr = vop_bias($val.x, $amount.x);
   float $cg = vop_bias($val.y, $amount.y);
   float $cb = vop_bias($val.z, $amount.z);
   $bias = set($cr, $cg, $cb);

#elif (!strcmp($signature, "u"))
   float $cr = vop_bias($val.x, $amount.x);
   float $cg = vop_bias($val.y, $amount.y);
   $bias = set($cr, $cg);

#else
   $bias = vop_bias($val, $amount);
#endif
)code" }

    input  float   val       "Input"
    input  float   amount    "Bias"
    output float   bias      "Result"
    
    signature   "Float"  	default	{ float float float }
    signature	"2D Vector"	u	{ vector2 vector2 vector2 }
    signature   "3D Vector"  	v   	{ vector  vector  vector  }
    signature   "4D Vector"  	v4  	{ vector4 vector4 vector4 }
    signature   "RGB Color"  	c   	{ color   color   color   }

    VOP_FLT_PARM(val,       "Value", 1)
    VOP_FLT_PARM(amount,    "Bias",  0.5)

    VOP_VEC2_PARM(val_u,     "Value", 1, 1)
    VOP_VEC2_PARM(amount_u,  "Bias", 0.5, 0.5)

    VOP_CLR_PARM(val_c,     "Value", 1, 1, 1)
    VOP_VEC_PARM(amount_c,  "Bias", 0.5, 0.5, 0.5)

    VOP_VEC_PARM(val_v,     "Value", 1, 1, 1)
    VOP_VEC_PARM(amount_v,  "Bias", 0.5, 0.5, 0.5)

    VOP_VEC4_PARM(val_v4,   "Value", 1, 1, 1, 1)
    VOP_VEC4_PARM(amount_v4,"Bias", 0.5, 0.5, 0.5, 0.5)
}
INDX              DialogScript      	Z Vi/*
 * PROPRIETARY INFORMATION.  This software is proprietary to
 * Side Effects Software Inc., and is not to be reproduced,
 * transmitted, or disclosed in any way without written permission.
 *
 * Produced by:
 *	Side Effects Software Inc
 *	477 Richmond Street West
 *	Toronto, Ontario
 *	Canada   M5V 3E7
 *	416-504-9876
 *
 */

#include <parameter.ds>

{
    name	"clamp"
    script	"clamp"
    label	"clamp"


    code {
	"$clamp = clamp($val, $min, $max);"
    }

    input	float	val	"Input Value"
    input	float	min	"Minimum Value"
    input	float	max	"Maximum Value"
    output	float	clamp	"Clamped Value"

    signature	"Float"			default	{ }
    signature	"Integer"		i  { int int int int }
    signature	"2D Vector"		u  { vector2 vector2 vector2 vector2 }
    signature	"3D Vector"		v  { vector vector vector vector }
    signature	"3D Point"		p  { point point point point }
    signature	"3D Normal"		n  { normal normal normal normal }
    signature	"RGB Color"		c  { color color color color }
    signature	"4D Vector"		v4 { vector4 vector4 vector4 vector4 }
    
    signature	"Uniform Float"		uf { ufloat ufloat ufloat ufloat }
    signature	"Uniform 3D Vector"	uv { uvector uvector uvector uvector }
    signature	"Uniform 3D Point"	up { upoint upoint upoint upoint }
    signature	"Uniform 3D Normal"	un { unormal unormal unormal unormal }
    signature	"Uniform RGB Color"	uc { ucolor ucolor ucolor ucolor }

    VOP_FLT_PARM(min, "Min", 0)
    VOP_FLT_PARM(max, "Max", 1)
    VOP_INT_PARM(min_i, "Min", 0)
    VOP_INT_PARM(max_i, "Max", 1)
    VOP_VEC2_PARM(min_u, "Min", 0, 0)
    VOP_VEC2_PARM(max_u, "Max", 1, 1)
    VOP_VEC_PARM(min_v, "Min", 0, 0, 0)
    VOP_VEC_PARM(max_v, "Max", 1, 1, 1)
    VOP_VEC_PARM(min_p, "Min", 0, 0, 0)
    VOP_VEC_PARM(max_p, "Max", 1, 1, 1)
    VOP_VEC_PARM(min_n, "Min", 0, 0, 0)
    VOP_VEC_PARM(max_n, "Max", 1, 1, 1)
    VOP_CLR_PARM(min_c, "Min", 0, 0, 0)
    VOP_CLR_PARM(max_c, "Max", 1, 1, 1)
    VOP_CLR4_PARM(min_v4, "Min", 0, 0, 0, 0)
    VOP_CLR4_PARM(max_v4, "Max", 1, 1, 1, 1)
    VOP_FLT_PARM(min_uf, "Min", 0)
    VOP_FLT_PARM(max_uf, "Max", 1)
    VOP_VEC_PARM(min_uv, "Min", 0, 0, 0)
    VOP_VEC_PARM(max_uv, "Max", 1, 1, 1)
    VOP_VEC_PARM(min_up, "Min", 0, 0, 0)
    VOP_VEC_PARM(max_up, "Max", 1, 1, 1)
    VOP_VEC_PARM(min_un, "Min", 0, 0, 0)
    VOP_VEC_PARM(max_un, "Max", 1, 1, 1)
    VOP_CLR_PARM(min_uc, "Min", 0, 0, 0)
    VOP_CLR_PARM(max_uc, "Max", 1, 1, 1)

    group { name "gs" obsolete 12.0 }
    group { name "gv" obsolete 12.0 }
    group { name "gu" obsolete 12.0 }
}
INDX              Contents       W[,5   DialogScript   W  	
Si3c0707070000010000000006660000000000000000010000001331301646500001300000000000TRAILER!!! # Dialog script for clean automatically generated 05/06/14 15:09:23

{
    name	clean
    script	clean
    label	Clean

    help {
	""
    }

    inputlabel	1	"Geometry to Clean"

    parm {
	name	"fusepts"
	label	"Consolidate Points"
	type	toggle
	default	{ "0" }
	range	{ 0 1 }
	export	all
    }
    parm {
	name	"deldegengeo"
	label	"Remove Degenerate Primitives"
	type	toggle
	default	{ "1" }
	range	{ 0 1 }
	export	all
    }
    parm {
	name	"orientpoly"
	label	"Orient Polygons"
	type	toggle
	default	{ "0" }
	range	{ 0 1 }
	export	all
    }
    parm {
	name	"reversewinding"
	label	"Reverse Winding"
	type	toggle
	default	{ "0" }
	range	{ 0 1 }
	export	none
    }
    parm {
	name	"fixoverlap"
	label	"Fix Overlaps"
	type	toggle
	default	{ "0" }
	range	{ 0 1 }
	export	none
    }
    parm {
	name	"deleteoverlap"
	label	"Delete Overlap Pairs"
	type	toggle
	default	{ "1" }
	disablewhen	"{ fixoverlap == 0 }"
	range	{ 0 1 }
	export	none
    }
    parm {
	name	"delunusedpts"
	label	"Remove Unused Points"
	type	toggle
	default	{ "1" }
	range	{ 0 1 }
	export	all
    }
    parm {
	name	"dodelattribs"
	label	"Remove Attributes"
	type	toggle
	nolabel
	joinnext
	default	{ "0" }
	range	{ 0 1 }
	export	none
    }
    parm {
	name	"delattribs"
	label	"Remove Attribs"
	type	string
	default	{ "*" }
	disablewhen	"{ dodelattribs == 0 }"
	range	{ 0 1 }
	export	none
    }
    parm {
	name	"dodelgroups"
	label	"Remove Groups"
	type	toggle
	nolabel
	joinnext
	default	{ "0" }
	range	{ 0 1 }
	export	none
    }
    parm {
	name	"delgroups"
	label	"Remove Groups"
	type	string
	default	{ "*" }
	disablewhen	"{ dodelgroups == 0 }"
	range	{ 0 1 }
	export	none
    }
    parm {
	name	"delnans"
	label	"Remove NANs"
	type	toggle
	default	{ "1" }
	range	{ 0 1 }
	export	none
    }
    parm {
	name	"make_manifold"
	label	"Manifold-Only Topology"
	type	toggle
	default	{ "0" }
	range	{ 0 1 }
	export	none
    }
    parm {
	name	"delete_small"
	label	"Delete Small Manifold Patches"
	type	toggle
	default	{ "1" }
	hidewhen	"{ make_manifold == 0 }"
	range	{ 0 1 }
	export	none
	parmtag	{ "autoscope" "1000000000000000" }
    }
    parm {
	name	"prim_count"
	label	"Primitive Threshold"
	type	integer
	default	{ "3" }
	disablewhen	"{ delete_small == 0 }"
	hidewhen	"{ make_manifold == 0 }"
	range	{ 0 10 }
	export	none
    }
}
INDX              Contents       W[,5   DialogScript   W  WG0707070000010000000006660000000000000000010000001331301646500001300000000000TRAILER!!! # Dialog script for clusterpoints automatically generated 05/26/16 10:58:22

{
    name	clusterpoints
    script	clusterpoints
    label	"Cluster Points"

    help {
	""
    }

    inputlabel	1	"Points To Cluster"
    inputlabel	2	"Rest Position"
    inputlabel	3	"Sub-Network Input #3"
    inputlabel	4	"Sub-Network Input #4"

    parm {
	name	"attrib_name"
	label	"Output Attribute"
	type	string
	joinnext
	default	{ "cluster" }
	range	{ 0 1 }
	parmtag	{ "autoscope" "0000000000000000" }
    }
    parm {
	name	"cluster_output"
	label	"Output"
	type	ordinal
	joinnext
	default	{ "0" }
	menu	{
	    "clusterpoints"	"Cluster Points "
	    "averagepoints"	"Average Points"
	    "both"	"Both"
	    "boxes"	"Boxes"
	}
	range	{ 0 1 }
    }
    parm {
	name	"color_output"
	label	"Color Output"
	type	ordinal
	nolabel
	default	{ "color" }
	menu	{
	    "off"	"Points"
	    "on"	"Colored Particles"
	    "color"	"Colored Points"
	}
	range	{ 0 1 }
    }
    parm {
	name	"cluster_filter"
	label	"Cluster Filter"
	type	string
	default	{ "*" }
	range	{ 0 1 }
    }
    multiparm {
	name	"num_controls"
	label	"Control Attributes"
	default	1
	parmtag	{ "autoscope" "0000000000000000" }
	parmtag	{ "multistartoffset" "1" }

	parm {
	    name	"control_attrib#"
	    label	"Control Attribute #"
	    type	string
	    joinnext
	    default	{ "P" }
	    range	{ 0 1 }
	}
	parm {
	    name	"control_weight#"
	    label	"Weight #"
	    type	float
	    default	{ "1" }
	    range	{ 0! 10 }
	}
    }

    group {
	name	"folder0"
	label	"Cluster Settings"

	parm {
	    name	"buildclusters"
	    label	"Build Clusters"
	    type	toggle
	    default	{ "1" }
	    range	{ 0 1 }
	}
	parm {
	    name	"num_clusters"
	    label	"Clusters"
	    type	integer
	    default	{ "10" }
	    disablewhen	"{ buildclusters == 0 }"
	    range	{ 1! 100 }
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"random_seed"
	    label	"Seed"
	    type	integer
	    default	{ "0" }
	    disablewhen	"{ buildclusters == 0 }"
	    range	{ 0 100 }
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"iterations"
	    label	"Refinement Iterations"
	    type	integer
	    default	{ "50" }
	    disablewhen	"{ buildclusters == 0 }"
	    range	{ 0 100 }
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"threshold_attrib"
	    label	"Threshold Attribute"
	    type	string
	    joinnext
	    default	{ "" }
	    disablewhen	"{ buildclusters == 0 }"
	    range	{ 0 1 }
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"threshold_weight"
	    label	"Weight"
	    type	float
	    default	{ "1" }
	    disablewhen	"{ threshold_attrib == \"\" } { buildclusters == 0 }"
	    range	{ 0! 10 }
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"initial_time_thresh"
	    label	"Initial Threshold"
	    type	float
	    default	{ "1" }
	    disablewhen	"{ threshold_attrib == \"\" } { buildclusters == 0 }"
	    range	{ 0 10 }
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"time_thresh"
	    label	"Goal Threshold"
	    type	float
	    default	{ "0.25" }
	    disablewhen	"{ threshold_attrib == \"\" } { buildclusters == 0 }"
	    range	{ 0 10 }
	    parmtag	{ "autoscope" "0000000000000000" }
	}
    }

    group {
	name	"folder0_1"
	label	"Averaging Settings"

	parm {
	    name	"keep_attributes"
	    label	"Copy Point Attributes From Cluster"
	    type	toggle
	    default	{ "off" }
	    disablewhen	"{ output_average_points == 0 }"
	    range	{ 0 1 }
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"maxsamplecount"
	    label	"Max Sample Count"
	    type	integer
	    default	{ "1" }
	    disablewhen	"{ keep_attributes == 0 }"
	    range	{ 1! 10 }
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"size_attribute"
	    label	"Size Attribute Name"
	    type	string
	    default	{ "scale" }
	    disablewhen	"{ output_average_points == 0 }"
	    range	{ 0 1 }
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"size_padding"
	    label	"Padding Min"
	    type	vector
	    size	3
	    default	{ "0.1" "0.1" "0.1" }
	    disablewhen	"{ output_average_points == 0 }"
	    range	{ -1 1 }
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"size_padding2"
	    label	"Padding Max"
	    type	vector
	    size	3
	    default	{ "0.1" "0.1" "0.1" }
	    disablewhen	"{ output_average_points == 0 }"
	    range	{ -1 1 }
	    parmtag	{ "autoscope" "0000000000000000" }
	}
    }

}
INDX              Contents       W[,5   DialogScript   W  &WM\0707070000010000000006660000000000000000010000001331301646500001300000000000TRAILER!!! # Dialog script for color automatically generated 05/31/16 11:42:43

{
    name	color
    script	color
    label	Color

    help {
	""
    }

    inputlabel	1	"Geometry to Color"
    inputlabel	2	"Sub-Network Input #2"
    inputlabel	3	"Sub-Network Input #3"
    inputlabel	4	"Sub-Network Input #4"

    parm {
	name	"group"
	label	"Group"
	type	string
	default	{ "" }
	menutoggle	{
	    [ "opmenu -l constant group" ]
	}
	range	{ 0 1 }
	parmtag	{ "autoscope" "0000000000000000" }
	parmtag	{ "script_action" "import soputils\nkwargs['geometrytype'] = kwargs['node'].parmTuple('grouptype')\nkwargs['inputindex'] = 0\nsoputils.selectGroupParm(kwargs)" }
	parmtag	{ "script_action_help" "Select geometry from an available viewport." }
	parmtag	{ "script_action_icon" "BUTTONS_reselect" }
	bindselector uveditselect "Assign Colors"
	    "Select the geometry to apply colors to and press Enter to complete"
	    0 1 all 0 grouptype 0
    }
    parm {
	name	"grouptype"
	label	"Group Type"
	type	ordinal
	default	{ "guess" }
	menu	{
	    "guess"	"Guess from Group"
	    "vertices"	"Vertices"
	    "edges"	"Edges"
	    "points"	"Points"
	    "prims"	"Primitives"
	}
	range	{ 0 1 }
	parmtag	{ "autoscope" "0000" }
    }
    parm {
	name	"deleteallcolorattribs"
	label	"Delete All Existing Color Attributes"
	type	toggle
	default	{ "0" }
    }
    parm {
	name	"class"
	label	"Class"
	type	integer
	default	{ "2" }
	menu	{
	    "detail"	"Detail"
	    "primitive"	"Primitive"
	    "point"	"Point"
	    "vertex"	"Vertex"
	}
	range	{ 0 10 }
	export	all
	parmtag	{ "autoscope" "0000" }
    }
    parm {
	name	"colortype"
	label	"Color Type"
	type	integer
	default	{ "0" }
	menu	{
	    "0"	"Constant"
	    "1"	"Bounding Box"
	    "2"	"Random"
	    "3"	"Ramp from Attribute"
	    "4"	"Random from Attribute"
	}
	range	{ 0 10 }
	export	all
	parmtag	{ "autoscope" "0000" }
    }
    parm {
	name	"color"
	label	"Color"
	type	color
	size	3
	default	{ "1" "1" "1" }
	hidewhen	"{ colortype != 0 }"
	range	{ 0 1 }
	export	all
	parmtag	{ "autoscope" "0000" }
    }
    parm {
	name	"seed"
	label	"Seed"
	type	float
	default	{ "0" }
	hidewhen	"{ colortype != 2 colortype != 4 }"
	range	{ 0 10 }
	parmtag	{ "autoscope" "0000" }
    }
    parm {
	name	"rampattribute"
	label	"Attribute"
	type	string
	default	{ "" }
	hidewhen	"{ colortype != 3 colortype != 4 }"
	range	{ 0 1 }
    }
    parm {
	name	"ramprange"
	label	"Range"
	type	float
	size	2
	default	{ "0" "1" }
	hidewhen	"{ colortype != 3 }"
	range	{ 0 10 }
    }
    parm {
	name	"ramp"
	label	"Attribute Ramp"
	type	ramp_rgb
	default	{ "2" }
	hidewhen	"{ colortype != 3 }"
	range	{ 1! 10 }
	parmtag	{ "autoscope" "0000000000000000" }
	parmtag	{ "parmvop" "1" }
	parmtag	{ "rampbasis_var" "vecramp_the_basis_strings" }
	parmtag	{ "rampbasisdefault" "linear" }
	parmtag	{ "rampcolordefault" "1pos ( 0 ) 1c ( 0 0 0 ) 1interp ( linear ) 2pos ( 1 ) 2c ( 1 1 1 ) 2interp ( linear )" }
	parmtag	{ "rampcolortype" "rgb" }
	parmtag	{ "rampkeys_var" "vecramp_the_key_positions" }
	parmtag	{ "rampshowcontrolsdefault" "0" }
	parmtag	{ "rampvalues_var" "vecramp_the_key_values" }
    }
}
INDX              DialogScript       Z Vi/*
 * PROPRIETARY INFORMATION.  This software is proprietary to
 * Side Effects Software Inc., and is not to be reproduced,
 * transmitted, or disclosed in any way without written permission.
 *
 * Produced by:
 *	Side Effects Software Inc
 *	477 Richmond Street West
 *	Toronto, Ontario
 *	Canada   M5V 3E7
 *	416-504-9876
 *
 */

#include <parameter.ds>

{
    name	"complement"
    script	"complement"
    label	"complement"

    code {
	"$complem = -$val;"
	"$complem += 1;"
    }

    input	float	val	"Input Value"
    output	float	complem	"Complement: 1 - Input Value"

    signature	"Float"			default	{ }
    signature	"Integer"		i	{ int int }
    signature	"2D Vector"		u	{ vector2 vector2 }
    signature	"3D Vector"		v	{ vector vector }
    signature	"3D Point"		p	{ point point }
    signature	"3D Normal"		n	{ normal normal }
    signature	"RGB Color"		c	{ color color }
    signature	"4D Vector"		v4	{ vector4 vector4 }

    signature	"Uniform Float"		uf	{ ufloat ufloat }
    signature	"Uniform 3D Vector"	uv	{ uvector uvector }
    signature	"Uniform 3D Point"	up	{ upoint upoint }
    signature	"Uniform 3D Normal"	un	{ unormal unormal }
    signature	"Uniform RGB Color"	uc	{ ucolor ucolor }

    VOP_FLT_PARM(val,   "Value", 1)
    VOP_INT_PARM(val_i, "Value", 1)
    VOP_VEC2_PARM(val_u, "Value", 1, 1)
    VOP_VEC_PARM(val_v, "Value", 1, 1, 1)
    VOP_VEC_PARM(val_p, "Value", 1, 1, 1)
    VOP_VEC_PARM(val_n, "Value", 1, 1, 1)
    VOP_CLR_PARM(val_c, "Value", 1, 1, 1)
    VOP_VEC4_PARM(val_v4,"Value", 1, 1, 1, 1)
    VOP_FLT_PARM(val_uf, "Value", 1)
    VOP_VEC_PARM(val_uv, "Value", 1, 1, 1)
    VOP_VEC_PARM(val_up, "Value", 1, 1, 1)
    VOP_VEC_PARM(val_un, "Value", 1, 1, 1)
    VOP_CLR_PARM(val_uc, "Value", 1, 1, 1)

    group { name "gv" obsolete 12.0 }
    group { name "gu" obsolete 12.0 }
}
INDX              Contents       W[,   DialogScript   W  T0707070000010000000006660000000000000000010000001331301640400001300000000000TRAILER!!! # Dialog script for computelighting automatically generated 01/23/15 10:56:51

{
    name	computelighting
    script	computelighting
    label	"Compute Lighting"

    input	bsdf	F	F
    input	vector	Of	"Surface Opacity"
    input	vector	Ce	Ce
    output	vector	Cf	Cf
    inputflags	F	0
    inputflags	Of	0
    inputflags	Ce	0
    signature	"Default Inputs"	default	{ bsdf vector vector vector }

    outputoverrides	default
    {
	___begin	auto
			(0,0,0)
    }

    help {
	""
    }

    parm {
	name	"Of"
	label	"Surface Opacity"
	type	float
	invisible
	size	3
	default	{ "1" "1" "1" }
	range	{ 0 10 }
	export	none
    }
    parm {
	name	"Ce"
	label	"Ce"
	type	float
	invisible
	size	3
	default	{ "0" "0" "0" }
	range	{ 0 10 }
	export	none
    }
}
INDX              Contents       W[,   DialogScript   W  DZ Ve0707070000010000000006660000000000000000010000001331301640400001300000000000TRAILER!!! # Dialog script for computetan automatically generated

{
    name	computetan
    script	computetan
    label	"Compute Tangents"

    outercode {
	"#include \"voplib.h\""
    }

    input	string	tstyle	"Tangent Style"
    input	vector	uv	Parameter
    input	vector	N	"Surface Normal"
    input	vector	utan	"U Tangent"
    input	vector	vtan	"V Tangent"
    input	float	angle	Angle
    output	vector	_utan	"U Tangent"
    output	vector	_vtan	"V Tangent"
    inputflags	tstyle	0
    inputflags	uv	0
    inputflags	N	0
    inputflags	utan	0
    inputflags	vtan	0
    inputflags	angle	0
    signature	"Default Inputs"	default	{ string vector vector vector vector float vector vector }

    outputoverrides	default
    {
	___begin	auto
			(0,0,0)
	___begin	auto
			(0,0,0)
    }

    help {
	""
    }

    parm {
	name	"tstyle"
	label	"Tangent Style"
	type	string
	default	{ "geo" }
	menu	{
	    "geo"	"Use Geometric Tangents"
	    "world"	"Intrinsic World Space"
	    "object"	"Intrinsic Object Space"
	    "uv"	"Compute From UV"
	    "inputs"	"Use Connected utan, vtan"
	}
	range	{ 0 1 }
    }
}
INDX              Contents       W[,   DialogScript   W  Z V]0707070000010000000006660000000000000000010000001331301703000001300000000000TRAILER!!! # Dialog script for connectadjacentpieces automatically generated

{
    name	connectadjacentpieces
    script	connectadjacentpieces
    label	"Connect Adjacent Pieces"

    help {
	""
    }

    inputlabel	1	Pieces

    parm {
	name	"connecttype"
	label	"Connection Type"
	type	ordinal
	default	{ "0" }
	menu	{
	    "points"	"Adjacent Pieces from Points"
	    "pieces"	"Adjacent Pieces from Surface Points"
	    "pointcloud"	"Adjacent Points"
	}
	range	{ 0 1 }
    }
    parm {
	name	"nptsperarea"
	label	"Points per Area"
	type	float
	default	{ "100" }
	hidewhen	"{ connecttype != pieces }"
	range	{ 0! 10 }
    }
    parm {
	name	"relaxpoints"
	label	"Relax Points"
	type	toggle
	nolabel
	joinnext
	default	{ "0" }
	hidewhen	"{ connecttype != pieces }"
	range	{ 0 1 }
	parmtag	{ "autoscope" "0000000000000000" }
    }
    parm {
	name	"relaxiterations"
	label	"Relax Iterations"
	type	integer
	default	{ "1" }
	disablewhen	"{ relaxpoints == 0 }"
	hidewhen	"{ connecttype != pieces }"
	range	{ 0! 100 }
	parmtag	{ "autoscope" "0000000000000000" }
    }
    parm {
	name	"uniformradius"
	label	"Assume Uniform Radius"
	type	toggle
	default	{ "1" }
	hidewhen	"{ connecttype != pointcloud }"
	range	{ 0 1 }
    }
    parm {
	name	"searchradius"
	label	"Search Radius"
	type	float
	default	{ "0.1" }
	range	{ 0! 10 }
    }
    parm {
	name	"maxsearchpoints"
	label	"Max Search Points"
	type	integer
	default	{ "100" }
	range	{ 0! 1000 }
    }
    parm {
	name	"maxconnections"
	label	"Max Connections"
	type	integer
	default	{ "1" }
	hidewhen	"{ connecttype == pointcloud }"
	range	{ 1! 5 }
    }
    parm {
	name	"distancefromcentroid"
	label	"Offset From Centroid"
	type	float
	default	{ "0" }
	hidewhen	"{ connecttype != pieces }"
	range	{ 0! 1! }
    }
    parm {
	name	"createlengthattrib"
	label	"Create Length Attribute"
	type	toggle
	nolabel
	joinnext
	default	{ "0" }
	range	{ 0 1 }
    }
    parm {
	name	"lengthattrib"
	label	"Length Attribute"
	type	string
	default	{ "restlength" }
	disablewhen	"{ createlengthattrib == 0 }"
	range	{ 0 1 }
    }
}
INDX              Contents       W[,   DialogScript   W  Z V`0707070000010000000006660000000000000000010000001331301640400001300000000000TRAILER!!! # Dialog script for conserveenergy automatically generated

{
    name	conserveenergy
    script	conserveenergy
    label	"Conserve Energy"

    code {
	""
    }

    input	bsdf	f	BSDF
    output	bsdf	_f	f
    output	float	scale	scale
    inputflags	f	0
    signature	"Default Inputs"	default	{ bsdf bsdf float }

    outputoverrides	default
    {
	___begin	auto
			(0)
	___begin	auto
			(0)
    }

    help {
	""
    }

}
INDX              DialogScript      Z Vi/*
 * PROPRIETARY INFORMATION.  This software is proprietary to
 * Side Effects Software Inc., and is not to be reproduced,
 * transmitted, or disclosed in any way without written permission.
 *
 * Produced by:
 *	Side Effects Software Inc
 *	477 Richmond Street West
 *	Toronto, Ontario
 *	Canada   M5V 3E7
 *	416-504-9876
 *
 */

#include <parameter.ds>

{
    name	"cross"
    script	"cross"
    label	"cross"

    outercode {
	INCLUDE_VOPLIB
    }

    code {
	"$crossprod = vop_cross($vec1, $vec2);"
    }

    output	vector	crossprod	"Cross Product"

    VOP_VEC_INPUT(vec1, "Vector 1", 1, 0, 0)
    VOP_VEC_INPUT(vec2, "Vector 2", 0, 1, 0)

    signature	"3D Vector"		default	{ }
    signature	"3D Vector/Normal"	vn	{ vector normal vector }
    signature	"3D Normal/Vector"	nv	{ normal vector vector }
    signature	"3D Normal/Normal"	nn	{ normal normal vector }

    signature	"Uniform 3D Vector"	   uv	{ uvector uvector uvector }
    signature	"Uniform 3D Vector/Normal" vn	{ uvector unormal uvector }
    signature	"Uniform 3D Normal/Vector" nv	{ unormal uvector uvector }
    signature	"Uniform 3D Normal/Normal" nn	{ unormal unormal uvector }
}
INDX              DialogScript      Z Vi/*
 * PROPRIETARY INFORMATION.  This software is proprietary to
 * Side Effects Software Inc., and is not to be reproduced,
 * transmitted, or disclosed in any way without written permission.
 *
 * Produced by:
 *      Side Effects Software Inc
 *      477 Richmond Street West
 *      Toronto, Ontario
 *      Canada   M5V 3E7
 *      416-504-9876
 *
 */

#include <parameter.ds>

{
    name	"curlnoise"
    script	"curlnoise"
    label	"curlnoise"

    outercode {
	"#include <voplib.h>"
    }

    code {
	"#if !strcmp($signature, \"default\")"
	"  $noise = vop_curlNoiseVV($pos, $freq, $offset, $normal, $type, $sdf, $turb, $bounce, $amp, $rough, $atten, $dist, $radius, $h);"
	"#else"
	"  $noise = vop_curlNoiseVP($pos, $freq, $offset, $normal, $type, $sdf, $turb, $bounce, $amp, $rough, $atten, $dist, $radius, $h);"
	"#endif"
    }
   
    input	string	type	"Noise Type"

    input	point	pos	"Position"
    input	vector	freq	"Frequency"
    input	point	offset	"Offset"
    input	float	amp	"Amplitude"
    input	float	rough	"Roughness"
    input	float	atten	"Attenuation"
    input	int	turb	"Turbulence"
    input	float	h	"Step Size"
    input	float	radius	"Surface Effect Radius"
    input	float	dist	"Distance to Surface"
    input	vector	normal	"Surface Normal"
    input	string	sdf	"Collision SDF"
    input	int	bounce	"Enable Bouncing"
    output	vector	noise	"Noise"

    signature	"3D Noise"	default	{ string point vector point float float float int float float float vector string int vector }
    signature	"4D Noise"	vp	{ string vector4 vector4 vector4 float float float int float float float vector string int vector }

    parm {
	name type
	label "Noise Type"
	type string
	menu	{
	    "pnoise"	"Perlin Noise"
	    "onoise"	"Original Perlin Noise"
	    "snoise"	"Sparse Convolution Noise"
	    "anoise"	"Alligator Noise"
	    "xnoise"	"Simplex Noise"
	    "exact_pnoise"	"Analytic Perlin Noise"
	    "exact_xnoise"	"Analytic Simplex Noise"
	}
	default { "pnoise" }
    }

    VOP_VEC_PARM	(pos,		"Position", 0, 0, 0)
    VOP_VEC4_PARM	(pos_vp,	"Position", 0, 0, 0, 0)

    VOP_VEC_PARM	(freq,		"Frequency", 1, 1, 1)
    VOP_VEC4_PARM	(freq_vp,	"Frequency", 1, 1, 1, 1)

    VOP_VEC_PARM	(offset,	"Offset", 0, 0, 0)
    VOP_VEC4_PARM	(offset_vp,	"Offset", 0, 0, 0, 0)

    VOP_FLT_PARM_R	(amp,		"Amplitude",	1, -1, 1)
    VOP_FLT_PARM	(rough,		"Roughness",	0.5)
    VOP_FLT_PARM	(atten,		"Attenuation",	1)
    VOP_INT_PARM_R	(turb,		"Turbulence",	3, 1, 12)

    parm {
	name	h
	label	"Step Size"
	size	1
	type	float
	default	{ 0.0001 }
	disablewhen "{ type == \"exact_pnoise\" } { type == \"exact_xnoise\" } "
    }

    parm {
	name	radius
	label	"Surface Effect Radius"
	size	1
	type	float
	default	{ 1 }
	range	{ 0 10 }
	disablewhen "{ type == \"exact_pnoise\" } { type == \"exact_xnoise\" } "
    }

    parm {
	name	dist
	label	"Distance to Surface"
	size	1
	type	float
	default	{ 1 }
	disablewhen "{ type == \"exact_pnoise\" } { type == \"exact_xnoise\" } "
    }

    parm {
	name	normal
	label	"Surface Normal"
	size	3
	type	float
	default	{ 0 0 0 }
	disablewhen "{ type == \"exact_pnoise\" } { type == \"exact_xnoise\" } "
    }

    parm {
	name	sdf
	label	"Collision SDF"
	size	1
	type	string
	default	{ "" }
	disablewhen "{ type == \"exact_pnoise\" } { type == \"exact_xnoise\" } "
    }

    parm {
	name	bounce
	label	"Enable Bouncing SDF"
	size	1
	type	toggle
	default	{ 0 }
	disablewhen "{ type == \"exact_pnoise\" } { type == \"exact_xnoise\" } "
    }
}

INDX              DialogScript      Z Vi/*
 * PROPRIETARY INFORMATION.  This software is proprietary to
 * Side Effects Software Inc., and is not to be reproduced,
 * transmitted, or disclosed in any way without written permission.
 *
 * Produced by:
 *	Side Effects Software Inc
 *	477 Richmond Street West
 *	Toronto, Ontario
 *	Canada   M5V 3E7
 *	416-504-9876
 *
 */

#include <parameter.ds>

{
    name	"degtorad"
    script	"degtorad"
    label	"degtorad"

    outercode {
	INCLUDE_VOPLIB
    }

    code {
	"$rad = vop_radians($deg);"
    }

    input	float	deg	"Degrees"
    output	float	rad	"Radians"
    signature	"Float"			default	{ }
    signature	"2D Vector"		u	{ vector2 vector2 }
    signature	"3D Vector"		v	{ vector vector }
    signature	"3D Point"		p	{ point point }
    signature	"3D Normal"		n	{ normal normal }
    signature	"RGB Color"		c	{ color color }
    signature	"4D Vector"		v4	{ vector4 vector4 }

    signature	"Uniform Float"		uf	{ ufloat ufloat }
    signature	"Uniform 3D Vector"	uv	{ uvector uvector }
    signature	"Uniform 3D Point"	up	{ upoint upoint }
    signature	"Uniform 3D Normal"	un	{ unormal unormal }
    signature	"Uniform RGB Color"	uc	{ ucolor ucolor }

    VOP_FLT_PARM_R(deg,   "Degrees", 0, 0, 360)
    VOP_VECTOR2_PARM(float, deg_u, "Degrees", 0, 0, 0, 360)
    VOP_VECTOR_PARM(float, deg_v, "Degrees", 0, 0, 0, 0, 360)
    VOP_VECTOR_PARM(float, deg_p, "Degrees", 0, 0, 0, 0, 360)
    VOP_VECTOR_PARM(float, deg_n, "Degrees", 0, 0, 0, 0, 360)
    VOP_VECTOR_PARM(color, deg_c, "Degrees", 0, 0, 0, 0, 360)
    VOP_VECTOR4_PARM(float, deg_v4,"Degrees", 0, 0, 0, 1, 0, 360)
    VOP_FLT_PARM_R(deg_uf, "Degrees", 0, 0, 360)
    VOP_VECTOR_PARM(float, deg_uv, "Degrees", 0, 0, 0, 0, 360)
    VOP_VECTOR_PARM(float, deg_up, "Degrees", 0, 0, 0, 0, 360)
    VOP_VECTOR_PARM(float, deg_un, "Degrees", 0, 0, 0, 0, 360)
    VOP_VECTOR_PARM(color, deg_uc, "Degrees", 0, 0, 0, 0, 360)

    group { name "gv" obsolete 12.0 }
    group { name "gu" obsolete 12.0 }
}
INDX              DialogScript      Z Vi/*
 * PROPRIETARY INFORMATION.  This software is proprietary to
 * Side Effects Software Inc., and is not to be reproduced,
 * transmitted, or disclosed in any way without written permission.
 *
 * Produced by:
 *	Side Effects Software Inc
 *	477 Richmond Street West
 *	Toronto, Ontario
 *	Canada   M5V 3E7
 *	416-504-9876
 *
 */

#include <parameter.ds>

{
    name	"displacenml"
    script	"displacenml"
    label	"displacenml"

    outercode {
	INCLUDE_VOPLIB
    }

    code {
	"vop_displaceAlongNormal(($isconnected_P != 0) ? $P : P,"
	"			 ($isconnected_nN != 0) ? $nN : normalize(N),"
	"			 $amount, $scale, $sshear, $tshear,"
	"			 $polys, $objspace, $bump, $dispP, $dispN);"
    }

    input	point	P	"Position"
    input	normal	nN	"Normal Vector"
    VOP_FLT_INPUT(	amount,	"Displacement Amount",	0)
    VOP_FLT_INPUT_R(	scale,	"Scale",	1, -1, 1)
    VOP_FLT_INPUT_R(	sshear,	"S Shear",	0, -1, 1)
    VOP_FLT_INPUT_R(	tshear,	"T Shear",	0, -1, 1)
    VOP_TOGGLE_INPUT(	polys,	"Ensure Proper Smooth-Shading Of Polygons", 1)
    VOP_TOGGLE_INPUT(	objspace,	"Object Space",	0)
    VOP_TOGGLE_INPUT(	bump,	"Bump Only",	0)
    output	point	dispP	"Displaced Position"
    output	normal	dispN	"Displaced Normal"
}
INDX              DialogScript      !Z Vi/*
 * PROPRIETARY INFORMATION.  This software is proprietary to
 * Side Effects Software Inc., and is not to be reproduced,
 * transmitted, or disclosed in any way without written permission.
 *
 * Produced by:
 *	Side Effects Software Inc
 *	477 Richmond Street West
 *	Toronto, Ontario
 *	Canada   M5V 3E7
 *	416-504-9876
 *
 */

#include <parameter.ds>

{
    name	"divconst"
    script	"divconst"
    label	"divconst"


    code {
	"$scaled = $val * (1.0 / $divconst);"
    }

    descriptiveparm	divconst

    input	float	val		"Input Value"
    output	float	scaled		"Input Value / Constant"
    signature	"Float"			default	{ }
    signature	"Integer"		i	{ int int }
    signature	"2D Vector"		u	{ vector2 vector2 }
    signature	"3D Vector"		v	{ vector vector }
    signature	"3D Point"		p	{ point point }
    signature	"3D Normal"		n	{ normal normal }
    signature	"RGB Color"		c	{ color color }
    signature	"4D Vector"		v4	{ vector4 vector4 }
    signature	"BSDF"			b	{ bsdf bsdf }

    signature	"Uniform Float"		uf	{ ufloat ufloat }
    signature	"Uniform 3D Vector"	uv	{ uvector uvector }
    signature	"Uniform 3D Point"	up	{ upoint upoint }
    signature	"Uniform 3D Normal"	un	{ unormal unormal }
    signature	"Uniform RGB Color"	uc	{ ucolor ucolor }

    VOP_FLT_PARM(divconst, "Divider", 1)
}

INDX              DialogScript      Z Vi/*
 * PROPRIETARY INFORMATION.  This software is proprietary to
 * Side Effects Software Inc., and is not to be reproduced,
 * transmitted, or disclosed in any way without written permission.
 *
 * Produced by:
 *	Side Effects Software Inc
 *	477 Richmond Street West
 *	Toronto, Ontario
 *	Canada   M5V 3E7
 *	416-504-9876
 *
 */

#include <parameter.ds>

{
    name	"dot"
    script	"dot"
    label	"dot"

    outercode {
	INCLUDE_VOPLIB
    }

    code {
	"$dotprod = vop_dot($vec1, $vec2);"
    }

    input	vector	vec1	"Vector 1"
    input	vector	vec2	"Vector 2"
    output	float	dotprod	"Dot Product"

    VOP_VEC_PARM(vec1, "Vector 1", 1, 0, 0)
    VOP_VEC_PARM(vec2, "Vector 2", 0, 1, 0)
    VOP_CLR_PARM(vec1_c, "Color 1", 1, 0, 0)
    VOP_CLR_PARM(vec2_c, "Color 2", 0, 1, 0)
    VOP_VEC_PARM(vec1_uv, "Vector 1", 1, 0, 0)
    VOP_VEC_PARM(vec2_uv, "Vector 2", 0, 1, 0)
    VOP_CLR_PARM(vec1_uc, "Color 1", 1, 0, 0)
    VOP_CLR_PARM(vec2_uc, "Color 2", 0, 1, 0)

    signature	"3D Vector"		default	{ }
    signature	"3D Vector/Point"	vp	{ vector point float }
    signature	"3D Vector/Normal"	vn	{ vector normal float }
    signature	"3D Point/Vector"	pv	{ point vector float }
    signature	"3D Point/Point"	pp	{ point point float }
    signature	"3D Point/Normal"	pn	{ point normal float }
    signature	"3D Normal/Vector"	nv	{ normal vector float }
    signature	"3D Normal/Point"	np	{ normal point float }
    signature	"3D Normal/Normal"	nn	{ normal normal float }
    signature	"RGB Color"		c	{ color color float }

    signature	"Uniform 3D Vector"	   uv	{ uvector uvector ufloat }
    signature	"Uniform 3D Vector/Point"  vp	{ uvector upoint ufloat }
    signature	"Uniform 3D Vector/Normal" vn	{ uvector unormal ufloat }
    signature	"Uniform 3D Point/Vector"  pv	{ upoint uvector ufloat }
    signature	"Uniform 3D Point/Point"   pp	{ upoint upoint ufloat }
    signature	"Uniform 3D Point/Normal"  pn	{ upoint unormal ufloat }
    signature	"Uniform 3D Normal/Vector" nv	{ unormal uvector ufloat }
    signature	"Uniform 3D Normal/Point"  np	{ unormal upoint ufloat }
    signature	"Uniform 3D Normal/Normal" nn	{ unormal unormal ufloat }
    signature	"Uniform RGB Color"	uc	{ ucolor ucolor ufloat }

    group { name "gv" obsolete 12.0 }
    group { name "gu" obsolete 12.0 }
}
INDX              DialogScript      Z Vi/*
 * PROPRIETARY INFORMATION.  This software is proprietary to
 * Side Effects Software Inc., and is not to be reproduced,
 * transmitted, or disclosed in any way without written permission.
 *
 * Produced by:
 *	Side Effects Software Inc
 *	477 Richmond Street West
 *	Toronto, Ontario
 *	Canada   M5V 3E7
 *	416-504-9876
 *
 */

#include <parameter.ds>

{
    name	"exp"
    script	"exp"
    label	"exp"

    outercode {
	INCLUDE_VOPLIB
    }

    code {
	"$exp = vop_exp($val);"
    }

    input	float	val	"Input Value"
    output	float	exp	"Exponent Value"

    signature	"Float"			default	{ }
    signature	"2D Vector"		u	{ vector2 vector2 }
    signature	"3D Vector"		v	{ vector vector }
    signature	"3D Point"		p	{ point point }
    signature	"3D Normal"		n	{ normal normal }
    signature	"RGB Color"		c	{ color color }
    signature	"4D Vector"		v4	{ vector4 vector4 }

    signature	"Uniform Float"		uf	{ ufloat ufloat }
    signature	"Uniform 3D Vector"	uv	{ uvector uvector }
    signature	"Uniform 3D Point"	up	{ upoint upoint }
    signature	"Uniform 3D Normal"	un	{ unormal unormal }
    signature	"Uniform RGB Color"	uc	{ ucolor ucolor }

    VOP_FLT_PARM(val,   "Value", 1)
    VOP_VEC2_PARM(val_u, "Value", 1, 1)
    VOP_VEC_PARM(val_v, "Value", 1, 1, 1)
    VOP_VEC_PARM(val_p, "Value", 1, 1, 1)
    VOP_VEC_PARM(val_n, "Value", 1, 1, 1)
    VOP_CLR_PARM(val_c, "Value", 1, 1, 1)
    VOP_VEC4_PARM(val_v4,"Value", 1, 1, 1, 1)
    VOP_FLT_PARM(val_uf, "Value", 1)
    VOP_VEC_PARM(val_uv, "Value", 1, 1, 1)
    VOP_VEC_PARM(val_up, "Value", 1, 1, 1)
    VOP_VEC_PARM(val_un, "Value", 1, 1, 1)
    VOP_CLR_PARM(val_uc, "Value", 1, 1, 1)

    group { name "gv" obsolete 12.0 }
    group { name "gu" obsolete 12.0 }
}
INDX              Contents       W[,5   DialogScript   W  'X0707070000010000000006660000000000000000010000001331301646500001300000000000TRAILER!!! # Dialog script for explodedview automatically generated

{
    name	explodedview
    script	explodedview
    label	"Exploded View"

    help {
	""
    }

    inputlabel	1	"Geometry to Explode"
    inputlabel	2	"Sub-Network Input #2"
    inputlabel	3	"Sub-Network Input #3"
    inputlabel	4	"Sub-Network Input #4"

    parm {
	name	"group"
	label	"Group"
	type	string
	default	{ "" }
	menutoggle	{
	    [ "opmenu -l to_explode group" ]
	}
	range	{ 0 1 }
	parmtag	{ "autoscope" "0000000000000000" }
	parmtag	{ "script_action" "import soputils\nkwargs['geometrytype'] = hou.geometryType.Primitives\nkwargs['inputindex'] = 0\nsoputils.selectGroupParm(kwargs)" }
	parmtag	{ "script_action_help" "Select geometry from an available viewport." }
	parmtag	{ "script_action_icon" "BUTTONS_reselect" }
	bindselector prims "Primitives to Push Outwards"
	    "Select the geometry to push outwards and right click to complete"
	    0 1 poly 0 "" 0
    }
    parm {
	name	"scale"
	label	"Scale"
	type	float
	default	{ "1" }
	range	{ 0 1 }
    }
    parm {
	name	"overridecenter"
	label	"Override Center"
	type	toggle
	nolabel
	joinnext
	default	{ "0" }
	range	{ 0 1 }
    }
    parm {
	name	"t"
	label	"Override Center"
	type	vector
	size	3
	default	{ "0" "0" "0" }
	disablewhen	"{ overridecenter == 0 }"
	range	{ -1 1 }
    }
    parm {
	name	"labelparm"
	label	"Piece Detection"
	type	label
	default	{ "" }
	range	{ 0 1 }
    }
    parm {
	name	"piecetype"
	label	"Piece Type"
	type	ordinal
	default	{ "auto" }
	menu	{
	    "auto"	"Auto Detect"
	    "group"	"Group"
	    "attribute"	"Attribute"
	}
	range	{ 0 1 }
    }
    parm {
	name	"groupmask"
	label	"Group Mask"
	type	string
	default	{ "piece*" }
	disablewhen	"{ piecetype == attribute }"
	range	{ 0 1 }
    }
    parm {
	name	"attribute"
	label	"Piece Attribute"
	type	string
	default	{ "name" }
	disablewhen	"{ piecetype == group }"
	range	{ 0 1 }
    }
    parm {
	name	"attribtol"
	label	"Tolerance"
	type	float
	default	{ "0.001" }
	disablewhen	"{ piecetype == group }"
	range	{ 0 10 }
	parmtag	{ "autoscope" "0000000000000000" }
    }
}
INDX              DialogScript      YZ Vi/*
 * PROPRIETARY INFORMATION.  This software is proprietary to
 * Side Effects Software Inc., and is not to be reproduced,
 * transmitted, or disclosed in any way without written permission.
 *
 * Produced by:
 *	Side Effects Software Inc
 *	477 Richmond Street West
 *	Toronto, Ontario
 *	Canada   M5V 3E7
 *	416-504-9876
 *
 */

#include <parameter.ds>

{
    name	"fit"
    script	"fit"
    label	"fit"

    outercode {
	INCLUDE_VOPLIB
    }

    code {
	"$shift = vop_fit($val, $srcmin, $srcmax, $destmin, $destmax);"
    }

    input	float	val	"Input Value"
    input	float	srcmin	"Minimum Value In Source Range"
    input	float	srcmax	"Maximum Value In Source Range"
    input	float	destmin	"Minimum Value In Destination Range"
    input	float	destmax	"Maximum Value In Destination Range"
    output	float	shift	"Shifted Value"

    signature	"Float" 		default { }
    signature	"2D Vector" 		v2	{ vector2 vector2 vector2 vector2 vector2 vector2 }
    signature	"3D Vector" 		v	{ vector vector vector vector vector vector }
    signature	"3D Point"		p	{ point point point point point point }
    signature	"3D Normal"		n	{ normal normal normal normal normal normal }
    signature	"RGB Color"		c	{ color color color color color color }
    signature	"4D Vector"		v4	{ vector4 vector4 vector4 vector4 vector4 vector4 }

    signature	"Uniform Float"		uf	{ ufloat ufloat ufloat ufloat ufloat ufloat }
    signature	"Uniform 3D Vector"	uv	{ uvector uvector uvector uvector uvector uvector }
    signature	"Uniform 3D Point"	up	{ upoint upoint upoint upoint upoint upoint }
    signature	"Uniform 3D Normal"	un	{ unormal unormal unormal unormal unormal unormal }
    signature	"Uniform RGB Color"	uc	{ ucolor ucolor ucolor ucolor ucolor ucolor }

    VOP_FLT_PARM(srcmin,	"Source Min", 0)
    VOP_FLT_PARM(srcmax,	"Source Max", 1)
    VOP_FLT_PARM(destmin,	"Destination Min", 0)
    VOP_FLT_PARM(destmax,	"Destination Max", 1)

    VOP_VEC2_PARM(srcmin_v2,	"Source Min", 0, 0)
    VOP_VEC2_PARM(srcmax_v2,	"Source Max", 1, 1)
    VOP_VEC2_PARM(destmin_v2,	"Destination Min", 0, 0)
    VOP_VEC2_PARM(destmax_v2,	"Destination Max", 1, 1)

    VOP_VEC_PARM(srcmin_v,	"Source Min", 0, 0, 0)
    VOP_VEC_PARM(srcmax_v,	"Source Max", 1, 1, 1)
    VOP_VEC_PARM(destmin_v,	"Destination Min", 0, 0, 0)
    VOP_VEC_PARM(destmax_v,	"Destination Max", 1, 1, 1)

    VOP_VEC_PARM(srcmin_p,	"Source Min", 0, 0, 0)
    VOP_VEC_PARM(srcmax_p,	"Source Max", 1, 1, 1)
    VOP_VEC_PARM(destmin_p,	"Destination Min", 0, 0, 0)
    VOP_VEC_PARM(destmax_p,	"Destination Max", 1, 1, 1)

    VOP_VEC_PARM(srcmin_n,	"Source Min", 0, 0, 0)
    VOP_VEC_PARM(srcmax_n,	"Source Max", 1, 1, 1)
    VOP_VEC_PARM(destmin_n,	"Destination Min", 0, 0, 0)
    VOP_VEC_PARM(destmax_n,	"Destination Max", 1, 1, 1)

    VOP_CLR_PARM(srcmin_c,	"Source Min", 0, 0, 0)
    VOP_CLR_PARM(srcmax_c,	"Source Max", 1, 1, 1)
    VOP_CLR_PARM(destmin_c,	"Destination Min", 0, 0, 0)
    VOP_CLR_PARM(destmax_c,	"Destination Max", 1, 1, 1)

    VOP_VEC4_PARM(srcmin_v4, "Source Min", 0, 0, 0, 0)
    VOP_VEC4_PARM(srcmax_v4, "Source Max", 1, 1, 1, 1)
    VOP_VEC4_PARM(destmin_v4, "Destination Min", 0, 0, 0, 0)
    VOP_VEC4_PARM(destmax_v4, "Destination Max", 1, 1, 1, 1)

    VOP_FLT_PARM(srcmin_uf,	"Source Min", 0)
    VOP_FLT_PARM(srcmax_uf,	"Source Max", 1)
    VOP_FLT_PARM(destmin_uf, "Destination Min", 0)
    VOP_FLT_PARM(destmax_uf, "Destination Max", 1)

    VOP_VEC_PARM(srcmin_uv,	"Source Min", 0, 0, 0)
    VOP_VEC_PARM(srcmax_uv,	"Source Max", 1, 1, 1)
    VOP_VEC_PARM(destmin_uv, "Destination Min", 0, 0, 0)
    VOP_VEC_PARM(destmax_uv, "Destination Max", 1, 1, 1)

    VOP_VEC_PARM(srcmin_up,	"Source Min", 0, 0, 0)
    VOP_VEC_PARM(srcmax_up,	"Source Max", 1, 1, 1)
    VOP_VEC_PARM(destmin_up, "Destination Min", 0, 0, 0)
    VOP_VEC_PARM(destmax_up, "Destination Max", 1, 1, 1)

    VOP_VEC_PARM(srcmin_un,	"Source Min", 0, 0, 0)
    VOP_VEC_PARM(srcmax_un,	"Source Max", 1, 1, 1)
    VOP_VEC_PARM(destmin_un, "Destination Min", 0, 0, 0)
    VOP_VEC_PARM(destmax_un, "Destination Max", 1, 1, 1)

    VOP_CLR_PARM(srcmin_uc,	"Source Min", 0, 0, 0)
    VOP_CLR_PARM(srcmax_uc,	"Source Max", 1, 1, 1)
    VOP_CLR_PARM(destmin_uc, "Destination Min", 0, 0, 0)
    VOP_CLR_PARM(destmax_uc, "Destination Max", 1, 1, 1)

    group { name "gs" obsolete 12.0 }
    group { name "gv" obsolete 12.0 }
    group { name "gv4" obsolete 12.0 }
    group { name "gu" obsolete 12.0 }
}
INDX              DialogScript      Z Vi/*
 * PROPRIETARY INFORMATION.  This software is proprietary to
 * Side Effects Software Inc., and is not to be reproduced,
 * transmitted, or disclosed in any way without written permission.
 *
 * Produced by:
 *	Side Effects Software Inc
 *	477 Richmond Street West
 *	Toronto, Ontario
 *	Canada   M5V 3E7
 *	416-504-9876
 *
 */

#include <parameter.ds>

{
    name	"floattovec"
    script	"floattovec"
    label	"floattovec"

    outercode {
	INCLUDE_VOPLIB
    }

    code {
	"$vec = vop_floattovec($fval1, $fval2, $fval3);"
    }

    input	float	fval1	"Component 1"
    input	float	fval2	"Component 2"
    input	float	fval3	"Component 3"
    output	vector	vec	"Output Vector"

    VOP_FLT_PARM(fval1, "Component 1", 0)
    VOP_FLT_PARM(fval2, "Component 2", 0)
    VOP_FLT_PARM(fval3, "Component 3", 0)

    VOP_FLT_PARM(fval1_uv, "Component 1", 0)
    VOP_FLT_PARM(fval2_uv, "Component 2", 0)
    VOP_FLT_PARM(fval3_uv, "Component 3", 0)

    signature	"3D Vector"	default { }
    signature	"3D Point"	p { float float float point }
    signature	"3D Normal"	n { float float float normal }
    signature	"RGB Color"	c { float float float color }

    signature	"Uniform 3D Vector"	uv { ufloat ufloat ufloat uvector }
    signature	"Uniform 3D Point"	up { ufloat ufloat ufloat upoint }
    signature	"Uniform 3D Normal"	un { ufloat ufloat ufloat unormal }
    signature	"Uniform RGB Color"	uc { ufloat ufloat ufloat ucolor }
}
INDX              DialogScript      Z Vi/*
 * PROPRIETARY INFORMATION.  This software is proprietary to
 * Side Effects Software Inc., and is not to be reproduced,
 * transmitted, or disclosed in any way without written permission.
 *
 * Produced by:
 *	Side Effects Software Inc
 *	477 Richmond Street West
 *	Toronto, Ontario
 *	Canada   M5V 3E7
 *	416-504-9876
 *
 */

{
    name	"fresnel"
    script	"fresnel"
    label	"fresnel"


    code {
	"vector $myI = ($isconnected_nI != 0) ? $nI : normalize(I);"
	"vector $myN = ($isconnected_nN != 0) ? $nN : normalize(N);"
	"fresnel($myI, $myN, $eta, $kr, $kt, $R, $T);" }

    input	vector	nI	"Normalized Incident Vector"
    input	normal	nN	"Normalized Surface Normal"
    input	float	eta	"Index Of Refraction"
    output	float	kr	"Reflected Light"
    output	float	kt	"Transmitted (i.e. Refracted) Light"
    output	vector	R	"Reflection Vector"
    output	vector	T	"Transmission (i.e. Refraction) Vector"

    parm {
	name	eta
	label	"Index Of Refraction"
	type	float
	size	1
	default	{ 0.8 }
	range	{ 0.1 1 }
    }
}

INDX              DialogScript      Z Vi/*
 * PROPRIETARY INFORMATION.  This software is proprietary to
 * Side Effects Software Inc., and is not to be reproduced,
 * transmitted, or disclosed in any way without written permission.
 *
 * Produced by:
 *	Side Effects Software Inc
 *	477 Richmond Street West
 *	Toronto, Ontario
 *	Canada   M5V 3E7
 *	416-504-9876
 *
 */

#include <parameter.ds>

{
    name	"frontface"
    script	"frontface"
    label	"frontface"

    outercode {
	INCLUDE_VOPLIB
    }

    code {
	"VOPvector $myI = $isconnected_I != 0 ? $I : I;"
	"VOPnormal $myN = $isconnected_N != 0 ? $N : N;"
	"$frontN = vop_frontface($myN, $myI);"
	"if ($normalize)"
	"    $frontN = normalize($frontN);"
    }

    input	vector	I	"Incident Vector"
    input	normal	N	"Surface Normal"
    output	normal	frontN	"Front-Facing Surface Normal"

    signature "Varying Normal"	default { }
    signature "Uniform Normal"	un	{ uvector unormal unormal }	

    parm {
        name    normalize
        label   "Normalize Output Vector"
        type    toggle
        default { 1 }
    }
}

INDX              Contents       W[,5   DialogScript   W  [)#0707070000010000000006660000000000000000010000001331301646500001300000000000TRAILER!!! # Dialog script for gamedev::inside_face_uvs automatically generated

{
    name	gamedev::inside_face_uvs
    script	gamedev::inside_face_uvs
    label	"Inside Face UVs"

    help {
	""
    }

    inputlabel	1	"Fractured Geo"
    inputlabel	2	"Sub-Network Input #2"
    inputlabel	3	"Sub-Network Input #3"
    inputlabel	4	"Sub-Network Input #4"

    parm {
        name    "tiling"
        label   "Tiling"
        type    float
        default { "1" }
        range   { 0 10 }
    }
}
INDX              Contents       W[,   DialogScript   W  o[*y0707070000010000000006660000000000000000010000001331301703000001300000000000TRAILER!!! # Dialog script for gamedev::niagara_impacts automatically generated

{
    name	gamedev::niagara_impacts
    script	gamedev::niagara_impacts
    label	"Niagara Impacts"

    help {
	""
    }

    inputlabel	1	"Dop Network"
    inputlabel	2	"Niagara Points"
    inputlabel	3	"Sub-Network Input #3"
    inputlabel	4	"Sub-Network Input #4"

    parm {
        name    "dopnet"
        label   "Dop Network"
        type    oppath
        default { "" }
        disablewhen "{ ninputs == 1 }"
        parmtag { "autoscope" "0000000000000000" }
        parmtag { "oprelative" "." }
    }
    parm {
        name    "objectmask"
        label   "Object Mask"
        type    string
        default { "*" }
        parmtag { "autoscope" "0000000000000000" }
    }
    parm {
        name    "startend"
        label   "Start/End"
        type    vector2
        size    2
        default { [ "$RFSTART" hscript-expr ] [ "$RFEND" hscript-expr ] }
        range   { -1 1 }
        parmtag { "autoscope" "0000000000000000" }
    }
    parm {
        name    "ninputs"
        label   "No. Of Inputs"
        type    integer
        invisible
        default { [ "opninputs(\".\")" hscript-expr ] }
        range   { 0 10 }
    }
    parm {
        name    "preview"
        label   "Preview"
        type    toggle
        default { "off" }
        parmtag { "autoscope" "0000000000000000" }
    }
}
INDX              Contents       W[,   DialogScript   W  8[*y0707070000010000000006660000000000000000010000001331301703000001300000000000TRAILER!!! # Dialog script for gamedev::niagara_interpolate automatically generated

{
    name	gamedev::niagara_interpolate
    script	gamedev::niagara_interpolate
    label	"Niagara Interpolate"

    help {
	""
    }

    inputlabel	1	"Dop Network"
    inputlabel	2	"Niagara Points"
    inputlabel	3	"Sub-Network Input #3"
    inputlabel	4	"Sub-Network Input #4"

    parm {
        name    "frange"
        label   "Start/End/Inc"
        type    float
        size    3
        default { [ "$RFSTART" hscript-expr ] [ "$RFEND" hscript-expr ] "10" }
        range   { 0 10 }
    }
    parm {
        name    "addid"
        label   "Add Point ID"
        type    toggle
        default { "0" }
    }
    parm {
        name    "packedgeo"
        label   "Input is Packed Geo"
        type    toggle
        default { "0" }
    }
}
INDX              Contents       W[,   DialogScript   W  [*y0707070000010000000006660000000000000000010000001331301703000001300000000000TRAILER!!! # Dialog script for gamedev::niagara_rbd_split automatically generated

{
    name	gamedev::niagara_rbd_split
    script	gamedev::niagara_rbd_split
    label	"Niagara RBD Split"

    help {
	""
    }

    inputlabel	1	"Dop Network"
    inputlabel	2	"Niagara Points"
    inputlabel	3	"Sub-Network Input #3"
    inputlabel	4	"Sub-Network Input #4"

    parm {
        name    "dopnet"
        label   "Dop Network"
        type    oppath
        default { "" }
        disablewhen "{ ninputs == 1 }"
        parmtag { "autoscope" "0000000000000000" }
        parmtag { "oprelative" "." }
    }
    parm {
        name    "ninputs"
        label   "No. Of Inputs"
        type    integer
        invisible
        default { [ "opninputs(\".\")" hscript-expr ] }
        range   { 0 10 }
    }
    parm {
        name    "objpattern"
        label   "Object Pattern"
        type    string
        default { "*" }
    }
    parm {
        name    "startend"
        label   "Start/End"
        type    vector2
        size    2
        default { [ "$RFSTART" hscript-expr ] [ "$RFEND" hscript-expr ] }
        range   { -1 1 }
        parmtag { "autoscope" "0000000000000000" }
    }
    parm {
        name    "preview"
        label   "Preview"
        type    toggle
        default { "off" }
        parmtag { "autoscope" "0000000000000000" }
    }
    parm {
        name    "cache"
        label   "Cache"
        type    button
        default { "0" }
    }
}
INDX              Contents       W[,$m   DialogScript   W  [*y0707070000010000000006660000000000000000010000001331302215500001300000000000TRAILER!!! # Dialog script for gamedev::niagara_rop automatically generated

{
    name	gamedev::niagara_rop
    script	gamedev::niagara_rop
    label	"Niagara ROP"

    help {
	""
    }

    inputlabel	1	"Points/Packed Geo"
    inputlabel	2	"Sub-Network Input #2"
    inputlabel	3	"Sub-Network Input #3"
    inputlabel	4	"Sub-Network Input #4"

    parm {
        name    "rendercsv"
        label   "Render"
        type    button
        default { "0" }
    }
    parm {
        name    "startend"
        label   "Start/End"
        type    float
        size    3
        default { [ "$RFSTART" hscript-expr ] [ "$RFEND" hscript-expr ] "10" }
        range   { -1 1 }
    }
    parm {
        name    "csvpath"
        label   "CSV Path"
        type    file
        default { "$HIP/export.csv" }
    }
    parm {
        name    "impacts"
        label   "Impacts"
        type    toggle
        default { "1" }
    }
    parm {
        name    "split"
        label   "Split"
        type    toggle
        default { "0" }
    }
    parm {
        name    "interpolate"
        label   "Interpolate"
        type    toggle
        default { "0" }
    }
    parm {
        name    "cachesplit"
        label   "Cache Split"
        type    button
        default { "0" }
    }
    parm {
        name    "preview"
        label   "Preview"
        type    toggle
        default { "0" }
    }
    parm {
        name    "dopnet"
        label   "Dop Network"
        type    oppath
        default { "" }
        parmtag { "oprelative" "." }
    }
    parm {
        name    "objpattern"
        label   "Object Mask"
        type    string
        default { "*" }
    }
}
INDX              Contents       W[,O   DialogScript   W  [*E0707070000010000000006660000000000000000010000001331301651700001300000000000TRAILER!!! # Dialog script for gamedev::rbd_director automatically generated

{
    name	gamedev::rbd_director
    script	gamedev::rbd_director
    label	"RBD Director"

    help {
	""
    }

    inputlabel	1	"Packed Objects"
    inputlabel	2	"Bounding Object"
    inputlabel	3	"Sub-Network Input #3"
    inputlabel	4	"Sub-Network Input #4"

    parm {
        name    "animatedstatic"
        label   "Bullet Type"
        type    ordinal
        default { "0" }
        menu {
            "0" "static"
            "1" "animated"
        }
    }
    parm {
        name    "animatestatic"
        label   "Set Frame to Activate"
        type    toggle
        default { "on" }
        parmtag { "autoscope" "0000000000000000" }
    }
    parm {
        name    "activatestaticframe"
        label   "Activate at Frame:"
        type    integer
        default { "10" }
        disablewhen "{ animatestatic == 0 }"
        range   { 1 100 }
        parmtag { "autoscope" "0000000000000000" }
    }
    group {
        name    "forcesfolder"
        label   "Forces"

        groupsimple {
            name    "folder1"
            label   "Bounding Object"

            parm {
                name    "input2check"
                label   "Input2 Check"
                type    integer
                invisible
                default { [ "npoints(opinputpath(\".\",1))>0" hscript-expr ] }
                range   { 0 10 }
            }
            parm {
                name    "createforcefromobject"
                label   "Create Force From Object"
                type    toggle
                default { "off" }
                disablewhen "{ input2check == 0 }"
                parmtag { "autoscope" "0000000000000000" }
            }
            parm {
                name    "impulse2"
                label   "Add Impulse As:"
                type    ordinal
                default { "0" }
                disablewhen "{ input2check == 0 }"
                menu {
                    "v"     "velocity"
                    "force" "force"
                }
            }
            parm {
                name    "force"
                label   "Force"
                type    float
                default { "10" }
                disablewhen "{ input2check == 0 }"
                range   { 0 10 }
                parmtag { "autoscope" "0000000000000000" }
            }
            parm {
                name    "normalizeforce"
                label   "Normalize Force"
                type    toggle
                default { "off" }
                disablewhen "{ input2check == 0 }"
                parmtag { "autoscope" "0000000000000000" }
            }
            parm {
                name    "applyforceactivate"
                label   "Apply Force in Range"
                type    toggle
                default { "off" }
                disablewhen "{ input2check == 0 }"
                hidewhen "{ impulse2 == v }"
                parmtag { "autoscope" "0000000000000000" }
            }
            parm {
                name    "forceframerange"
                label   "Start/End"
                type    vector2
                size    2
                default { [ "$RFSTART" hscript-expr ] [ "$RFEND" hscript-expr ] }
                disablewhen "{ input2check == 0 } { applyforceactivate == 0 }"
                hidewhen "{ impulse2 == v }"
                range   { -1 1 }
                parmtag { "autoscope" "0000000000000000" }
            }
            parm {
                name    "impulse"
                label   "Impulse"
                type    string
                invisible
                default { "v" }
                disablewhen "{ input2check == 0 }"
                parmtag { "autoscope" "0000000000000000" }
            }
        }

        groupsimple {
            name    "uniformfolder"
            label   "Uniform Force"

            parm {
                name    "adduniform"
                label   "Add Uniform Force"
                type    toggle
                default { "0" }
            }
            parm {
                name    "uniformforce"
                label   "Force"
                type    vector
                size    3
                default { "100" "0" "0" }
                range   { -1 1 }
            }
        }

    }

    group {
        name    "forcesfolder_1"
        label   "Visualize"

        parm {
            name    "visactive"
            label   "Visualise Active"
            type    toggle
            default { "off" }
            parmtag { "autoscope" "0000000000000000" }
        }
        parm {
            name    "activecd"
            label   "Active Colour"
            type    color
            size    3
            default { "1" "0" "1" }
            range   { 0 1 }
            parmtag { "autoscope" "0000000000000000" }
        }
    }

}
INDX              Contents       W[,$   DialogScript   W  [*x0707070000010000000006660000000000000000010000001331302231700001300000000000TRAILER!!! # Dialog script for gamedev::rbd_solver automatically generated

{
    name	gamedev::rbd_solver
    script	gamedev::rbd_solver
    label	"GameDev RBD Solver"

    help {
	""
    }

    inputlabel	1	"RBD Packed Geo"
    inputlabel	2	"Sub-Network Input #2"
    inputlabel	3	"Sub-Network Input #3"
    inputlabel	4	"Sub-Network Input #4"

    parm {
        name    "resetsim"
        label   "Reset Simulation"
        type    button
        default { "0" }
        parmtag { "autoscope" "0000000000000000" }
    }
    parm {
        name    "bounce"
        label   "Bounce"
        type    float
        default { "0.5" }
        range   { 0 10 }
        parmtag { "autoscope" "0000000000000000" }
    }
    parm {
        name    "friction"
        label   "Friction"
        type    float
        default { "1" }
        range   { 0 10 }
        parmtag { "autoscope" "0000000000000000" }
    }
    parm {
        name    "density"
        label   "Density"
        type    float
        default { "1000" }
        range   { 0 10 }
        parmtag { "autoscope" "0000000000000000" }
    }
    parm {
        name    "gravity"
        label   "Gravity"
        type    float
        default { "-9.80665" }
        range   { 0 10 }
        parmtag { "autoscope" "0000000000000000" }
    }
    group {
        name    "groundplanefolder"
        label   "Ground Plane"

        parm {
            name    "groundplane"
            label   "Ground Plane"
            type    toggle
            default { "on" }
            parmtag { "autoscope" "0000000000000000" }
        }
        parm {
            name    "gpbounce"
            label   "Bounce"
            type    float
            default { "0.5" }
            range   { 0 10 }
            parmtag { "autoscope" "0000000000000000" }
        }
        parm {
            name    "gpfriction"
            label   "Friction"
            type    float
            default { "1" }
            range   { 0 10 }
            parmtag { "autoscope" "0000000000000000" }
        }
        parm {
            name    "gridsize"
            label   "Grid Size"
            type    vector2
            size    2
            default { "20" "20" }
            range   { -1 1 }
            parmtag { "autoscope" "0000000000000000" }
        }
        parm {
            name    "position"
            label   "Position"
            type    vector
            size    3
            default { "0" "0" "0" }
            range   { -1 1 }
            parmtag { "autoscope" "0000000000000000" }
        }
    }

    group {
        name    "groundplanefolder2"
        label   "Impact Data"

        parm {
            name    "calculateimpacts"
            label   "Generate Impacts"
            type    toggle
            default { "off" }
            parmtag { "autoscope" "0000000000000000" }
        }
        parm {
            name    "displayimpact"
            label   "Display Impacts"
            type    toggle
            default { "off" }
            parmtag { "autoscope" "0000000000000000" }
        }
        parm {
            name    "timethreshold"
            label   "Time Threshold"
            type    float
            default { "0.1" }
            range   { 0 10 }
            parmtag { "autoscope" "0000000000000000" }
        }
        parm {
            name    "impactthreshold"
            label   "Impact Threshold"
            type    float
            default { "10" }
            range   { 0 10 }
            parmtag { "autoscope" "0000000000000000" }
        }
        parm {
            name    "distancethreshold"
            label   "Distance Threshold"
            type    float
            default { "0.05" }
            range   { 0 10 }
            parmtag { "autoscope" "0000000000000000" }
        }
        parm {
            name    "forceimpactobject"
            label   "Force Impact Object"
            type    string
            default { "groundplane1" }
            parmtag { "autoscope" "0000000000000000" }
        }
    }

}
INDX              Contents       W[,   DialogScript   W  [0707070000010000000006660000000000000000010000001331301703000001300000000000TRAILER!!! # Dialog script for gamedev::rop_csv_exporter automatically generated

{
    name	gamedev::rop_csv_exporter
    script	gamedev::rop_csv_exporter
    label	"GameDev CSV Exporter"

    help {
	""
    }

    parm {
        name    "execute"
        baseparm
        label   "Render"
        joinnext
        export  none
    }
    parm {
        name    "renderdialog"
        baseparm
        label   "Controls..."
        nolabel
        export  none
    }
    parm {
        name    "export_node"
        label   "Export Node"
        type    oppath
        default { "" }
        parmtag { "opfilter" "!!SOP!!" }
        parmtag { "oprelative" "." }
    }
    parm {
        name    "csv_path"
        label   "CSV Path"
        type    file
        default { "$HIP/export.csv" }
        parmtag { "filechooser_pattern" "*.csv" }
    }
    parm {
        name    "separate_components"
        label   "Separate Vector Components"
        type    toggle
        default { "0" }
    }
    parm {
        name    "suff_x"
        label   "Component Suffixes"
        type    string
        joinnext
        default { "x" }
        disablewhen "{ separate_components == 0 }"
    }
    parm {
        name    "suff_y"
        label   "Label"
        type    string
        nolabel
        joinnext
        default { "y" }
        disablewhen "{ separate_components == 0 }"
    }
    parm {
        name    "suff_z"
        label   "Label"
        type    string
        nolabel
        joinnext
        default { "z" }
        disablewhen "{ separate_components == 0 }"
    }
    parm {
        name    "suff_w"
        label   "Label"
        type    string
        nolabel
        default { "w" }
        disablewhen "{ separate_components == 0 }"
    }
}
INDX              Contents       W[,5   DialogScript   W  _[L0707070000010000000006660000000000000000010000001331301646500001300000000000TRAILER!!! # Dialog script for gamedev::sop_extract_borders automatically generated

{
    name	gamedev::sop_extract_borders
    script	gamedev::sop_extract_borders
    label	"Gamedev Extract Borders"

    help {
	""
    }

    inputlabel	1	"Input Geo"
    inputlabel	2	"Sub-Network Input #2"
    inputlabel	3	"Sub-Network Input #3"
    inputlabel	4	"Sub-Network Input #4"

    parm {
        name    "as_curves"
        label   "As Curves"
        type    toggle
        default { "0" }
    }
    parm {
        name    "uv_borders"
        label   "UV Borders"
        type    toggle
        default { "0" }
    }
}
INDX              Contents       W[,5   DialogScript   W  [J0707070000010000000006660000000000000000010000001331301646500001300000000000TRAILER!!! # Dialog script for gamedev::sop_merge_small_islands automatically generated

{
    name	gamedev::sop_merge_small_islands
    script	gamedev::sop_merge_small_islands
    label	"GameDev Merge Small Islands"

    help {
	""
    }

    inputlabel	1	"Geometry with UVs"
    inputlabel	2	"Sub-Network Input #2"
    inputlabel	3	"Sub-Network Input #3"
    inputlabel	4	"Sub-Network Input #4"

    parm {
        name    "fFuseDist"
        label   "Initial Fuse Dist"
        type    log
        default { "1e-05" }
        range   { 1e-06 10 }
        parmtag { "autoscope" "0000000000000000" }
    }
    parm {
        name    "cutoff"
        label   "Cutoff"
        type    float
        default { "0.0001" }
        help    "Size threshold of the islands that will be merged back into larger pieces"
        range   { 0 1 }
        parmtag { "autoscope" "0000000000000000" }
    }
    parm {
        name    "method"
        label   "Flattening Method"
        type    ordinal
        default { "abf" }
        help    "Method for reflattening the islands based on the new seams"
        menu {
            "scp"   "Spectral (SCP)"
            "abf"   "Angle-Based (ABF)"
        }
        parmtag { "autoscope" "0000000000000000" }
    }
    parm {
        name    "iterations"
        label   "Iterations"
        type    integer
        default { "100" }
        help    "Attempts at merging the islands together. Higher values produce smoother results"
        range   { 0 10 }
        parmtag { "autoscope" "0000000000000000" }
    }
    parm {
        name    "optimize_uv_border"
        label   "Optimize UV Border"
        type    toggle
        default { "1" }
        help    "Attempts to remove triangles that are sticking to the side of the UV island. May cause small islands to reappear"
    }
}
INDX              Contents       W[,5   DialogScript   W  $ [*a0707070000010000000006660000000000000000010000001331301646500001300000000000TRAILER!!! # Dialog script for gamedev::sop_rbd_fracture automatically generated

{
    name	gamedev::sop_rbd_fracture
    script	gamedev::sop_rbd_fracture
    label	"GameDev RBD Fracture"

    help {
	""
    }

    inputlabel	1	"Solid Geo"
    inputlabel	2	"Additional Scatter Areas"
    inputlabel	3	"Forced Cluster Areas"
    outputlabel	1	"Collision Geo"
    outputlabel	2	"Render Geo"

    group {
        name    "folder0"
        label   "Base Settings"

        parm {
            name    "scatter_pts"
            label   "Voronoi Pieces"
            type    integer
            default { "30" }
            range   { 0 10 }
        }
        parm {
            name    "cell_scale"
            label   "Cell Scale"
            type    vector
            size    3
            default { "1" "1" "1" }
            range   { -1 1 }
        }
        parm {
            name    "seed"
            label   "Global Seed"
            type    integer
            default { "0" }
            range   { 0 100 }
        }
        parm {
            name    "sampling_divs"
            label   "Sampling Divs"
            type    integer
            default { "50" }
            range   { 0 10 }
        }
        parm {
            name    "clustering"
            label   "Clustering"
            type    toggle
            nolabel
            joinnext
            default { "0" }
        }
        parm {
            name    "number_of_clusters"
            label   "Clusters"
            type    integer
            default { "30" }
            disablewhen "{ clustering == 0 }"
            range   { 0 10 }
        }
        groupsimple {
            name    "folder3"
            label   "Additional Scattering & Clustering"

            parm {
                name    "additional_scatter_points"
                label   "Addt Scatter Points"
                type    integer
                default { "100" }
                range   { 0 10 }
            }
            parm {
                name    "input_declusters"
                label   "DeCluster Instead of Clustering"
                type    toggle
                default { "0" }
            }
        }

    }

    group {
        name    "folder0_1"
        label   "Scatter Noise"

        parm {
            name    "noise_strength"
            label   "Noise Strength"
            type    float
            default { "1" }
            range   { 0 1 }
        }
        parm {
            name    "ramp"
            label   "density ramp"
            type    ramp_flt
            default { "4" }
            range   { 1! 10 }
            parmtag { "autoscope" "0000000000000000" }
            parmtag { "parmvop" "1" }
            parmtag { "rampbasis_var" "ramp_the_basis_strings" }
            parmtag { "rampbasisdefault" "linear" }
            parmtag { "rampfloatdefault" "1pos ( 0 ) 1value ( 0 ) 1interp ( linear ) 2pos ( 0.52770084142684937 ) 2value ( 0 ) 2interp ( linear ) 3pos ( 0.57340717315673828 ) 3value ( 1 ) 3interp ( linear ) 4pos ( 1 ) 4value ( 1 ) 4interp ( linear )" }
            parmtag { "rampkeys_var" "ramp_the_key_positions" }
            parmtag { "rampshowcontrolsdefault" "1" }
            parmtag { "rampvalues_var" "ramp_the_key_values" }
            parmtag { "shaderparmcontexts" "cvex" }
        }
        parm {
            name    "basis"
            label   "Noise Type"
            type    string
            default { "simplex" }
            menu {
                "sine"      "Sinusoid"
                "perlin"    "Perlin"
                "pperlin"   "Periodic Perlin"
                "simplex"   "Simplex (Improved Perlin)"
                "sparse"    "Sparse Convolution"
                "flow"      "Flow"
                "pflow"     "Periodic Flow"
                "worleyFA"  "Worley (cellular) F1"
                "worleyFB"  "Worley (cellular) F2-F1"
                "mworleyFA" "Manhattan Worley (cellular) F1"
                "mworleyFB" "Manhattan Worley (cellular) F2-F1"
                "cworleyFA" "Chebyshev Worley (cellular) F1"
                "cworleyFB" "Chebyshev Worley (cellular) F2-F1"
                "alligator" "Alligator"
            }
            range   { 0 1 }
            unquoted
            parmtag { "autoscope" "0000000000000000" }
        }
        parm {
            name    "freq"
            label   "Frequency"
            type    vector4
            size    4
            default { "1" "1" "1" "1" }
            range   { -1 1 }
            parmtag { "autoscope" "0000000000000000" }
        }
        parm {
            name    "offset"
            label   "Offset"
            type    vector4
            size    4
            default { "0" "0" "0" "0" }
            range   { -1 1 }
            parmtag { "autoscope" "0000000000000000" }
        }
    }

    group {
        name    "folder0_2"
        label   "Interior"

        parm {
            name    "inside_material"
            label   "Inside Material"
            type    oppath
            default { "" }
            parmtag { "oprelative" "." }
        }
        parm {
            name    "inside_normal_angle"
            label   "Inside Normal Angle"
            type    float
            default { "35" }
            range   { 0 10 }
        }
        parm {
            name    "generate_inside_uvs"
            label   "Generate Inside UVs"
            type    toggle
            default { "0" }
        }
        parm {
            name    "inside_uvs_tiling"
            label   "Inside UVs Tiling"
            type    float
            default { "10" }
            disablewhen "{ generate_inside_uvs == 0 }"
            range   { 0 10 }
        }
        parm {
            name    "inside_uv_collision"
            label   "Generate Inside UV on Collision"
            type    toggle
            default { "0" }
            disablewhen "{ generate_inside_uvs == 0 }"
        }
        parm {
            name    "addinteriordetail"
            label   "Add Interior Detail"
            type    toggle
            default { "off" }
            range   { 0! 10 }
            parmtag { "autoscope" "0000000000000000" }
        }
        parm {
            name    "detailsize"
            label   "Detail Size"
            type    float
            default { "0.25" }
            disablewhen "{ addinteriordetail == 0 }"
            range   { 0 1 }
            parmtag { "autoscope" "0000000000000000" }
        }
        parm {
            name    "intnoiseamp"
            label   "Noise Amplitude"
            type    float
            default { "0.1" }
            disablewhen "{ addinteriordetail == 0 }"
            range   { 0 1 }
            parmtag { "autoscope" "0000000000000000" }
        }
        parm {
            name    "intnoisefreq"
            label   "Frequency"
            type    vector
            size    3
            default { "2.5" "2.5" "2.5" }
            disablewhen "{ addinteriordetail == 0 }"
            range   { 0 10 }
            parmtag { "autoscope" "0000000000000000" }
        }
        parm {
            name    "intnoiseoffset"
            label   "Offset"
            type    vector
            size    3
            default { "0" "0" "0" }
            disablewhen "{ addinteriordetail == 0 }"
            range   { 0 10 }
            parmtag { "autoscope" "0000000000000000" }
        }
        parm {
            name    "reduce_interior_detail"
            label   "Reduce Interior Detail"
            type    float
            default { "50" }
            disablewhen "{ addinteriordetail == 0 }"
            range   { 0 100 }
        }
        parm {
            name    "do_edge_detail"
            label   "Edge Detail"
            type    toggle
            default { "0" }
        }
        parm {
            name    "edge_noise_strength"
            label   "Edge Noise Strength"
            type    float
            default { "1" }
            range   { 0 10 }
        }
        parm {
            name    "edge_noise_scale"
            label   "Edge Noise Scale"
            type    float
            default { "0.1" }
            range   { 0 10 }
        }
    }

    group {
        name    "folder0_3"
        label   "Visualizers"

        parm {
            name    "visualize_uvs"
            label   "Visualize UVs"
            type    toggle
            default { "0" }
        }
        parm {
            name    "color_pieces"
            label   "Visualize Pieces"
            type    toggle
            default { "0" }
        }
        parm {
            name    "vis_before_cluster"
            label   "Color Before Clustering"
            type    toggle
            default { "0" }
            disablewhen "{ color_pieces == 0 }"
        }
        parm {
            name    "explode_pieces"
            label   "Explode Pieces"
            type    float
            default { "0" }
            range   { 0 10 }
        }
        parm {
            name    "process_vis"
            label   "Process Visualization"
            type    ordinal
            default { "0" }
            menu {
                "0" "Final Geo"
                "1" "SDF Volume"
                "2" "Scatter Points"
                "3" "Render Geo"
            }
        }
    }

}
INDX              Contents       W[,5   DialogScript   W  =Q0707070000010000000006660000000000000000010000001331301646500001300000000000TRAILER!!! # Dialog script for geometryvopglobal automatically generated 05/22/13 15:13:22

{
    name	geometryvopglobal
    script	geometryvopglobal
    label	"Geometry VOP Global Parameters"

    output	vector	P	P
    output	vector	v	Velocity
    output	vector	force	Force
    output	float	life	Life
    output	float	age	Age
    output	int	id	Id
    output	vector	Cd	Cd
    output	vector	N	N
    output	float	Time	Time
    output	float	Timeinc	"Time Inc"
    output	float	Frame	Frame
    output	int	ptnum	"Point Number"
    output	int	primnum	"Primitive Number"
    output	int	vtxnum	"Vertex Number"
    output	int	numpt	"Number of Points"
    output	int	numprim	"Number of Prims"
    output	int	numvtx	"Number of Vertices"
    output	string	OpInput1	"First Input"
    output	string	OpInput2	"Second Input"
    output	string	OpInput3	"Third Input"
    output	string	OpInput4	"Fourth Input"
    signature	"Default Inputs"	default	{ vector vector vector float float int vector vector float float float int int int int int int string string string string }

    outputoverrides	default
    {
	___begin	auto
			(0,0,0)
	___begin	auto
			(0,0,0)
	___begin	auto
			(0,0,0)
	___begin	auto
			(0)
	___begin	auto
			(0)
	___begin	auto
			(0)
	___begin	auto
			(0,0,0)
	___begin	auto
			(0,0,0)
	___begin	auto
			(0)
	___begin	auto
			(0)
	___begin	auto
			(0)
	___begin	auto
			(0)
	___begin	auto
			(0)
	___begin	auto
			(0)
	___begin	auto
			(0)
	___begin	auto
			(0)
	___begin	auto
			(0)
	___begin	auto
			("")
	___begin	auto
			("")
	___begin	auto
			("")
	___begin	auto
			("")
    }

    help {
	""
    }

}
INDX              Contents       W[,O   DialogScript   W  TA\_0707070000010000000006660000000000000000010000001331301651700001300000000000TRAILER!!! # Dialog script for geometryvopglobal::2.0 automatically generated 10/17/14 14:13:51

{
    name	geometryvopglobal::2.0
    script	geometryvopglobal::2.0
    label	"Geometry VOP Global Parameters"

    output	vector	P	P
    output	vector	v	Velocity
    output	vector	force	Force
    output	float	age	Age
    output	float	life	Life
    output	int	id	Id
    output	vector	Cd	Cd
    output	vector	uv	UV
    output	vector	N	N
    output	float	Time	Time
    output	float	TimeInc	"Time Inc"
    output	float	Frame	Frame
    output	int	ptnum	"Point Number"
    output	int	primnum	"Primitive Number"
    output	int	vtxnum	"Vertex Number"
    output	int	numpt	"Number of Points"
    output	int	numprim	"Number of Prims"
    output	int	numvtx	"Number of Vertices"
    output	string	OpInput1	"First Input"
    output	string	OpInput2	"Second Input"
    output	string	OpInput3	"Third Input"
    output	string	OpInput4	"Fourth Input"
    signature	"Default Inputs"	default	{ vector vector vector float float int vector vector vector float float float int int int int int int string string string string }

    outputoverrides	default
    {
	___begin	auto
			(0,0,0)
	___begin	auto
			(0,0,0)
	___begin	auto
			(0,0,0)
	___begin	auto
			(0)
	___begin	auto
			(0)
	___begin	auto
			(0)
	___begin	auto
			(0,0,0)
	___begin	auto
			(0,0,0)
	___begin	auto
			(0,0,0)
	___begin	auto
			(0)
	___begin	auto
			(0)
	___begin	auto
			(0)
	___begin	auto
			(0)
	___begin	auto
			(0)
	___begin	auto
			(0)
	___begin	auto
			(0)
	___begin	auto
			(0)
	___begin	auto
			(0)
	___begin	auto
			("")
	___begin	auto
			("")
	___begin	auto
			("")
	___begin	auto
			("")
    }

    help {
	""
    }

}
INDX              Contents       W[,5   DialogScript   W  "Q!0707070000010000000006660000000000000000010000001331301646500001300000000000TRAILER!!! # Dialog script for geometryvopoutput automatically generated 05/16/13 09:54:41

{
    name	geometryvopoutput
    script	geometryvopoutput
    label	"Geometry VOP Output"

    input	vector	P	P
    input	vector	v	Velocity
    input	vector	force	Force
    input	vector	Cd	Color
    input	vector	N	Normal
    inputflags	P	0
    inputflags	v	0
    inputflags	force	0
    inputflags	Cd	0
    inputflags	N	0
    signature	"Default Inputs"	default	{ vector vector vector vector vector }

    outputoverrides	default
    {
    }

    help {
	""
    }

}
INDX              DialogScript      lZ Vh/*
 * PROPRIETARY INFORMATION.  This software is proprietary to
 * Side Effects Software Inc., and is not to be reproduced,
 * transmitted, or disclosed in any way without written permission.
 *
 * Produced by:
 *	Side Effects Software Inc
 *	477 Richmond Street West
 *	Toronto, Ontario
 *	Canada   M5V 3E7
 *	416-504-9876
 *
 */

{
    name	"getattrib"
    script	"getattrib"
    label	"getattrib"


    code {
	"string $sourcefile = $opinput;"
	"if ($opinput == 'file') $sourcefile = $file;"
	"$success = 0;"
	"int $elemidx = $i1;"
	"if ($atype == 'vertex')"
	"	$elemidx = vertexindex($sourcefile, $i1, $i2);"
	"$adata = getattrib($sourcefile, $atype, $attrib, $elemidx, $success);"
	"if (!$success)"
	"	$adata = $adefault;"
    }

    descriptiveparm	attrib

    input	string	file	"Geometry File"
    input	string	atype	"Attribute Class"
    input	string	attrib	"Attribute Name"
    input	int	i1	"Point or Primitive Number"
    input	int	i2	"Vertex Number"
    input	vector	adefault	"Default Value"

    output	vector	adata	"Attribute Value"
    output	int	success	"Return 1 For Success, 0 For Failure"

    signature	"Float"		f  { string string string int int float float int }
    signature	"Integer"	i  { string string string int int int int int }
    signature	"Vector 2"	v2 { string string string int int vector2 vector2 int }
    signature	"Vector 3"	default {  }
    signature	"Vector 4"	v4 { string string string int int vector4 vector4 int }
    signature	"Matrix 2"	m2  { string string string int int matrix2 matrix2 int }
    signature	"Matrix 3"	m3 { string string string int int matrix3 matrix3 int }
    signature	"Matrix 4"	m  { string string string int int matrix matrix int }
    signature	"String"	s  { string string string int int string string int }

    signature	"Float Array"		fa  { string string string int int floata floata int }
    signature	"Integer Array"	ia  { string string string int int inta inta int }
    signature	"Vector 2 Array"	v2a { string string string int int vector2a vector2a int }
    signature	"Vector 3 Array"	va { string string string int int vectora vectora int }
    signature	"Vector 4 Array"	v4a { string string string int int vector4a vector4a int }
    signature	"Matrix 2 Array"	m2a  { string string string int int matrix2a matrix2a int }
    signature	"Matrix 3 Array"	m3a { string string string int int matrix3a matrix3a int }
    signature	"Matrix 4 Array"	ma  { string string string int int matrixa matrixa int }
    signature	"String Array"	sa  { string string string int int stringa stringa int }

    parm {
	name	opinput
	label	"Input"
	type	string
	default	{ "file" }
	menu	{
	    "file"	"File"
	    "opinput:0"	"First Input"
	    "opinput:1"	"Second Input"
	    "opinput:2"	"Third Input"
	    "opinput:3"	"Fourth Input"
	}
    }
    parm {
	name	file
	label	"Geometry File"
	type	geometry
	default	{ "$HH/geo/defgeo.bgeo" }
	disablewhen	"{ opinput != file }"
    }
    parm {
	name	atype
	label	"Attribute Class"
	type	string
	default	{ "point" }
	menu {
	    "detail"	"Detail"
	    "point"	"Point"
	    "prim"	"Primitive"
	    "vertex"	"Vertex"
	    "pointgroup"	"Point Group"
	    "primgroup"	"Primitive Group"
	}
    }
    parm {
	name	attrib
	label	"Attribute"
	type	string
	default	{ "Cd" }
    }
    parm {
	name	i1
	label	"Point or Primitive"
	type	int
	size	1
	default	{ 0 }
    }
    parm {
	name	i2
	label	"Vertex"
	type	int
	size	1
	default	{ 0 }
    }
}

INDX              Contents       W[,Y   DialogScript   W  S~p0707070000010000000006660000000000000000010000001331301653100001300000000000TRAILER!!! # Dialog script for groundplane automatically generated 05/22/14 10:40:48

{
    name	groundplane
    script	groundplane
    label	"Ground Plane"


    help {
	""
    }
    bindhandle rx xform "Transformer" rx ""
    bindhandle ry xform "Transformer" ry ""
    bindhandle rz xform "Transformer" rz ""
    bindhandle grid_size1 xform "Transformer" sx ""
    bindhandle grid_size2 xform "Transformer" sz ""
    bindhandle tx xform "Transformer" tx ""
    bindhandle ty xform "Transformer" ty ""
    bindhandle tz xform "Transformer" tz ""

    inputlabel	1	"Input 1"
    inputlabel	2	"Input 2"
    inputlabel	3	"Input 3"
    inputlabel	4	"Input 4"

    parm {
	name	"objname"
	label	"Object Name"
	type	string
	default	{ "$OS" }
	range	{ 0 1 }
	export	none
	parmtag	{ "autoscope" "0000" }
    }
    parm {
	name	"display"
	label	"Display Proxy Geometry"
	type	toggle
	default	{ "1" }
	range	{ 0 1 }
	export	none
	parmtag	{ "autoscope" "0000" }
    }
    parm {
	name	"color"
	label	"Color"
	type	color
	size	3
	default	{ "1" "1" "1" }
	range	{ 0 1 }
	export	none
	parmtag	{ "autoscope" "0000" }
    }
    parm {
	name	"grid_size"
	label	"Grid Size"
	type	float
	size	2
	default	{ "20" "20" }
	range	{ -1 1 }
	export	none
	parmtag	{ "autoscope" "0000" }
	parmtag	{ "units" "m1" }
    }
    group {
	name	"std_switcher_0"
	label	"Initial State"

	parm {
	    name	"objpath"
	    label	"OBJ Path"
	    type	oppath
	    default	{ "" }
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	    parmtag	{ "opfilter" "!!OBJ!!" }
	    parmtag	{ "oprelative" "." }
	}
	parm {
	    name	"t"
	    label	"Position"
	    type	vector
	    size	3
	    default	{ "0" "0" "0" }
	    disablewhen	"{ objpath != \"\" }"
	    range	{ -1 1 }
	    export	none
	    parmtag	{ "autoscope" "0000" }
	    parmtag	{ "units" "m1" }
	}
	parm {
	    name	"r"
	    label	"Rotation"
	    type	vector
	    size	3
	    default	{ "0" "0" "0" }
	    disablewhen	"{ objpath != \"\" }"
	    range	{ -1 1 }
	    export	none
	    parmtag	{ "autoscope" "0000" }
	}
    }

    group {
	name	"std_switcher_0_1"
	label	"Physical"

	parm {
	    name	"bounce"
	    label	"Bounce"
	    type	float
	    default	{ "0.5" }
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000" }
	}
	parm {
	    name	"bounceforward"
	    label	"Bounce Forward"
	    type	float
	    default	{ "1" }
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	    parmtag	{ "units" "" }
	}
	parm {
	    name	"friction"
	    label	"Friction"
	    type	float
	    default	{ "1" }
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000" }
	}
	parm {
	    name	"dynamicfriction"
	    label	"Dynamic Friction Scale"
	    type	float
	    default	{ "1" }
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000" }
	}
	parm {
	    name	"temperature"
	    label	"Temperature"
	    type	float
	    default	{ "0" }
	    range	{ 0 100 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
    }

}
INDX              Contents       W[,   DialogScript   W  
Z VY0707070000010000000006660000000000000000010000001331301703000001300000000000TRAILER!!! # Dialog script for groupexpression automatically generated

{
    name	groupexpression
    script	groupexpression
    label	"Group Expression"

    help {
	""
    }

    inputlabel	1	"Geometry to Process with Group Expressions"
    inputlabel	2	"Ancillary Input, point(1, ...) to Access."
    inputlabel	3	"Ancillary Input, point(2, ...) to Access."
    inputlabel	4	"Ancillary Input, point(3, ...) to Access."

    group {
	name	"folder0"
	label	"VEXpressions"

	parm {
	    name	"grouptype"
	    label	"Group Type"
	    type	ordinal
	    default	{ "0" }
	    menu	{
		"primitive"	"Primitives"
		"point"	"Points"
		"vertex"	"Vertices"
	    }
	}
	multiparm {
	    name	"expressions"
	    label	"Group VEXpressions"
	    default	1

	    parm {
		name	"enable#"
		label	"Enable"
		type	toggle
		nolabel
		joinnext
		default	{ "1" }
	    }
	    parm {
		name	"groupname#"
		label	"Group"
		type	string
		default	{ "group#" }
		disablewhen	"{ enable# == 0 }"
		menureplace	{
		    [ "opmenu -l attribvop1 bindgroup" ]
		}
	    }
	    parm {
		name	"snippet#"
		label	"VEXpression"
		type	string
		default	{ "" }
		disablewhen	"{ enable# == 0 }"
		menureplace	{
		    [ "import vexpressionmenu" ]
		    [ "" ]
		    [ "return vexpressionmenu.buildSingleLineSnippetMenu('groupexpression/snippet')" ]
		    language	python
		}
		parmtag	{ "script_action" "import vexpressionmenu\n\nnode = kwargs['node']\nparmname = kwargs['parmtuple'].name()\n\nvexpressionmenu.createSpareParmsFromChCalls(node, parmname)" }
		parmtag	{ "script_action_help" "Creates spare parameters for each unique call of ch() " }
		parmtag	{ "script_action_icon" "BUTTONS_create_parm_from_ch" }
	    }
	    parm {
		name	"mergeop#"
		label	"Merge Op"
		type	ordinal
		default	{ "0" }
		menu	{
		    "replace"	"Replace"
		    "union"	"Union with Existing"
		    "intersect"	"Intersect with Existing"
		    "subtract"	"Subtract from Existing"
		}
	    }
	}

    }

    group {
	name	"folder0_1"
	label	"Bindings"

	parm {
	    name	"vex_cwdpath"
	    label	"Evaluation Node Path"
	    type	oppath
	    default	{ "." }
	    parmtag	{ "autoscope" "0000000000000000" }
	    parmtag	{ "oprelative" "." }
	}
	parm {
	    name	"vex_matchattrib"
	    label	"Attribute to Match"
	    type	string
	    default	{ "id" }
	    parmtag	{ "autoscope" "0000000000000000" }
	}
    }

    group {
	name	"folder0_2"
	label	"Generated Code"

	parm {
	    name	"updatecode"
	    label	"Update Code"
	    type	button
	    default	{ "0" }
	    parmtag	{ "script_callback" "hou.phm().updateCode(hou.pwd())" }
	    parmtag	{ "script_callback_language" "python" }
	}
	parm {
	    name	"generatedcode"
	    label	"Generated Code"
	    type	string
	    default	{ "" }
	    parmtag	{ "editor" "1" }
	    parmtag	{ "editorlang" "vex" }
	}
    }

}
INDX              DialogScript      Z Vi/*
 * PROPRIETARY INFORMATION.  This software is proprietary to
 * Side Effects Software Inc., and is not to be reproduced,
 * transmitted, or disclosed in any way without written permission.
 *
 * Produced by:
 *	Side Effects Software Inc
 *	477 Richmond Street West
 *	Toronto, Ontario
 *	Canada   M5V 3E7
 *	416-504-9876
 *
 */

#include <parameter.ds>

{
    name	"hvectovec"
    script	"hvectovec"
    label	"hvectovec"


    code {
	"$vec = (vector)$hvec;"
	"$fval4 = getcomp($hvec, 3);"
    }

    input	vector4	hvec	"Input Vector4"
    output	vector	vec	"Output Vector"
    output	float	fval4	"Fourth Component"

    parm {
	name	hvec
	label	"Input Vector4"
	type	float
	size	4
	default	{ 0 0 0 0 }
    }
}

INDX              DialogScript      _Z Vi/*
 * PROPRIETARY INFORMATION.  This software is proprietary to
 * Side Effects Software Inc., and is not to be reproduced,
 * transmitted, or disclosed in any way without written permission.
 *
 * Produced by:
 *	Side Effects Software Inc
 *	477 Richmond Street West
 *	Toronto, Ontario
 *	Canada   M5V 3E7
 *	416-504-9876
 *
 */

#include <parameter.ds>

{
    name	"ifconnected"
    script	"ifconnected"
    label	"ifconnected"

    code {
	"$result = $isconnected_connected != 0 ? $connected : $notconnected;"
    }

    outercode {
	"#include <shaderlayer.h>"
    }

    input	float	connected	"Input Tested For Connectivity"
    input	float	notconnected	"Default If First Input Not Connected"
    output	float	result		"Output Value"
    signature	"Float"			default { }
    signature	"Integer"		i	{ int int int }
    signature	"String"		s	{ string string string }
    signature	"2D Vector"		u	{ vector2 vector2 vector2 }
    signature	"3D Vector"		v	{ vector vector vector }
    signature	"3D Point"		p	{ point point point }
    signature	"3D Normal"		n	{ normal normal normal }
    signature	"RGB Color"		c	{ color color color }
    signature	"4D Vector"		v4	{ vector4 vector4 vector4 }
    signature	"3x3 Matrix"		m3	{ matrix3 matrix3 matrix3 }
    signature	"4x4 Matrix"		m	{ matrix matrix matrix }
    signature	"BSDF"			bsdf	{ bsdf bsdf bsdf }
    signature	"Shader Layer" 		sl	{ struct_ShaderLayer struct_ShaderLayer struct_ShaderLayer }

    signature	"Uniform Float"		uf	{ ufloat ufloat ufloat }
    signature	"Uniform 3D Vector"	uv	{ uvector uvector uvector }
    signature	"Uniform 3D Point"	up	{ upoint upoint upoint }
    signature	"Uniform 3D Normal"	un	{ unormal unormal unormal }
    signature	"Uniform RGB Color"	uc	{ ucolor ucolor ucolor }
    signature	"Uniform 4x4 Matrix"	um	{ umatrix umatrix umatrix }

    VOP_FLT_PARM(notconnected,		"Default Value",    0)
    VOP_INT_PARM(notconnected_i,	"Default Value",    0)
    VOP_STR_PARM(notconnected_s,	"Default Value",    "")
    VOP_VEC2_PARM(notconnected_u,	"Default Value",    0, 0)
    VOP_VEC_PARM(notconnected_v,	"Default Value",    0, 0, 0)
    VOP_VEC_PARM(notconnected_p,	"Default Value",    0, 0, 0)
    VOP_VEC_PARM(notconnected_n,	"Default Value",    0, 0, 0)
    VOP_CLR_PARM(notconnected_c,	"Default Value",    0, 0, 0)
    VOP_VEC4_PARM(notconnected_v4,	"Default Value",    0, 0, 0, 0)

    parm {
	name	notconnected_m3
	label	"Default Value"
	type	float
	size	9
	default	{ 1 0 0 0 1 0 0 0 1 }
    }
    parm {
	name	notconnected_m
	label	"Default Value"
	type	float
	size	16
	default	{ 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 }
    }

    VOP_FLT_PARM(notconnected_uf,	"Default Value",    0)
    VOP_VEC_PARM(notconnected_uv,	"Default Value",    0, 0, 0)
    VOP_VEC_PARM(notconnected_up,	"Default Value",    0, 0, 0)
    VOP_VEC_PARM(notconnected_un,	"Default Value",    0, 0, 0)
    VOP_CLR_PARM(notconnected_uc,	"Default Value",    0, 0, 0)
    parm {
	name	notconnected_um
	label	"Default Value"
	type	float
	size	16
	default	{ 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 }
    }

    group { name "g0" obsolete 12.0 }
    group { name "g1" obsolete 12.0 }
    group { name "g2" obsolete 12.0 }
}
INDX              DialogScript      gUoz	# Dialog script for impactanalysis automatically generated 06/03/15 18:04:57

{
    name	impactanalysis
    script	impactanalysis
    label	"Impact Analysis"


    help {
	""
    }

    inputlabel	1	"Objects to Analyse"

    parm {
	name	"display"
	label	"Display Geometry"
	type	toggle
	default	{ "1" }
	range	{ 0 1 }
	export	none
    }
    parm {
	name	"time_threshold"
	label	"Time Threshold"
	type	float
	default	{ "0.1" }
	range	{ 0 10 }
	export	none
    }
    parm {
	name	"impact_threshold"
	label	"Impact Threshold"
	type	float
	default	{ "100" }
	range	{ 0 10 }
	export	none
    }
    parm {
	name	"distance_threshold"
	label	"Distance Threshold"
	type	float
	default	{ "0" }
	range	{ 0 10 }
	export	none
    }
    parm {
	name	"force_object"
	label	"Force Impact Object"
	type	string
	default	{ "" }
	range	{ 0 1 }
	export	none
    }
    parm {
	name	"sepparm"
	label	"Separator"
	type	separator
	default	{ "" }
	range	{ 0 1 }
	export	none
    }
    parm {
	name	"addaffectors"
	baseparm
	label	"Make Objects Mutual Affectors"
	export	none
    }
    parm {
	name	"group"
	baseparm
	label	"Group"
	export	none
    }
    parm {
	name	"dataname"
	baseparm
	label	"Data Name"
	export	none
    }
    parm {
	name	"uniquedataname"
	baseparm
	label	"Unique Data Name"
	export	none
    }
    parm {
	name	"solverperobject"
	baseparm
	label	"Solver Per Object"
	export	none
    }
}
INDX              DialogScript      Z Vh/*
 * PROPRIETARY INFORMATION.  This software is proprietary to
 * Side Effects Software Inc., and is not to be reproduced,
 * transmitted, or disclosed in any way without written permission.
 *
 * Produced by:
 *	Side Effects Software Inc
 *	477 Richmond Street West
 *	Toronto, Ontario
 *	Canada   M5V 3E7
 *	416-504-9876
 *
 */

{
    name	"importattrib"
    script	"importattrib"
    label	"importattrib"


    code {
	"$adata = 0;"
	"if( $isconnected_ptnum )"
	"    $success = import($attrib, $adata, $input_index, $ptnum);"
	"else"
	"    $success = import($attrib, $adata, $input_index);"
    }

    input	string	attrib		"Attribute Name"
    input	int	input_index	"OP Input Index"
    input	int	ptnum		"Point Number"
    output	int	success		"Return 1 For Success, 0 For Failure"
    output	vector	adata		"Attribute Value"
    signature	"Float Attribute"	f  { string int int int float }
    signature	"Integer Attribute"	i  { string int int int int }
    signature	"Vector Attribute"	default { }
    signature	"Vector4 Attribute"	v4 { string int int int vector4 }
    signature	"Matrix3 Attribute"	m3 { string int int int matrix3 }
    signature	"Matrix Attribute"	m  { string int int int matrix }

    parm {
	name	attrib
	label	"Attribute"
	type	string
	default	{ "Cd" }
    }
    parm {
	name	input_index
	label	"OP Input Index"
	type	int
        size    1
        default { 0 }
	range	{ 0 3 }
    }
}

INDX              DialogScript      `Z Vi/*
 * PROPRIETARY INFORMATION.  This software is proprietary to
 * Side Effects Software Inc., and is not to be reproduced,
 * transmitted, or disclosed in any way without written permission.
 *
 * Produced by:
 *	Side Effects Software Inc
 *	477 Richmond Street West
 *	Toronto, Ontario
 *	Canada   M5V 3E7
 *	416-504-9876
 *
 */

{
    name	"inttofloat"
    script	"inttofloat"
    label	"inttofloat"


    code {
	"$fval = (float)$ival;"
    }

    input	int	ival	"Integer Value"
    output	float	fval	"Float Output"

    parm {
	name	ival
	label	"Integer Input"
	type	int
	size	1
	default	{ 0 }
    }
}

INDX              DialogScript      Z Vi/*
 * PROPRIETARY INFORMATION.  This software is proprietary to
 * Side Effects Software Inc., and is not to be reproduced,
 * transmitted, or disclosed in any way without written permission.
 *
 * Produced by:
 *	Side Effects Software Inc
 *	477 Richmond Street West
 *	Toronto, Ontario
 *	Canada   M5V 3E7
 *	416-504-9876
 *
 */

#include <parameter.ds>

{
    name	"inttovec"
    script	"inttovec"
    label	"inttovec"

    outercode {
	INCLUDE_VOPLIB
    }

    code {
	"$vec = set((float) $int1, (float) $int2, (float) $int3);"
    }

    output	vector	vec	"Output Vector"

    VOP_INT_INPUT_R(int1, "Component 1", 0, 0, 1)
    VOP_INT_INPUT_R(int2, "Component 2", 0, 0, 1)
    VOP_INT_INPUT_R(int3, "Component 3", 0, 0, 1)
}
INDX              DialogScript      Z Vi/*
 * PROPRIETARY INFORMATION.  This software is proprietary to
 * Side Effects Software Inc., and is not to be reproduced,
 * transmitted, or disclosed in any way without written permission.
 *
 * Produced by:
 *	Side Effects Software Inc
 *	477 Richmond Street West
 *	Toronto, Ontario
 *	Canada   M5V 3E7
 *	416-504-9876
 *
 */

{
    name	"invert"
    script	"invert"
    label	"invert"


    code {
	"#if !strcmp($signature, \"f\")"
	"  $inverse = 1.0 / $val;"
	"#else"
	"  $inverse = invert($val);"
	"#endif"
    }

    input	matrix	val	"Input Value"
    output	matrix	inverse	"Inverted Value"
    signature	"4x4 Matrix"	default	{ }
    signature	"3x3 Matrix"	m3	{ matrix3 matrix3 }
    signature   "2x2 Matrix"    m2      { matrix2 matrix2 }
    signature	"Float"		f	{ float float }

    parm {
	name	val
	label	"Value"
	type	float
	size	16
	default	{ 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 }
    }
    parm {
	name	val_m3
	label	"Value"
	type	float
	size	9
	default	{ 1 0 0 0 1 0 0 0 1 }
    }
    parm {
        name    val_m2
        label   "Value"
        type    float
        size    4
        default { 1 0 0 1 }
    }
    parm {
	name	val_f
	label	"Value"
	type	float
	size	1
	default	{ 1 }
    }
}
INDX              DialogScript      Z Vi/*
 * PROPRIETARY INFORMATION.  This software is proprietary to
 * Side Effects Software Inc., and is not to be reproduced,
 * transmitted, or disclosed in any way without written permission.
 *
 * Produced by:
 *	Side Effects Software Inc
 *	477 Richmond Street West
 *	Toronto, Ontario
 *	Canada   M5V 3E7
 *	416-504-9876
 *
 */

{
    name	"isconnected"
    script	"isconnected"
    label	"isconnected"


    code {
	"$connected = $isconnected_input ? 1 : 0;"
    }

    outercode {
	"#include <shaderlayer.h>"
    }

    input	float	input		"Input"
    output	int	connected	"Input Connected Or Not"

    signature	"Float"	 		default { }
    signature	"Integer"		i	{ int int }
    signature	"String"		s	{ string int }
    signature	"3D Vector" 		v	{ vector int }
    signature	"3D Point"	 	p	{ point int }
    signature	"3D Normal" 		n	{ normal int }
    signature	"RGB Color" 		c	{ color int }
    signature	"4D Vector" 		v4	{ vector4 int }
    signature	"3x3 Matrix" 		m3	{ matrix3 int }
    signature	"4x4 Matrix" 		m	{ matrix int }
    signature	"BSDF" 			b	{ bsdf int }
    signature	"Shader Layer" 		sl	{ struct_ShaderLayer int }

    signature	"Uniform Float"		uf	{ ufloat int }
    signature	"Uniform 3D Vector"	uv	{ uvector int }
    signature	"Uniform 3D Point"	up	{ upoint int }
    signature	"Uniform 3D Normal"	un	{ unormal int }
    signature	"Uniform RGB Color"	uc	{ ucolor int }
    signature	"Uniform 4x4 Matrix"	um	{ umatrix int }
}
INDX              DialogScript      DZ Vi/*
 * PROPRIETARY INFORMATION.  This software is proprietary to
 * Side Effects Software Inc., and is not to be reproduced,
 * transmitted, or disclosed in any way without written permission.
 *
 * Produced by:
 *	Side Effects Software Inc
 *	477 Richmond Street West
 *	Toronto, Ontario
 *	Canada   M5V 3E7
 *	416-504-9876
 *
 */

#include <parameter.ds>

{
    name	"isnan"
    script	"isnan"
    label	"isnan"

    code {
	"$isnan = isnan($val);"
    }

    input	float	val	"Input Value"
    output	int	isnan	"Is Nan: Is it not a number"

    VOP_FLT_PARM(val,   "Value", 1)
}
INDX              DialogScript      Z Vi/*
 * PROPRIETARY INFORMATION.  This software is proprietary to
 * Side Effects Software Inc., and is not to be reproduced,
 * transmitted, or disclosed in any way without written permission.
 *
 * Produced by:
 *	Side Effects Software Inc
 *	477 Richmond Street West
 *	Toronto, Ontario
 *	Canada   M5V 3E7
 *	416-504-9876
 *
 */

{
    name	"isshadow"
    script	"isshadow"
    label	"isshadow"


    code {
	"$isshadow = isshadowray();"
    }

    output	int	isshadow	"Is Shadow Ray"
}

INDX              DialogScript      Z Vi/*
 * PROPRIETARY INFORMATION.  This software is proprietary to
 * Side Effects Software Inc., and is not to be reproduced,
 * transmitted, or disclosed in any way without written permission.
 *
 * Produced by:
 *	Side Effects Software Inc
 *	477 Richmond Street West
 *	Toronto, Ontario
 *	Canada   M5V 3E7
 *	416-504-9876
 *
 */

#include <parameter.ds>

{
    name	"length"
    script	"length"
    label	"length"


    code {
	"$len = length($vec);"
    }

    input	vector	vec	"Vector"
    output	float	len	"Vector Length"
    signature	"3D Vector"		default	{ }
    signature	"2D Vector"		u	{ vector2 float }
    signature	"3D Point"		p	{ point float }
    signature	"3D Normal"		n	{ normal float }
    signature	"4D Vector"		v4	{ vector4 float }
    signature	"Uniform 3D Vector"	uv	{ uvector ufloat }
    signature	"Uniform 3D Point"	up	{ upoint ufloat }
    signature	"Uniform 3D Normal"	un	{ unormal float }

    VOP_VEC_PARM(vec,		"Value", 1, 1, 1)
    VOP_VEC2_PARM(vec_u,	"Value", 1, 1)
    VOP_VEC_PARM(vec_p,		"Value", 1, 1, 1)
    VOP_VEC_PARM(vec_n,		"Value", 1, 1, 1)
    VOP_VEC4_PARM(vec_v4,	"Value", 1, 1, 1, 1)
    VOP_VEC_PARM(vec_uv,	"Value", 1, 1, 1)
    VOP_VEC_PARM(vec_up,	"Value", 1, 1, 1)
    VOP_VEC_PARM(vec_un,	"Value", 1, 1, 1)

    group { name "g0" obsolete 12.0 }
}
INDX              Contents       W[,Y   DialogScript   W  gSB0707070000010000000006660000000000000000010000001331301653100001300000000000TRAILER!!! # Dialog script for linktosourceobject automatically generated 06/05/14 14:21:54

{
    name	linktosourceobject
    script	sourceobject
    label	"Link to Source Object"


    help {
	""
    }

    inputlabel	1	"Input 0"
    inputlabel	2	"Input 1"
    inputlabel	3	"Input 2"
    inputlabel	4	"Input 3"

    parm {
	name	"objpath"
	label	"OBJ Path"
	type	oppath
	default	{ "" }
	range	{ 0 1 }
	export	none
	parmtag	{ "opfilter" "!!OBJ!!" }
	parmtag	{ "oprelative" "." }
    }
    parm {
	name	"sharedata"
	label	"Data Sharing"
	type	ordinal
	default	{ "off" }
	menu	{
	    "off"	"Do Not Share Data"
	    "on"	"Share Data Across All Time"
	    "onestep"	"Share Data In One Timestep"
	}
	range	{ 0 1 }
	export	none
	parmtag	{ "autoscope" "0000000000000000" }
    }
    parm {
	name	"activation"
	label	"Activation"
	type	integer
	default	{ "1" }
	range	{ 0 10 }
	export	none
	parmtag	{ "autoscope" "0000000000000000" }
    }
    parm {
	name	"group"
	label	"Group"
	type	string
	default	{ "*" }
	menutoggle	{
	    [ "opmenu -l emptydata1 group" ]
	}
	range	{ 0 1 }
	export	none
	parmtag	{ "autoscope" "0000000000000000" }
    }
}
INDX              DialogScript      sZ Vi/*
 * PROPRIETARY INFORMATION.  This software is proprietary to
 * Side Effects Software Inc., and is not to be reproduced,
 * transmitted, or disclosed in any way without written permission.
 *
 * Produced by:
 *	Side Effects Software Inc
 *	477 Richmond Street West
 *	Toronto, Ontario
 *	Canada   M5V 3E7
 *	416-504-9876
 *
 */

#include <parameter.ds>

{
    name	"luminance"
    script	"luminance"
    label	"luminance"


    outercode {
	INCLUDE_VOPLIB
    }

    code {
	"$lum = vop_luminance($rgb);"
    }

    input	color	rgb	"RGB color"
    output	float	lum	"Luminance"

    VOP_CLR_PARM(rgb, "RGB Color", 0, 0, 0)
}
INDX              DialogScript      BZ Vi/*
 * PROPRIETARY INFORMATION.  This software is proprietary to
 * Side Effects Software Inc., and is not to be reproduced,
 * transmitted, or disclosed in any way without written permission.
 *
 * Produced by:
 *	Side Effects Software Inc
 *	477 Richmond Street West
 *	Toronto, Ontario
 *	Canada   M5V 3E7
 *	416-504-9876
 *
 */

#include <parameter.ds>

{
    name	"maddconst"
    script	"maddconst"
    label	"maddconst"


    code {
	"$scaled = ($val + $preadd) * $mulconst + $postadd;"
    }

    input	float	val		"Input Value"
    output	float	scaled		"Scaled And Shifted Value"
    signature	"Float"			default	{ }
    signature	"Integer"		i	{ int int }
    signature	"2D Vector"		u	{ vector2 vector2 }
    signature	"3D Vector"		v	{ vector vector }
    signature	"3D Point"		p	{ point point }
    signature	"3D Normal"		n	{ normal normal }
    signature	"RGB Color"		c	{ color color }
    signature	"4D Vector"		v4	{ vector4 vector4 }

    signature	"Uniform Float"		uf	{ ufloat ufloat }
    signature	"Uniform 3D Vector"	uv	{ uvector uvector }
    signature	"Uniform 3D Point"	up	{ upoint upoint }
    signature	"Uniform 3D Normal"	un	{ unormal unormal }
    signature	"Uniform RGB Color"	uc	{ ucolor ucolor }

    VOP_FLT_PARM(preadd,	"Pre-Add", 0)
    VOP_FLT_PARM(mulconst,	"Multiplier", 1)
    VOP_FLT_PARM(postadd,	"Post-Add", 0)
}
INDX              DialogScript      Z Vi/*
 * PROPRIETARY INFORMATION.  This software is proprietary to
 * Side Effects Software Inc., and is not to be reproduced,
 * transmitted, or disclosed in any way without written permission.
 *
 * Produced by:
 *	Side Effects Software Inc
 *	477 Richmond Street West
 *	Toronto, Ontario
 *	Canada   M5V 3E7
 *	416-504-9876
 *
 */

#include <parameter.ds>

{
    name	"makeinstancexform"
    script	"makeinstancexform"
    label	"makeinstancexform"


    code {
	"if ($useorient)"
	"	$xform = instance($P + $trans, {0, 0, 0}, $pscale * $scale, ($userot) ? $rot : {0, 0, 0, 1}, $orient, $pivot);"
	"else"
	"	$xform = instance($P + $trans, $useN ? $N : ($usev ? $v : {0, 0, 0}), $pscale * $scale, ($userot) ? $rot : {0, 0, 0, 1}, $useup ? $up : {0, 0, 0}, $pivot);"
    }

    VOP_VEC_INPUT(	P,		"Point Position",	0, 0, 0)
    VOP_VEC_INPUT(	trans,		"Translate",   		0, 0, 0)
    VOP_VEC4_INPUT(	orient,		"Orient",		0, 0, 0, 1)
    VOP_TOGGLE_INPUT(	useorient,	"Use Orient",		0)
    VOP_VEC_INPUT(	N,		"Normal",   		0, 0, 0)
    VOP_TOGGLE_INPUT(	useN,		"Use Normal",		0)
    VOP_VEC_INPUT(	v,		"Velocity",   		0, 0, 0)
    VOP_TOGGLE_INPUT(	usev,		"Use Velocity",		0)
    VOP_VEC_INPUT(	up,		"Up Vector",   		0, 0, 0)
    VOP_TOGGLE_INPUT(	useup,		"Use Up",		0)
    VOP_VEC4_INPUT(	rot,		"Rotation",		0, 0, 0, 1)
    VOP_TOGGLE_INPUT(	userot,		"Use Rotation",		0)
    VOP_VEC_INPUT(	scale,		"Scale",		1, 1, 1)
    VOP_FLT_INPUT(	pscale,		"Point Scale",		1)
    VOP_VEC_INPUT(	pivot,		"Pivot",		0, 0, 0)
    output	matrix	xform		"Transform Matrix"
}
INDX              Contents       W[,Y   DialogScript   W  U\0707070000010000000006660000000000000000010000001331301653100001300000000000TRAILER!!! # Dialog script for matchaxis automatically generated 07/20/15 16:41:32

{
    name	matchaxis
    script	match_axis
    label	"Match Axis"

    help {
	""
    }
    bindhandle to1 vector "Vector" vx ""
    bindhandle to2 vector "Vector" vy ""
    bindhandle to3 vector "Vector" vz ""

    inputlabel	1	"Geometry to Resize and Align"
    inputlabel	2	"Sub-Network Input #2"
    inputlabel	3	"Sub-Network Input #3"
    inputlabel	4	"Sub-Network Input #4"

    parm {
	name	"group"
	label	"Point Group"
	type	string
	default	{ "" }
	menutoggle	{
	    [ "opmenu -l attribvop1 bindgroup" ]
	}
	range	{ 0 1 }
	export	none
	parmtag	{ "autoscope" "0000000000000000" }
	parmtag	{ "script_action" "import soputils\nkwargs['geometrytype'] = hou.geometryType.Points\nkwargs['inputindex'] = 0\nsoputils.selectGroupParm(kwargs)" }
	parmtag	{ "script_action_help" "Select geometry from an available viewport." }
	parmtag	{ "script_action_icon" "BUTTONS_reselect" }
    }
    parm {
	name	"from"
	label	"From Vector"
	type	float
	size	3
	default	{ "0" "1" "0" }
	range	{ 0 10 }
	export	none
	parmtag	{ "autoscope" "0000000000000000" }
    }
    parm {
	name	"to"
	label	"To Vector"
	type	float
	size	3
	default	{ "0" "1" "0" }
	range	{ 0 10 }
	export	none
	parmtag	{ "autoscope" "0000000000000000" }
    }
}
INDX              Contents       W[,5   DialogScript   W  Z VZ0707070000010000000006660000000000000000010000001331301646500001300000000000TRAILER!!! # Dialog script for matchsize automatically generated 06/24/16 10:35:45

{
    name	matchsize
    script	matchsize
    label	"Match Size"

    help {
	""
	""
	""
    }
    bindhandle sizex xform "Transformer" sx ""
    bindhandle sizey xform "Transformer" sy ""
    bindhandle sizez xform "Transformer" sz ""
    bindhandle tx xform "Transformer" tx ""
    bindhandle ty xform "Transformer" ty ""
    bindhandle tz xform "Transformer" tz ""

    inputlabel	1	"Geometry to move and resize"
    inputlabel	2	"Geometry whose Bounding Box is to be matched"
    inputlabel	3	"Sub-Network Input #3"
    inputlabel	4	"Sub-Network Input #4"

    parm {
	name	"size"
	label	"Size"
	type	vector
	size	3
	default	{ "1" "1" "1" }
	disablewhen	"{ ninputs() == 2 }"
	range	{ -1 1 }
	parmtag	{ "autoscope" "0000000000000000" }
    }
    parm {
	name	"t"
	label	"Center"
	type	vector
	size	3
	default	{ "0" "0" "0" }
	disablewhen	"{ ninputs() == 2 }"
	range	{ -1 1 }
	parmtag	{ "autoscope" "0000000000000000" }
    }
    parm {
	name	"dotranslate"
	label	"Do Translate"
	type	toggle
	default	{ "1" }
	range	{ 0 1 }
    }
    parm {
	name	"doscale"
	label	"Do Scale"
	type	toggle
	default	{ "1" }
	range	{ 0 1 }
    }
}
INDX              DialogScript      Z Vi/*
 * PROPRIETARY INFORMATION.  This software is proprietary to
 * Side Effects Software Inc., and is not to be reproduced,
 * transmitted, or disclosed in any way without written permission.
 *
 * Produced by:
 *	Side Effects Software Inc
 *	477 Richmond Street West
 *	Toronto, Ontario
 *	Canada   M5V 3E7
 *	416-504-9876
 *
 */

#include <parameter.ds>

{
    name	"mix"
    script	"mix"
    label	"mix"


    code {
	"#ifdef __vex"
	"  $blend = lerp($input1, $input2, $bias);"
	"#else"
	"  $blend = mix($input1, $input2, $bias);"
	"#endif"
    }

    input	float	input1	"Input 1"
    input	float	input2	"Input 2"
    input	float	bias	"Interpolation Bias"
    output	float	blend	"Interpolated Value"

    signature	"Float"	    		default { }
    signature	"2D Vector"	 	u  { vector2 vector2 float vector2 }
    signature	"3D Vector"	 	v  { vector vector float vector }
    signature	"3D Point"	 	p  { point point float point }
    signature	"3D Normal"	 	n  { normal normal float normal }
    signature	"RGB Color"	 	c  { color color float color }
    signature	"4D Vector"	 	v4  { vector4 vector4 float vector4 }
    signature	"BSDF"			b  { bsdf bsdf float bsdf }
    signature	"Uniform Float"		uf  { ufloat ufloat ufloat ufloat }
    signature	"Uniform 3D Vector"	uv  { uvector uvector ufloat uvector }
    signature	"Uniform 3D Point"	up  { upoint upoint ufloat upoint }
    signature	"Uniform 3D Normal"	un  { unormal unormal ufloat unormal }
    signature	"Uniform RGB Color"	uc  { ucolor ucolor ufloat ucolor }

    VOP_FLT_PARM_R(bias, "Bias", .5, 0, 1)
    
    VOP_FLT_PARM(input1,	"Input 1", 0)
    VOP_FLT_PARM(input2,	"Input 2", 1)
    VOP_VEC2_PARM(input1_u,	"Input 1", 0, 0)
    VOP_VEC2_PARM(input2_u,	"Input 2", 1, 1)
    VOP_VEC_PARM(input1_v,	"Input 1", 0, 0, 0)
    VOP_VEC_PARM(input2_v,	"Input 2", 1, 1, 1)
    VOP_VEC_PARM(input1_p,	"Input 1", 0, 0, 0)
    VOP_VEC_PARM(input2_p,	"Input 2", 1, 1, 1)
    VOP_VEC_PARM(input1_n,	"Input 1", 0, 0, 0)
    VOP_VEC_PARM(input2_n,	"Input 2", 1, 1, 1)
    VOP_CLR_PARM(input1_c,	"Input 1", 0, 0, 0)
    VOP_CLR_PARM(input2_c,	"Input 2", 1, 1, 1)
    VOP_VEC4_PARM(input1_v4,	"Input 1", 0, 0, 0, 0)
    VOP_VEC4_PARM(input2_v4,	"Input 2", 1, 1, 1, 1)
    VOP_FLT_PARM(input1_uf,	"Input 1", 0)
    VOP_FLT_PARM(input2_uf,	"Input 2", 1)
    VOP_VEC_PARM(input1_uv,	"Input 1", 0, 0, 0)
    VOP_VEC_PARM(input2_uv,	"Input 2", 1, 1, 1)
    VOP_VEC_PARM(input1_up,	"Input 1", 0, 0, 0)
    VOP_VEC_PARM(input2_up,	"Input 2", 1, 1, 1)
    VOP_VEC_PARM(input1_un,	"Input 1", 0, 0, 0)
    VOP_VEC_PARM(input2_un,	"Input 2", 1, 1, 1)
    VOP_CLR_PARM(input1_uc,	"Input 1", 0, 0, 0)
    VOP_CLR_PARM(input2_uc,	"Input 2", 1, 1, 1)

    group { name "gf" obsolete 12.0 }
    group { name "gs" obsolete 12.0 }
    group { name "gv" obsolete 12.0 }
    group { name "gv4" obsolete 12.0 }
}
INDX              Contents       W[,5   DialogScript   W  .4Z V\0707070000010000000006660000000000000000010000001331301646500001300000000000TRAILER!!! # Dialog script for mountain::2.0 automatically generated

{
    name	mountain::2.0
    script	mountain::2.0
    label	Mountain

    help {
	""
    }
    bindhandle offsetx xform "Transformer" tx ""
    bindhandle offsety xform "Transformer" ty ""
    bindhandle offsetz xform "Transformer" tz ""

    inputlabel	1	"Sub-Network Input #1"
    inputlabel	2	"Sub-Network Input #2"
    inputlabel	3	"Sub-Network Input #3"
    inputlabel	4	"Sub-Network Input #4"

    parm {
        name    "group"
        label   "Group"
        type    string
        default { "" }
        menutoggle {
            [ "opmenu -l attribvop1 bindgroup" ]
        }
        parmtag { "autoscope" "0000000000000000" }
        parmtag { "script_action" "import soputils\nkwargs['geometrytype'] = hou.geometryType.Points\nkwargs['inputindex'] = 0\nsoputils.selectGroupParm(kwargs)" }
        parmtag { "script_action_help" "Select geometry from an available viewport.\nShift-click to turn on Select Groups." }
        parmtag { "script_action_icon" "BUTTONS_reselect" }
        bindselector everything "Transform Points"
            "Select the geometry to mountain and press Enter to complete. Middle mouse to select. Left mouse to select and drag."
            0 1 0xffffffff 0 "" 0
    }
    parm {
        name    "centernoise"
        label   "Center Noise"
        type    toggle
        default { "on" }
        parmtag { "autoscope" "0000000000000000" }
        parmtag { "parmvop" "1" }
        parmtag { "shaderparmcontexts" "cvex" }
    }
    parm {
        name    "height"
        label   "Height"
        type    float
        default { "1" }
        range   { 0 10 }
        parmtag { "autoscope" "0000000000000000" }
        parmtag { "parmvop" "1" }
        parmtag { "shaderparmcontexts" "cvex" }
    }
    parm {
        name    "elementsize"
        label   "Element Size"
        type    float
        default { "1" }
        range   { 0 10 }
        parmtag { "autoscope" "0000000000000000" }
        parmtag { "parmvop" "1" }
        parmtag { "shaderparmcontexts" "cvex" }
    }
    parm {
        name    "elementscale"
        label   "Scale"
        type    vector
        size    3
        default { "1" "1" "1" }
        range   { 0 10 }
        parmtag { "autoscope" "0000000000000000" }
        parmtag { "parmvop" "1" }
        parmtag { "shaderparmcontexts" "cvex" }
    }
    parm {
        name    "offset"
        label   "Offset"
        type    vector
        size    3
        default { "0" "0" "0" }
        range   { 0 10 }
        parmtag { "autoscope" "0000000000000000" }
        parmtag { "parmvop" "1" }
        parmtag { "shaderparmcontexts" "cvex" }
    }
    parm {
        name    "pulselength"
        label   "Pulse Length"
        type    float
        default { "1" }
        range   { 0 1 }
        parmtag { "autoscope" "0000000000000000" }
        parmtag { "parmvop" "1" }
        parmtag { "shaderparmcontexts" "cvex" }
    }
    parm {
        name    "time"
        label   "Time"
        type    float
        default { "0" }
        range   { 0 1 }
        parmtag { "autoscope" "0000000000000000" }
        parmtag { "parmvop" "1" }
        parmtag { "shaderparmcontexts" "cvex" }
    }
    groupsimple {
        name    "folder0"
        label   "Noise Settings"

        parm {
            name    "basis"
            label   "Noise Type"
            type    string
            default { "simplex" }
            menu {
                "sine"      "Sinusoid"
                "perlin"    "Perlin"
                "pperlin"   "Periodic Perlin"
                "simplex"   "Simplex (Improved Perlin)"
                "sparse"    "Sparse Convolution"
                "flow"      "Flow"
                "pflow"     "Periodic Flow"
                "worleyFA"  "Worley (cellular) F1"
                "worleyFB"  "Worley (cellular) F2-F1"
                "mworleyFA" "Manhattan Worley (cellular) F1"
                "mworleyFB" "Manhattan Worley (cellular) F2-F1"
                "cworleyFA" "Chebyshev Worley (cellular) F1"
                "cworleyFB" "Chebyshev Worley (cellular) F2-F1"
                "alligator" "Alligator"
            }
            range   { 0 1 }
            unquoted
            parmtag { "autoscope" "0000000000000000" }
        }
        parm {
            name    "fractal"
            label   "Fractal Type"
            type    string
            default { "hmfT" }
            menu {
                "none"  "None"
                "fBm"   "Standard (fBm)"
                "mfT"   "Terrain"
                "hmfT"  "Hybrid Terrain"
            }
            range   { 0 1 }
            unquoted
            parmtag { "autoscope" "0000000000000000" }
        }
        parm {
            name    "oct"
            label   "Max Octaves"
            type    integer
            default { "8" }
            range   { 0 16 }
            parmtag { "autoscope" "0000000000000000" }
            parmtag { "parmvop" "1" }
            parmtag { "shaderparmcontexts" "cvex" }
        }
        parm {
            name    "lac"
            label   "Lacunarity"
            type    float
            default { "1.841" }
            range   { 0 4 }
            parmtag { "autoscope" "0000000000000000" }
            parmtag { "parmvop" "1" }
            parmtag { "shaderparmcontexts" "cvex" }
        }
        parm {
            name    "rough"
            label   "Roughness"
            type    float
            default { "0.5" }
            range   { 0 1 }
            parmtag { "autoscope" "0000000000000000" }
            parmtag { "parmvop" "1" }
            parmtag { "shaderparmcontexts" "cvex" }
        }
        parm {
            name    "flowrot"
            label   "Flow Rotation"
            type    float
            default { "0" }
            disablewhen "{ basis != flow basis != pflow }"
            range   { 0 1 }
            parmtag { "autoscope" "0000000000000000" }
            parmtag { "parmvop" "1" }
            parmtag { "shaderparmcontexts" "cvex" }
        }
    }

    groupcollapsible {
        name    "folder1"
        label   "Post Processing"

        parm {
            name    "fold"
            label   "Fold"
            type    toggle
            default { "off" }
            parmtag { "autoscope" "0000000000000000" }
            parmtag { "parmvop" "1" }
            parmtag { "shaderparmcontexts" "cvex" }
        }
        parm {
            name    "complement"
            label   "Complement"
            type    toggle
            default { "off" }
            parmtag { "autoscope" "0000000000000000" }
            parmtag { "parmvop" "1" }
            parmtag { "shaderparmcontexts" "cvex" }
        }
        parm {
            name    "dogain"
            label   "Do Gain"
            type    toggle
            nolabel
            joinnext
            default { "off" }
            parmtag { "autoscope" "0000000000000000" }
            parmtag { "parmvop" "1" }
            parmtag { "shaderparmcontexts" "cvex" }
        }
        parm {
            name    "gain"
            label   "Gain"
            type    float
            default { "0.5" }
            disablewhen "{ dogain == 0 }"
            range   { 0 1 }
            parmtag { "autoscope" "0000000000000000" }
            parmtag { "parmvop" "1" }
            parmtag { "shaderparmcontexts" "cvex" }
        }
        parm {
            name    "dobias"
            label   "Do Bias"
            type    toggle
            nolabel
            joinnext
            default { "off" }
            parmtag { "autoscope" "0000000000000000" }
            parmtag { "parmvop" "1" }
            parmtag { "shaderparmcontexts" "cvex" }
        }
        parm {
            name    "bias"
            label   "Bias"
            type    float
            default { "0.5" }
            disablewhen "{ dobias == 0 }"
            range   { 0 1 }
            parmtag { "autoscope" "0000000000000000" }
            parmtag { "parmvop" "1" }
            parmtag { "shaderparmcontexts" "cvex" }
        }
        groupsimple {
            name    "folder2"
            label   "Clipping"

            parm {
                name    "clipmin"
                label   "Clipping Minimum"
                type    float
                default { "0" }
                range   { 0 1 }
                parmtag { "autoscope" "0000000000000000" }
                parmtag { "parmvop" "1" }
                parmtag { "shaderparmcontexts" "cvex" }
            }
            parm {
                name    "clipmax"
                label   "Clipping Maximum"
                type    float
                default { "1" }
                range   { 0 1 }
                parmtag { "autoscope" "0000000000000000" }
                parmtag { "parmvop" "1" }
                parmtag { "shaderparmcontexts" "cvex" }
            }
        }

    }

    groupcollapsible {
        name    "folder3"
        label   "Distortion"

        groupsimple {
            name    "folder4"
            label   "Lattice Warp"

            parm {
                name    "dolwarp"
                label   "Enable Lattice Warp"
                type    toggle
                default { "off" }
                parmtag { "autoscope" "0000000000000000" }
                parmtag { "parmvop" "1" }
                parmtag { "shaderparmcontexts" "cvex" }
            }
            parm {
                name    "accuml"
                label   "Accumulate Lattice Warp"
                type    toggle
                default { "on" }
                disablewhen "{ dolwarp == 0 }"
                parmtag { "autoscope" "0000000000000000" }
                parmtag { "parmvop" "1" }
                parmtag { "shaderparmcontexts" "cvex" }
            }
            parm {
                name    "dispfreq"
                label   "Freq"
                type    float
                default { "1" }
                disablewhen "{ dolwarp == 0 }"
                range   { 0 1 }
                parmtag { "autoscope" "0000000000000000" }
                parmtag { "parmvop" "1" }
                parmtag { "shaderparmcontexts" "cvex" }
            }
            parm {
                name    "disp"
                label   "Lattice Warp"
                type    float
                default { "0.1" }
                disablewhen "{ dolwarp == 0 }"
                range   { -0.5 0.5 }
                parmtag { "autoscope" "0000000000000000" }
                parmtag { "parmvop" "1" }
                parmtag { "shaderparmcontexts" "cvex" }
            }
        }

        groupsimple {
            name    "folder5"
            label   "Gradient Warp"

            parm {
                name    "dogwarp"
                label   "Enable Gradient Warp"
                type    toggle
                default { "off" }
                parmtag { "autoscope" "0000000000000000" }
                parmtag { "parmvop" "1" }
                parmtag { "shaderparmcontexts" "cvex" }
            }
            parm {
                name    "accumg"
                label   "Accumulate Gradient Warp"
                type    toggle
                default { "off" }
                disablewhen "{ dogwarp == 0 }"
                parmtag { "autoscope" "0000000000000000" }
                parmtag { "parmvop" "1" }
                parmtag { "shaderparmcontexts" "cvex" }
            }
            parm {
                name    "gflow"
                label   "Gradient Warp"
                type    float
                default { "0.1" }
                disablewhen "{ dogwarp == 0 }"
                range   { -0.5 0.5 }
                parmtag { "autoscope" "0000000000000000" }
                parmtag { "parmvop" "1" }
                parmtag { "shaderparmcontexts" "cvex" }
            }
        }

    }

}
INDX              DialogScript      Z Vi/*
 * PROPRIETARY INFORMATION.  This software is proprietary to
 * Side Effects Software Inc., and is not to be reproduced,
 * transmitted, or disclosed in any way without written permission.
 *
 * Produced by:
 *	Side Effects Software Inc
 *	477 Richmond Street West
 *	Toronto, Ontario
 *	Canada   M5V 3E7
 *	416-504-9876
 *
 */

{
    name	"mulconst"
    script	"mulconst"
    label	"mulconst"


    code {
	"$scaled = $val * $mulconst;"
    }

    descriptiveparm	mulconst

    input	float	val		"Input Value"
    output	float	scaled		"Input Value * Constant"
    signature	"Float"			default	{ }
    signature	"Integer"		i	{ int int }
    signature	"2D Vector"		u	{ vector2 vector2 }
    signature	"3D Vector"		v	{ vector vector }
    signature	"3D Point"		p	{ point point }
    signature	"3D Normal"		n	{ normal normal }
    signature	"RGB Color"		c	{ color color }
    signature	"BSDF"			b	{ bsdf bsdf }
    signature	"4D Vector"		v4	{ vector4 vector4 }
    signature	"3x3 Matrix"		m3	{ matrix3 matrix3 }
    signature	"4x4 Matrix "		m4	{ matrix matrix }
    
    signature	"Uniform Float"		uf	{ ufloat ufloat }
    signature	"Uniform 3D Vector"	uv	{ uvector uvector }
    signature	"Uniform 3D Point"	up	{ upoint upoint }
    signature	"Uniform 3D Normal"	un	{ unormal unormal }
    signature	"Uniform RGB Color"	uc	{ ucolor ucolor }

    parm {
	name	mulconst
	label	"Multiplier"
	type	float
	size	1
	default	{ 1.0 }
    }
}
INDX              DialogScript      xZ Vi/*
 * PROPRIETARY INFORMATION.  This software is proprietary to
 * Side Effects Software Inc., and is not to be reproduced,
 * transmitted, or disclosed in any way without written permission.
 *
 * Produced by:
 *	Side Effects Software Inc
 *	477 Richmond Street West
 *	Toronto, Ontario
 *	Canada   M5V 3E7
 *	416-504-9876
 *
 */

{
    name	"negate"
    script	"negate"
    label	"negate"


    code {
	"$negated = -$val;"
    }

    input	int	val		"Input Value"
    output	int	negated		"Negated Value"
    signature	"Integer"		default	{ }
    signature	"Float"			f	{ float float }
    signature	"2D Vector"		u	{ vector2 vector2 }
    signature	"3D Vector"		v	{ vector vector }
    signature	"3D Point"		p	{ point point }
    signature	"3D Normal"		n	{ normal normal }
    signature	"RGB Color"		c	{ color color }
    signature	"4D Vector"		v4	{ vector4 vector4 }

    signature	"Uniform Float"		uf	{ ufloat ufloat }
    signature	"Uniform 3D Vector"	uv	{ uvector uvector }
    signature	"Uniform 3D Point"	up	{ upoint upoint }
    signature	"Uniform 3D Normal"	un	{ unormal unormal }
    signature	"Uniform RGB Color"	uc	{ ucolor ucolor }
}
INDX              DialogScript      Z Vh/*
 * PROPRIETARY INFORMATION.  This software is proprietary to
 * Side Effects Software Inc., and is not to be reproduced,
 * transmitted, or disclosed in any way without written permission.
 *
 * Produced by:
 *	Side Effects Software Inc
 *	477 Richmond Street West
 *	Toronto, Ontario
 *	Canada   M5V 3E7
 *	416-504-9876
 *
 */

{
    name	"neighbour"
    script	"neighbour"
    label	"neighbour"


    code {
	"$neighptnum = neighbour($input_index, $ptnum, $neighnum);"
    }

    input	int	input_index	"OP Input Index"
    input	int	ptnum		"Point Number"
    input	int	neighnum	"Neighbour Number"
    output	int	neighptnum	"Point Number of Given Neighbour"

    parm {
	name	input_index
	label	"OP Input Index"
	type	int
        size    1
        default { 0 }
	range	{ 0 3 }
    }

    parm {
	name	ptnum
	label	"Point Number"
	type	int
	size	1
	default	{ 0 }
    }

    parm {
	name	neighnum
	label	"Neighbour Number"
	type	int
	size	1
	default { 0 }
    }
}
INDX              DialogScript      :Z Vh/*
 * PROPRIETARY INFORMATION.  This software is proprietary to
 * Side Effects Software Inc., and is not to be reproduced,
 * transmitted, or disclosed in any way without written permission.
 *
 * Produced by:
 *	Side Effects Software Inc
 *	477 Richmond Street West
 *	Toronto, Ontario
 *	Canada   M5V 3E7
 *	416-504-9876
 *
 */

{
    name	"neighbourcount"
    script	"neighbourcount"
    label	"neighbourcount"


    code {
	"$count = neighbourcount($input_index, $ptnum);"
    }

    input	int	input_index	"OP Input Index"
    input	int	ptnum		"Point Number"
    output	int	count		"Number of Neighbours"

    parm {
	name	input_index
	label	"OP Input Index"
	type	int
        size    1
        default { 0 }
	range	{ 0 3 }
    }

    parm {
	name	ptnum
	label	"Point Number"
	type	int
	size	1
	default	{ 0 }
    }	    
}
INDX              DialogScript      oZ Vi/*
 * PROPRIETARY INFORMATION.  This software is proprietary to
 * Side Effects Software Inc., and is not to be reproduced,
 * transmitted, or disclosed in any way without written permission.
 *
 * Produced by:
 *	Side Effects Software Inc
 *	477 Richmond Street West
 *	Toronto, Ontario
 *	Canada   M5V 3E7
 *	416-504-9876
 *
 */

#include <parameter.ds>

{
    name	"normalize"
    script	"normalize"
    label	"normalize"


    code {
	"$nvec = normalize($vec);"
    }

    input	normal	vec	"Input Vector"
    output	normal	nvec	"Normalized Vector"

    signature	"3D Normal"		default { }
    signature	"2D Vector"		u	{ vector2 vector2 }
    signature	"3D Point"		p  { point point }
    signature	"3D Vector"		v  { vector vector }
    signature	"4D Vector"		v4  { vector4 vector4 }
    signature	"Uniform 3D Normal"	un { unormal unormal }
    signature	"Uniform 3D Point"	up { upoint upoint }
    signature	"Uniform 3D Vector"	uv { uvector uvector }

    VOP_VEC_PARM(vec,   "Normal",	1, 0, 0)
    VOP_VEC2_PARM(vec_u, "Normal",	1, 0)
    VOP_VEC_PARM(vec_p, "Normal",	1, 0, 0)
    VOP_VEC_PARM(vec_v, "Normal",	1, 0, 0)
    VOP_VEC4_PARM(vec_v4, "Quaternion",	0, 0, 0, 1)
    VOP_VEC_PARM(vec_un, "Normal",	1, 0, 0)
    VOP_VEC_PARM(vec_up, "Normal",	1, 0, 0)
    VOP_VEC_PARM(vec_uv, "Normal",	1, 0, 0)
    
    group { name "g0" obsolete 12.0 }
    group { name "g1" obsolete 12.0 }
}
INDX              DialogScript      Z Vi/*
 * PROPRIETARY INFORMATION.  This software is proprietary to
 * Side Effects Software Inc., and is not to be reproduced,
 * transmitted, or disclosed in any way without written permission.
 *
 * Produced by:
 *	Side Effects Software Inc
 *	477 Richmond Street West
 *	Toronto, Ontario
 *	Canada   M5V 3E7
 *	416-504-9876
 *
 */

{
    name	"not"
    script	"not"
    label	"not"


    code {
	"#ifdef __vex"
	"    if ($bitwise)"
	"        $not = ~$input;"
	"    else"
	"        $not = !$input;"
	"#else"
	"    $not = ($input == 0) ? 1 : 0;"
	"#endif"
    }

    input	int	input	"Input Value"
    output	int	not	"\"Not\" Input"

    parm {
	name	bitwise
	label	"Bitwise Operation"
	type	toggle
	size	1
	default	{ 0 }
    }

}

INDX              Contents       W[,Y   DialogScript   W   F0707070000010000000006660000000000000000010000001331301653100001300000000000TRAILER!!! # Dialog script for null automatically generated 09/05/07 11:45:15

{
    name	null
    script	null
    label	Null


    help {
	""
    }

    inputlabel	1	"Input 0"
    inputlabel	2	"Input 1"
    inputlabel	3	"Input 2"
    inputlabel	4	"Input 3"

}
INDX              Contents       W[,Y   DialogScript   W  T0707070000010000000006660000000000000000010000001331301653100001300000000000TRAILER!!! # Dialog script for objpos automatically generated 01/20/15 16:37:59

{
    name	objpos
    script	objpos
    label	"OBJ Position"


    help {
	""
    }

    inputlabel	1	"Input 0"
    inputlabel	2	"Input 1"
    inputlabel	3	"Input 2"
    inputlabel	4	"Input 3"

    parm {
	name	"objpath"
	label	"OBJ Path"
	type	oppath
	default	{ "" }
	range	{ 0 1 }
	export	none
	parmtag	{ "autoscope" "0000" }
	parmtag	{ "opfilter" "!!OBJ!!" }
	parmtag	{ "oprelative" "." }
    }
    parm {
	name	"undogeoxform"
	label	"Compensate for Geometry Transform"
	type	toggle
	default	{ "1" }
	range	{ 0 1 }
	export	none
    }
    parm {
	name	"geopivot"
	label	"Use Geometry Translation for Pivot"
	type	toggle
	default	{ "0" }
	disablewhen	"{ undogeoxform == 0 }"
	range	{ 0 1 }
	export	none
    }
    parm {
	name	"defaultparmop"
	label	"Default Operation"
	type	integer
	default	{ "1" }
	menu	{
	    "initial"	"Set Initial"
	    "always"	"Set Always"
	    "never"	"Set Never"
	}
	range	{ 0 10 }
	export	none
	parmtag	{ "autoscope" "0000" }
    }
    parm {
	name	"sharedata"
	label	"Data Sharing"
	type	integer
	default	{ "0" }
	menu	{
	    "off"	"Do Not Share Data"
	    "on"	"Share Data Across All Time"
	    "onestep"	"Share Data In One Timestep"
	}
	range	{ 0 10 }
	export	none
	parmtag	{ "autoscope" "0000" }
    }
    parm {
	name	"activation"
	label	"Activation"
	type	integer
	default	{ "1" }
	range	{ 0 10 }
	export	none
	parmtag	{ "autoscope" "0000" }
    }
    parm {
	name	"group"
	label	"Group"
	type	string
	default	{ "*" }
	menutoggle	{
	    [ "opmenu -l motion1 group" ]
	}
	range	{ 0 1 }
	export	none
	parmtag	{ "autoscope" "0000" }
    }
    parm {
	name	"dataname"
	label	"Data Name"
	type	string
	default	{ "Position" }
	range	{ 0 1 }
	export	none
	parmtag	{ "autoscope" "0000" }
    }
    parm {
	name	"uniquedataname"
	label	"Unique Data Name"
	type	toggle
	default	{ "0" }
	range	{ 0 1 }
	export	none
	parmtag	{ "autoscope" "0000" }
    }
}
INDX              Contents       W[,Y   DialogScript   W  	Z V?0707070000010000000006660000000000000000010000001331301653100001300000000000TRAILER!!! # Dialog script for output automatically generated

{
    name	output
    script	output
    label	Output


    help {
	""
    }

    inputlabel	1	"Input 1"
    inputlabel	2	"Input 2"
    inputlabel	3	"Input 3"
    inputlabel	4	"Input 4"

    parm {
        name    "execute"
        label   "Save to Disk"
        type    button
        joinnext
        default { "0" }
        range   { 0 1 }
        parmtag { "autoscope" "0000000000000000" }
        parmtag { "takecontrol" "always" }
    }
    parm {
        name    "executebackground"
        label   "Save to Disk in Background"
        type    button
        default { "0" }
        range   { 0 1 }
        parmtag { "autoscope" "0000000000000000" }
        parmtag { "script_callback" "" }
        parmtag { "takecontrol" "always" }
    }
    parm {
        name    "f"
        label   "Start/End/Inc"
        type    float
        size    3
        default { "$FSTART" "$FEND" "1" }
        disablewhen "{ trange == off }"
        range   { 0 10 }
        parmtag { "autoscope" "0000000000000000" }
    }
    parm {
        name    "take"
        label   "Render with Take"
        type    string
        default { "_current_" }
        menu {
            [ "opmenu -l render take" ]
        }
        range   { 0 1 }
        parmtag { "autoscope" "0000000000000000" }
    }
    parm {
        name    "dopoutput"
        label   "Output File"
        type    file
        default { "$HIP/sim/$HIPNAME.`opname(\"..\")`.$SF.sim" }
        menureplace {
            [ "opmenu -l rop_dop1 dopoutput" ]
        }
        range   { 0 1 }
        parmtag { "autoscope" "0000000000000000" }
        parmtag { "filechooser_mode" "write" }
    }
    parm {
        name    "usesimframes"
        label   "Output Every Sim Frame Using $SF"
        type    toggle
        default { "on" }
        range   { 0 1 }
        parmtag { "autoscope" "0000000000000000" }
    }
    parm {
        name    "mkpath"
        label   "Create Intermediate Directories"
        type    toggle
        default { "on" }
        range   { 0 1 }
        parmtag { "autoscope" "0000000000000000" }
    }
    parm {
        name    "initsim"
        label   "Initialize Simulation OPs"
        type    toggle
        default { "off" }
        range   { 0 1 }
        parmtag { "autoscope" "0000000000000000" }
    }
    parm {
        name    "alfprogress"
        label   "Alfred Style Progress"
        type    toggle
        default { "off" }
        range   { 0 1 }
        parmtag { "autoscope" "0000000000000000" }
    }
}
INDX              DialogScript      S0|# Dialog script for pbrdiffuse automatically generated 03/24/14 17:24:12

{
    name	pbrdiffuse
    script	pbrdiffuse
    label	"Physically Based Diffuse"

    outercode {
	""
    }

    code {
	"#ifdef VOP_SHADING"
	"vector $tnN = $isconnected_nN ? $nN : normalize(N);"
	"vector $tNg = dot($tnN, Ng) > 0 ? Ng : -Ng;"
	"#else"
	"vector $tnN = $isconnected_nN ? $nN : {0, 1, 0};"
	"vector $tNg = $tnN;"
	"#endif"
	""
	"if ($model != \"translucent\")"
	"{"
	"    if ($drough > 0)"
	"        $f = 2.0*diffuse($tnN, $tNg, $drough, \"label\", $label);"
	"    else"
	"        $f = 2.0*diffuse($tnN, $tNg, \"label\", $label);"
	"}"
	"else"
	"{"
	"    $f = 2.0*translucent($tnN, $tNg, \"label\", $label);"
	"}"
    }

    input	string	model	"Diffuse Model"
    input	string	label	"Component Label"
    input	vector	nN	Normal
    input	float	drough	"Diffuse Roughness"
    output	bsdf	f	BSDF
    inputflags	model	0
    inputflags	label	0
    inputflags	nN	0
    inputflags	drough	0
    signature	"Default Inputs"	default	{ string string vector float bsdf }

    outputoverrides	default
    {
	___begin	auto
			(0)
    }

    help {
	""
    }

    parm {
	name	"model"
	label	"Diffuse Model"
	type	string
	default	{ "diffuse" }
	menu	{
	    "diffuse"	"Diffuse"
	    "translucent"	"Translucent"
	}
	range	{ 0 1 }
	export	none
    }
    parm {
	name	"label"
	label	"Component Label"
	type	string
	default	{ "" }
	menureplace	{
	    "diffuse"	"Diffuse"
	    "specular"	"Specular"
	    "reflect"	"Reflect"
	    "refract"	"Refract"
	}
	range	{ 0 1 }
	export	none
    }
    parm {
	name	"drough"
	label	"Diffuse Roughness"
	type	float
	default	{ "0" }
	disablewhen	"{ model == translucent }"
	range	{ 0 1 }
	export	none
    }
}
INDX              DialogScript      <[{# Context: Surface

/*
 * Houdini Dialog Script generated automatically
 * by vcc from source file pbrlighting.
 * Generated: Thu Jun  7 03:32:11 2018
 */

{
    name	"pbrlighting"
    script	"pbrlighting"
    label	"PBR Lighting"
    outercode {
        "import pbrlighting;"
    }
    code {
        "pbrlighting("
        "\"direct\", $direct,"
        "\"indirect\", $indirect,"
        "\"all\", $all,"
        "\"indirect_emission\", $indirect_emission,"
        "\"direct_comp\", $direct_comp,"
        "\"indirect_comp\", $indirect_comp,"
        "\"all_comp\", $all_comp,"
        "\"direct_noshadow\", $direct_noshadow,"
        "\"direct_shadow\", $direct_shadow,"
        "\"indirect_noshadow\", $indirect_noshadow,"
        "\"indirect_shadow\", $indirect_shadow,"
        "\"level\", $level,"
        "\"diffuselevel\", $diffuselevel,"
        "\"specularlevel\", $specularlevel,"
        "\"volumelevel\", $volumelevel,"
        "\"direct_samples\", $direct_samples,"
        "\"indirect_samples\", $indirect_samples,"
        "\"nlights\", $nlights,"
        "\"direct_noshadow_comp\", $direct_noshadow_comp,"
        "\"indirect_noshadow_comp\", $indirect_noshadow_comp,"
        "\"inF\", $F,"
        "\"inOf\", $Of,"
        "\"use_renderstate\", $use_renderstate,"
        "\"pathtype\", $pathtype,"
        "\"constrainmaxrough\", $constrainmaxrough,"
        "\"raylimiteval\", $raylimiteval,"
        "\"reflectratio\", $reflectratio,"
        "\"colorlimit\", $colorlimit,"
        "\"colorlimitdecay\", $colorlimitdecay,"
        "\"colorlimitdepth\", $colorlimitdepth,"
        "\"colorspace\", $colorspace,"
        "\"rayfilteramount\", $rayfilteramount,"
        "\"misbias\", $misbias,"
        "\"doshadow\", $doshadow,"
        "\"multilight\", $multilight,"
        "\"recursive\", $recursive,"
        "\"absorption\", $absorption,"
        "\"ndpriority\", $ndpriority,"
        "\"ndior\", $ndior);"
    }
    output	vector	direct	"direct"
    output	vector	indirect	"indirect"
    output	vector	all	"all"
    output	vector	indirect_emission	"indirect_emission"
    output	vectora	direct_comp	"direct_comp"
    output	vectora	indirect_comp	"indirect_comp"
    output	vectora	all_comp	"all_comp"
    output	vector	direct_noshadow	"direct_noshadow"
    output	vector	direct_shadow	"direct_shadow"
    output	vector	indirect_noshadow	"indirect_noshadow"
    output	vector	indirect_shadow	"indirect_shadow"
    output	float	level	"level"
    output	float	diffuselevel	"diffuselevel"
    output	float	specularlevel	"specularlevel"
    output	float	volumelevel	"volumelevel"
    output	float	direct_samples	"direct_samples"
    output	float	indirect_samples	"indirect_samples"
    output	float	nlights	"nlights"
    output	vectora	direct_noshadow_comp	"direct_noshadow_comp"
    output	vectora	indirect_noshadow_comp	"indirect_noshadow_comp"
    input	bsdf	F	"inF"
    input	vector	Of	"inOf"
    input	int	use_renderstate	"Use ROP Parameters"
    input	string	pathtype	"Allowable Paths"
    input	int	constrainmaxrough	"Constrain by Maximum Roughness"
    input	string	raylimiteval	"At Reflect Limit"
    input	float	reflectratio	"Min Reflect Ratio"
    input	float	colorlimit	"Color Limit"
    input	float	colorlimitdecay	"Color Limit Decay"
    input	int	colorlimitdepth	"colorlimitdepth"
    input	string	colorspace	"Color Space"
    input	float	rayfilteramount	"Ray Filter Amount"
    input	float	misbias	"MIS Bias"
    input	int	doshadow	"Enable Shadows"
    input	int	multilight	"Sample All Lights"
    input	int	recursive	"Recursive"
    input	vector	absorption	"absorption"
    input	int	ndpriority	"ndpriority"
    input	float	ndior	"ndior"

    help {
	  ""
    }

    parm {
	name	Of
	label	"inOf"
	type	float
	invisible
	size	3
	default	{ 1 1 1 }
	export	none
    }
    parm {
	name	use_renderstate
	label	"Use ROP Parameters"
	type	toggle
	default	{ 1 }
	export	none
    }
    parm {
	name	pathtype
	label	"Allowable Paths"
	type	string
	menu	{
	    "specular"	"Specular Paths"
	    "diffuse"	"Specular, Diffuse Paths"
	    "caustic"	"Specular, Diffuse, Caustic Paths"
	    "all"	"All Paths"
	}
	default	{ "specular" }
	export	none
	disablewhen "{ use_renderstate 1 }"
    }
    parm {
	name	constrainmaxrough
	label	"Constrain by Maximum Roughness"
	type	toggle
	default	{ 0 }
	export	none
	disablewhen "{ use_renderstate 1 }"
    }
    parm {
	name	raylimiteval
	label	"At Reflect Limit"
	type	string
	menu	{
	    "none"	"Use Black Background"
	    "direct"	"Use Direct Lighting as Background Color"
	}
	default	{ "none" }
	export	none
	disablewhen "{ use_renderstate 1 }"
    }
    parm {
	name	reflectratio
	label	"Min Reflect Ratio"
	type	float
	default	{ 0 }
	range	 { 0 1 }
	export	none
	disablewhen "{ use_renderstate 1 }"
    }
    parm {
	name	colorlimit
	label	"Color Limit"
	type	float
	default	{ 10 }
	range	 { 0 20 }
	export	none
	disablewhen "{ use_renderstate 1 }"
    }
    parm {
	name	colorlimitdecay
	label	"Color Limit Decay"
	type	float
	default	{ 1 }
	range	 { 0 1 }
	export	none
	disablewhen "{ use_renderstate 1 }"
    }
    parm {
	name	colorlimitdepth
	label	"colorlimitdepth"
	type	integer
	default	{ 2 }
	export	none
    }
    parm {
	name	colorspace
	label	"Color Space"
	type	string
	menu	{
	    "linear"	"Linear"
	    "gamma"	"Gamma 2.2"
	}
	default	{ "gamma" }
	export	none
	disablewhen "{ use_renderstate 1 }"
    }
    parm {
	name	rayfilteramount
	label	"Ray Filter Amount"
	type	float
	default	{ 0 }
	range	 { 0 1 }
	export	none
    }
    parm {
	name	misbias
	label	"MIS Bias"
	type	float
	default	{ 0 }
	range	 { -1 1 }
	export	none
    }
    parm {
	name	doshadow
	label	"Enable Shadows"
	type	toggle
	default	{ 1 }
	export	none
    }
    parm {
	name	multilight
	label	"Sample All Lights"
	type	toggle
	default	{ 1 }
	export	none
    }
    parm {
	name	recursive
	label	"Recursive"
	type	toggle
	default	{ 0 }
	export	none
    }
    parm {
	name	absorption
	label	"absorption"
	type	float
	size	3
	default	{ 0 0 0 }
	export	none
    }
    parm {
	name	ndpriority
	label	"ndpriority"
	type	integer
	default	{ 0 }
	export	none
    }
    parm {
	name	ndior
	label	"ndior"
	type	float
	default	{ 1.5 }
	export	none
    }
}
INDX              DialogScript      VTPh# Dialog script for pbrspecular automatically generated 11/24/15 12:56:24

{
    name	pbrspecular
    script	pbrspecular
    label	"Physically Based Specular"

    outercode {
	"#include \"voplib.h\""
	"#include \"pbr.h\""
	"#include \"bsdf.h\""
    }

    code {
	"#ifdef VOP_SHADING"
	"vector $tnN = $isconnected_nN ? $nN : normalize(N);"
	"vector $tnI = $isconnected_nI ? $nI : normalize(I);"
	"#else"
	"vector $tnN = $isconnected_nN ? $nN : {0, 1, 0};"
	"vector $tnI = $isconnected_nI ? $nI : {0, -1, 0};"
	"#endif"
	"vector $tnR = $isconnected_nR ? $nR : reflect($tnI, $tnN);"
	""
	"float $width = sin(radians($angle));"
	""
	"$f = bsdf();"
	""
	"int $isglossy = ($model == \"ggx\" && $rough > SPEC_MIN_WIDTH) || $width > SPEC_MIN_WIDTH;"
	"if ($isglossy)"
	"{"
	"    float       $uexp, $vexp;"
	"    "
	"    $uexp = $vexp = pbrspecular_toexponent($width);"
	"    vector  $tanu, $tanv;"
	"#ifdef VOP_SHADING"
	"    $tanu = $isconnected_utan ? $utan : normalize(dPds);"
	"    $tanv = $isconnected_vtan ? $vtan : normalize(dPdt);"
	"#else"
	"    $tanu = $isconnected_utan ? $utan : {1, 0, 0};"
	"    $tanv = $isconnected_vtan ? $vtan : {0, 0, 1};"
	"#endif"
	"        "
	"    // for now always compute frame for ggx, regardless of aniso being near 0"
	"    if (($model != \"cone\" && abs($aniso) > SPEC_MIN_WIDTH))// || $model == 'ggx')"
	"    {"
	"        "
	"        if ($aniso_angle != 0)"
	"        {"
	"            matrix3 $rot = ident();"
	"            rotate($rot, radians($aniso_angle), cross($tanu, $tanv));"
	"            $tanu *= $rot;"
	"            $tanv *= $rot;"
	"        }"
	"        "
	"        "
	"        "
	"        if ($aniso < 0)"
	"            $uexp *= pbrspecular_toexponent(1+($aniso));"
	"        else"
	"            $vexp *= pbrspecular_toexponent(1-($aniso));"
	"            "
	"        if ($model == \"blinn\")"
	"        {"
	"            $f = ashikhmin($tnN, $uexp, $vexp, $tanu, $tanv, \"label\", $label);"
	"        }"
	"        else if ($model == \"ggx\")"
	"        {"
	"            // make orthonormal"
	"            $tanv = normalize(cross($tnN,$tanu));"
	"            $tanu = normalize(cross($tnN,$tanv));"
	"            "
	"            int $flip = $aniso < 0;"
	"            "
	"            float $aspect = sqrt(1.0-abs($aniso)*0.9);  "
	"            float $alphax = max(0.001, $rough*$rough/$aspect);"
	"            float $alphay = max(0.001, $rough*$rough*$aspect);"
	"            float $alphaG = min($alphax, $alphay);"
	"            "
	"            $f = cvex_bsdf("
	"                           \"oplib:/Shop/ggx_eval?Shop/ggx_eval\","
	"                           \"oplib:/Shop/ggx_sample?Shop/ggx_sample\","
	"                           \"label\", $label,"
	"                           \"aniso\", 1,"
	"                           \"ng\", normalize(Ng),"
	"                           \"nn\", (vector)$tnN,"
	"                           \"xg\", (vector)select($flip, $tanv, $tanu),"
	"                           \"yg\", (vector)select($flip, $tanu, $tanv),"
	"                           \"alphax\", (float)$alphax,"
	"                           \"alphay\", (float)$alphay,"
	"                           \"model\", 0);"
	"        }"
	"        else"
	"        {"
	"            $f = phonglobe($tnN, $tnR, $uexp, $vexp, $tanu, $tanv, \"label\", $label);"
	"        }"
	"    }"
	"    else"
	"    {"
	"        if ($model == \"cone\")"
	"        {"
	"            $f = cone($tnN, $tnR, radians($angle), \"label\", $label);"
	"        }"
	"        else if ($model == \"blinn\")"
	"        {"
	"            $f = blinn($tnN, $uexp, \"label\", $label);"
	"        }"
	"        else if($model == \"ggx\")"
	"        {"
	"            // make orthonormal"
	"            $tanv = normalize(cross($tnN,$tanu));"
	"            $tanu = normalize(cross($tnN,$tanv));"
	"            "
	"            int $flip = $aniso < 0;"
	"            "
	"            float $alpha = max(0.001, $rough*$rough);"
	"            "
	"            $f = cvex_bsdf("
	"                           \"oplib:/Shop/ggx_eval?Shop/ggx_eval\","
	"                           \"oplib:/Shop/ggx_sample?Shop/ggx_sample\","
	"                           \"label\", $label,"
	"                           \"aniso\", 0,"
	"                           \"ng\", normalize(Ng),"
	"                           \"nn\", (vector)$tnN,"
	"                           \"xg\", (vector)select($flip, $tanv, $tanu),"
	"                           \"yg\", (vector)select($flip, $tanu, $tanv),"
	"                           \"alphax\", (float)$alpha,"
	"                           \"alphay\", (float)$alpha,"
	"                           \"model\", 0);"
	"        }"
	"        else"
	"        {"
	"            $f = phonglobe($tnN, $tnR, $uexp, \"label\", $label);"
	"        }"
	"    }"
	"    $f *= 1.0 / luminance(albedo($f));"
	"}"
	""
	"$f *= $isglossy;"
	"$f += !$isglossy * specular($tnR, \"label\", $label);"
    }

    input	string	model	"Specular Model"
    input	string	label	"Component Label"
    input	vector	nR	Direction
    input	vector	nN	Normal
    input	vector	nI	"Incident Direction"
    input	float	angle	"Highlight Angle"
    input	float	aniso	"Anisotropic Bias"
    input	vector	utan	"U Tangent"
    input	vector	vtan	"V Tangent"
    input	float	aniso_angle	"Anisotropy Angle"
    input	float	rough	Roughness
    output	bsdf	f	BSDF
    inputflags	model	0
    inputflags	label	0
    inputflags	nR	0
    inputflags	nN	0
    inputflags	nI	0
    inputflags	angle	0
    inputflags	aniso	0
    inputflags	utan	0
    inputflags	vtan	0
    inputflags	aniso_angle	0
    inputflags	rough	0
    signature	"Default Inputs"	default	{ string string vector vector vector float float vector vector float float bsdf }

    outputoverrides	default
    {
	___begin	auto
			(0)
    }

    help {
	""
    }

    parm {
	name	"model"
	label	"Specular Model"
	type	ordinal
	default	{ "0" }
	menu	{
	    "phong"	"Phong"
	    "blinn"	"Blinn"
	    "cone"	"Cone"
	    "ggx"	"GGX"
	}
	range	{ 0 1 }
	export	none
    }
    parm {
	name	"label"
	label	"Component Label"
	type	string
	default	{ "" }
	menureplace	{
	    "diffuse"	"Diffuse"
	    "specular"	"Specular"
	    "reflect"	"Reflect"
	    "refract"	"Refract"
	}
	range	{ 0 1 }
	export	none
    }
    parm {
	name	"angle"
	label	"Highlight Angle"
	type	float
	default	{ "10" }
	disablewhen	"{ model == ggx }"
	range	{ 0 90 }
	export	none
    }
    parm {
	name	"rough"
	label	"Roughness"
	type	float
	default	{ "0.1" }
	disablewhen	"{ model != ggx }"
	range	{ 0 1 }
	export	none
    }
    parm {
	name	"aniso"
	label	"Anisotropic Bias"
	type	float
	default	{ "0" }
	disablewhen	"{ model == cone }"
	range	{ -1 1 }
	export	none
    }
    parm {
	name	"aniso_angle"
	label	"Anisotropic Angle"
	type	angle
	default	{ "0" }
	disablewhen	"{ model == cone }"
	range	{ 0 360 }
	export	none
    }
}
INDX              DialogScript      Z Vh/*
 * PROPRIETARY INFORMATION.  This software is proprietary to
 * Side Effects Software Inc., and is not to be reproduced,
 * transmitted, or disclosed in any way without written permission.
 *
 * Produced by:
 *	Side Effects Software Inc
 *	477 Richmond Street West
 *	Toronto, Ontario
 *	Canada   M5V 3E7
 *	416-504-9876
 *
 */

{
    name	"pcimport"
    script	"pcimport"
    label	"pcimport"

    code {
	"$success = pcimport($handle, $channel, $data);"
    }

    input	int	handle		"pcopen Handle"
    input	string	channel		"Channel Name"
    output	int	success		"Return 1 For Success, 0 For Failure"
    output	vector	data		"Channel Value"
    signature	"Integer Channel"	i  { int string int int }
    signature	"Float Channel"		f  { int string int float }
    signature	"Vector Channel"	default { }
    signature	"Vector4 Channel"	v4 { int string int vector4 }
    signature	"Matrix3 Channel"	m3 { int string int matrix3 }
    signature	"Matrix Channel"	m  { int string int matrix }
    signature	"String Channel"	s  { int string int string }

    parm {
	name	handle
	label	"PCOpen Handle"
	type	int
        size    1
        default { -1 }
    }
    parm {
	name	channel
	label	"Channel"
	type	string
	default	{ "P" }
    }
}
INDX              DialogScript      :Z Vh/*
 * PROPRIETARY INFORMATION.  This software is proprietary to
 * Side Effects Software Inc., and is not to be reproduced,
 * transmitted, or disclosed in any way without written permission.
 *
 * Produced by:
 *	Side Effects Software Inc
 *	477 Richmond Street West
 *	Toronto, Ontario
 *	Canada   M5V 3E7
 *	416-504-9876
 *
 */

#include <parameter.ds>

{
    name	"pciterate"
    script	"pciterate"
    label	"pciterate"

    code {
	"$success = pciterate($handle);"
    }

    output	int	success		"Found Point"
    VOP_INT_INPUT(handle, "Handle from pcopen", -1)
}
INDX              DialogScript      vZ Vh/*
 * PROPRIETARY INFORMATION.  This software is proprietary to
 * Side Effects Software Inc., and is not to be reproduced,
 * transmitted, or disclosed in any way without written permission.
 *
 * Produced by:
 *	Side Effects Software Inc
 *	477 Richmond Street West
 *	Toronto, Ontario
 *	Canada   M5V 3E7
 *	416-504-9876
 *
 */

#include <parameter.ds>

{
    name	"pcopen"
    script	"pcopen"
    label	"pcopen"

    outercode	{
	"#include <voptype.h>"
    }

    code {
	"VOPpoint $pcP = $P;"
	"#if defined(VOP_SHADING) || defined(VOP_SOP) || defined(VOP_POP)"
	"    if ($isconnected_P == 0) $pcP = P;"
	"#endif"
	"if ($nchannel != \"\") {"
	"    $handle = pcopen($file, $pchannel, $pcP, $nchannel, $N, $radius, $maxpoints, \"ndot\", cos(radians($cone)), \"preload\", $preload);"
	"} else {"
	"    $handle = pcopen($file, $pchannel, $pcP, $radius, $maxpoints, \"preload\", $preload);"
	"}"
    }

    output	int	handle		"Texture Handle"

    VOP_FILE_INPUT(file, "Point Cloud Texture", "defgeo.bgeo")
    VOP_STR_INPUT(pchannel, "Position Channel", "P")
    VOP_VEC_INPUT(P, "Query Position", 0, 0, 0)
    VOP_STR_INPUT(nchannel, "Normal Channel", "")
    VOP_VEC_INPUT(N, "Query Normal", 0, 0, 0)
    VOP_FLT_INPUT(radius, "Search radius", 0.1)
    VOP_INT_INPUT(maxpoints, "Number of points", 10)

    VOP_FLT_INPUT(cone, "Cone Angle", 90)
    VOP_TOGGLE_INPUT(preload, "Preload Map", 1)
}

INDX              DialogScript      5}X=# Dialog script for physicalsss automatically generated

{
    name	physicalsss
    script	physicalsss
    label	"Physical SSS"

    outercode {
	"#include <voptype.h>"
	"#include <voplib.h>"
	"#include <math.h>"
	"#include <physicalsss.h>"
	""
	"import physicalsss_single;"
	"import physicalsss_multi;"
    }

    code {
	"VOPvector $_p  = ($isconnected_p != 0)      ? $p            : P;"
	"VOPvector $bp  = ($isconnected_blurp != 0)  ? $blurp        : getblurP(0);"
	"VOPnormal $_n  = ($isconnected_n != 0)      ? $n            : normalize(N);"
	"VOPfloat  $eta = max(0.0, $oior / $iior);"
	"VOPvector $_t  = ($isconnected_t != 0)      ? normalize($t) : normalize(refract(normalize(I), $_n, $eta));"
	""
	"VOPfloat  $_g       = clamp($g, -0.99, 0.99);"
	"VOPvector $_absrp   = 1.0;"
	"VOPvector $scatr    = 0.0;"
	"VOPfloat  $_kt      = 0.0;"
	""
	"if ($isconnected_kt != 0)"
	"{"
	"    $_kt = $kt;"
	"    $kr = 1.0 - $_kt;"
	"}"
	"else"
	"    fresnel(-$_t, -$_n, 1.0 / $eta, $kr, $_kt);"
	""
	"$clr = 0;"
	"$opacity = 1;"
	"$sss_single = 0;"
	"$sss_multi = 0;"
	"$multiloclclr = 0;"
	"$multiglobclr = 0;"
	""
	"if ($mode == 1) // physical mode"
	"{"
	"    $scatr = $redscatr / ((1.0 - $_g) * $scatrscale);"
	"    $_absrp = $absrp / $scatrscale;"
	"}"
	"else // artist mode"
	"{"
	"    VOPvector $_redscatr, $redext, $redalbedo;"
	""
	"    // Compute the reduced albedo."
	"    $redalbedo = vop_sss_reduced_albedo($diffuseclr, $eta, 1e-9);"
	"    $redalbedo = clamp($redalbedo, { 0.0, 0.0, 0.0 }, { 0.99999999, 0.99999999, 0.99999999 });"
	""
	"    // Compute the absorption and scattering coefficients."
	"    $redext = luminance($attenclr);"
	"    $redext /= max($attenclr / $redext, 1e-3);"
	"    $redext *= max(0.0, $attendensity);"
	"    $_redscatr = $redalbedo * $redext;"
	"    $_absrp = $redext - $_redscatr;"
	"    $scatr = $_redscatr * (1.0 / (1.0 - $_g));"
	"}"
	""
	"if (isshadowray())"
	"    $opacity = vop_sss_opacity($_p, $_n, normalize(I), $_absrp, $scatr);"
	"else"
	"{"
	"    if ($singlesss)"
	"    {"
	"        physicalsss_single("
	"            \"Cf\", $sss_single,"
	"            \"P\", $_p,"
	"            \"N\", $_n,"
	"            \"I\", $_t,"
	"            \"absrp\", $_absrp,"
	"            \"scatr\", $scatr,"
	"            \"g\", $_g,"
	"            \"eta\", $eta,"
	"            \"optsecond\", $optsingle,"
	"            \"nsamples\", $nsingle,"
	"            \"spectral\", $spectral);"
	"        $sss_single *= $_kt;"
	"    }"
	""
	"    if ($multienable)"
	"    {"
	"        vector  pos;"
	"        if ($multimodel == \"raytraced\" ||"
	"            $multimodel == \"fullraytraced\" ||"
	"            $multimodel == \"pathtraced\")"
	"            pos = $_p;"
	"        else"
	"            pos = $bp;"
	""
	"        physicalsss_multi("
	"            \"Cf\", $sss_multi,"
	"            \"P\", pos,"
	"            \"N\", $_n,"
	"            \"absrp\", $_absrp,"
	"            \"scatr\", $scatr,"
	"            \"g\", $_g,"
	"            \"eta\", $eta,"
	"            \"multimodel\", $multimodel,"
	"            \"loclradscale\", $loclradscale,"
	"            \"loclquality\", $loclquality,"
	"            \"globquality\", $globquality,"
	"            \"optsecond\", $optmulti,"
	"            \"pcmode\", $pcmode,"
	"            \"pcname\", $pcname,"
	"            \"pcsavepos\", $pcsavepos,"
	"            \"pcsaveirrad\", $pcsaveirrad,"
	"            \"pcautosize\", $pcautosize,"
	"            \"pcautofactor\", $pcautofactor,"
	"            \"pcsize\", $pcsize,"
	"            \"pcerror\", 0.1,"
	"            \"pcfilter\", $pcfilter,"
	"            \"pcfiltersize\", $pcfiltersize,"
	"            \"spectral\", $spectral,"
	"            \"multiloclclr\", $multiloclclr,"
	"            \"multiglobclr\", $multiglobclr);"
	"        $sss_multi *= $_kt;"
	"    }"
	""
	"    $clr = $sss_single + $sss_multi;"
	"}"
    }

    input	vector	p	Position
    input	vector	blurp	"Blur Position"
    input	normal	n	Normal
    input	vector	t	Transmitted
    input	float	kt	"Fresnel Transmission"
    input	int	mode	"Parameter Mode"
    input	color	diffuseclr	"Diffuse Color"
    input	float	attendensity	"Attenuation Density"
    input	color	attenclr	"Attenuation Color"
    input	vector	absrp	"Absorption Coefficient (RGB)"
    input	vector	redscatr	"Reduced Scattering Coefficient (RGB)"
    input	float	scatrscale	"Scattering Scale"
    input	float	g	"Scattering Phase"
    input	float	iior	"Inside IOR"
    input	float	oior	"Outside IOR"
    input	int	spectral	"Enable Spectral Scattering"
    input	int	singlesss	"Enable Single Scattering"
    input	int	optsingle	"Optimize Secondary Rays"
    input	int	nsingle	Samples
    input	int	multienable	"Enable Multiple Scattering"
    input	string	multimodel	Model
    input	int	optmulti	"Optimize Secondary Rays"
    input	float	loclradscale	"Local Radius Scale"
    input	float	loclquality	"Local Light Quality"
    input	float	globquality	"Global Light Quality"
    input	int	pcmode	"Point Cloud Mode"
    input	string	pcname	"Point Cloud"
    input	int	pcsavepos	"Cache Positions/Normals/Areas"
    input	int	pcsaveirrad	"Cache Irradiance"
    input	int	pcautosize	"Auto Point Cloud Size"
    input	float	pcautofactor	"Auto Size Factor"
    input	int	pcsize	"Point Cloud Size"
    input	int	pcfilter	"Filter Multiple Scattering"
    input	int	pcfiltersize	"Filter Samples"
    output	color	clr	Color
    output	color	opacity	Opacity
    output	color	sss_single	"Single Scattering Color"
    output	color	sss_multi	"Multiple Scattering Color"
    output	color	multiloclclr	"Multiple Scattering Color (Local)"
    output	color	multiglobclr	"Multiple Scattering Color (Global)"
    output	float	kr	"Fresnel Reflectance"
    inputflags	p	0
    inputflags	blurp	0
    inputflags	n	0
    inputflags	t	0
    inputflags	kt	0
    inputflags	mode	1
    inputflags	diffuseclr	0
    inputflags	attendensity	0
    inputflags	attenclr	0
    inputflags	absrp	1
    inputflags	redscatr	1
    inputflags	scatrscale	1
    inputflags	g	0
    inputflags	iior	0
    inputflags	oior	0
    inputflags	spectral	1
    inputflags	singlesss	0
    inputflags	optsingle	1
    inputflags	nsingle	1
    inputflags	multienable	0
    inputflags	multimodel	1
    inputflags	optmulti	1
    inputflags	loclradscale	1
    inputflags	loclquality	1
    inputflags	globquality	1
    inputflags	pcmode	1
    inputflags	pcname	1
    inputflags	pcsavepos	1
    inputflags	pcsaveirrad	1
    inputflags	pcautosize	1
    inputflags	pcautofactor	1
    inputflags	pcsize	1
    inputflags	pcfilter	1
    inputflags	pcfiltersize	1
    signature	"Default Inputs"	default	{ vector vector normal vector float int color float color vector vector float float float float int int int int int string int float float float int string int int int float int int int color color color color color color float }

    outputoverrides	default
    {
	___begin	auto
			(0,0,0)
	___begin	auto
			(0,0,0)
	___begin	auto
			(0,0,0)
	___begin	auto
			(0,0,0)
	___begin	auto
			(0,0,0)
	___begin	auto
			(0,0,0)
	___begin	auto
			(0)
    }

    help {
	""
    }

    parm {
	name	"mode"
	label	"Parameter Mode"
	type	ordinal
	default	{ "0" }
	menu	{
	    "0"	"Artist"
	    "1"	"Physical"
	}
	range	{ 0 1 }
    }
    parm {
	name	"diffuseclr"
	label	"Diffuse Color"
	type	color
	size	3
	default	{ "0.9" "0.9" "0.9" }
	disablewhen	"{ mode != 0 }"
	range	{ 0! 1! }
	parmtag	{ "export_disable" "1" }
	parmtag	{ "script_callback" "kwargs['node'].hdaModule().updatePhysical(kwargs['node'])" }
	parmtag	{ "script_callback_language" "python" }
    }
    parm {
	name	"attendensity"
	label	"Attenuation Density"
	type	float
	default	{ "1" }
	disablewhen	"{ mode != 0 }"
	range	{ 0! 10 }
	parmtag	{ "script_callback" "kwargs['node'].hdaModule().updatePhysical(kwargs['node'])" }
	parmtag	{ "script_callback_language" "python" }
    }
    parm {
	name	"attenclr"
	label	"Attenuation Color"
	type	color
	size	3
	default	{ "1" "1" "1" }
	disablewhen	"{ mode != 0 }"
	range	{ 0! 1! }
	parmtag	{ "script_callback" "kwargs['node'].hdaModule().updatePhysical(kwargs['node'])" }
	parmtag	{ "script_callback_language" "python" }
    }
    parm {
	name	"absrp"
	label	"Absorption Coefficient (RGB)"
	type	vector
	size	3
	default	{ "0.0131039" "0.0131039" "0.0131039" }
	disablewhen	"{ mode != 1 }"
	range	{ 0! 1 }
	parmtag	{ "script_callback" "kwargs['node'].hdaModule().updateArtist(kwargs['node'])" }
	parmtag	{ "script_callback_language" "python" }
    }
    parm {
	name	"redscatr"
	label	"Reduced Scattering Coefficient (RGB)"
	type	vector
	size	3
	default	{ "25.4246" "25.4246" "25.4246" }
	disablewhen	"{ mode != 1 }"
	range	{ 0! 1 }
	parmtag	{ "script_callback" "kwargs['node'].hdaModule().updateArtist(kwargs['node'])" }
	parmtag	{ "script_callback_language" "python" }
    }
    parm {
	name	"scatrscale"
	label	"Scattering Scale"
	type	float
	default	{ "1" }
	disablewhen	"{ mode != 1 }"
	range	{ 0! 1 }
	parmtag	{ "script_callback" "kwargs['node'].hdaModule().updateArtist(kwargs['node'])" }
	parmtag	{ "script_callback_language" "python" }
    }
    parm {
	name	"g"
	label	"Scattering Phase"
	type	float
	default	{ "0" }
	range	{ -1! 1! }
    }
    parm {
	name	"iior"
	label	"Inside IOR"
	type	float
	default	{ "1.3" }
	range	{ 0! 10 }
    }
    parm {
	name	"oior"
	label	"Outside IOR"
	type	float
	default	{ "1" }
	range	{ 0! 10 }
    }
    parm {
	name	"spectral"
	label	"Enable RGB Spectral Scattering"
	type	toggle
	default	{ "1" }
	range	{ 0 1 }
    }
    group {
	name	"single_multi"
	label	"Single Scattering"

	parm {
	    name	"singlesss"
	    label	"Enable Single Scattering"
	    type	toggle
	    default	{ "1" }
	    range	{ 0 1 }
	}
	parm {
	    name	"optsingle"
	    label	"Optimize Secondary Rays"
	    type	toggle
	    default	{ "0" }
	    disablewhen	"{ singlesss == 0 }"
	    range	{ 0 1 }
	}
	parm {
	    name	"nsingle"
	    label	"Samples"
	    type	integer
	    default	{ "1" }
	    disablewhen	"{ singlesss == 0 }"
	    range	{ 0! 10 }
	}
    }

    group {
	name	"single_multi_1"
	label	"Multiple Scattering"

	parm {
	    name	"multienable"
	    label	"Enable Multiple Scattering"
	    type	toggle
	    default	{ "1" }
	    range	{ 0 1 }
	}
	parm {
	    name	"multimodel"
	    label	"Model"
	    type	string
	    default	{ "raytraced" }
	    disablewhen	"{ multienable == 0 }"
	    menu	{
		"raytraced"	"Ray Traced"
		"local"	"Local BRDF"
		"global"	"Global Point Cloud"
		"hybrid"	"Local And Global"
		"pathtraced"	"Path Traced"
	    }
	    range	{ 0 1 }
	}
	parm {
	    name	"globquality"
	    label	"Global Light Quality"
	    type	float
	    default	{ "1" }
	    disablewhen	"{ multienable == 0 } { multimodel == local }"
	    range	{ 0! 10 }
	}
	parm {
	    name	"loclquality"
	    label	"Local Light Quality"
	    type	float
	    default	{ "0.1" }
	    disablewhen	"{ multienable == 0 } { multimodel != local multimodel != hybrid }"
	    range	{ 0! 1 }
	}
	parm {
	    name	"optmulti"
	    label	"Optimize Secondary Rays"
	    type	toggle
	    default	{ "0" }
	    disablewhen	"{ multienable == 0 } { multimodel == local }"
	    range	{ 0 1 }
	}
	parm {
	    name	"sepparm"
	    label	"Separator"
	    type	separator
	    default	{ "" }
	    range	{ 0 1 }
	}
	parm {
	    name	"loclradscale"
	    label	"Local Radius Scale"
	    type	float
	    default	{ "1" }
	    disablewhen	"{ multienable == 0 } { multimodel != hybrid }"
	    range	{ 0! 2 }
	}
	parm {
	    name	"pcmode"
	    label	"Point Cloud Mode"
	    type	ordinal
	    default	{ "0" }
	    disablewhen	"{ multienable == 0 } { multimodel != global multimodel != hybrid }"
	    menu	{
		"0"	"Generate At Render Time"
		"1"	"Read From File"
		"2"	"Write To File"
	    }
	    range	{ 0 1 }
	}
	parm {
	    name	"pcname"
	    label	"Point Cloud"
	    type	file
	    default	{ "$HIP/${HIPNAME}_${OS}.pc" }
	    disablewhen	"{ multienable == 0 } { multimodel != global multimodel != hybrid } { pcmode == 0 }"
	    range	{ 0 1 }
	    parmtag	{ "script_callback" "kwargs['node'].hdaModule().checkFileName(kwargs['node'])" }
	    parmtag	{ "script_callback_language" "python" }
	}
	parm {
	    name	"pcsavepos"
	    label	"Cache Positions/Normals/Areas"
	    type	toggle
	    default	{ "0" }
	    disablewhen	"{ multienable == 0 } { multimodel != global multimodel != hybrid } { pcmode != 2 }"
	    range	{ 0 1 }
	}
	parm {
	    name	"pcsaveirrad"
	    label	"Cache Irradiance"
	    type	toggle
	    default	{ "0" }
	    disablewhen	"{ multienable == 0 } { multimodel != global multimodel != hybrid } { pcmode != 2 }"
	    range	{ 0 1 }
	}
	parm {
	    name	"pcautosize"
	    label	"Auto Point Cloud Size"
	    type	toggle
	    default	{ "1" }
	    disablewhen	"{ multienable == 0 } { multimodel != global multimodel != hybrid } { pcmode == 1 }"
	    range	{ 0 1 }
	}
	parm {
	    name	"pcautofactor"
	    label	"Auto Size Factor"
	    type	float
	    default	{ "1" }
	    disablewhen	"{ multienable == 0 } { multimodel != global multimodel != hybrid } { pcmode == 1 } { pcautosize == 0 }"
	    range	{ 0! 2 }
	}
	parm {
	    name	"pcsize"
	    label	"Point Cloud Size"
	    type	integer
	    default	{ "10000" }
	    disablewhen	"{ multienable == 0 } { multimodel != global multimodel != hybrid } { pcmode == 1 } { pcautosize == 1 }"
	    range	{ 0! 1e+06 }
	}
	parm {
	    name	"pcfilter"
	    label	"Filter Multiple Scattering"
	    type	toggle
	    default	{ "1" }
	    disablewhen	"{ multienable == 0 } { multimodel != global multimodel != hybrid }"
	    range	{ 0 1 }
	}
	parm {
	    name	"pcfiltersize"
	    label	"Filter Samples"
	    type	integer
	    default	{ "50" }
	    disablewhen	"{ multienable == 0 } { multimodel != global multimodel != hybrid } { pcfilter == 0 }"
	    range	{ 0! 100 }
	}
    }

}
INDX              Contents       W[,Y   DialogScript   W  SPw0707070000010000000006660000000000000000010000001331301653100001300000000000TRAILER!!! # Dialog script for popforce automatically generated 05/28/14 17:09:11

{
    name	popforce
    script	popforce
    label	"POP Force"


    help {
	""
    }

    inputlabel	1	"Stream to Apply Forces to"

    parm {
	name	"activate"
	label	"Activation"
	type	float
	default	{ "1" }
	range	{ 0 1 }
	export	none
    }
    parm {
	name	"usegroup"
	label	"Use group"
	type	toggle
	nolabel
	joinnext
	default	{ "0" }
	range	{ 0 1 }
	export	none
    }
    parm {
	name	"partgroup"
	label	"Group"
	type	string
	default	{ "" }
	disablewhen	"{ usegroup == 0 }"
	menutoggle	{
	    [ "import doppoptoolutils" ]
	    [ "" ]
	    [ "return doppoptoolutils.buildGroupMenu(hou.pwd())" ]
	    language	python
	}
	range	{ 0 1 }
	export	none
    }
    parm {
	name	"showguide"
	label	"Show Guide Geometry"
	type	toggle
	nolabel
	joinnext
	default	{ "off" }
	range	{ 0 1 }
	export	none
	parmtag	{ "autoscope" "0000000000000000" }
    }
    parm {
	name	"guidecolor"
	label	"Guide"
	type	color
	size	3
	default	{ "1" "0" "0" }
	disablewhen	"{ showguide == 0 }"
	range	{ 0! 1! }
	export	none
	parmtag	{ "autoscope" "0000000000000000" }
    }
    parm {
	name	"force"
	label	"Force"
	type	direction
	size	3
	default	{ "0" "0" "0" }
	range	{ 0 10 }
	export	all
	parmtag	{ "autoscope" "0000000000000000" }
	parmtag	{ "parmvop" "1" }
	parmtag	{ "shaderparmcontexts" "cvex" }
	parmtag	{ "units" "kg1m1s-2" }
    }
    parm {
	name	"ignoremass"
	label	"Ignore Mass"
	type	toggle
	default	{ "on" }
	range	{ 0 1 }
	export	none
	parmtag	{ "autoscope" "0000000000000000" }
	parmtag	{ "parmvop" "1" }
	parmtag	{ "shaderparmcontexts" "cvex" }
    }
    parm {
	name	"uselocalforce"
	label	"Use VEXpressions"
	type	toggle
	default	{ "0" }
	range	{ 0 1 }
	export	none
    }
    parm {
	name	"localforceexpression"
	label	" "
	type	string
	default	{ "" }
	hidewhen	"{ uselocalforce == 0 }"
	menu	{
	    [ "import vexpressionmenu" ]
	    [ "" ]
	    [ "return vexpressionmenu.buildSnippetMenu('popforce/localforceexpression')" ]
	    language	python
	}
	range	{ 0 1 }
	export	none
	parmtag	{ "autoscope" "0000000000000000" }
	parmtag	{ "editor" "1" }
	parmtag	{ "editorlang" "vex" }
	parmtag	{ "editorlines" "8-40" }
    }
    group {
	name	"folder0"
	label	"Noise"

	parm {
	    name	"amp"
	    label	"Amplitude"
	    type	float
	    default	{ "0" }
	    range	{ 0 10 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	    parmtag	{ "parmvop" "1" }
	    parmtag	{ "shaderparmcontexts" "cvex" }
	    parmtag	{ "units" "kg1m1s-2" }
	}
	parm {
	    name	"swirlsize"
	    label	"Swirl Size"
	    type	float
	    default	{ "1" }
	    range	{ 0 10 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	    parmtag	{ "parmvop" "1" }
	    parmtag	{ "shaderparmcontexts" "cvex" }
	    parmtag	{ "units" "m1" }
	}
	parm {
	    name	"swirlscale"
	    label	"Swirl Scale"
	    type	float
	    size	3
	    default	{ "1" "1" "1" }
	    range	{ 0 10 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	    parmtag	{ "parmvop" "1" }
	    parmtag	{ "shaderparmcontexts" "cvex" }
	}
	parm {
	    name	"pulselength"
	    label	"Pulse Length"
	    type	float
	    default	{ "1" }
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	    parmtag	{ "parmvop" "1" }
	    parmtag	{ "shaderparmcontexts" "cvex" }
	    parmtag	{ "units" "s1" }
	}
	parm {
	    name	"rough"
	    label	"Roughness"
	    type	float
	    default	{ "0.5" }
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	    parmtag	{ "parmvop" "1" }
	    parmtag	{ "shaderparmcontexts" "cvex" }
	}
	parm {
	    name	"atten"
	    label	"Attenuation"
	    type	float
	    default	{ "1" }
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	    parmtag	{ "parmvop" "1" }
	    parmtag	{ "shaderparmcontexts" "cvex" }
	}
	parm {
	    name	"turb"
	    label	"Turbulence"
	    type	integer
	    default	{ "3" }
	    range	{ 0 10 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	    parmtag	{ "parmvop" "1" }
	    parmtag	{ "shaderparmcontexts" "cvex" }
	}
	parm {
	    name	"offset"
	    label	"Offset"
	    type	float
	    size	4
	    default	{ "0" "0" "0" "0" }
	    range	{ 0 10 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	    parmtag	{ "parmvop" "1" }
	    parmtag	{ "shaderparmcontexts" "cvex" }
	}
	parm {
	    name	"uselocalnoise"
	    label	"Use VEXpressions"
	    type	toggle
	    default	{ "off" }
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	    parmtag	{ "parmvop" "1" }
	    parmtag	{ "shaderparmcontexts" "cvex" }
	}
	parm {
	    name	"localnoiseexpression"
	    label	" "
	    type	string
	    default	{ "" }
	    hidewhen	"{ uselocalnoise == 0 }"
	    menu	{
		[ "import vexpressionmenu" ]
		[ "" ]
		[ "return vexpressionmenu.buildSnippetMenu('popforce/localnoiseexpression')" ]
		language	python
	    }
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	    parmtag	{ "editor" "1" }
	    parmtag	{ "editorlang" "vex" }
	    parmtag	{ "editorlines" "8-40" }
	}
    }

    group {
	name	"folder0_1"
	label	"Bindings"

	parm {
	    name	"bindgeo"
	    label	"Geometry"
	    type	string
	    default	{ "Geometry" }
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"vex_cwdpath"
	    label	"Evaluation Node Path"
	    type	oppath
	    default	{ "." }
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	    parmtag	{ "oprelative" "." }
	}
    }

}
INDX              DialogScript      Z Vi/*
 * PROPRIETARY INFORMATION.  This software is proprietary to
 * Side Effects Software Inc., and is not to be reproduced,
 * transmitted, or disclosed in any way without written permission.
 *
 * Produced by:
 *	Side Effects Software Inc
 *	477 Richmond Street West
 *	Toronto, Ontario
 *	Canada   M5V 3E7
 *	416-504-9876
 *
 */

#include <parameter.ds>

{
    name	"pow"
    script	"pow"
    label	"pow"

    outercode {
	INCLUDE_VOPLIB
    }

    code {
	"$pow = vop_pow(($val), $exp);"
    }

    input	float	val	"Input Value"
    input	float	exp	"Exponent"
    output	float	pow	"Output Value"

    signature	"Float"			default	{ }
    signature	"2D Vector"		u	{ vector2 float vector2 }
    signature	"3D Vector"		v	{ vector float vector }
    signature	"3D Point"		p	{ point float point }
    signature	"3D Normal"		n	{ normal float normal }
    signature	"RGB Color"		c	{ color float color }
    signature	"4D Vector"		v4	{ vector4 float vector4 }

    signature	"Uniform Float"		uf	{ ufloat ufloat ufloat }
    signature	"Uniform 3D Vector"	uv	{ uvector ufloat uvector }
    signature	"Uniform 3D Point"	up	{ upoint ufloat upoint }
    signature	"Uniform 3D Normal"	un	{ unormal ufloat unormal }
    signature	"Uniform RGB Color"	uc	{ ucolor ufloat ucolor }

    VOP_FLT_PARM(val,   "Value", 1)
    VOP_VEC_PARM(val_v, "Value", 1, 1, 1)
    VOP_VEC2_PARM(val_u, "Value", 1, 1)
    VOP_VEC_PARM(val_p, "Value", 1, 1, 1)
    VOP_VEC_PARM(val_n, "Value", 1, 1, 1)
    VOP_CLR_PARM(val_c, "Value", 1, 1, 1)
    VOP_VEC4_PARM(val_v4,"Value", 1, 1, 1, 1)
    VOP_FLT_PARM(val_uf, "Value", 1)
    VOP_VEC_PARM(val_uv, "Value", 1, 1, 1)
    VOP_VEC_PARM(val_up, "Value", 1, 1, 1)
    VOP_VEC_PARM(val_un, "Value", 1, 1, 1)
    VOP_CLR_PARM(val_uc, "Value", 1, 1, 1)
    
    parm {
	name	exp
	label	"Exponent"
	type	float
	size	1
	default	{ 1.0 }
    }
    
    group { name "gv" obsolete 12.0 }
    group { name "gu" obsolete 12.0 }
}
INDX              DialogScript      4Z Vi/*
 * PROPRIETARY INFORMATION.  This software is proprietary to
 * Side Effects Software Inc., and is not to be reproduced,
 * transmitted, or disclosed in any way without written permission.
 *
 * Produced by:
 *	Side Effects Software Inc
 *	477 Richmond Street West
 *	Toronto, Ontario
 *	Canada   M5V 3E7
 *	416-504-9876
 *
 */

{
    name	"qrotate"
    script	"qrotate"
    label	"qrotate"


    code {
	"$result = qrotate($quaternion, $vec);"
    }

    input	vector4	quaternion	"Quaternion"
    input	vector	vec	"Vector"
    output	vector	result	"Result"
}

INDX              DialogScript      Z Vi/*
 * PROPRIETARY INFORMATION.  This software is proprietary to
 * Side Effects Software Inc., and is not to be reproduced,
 * transmitted, or disclosed in any way without written permission.
 *
 * Produced by:
 *	Side Effects Software Inc
 *	477 Richmond Street West
 *	Toronto, Ontario
 *	Canada   M5V 3E7
 *	416-504-9876
 *
 */

{
    name	"quaternion"
    script	"quaternion"
    label	"quaternion"


    code {
	"$quat = quaternion($angle, $axis);"
    }

    input	float	angle	"Angle"
    input	vector	axis	"Normalized Rotation Axis"
    output	vector4	quat	"Quaternion"

    parm {
	name	angle
	label	"Angle"
	type	float
	size	1
	default	{ 0 }
    }
    parm {
	name	axis
	label	"Axis"
	type	float
	size	3
	default	{ 1 0 0 }
    }
}
INDX              DialogScript      >Z Vi/*
 * PROPRIETARY INFORMATION.  This software is proprietary to
 * Side Effects Software Inc., and is not to be reproduced,
 * transmitted, or disclosed in any way without written permission.
 *
 * Produced by:
 *	Side Effects Software Inc
 *	477 Richmond Street West
 *	Toronto, Ontario
 *	Canada   M5V 3E7
 *	416-504-9876
 *
 */

#include <parameter.ds>

{
    name	"random"
    script	"random"
    label	"random"


    code {
	"#ifdef __vex"
	"    if ($roundtoint)"
	"    	$rand = random($pos);"
	"    else"
	"       $rand = rand($pos);"
	"#else"
	"    $rand = cellnoise($pos);"
	"#endif"
    }

    input	float	pos	"Position"
    output	float	rand	"Random Number"

    signature	"1D Float Input, 1D Output"	default	{ }
    signature	"1D Float Input, 3D Vector" 	fv	{ float vector  }
    signature	"1D Float Input, 3D Point"  	fp	{ float point  }
    signature	"1D Float Input, 3D Normal" 	fn	{ float normal  }
    signature	"1D Float Input, 3D Color" 	fc	{ float color  }
    signature	"1D Float Input, 4D Output"	f4d	{ float vector4 }

    signature	"1D Integer Input, 1D Output"	i	{ int float   }
    signature	"1D Integer Input, 3D Vector" 	iv	{ int vector  }
    signature	"1D Integer Input, 3D Point"  	ip	{ int point  }
    signature	"1D Integer Input, 3D Normal" 	in	{ int normal  }
    signature	"1D Integer Input, 3D Color" 	ic	{ int color  }
    signature	"1D Integer Input, 4D Output"	i4d	{ int vector4 }

    signature	"3D Vector Input, 1D Output"	v1d	{ vector  float   }
    signature	"3D Vector Input, 3D Vector" 	vv	{ vector vector  }
    signature	"3D Vector Input, 3D Point"  	vp	{ vector point  }
    signature	"3D Vector Input, 3D Normal" 	vn	{ vector normal  }
    signature	"3D Vector Input, 3D Color" 	vc	{ vector color  }
    signature	"3D Vector, 4D Output"		v4d	{ vector  vector4 }

    signature	"3D Point Input, 1D Output"	p1d	{ point  float   }
    signature	"3D Point Input, 3D Vector" 	pv	{ point vector  }
    signature	"3D Point Input, 3D Point"  	pp	{ point point  }
    signature	"3D Point Input, 3D Normal" 	pn	{ point normal  }
    signature	"3D Point Input, 3D Color" 	pc	{ point color  }

    signature	"3D Normal Input, 1D Output"	n1d	{ normal  float   }
    signature	"3D Normal Input, 3D Vector" 	nv	{ normal vector  }
    signature	"3D Normal Input, 3D Point"  	np	{ normal point  }
    signature	"3D Normal Input, 3D Normal" 	nn	{ normal normal  }
    signature	"3D Normal Input, 3D Color" 	nc	{ normal color  }

    signature	"3D Color Input, 1D Output"	c1d	{ color  float   }
    signature	"3D Color Input, 3D Vector" 	cv	{ color vector  }
    signature	"3D Color Input, 3D Point"  	cp	{ color point  }
    signature	"3D Color Input, 3D Normal" 	cn	{ color normal  }
    signature	"3D Color Input, 3D Color" 	cc	{ color color  }

    signature	"4D Input, 1D Output"		v41d	{ vector4 float   }
    signature	"4D Input, 3D Output"		v43d	{ vector4 vector  }
    signature	"4D Input, 4D Output"		v44d	{ vector4 vector4 }

    signature	"1D Uniform Float, 1D Output"	uf1d	{ ufloat ufloat }
    signature	"1D Uniform Float, 3D Vector" 	ufv	{ ufloat uvector  }
    signature	"1D Uniform Float, 3D Point"  	ufp	{ ufloat upoint  }
    signature	"1D Uniform Float, 3D Normal" 	ufn	{ ufloat unormal  }
    signature	"1D Uniform Float, 3D Color" 	ufc	{ ufloat ucolor  }

    signature	"3D Uniform Vector, 1D Output"	uv1d	{ uvector ufloat   }
    signature	"3D Uniform Vector, 3D Vector" 	uvv	{ uvector uvector  }
    signature	"3D Uniform Vector, 3D Point"  	uvp	{ uvector upoint  }
    signature	"3D Uniform Vector, 3D Normal" 	uvn	{ uvector unormal  }
    signature	"3D Uniform Vector, 3D Color" 	uvc	{ uvector ucolor  }

    signature	"3D Uniform Point, 1D Output"	up1d	{ upoint ufloat   }
    signature	"3D Uniform Point, 3D Vector" 	upv	{ upoint uvector  }
    signature	"3D Uniform Point, 3D Point"  	upp	{ upoint upoint  }
    signature	"3D Uniform Point, 3D Normal" 	upn	{ upoint unormal  }
    signature	"3D Uniform Point, 3D Color" 	upc	{ upoint ucolor  }

    signature	"3D Uniform Normal, 1D Output"	un1d	{ unormal ufloat   }
    signature	"3D Uniform Normal, 3D Vector" 	unv	{ unormal uvector  }
    signature	"3D Uniform Normal, 3D Point"  	unp	{ unormal upoint  }
    signature	"3D Uniform Normal, 3D Normal" 	unn	{ unormal unormal  }
    signature	"3D Uniform Normal, 3D Color" 	unc	{ unormal ucolor  }

    signature	"3D Uniform Color, 1D Output"	uc1d	{ ucolor ufloat   }
    signature	"3D Uniform Color, 3D Vector" 	ucv	{ ucolor uvector  }
    signature	"3D Uniform Color, 3D Point"  	ucp	{ ucolor upoint  }
    signature	"3D Uniform Color, 3D Normal" 	ucn	{ ucolor unormal  }
    signature	"3D Uniform Color, 3D Color" 	ucc	{ ucolor ucolor  }

    VOP_FLT_PARM(pos,     "Position", 0)
    VOP_INT_PARM(pos_i, "Position", 0)
    VOP_VEC_PARM(pos_v1d, "Position", 0, 0, 0)
    VOP_VEC_PARM(pos_p1d, "Position", 0, 0, 0)
    VOP_VEC_PARM(pos_n1d, "Position", 0, 0, 0)
    VOP_CLR_PARM(pos_c1d, "Position", 0, 0, 0)
    VOP_VEC4_PARM(pos_v41d, "Position", 0, 0, 0, 0)
    VOP_FLT_PARM(pos_uf1d, "Position", 0)
    VOP_VEC_PARM(pos_uv1d, "Position", 0, 0, 0)
    VOP_VEC_PARM(pos_up1d, "Position", 0, 0, 0)
    VOP_VEC_PARM(pos_un1d, "Position", 0, 0, 0)
    VOP_CLR_PARM(pos_uc1d, "Position", 0, 0, 0)

    parm {
	name	roundtoint
	label	"Clamp Position to Integer"
	type	toggle
	size	1
	default	{ 1 }
    }

    group { name "gv" obsolete 12.0 }
    group { name "gu" obsolete 12.0 }
}
INDX              DialogScript      `Z Vi/*
 * PROPRIETARY INFORMATION.  This software is proprietary to
 * Side Effects Software Inc., and is not to be reproduced,
 * transmitted, or disclosed in any way without written permission.
 *
 * Produced by:
 *	Side Effects Software Inc
 *	477 Richmond Street West
 *	Toronto, Ontario
 *	Canada   M5V 3E7
 *	416-504-9876
 *
 */

{
    name	"raybounce"
    script	"raybounce"
    label	"raybounce"


    code {
R"code({
    int tmp_level = 0;
    if (rayimport('level', tmp_level)) tmp_level += 1;
    $raylevel = max(getraylevel(), tmp_level);
})code"
    }

    output	int	raylevel	"Ray Bounce Level"
}

INDX              Contents       W[,Y   DialogScript   W  ;Z0707070000010000000006660000000000000000010000001331301653100001300000000000TRAILER!!! # Dialog script for rbdpackedobject automatically generated

{
    name	rbdpackedobject
    script	rbdpackedobject
    label	"RBD Packed Object"


    help {
	""
    }

    inputlabel	1	"Sub-Network Input #1"

    parm {
        name    "usesimframe"
        label   "Creation Frame Specifies Simulation Frame"
        type    toggle
        default { "0" }
        range   { 0 1 }
        parmtag { "autoscope" "0000" }
    }
    parm {
        name    "createframe"
        label   "Creation Frame"
        type    float
        default { "ch(opcreator(\".\")+\"/startframe\")" }
        range   { 1 100 }
        parmtag { "autoscope" "0000" }
    }
    parm {
        name    "solvefirstframe"
        label   "Solve on Creation Frame"
        type    toggle
        default { "off" }
        range   { 0 1 }
        parmtag { "autoscope" "0000000000000000" }
    }
    parm {
        name    "object_name"
        label   "Object Name"
        type    string
        default { "$OS" }
        range   { 0 1 }
    }
    parm {
        name    "initialstate"
        label   "Initial Object Type"
        type    ordinal
        default { "0" }
        menu {
            "active"            "Create Active Objects"
            "static"            "Create Static Objects"
            "animatedstatic"    "Create Animated Static Objects"
            "deformingstatic"   "Create Deforming Static Objects"
            "deformingactive"   "Create Deforming Active Objects"
        }
        range   { 0 1 }
    }
    parm {
        name    "geosource"
        label   "Geometry Source"
        type    ordinal
        default { "0" }
        menu {
            "sop"       "SOP"
            "first"     "First Context Geometry"
            "second"    "Second Context Geometry"
            "third"     "Third Context Geometry"
            "fourth"    "Fourth Context Geometry"
        }
    }
    parm {
        name    "soppath"
        label   "SOP Path"
        type    oppath
        default { "" }
        disablewhen "{ geosource != sop }"
        range   { 0 1 }
        parmtag { "opfilter" "!!SOP!!" }
        parmtag { "oprelative" "." }
    }
    parm {
        name    "packtype"
        label   "Pack Type"
        type    string
        invisible
        default { "packbyname" }
        menu {
            "useexisting"   "Use Existing Packed Primitives"
            "packbyname"    "Pack By Name"
        }
        range   { 0 1 }
    }
    parm {
        name    "overwritefromsop"
        label   "Overwrite Attributes from SOP"
        type    toggle
        nolabel
        joinnext
        default { "0" }
        range   { 0 1 }
    }
    parm {
        name    "overwriteattributes"
        label   "Overwrite Attributes from SOP"
        type    string
        default { "active animated deforming" }
        disablewhen "{ overwritefromsop == 0 }"
        menutoggle {
            [ "soppath = hou.ch(\"soppath\")" ]
            [ "sopnode = hou.node(soppath)" ]
            [ "if not sopnode:" ]
            [ "    return []" ]
            [ "" ]
            [ "geo = sopnode.geometry()" ]
            [ "result = []" ]
            [ "for attrib in geo.pointAttribs():" ]
            [ "    name = attrib.name()" ]
            [ "    # Skip 'Pw'" ]
            [ "    if name == \"Pw\":" ]
            [ "        continue" ]
            [ "        " ]
            [ "    result.append(name)" ]
            [ "    result.append(name)" ]
            [ "" ]
            [ "result.sort()" ]
            [ "" ]
            [ "return result" ]
            language python
        }
        range   { 0 1 }
    }
    parm {
        name    "usetransform"
        label   "Use Object Transform"
        type    toggle
        default { "0" }
        range   { 0 1 }
    }
    parm {
        name    "active"
        label   "Create Active Objects"
        type    toggle
        invisible
        default { "1" }
        range   { 0 1 }
    }
    parm {
        name    "display"
        label   "Display Geometry"
        type    toggle
        nolabel
        joinnext
        default { "1" }
        range   { 0 1 }
    }
    parm {
        name    "displaygeo"
        label   "Display Geometry"
        type    ordinal
        default { "0" }
        disablewhen "{ display == 0 }"
        menu {
            "simgeo"    "Simulation Geometry"
            "rendergeo" "Render Geometry"
        }
    }
    parm {
        name    "rendergeopath"
        label   "Render SOP Path"
        type    oppath
        default { "" }
        disablewhen "{ display == 0 }"
        hidewhen "{ displaygeo != rendergeo }"
        range   { 0 1 }
        parmtag { "opfilter" "!!SOP!!" }
        parmtag { "oprelative" "." }
    }
    group {
        name    "initial_state"
        label   "Initial State"

        parm {
            name    "t"
            label   "Position"
            type    vector
            size    3
            default { "0" "0" "0" }
            range   { -1 1 }
        }
        parm {
            name    "r"
            label   "Rotation"
            type    vector
            size    3
            default { "0" "0" "0" }
            range   { -1 1 }
        }
        parm {
            name    "vel"
            label   "Velocity"
            type    vector
            size    3
            default { "0" "0" "0" }
            disablewhen "{ inheritvelocity == 1 }"
            range   { -1 1 }
        }
        parm {
            name    "angvel"
            label   "Angular Velocity"
            type    vector
            size    3
            default { "0" "0" "0" }
            disablewhen "{ inheritvelocity == 1 }"
            range   { -1 1 }
        }
        parm {
            name    "inheritvelocity"
            label   "Inherit Velocity from Point Velocity"
            type    toggle
            default { "0" }
            range   { 0 1 }
        }
    }

    group {
        name    "initial_state_1"
        label   "Bullet Data"

        parm {
            name    "showguide"
            label   "Show Guide Geometry"
            type    toggle
            default { "off" }
            range   { 0 1 }
            parmtag { "autoscope" "0000000000000000" }
        }
        parm {
            name    "color"
            label   "Color"
            type    color
            size    3
            default { "0" "0" "1" }
            range   { 0! 1! }
            parmtag { "autoscope" "0000000000000000" }
        }
        parm {
            name    "bullet_deactivated_color"
            label   "Deactivated Color"
            type    color
            size    3
            default { "1" "0" "0" }
            range   { 0! 1! }
            parmtag { "autoscope" "0000000000000000" }
        }
        parm {
            name    "sepparm"
            label   "Separator"
            type    separator
            default { "" }
            range   { 0 1 }
        }
        parm {
            name    "bullet_georep"
            label   "Geometry Representation"
            type    string
            default { "convexhull" }
            menu {
                "convexhull"    "Convex Hull"
                "concave"       "Concave"
                "box"           "Box"
                "capsule"       "Capsule"
                "cylinder"      "Cylinder"
                "compound"      "Compound"
                "sphere"        "Sphere"
                "plane"         "Plane"
            }
            range   { 0 1 }
            parmtag { "autoscope" "0000000000000000" }
        }
        parm {
            name    "geo_triangulate"
            label   "Triangulate Polygons (not working yet)"
            type    toggle
            invisible
            default { "on" }
            range   { 0 1 }
            parmtag { "autoscope" "0000000000000000" }
        }
        parm {
            name    "bullet_geoconvexhull"
            label   "Polygons As Convex Hulls"
            type    toggle
            invisible
            default { "on" }
            disablewhen "{ bullet_georep != as-is }"
            range   { 0 1 }
            parmtag { "autoscope" "0000000000000000" }
        }
        parm {
            name    "bullet_groupconnected"
            label   "Create Convex Hull per Set of Connected Primitives"
            type    toggle
            default { "off" }
            disablewhen "{ bullet_georep != convexhull }"
            range   { 0 1 }
            parmtag { "autoscope" "0000000000000000" }
        }
        parm {
            name    "bullet_autofit"
            label   "AutoFit Primitive Boxes, Capsules, Cylinders, Spheres, or Planes to Geometry"
            type    toggle
            default { "on" }
            disablewhen "{ bullet_georep == compound } { bullet_georep == convexhull } { bullet_georep == concave }"
            range   { 0 1 }
            parmtag { "autoscope" "0000000000000000" }
        }
        parm {
            name    "bullet_primT"
            label   "Position"
            type    vector
            size    3
            default { "0" "0" "0" }
            disablewhen "{ bullet_autofit == 1 } { bullet_georep == compound } { bullet_georep == convexhull } { bullet_georep == concave }"
            range   { -1 1 }
            parmtag { "autoscope" "0000000000000000" }
        }
        parm {
            name    "bullet_primR"
            label   "Rotation"
            type    vector
            size    3
            default { "0" "0" "0" }
            disablewhen "{ bullet_autofit == 1 } { bullet_georep == compound } { bullet_georep == convexhull } { bullet_georep == concave }"
            range   { -1 1 }
            parmtag { "autoscope" "0000000000000000" }
        }
        parm {
            name    "bullet_primS"
            label   "Box Size"
            type    vector
            size    3
            default { "1" "1" "1" }
            disablewhen "{ bullet_autofit == 1 } { bullet_georep != box }"
            range   { -1 1 }
            parmtag { "autoscope" "0000000000000000" }
        }
        parm {
            name    "bullet_radius"
            label   "Radius"
            type    float
            default { "1" }
            disablewhen "{ bullet_autofit == 1 } { bullet_georep == compound } { bullet_georep == convexhull } { bullet_georep == concave } { bullet_georep == box } { bullet_georep == plane }"
            range   { 0.1 5 }
            parmtag { "autoscope" "0000000000000000" }
        }
        parm {
            name    "bullet_length"
            label   "Length"
            type    float
            default { "1" }
            disablewhen "{ bullet_autofit == 1 } { bullet_georep == convexhull } { bullet_georep == concave } { bullet_georep == sphere } { bullet_georep == compound } { bullet_georep == box } { bullet_georep == plane }"
            range   { 0.1 5 }
            parmtag { "autoscope" "0000000000000000" }
        }
        parm {
            name    "bullet_collision_margin"
            label   "Collision Padding"
            type    float
            default { "0.02" }
            disablewhen "{ bullet_georep == plane }"
            range   { 0! 0.5 }
            parmtag { "autoscope" "0000000000000000" }
        }
        parm {
            name    "bullet_adjust_geometry"
            label   "Shrink Collision Geometry"
            type    toggle
            default { "on" }
            disablewhen "{ bullet_georep == plane } { bullet_georep == concave }"
            range   { 0 1 }
            parmtag { "autoscope" "0000000000000000" }
        }
        parm {
            name    "bullet_adjust_factor"
            label   "Adjustment Factor"
            type    float
            invisible
            default { "1" }
            disablewhen "{ bullet_georep == sphere } { bullet_georep == box } { bullet_georep == capsule } { bullet_adjust_geometry == 0 } { bullet_georep == cylinder } { bullet_georep == plane }"
            range   { 1! 5 }
            parmtag { "autoscope" "0000000000000000" }
        }
        parm {
            name    "bullet_shrink_amount"
            label   "Shrink Amount"
            type    float
            default { "ch(\"bullet_collision_margin\")" }
            disablewhen "{ bullet_georep == plane } { bullet_georep == concave } { bullet_adjust_geometry == 0 }"
            range   { 0! 5 }
        }
        parm {
            name    "bullet_add_impact"
            label   "Add Impact Data"
            type    toggle
            default { "on" }
            range   { 0 1 }
            parmtag { "autoscope" "0000000000000000" }
        }
        parm {
            name    "bullet_want_deactivate"
            label   "Enable Sleeping"
            type    toggle
            default { "on" }
            range   { 0 1 }
            parmtag { "autoscope" "0000000000000000" }
        }
        parm {
            name    "bullet_linear_sleep_threshold"
            label   "Linear Threshold"
            type    float
            default { "0.8" }
            disablewhen "{ bullet_want_deactivate == 0 }"
            range   { 0! 2 }
        }
        parm {
            name    "bullet_angular_sleep_threshold"
            label   "Angular Threshold"
            type    float
            default { "1" }
            disablewhen "{ bullet_want_deactivate == 0 }"
            range   { 0! 2 }
        }
    }

    group {
        name    "initial_state_2"
        label   "Physical"

        parm {
            name    "computecom"
            label   "Compute Center of Mass"
            type    toggle
            default { "1" }
            range   { 0 1 }
        }
        parm {
            name    "inheritpivot"
            label   "Inherit Pivot from Point Position"
            type    toggle
            default { "1" }
            range   { 0 1 }
        }
        parm {
            name    "p"
            label   "Pivot"
            type    vector
            size    3
            default { "0" "0" "0" }
            disablewhen "{ inheritpivot == 1 }"
            range   { -1 1 }
        }
        parm {
            name    "computemass"
            label   "Compute Mass"
            type    toggle
            default { "1" }
            range   { 0 1 }
        }
        parm {
            name    "density"
            label   "Density"
            type    float
            default { "1000" }
            disablewhen "{ computemass == 0 }"
            range   { 0! 10 }
        }
        parm {
            name    "mass"
            label   "Mass"
            type    float
            default { "1" }
            disablewhen "{ computemass == 1 }"
            range   { 0! 10 }
        }
        parm {
            name    "inertialtensorstiffness"
            label   "Rotational Stiffness"
            type    float
            default { "1" }
            range   { 0 10 }
        }
        parm {
            name    "bounce"
            label   "Bounce"
            type    float
            default { "0.5" }
            range   { 0! 1 }
        }
        parm {
            name    "friction"
            label   "Friction"
            type    float
            default { "1" }
            range   { 0! 10 }
        }
    }

}
INDX              DialogScript      Z Vi/*
 * PROPRIETARY INFORMATION.  This software is proprietary to
 * Side Effects Software Inc., and is not to be reproduced,
 * transmitted, or disclosed in any way without written permission.
 *
 * Produced by:
 *	Side Effects Software Inc
 *	477 Richmond Street West
 *	Toronto, Ontario
 *	Canada   M5V 3E7
 *	416-504-9876
 *
 */

#include <parameter.ds>

{
    name	"reflect"
    script	"reflect"
    label	"reflect"


    code {
	"$rdir = reflect($dir, $nml);"
    }

    input	vector	dir	"Incident Direction"
    input	normal	nml	"Normalized Normal"
    output	vector	rdir	"Reflected Direction"

    VOP_VEC_PARM(dir, "Direction", 1, 0, 0)
    VOP_VEC_PARM(nml, "Normal Vector", 0, 0, 1)

    signature	"3D Vector"		default { }
    signature	"Uniform 3D Vector"	uv	{ uvector unormal uvector }
}
INDX              DialogScript      |Z Vi/*
 * PROPRIETARY INFORMATION.  This software is proprietary to
 * Side Effects Software Inc., and is not to be reproduced,
 * transmitted, or disclosed in any way without written permission.
 *
 * Produced by:
 *	Side Effects Software Inc
 *	477 Richmond Street West
 *	Toronto, Ontario
 *	Canada   M5V 3E7
 *	416-504-9876
 *
 */

#include <parameter.ds>

#define RENDER_SETTINGS	\
    "renderer:version"		"Renderer: Version" \
    "renderer:shadingfactor"	"Renderer: Shading Factor" \
    "renderer:rayshadingfactor"	"Renderer: Ray Shading Factor" \
    "renderer:raybias"		"Renderer: Ray Bias" \
    "renderer:verbose"		"Renderer: Verbose" \
    "renderer:threadcount"	"Renderer: Thread Count" \
    "renderer:renderengine"	"Renderer: Render Engine" \
    "renderer:hidden"		"Renderer: Hidden" \
    "renderer:colorspace"	"Renderer: Colorspace" \
    "renderer:raylimiteval"	"Renderer: Ray Limit Eval" \
    "renderer:raylimitcomponents" "Renderer: Ray Limit Components" \
    "renderer:raylimitlightmask" "Renderer: Ray Limit Light Mask" \
    "renderer:rayderivbias"	"Renderer: Ray Deriv Bias" \
    "image:filename"		"Image: Filename" \
    "image:device"		"Image: Device" \
    "image:resolution"		"Image: Resolution" \
    "image:pixelaspect"		"Image: Pixel Aspect" \
    "image:crop"		"Image: Crop" \
    "image:window"		"Image: Window" \
    "image:samples"		"Image: Samples" \
    "image:jitter"		"Image: Jitter" \
    "image:subpixel"		"Image: Sub-pixel" \
    "image:opacitythresh"	"Image: Opacity Threshold" \
    "image:opacitylimit"	"Image: Opacity Limit" \
    "image:colorlimit"		"Image: Color Limit" \
    "image:background"		"Image: Background" \
    "image:bgscale"		"Image: Background Scale" \
    "image:saveoptions"		"Image: Save Options" \
    "camera:shutter"		"Camera: Shutter Times" \
    "photon:photongfile"	"Photon: Global File" \
    "photon:photoncfile"	"Photon: Caustic File" \
    "photon:photoncount"	"Photon: Count" \
    "shader:name"		"Shader: Name"

#define OBJECT_SETTINGS \
    "object:name"		"Object: Name" \
    "object:id"			"Object: Id" \
    "object:shadingquality"	"Object: Shading Quality" \
    "object:rayshadingquality"	"Object: Ray Shading Quality" \
    "object:displacebound"	"Object: Displace Bound" \
    "object:reflectlimit"	"Object: Reflect Limit" \
    "object:refractlimit"	"Object: Refract Limit" \
    "object:diffuselimit"	"Object: Diffuse Limit" \
    "object:volumelimit"	"Object: Volume Limit" \
    "object:rayweight"		"Object: Ray Weight" \
    "object:pbrdiffusemask"	"Object: PBR Diffuse Mask" \
    "object:pbrglossymask"	"Object: PBR Glossy Mask" \
    "object:pbrspecularmask"	"Object: PBR Specular Mask" \
    "object:motionfactor"	"Object: Motion Factor" \
    "object:flatness"		"Object: Flatness" \
    "object:reflectmask"	"Object: Reflection Mask" \
    "object:reflectcategories"	"Object: Reflection Categories" \
    "object:refractmask"	"Object: Refraction Mask" \
    "object:refractcategories"	"Object: Refraction Categories" \
    "object:lightmask"		"Object: Light Mask" \
    "object:lightcategories"	"Object: Light Categories" \
    "object:photonmodifier"	"Object: Photon Modifier" \
    "object:filter"		"Object: Volume Filter" \
    "object:filterwidth"	"Object: Volume Filter Width" \
    "object:dorayvariance"	"Object: Do Ray Variance" \
    "object:variance"		"Object: Ray Variance" \
    "object:globalquality"	"Object: Global Quality" \
    "object:diffusequality"	"Object: Diffuse Quality" \
    "object:refractionquality"	"Object: Refraction Quality" \
    "object:reflectionquality"	"Object: Reflection Quality" \
    "object:minraysamples"	"Object: Min Ray Samples" \
    "object:maxraysamples"	"Object: Max Ray Samples" \
    "object:samplingquality"	"Object: Sampling Quality" \
    "object:velocityscale"	"Object: Velocity Scale" \
    "object:gifile"		"Object: Irradiance Cache File" \
    "object:gisample"		"Object: Irradiance Samples" \
    "object:gierror"		"Object: Irradiance Error" \
    "object:smoothcolor"	"Object: Smooth Grid Colors" \
    "object:phantom"		"Object: Phantom" \
    "object:truedisplace"	"Object: True Displacements" \
    "object:rayshade"		"Object: Ray-Traced Shading" \
    "object:volumeuniform"	"Object: Uniform Volume" \
    "object:volumeiso"		"Object: Volume Isosurface" \
    "object:volumesteprate"	"Object: Volume Step Rate" \
    "object:volumeshadowsteprate"	"Object: Volume Shadow Step Rate" \
    "object:volumedensity"	"Object: Volume Density" \
    "object:volumesamples"	"Object: Volume Samples" \
    "object:biasnormal"		"Object: Bias Along Normal" \
    "object:area"		"Object: Surface Area"

#define LIGHT_SETTINGS \
    "light:areamap"		"Light: Area Map" \
    "light:areashape"		"Light: Area Shape" \
    "light:areasize"		"Light: Area Size" \
    "light:arealight"		"Light: Is Area Light" \
    "light:distantlight"	"Light: Is Distant Light" \
    "light:activeradius"	"Light: Active Radius" \
    "light:projection"		"Light: Projection" \
    "light:minraysamples"	"Light: Min Ray Samples" \
    "light:maxraysamples"	"Light: Max Ray Samples" \
    "light:zoom"		"Light: Zoom" \
    "light:orthowidth"		"Light: Orthowidth" \
    "light:shadowmask"		"Light: Shadow Mask" \
    "light:shadowcategories"	"Light: Shadow Categories" \
    "light:areafullsphere"	"Light: Full Sphere Environment" \
    "light:photontarget"	"Light: Photon Target" \
    "light:photonweight"	"Light: Photon Weight" \
    "light:envangle"		"Light: Sun Angle" \

#define FOG_SETTINGS \
    "fog:name"			"Fog: Name" \
    "fog:lightmask"		"Fog: Light Mask" \
    "fog:lightcategories"	"Fog: Light Categories"

{
    name	"renderstate"
    script	"renderstate"
    label	"renderstate"


    code {
	"$found = renderstate($var, $val);"
	"if (!$found) $val = $default;"
    }

    output	string	val		"Variable Value"
    output	int	found		"1 if imported, Else 0"

    parm {
	name	var
	label	"Value Name"
	type	string
	menureplace	{
	    RENDER_SETTINGS \
	    OBJECT_SETTINGS \
	    LIGHT_SETTINGS
	}
	default { "object:name" }
    }
    input	string	var	"Value Name"

    VOP_STR_INPUT(default, "Default String", "")
    VOP_FLT_PARM(default_f, "Default Value", 0)
    VOP_INT_PARM(default_i, "Default Integer", 0)
    VOP_VEC_PARM(default_v, "Default Vector", 0, 0, 0)

    signature	"String Values"		default	{ }
    signature	"Float Values"		f	{ string float float int }
    signature	"Integer Values"	i	{ string int int int }
    signature	"Vector Values"		v	{ string vector vector int }
}
INDX              Contents       W[,   DialogScript   W  }XB0707070000010000000006660000000000000000010000001331301640400001300000000000TRAILER!!! # Dialog script for restpos automatically generated

{
    name	restpos
    script	restpos
    label	"Rest Position"

    input	point	P	Position
    input	string	space	Space
    output	vector	restP	"Rest Position"
    inputflags	P	0
    inputflags	space	0
    signature	"Default Inputs"	default	{ point string vector }

    outputoverrides	default
    {
	___begin	auto
			(0,0,0)
    }

    help {
	""
    }

    parm {
	name	"space"
	label	"Space"
	type	string
	default	{ "texture" }
	menu	{
	    "texture"	"Texture"
	    "object"	"Object"
	    "ndc"	"Normalized Device Coordinates (NDC)"
	    "world"	"World"
	}
	range	{ 0 1 }
    }
}
INDX              Contents       W[,Y   DialogScript   W  <Z&,/0707070000010000000006660000000000000000010000001331301653100001300000000000TRAILER!!! # Dialog script for rigidbodysolver automatically generated

{
    name	rigidbodysolver
    script	rigidbodysolver
    label	"Rigid Body Solver"


    help {
	""
    }

    inputlabel	1	Objects
    inputlabel	2	Pre-Solve
    inputlabel	3	Post-Solve
    inputlabel	4	"Input 4"

    parm {
        name    "solver"
        label   "Solver Engine"
        type    ordinal
        default { "bullet" }
        menu {
            "bullet"    "Bullet"
            "rbd"       "RBD"
        }
        range   { 0 10 }
    }
    group {
        name    "folder1_2"
        label   "Bullet"

        parm {
            name    "substeps"
            label   "Number of Substeps"
            type    integer
            default { "10" }
            disablewhen "{ solver != bullet }"
            range   { 1! 100 }
            parmtag { "autoscope" "0000000000000000" }
            parmtag { "script_callback" "" }
        }
        parm {
            name    "sleepingtime"
            label   "Sleeping Time"
            type    float
            default { "2" }
            disablewhen "{ solver != bullet }"
            range   { 0! 5 }
            parmtag { "autoscope" "0000000000000000" }
        }
        parm {
            name    "contactbreakingthreshold"
            label   "Contact Breaking Threshold"
            type    float
            default { "0.02" }
            disablewhen "{ solver != bullet }"
            range   { 0! 0.1 }
            parmtag { "autoscope" "0000000000000000" }
        }
        groupsimple {
            name    "constraintsolver"
            label   "Constraint Solver"

            parm {
                name    "use_parallel_constraint_solver"
                label   "Use Parallel Constraint Solver"
                type    toggle
                invisible
                default { "off" }
                disablewhen "{ solver != bullet }"
                range   { 0 1 }
                parmtag { "autoscope" "0000000000000000" }
                parmtag { "script_callback" "" }
            }
            parm {
                name    "constraintsolvertype"
                label   "Constraint Solver"
                type    ordinal
                default { "gaussseidelisland" }
                disablewhen "{ solver != bullet }"
                menu {
                    "gaussseidelisland" "Parallel Gauss-Seidel (Islands)"
                    "gaussseidelcolor"  "Parallel Gauss-Seidel (Graph Coloring)"
                }
                parmtag { "autoscope" "0000000000000000" }
            }
            parm {
                name    "numiteration"
                label   "Constraint Iterations"
                type    integer
                default { "10" }
                disablewhen "{ solver != bullet }"
                range   { 1! 100 }
                parmtag { "autoscope" "0000000000000000" }
                parmtag { "script_callback" "" }
            }
            parm {
                name    "constraintsolvertolerance"
                label   "Solve Tolerance"
                type    float
                default { "0.0001" }
                disablewhen "{ solver != bullet }"
                range   { 0! 1 }
                parmtag { "autoscope" "0000000000000000" }
            }
            parm {
                name    "globalcfm"
                label   "Constraint Force Mixing"
                type    float
                default { "0" }
                disablewhen "{ solver != bullet }"
                range   { 0! 1 }
                parmtag { "autoscope" "0000000000000000" }
                parmtag { "script_callback" "" }
            }
            parm {
                name    "globalerp"
                label   "Error Reduction Parameter"
                type    float
                default { "0.2" }
                disablewhen "{ solver != bullet }"
                range   { 0! 1! }
                parmtag { "autoscope" "0000000000000000" }
                parmtag { "script_callback" "" }
            }
            parm {
                name    "randomize_order"
                label   "Randomize Constraint Order"
                type    toggle
                default { "off" }
                disablewhen "{ solver != bullet }"
                range   { 0 1 }
                parmtag { "autoscope" "0000000000000000" }
            }
            parm {
                name    "splitimpulse"
                label   "Split Impulse"
                type    toggle
                default { "on" }
                disablewhen "{ solver != bullet }"
                range   { 0 1 }
                parmtag { "autoscope" "0000000000000000" }
                parmtag { "script_callback" "" }
            }
            parm {
                name    "penetrationthreshold"
                label   "Penetration Threshold"
                type    float
                default { "-0.02" }
                disablewhen "{ solver != bullet } { splitimpulse == 0 }"
                range   { -1 1 }
                parmtag { "autoscope" "0000000000000000" }
                parmtag { "script_callback" "" }
            }
            parm {
                name    "splitimpulseerp"
                label   "Split Impulse ERP"
                type    float
                default { "0.8" }
                disablewhen "{ solver != bullet } { splitimpulse == 0 }"
                range   { 0! 1! }
                parmtag { "autoscope" "0000000000000000" }
                parmtag { "script_callback" "" }
            }
        }

    }

    group {
        name    "folder1_2_1"
        label   "ODE"
        invisibletab

        parm {
            name    "erp"
            label   "Error Reduction"
            type    float
            default { "0.2" }
            disablewhen "{ solver != ode }"
            range   { 0 10 }
        }
        parm {
            name    "cfm"
            label   "Constraint Force Mixing"
            type    float
            default { "1e-07" }
            disablewhen "{ solver != ode }"
            range   { 0 10 }
        }
        parm {
            name    "oversample"
            label   "Oversamples"
            type    integer
            default { "10" }
            disablewhen "{ solver != ode }"
            range   { 0 10 }
        }
        parm {
            name    "rand"
            label   "Random Seed"
            type    integer
            default { "0" }
            disablewhen "{ solver != ode }"
            range   { 0 10 }
        }
        parm {
            name    "usemaxomega"
            label   "Max Angular Velocity"
            type    toggle
            joinnext
            default { "1" }
            disablewhen "{ solver != ode }"
            range   { 0 1 }
        }
        parm {
            name    "maxomega"
            label   "Max Angular Velocity"
            type    float
            nolabel
            default { "100000" }
            disablewhen "{ solver != ode } { usemaxomega != 1 }"
            range   { 0! 100000 }
        }
    }

    group {
        name    "folder1_2_2"
        label   "RBD"

        group {
            name    "folder0"
            label   "Substeps"

            parm {
                name    "minimumsubsteps"
                label   "Minimum Substeps"
                type    integer
                default { "1" }
                disablewhen "{ solver != rbd }"
                range   { 0 10 }
                parmtag { "autoscope" "0000000000000000" }
            }
            parm {
                name    "maximumsubsteps"
                label   "Maximum Substeps"
                type    integer
                default { "1" }
                disablewhen "{ solver != rbd }"
                range   { 0 10 }
            }
            parm {
                name    "cflcond"
                label   "CFL Condition"
                type    integer
                default { "1" }
                disablewhen "{ solver != rbd }"
                range   { 0 10 }
            }
        }

        group {
            name    "folder0_1"
            label   "Collisions"

            parm {
                name    "collisioniterations"
                label   "Collision Passes"
                type    integer
                default { "5" }
                disablewhen "{ solver != rbd }"
                range   { 0 10 }
            }
            parm {
                name    "contactiterations"
                label   "Contact Passes"
                type    integer
                default { "7" }
                disablewhen "{ solver != rbd }"
                range   { 0 10 }
            }
            parm {
                name    "subcontactiterations"
                label   "SubContact Passes"
                type    integer
                default { "10" }
                disablewhen "{ solver != rbd }"
                range   { 0 10 }
            }
            parm {
                name    "shockpropagation"
                label   "Shock Propagation"
                type    integer
                default { "3" }
                disablewhen "{ solver != rbd }"
                range   { 0 10 }
            }
            parm {
                name    "resolvepenetration"
                label   "Resolve Penetration"
                type    integer
                default { "0" }
                disablewhen "{ solver != rbd }"
                range   { 0 10 }
            }
            parm {
                name    "usepointvelocity"
                label   "Use Point Velocity for Collisions"
                type    toggle
                default { "0" }
                disablewhen "{ solver != rbd }"
                range   { 0 1 }
            }
            parm {
                name    "usevolumevelocity"
                label   "Use Volume Velocity for Collisions"
                type    toggle
                default { "0" }
                disablewhen "{ solver != rbd }"
                range   { 0 1 }
            }
            parm {
                name    "addimpacts"
                label   "Add Impact Data"
                type    toggle
                default { "1" }
                disablewhen "{ solver != rbd }"
                range   { 0 1 }
            }
            parm {
                name    "glueignoresrestingobjects"
                label   "Glue Ignores Resting Objects"
                type    toggle
                default { "1" }
                disablewhen "{ solver != rbd }"
                range   { 0 1 }
            }
            parm {
                name    "cullmode"
                label   "Culling Method"
                type    integer
                default { "1" }
                disablewhen "{ solver != rbd }"
                menu {
                    "0" "None"
                    "1" "Sphere"
                    "2" "Oriented Bounding Box"
                }
                range   { 0 10 }
            }
            parm {
                name    "contactgroupmethod"
                label   "Contact Grouping Method"
                type    integer
                default { "0" }
                disablewhen "{ solver != rbd }"
                menu {
                    "0" "None"
                    "1" "Most Central Point"
                    "2" "Average Point"
                }
                range   { 0 10 }
            }
            parm {
                name    "contactgrouptol"
                label   "Contact Grouping Tolerance"
                type    float
                default { "0.001" }
                disablewhen "{ solver != rbd }"
                range   { 0 10 }
            }
        }

    }

    group {
        name    "folder1_2_3"
        label   "Fracture"

        parm {
            name    "labelparm"
            label   "Requires Voronoi Fracture Configure Object"
            type    label
            nolabel
            default { "Requires a Voronoi Fracture Configure Object" }
            range   { 0 1 }
        }
        parm {
            name    "fractureminpiecevol"
            label   "Minimum Piece Volume"
            type    float
            default { "1e-07" }
            disablewhen "{ dofracture == 0 }"
            range   { 0 10 }
            parmtag { "autoscope" "0000000000000000" }
        }
        parm {
            name    "fractureclusterfusedist"
            label   "Cluster Fuse Tolerance"
            type    float
            default { "0.001" }
            disablewhen "{ dofracture == 0 }"
            range   { 0 10 }
            parmtag { "autoscope" "0000000000000000" }
        }
        parm {
            name    "fracturestampcreation"
            label   "Stamp Interior Primitives With Creation Time"
            type    toggle
            default { "off" }
            disablewhen "{ dofracture == 0 }"
            range   { 0 1 }
            parmtag { "autoscope" "0000000000000000" }
        }
        parm {
            name    "fracturefeedback"
            label   "Allow Fracturing From Feedback"
            type    toggle
            default { "off" }
            disablewhen "{ dofracture == 0 }"
            range   { 0! 10 }
            parmtag { "autoscope" "0000000000000000" }
        }
        parm {
            name    "fractureignoresresting"
            label   "Fracturing Ignores Resting Objects"
            type    toggle
            default { "on" }
            disablewhen "{ dofracture == 0 }"
            range   { 0 1 }
            parmtag { "autoscope" "0000000000000000" }
        }
        parm {
            name    "fractureseed"
            label   "Random Seed"
            type    integer
            default { "0" }
            disablewhen "{ dofracture == 0 }"
            range   { 0 10 }
            parmtag { "autoscope" "0000000000000000" }
        }
        parm {
            name    "converttopoly"
            label   "Convert To Poly"
            type    toggle
            nolabel
            joinnext
            default { "on" }
            disablewhen "{ dofracture == 0 }"
            range   { 0 1 }
            parmtag { "autoscope" "0000000000000000" }
        }
        parm {
            name    "converttopolylod"
            label   "Convert To Poly"
            type    float
            default { "1" }
            disablewhen "{ dofracture == 0 } { converttopoly == 0 }"
            range   { 0! 10 }
            parmtag { "autoscope" "0000000000000000" }
        }
    }

    parm {
        name    "addaffectors"
        label   "Make Objects Mutual Affectors"
        type    toggle
        default { "on" }
        range   { 0 1 }
        parmtag { "autoscope" "0000000000000000" }
    }
    parm {
        name    "group"
        label   "Group"
        type    string
        default { "*" }
        menutoggle {
            [ "opmenu -l multisolver1 group" ]
        }
        range   { 0 1 }
        parmtag { "autoscope" "0000000000000000" }
    }
    parm {
        name    "dataname"
        label   "Data Name"
        type    string
        default { "Solver" }
        range   { 0 1 }
        parmtag { "autoscope" "0000000000000000" }
    }
    parm {
        name    "uniquedataname"
        label   "Unique Data Name"
        type    toggle
        default { "off" }
        range   { 0 1 }
        parmtag { "autoscope" "0000000000000000" }
    }
    parm {
        name    "solverperobject"
        label   "Solver Per Object"
        type    toggle
        default { "off" }
        range   { 0 1 }
        parmtag { "autoscope" "0000000000000000" }
    }
}
INDX              DialogScript      bZ Vh/*
 * PROPRIETARY INFORMATION.  This software is proprietary to
 * Side Effects Software Inc., and is not to be reproduced,
 * transmitted, or disclosed in any way without written permission.
 *
 * Produced by:
 *	Jeff Lait
 *	Side Effects Software Inc
 *	477 Richmond Street West
 *	Toronto, Ontario
 *	Canada   M5V 3E7
 *	416-504-9876
 *
 */

{
    name	"setattrib"
    script	"setattrib"
    label	"setattrib"


    code {
	"setattrib($handle, $atype, $attrib, $i1, $i2, $value, $mode);"
    }

    forcecode

    descriptiveparm	attrib

    input	int	handle	"Geometry Handle"
    input	string	atype	"Attribute Class"
    input	string	attrib	"Attribute Name"
    input	string	mode	"Merge Mode"
    input	int	i1	"Point or Primitive Number"
    input	int	i2	"Vertex Number"
    input	vector	value	"Attribute Value"
    signature	"Float Attribute"	f  { int string string string int int float }
    signature	"Integer Attribute"	i  { int string string string int int int }
    signature	"Vector2 Attribute"	v2 { int string string string int int vector2 }
    signature	"Vector Attribute"	default { }
    signature	"Vector4 Attribute"	v4 { int string string string int int vector4 }
    signature	"Matrix2 Attribute"	m2 { int string string string int int matrix2 }
    signature	"Matrix3 Attribute"	m3 { int string string string int int matrix3 }
    signature	"Matrix Attribute"	m  { int string string string int int matrix }
    signature	"String Attribute"	s  { int string string string int int string }
    signature	"Float Array Attribute"	fa  { int string string string int int floata }
    signature	"Integer Array Attribute"	ia  { int string string string int int inta }
    signature	"Vector2 Array Attribute"	v2a { int string string string int int vector2a }
    signature	"Vector Array Attribute"	va { int string string string int int vectora }
    signature	"Vector4 Array Attribute"	v4a { int string string string int int vector4a }
    signature	"Matrix2 Array Attribute"	m2a { int string string string int int matrix2a }
    signature	"Matrix3 Array Attribute"	m3a { int string string string int int matrix3a }
    signature	"Matrix Array Attribute"	ma  { int string string string int int matrixa }
    signature	"String Array Attribute"	sa  { int string string string int int stringa }

    parm {
	name	handle
	label	"Geometry Handle"
	type	int
        size    1
        default { 0 }
    }
    parm {
	name	atype
	label	"Attribute Class"
	type	string
	default	{ "point" }
	menu {
	    "detail"	"Detail"
	    "point"	"Point"
	    "prim"	"Primitive"
	    "vertex"	"Vertex"
	    "pointgroup"	"Point Group"
	    "primgroup"	"Primitive Group"
	    "primintrinsic"	"Primitive Intrinsic"
	}
    }
    parm {
	name	mode
	label	"Merge Mode"
	type	string
	default	{ "set" }
	menu {
	    "set"	"Set"
	    "add"	"Add"
	    "max"	"Maximum"
	    "min"	"Minimum"
	    "multiply"	"Multiply"
	    "toggle"	"Toggle"
	}
    }
    parm {
	name	attrib
	label	"Attribute"
	type	string
	default	{ "Cd" }
    }
    parm {
	name	i1
	label	"Point or Primitive"
	type	int
	size	1
	default	{ -1 }
    }
    parm {
	name	i2
	label	"Vertex"
	type	int
	size	1
	default	{ -1 }
    }
}

INDX              DialogScript      Z Vi
/*
 * PROPRIETARY INFORMATION.  This software is proprietary to
 * Side Effects Software Inc., and is not to be reproduced,
 * transmitted, or disclosed in any way without written permission.
 *
 * Produced by:
 *	Side Effects Software Inc
 *	477 Richmond Street West
 *	Toronto, Ontario
 *	Canada   M5V 3E7
 *	416-504-9876
 *
 */

{
    name	"shadingnormal"
    script	"shadingnormal"
    label	"shadingnormal"


    code {
	"vector $myP  = $isconnected_P  ? $P  : P;"
	"vector $myN  = $isconnected_N  ? $N  : N;"
	"vector $myNg = $isconnected_Ng ? $Ng : Ng;"
	"$newN = computenormal($myP, $myN, $myNg, \"extrapolate\", $extrapol,"
	"                     \"smooth\", $smooth);"
    }

    input	vector	P		"Position"
    input	vector	N		"Surface Normal"
    input	vector	Ng		"Geometric Normal"
    input	int	smooth		"Smooth Derivatives"
    input	int	extrapol	"Extrapolate Derivatives"
    output	vector	newN		"Shading Normal"

    parm {
        name    smooth
        label   "Smooth Derivatives"
        type    toggle
	size	1
        default { 1 }
    }
    parm {
        name    extrapol
        label   "Extrapolate Derivatives"
        type    toggle
	size	1
        default { 0 }
    }
}
INDX              DialogScript      Z Vi/*
 * PROPRIETARY INFORMATION.  This software is proprietary to
 * Side Effects Software Inc., and is not to be reproduced,
 * transmitted, or disclosed in any way without written permission.
 *
 * Produced by:
 *	Side Effects Software Inc
 *	477 Richmond Street West
 *	Toronto, Ontario
 *	Canada   M5V 3E7
 *	416-504-9876
 *
 */

#include <parameter.ds>
{
    name	"smooth"
    script	"smooth"
    label	"smooth"

    outercode {
	INCLUDE_VOPLIB
    }

    code {
	"$val = vop_smooth($min, $max, $amount, $rolloff);"
    }

    input	float	min	"Range Bottom"
    input	float	max	"Range Top"
    input	float	amount	"Amount"
    input	float	rolloff	"Rolloff"
    output	float	val	"Number Between 0 And 1"

    signature	"Float"	default	{ }
    signature	"Uniform Float"	uf	{ ufloat ufloat ufloat ufloat ufloat }

    VOP_FLT_PARM(min,	  "Range Bottom", 0)
    VOP_FLT_PARM(max,	  "Range Top",	  1)
    VOP_FLT_PARM(amount,  "Amount",	  0.5)
    VOP_FLT_PARM(rolloff, "Rolloff",	  1)

    VOP_FLT_PARM(min_uf,     "Range Bottom", 0)
    VOP_FLT_PARM(max_uf,     "Range Top",  1)
    VOP_FLT_PARM(amount_uf,  "Amount",	  0.5)
    VOP_FLT_PARM(rolloff_uf, "Rolloff",	  1)
}
INDX              Contents       W[,   DialogScript   W  eUG~0707070000010000000006660000000000000000010000001331301703000001300000000000TRAILER!!! # Dialog script for solver automatically generated 08/04/15 19:15:10

{
    name	solver
    script	solver
    label	Solver

    help {
	""
    }

    inputlabel	1	"Initial Geometry"
    inputlabel	2	"Auxillary #1"
    inputlabel	3	"Auxillary #2"
    inputlabel	4	"Auxillary #3"

    parm {
	name	"resimulate"
	label	"Reset Simulation"
	type	button
	default	{ "0" }
	range	{ 0 1 }
	export	none
	parmtag	{ "autoscope" "0000000000000000" }
    }
    parm {
	name	"useinitialsop"
	label	"Use Initial SOP"
	type	toggle
	nolabel
	joinnext
	default	{ "0" }
	range	{ 0 1 }
	export	none
    }
    parm {
	name	"initialsop"
	label	"Initial State"
	type	oppath
	default	{ "" }
	disablewhen	"{ useinitialsop == 0 }"
	range	{ 0 1 }
	export	none
	parmtag	{ "opfilter" "!!SOP!!" }
	parmtag	{ "oprelative" "." }
    }
    parm {
	name	"startframe"
	label	"Start Frame"
	type	integer
	default	{ "1" }
	range	{ 1 240 }
	export	none
	parmtag	{ "autoscope" "0000000000000000" }
    }
    parm {
	name	"substep"
	label	"Sub Steps"
	type	integer
	default	{ "1" }
	range	{ 1! 10 }
	export	none
	parmtag	{ "autoscope" "0000000000000000" }
    }
    parm {
	name	"cacheenabled"
	label	"Cache Simulation"
	type	toggle
	default	{ "on" }
	range	{ 0 1 }
	export	none
	parmtag	{ "autoscope" "0000000000000000" }
    }
    parm {
	name	"cachetodisk"
	label	"Allow Caching To Disk"
	type	toggle
	default	{ "off" }
	range	{ 0 1 }
	export	none
	parmtag	{ "autoscope" "0000000000000000" }
    }
    parm {
	name	"cachemaxsize"
	label	"Cache Memory (MB)"
	type	integer
	default	{ "5000" }
	range	{ 0! 1000 }
	export	none
	parmtag	{ "autoscope" "0000000000000000" }
    }
}
INDX              Contents       W[,5   DialogScript   W  U*$0707070000010000000006660000000000000000010000001331301646500001300000000000TRAILER!!! # Dialog script for split automatically generated 03/13/15 14:19:16

{
    name	split
    script	split
    label	Split

    help {
	""
    }

    inputlabel	1	"Sub-Network Input #1"
    inputlabel	2	"Sub-Network Input #2"
    inputlabel	3	"Sub-Network Input #3"
    inputlabel	4	"Sub-Network Input #4"

    parm {
	name	"group"
	label	"Group"
	type	string
	default	{ "" }
	menutoggle	{
	    [ "opmenu -l blast1 group" ]
	}
	range	{ 0 1 }
	export	none
	parmtag	{ "autoscope" "0000000000000000" }
	parmtag	{ "script_action" "import soputils\nkwargs['geometrytype'] = kwargs['node'].parmTuple('grouptype')\nkwargs['inputindex'] = 0\nsoputils.selectGroupParm(kwargs)" }
	parmtag	{ "script_action_help" "Select geometry from an available viewport." }
	parmtag	{ "script_action_icon" "BUTTONS_reselect" }
	parmtag	{ "script_callback" "" }
	bindselector everything Split
	    "Select the geometry to keep as first output and press Enter to complete."
	    0 1 0xffffffff 0 grouptype 0
    }
    parm {
	name	"grouptype"
	label	"Group Type"
	type	ordinal
	default	{ "guess" }
	menu	{
	    "guess"	"Guess from Group"
	    "breakpoints"	"Breakpoints"
	    "edges"	"Edges"
	    "points"	"Points"
	    "prims"	"Primitives"
	}
	range	{ 0 1 }
	export	none
	parmtag	{ "autoscope" "0000000000000000" }
	parmtag	{ "script_callback" "" }
    }
    parm {
	name	"negate"
	label	"Invert Selection"
	type	toggle
	default	{ "off" }
	range	{ 0 1 }
	export	none
	parmtag	{ "autoscope" "0000000000000000" }
	parmtag	{ "script_callback" "" }
    }
    parm {
	name	"removegrp"
	label	"Delete Unused Groups"
	type	toggle
	default	{ "off" }
	range	{ 0 1 }
	export	none
	parmtag	{ "autoscope" "0000000000000000" }
    }
}
INDX              DialogScript      Z Vi/*
 * PROPRIETARY INFORMATION.  This software is proprietary to
 * Side Effects Software Inc., and is not to be reproduced,
 * transmitted, or disclosed in any way without written permission.
 *
 * Produced by:
 *	Side Effects Software Inc
 *	477 Richmond Street West
 *	Toronto, Ontario
 *	Canada   M5V 3E7
 *	416-504-9876
 *
 */

{
    name	"subconst"
    script	"subconst"
    label	"subconst"


    code {
	"$subed = $val - $subconst;"
    }

    descriptiveparm	subconst

    input	int	val		"Input Value"
    output	int	subed		"Input Value - Constant"
    signature	"Integer"		default	{ }
    signature	"Float"			f	{ float float }
    signature	"2D Vector"		u	{ vector2 vector2 }
    signature	"3D Vector"		v	{ vector vector }
    signature	"3D Point"		p	{ point point }
    signature	"3D Normal"		n	{ normal normal }
    signature	"RGB Color"		c	{ color color }
    signature	"4D Vector"		v4	{ vector4 vector4 }

    signature	"Uniform Float"		uf	{ ufloat ufloat }
    signature	"Uniform 3D Vector"	uv	{ uvector uvector }
    signature	"Uniform 3D Point"	up	{ upoint upoint }
    signature	"Uniform 3D Normal"	un	{ unormal unormal }
    signature	"Uniform RGB Color"	uc	{ ucolor ucolor }

    parm {
	name	subconst
	label	"Subtract"
	type	float
	size	1
	default	{ 1.0 }
    }
}

INDX              Contents       W[,   DialogScript   W  UQ0707070000010000000006660000000000000000010000001331301640400001300000000000TRAILER!!! # Dialog script for surfacecolor automatically generated 07/20/15 15:52:58

{
    name	surfacecolor
    script	surfacecolor
    label	"Surface Color"

    input	int	useBaseColor	"Use Base Color"
    input	vector	baseColor	"Base Color"
    input	int	usePointColor	"Use Point Color"
    input	int	usePackedColor	"Use Packed Color"
    input	int	useColorMap	"Use Color Map"
    input	string	baseColorMap	"Base Color Map"
    input	string	colorMapSourceColorSpace	"Source Color Space"
    input	string	colorMapWrap	"Color Map Wrap"
    input	string	colorMapfilter	"color Map Filter Type"
    input	float	colorMapWidth	"Color Map Filter Width"
    input	vector4	colorMapBorder	"Color Map Border Color"
    input	float	scoord	"S Coordinate"
    input	float	tcoord	"T Coordinate"
    input	int	usePointAlpha	"Use Point Alpha"
    input	float	colorMapIntensity	"Color Map Intensity"
    output	vector	color	"Combined Value"
    output	float	alpha	"Combined Value"
    inputflags	useBaseColor	0
    inputflags	baseColor	0
    inputflags	usePointColor	0
    inputflags	usePackedColor	0
    inputflags	useColorMap	0
    inputflags	baseColorMap	0
    inputflags	colorMapSourceColorSpace	0
    inputflags	colorMapWrap	0
    inputflags	colorMapfilter	0
    inputflags	colorMapWidth	0
    inputflags	colorMapBorder	0
    inputflags	scoord	0
    inputflags	tcoord	0
    inputflags	usePointAlpha	0
    inputflags	colorMapIntensity	0
    signature	"Default Inputs"	default	{ int vector int int int string string string string float vector4 float float int float vector float }

    outputoverrides	default
    {
	___begin	auto
			(0,0,0)
	___begin	auto
			(0)
    }

    help {
	""
    }

    parm {
	name	"useBaseColor"
	label	"Use Base Color"
	type	toggle
	default	{ "1" }
	range	{ 0 1 }
	export	none
    }
    parm {
	name	"baseColor"
	label	"Base Color"
	type	color
	size	3
	default	{ "1" "1" "1" }
	disablewhen	"{ useBaseColor == 0 }"
	range	{ 0 10 }
	export	none
    }
    parm {
	name	"usePointColor"
	label	"Use Point Color"
	type	toggle
	default	{ "1" }
	range	{ 0 1 }
	export	none
    }
    parm {
	name	"usePackedColor"
	label	"Use Packed Color"
	type	toggle
	default	{ "0" }
	range	{ 0 1 }
	export	none
    }
    parm {
	name	"useColorMap"
	label	"Use Color Map"
	type	toggle
	default	{ "0" }
	range	{ 0 1 }
	export	none
    }
    parm {
	name	"baseColorMap"
	label	"Base Color Map"
	type	image
	default	{ "" }
	disablewhen	"{ useColorMap == 0 }"
	range	{ 0 1 }
	export	none
    }
    parm {
	name	"colorMapSourceColorSpace"
	label	"Source Color Space"
	type	string
	default	{ "repeat" }
	disablewhen	"{ useColorMap == 0 }"
	menu	{
	    "auto"	"Automatic"
	    "linear"	"Linear"
	}
	range	{ 0 1 }
	export	none
    }
    parm {
	name	"colorMapWrap"
	label	"Color Map Wrap"
	type	string
	default	{ "repeat" }
	disablewhen	"{ useColorMap == 0 }"
	menu	{
	    "repeat"	"Repeat"
	    "streak"	"Streak"
	    "decal"	"Decal"
	}
	range	{ 0 1 }
	export	none
    }
    parm {
	name	"colorMapfilter"
	label	"Color Map Filter Type"
	type	string
	default	{ "catrom" }
	disablewhen	"{ useColorMap == 0 }"
	menu	{
	    "box"	"Box"
	    "gauss"	"Gaussian"
	    "bartlett"	"Bartlett/Triangular"
	    "sinc"	"Sinc Sharpening"
	    "hanning"	"Hanning"
	    "blackman"	"Blackman"
	    "catrom"	"Catmull-Rom"
	    "mitchell"	"Mitchell"
	}
	range	{ 0 1 }
	export	none
    }
    parm {
	name	"colorMapWidth"
	label	"Color Map Filter Width"
	type	float
	default	{ "1" }
	disablewhen	"{ useColorMap == 0 }"
	range	{ 0 5 }
	export	none
    }
    parm {
	name	"colorMapBorder"
	label	"Color Map Border Color"
	type	color4
	size	4
	default	{ "0" "0" "0" "0" }
	disablewhen	"{ useColorMap == 0 }"
	range	{ 0 10 }
	export	none
    }
    parm {
	name	"usePointAlpha"
	label	"Use Point Alpha"
	type	toggle
	default	{ "1" }
	range	{ 0 1 }
	export	none
    }
    parm {
	name	"colorMapIntensity"
	label	"Color Map Intensity"
	type	float
	default	{ "1" }
	disablewhen	"{ useColorMap == 0 }"
	range	{ 0 2 }
	export	none
    }
}
INDX              Contents       W[,   DialogScript   W  uNS۞0707070000010000000006660000000000000000010000001331301640400001300000000000TRAILER!!! # Dialog script for surfacemodel automatically generated 08/01/14 10:02:44

{
    name	surfacemodel
    script	surfacemodel
    label	"Surface Model"

    input	vector	P	Position
    input	vector	N	"Surface Normal"
    input	vector	I	"Direction from Eye to Surface"
    input	vector	uv	"UV Coordinate"
    input	vector	utan	"U Tangent"
    input	vector	vtan	"V Tangent"
    input	float	fresnel	Fresnel
    input	int	facefwd	"Ensure Faces Point Forward"
    input	int	conserveenergy	"Conserve Energy"
    input	int	fres_enable	"Fresnel Blending"
    input	string	fres_style	"Fresnel Style"
    input	float	ior_in	"Inside IOR"
    input	float	ior_out	"Outside IOR"
    input	string	tan_style	"Tangent Style"
    input	int	maxdist_enable	maxdist_enable
    input	float	maxdist	"Max Ray Distance"
    input	int	diff_enable	"Enable Diffuse"
    input	float	diff_int	"Diffuse Intensity"
    input	float	diff_min	"Diffuse Minimum"
    input	color	diff_clr	"Diffuse Color"
    input	float	diff_rough	"Oren-Nayar Roughness"
    input	string	diff_label	"Diffuse Component"
    input	int	sss_enable	"Enable Subsurface Scattering"
    input	float	sss_int	"Subsurface Intensity"
    input	vector	sss_clr	"Subsurface Color"
    input	float	sss_min	"Subsurface Minimum"
    input	float	sss_atten	"Attenuation Density"
    input	color	sss_attenclr	"Attenuation Color"
    input	float	sss_phase	"Scattering Phase"
    input	int	sss_spectral	"Enable RGB Spectral Scattering"
    input	int	sss_1enable	"Enable Single Scattering"
    input	float	sss_1intensity	"Single Intensity"
    input	int	sss_1quality	"Single Quality"
    input	int	sss_2enable	"Enable Multiple Scattering"
    input	string	sss_2model	"Multi Model"
    input	int	sss_pcmode	"Point Cloud Mode"
    input	string	sss_pcname	"Point Cloud"
    input	float	sss_2intensity	"Multi Intensity"
    input	float	sss_2quality	"Multi Quality"
    input	int	refl_enable	"Enable Reflection Layer 1"
    input	int	refl_lights	"Reflect Lights"
    input	string	spec_model	"Specular Model"
    input	float	spec_int	"Specular Intensity"
    input	float	spec_min	"Specular Minimum"
    input	vector	spec_clr	"Specular Color"
    input	float	spec_angle	"Specular Angle"
    input	float	spec_rough	"Specular Roughness"
    input	float	spec_aniso	"Specular Anisotropy"
    input	float	spec_anisoangle	"Specular Anisotropy Angle"
    input	int	refl_objs	"Reflect Objects"
    input	int	refl_sep	"Separate Object Reflection Parameters"
    input	float	refl_int	"Reflection Intensity"
    input	vector	refl_clr	"Reflection Color"
    input	float	refl_angle	"Reflection Angle"
    input	float	refl_rough	"Reflection Roughness"
    input	string	refl_label	"Reflection Component"
    input	int	refl_enable2	"Enable Reflection Layer 2"
    input	int	refl_lights2	"Reflect Lights"
    input	string	spec_model2	"Specular Model"
    input	float	spec_int2	"Specular Intensity"
    input	float	spec_min2	"Specular Minimum"
    input	vector	spec_clr2	"Specular Color"
    input	float	spec_angle2	"Specular Angle"
    input	float	spec_rough2	"Specular Roughness"
    input	float	spec_aniso2	"Specular Anisotropy"
    input	float	spec_anisoangle2	"Specular Anisotropy Angle"
    input	int	refl_objs2	"Reflect Objects"
    input	int	refl_sep2	"Separate Object Reflection Parameters"
    input	float	refl_int2	"Reflection Intensity"
    input	vector	refl_clr2	"Reflection Color"
    input	float	refl_angle2	"Reflection Angle"
    input	float	refl_rough2	"Reflection Roughness"
    input	string	refl_label2	"Reflection Component"
    input	int	refr_enable	"Enable Refractions"
    input	int	refr_lights	"Refract Lights"
    input	string	refr_model	"Refraction Model"
    input	float	refr_int	"Refraction Intensity"
    input	float	refr_min	"Refraction Minimum"
    input	vector	refr_clr	"Refraction Color"
    input	float	refr_angle	"Refraction Angle"
    input	float	refr_aniso	"Refraction Anisotropy"
    input	float	refr_anisoangle	"Refraction Anisotropy Angle"
    input	int	refr_objs	"Refract Objects"
    input	int	atten_enable	"Enable Attenuation"
    input	float	atten_den	"Attenuation Density"
    input	vector	atten_clr	"Attenuation Color"
    input	string	refr_label	"Refraction Component"
    input	int	emit_enable	"Enable Emission"
    input	float	emit_int	"Emission Intensity"
    input	vector	emit_clr	"Emission Color"
    input	float	opac_int	"Opacity Scale"
    input	vector	opac_clr	Opacity
    input	int	fake_enable	"Enable Fake Caustics"
    input	float	fake_min	"Min Shadow Intensity"
    input	float	fake_max	"Max Shadow Intensity"
    input	int	opac_falloff	"Enable Opacity Falloff"
    input	float	opac_para	"Parallel Opacity"
    input	float	opac_perp	"Perp Opacity"
    input	float	opac_rolloff	"Opacity Rolloff"
    input	int	emit_illum	"Emission Illuminates Objects"
    input	int	refr_thin	"Thin Film Refraction"
    output	vector	Cf	Cf
    output	vector	Of	Of
    output	bsdf	F	F
    inputflags	P	0
    inputflags	N	0
    inputflags	I	0
    inputflags	uv	0
    inputflags	utan	0
    inputflags	vtan	0
    inputflags	fresnel	0
    inputflags	facefwd	1
    inputflags	conserveenergy	1
    inputflags	fres_enable	1
    inputflags	fres_style	1
    inputflags	ior_in	1
    inputflags	ior_out	1
    inputflags	tan_style	1
    inputflags	maxdist_enable	1
    inputflags	maxdist	1
    inputflags	diff_enable	1
    inputflags	diff_int	0
    inputflags	diff_min	1
    inputflags	diff_clr	0
    inputflags	diff_rough	1
    inputflags	diff_label	0
    inputflags	sss_enable	1
    inputflags	sss_int	0
    inputflags	sss_clr	0
    inputflags	sss_min	1
    inputflags	sss_atten	1
    inputflags	sss_attenclr	1
    inputflags	sss_phase	1
    inputflags	sss_spectral	1
    inputflags	sss_1enable	1
    inputflags	sss_1intensity	1
    inputflags	sss_1quality	1
    inputflags	sss_2enable	1
    inputflags	sss_2model	1
    inputflags	sss_pcmode	1
    inputflags	sss_pcname	1
    inputflags	sss_2intensity	1
    inputflags	sss_2quality	1
    inputflags	refl_enable	0
    inputflags	refl_lights	1
    inputflags	spec_model	1
    inputflags	spec_int	0
    inputflags	spec_min	1
    inputflags	spec_clr	0
    inputflags	spec_angle	1
    inputflags	spec_rough	0
    inputflags	spec_aniso	1
    inputflags	spec_anisoangle	1
    inputflags	refl_objs	1
    inputflags	refl_sep	1
    inputflags	refl_int	1
    inputflags	refl_clr	1
    inputflags	refl_angle	0
    inputflags	refl_rough	0
    inputflags	refl_label	0
    inputflags	refl_enable2	0
    inputflags	refl_lights2	0
    inputflags	spec_model2	0
    inputflags	spec_int2	0
    inputflags	spec_min2	0
    inputflags	spec_clr2	0
    inputflags	spec_angle2	0
    inputflags	spec_rough2	0
    inputflags	spec_aniso2	0
    inputflags	spec_anisoangle2	0
    inputflags	refl_objs2	0
    inputflags	refl_sep2	0
    inputflags	refl_int2	0
    inputflags	refl_clr2	1
    inputflags	refl_angle2	1
    inputflags	refl_rough2	0
    inputflags	refl_label2	0
    inputflags	refr_enable	1
    inputflags	refr_lights	0
    inputflags	refr_model	1
    inputflags	refr_int	1
    inputflags	refr_min	1
    inputflags	refr_clr	1
    inputflags	refr_angle	1
    inputflags	refr_aniso	1
    inputflags	refr_anisoangle	1
    inputflags	refr_objs	0
    inputflags	atten_enable	1
    inputflags	atten_den	0
    inputflags	atten_clr	0
    inputflags	refr_label	0
    inputflags	emit_enable	0
    inputflags	emit_int	1
    inputflags	emit_clr	1
    inputflags	opac_int	1
    inputflags	opac_clr	1
    inputflags	fake_enable	1
    inputflags	fake_min	1
    inputflags	fake_max	1
    inputflags	opac_falloff	1
    inputflags	opac_para	1
    inputflags	opac_perp	0
    inputflags	opac_rolloff	0
    inputflags	emit_illum	0
    inputflags	refr_thin	0
    signature	"Default Inputs"	default	{ vector vector vector vector vector vector float int int int string float float string int float int float float color float string int float vector float float color float int int float int int string int string float float int int string float float vector float float float float int int float vector float float string int int string float float vector float float float float int int float vector float float string int int string float float vector float float float int int float vector string int float vector float vector int float float int float float float int int vector vector bsdf }

    outputoverrides	default
    {
	___begin	auto
			(0,0,0)
	___begin	auto
			(0,0,0)
	___begin	auto
			(0)
    }

    help {
	""
    }

    parm {
	name	"facefwd"
	label	"Ensure Faces Point Forward"
	type	toggle
	default	{ "1" }
	range	{ 0 1 }
	export	none
    }
    parm {
	name	"conserveenergy"
	label	"Conserve Energy"
	type	toggle
	default	{ "1" }
	range	{ 0 1 }
	export	none
    }
    parm {
	name	"fres_enable"
	label	"Fresnel Blending"
	type	toggle
	default	{ "0" }
	range	{ 0 1 }
	export	none
    }
    parm {
	name	"fres_style"
	label	"Fresnel Style"
	type	string
	default	{ "physical" }
	disablewhen	"{ fres_enable == 0 }"
	menu	{
	    "physical"	"Physically Based"
	    "input"	"Use Connected 'fresnel'"
	}
	range	{ 0 1 }
	export	none
    }
    parm {
	name	"ior_in"
	label	"Inside IOR"
	type	float
	default	{ "1.33" }
	range	{ 1 3 }
	export	none
    }
    parm {
	name	"ior_out"
	label	"Outside IOR"
	type	float
	default	{ "1" }
	range	{ 1 3 }
	export	none
    }
    parm {
	name	"tan_style"
	label	"Tangent Style"
	type	string
	default	{ "geo" }
	menu	{
	    "geo"	"Use Geometric Tangents"
	    "world"	"Intrinsic World Space"
	    "object"	"Intrinsic Object Space"
	    "uv"	"Compute From UV"
	    "inputs"	"Use Connected 'utan', 'vtan'"
	}
	range	{ 0 1 }
	export	none
    }
    parm {
	name	"maxdist_enable"
	label	"maxdist_enable"
	type	toggle
	nolabel
	joinnext
	default	{ "0" }
	range	{ 0 1 }
	export	none
    }
    parm {
	name	"maxdist"
	label	"Max Ray Distance"
	type	float
	default	{ "10" }
	disablewhen	"{ maxdist_enable == 0 }"
	range	{ 0 100 }
	export	none
    }
    group {
	name	"diffuse_folder"
	label	"Diffuse"

	parm {
	    name	"diff_enable"
	    label	"Enable Diffuse"
	    type	toggle
	    default	{ "1" }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"diff_int"
	    label	"Diffuse Intensity"
	    type	float
	    default	{ "0.5" }
	    disablewhen	"{ diff_enable == 0 }"
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"diff_min"
	    label	"Diffuse Minimum"
	    type	float
	    default	{ "0" }
	    disablewhen	"{ diff_enable == 0 } { fres_enable == 0 }"
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"diff_clr"
	    label	"Diffuse Color"
	    type	color
	    size	3
	    default	{ "1" "1" "1" }
	    disablewhen	"{ diff_enable == 0 }"
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"diff_rough"
	    label	"Oren-Nayar Roughness"
	    type	float
	    default	{ "0" }
	    disablewhen	"{ diff_enable == 0 }"
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"diff_label"
	    label	"Diffuse Component"
	    type	string
	    default	{ "diffuse" }
	    range	{ 0 1 }
	    export	none
	}
    }

    group {
	name	"diffuse_folder_1"
	label	"Subsurface"

	parm {
	    name	"sss_enable"
	    label	"Enable Subsurface Scattering"
	    type	toggle
	    default	{ "0" }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"sss_int"
	    label	"Subsurface Albedo"
	    type	float
	    default	{ "0.8" }
	    disablewhen	"{ sss_enable == 0 }"
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"sss_clr"
	    label	"Subsurface Color"
	    type	color
	    size	3
	    default	{ "1" "1" "1" }
	    disablewhen	"{ sss_enable == 0 }"
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"sss_min"
	    label	"Subsurface Minimum"
	    type	float
	    default	{ "0" }
	    disablewhen	"{ sss_enable == 0 } { fres_enable == 0 }"
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"sss_atten"
	    label	"Attenuation Density"
	    type	float
	    default	{ "10" }
	    help	"This parameter controls how fast light is attenuated.  Higher densities correspond to faster attenuation."
	    disablewhen	"{ sss_enable == 0 }"
	    range	{ 0! 20 }
	    export	none
	}
	parm {
	    name	"sss_attenclr"
	    label	"Attenuation Color"
	    type	color
	    size	3
	    default	{ "1" "1" "1" }
	    help	"This parameter specifies the color that the light will tend towards as it is attenuated.  This color will typically dominate areas of the surface that are in shadow."
	    disablewhen	"{ sss_enable == 0 }"
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"sss_phase"
	    label	"Scattering Phase"
	    type	float
	    default	{ "0" }
	    help	"This parameter controls the nature of the scattering (forward, backward, isotropic, etc.).  The phase must lie in the range [-1, 1], with -1 indicating full backward scattering, 0 indicating isotropic scattering, and 1 indicating full forward scattering."
	    disablewhen	"{ sss_enable == 0 }"
	    range	{ -1! 1! }
	    export	none
	}
	parm {
	    name	"sss_spectral"
	    label	"Enable RGB Spectral Scattering"
	    type	toggle
	    default	{ "1" }
	    disablewhen	"{ sss_enable == 0 }"
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"sss_1enable"
	    label	"Enable Single Scattering"
	    type	toggle
	    default	{ "1" }
	    disablewhen	"{ sss_enable == 0 }"
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"sss_1intensity"
	    label	"Single Intensity"
	    type	float
	    default	{ "1" }
	    help	"This parameter controls the intensity of single scattering."
	    disablewhen	"{ sss_enable == 0 } { sss_1enable == 0 }"
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"sss_1quality"
	    label	"Single Quality"
	    type	integer
	    default	{ "1" }
	    help	"This parameter controls the quality of single scattering.  Higher values will increase quality and render times."
	    disablewhen	"{ sss_enable == 0 } { sss_1enable == 0 }"
	    range	{ 1! 10 }
	    export	none
	}
	parm {
	    name	"sss_2enable"
	    label	"Enable Multiple Scattering"
	    type	toggle
	    default	{ "1" }
	    disablewhen	"{ sss_enable == 0 }"
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"sss_2model"
	    label	"Multi Model"
	    type	string
	    default	{ "raytraced" }
	    disablewhen	"{ sss_enable == 0 } { sss_2enable == 0 }"
	    menu	{
		"raytraced"	"Ray Traced"
		"fullraytraced"	"Full Ray Traced"
		"local"	"Local BRDF"
		"global"	"Global Point Cloud"
		"hybrid"	"Local And Global"
		"pathtraced"	"Path Traced"
	    }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"sss_pcmode"
	    label	"Point Cloud Mode"
	    type	ordinal
	    default	{ "0" }
	    help	"This option controls how the shader generates a point cloud.  The simplest option is to select \"Generate At Render Time\".  This will create a new point cloud for every render.  To reduce computation time, you can first use \"Write To File\" mode and then re-use the point cloud using \"Read From File\" mode on subsequent renders.  This is also the recommended approach when rendering animations because the shader will smoothly interpolate the point cloud across frames.  The exception to this is when the model's topology changes (two joined polygons are separated, for example).  In this case, a new point cloud must be generated.  Note that in \"Write To File\" mode, the file will be overwritten if it already exists.  Cancelling a render before it completes in \"Write To File\" mode may result in an unusable point cloud file."
	    disablewhen	"{ sss_enable == 0 } { sss_2enable == 0 } { sss_2model == raytraced } { sss_2model == pathtraced } { sss_2model == fullraytraced }"
	    menu	{
		"0"	"Generate At Render Time"
		"1"	"Read From File"
		"2"	"Write To File"
	    }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"sss_pcname"
	    label	"Point Cloud"
	    type	file
	    default	{ "default.pc" }
	    help	"This parameter holds the path to the point cloud file that will be written to in \"Write To File\" mode or read from in \"Read From File\" mode."
	    disablewhen	"{ sss_enable == 0 } { sss_2enable == 0 } { sss_2model == raytraced } { sss_2model == pathtraced } { sss_2model == fullraytraced }"
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"sss_2intensity"
	    label	"Multi Intensity"
	    type	float
	    default	{ "1" }
	    help	"This parameter controls the intensity of multiple scattering."
	    disablewhen	"{ sss_enable == 0 } { sss_2enable == 0 } { sss_2model == raytraced } { sss_2model == pathtraced } { sss_2model == fullraytraced }"
	    range	{ 0! 1 }
	    export	none
	}
	parm {
	    name	"sss_2quality"
	    label	"Multi Quality"
	    type	float
	    default	{ "1" }
	    help	"This parameter controls the quality of multiple scattering.  Higher values will increase quality and render times."
	    disablewhen	"{ sss_enable == 0 } { sss_2enable == 0 } { sss_2model == raytraced } { sss_2model == pathtraced } { sss_2model == fullraytraced }"
	    range	{ 0.01 10 }
	    export	none
	}
    }

    group {
	name	"diffuse_folder_2"
	label	"Reflect"

	group {
	    name	"folder0"
	    label	"Layer 1"

	    parm {
		name	"refl_enable"
		label	"Enable Reflection Layer 1"
		type	toggle
		default	{ "1" }
		range	{ 0 1 }
		export	none
	    }
	    parm {
		name	"refl_lights"
		label	"Reflect Lights"
		type	toggle
		default	{ "1" }
		disablewhen	"{ refl_enable == 0 }"
		range	{ 0 1 }
		export	none
	    }
	    parm {
		name	"spec_model"
		label	"Specular Model"
		type	string
		default	{ "0" }
		disablewhen	"{ refl_enable == 0 } { refl_lights == 0 refl_objs == 0 }"
		menu	{
		    "phong"	"Phong"
		    "blinn"	"Blinn"
		    "cone"	"Cone"
		    "ggx"	"GGX"
		}
		range	{ 0 1 }
		export	none
	    }
	    parm {
		name	"spec_int"
		label	"Specular Intensity"
		type	float
		default	{ "0.1" }
		disablewhen	"{ refl_enable == 0 } { refl_lights == 0 refl_objs == 0 }"
		range	{ 0 1 }
		export	none
	    }
	    parm {
		name	"spec_min"
		label	"Specular Minimum"
		type	float
		default	{ "0" }
		disablewhen	"{ refl_enable == 0 } { refl_lights == 0 refl_objs == 0 } { fres_enable == 0 }"
		range	{ 0 1 }
		export	none
	    }
	    parm {
		name	"spec_clr"
		label	"Specular Color"
		type	color
		size	3
		default	{ "1" "1" "1" }
		disablewhen	"{ refl_enable == 0 } { refl_lights == 0 refl_objs == 0 }"
		range	{ 0 1 }
		export	none
	    }
	    parm {
		name	"spec_angle"
		label	"Specular Angle"
		type	float
		default	{ "10" }
		disablewhen	"{ spec_model == ggx } { refl_enable == 0 } { refl_lights == 0 refl_objs == 0 }"
		range	{ 0 90 }
		export	none
	    }
	    parm {
		name	"spec_rough"
		label	"Specular Roughness"
		type	float
		default	{ "0.1" }
		disablewhen	"{ spec_model != ggx } { refl_enable == 0 } { refl_lights == 0 refl_objs == 0 }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "script_callback" "" }
	    }
	    parm {
		name	"spec_aniso"
		label	"Specular Anisotropy"
		type	float
		default	{ "0" }
		disablewhen	"{ refl_enable == 0 } { refl_lights == 0 refl_objs == 0 } { spec_angle == 0 }"
		range	{ -1 1 }
		export	none
	    }
	    parm {
		name	"spec_anisoangle"
		label	"Specular Anisotropy Angle"
		type	angle
		default	{ "0" }
		disablewhen	"{ refl_enable == 0 } { refl_lights == 0 refl_objs == 0 } { spec_angle == 0 }"
		range	{ 0 360 }
		export	none
	    }
	    parm {
		name	"refl_objs"
		label	"Reflect Objects"
		type	toggle
		default	{ "1" }
		disablewhen	"{ refl_enable == 0 }"
		range	{ 0 1 }
		export	none
	    }
	    parm {
		name	"refl_sep"
		label	"Separate Object Reflection Parameters"
		type	toggle
		default	{ "0" }
		disablewhen	"{ refl_enable == 0 } { refl_objs == 0 }"
		range	{ 0 1 }
		export	none
	    }
	    parm {
		name	"refl_int"
		label	"Reflection Intensity"
		type	float
		default	{ "0.1" }
		disablewhen	"{ refl_enable == 0 } { refl_objs == 0 } { refl_sep == 0 }"
		range	{ 0 1 }
		export	none
	    }
	    parm {
		name	"refl_clr"
		label	"Reflection Color"
		type	color
		size	3
		default	{ "1" "1" "1" }
		disablewhen	"{ refl_enable == 0 } { refl_objs == 0 } { refl_sep == 0 }"
		range	{ 0 1 }
		export	none
	    }
	    parm {
		name	"refl_angle"
		label	"Reflection Angle"
		type	float
		default	{ "0" }
		disablewhen	"{ spec_model == ggx } { refl_enable == 0 } { refl_objs == 0 } { refl_sep == 0 }"
		range	{ 0 90 }
		export	none
	    }
	    parm {
		name	"refl_rough"
		label	"Reflection Roughness"
		type	float
		default	{ "0.1" }
		disablewhen	"{ spec_model != ggx } { refl_enable == 0 } { refl_objs == 0 } { refl_sep == 0 }"
		range	{ 0 1 }
		export	none
	    }
	    parm {
		name	"refl_label"
		label	"Reflection Component"
		type	string
		default	{ "reflect" }
		disablewhen	"{ refl_enable == 0 }"
		range	{ 0 1 }
		export	none
	    }
	}

	group {
	    name	"folder0_1"
	    label	"Layer 2"

	    parm {
		name	"refl_enable2"
		label	"Enable Reflection Layer 2"
		type	toggle
		default	{ "0" }
		range	{ 0 1 }
		export	none
	    }
	    parm {
		name	"refl_lights2"
		label	"Reflect Lights"
		type	toggle
		default	{ "1" }
		disablewhen	"{ refl_enable2 == 0 }"
		range	{ 0 1 }
		export	none
	    }
	    parm {
		name	"spec_model2"
		label	"Specular Model"
		type	string
		default	{ "0" }
		disablewhen	"{ refl_enable2 == 0 } { refl_lights2 == 0 refl_objs2 == 0 }"
		menu	{
		    "phong"	"Phong"
		    "blinn"	"Blinn"
		    "cone"	"Cone"
		    "ggx"	"GGX"
		}
		range	{ 0 1 }
		export	none
	    }
	    parm {
		name	"spec_int2"
		label	"Specular Intensity"
		type	float
		default	{ "0.1" }
		disablewhen	"{ refl_enable2 == 0 } { refl_lights2 == 0 refl_objs2 == 0 }"
		range	{ 0 1 }
		export	none
	    }
	    parm {
		name	"spec_min2"
		label	"Specular Minimum"
		type	float
		default	{ "0" }
		disablewhen	"{ refl_enable2 == 0 } { refl_lights2 == 0 refl_objs2 == 0 } { fres_enable == 0 }"
		range	{ 0 1 }
		export	none
	    }
	    parm {
		name	"spec_clr2"
		label	"Specular Color"
		type	color
		size	3
		default	{ "1" "1" "1" }
		disablewhen	"{ refl_enable2 == 0 } { refl_lights2 == 0 refl_objs2 == 0 }"
		range	{ 0 1 }
		export	none
	    }
	    parm {
		name	"spec_angle2"
		label	"Specular Angle"
		type	float
		default	{ "10" }
		disablewhen	"{ spec_model2 == ggx } { refl_enable2 == 0 } { refl_lights2 == 0 refl_objs2 == 0 }"
		range	{ 0 90 }
		export	none
	    }
	    parm {
		name	"spec_rough2"
		label	"Specular Roughness"
		type	float
		default	{ "0.1" }
		disablewhen	"{ spec_model2 != ggx } { refl_enable2 == 0 } { refl_lights2 == 0 refl_objs2 == 0 }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "script_callback" "" }
	    }
	    parm {
		name	"spec_aniso2"
		label	"Specular Anisotropy"
		type	float
		default	{ "0" }
		disablewhen	"{ refl_enable2 == 0 } { refl_lights2 == 0 refl_objs2 == 0 } { spec_angle2 == 0 }"
		range	{ -1 1 }
		export	none
	    }
	    parm {
		name	"spec_anisoangle2"
		label	"Specular Anisotropy Angle"
		type	angle
		default	{ "0" }
		disablewhen	"{ refl_enable2 == 0 } { refl_lights2 == 0 refl_objs2 == 0 } { spec_angle2 == 0 }"
		range	{ 0 360 }
		export	none
	    }
	    parm {
		name	"refl_objs2"
		label	"Reflect Objects"
		type	toggle
		default	{ "1" }
		disablewhen	"{ refl_enable2 == 0 }"
		range	{ 0 1 }
		export	none
	    }
	    parm {
		name	"refl_sep2"
		label	"Separate Object Reflection Parameters"
		type	toggle
		default	{ "0" }
		disablewhen	"{ refl_enable2 == 0 } { refl_objs2 == 0 }"
		range	{ 0 1 }
		export	none
	    }
	    parm {
		name	"refl_int2"
		label	"Reflection Intensity"
		type	float
		default	{ "0.1" }
		disablewhen	"{ refl_enable2 == 0 } { refl_objs2 == 0 } { refl_sep2 == 0 }"
		range	{ 0 1 }
		export	none
	    }
	    parm {
		name	"refl_clr2"
		label	"Reflection Color"
		type	color
		size	3
		default	{ "1" "1" "1" }
		disablewhen	"{ refl_enable2 == 0 } { refl_objs2 == 0 } { refl_sep2 == 0 }"
		range	{ 0 1 }
		export	none
	    }
	    parm {
		name	"refl_angle2"
		label	"Reflection Angle"
		type	float
		default	{ "0" }
		disablewhen	"{ spec_model2 == ggx } { refl_enable2 == 0 } { refl_objs2 == 0 } { refl_sep2 == 0 }"
		range	{ 0 90 }
		export	none
	    }
	    parm {
		name	"refl_rough2"
		label	"Reflection Roughness"
		type	float
		default	{ "0.1" }
		disablewhen	"{ spec_model2 != ggx } { refl_enable2 == 0 } { refl_objs2 == 0 } { refl_sep2 == 0 }"
		range	{ 0 1 }
		export	none
	    }
	    parm {
		name	"refl_label2"
		label	"Reflection Component"
		type	string
		default	{ "coat" }
		disablewhen	"{ refl_enable2 == 0 }"
		range	{ 0 1 }
		export	none
	    }
	}

    }

    group {
	name	"diffuse_folder_3"
	label	"Refract"

	parm {
	    name	"refr_enable"
	    label	"Enable Refractions"
	    type	toggle
	    default	{ "0" }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"refr_lights"
	    label	"Refract Lights"
	    type	toggle
	    default	{ "1" }
	    disablewhen	"{ refr_enable == 0 }"
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"refr_model"
	    label	"Refraction Model"
	    type	string
	    default	{ "phong" }
	    disablewhen	"{ refr_enable == 0 } { refr_lights == 0 refr_objs == 0 }"
	    menu	{
		"phong"	"Phong"
		"cone"	"Cone"
		"diffuse"	"Translucency"
	    }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"refr_int"
	    label	"Refraction Intensity"
	    type	float
	    default	{ "1" }
	    disablewhen	"{ refr_enable == 0 } { refr_lights == 0 refr_objs == 0 }"
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"refr_min"
	    label	"Refraction Minimum"
	    type	float
	    default	{ "0" }
	    disablewhen	"{ refr_enable == 0 } { refr_lights == 0 refr_objs == 0 } { fres_enable == 0 }"
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"refr_clr"
	    label	"Refraction Color"
	    type	color
	    size	3
	    default	{ "1" "1" "1" }
	    disablewhen	"{ refr_enable == 0 } { refr_lights == 0 refr_objs == 0 }"
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"refr_angle"
	    label	"Refraction Angle"
	    type	float
	    default	{ "0" }
	    disablewhen	"{ refr_enable == 0 } { refr_lights == 0 refr_objs == 0 } { refr_model == diffuse }"
	    range	{ 0 90 }
	    export	none
	}
	parm {
	    name	"refr_aniso"
	    label	"Refraction Anisotropy"
	    type	float
	    default	{ "0" }
	    disablewhen	"{ refr_enable == 0 } { refr_lights == 0 refr_objs == 0 } { refr_model == diffuse } { refr_angle == 0 }"
	    range	{ -1 1 }
	    export	none
	}
	parm {
	    name	"refr_anisoangle"
	    label	"Refraction Anisotropy Angle"
	    type	angle
	    default	{ "0" }
	    disablewhen	"{ refr_enable == 0 } { refr_lights == 0 refr_objs == 0 } { refr_angle == 0 }"
	    range	{ 0 360 }
	    export	none
	}
	parm {
	    name	"refr_objs"
	    label	"Refract Objects"
	    type	toggle
	    default	{ "1" }
	    disablewhen	"{ refr_enable == 0 }"
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"atten_enable"
	    label	"Enable Attenuation"
	    type	toggle
	    default	{ "0" }
	    disablewhen	"{ refr_enable == 0 } { refr_objs == 0 }"
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"atten_den"
	    label	"Attenuation Density"
	    type	float
	    default	{ "0.5" }
	    disablewhen	"{ refr_enable == 0 } { refr_objs == 0 } { atten_enable == 0 }"
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"atten_clr"
	    label	"Attenuation Color"
	    type	color
	    size	3
	    default	{ "1" "1" "1" }
	    disablewhen	"{ refr_enable == 0 } { refr_objs == 0 } { atten_enable == 0 }"
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"refr_thin"
	    label	"Thin Film Refraction"
	    type	toggle
	    default	{ "0" }
	    disablewhen	"{ refr_enable == 0 }"
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"refr_label"
	    label	"Refraction Component"
	    type	string
	    default	{ "refract" }
	    disablewhen	"{ refr_enable == 0 }"
	    range	{ 0 1 }
	    export	none
	}
    }

    group {
	name	"diffuse_folder_4"
	label	"Emission"

	parm {
	    name	"emit_enable"
	    label	"Enable Emission"
	    type	toggle
	    default	{ "0" }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"emit_int"
	    label	"Emission Intensity"
	    type	float
	    default	{ "1" }
	    disablewhen	"{ emit_enable == 0 }"
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"emit_clr"
	    label	"Emission Color"
	    type	color
	    size	3
	    default	{ "1" "1" "1" }
	    disablewhen	"{ emit_enable == 0 }"
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"emit_illum"
	    label	"Emission Illuminates Objects"
	    type	toggle
	    default	{ "1" }
	    disablewhen	"{ emit_enable == 0 }"
	    range	{ 0 1 }
	    export	none
	}
    }

    group {
	name	"diffuse_folder_5"
	label	"Opacity"

	parm {
	    name	"opac_int"
	    label	"Opacity Scale"
	    type	float
	    default	{ "1" }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"opac_clr"
	    label	"Opacity"
	    type	color
	    size	3
	    default	{ "1" "1" "1" }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"fake_enable"
	    label	"Enable Fake Caustics"
	    type	toggle
	    default	{ "1" }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"fake_min"
	    label	"Min Shadow Intensity"
	    type	float
	    default	{ "0" }
	    disablewhen	"{ fake_enable == 0 }"
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"fake_max"
	    label	"Max Shadow Intensity"
	    type	float
	    default	{ "1" }
	    disablewhen	"{ fake_enable == 0 }"
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"opac_falloff"
	    label	"Enable Opacity Falloff"
	    type	toggle
	    default	{ "0" }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"opac_para"
	    label	"Parallel Opacity"
	    type	float
	    default	{ "0" }
	    disablewhen	"{ opac_falloff == 0 }"
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"opac_perp"
	    label	"Perp Opacity"
	    type	float
	    default	{ "1" }
	    disablewhen	"{ opac_falloff == 0 }"
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"opac_rolloff"
	    label	"Opacity Rolloff"
	    type	float
	    default	{ "1" }
	    disablewhen	"{ opac_falloff == 0 }"
	    range	{ 0 10 }
	    export	none
	}
    }

}
INDX              DialogScript      Z Vi/*
 * PROPRIETARY INFORMATION.  This software is proprietary to
 * Side Effects Software Inc., and is not to be reproduced,
 * transmitted, or disclosed in any way without written permission.
 *
 * Produced by:
 *	Side Effects Software Inc
 *	477 Richmond Street West
 *	Toronto, Ontario
 *	Canada   M5V 3E7
 *	416-504-9876
 *
 */

#include <parameter.ds>

{
    name	"switchlightingbsdf"
    script	"switchlightingbsdf"
    label	"Switch Lighting BSDF"


    code {
	"$f = switch($direct, $indirect);"
    }

    output	bsdf	f	"Switch BSDF"

    input	bsdf	direct		"Direct Lighting BSDF"
    input	bsdf	indirect	"Indirect Lighting BSDF"
}
INDX              Contents       W[,   DialogScript   W  !Z Vb0707070000010000000006660000000000000000010000001331301640400001300000000000TRAILER!!! # Dialog script for tangentnormals automatically generated

{
    name	tangentnormals
    script	bakenormals
    label	"Tangent Normals"

    input	vector	P	"Surface Position"
    input	vector	N	"Surface Normal"
    input	int	source	Source
    input	int	space	Space
    input	int	range	Range
    output	vector	export_normals	"Export Normals"
    inputflags	P	0
    inputflags	N	0
    inputflags	source	0
    inputflags	space	0
    inputflags	range	0
    signature	"Default Inputs"	default	{ vector vector int int int vector }

    outputoverrides	default
    {
	___begin	auto
			(0,0,0)
    }

    help {
	""
    }

    parm {
	name	"source"
	label	"Source"
	type	ordinal
	default	{ "1" }
	menu	{
	    "0"	"Geometry Difference"
	    "1"	"Shader Normals"
	}
	range	{ 0 1 }
    }
    parm {
	name	"space"
	label	"Space"
	type	ordinal
	default	{ "0" }
	menu	{
	    "0"	"Tangent"
	    "1"	"World"
	}
	range	{ 0 1 }
    }
    parm {
	name	"range"
	label	"Range"
	type	ordinal
	default	{ "1" }
	menu	{
	    "0"	"-1 to 1"
	    "1"	"0 to 1"
	}
	range	{ 0 1 }
    }
    group {
	name	"Compiler"
	label	"Compiler"
	invisibletab

	parm {
	    name	"vop_force_code_context"
	    label	"Force Code in Context"
	    type	string
	    invisible
	    default	{ "surface" }
	    help	"A string property on a VOP digital asset node that specifies shading contexts in which the node should force generation of code. In a multi-context network such as vopmaterial, not all nodes should generate code for a given context. For example, some nodes are applicable only to surface shader while other to displacement shader. Only a few nodes initiate (force) generation of code, such as Collect VOP, Output VOP, or exporting Parameter VOP. Then, only nodes that feed into them will also generate code. If an HDA does not have output connectors or wants to generate code even if not (indirectly) connected to the Output VOP, it can use this property parameter to specify the shading context in which to initiate generation of code."
	    range	{ 0 1 }
	    parmtag	{ "spare_category" "Compiler" }
	}
    }

}
INDX              Contents       W[,   DialogScript   W  Z VF0707070000010000000006660000000000000000010000001331301640400001300000000000TRAILER!!! # Dialog script for testgeometry_rubbertoy automatically generated

{
    name	testgeometry_rubbertoy
    script	testgeometry_rubbertoy
    label	"Test Geometry: Rubber Toy"

    help {
	""
    }

    inputlabel	1	"Sub-Network Input #1"
    inputlabel	2	"Sub-Network Input #2"
    inputlabel	3	"Sub-Network Input #3"
    inputlabel	4	"Sub-Network Input #4"
    outputlabel	1	"Sub-Network Output #1"

    parm {
	name	"t"
	label	"Translate"
	type	vector
	size	3
	default	{ "0" "0" "0" }
	range	{ -1 1 }
	parmtag	{ "autoscope" "0000000000000000" }
    }
    parm {
	name	"uniformscale"
	label	"Uniform Scale"
	type	float
	default	{ "1" }
	range	{ 0 10 }
	parmtag	{ "autoscope" "0000000000000000" }
	parmtag	{ "units" "m1" }
    }
    parm {
	name	"difficulty"
	label	"Difficulty"
	type	ordinal
	default	{ "0" }
	menu	{
	    "hard"	"Hard"
	}
	range	{ 0 1 }
    }
    parm {
	name	"addshader"
	label	"Add Shader"
	type	toggle
	default	{ "1" }
	export	all
    }
}
INDX              DialogScript      Z Vi/*
 * PROPRIETARY INFORMATION.  This software is proprietary to
 * Side Effects Software Inc., and is not to be reproduced,
 * transmitted, or disclosed in any way without written permission.
 *
 * Produced by:
 *      Side Effects Software Inc
 *      477 Richmond Street West
 *      Toronto, Ontario
 *      Canada   M5V 3E7
 *      416-504-9876
 */

#include <parameter.ds>

{
    name        "texture"
    script      "texture"
    label       "texture"

    code {
        "if ($map != \"\") {"
        "#if defined(VOP_SHADING)"
        "    float myS = $isconnected_s ? $s : s;"
        "    float myT = $isconnected_t ? $t : t;"
        "    int fptex = $isconnected_ptexface ? $ptexface : getptextureid();"
        "#else"
        "    float myS = $s;"
        "    float myT = $t;"
        "    int fptex = $ptexface;"
        "#endif"
        "    string wrapmode = $wrap;"
        "    if ($orient & 0x01) { myS = 1 - myS; }"
        "    if ($orient & 0x02) { myT = 1 - myT; }"
        "    if ($orient & 0x04) { float x = myS; myS = myT; myT = x; }"
        "    string map_udim = $map;"
        "    if ($udim) { map_udim = expand_udim(myS, myT, $map); }" 
        "    if (map_udim == '') { $clr = set($defclr); }"
        "    else {"
        "        if (map_udim != $map) {"
        "            myS %= 1.0; myT %= 1.0;"
        "            wrapmode = 'streak';"
        "        }"
        "        if ($isconnected_ds != 0 && $isconnected_dt != 0) {"
        "            float tds = $ds*0.5, tdt = $dt*0.5;"
        "            if ($orient & 0x04) { float x = tds; tds = tdt; tdt = x; }"
        "            $clr = texture(map_udim,"
        "                     myS - tds, myT - tdt,"
        "                     myS + tds, myT - tdt,"
        "                     myS + tds, myT + tdt,"
        "                     myS - tds, myT + tdt,"
        "                    \"wrap\", wrapmode, \"filter\", $filter,"
        "                    \"width\", $width, \"border\", $border,"
        "                    \"extrapolate\", $extrapol, \"lerp\", $interp,"
        "                    \"channel\", $channel, \"face\", fptex,"
        "                    \"blur\", $blur, \"pixelblur\", $pixelblur,"
        "                    \"srccolorspace\", $srccolorspace);"
        "        } else {"
        "            $clr = texture(map_udim, myS, myT, \"wrap\", wrapmode,"
        "                    \"filter\", $filter, \"width\", $width,"
        "                    \"border\", $border, \"extrapolate\", $extrapol,"
        "                    \"channel\", $channel, \"face\", fptex,"
        "                    \"lerp\", $interp,"
        "                    \"blur\", $blur, \"pixelblur\", $pixelblur,"
        "                    \"srccolorspace\", $srccolorspace);"
        "        }"
        "    }"
        "} else {"
        "   $clr = set($defclr);"
        "}"
    }

    input       string  map             "Texture Map"
    input	int	udim		"UDIM Filename Expansion"
    input       float   s               "S Coordinate"
    input       float   t               "T Coordinate"
    input       float   ds              "S Derivative"
    input       float   dt              "T Derivative"
    input       string  srccolorspace   "Source Color Space"
    input       string  wrap            "Wrap"
    // The parameters for map and wrap need to occur before the filter
    // macros are invoked (so that the parameters match the input
    // order)
    parm {
        name    map
        label   "Texture Map"
        type    image
        default { "Mandril.pic" }
    }
    parm {
        name    udim
        label   "UDIM Filename Expansion"
        type    toggle
        size    1
        default { 0 }
    }
    parm {
        name    srccolorspace
        label   "Source Color Space"
        type    string
        menu    {
            "auto"      "Automatic"
            "linear"    "Linear"
        }
        default { "auto" }
    }
    parm {
        name    wrap
        label   "Wrap"
        type    string
        menu    {
            "repeat"    "Repeat"
            "streak"    "Streak"
            "decal"     "Decal"
        }
        default { "repeat" }
    }
    VOP_FULL_FILTER_INPUT(filter,       "Filter Type")
    VOP_FLT_INPUT_R(    width,          "Filter Width", 1, 1, 10)
    VOP_FLT_INPUT_R(    blur,           "Texture Blur", 0, 0, 1)
    VOP_FLT_INPUT_R(    pixelblur,      "Pixel Blur",   0, 0, 10)
    input       vector4 border          "Border Color"
    input       int     extrapol        "Extrapolate Derivatives"
    input       int     interp          "Interpolate MIP Levels"
    input       vector4 defclr          "Default Color"
    output      vector  clr             "Texture Map Color"

    parm {
        name    border
        label   "Border Color"
        type    color4
        size    4
        default { 0.0 0.0 0.0 1.0 }
    }
    parm {
        name    extrapol
        label   "Extrapolate Derivatives"
        type    toggle
        size    1
        default { 1 }
    }
    parm {
        name    interp
        label   "Interpolate MIP Levels"
        type    toggle
        size    1
        default { 0 }
    }
    VOP_CLR4_PARM("defclr", "Default Color", 0, 0, 0, 0)
    VOP_STR_INPUT(channel,  "Texture Channel", "")
    VOP_INT_INPUT(ptexface, "PTexture Face", 0)
    input       int     orient  "UV Orientation"
    parm {
        name    orient
        label   "UV Orientation"
        type    int
        default { 0 }
        menu    {
            "0" "Default"
            "1" "Flip S"
            "2" "Flip T"
            "3" "Flip S and T"
            "4" "Swap S/T"
            "5" "Swap S/T, Flip S"
            "6" "Swap S/T, Flip T"
            "7" "Swap S/T, Flip S and T"
        }
    }

    signature   "RGB Values"    default { }
    signature   "RGBA Values"   v4      { string int float float float float string string string float float float vector4 int int vector4 string int int vector4 }
}

INDX              Contents       W[,   DialogScript   W  X=0707070000010000000006660000000000000000010000001331301640400001300000000000TRAILER!!! # Dialog script for thinfilmfresnel automatically generated

{
    name	thinfilmfresnel
    script	thinfilmfresnel
    label	"Thin Film Fresnel"

    input	vector	nI	Direction
    input	vector	nN	Normal
    input	float	eta	Eta
    output	float	kr	kr
    output	float	kt	kt
    output	vector	R	R
    output	vector	T	T
    inputflags	nI	0
    inputflags	nN	0
    inputflags	eta	0
    signature	"Default Inputs"	default	{ vector vector float float float vector vector }

    outputoverrides	default
    {
	___begin	auto
			(0)
	___begin	auto
			(0)
	___begin	auto
			(0,0,0)
	___begin	auto
			(0,0,0)
    }

    help {
	""
    }

    parm {
	name	"eta"
	label	"Index Of Refraction"
	type	float
	default	{ "0.8" }
	range	{ 0.1 1 }
    }
}
INDX              DialogScript      Z Vi/*
 * PROPRIETARY INFORMATION.  This software is proprietary to
 * Side Effects Software Inc., and is not to be reproduced,
 * transmitted, or disclosed in any way without written permission.
 *
 * Produced by:
 *	Side Effects Software Inc
 *	477 Richmond Street West
 *	Toronto, Ontario
 *	Canada   M5V 3E7
 *	416-504-9876
 *
 */

{
    name	"transform"
    script	"transform"
    label	"transform"


    code {
	"$to = $function($fromspace, $tospace, $from);"
    }

    input	vector	from		"3D Entity Value"
    input	string	fromspace	"From Space"
    input	string	tospace		"To Space"
    output	vector	to		"Transformed 3D Entity"

    parm {
        name	from
        label   "3D Entity Value"
        type    float
	size	3
        default { 0.0 0.0 0.0 }
    }
    parm {
	name	function
	label	"Interpretation"
	type	string
	menu	{
	    "ptransform"	"Position"
	    "vtransform"	"Direction Vector"
	    "ntransform"	"Normal"
	}
	default	{ "ptransform" }
	unquoted
    }
    parm {
        name	fromspace
        label   "From Space"
        type    oppath
	parmtag	{ "opfilter"	    "!!OBJ!!" }
	parmtag	{ "oppathkeywords"  "space:" }
        default { "space:current" }
	menureplace {
	    "space:world"	"World Space"
	    "space:camera"	"Camera Space"
	    "space:object"	"Object Space"
	    "space:ndc"		"NDC Space"
	    "space:current"	"Current Space"
	    "space:light"	"Light Source Space"
	    "space:lightndc"	"Light Source NDC Space"
	    "/obj/geo1"		"Object Name"
	}
    }
    parm {
	name	tospace
	label	"To Space"
        type    oppath
	parmtag	{ "opfilter"	    "!!OBJ!!" }
	parmtag	{ "oppathkeywords"  "space:" }
	default	{ "space:object" }
	menureplace {
	    "space:world"	"World Space"
	    "space:camera"	"Camera Space"
	    "space:object"	"Object Space"
	    "space:ndc"		"NDC Space"
	    "space:current"	"Current Space"
	    "space:light"	"Light Source Space"
	    "space:lightndc"	"Light Source NDC Space"
	    "/obj/geo1"		"Object Name"
	}
    }
}
INDX              DialogScript      
#Z Vi/*
 * PROPRIETARY INFORMATION.  This software is proprietary to
 * Side Effects Software Inc., and is not to be reproduced,
 * transmitted, or disclosed in any way without written permission.
 *
 * Produced by:
 *	Side Effects Software Inc
 *	477 Richmond Street West
 *	Toronto, Ontario
 *	Canada   M5V 3E7
 *	416-504-9876
 *
 */

#include <parameter.ds>

{
    name	"turbnoise"
    script	"turbnoise"
    label	"turbnoise"


    outercode {
	"#include <voplib.h>"
    }

    code {
	"if ($type == \"onoise\")"
	"{"
	"    $noise = onoise($pos*$freq - $offset, $turb, $rough, $atten);"
	"    $noise *= $amp;"
	"}"
	"else if ($type == \"snoise\")"
	"{"
	"    $noise = snoise($pos*$freq - $offset, $turb, $rough, $atten);"
	"    $noise *= $amp;"
	"}"
	"else if ($type == \"anoise\")"
	"{"
	"    $noise = anoise($pos*$freq - $offset, $turb, $rough, $atten);"
	"    $noise *= $amp;"
	"}"
	"else if ($type == \"correctnoise\")"
	"{"
	"#if !strcmp($signature, \"default\")"
	"   $noise = vop_correctperlinNoiseVF($pos * $freq - $offset, $turb, $amp, $rough, $atten);"
	"#else"
	"   $noise = vop_correctperlinNoiseVV($pos * $freq - $offset, $turb, $amp, $rough, $atten);"
	"#endif"
	"}"
	"else if ($type == \"xnoise\")"
	"{"
	"#if !strcmp($signature, \"default\")"
	"   $noise = vop_simplexNoiseVF($pos * $freq - $offset, $turb, $amp, $rough, $atten);"
	"#else"
	"   $noise = vop_simplexNoiseVV($pos * $freq - $offset, $turb, $amp, $rough, $atten);"
	"#endif"
	"}"
	"else"
	"{"
	"#if !strcmp($signature, \"default\")"
	"   $noise = vop_perlinNoiseVF($pos * $freq - $offset, $turb, $amp, $rough, $atten);"
	"#else"
	"   $noise = vop_perlinNoiseVV($pos * $freq - $offset, $turb, $amp, $rough, $atten);"
	"#endif"
	"}"
    }

    input	string	type	"Noise Type"
    parm {
        name    type
        label   "Noise Type"
        type    string
	menu	{
	    "pnoise"	"Perlin Noise"
	    "onoise"	"Original Perlin Noise"
	    "snoise"	"Sparse Convolution Noise"
	    "anoise"	"Alligator Noise"
	    "xnoise"	"Simplex Noise"
	    "correctnoise"	"Zero Centered Perlin Noise"
	}
        default { "anoise" }
    }
    VOP_VEC_INPUT  (	pos,	"Position",	0, 0, 0)
    VOP_VEC_INPUT  (	freq,	"Frequency",	1, 1, 1)
    VOP_VEC_INPUT  (	offset,	"Offset",	0, 0, 0)
    VOP_FLT_INPUT_R(	amp,	"Amplitude",	1, -1, 1)
    VOP_FLT_INPUT  (	rough,	"Roughness",	.5)
    VOP_FLT_INPUT  (	atten,	"Attenuation",	1)
    VOP_INT_INPUT_R(	turb,	"Turbulence",	5, 0, 10)
    output	float	noise	"Noise"

    signature	"1D Noise"	default	{ }
    signature	"3D Noise"	v	{ string vector vector vector float float float int vector }

}
INDX              DialogScript      Z Vi/*
 * PROPRIETARY INFORMATION.  This software is proprietary to
 * Side Effects Software Inc., and is not to be reproduced,
 * transmitted, or disclosed in any way without written permission.
 *
 * Produced by:
 *	Side Effects Software Inc
 *	477 Richmond Street West
 *	Toronto, Ontario
 *	Canada   M5V 3E7
 *	416-504-9876
 *
 */

#include <parameter.ds>

{
    name	"twoway"
    script	"twoway"
    label	"twoway"


    code {
	"#ifndef __vex"
	"  $result = ($condtype != 0 ? ($condition != 0 ? $input2 : $input1)"
	"                            : ($condition != 0 ? $input1 : $input2));"
	"#else"
        "  #if !strcmp($signature, \"b\")"
	"    float $scale = ($condtype != 0 ? ($condition != 0 ? 1 : 0)"
	"                                   : ($condition != 0 ? 0 : 1));"
	"    $result = (1-$scale)*$input1 + $scale*$input2;"
        "  #else"
	"    $result = ($condtype != 0 ? ($condition != 0 ? $input2 : $input1)"
	"                              : ($condition != 0 ? $input1 : $input2));"
	"  #endif"
        "#endif"
    }

    input	int	condition	"Condition Value (int)"
    input	float	input1		"Input 1"
    input	float	input2		"Input 2"
    output	float	result		"Output Value"

    signature	"Float"	 		default { }
    signature	"Integer"		i	{ int int int int }
    signature	"String"		s	{ int string string string }
    signature	"2D Vector" 		u 	{ int vector2 vector2 vector2 }
    signature	"3D Vector" 		v 	{ int vector vector vector }
    signature	"3D Point" 		p 	{ int point point point }
    signature	"3D Normal" 		n 	{ int normal normal normal }
    signature	"RGB Color"	 	c 	{ int color color color }
    signature	"BSDF"	 		b 	{ int bsdf bsdf bsdf }
    signature	"4D Vector" 		v4 	{ int vector4 vector4 vector4 }
    signature	"2x2 Matrix" 		m2 	{ int matrix2 matrix2 matrix2 }
    signature	"3x3 Matrix" 		m3 	{ int matrix3 matrix3 matrix3 }
    signature	"4x4 Matrix" 		m 	{ int matrix matrix matrix }

    signature	"Uniform Float"	 	uf	{ ufloat ufloat ufloat ufloat }
    signature	"Uniform 3D Vector" 	uv 	{ ufloat uvector uvector uvector }
    signature	"Uniform 3D Point" 	up 	{ ufloat upoint upoint upoint }
    signature	"Uniform 3D Normal" 	un 	{ ufloat unormal unormal unormal }
    signature	"Uniform RGB Color"	uc 	{ ufloat ucolor ucolor ucolor }
    signature	"Uniform 4x4 Matrix" 	um 	{ ufloat umatrix umatrix umatrix }


    parm {
	name	condtype
	label	Condition
	type	int
	menu	{
	    "true"	"Use Input 1 If Condition True"
	    "false"	"Use Input 1 If Condition False"
	}
	default	{ 0 }
    }

    VOP_FLT_PARM(input2, "Input 2", 0)
    VOP_INT_PARM(input2_i, "Input 2", 0)
    VOP_STR_PARM(input2_s, "Input 2", "")
    VOP_VEC2_PARM(input2_u, "Input 2", 0, 0)
    VOP_VEC_PARM(input2_v, "Input 2", 0, 0, 0)
    VOP_VEC_PARM(input2_p, "Input 2", 0, 0, 0)
    VOP_VEC_PARM(input2_n, "Input 2", 0, 0, 0)
    VOP_CLR_PARM(input2_c, "Input 2", 1, 1, 1)
    VOP_VEC4_PARM(input2_v4, "Input 2", 0, 0, 0, 0)
    parm {
	name	input2_m2
	label	"Input 2"
	type	float
	size	4
	default	{ 1 0 0 1 }
    }
    parm {
	name	input2_m3
	label	"Input 2"
	type	float
	size	9
	default	{ 1 0 0 0 1 0 0 0 1 }
    }
    parm {
	name	input2_m
	label	"Input 2"
	type	float
	size	16
	default	{ 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 }
    }

    VOP_FLT_PARM(input2_uf, "Input 2", 0)
    VOP_VEC_PARM(input2_uv, "Input 2", 0, 0, 0)
    VOP_VEC_PARM(input2_up, "Input 2", 0, 0, 0)
    VOP_VEC_PARM(input2_un, "Input 2", 0, 0, 0)
    VOP_VEC_PARM(input2_uc, "Input 2", 0, 0, 0)
    parm {
	name	input2_um
	label	"Input 2"
	type	float
	size	16
	default	{ 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 }
    }
    
    group { name "g0" obsolete 12.0 }
    group { name "g1" obsolete 12.0 }
    group { name "g2" obsolete 12.0 }
}

INDX              DialogScript      EZL# Dialog script for unifiednoise_static automatically generated

{
    name	unifiednoise_static
    script	pyro_noise
    label	"Unified Noise - Static"

    outercode {
	"#include <pyro_utils.h>"
	"#include <pyro_noise.h>"
	""
    }

    code {
	"$noise    = 0;"
	"$x_avg    = 0;"
	"$x_oct    = 0;"
	"$x_off    = 0;"
	""
	"#if !strcmp($signature, f1)"
	"#define rtype float"
	"#define ptype float"
	"#elif !strcmp($signature, f2)"
	"#define rtype float"
	"#define ptype vector2"
	"#elif !strcmp($signature, default)"
	"#define rtype float"
	"#define ptype vector"
	"#elif !strcmp($signature, f4)"
	"#define rtype float"
	"#define ptype vector4"
	"#elif !strcmp($signature, fd)"
	"#define rtype float"
	"#define ptype vector"
	"#elif !strcmp($signature, fd4)"
	"#define rtype float"
	"#define ptype vector4"
	"#elif !strcmp($signature, v1)"
	"#define rtype vector"
	"#define ptype float"
	"#elif !strcmp($signature, v2)"
	"#define rtype vector"
	"#define ptype vector2"
	"#elif !strcmp($signature, v3)"
	"#define rtype vector"
	"#define ptype vector"
	"#elif !strcmp($signature, v4)"
	"#define rtype vector"
	"#define ptype vector4"
	"#elif !strcmp($signature, vd)"
	"#define rtype vector"
	"#define ptype vector"
	"#elif !strcmp($signature, vd4)"
	"#define rtype vector"
	"#define ptype vector4"
	"#endif"
	""
	"#define __dualrest__ 1"
	""
	"if($isconnected_pos)"
	"{"
	"    float $dfreq = $dispfreq;"
	"    if (\"$basis\" == \"pperlin\" || \"$basis\" == \"pflow\")"
	"        $dfreq = (int)$dispfreq;"
	"   "
	"    #if !strcmp($signature, \"fd\") || !strcmp($signature, \"vd\")"
	"    int $dual = 1;"
	"    ptype $p1  = (ptype)($pos.rest * $freq - $offset);"
	"    ptype $p2  = (ptype)($pos.rest2 * $freq - $offset);"
	"    float $kp1 = $pos.rest_ratio;"
	"    float $kp2 = $pos.rest2_ratio;"
	"    #elif !strcmp($signature, \"fd4\") || !strcmp($signature, \"vd4\")"
	"    int $dual = 1;"
	"    ptype $p1  = (ptype)$pos.rest;"
	"    ptype $p2  = (ptype)$pos.rest2;"
	"    $p1.w = $pos.time;"
	"    $p2.w = $pos.time;"
	"    $p1 = $p1 * $freq - $offset;"
	"    $p2 = $p2 * $freq - $offset;"
	"    float $kp1 = $pos.rest_ratio;"
	"    float $kp2 = $pos.rest2_ratio;"
	"    #else"
	"    int $dual = 0;"
	"    ptype  $p1   = (ptype)($pos * $freq - $offset);"
	"    ptype  $p2  = (ptype)$p1; "
	"    float   $kp1  = 1;"
	"    float   $kp2 = 0;"
	"    #undef __dualrest__"
	"    #define __dualrest__ 0"
	"    #endif"
	""
	"    ptype  $tperiod = (ptype) $period;"
	""
	"    if($dual) {"
	"    }"
	""
	"    #if $isconnected_fw"
	"        float $fwidth1 = $fw;"
	"        float $fwidth2 = $fw;"
	"    #else"
	"        float $fwidth1 = VOPFW($p1);"
	"        float $fwidth2 = $dual ? VOPFW($p2) : $fwidth1;"
	"    #endif"
	"    "
	"    // unified_noise parms which we don't expose, since they're sort"
	"    // of covered by the output correction"
	"    int $inv = 0;"
	"    float $expon = 1.0;"
	"   "
	"    float $fmax = max($freq);"
	"    float $lw = $disp*$fmax;"
	"    float $fs1 = $fwidth1 * $fscale;"
	"    float $fs2 = $fwidth2 * $fscale;"
	"    float $e  = max(0,$expon);"
	""
	"    rtype $n1=0, $n2=0;"
	"    "
	"#if !strcmp(\"$fractal\", \"none\")"
	"    {"
	"        if($kp1>0)  $n1 = noise_$basis($p1,$inv,$cc_fold,$accuml,$accumg, $fs1,$e,$tperiod,"
	"                            $dolwarp,$dogwarp, $lw,$dfreq,$gflow,$flowrot,"
	"                            $x_avg,$x_off);"
	"        #if __dualrest__"
	"        if($kp2!=0) $n2 = noise_$basis($p2,$inv,$cc_fold,$accuml,$accumg, $fs2,$e,$tperiod,"
	"                            $dolwarp,$dogwarp, $lw,$dfreq,$gflow,$flowrot,"
	"                            $x_avg,$x_off);"
	"        #endif"
	"    }"
	"#else"
	"    {"
	"        //printf(\"%s\\n\", \"$basis\");"
	"        if($kp1>0)  $n1 = ${fractal}_$basis($p1,$inv,$cc_fold,$accuml,$accumg, $fs1,$e,$tperiod,"
	"                            $dolwarp,$dogwarp, $lw,$dfreq,$gflow,$flowrot,"
	"                            $x_avg,$x_off, //export args"
	"                            $oct,$lac,$rough, // fractal args"
	"                            $x_oct); // fractal export args"
	"        #if __dualrest__"
	"        if($kp2!=0) $n2 = ${fractal}_$basis($p2,$inv,$cc_fold,$accuml,$accumg, $fs2,$e,$tperiod,"
	"                            $dolwarp,$dogwarp, $lw,$dfreq,$gflow,$flowrot,"
	"                            $x_avg,$x_off, // export args"
	"                            $oct,$lac,$rough, // fractal args"
	"                            $x_oct); // fractal export args"
	"        #endif"
	"    }"
	"#endif"
	""
	"    $noise = $n1*$kp1 + $n2*$kp2;"
	""
	"    $noise = noise_cc($noise, $cc_inv, "
	"                       $cc_dobias,$cc_bias, "
	"                       $cc_dogain,$cc_gain, "
	"                       $cc_dorng,$cc_rnglo,$cc_rnghi, $cc_amp);"
	"}"
	""
	"#undef rtype"
	"#undef ptype"
	"#undef __dualrest__"
    }

    input	vector	pos	"Sample Location"
    input	vector4	freq	Frequency
    input	vector4	offset	Offset
    input	vector4	period	Period
    input	float	oct	"Max Octaves"
    input	float	lac	Lacunarity
    input	int	dolwarp	"Enable Lattice Warp"
    input	int	accuml	"Accumulate Lattice Warp"
    input	float	disp	"Lattice Warp"
    input	float	dispfreq	Freq
    input	int	dogwarp	"Enable Gradient Warp"
    input	int	accumg	"Accumulate Gradient Warp"
    input	float	gflow	"Gradient Warp"
    input	float	flowrot	"Flow Rotation"
    input	float	rough	Roughness
    input	int	docc	"Output Correction"
    input	int	cc_fold	Fold
    input	int	cc_dobias	"Do Bias"
    input	vector	cc_bias	Bias
    input	int	cc_dogain	"Do Gain"
    input	vector	cc_gain	Gain
    input	int	cc_inv	Complement
    input	int	cc_dorng	"Output Range (Clamped)"
    input	vector	cc_rnglo	"New Minimum"
    input	vector	cc_rnghi	"New Maximum"
    input	vector	cc_amp	"Final Amplitude"
    input	float	fw	"Filter Width Override"
    input	float	fscale	"Filter Scale"
    output	float	noise	Noise
    output	float	x_avg	"Median For Current Parameterization"
    output	float	x_oct	"Actual Number Of Octaves"
    output	vector	x_off	"Offset Due To Warps (Current Space)"
    inputflags	pos	0
    inputflags	freq	0
    inputflags	offset	0
    inputflags	period	0
    inputflags	oct	0
    inputflags	lac	0
    inputflags	dolwarp	0
    inputflags	accuml	0
    inputflags	disp	0
    inputflags	dispfreq	0
    inputflags	dogwarp	0
    inputflags	accumg	0
    inputflags	gflow	0
    inputflags	flowrot	0
    inputflags	rough	0
    inputflags	docc	0
    inputflags	cc_fold	0
    inputflags	cc_dobias	0
    inputflags	cc_bias	0
    inputflags	cc_dogain	0
    inputflags	cc_gain	0
    inputflags	cc_inv	0
    inputflags	cc_dorng	0
    inputflags	cc_rnglo	0
    inputflags	cc_rnghi	0
    inputflags	cc_amp	0
    inputflags	fw	0
    inputflags	fscale	0
    signature	"3D Input, 1D Noise"	default	{ vector vector4 vector4 vector4 float float int int float float int int float float float int int int vector int vector int int vector vector vector float float float float float vector }
    signature	"1D Input, 1D Noise"	f1	{ float vector4 vector4 vector4 float float int int float float int int float float float int int int vector int vector int int vector vector vector float float float float float vector }
    signature	"2D Input, 1D Noise"	f2	{ vector vector4 vector4 vector4 float float int int float float int int float float float int int int vector int vector int int vector vector vector float float float float float vector }
    signature	"4D Input, 1D Noise"	f4	{ vector4 vector4 vector4 vector4 float float int int float float int int float float float int int int vector int vector int int vector vector vector float float float float float vector }
    signature	"3D Dual Rest Input, 1D Noise"	fd	{ struct_DualRest vector4 vector4 vector4 float float int int float float int int float float float int int int vector int vector int int vector vector vector float float float float float vector }
    signature	"4D Dual Rest Input, 1D Noise"	fd4	{ struct_DualRest4 vector4 vector4 vector4 float float int int float float int int float float float int int int vector int vector int int vector vector vector float float float float float vector }
    signature	"1D Input, 3D Noise"	v1	{ float vector4 vector4 vector4 float float int int float float int int float float float int int int vector int vector int int vector vector vector float float vector float float vector }
    signature	"2D Input, 3D Noise"	v2	{ vector vector4 vector4 vector4 float float int int float float int int float float float int int int vector int vector int int vector vector vector float float vector float float vector }
    signature	"3D Input, 3D Noise"	v3	{ vector vector4 vector4 vector4 float float int int float float int int float float float int int int vector int vector int int vector vector vector float float vector float float vector }
    signature	"4D Input, 3D Noise"	v4	{ vector4 vector4 vector4 vector4 float float int int float float int int float float float int int int vector int vector int int vector vector vector float float vector float float vector }
    signature	"3D Dual Rest Input, 3D Noise"	vd	{ struct_DualRest vector4 vector4 vector4 float float int int float float int int float float float int int int vector int vector int int vector vector vector float float vector float float vector }
    signature	"4D Dual Rest Input, 3D Noise"	vd4	{ struct_DualRest4 vector4 vector4 vector4 float float int int float float int int float float float int int int vector int vector int int vector vector vector float float vector float float vector }

    outputoverrides	default
    {
	___begin	auto
			(0)
	___begin	auto
			(0)
	___begin	auto
			(0)
	___begin	auto
			(0,0,0)
    }
    outputoverrides	f1
    {
	___begin	auto
			(0)
	___begin	auto
			(0)
	___begin	auto
			(0)
	___begin	auto
			(0,0,0)
    }
    outputoverrides	f2
    {
	___begin	auto
			(0)
	___begin	auto
			(0)
	___begin	auto
			(0)
	___begin	auto
			(0,0,0)
    }
    outputoverrides	f4
    {
	___begin	auto
			(0)
	___begin	auto
			(0)
	___begin	auto
			(0)
	___begin	auto
			(0,0,0)
    }
    outputoverrides	fd
    {
	___begin	auto
			(0)
	___begin	auto
			(0)
	___begin	auto
			(0)
	___begin	auto
			(0,0,0)
    }
    outputoverrides	fd4
    {
	___begin	auto
			(0)
	___begin	auto
			(0)
	___begin	auto
			(0)
	___begin	auto
			(0,0,0)
    }
    outputoverrides	v1
    {
	___begin	auto
			(0,0,0)
	___begin	auto
			(0)
	___begin	auto
			(0)
	___begin	auto
			(0,0,0)
    }
    outputoverrides	v2
    {
	___begin	auto
			(0,0,0)
	___begin	auto
			(0)
	___begin	auto
			(0)
	___begin	auto
			(0,0,0)
    }
    outputoverrides	v3
    {
	___begin	auto
			(0,0,0)
	___begin	auto
			(0)
	___begin	auto
			(0)
	___begin	auto
			(0,0,0)
    }
    outputoverrides	v4
    {
	___begin	auto
			(0,0,0)
	___begin	auto
			(0)
	___begin	auto
			(0)
	___begin	auto
			(0,0,0)
    }
    outputoverrides	vd
    {
	___begin	auto
			(0,0,0)
	___begin	auto
			(0)
	___begin	auto
			(0)
	___begin	auto
			(0,0,0)
    }
    outputoverrides	vd4
    {
	___begin	auto
			(0,0,0)
	___begin	auto
			(0)
	___begin	auto
			(0)
	___begin	auto
			(0,0,0)
    }

    help {
	""
    }

    parm {
        name    "signature"
        baseparm
        label   "Signature"
        export  none
    }
    parm {
        name    "basis"
        label   "Noise Type"
        type    string
        default { "simplex" }
        menu {
            "sine"      "Sinusoid"
            "perlin"    "Perlin"
            "pperlin"   "Periodic Perlin"
            "simplex"   "Simplex (Improved Perlin)"
            "sparse"    "Sparse Convolution"
            "flow"      "Flow"
            "pflow"     "Periodic Flow"
            "worleyFA"  "Worley (cellular) F1"
            "worleyFB"  "Worley (cellular) F2-F1"
            "mworleyFA" "Manhattan Worley (cellular) F1"
            "mworleyFB" "Manhattan Worley (cellular) F2-F1"
            "cworleyFA" "Chebyshev Worley (cellular) F1"
            "cworleyFB" "Chebyshev Worley (cellular) F2-F1"
            "alligator" "Alligator"
        }
        range   { 0 1 }
        unquoted
    }
    parm {
        name    "freq"
        label   "Frequency"
        type    vector4
        size    4
        default { "1" "1" "1" "1" }
        range   { -1 1 }
    }
    parm {
        name    "offset"
        label   "Offset"
        type    vector4
        size    4
        default { "0" "0" "0" "0" }
        range   { -1 1 }
    }
    parm {
        name    "period"
        label   "Period"
        type    vector4
        size    4
        default { "1" "1" "1" "1" }
        hidewhen "{ basis != pperlin basis != pflow }"
        range   { 0! 1 }
    }
    groupsimple {
        name    "folder1"
        label   "Fractal"

        parm {
            name    "fractal"
            label   "Fractal Type"
            type    string
            default { "none" }
            menu {
                "none"  "None"
                "fBm"   "Standard (fBm)"
                "mfT"   "Terrain"
                "hmfT"  "Hybrid Terrain"
            }
            range   { 0 1 }
            unquoted
        }
        parm {
            name    "oct"
            label   "Max Octaves"
            type    float
            default { "8" }
            hidewhen "{ fractal == none } { fractal == none }"
            range   { 0! 16 }
        }
        parm {
            name    "lac"
            label   "Lacunarity"
            type    float
            default { "2.01234" }
            hidewhen "{ fractal == none }"
            range   { 0 4 }
        }
        parm {
            name    "rough"
            label   "Roughness"
            type    float
            default { "0.5" }
            hidewhen "{ fractal == none }"
            range   { 0! 1 }
        }
    }

    groupsimple {
        name    "folder2"
        label   "Warping"

        parm {
            name    "dolwarp"
            label   "Enable Lattice Warp"
            type    toggle
            default { "0" }
            range   { 0 1 }
        }
        parm {
            name    "accuml"
            label   "Accumulate Lattice Warp"
            type    toggle
            default { "0" }
            hidewhen "{ dolwarp == 0 } { fractal == none }"
            range   { 0 1 }
        }
        parm {
            name    "disp"
            label   "Lattice Warp"
            type    float
            joinnext
            default { "0" }
            hidewhen "{ dolwarp == 0 }"
            range   { -0.5 0.5 }
        }
        parm {
            name    "dispfreq"
            label   "Freq"
            type    float
            default { "1" }
            hidewhen "{ dolwarp == 0 }"
            range   { 0 1 }
        }
        parm {
            name    "dogwarp"
            label   "Enable Gradient Warp"
            type    toggle
            default { "0" }
            range   { 0 1 }
        }
        parm {
            name    "accumg"
            label   "Accumulate Gradient Warp"
            type    toggle
            default { "0" }
            hidewhen "{ dogwarp == 0 } { fractal == none }"
            range   { 0 1 }
        }
        parm {
            name    "gflow"
            label   "Gradient Warp"
            type    float
            default { "0" }
            hidewhen "{ dogwarp == 0 }"
            range   { -0.5 0.5 }
        }
        parm {
            name    "flowrot"
            label   "Flow Rotation"
            type    float
            default { "0" }
            hidewhen "{ basis != flow basis != pflow }"
            range   { 0 1 }
        }
    }

    groupsimple {
        name    "folder0_1"
        label   "Output Correction"

        parm {
            name    "cc_fold"
            label   "Fold"
            type    toggle
            default { "0" }
            range   { 0 1 }
        }
        parm {
            name    "cc_dobias"
            label   "Bias"
            type    toggle
            default { "0" }
            disablewhen "{ docc == 0 }"
            range   { 0 1 }
        }
        parm {
            name    "cc_bias"
            label   "Bias"
            type    vector
            size    3
            default { "0.5" "0.5" "0.5" }
            hidewhen "{ cc_dobias == 0 }"
            range   { 0! 1! }
        }
        parm {
            name    "cc_dogain"
            label   "Gain"
            type    toggle
            default { "0" }
            range   { 0 1 }
        }
        parm {
            name    "cc_gain"
            label   "Gain"
            type    vector
            size    3
            default { "0.5" "0.5" "0.5" }
            hidewhen "{ cc_dogain == 0 }"
            range   { 0! 1! }
        }
        parm {
            name    "cc_inv"
            label   "Complement"
            type    toggle
            default { "0" }
            range   { 0 1 }
        }
        parm {
            name    "cc_dorng"
            label   "Output Range (Clamped)"
            type    toggle
            default { "0" }
            range   { 0 1 }
        }
        parm {
            name    "cc_rnglo"
            label   "New Minimum"
            type    vector
            size    3
            default { "0" "0" "0" }
            hidewhen "{ cc_dorng == 0 }"
            range   { -1 1 }
        }
        parm {
            name    "cc_rnghi"
            label   "New Maximum"
            type    vector
            size    3
            default { "1" "1" "1" }
            hidewhen "{ cc_dorng == 0 }"
            range   { 0 2 }
        }
        parm {
            name    "cc_amp"
            label   "Final Amplitude"
            type    vector
            size    3
            default { "1" "1" "1" }
            range   { 0 2 }
        }
    }

    parm {
        name    "fscale"
        label   "Filter Scale"
        type    float
        default { "1" }
        range   { 0! 2 }
    }
}
INDX              Contents       W[,   DialogScript   W  U80707070000010000000006660000000000000000010000001331301640400001300000000000TRAILER!!! # Dialog script for uvcoords automatically generated 03/23/15 14:38:00

{
    name	uvcoords
    script	uvcoords
    label	"UV Coords"

    output	vector	uv	"Output Value"
    output	float	s	"Component 1"
    output	float	t	"Component 2"
    signature	"Default Inputs"	default	{ vector float float }

    outputoverrides	default
    {
	___begin	auto
			(0,0,0)
	___begin	auto
			(0)
	___begin	auto
			(0)
    }

    help {
	""
    }

}
INDX              Contents       W[,5   DialogScript   W  'TT0707070000010000000006660000000000000000010000001331301646500001300000000000TRAILER!!! # Dialog script for uvquickshade automatically generated 06/23/14 16:38:47

{
    name	uvquickshade
    script	uvquickshade
    label	UVQuickShade

    help {
	""
	""
	""
	""
	""
	""
	""
    }

    inputlabel	1	"Geometry to Quickly Apply UVs and Shaders"
    inputlabel	2	"Sub-Network Input #2"
    inputlabel	3	"Sub-Network Input #3"
    inputlabel	4	"Sub-Network Input #4"

    parm {
	name	"group"
	label	"Group"
	type	string
	default	{ "" }
	menutoggle	{
	    [ "opmenu -l material1 group1" ]
	}
	range	{ 0 1 }
	export	none
	parmtag	{ "autoscope" "0000000000000000" }
	parmtag	{ "script_action" "import soputils\nkwargs['geometrytype'] = hou.geometryType.Primitives\nkwargs['inputindex'] = 0\nsoputils.selectGroupParm(kwargs)" }
	parmtag	{ "script_action_help" "Select geometry from an available viewport." }
	parmtag	{ "script_action_icon" "BUTTONS_reselect" }
	bindselector prims "Material Primitives"
	    "Select the primitives to apply material to and press Enter to complete"
	    0 1 all 0 "" 0
    }
    parm {
	name	"texture"
	label	"Texture Map"
	type	image
	default	{ "uvgrid_grey.pic" }
	menureplace	{
	    "Mandril.pic"	"Mandril.pic"
	    "default.pic"	"default.pic"
	    "data/smurf_dragtree_$F.pic"	"data/smurf_dragtree_$F.pic"
	    "data/pull_with_snow_$F.pic"	"data/pull_with_snow_$F.pic"
	    "data/snowball_fight_$F.pic"	"data/snowball_fight_$F.pic"
	}
	range	{ 0 1 }
	export	all
    }
    group {
	name	"g0"
	label	"Quick-Texture Parameters"

	parm {
	    name	"texture_axis"
	    label	"Projection Axis"
	    type	integer
	    default	{ "1" }
	    menu	{
		"x"	"X axis"
		"y"	"Y axis"
		"z"	"Z axis"
	    }
	    range	{ 0 10 }
	    export	all
	}
	parm {
	    name	"texture_s"
	    label	"Texture Scale"
	    type	uvw
	    size	3
	    default	{ "1" "1" "1" }
	    range	{ 0 1 }
	    export	none
	}
    }

}
INDX              DialogScript      RZ Vi/*
 * PROPRIETARY INFORMATION.  This software is proprietary to
 * Side Effects Software Inc., and is not to be reproduced,
 * transmitted, or disclosed in any way without written permission.
 *
 * Produced by:
 *	Side Effects Software Inc
 *	477 Richmond Street West
 *	Toronto, Ontario
 *	Canada   M5V 3E7
 *	416-504-9876
 *
 */

{
    name	"uvspacechg"
    script	"uvspacechg"
    label	"uvspacechg"


    code {
	"vector $myP = $isconnected_P ? $P : P;"
	""
	"if ($space == \"world\")"
	"    $xformP = ptransform(\"space:current\", \"space:world\", $myP);"
	"else if ($space == \"object\")"
	"    $xformP = wo_space($myP);"
	"else if ($space == \"ndc\")"
	"    $xformP = toNDC($myP);"
	"else"
	"    $xformP = $myP;"
    }

    input	vector	P		"UVW Position"
    input	string	space		"Space"
    output	vector	xformP		"Transformed UVW Position"

    parm {
        name    space
        label   "Space"
        type    string
	menu	{
	    "object"	"Object"
	    "ndc"	"Normalized Device Coordinates (NDC)"
	    "world"	"World"
	    "current"	"Current (Unchanged)"
	}
        default { "object" }
    }
}
INDX              DialogScript      4[߉# Context: Surface

/*
 * Houdini Dialog Script generated automatically
 * by vcc from source file layered.
 * Generated: Thu Jun  7 03:32:25 2018
 */

{
    name	"v_layered"
    script	"layered"
    label	"Layered Surface"
    rendermask	VMantra

    help {
	"This shader allows for up to 16 layers of textures to be composited"
	"Each layer can modify one or more parameters of the base layer."
	"The color from the texture map for the layer can be tinted by"
	"the corresponding color before it is applied to the base layer"
	"The compositing operations are:"
	"    multiply - The layer color will multiply the base color"
	"    add      - The layer color will be added to the base color"
	"    sub      - The layer color will be subtracted from the base color"
	"    over     - The layer color will be composited over the base"
	"               the base color using the alpha of the texture"
	"Each texture can be tiled to repeat, to streak its edges or as a decal."
	"If the texture file is a .rat file, the texture can be filtered and"
	"blurred at render time."
	""
	"Texture coordinates for each layer can be aquired using several"
	"methods"
	"    uv       - The geometry texture coordinates for the layer are used"
	"               if the texture coordinates do not exist, the surface"
	"               parametric coordinates are used."
	"    uvname   - The attribute name of the texture coordinates for the layer."
	"               This allows you to use one set of texture coordinates"
	"               for multipe layers."
	"    sphere   - A polar projection (using the projection transform)"
	"    cylinder - A cylindrical projection (using the proj transform)"
	"    ortho    - An orthographic projection (using the proj transform)"
	"When applying projections to compute texture coordinates, the"
	"coordinates may be computed in world, object, shader or NDC space"
	""
	"Roughness controls the size of the specular highlight"
	"The lighting model controls the shape of the specular highlight"
	"The constant lighting model will simply apply the diffuse color"
	"to the surface"
	"Opacity is computed using the Alpha of each layer.  After the layer"
	"opacity has been computed, the opacity is scaled by the alpha-para/perp"
	"and filtered by the transmit color."
	"Tinted ambient will scale the ambient light by the diffuse"
	"  color component resulting in more saturated colors"
	"When computing reflections, it is possible to scale the reflected"
	"  light using the Fresnel equation"
	"Reflection bias is used to limit self-reflections"
    }

    group {
	name	g0
	label	Base

	parm {
	    name	Ca
	    label	"Ambient"
	    type	color
	    size	3
	    default	{ 1 1 1 }
	    export	none
	}
	parm {
	    name	Cd
	    label	"Diffuse"
	    type	color
	    size	3
	    default	{ 1 1 1 }
	    export	none
	}
	parm {
	    name	Cs
	    label	"Specular"
	    type	color
	    size	3
	    default	{ 1 1 1 }
	    export	none
	}
	parm {
	    name	Cr
	    label	"Reflect"
	    type	color
	    size	3
	    default	{ 0 0 0 }
	    export	none
	}
	parm {
	    name	Ct
	    label	"Transmit Color"
	    type	color
	    size	3
	    default	{ 1 1 1 }
	    export	none
	}
	parm {
	    name	Alpha
	    label	"Alpha"
	    type	float
	    default	{ 1 }
	    range	 { 0 1 }
	    export	none
	}
	parm {
	    name	apara
	    label	"Alpha Para"
	    type	float
	    default	{ 1 }
	    range	 { 0 1 }
	    export	none
	}
	parm {
	    name	aperp
	    label	"Alpha Perp"
	    type	float
	    default	{ 1 }
	    range	 { 0 1 }
	    export	none
	}
	parm {
	    name	aroll
	    label	"Alpha Rolloff"
	    type	float
	    default	{ 1 }
	    range	 { 0.001 10 }
	    export	none
	}
	parm {
	    name	rough
	    label	"Roughness"
	    type	float
	    default	{ 0.050000000000000003 }
	    export	none
	}
	parm {
	    name	lmodel
	    label	"Lighting Model"
	    type	string
	    menu	{
		"constant"	"Constant"
		"lambert"	"Lambert"
		"phong"	"Phong"
		"blinn"	"Blinn"
		"specular"	"Specular"
	    }
	    default	{ "phong" }
	    export	none
	}
	parm {
	    name	tintedambient
	    label	"Tinted Ambient"
	    type	toggle
	    default	{ 1 }
	    export	none
	}
	parm {
	    name	dofresnel
	    label	"Apply Fresnel Reflections"
	    type	toggle
	    default	{ 1 }
	    export	none
	}
	parm {
	    name	fresnel_eta
	    label	"Fresnel Eta"
	    type	float
	    default	{ 1.3 }
	    range	 { 0.1 3 }
	    export	none
	}
	parm {
	    name	map_base
	    label	"Texture Map"
	    type	image
	    default	{ "" }
	    export	none
	}
	parm {
	    name	apply_base
	    label	"Texture Tints"
	    type	string
	    menu	{
		"a"	"Ambient"
		"d"	"Diffuse"
		"s"	"Specular"
		"r"	"Reflect"
		"o"	"Alpha"
		"do"	"Diff + Alpha"
		"sr"	"Spec + Refl"
		"adsro"	"Everything"
	    }
	    default	{ "d" }
	    export	none
	}
	parm {
	    name	mapmode_base
	    label	"Map Tiling"
	    type	string
	    menu	{
		"repeat"	"Repeat"
		"streak"	"Streak Edges"
		"decal"	"Decal"
		"decalz"	"Decal with Z clamping"
	    }
	    callback	"set ext = `substr($script_parm, 7, abs(strcmp($script_parm, mapmode_base))*10)`; opparm . ogl_clamping_mode$ext `strmatch('decal*', chs($script_parm))`"
	    default	{ "repeat" }
	    export	none
	}
	parm {
	    name	smapfilter_base
	    label	"S Map Filter"
	    type	string
	    menu	{
		"point"	"Point"
		"box"	"Box Filter"
		"gauss"	"Gaussian Filter"
		"catrom"	"Catmull-Rom"
		"sinc"	"Sinc"
		"bartlett"	"Bartlett"
		"hanning"	"Hanning"
	    }
	    default	{ "box" }
	    export	none
	}
	parm {
	    name	smapblur_base
	    label	"S Map Blur"
	    type	float
	    default	{ 1 }
	    range	 { 1 10 }
	    export	none
	}
	parm {
	    name	tmapfilter_base
	    label	"T Map Filter"
	    type	string
	    menu	{
		"point"	"Point"
		"box"	"Box Filter"
		"gauss"	"Gaussian Filter"
		"catrom"	"Catmull-Rom"
		"sinc"	"Sinc"
		"bartlett"	"Bartlett"
		"hanning"	"Hanning"
	    }
	    default	{ "box" }
	    export	none
	}
	parm {
	    name	tmapblur_base
	    label	"T Map Blur"
	    type	float
	    default	{ 1 }
	    range	 { 1 10 }
	    export	none
	}
	parm {
	    name	project_base
	    label	"Texture Source"
	    type	string
	    menu	{
		"uv"	"Geometry Attribute"
		"ortho"	"Orthographic Projection"
		"sphere"	"Polar Projection"
		"cyl"	"Cylindrical Projection"
	    }
	    default	{ "uv" }
	    export	none
	}
	parm {
	    name	uvname_base
	    label	" UV Attribute"
	    type	string
	    menu	{
		"uv"	"uv (base layer)"
		"uv2"	"uv2  (layer 2)"
		"uv3"	"uv3  (layer 3)"
		"uv4"	"uv4  (layer 4)"
		"uv5"	"uv5  (layer 5)"
		"uv6"	"uv6  (layer 6)"
		"uv7"	"uv7  (layer 7)"
		"uv8"	"uv8  (layer 8)"
		"uv9"	"uv9  (layer 9)"
		"uv10"	"uv10 (layer 10)"
		"uv11"	"uv11 (layer 11)"
		"uv12"	"uv12 (layer 12)"
		"uv13"	"uv13 (layer 13)"
		"uv14"	"uv14 (layer 14)"
		"uv15"	"uv15 (layer 15)"
		"uv16"	"uv16 (layer 16)"
	    }
	    default	{ "uv" }
	    export	none
	}
	parm {
	    name	space_base
	    label	"Texture Space"
	    type	string
	    menu	{
		"world"	"World Space"
		"object"	"Model Space"
		"shader"	"Shader Space"
		"NDC"	"NDC Space"
	    }
	    default	{ "shader" }
	    export	none
	}
	parm {
	    name	center_base
	    label	" Proj Center"
	    type	float
	    size	3
	    default	{ 0 0 0 }
	    export	none
	}
	parm {
	    name	rotate_base
	    label	" Proj Rotate"
	    type	float
	    size	3
	    default	{ 0 0 0 }
	    export	none
	}
	parm {
	    name	scale_base
	    label	" Proj Scale"
	    type	float
	    size	3
	    default	{ 1 1 1 }
	    export	none
	}
    } // End of Group: Base

    group {
	name	g1
	label	2

	parm {
	    name	comp2
	    label	"Compositing"
	    type	string
	    menu	{
		"add"	"Add"
		"sub"	"Subtract"
		"mult"	"Multiply"
		"over"	"Over"
	    }
	    default	{ "over" }
	    export	none
	}
	parm {
	    name	map2
	    label	"Texture Map"
	    type	image
	    default	{ "" }
	    export	none
	}
	parm {
	    name	apply2
	    label	"Texture Tints"
	    type	string
	    menu	{
		"a"	"Ambient"
		"d"	"Diffuse"
		"s"	"Specular"
		"r"	"Reflect"
		"o"	"Alpha"
		"do"	"Diff + Alpha"
		"sr"	"Spec + Refl"
		"adsro"	"Everything"
	    }
	    default	{ "d" }
	    export	none
	}
	parm {
	    name	mapmode2
	    label	"Map Tiling"
	    type	string
	    menu	{
		"repeat"	"Repeat"
		"streak"	"Streak Edges"
		"decal"	"Decal"
		"decalz"	"Decal with Z clamping"
	    }
	    callback	"set ext = `substr($script_parm, 7, abs(strcmp($script_parm, mapmode_base))*10)`; opparm . ogl_clamping_mode$ext `strmatch('decal*', chs($script_parm))`"
	    default	{ "repeat" }
	    export	none
	}
	parm {
	    name	smapfilter2
	    label	"S Map Filter"
	    type	string
	    menu	{
		"point"	"Point"
		"box"	"Box Filter"
		"gauss"	"Gaussian Filter"
		"catrom"	"Catmull-Rom"
		"sinc"	"Sinc"
		"bartlett"	"Bartlett"
		"hanning"	"Hanning"
	    }
	    default	{ "box" }
	    export	none
	}
	parm {
	    name	smapblur2
	    label	"S Map Blur"
	    type	float
	    default	{ 1 }
	    range	 { 1 10 }
	    export	none
	}
	parm {
	    name	tmapfilter2
	    label	"T Map Filter"
	    type	string
	    menu	{
		"point"	"Point"
		"box"	"Box Filter"
		"gauss"	"Gaussian Filter"
		"catrom"	"Catmull-Rom"
		"sinc"	"Sinc"
		"bartlett"	"Bartlett"
		"hanning"	"Hanning"
	    }
	    default	{ "box" }
	    export	none
	}
	parm {
	    name	tmapblur2
	    label	"T Map Blur"
	    type	float
	    default	{ 1 }
	    range	 { 1 10 }
	    export	none
	}
	parm {
	    name	Ca2
	    label	"Ambient"
	    type	color
	    size	3
	    default	{ 1 1 1 }
	    export	none
	}
	parm {
	    name	Cd2
	    label	"Diffuse"
	    type	color
	    size	3
	    default	{ 1 1 1 }
	    export	none
	}
	parm {
	    name	Cs2
	    label	"Specular"
	    type	color
	    size	3
	    default	{ 1 1 1 }
	    export	none
	}
	parm {
	    name	Cr2
	    label	"Reflect"
	    type	color
	    size	3
	    default	{ 0 0 0 }
	    export	none
	}
	parm {
	    name	Alpha2
	    label	"Alpha"
	    type	float
	    default	{ 1 }
	    range	 { 0 1 }
	    export	none
	}
	parm {
	    name	project2
	    label	"Texture Source"
	    type	string
	    menu	{
		"uv"	"Geometry Attribute"
		"ortho"	"Orthographic Projection"
		"sphere"	"Polar Projection"
		"cyl"	"Cylindrical Projection"
	    }
	    default	{ "uv" }
	    export	none
	}
	parm {
	    name	uvname2
	    label	" UV Attribute"
	    type	string
	    menu	{
		"uv"	"uv (base layer)"
		"uv2"	"uv2  (layer 2)"
		"uv3"	"uv3  (layer 3)"
		"uv4"	"uv4  (layer 4)"
		"uv5"	"uv5  (layer 5)"
		"uv6"	"uv6  (layer 6)"
		"uv7"	"uv7  (layer 7)"
		"uv8"	"uv8  (layer 8)"
		"uv9"	"uv9  (layer 9)"
		"uv10"	"uv10 (layer 10)"
		"uv11"	"uv11 (layer 11)"
		"uv12"	"uv12 (layer 12)"
		"uv13"	"uv13 (layer 13)"
		"uv14"	"uv14 (layer 14)"
		"uv15"	"uv15 (layer 15)"
		"uv16"	"uv16 (layer 16)"
	    }
	    default	{ "uv2" }
	    export	none
	}
	parm {
	    name	space2
	    label	"Texture Space"
	    type	string
	    menu	{
		"world"	"World Space"
		"object"	"Model Space"
		"shader"	"Shader Space"
		"NDC"	"NDC Space"
	    }
	    default	{ "shader" }
	    export	none
	}
	parm {
	    name	center2
	    label	" Proj Center"
	    type	float
	    size	3
	    default	{ 0 0 0 }
	    export	none
	}
	parm {
	    name	rotate2
	    label	" Proj Rotate"
	    type	float
	    size	3
	    default	{ 0 0 0 }
	    export	none
	}
	parm {
	    name	scale2
	    label	" Proj Scale"
	    type	float
	    size	3
	    default	{ 1 1 1 }
	    export	none
	}
    } // End of Group: 2

    group {
	name	g2
	label	3

	parm {
	    name	comp3
	    label	"Compositing"
	    type	string
	    menu	{
		"add"	"Add"
		"sub"	"Subtract"
		"mult"	"Multiply"
		"over"	"Over"
	    }
	    default	{ "over" }
	    export	none
	}
	parm {
	    name	map3
	    label	"Texture Map"
	    type	image
	    default	{ "" }
	    export	none
	}
	parm {
	    name	apply3
	    label	"Texture Tints"
	    type	string
	    menu	{
		"a"	"Ambient"
		"d"	"Diffuse"
		"s"	"Specular"
		"r"	"Reflect"
		"o"	"Alpha"
		"do"	"Diff + Alpha"
		"sr"	"Spec + Refl"
		"adsro"	"Everything"
	    }
	    default	{ "d" }
	    export	none
	}
	parm {
	    name	mapmode3
	    label	"Map Tiling"
	    type	string
	    menu	{
		"repeat"	"Repeat"
		"streak"	"Streak Edges"
		"decal"	"Decal"
		"decalz"	"Decal with Z clamping"
	    }
	    callback	"set ext = `substr($script_parm, 7, abs(strcmp($script_parm, mapmode_base))*10)`; opparm . ogl_clamping_mode$ext `strmatch('decal*', chs($script_parm))`"
	    default	{ "repeat" }
	    export	none
	}
	parm {
	    name	smapfilter3
	    label	"S Map Filter"
	    type	string
	    menu	{
		"point"	"Point"
		"box"	"Box Filter"
		"gauss"	"Gaussian Filter"
		"catrom"	"Catmull-Rom"
		"sinc"	"Sinc"
		"bartlett"	"Bartlett"
		"hanning"	"Hanning"
	    }
	    default	{ "box" }
	    export	none
	}
	parm {
	    name	smapblur3
	    label	"S Map Blur"
	    type	float
	    default	{ 1 }
	    range	 { 1 10 }
	    export	none
	}
	parm {
	    name	tmapfilter3
	    label	"T Map Filter"
	    type	string
	    menu	{
		"point"	"Point"
		"box"	"Box Filter"
		"gauss"	"Gaussian Filter"
		"catrom"	"Catmull-Rom"
		"sinc"	"Sinc"
		"bartlett"	"Bartlett"
		"hanning"	"Hanning"
	    }
	    default	{ "box" }
	    export	none
	}
	parm {
	    name	tmapblur3
	    label	"T Map Blur"
	    type	float
	    default	{ 1 }
	    range	 { 1 10 }
	    export	none
	}
	parm {
	    name	Ca3
	    label	"Ambient"
	    type	color
	    size	3
	    default	{ 1 1 1 }
	    export	none
	}
	parm {
	    name	Cd3
	    label	"Diffuse"
	    type	color
	    size	3
	    default	{ 1 1 1 }
	    export	none
	}
	parm {
	    name	Cs3
	    label	"Specular"
	    type	color
	    size	3
	    default	{ 1 1 1 }
	    export	none
	}
	parm {
	    name	Cr3
	    label	"Reflect"
	    type	color
	    size	3
	    default	{ 0 0 0 }
	    export	none
	}
	parm {
	    name	Alpha3
	    label	"Alpha"
	    type	float
	    default	{ 1 }
	    range	 { 0 1 }
	    export	none
	}
	parm {
	    name	project3
	    label	"Texture Source"
	    type	string
	    menu	{
		"uv"	"Geometry Attribute"
		"ortho"	"Orthographic Projection"
		"sphere"	"Polar Projection"
		"cyl"	"Cylindrical Projection"
	    }
	    default	{ "uv" }
	    export	none
	}
	parm {
	    name	uvname3
	    label	" UV Attribute"
	    type	string
	    menu	{
		"uv"	"uv (base layer)"
		"uv2"	"uv2  (layer 2)"
		"uv3"	"uv3  (layer 3)"
		"uv4"	"uv4  (layer 4)"
		"uv5"	"uv5  (layer 5)"
		"uv6"	"uv6  (layer 6)"
		"uv7"	"uv7  (layer 7)"
		"uv8"	"uv8  (layer 8)"
		"uv9"	"uv9  (layer 9)"
		"uv10"	"uv10 (layer 10)"
		"uv11"	"uv11 (layer 11)"
		"uv12"	"uv12 (layer 12)"
		"uv13"	"uv13 (layer 13)"
		"uv14"	"uv14 (layer 14)"
		"uv15"	"uv15 (layer 15)"
		"uv16"	"uv16 (layer 16)"
	    }
	    default	{ "uv3" }
	    export	none
	}
	parm {
	    name	space3
	    label	"Texture Space"
	    type	string
	    menu	{
		"world"	"World Space"
		"object"	"Model Space"
		"shader"	"Shader Space"
		"NDC"	"NDC Space"
	    }
	    default	{ "shader" }
	    export	none
	}
	parm {
	    name	center3
	    label	" Proj Center"
	    type	float
	    size	3
	    default	{ 0 0 0 }
	    export	none
	}
	parm {
	    name	rotate3
	    label	" Proj Rotate"
	    type	float
	    size	3
	    default	{ 0 0 0 }
	    export	none
	}
	parm {
	    name	scale3
	    label	" Proj Scale"
	    type	float
	    size	3
	    default	{ 1 1 1 }
	    export	none
	}
    } // End of Group: 3

    group {
	name	g3
	label	4

	parm {
	    name	comp4
	    label	"Compositing"
	    type	string
	    menu	{
		"add"	"Add"
		"sub"	"Subtract"
		"mult"	"Multiply"
		"over"	"Over"
	    }
	    default	{ "over" }
	    export	none
	}
	parm {
	    name	map4
	    label	"Texture Map"
	    type	image
	    default	{ "" }
	    export	none
	}
	parm {
	    name	apply4
	    label	"Texture Tints"
	    type	string
	    menu	{
		"a"	"Ambient"
		"d"	"Diffuse"
		"s"	"Specular"
		"r"	"Reflect"
		"o"	"Alpha"
		"do"	"Diff + Alpha"
		"sr"	"Spec + Refl"
		"adsro"	"Everything"
	    }
	    default	{ "d" }
	    export	none
	}
	parm {
	    name	mapmode4
	    label	"Map Tiling"
	    type	string
	    menu	{
		"repeat"	"Repeat"
		"streak"	"Streak Edges"
		"decal"	"Decal"
		"decalz"	"Decal with Z clamping"
	    }
	    callback	"set ext = `substr($script_parm, 7, abs(strcmp($script_parm, mapmode_base))*10)`; opparm . ogl_clamping_mode$ext `strmatch('decal*', chs($script_parm))`"
	    default	{ "repeat" }
	    export	none
	}
	parm {
	    name	smapfilter4
	    label	"S Map Filter"
	    type	string
	    menu	{
		"point"	"Point"
		"box"	"Box Filter"
		"gauss"	"Gaussian Filter"
		"catrom"	"Catmull-Rom"
		"sinc"	"Sinc"
		"bartlett"	"Bartlett"
		"hanning"	"Hanning"
	    }
	    default	{ "box" }
	    export	none
	}
	parm {
	    name	smapblur4
	    label	"S Map Blur"
	    type	float
	    default	{ 1 }
	    range	 { 1 10 }
	    export	none
	}
	parm {
	    name	tmapfilter4
	    label	"T Map Filter"
	    type	string
	    menu	{
		"point"	"Point"
		"box"	"Box Filter"
		"gauss"	"Gaussian Filter"
		"catrom"	"Catmull-Rom"
		"sinc"	"Sinc"
		"bartlett"	"Bartlett"
		"hanning"	"Hanning"
	    }
	    default	{ "box" }
	    export	none
	}
	parm {
	    name	tmapblur4
	    label	"T Map Blur"
	    type	float
	    default	{ 1 }
	    range	 { 1 10 }
	    export	none
	}
	parm {
	    name	Ca4
	    label	"Ambient"
	    type	color
	    size	3
	    default	{ 1 1 1 }
	    export	none
	}
	parm {
	    name	Cd4
	    label	"Diffuse"
	    type	color
	    size	3
	    default	{ 1 1 1 }
	    export	none
	}
	parm {
	    name	Cs4
	    label	"Specular"
	    type	color
	    size	3
	    default	{ 1 1 1 }
	    export	none
	}
	parm {
	    name	Cr4
	    label	"Reflect"
	    type	color
	    size	3
	    default	{ 0 0 0 }
	    export	none
	}
	parm {
	    name	Alpha4
	    label	"Alpha"
	    type	float
	    default	{ 1 }
	    range	 { 0 1 }
	    export	none
	}
	parm {
	    name	project4
	    label	"Texture Source"
	    type	string
	    menu	{
		"uv"	"Geometry Attribute"
		"ortho"	"Orthographic Projection"
		"sphere"	"Polar Projection"
		"cyl"	"Cylindrical Projection"
	    }
	    default	{ "uv" }
	    export	none
	}
	parm {
	    name	uvname4
	    label	" UV Attribute"
	    type	string
	    menu	{
		"uv"	"uv (base layer)"
		"uv2"	"uv2  (layer 2)"
		"uv3"	"uv3  (layer 3)"
		"uv4"	"uv4  (layer 4)"
		"uv5"	"uv5  (layer 5)"
		"uv6"	"uv6  (layer 6)"
		"uv7"	"uv7  (layer 7)"
		"uv8"	"uv8  (layer 8)"
		"uv9"	"uv9  (layer 9)"
		"uv10"	"uv10 (layer 10)"
		"uv11"	"uv11 (layer 11)"
		"uv12"	"uv12 (layer 12)"
		"uv13"	"uv13 (layer 13)"
		"uv14"	"uv14 (layer 14)"
		"uv15"	"uv15 (layer 15)"
		"uv16"	"uv16 (layer 16)"
	    }
	    default	{ "uv4" }
	    export	none
	}
	parm {
	    name	space4
	    label	"Texture Space"
	    type	string
	    menu	{
		"world"	"World Space"
		"object"	"Model Space"
		"shader"	"Shader Space"
		"NDC"	"NDC Space"
	    }
	    default	{ "shader" }
	    export	none
	}
	parm {
	    name	center4
	    label	" Proj Center"
	    type	float
	    size	3
	    default	{ 0 0 0 }
	    export	none
	}
	parm {
	    name	rotate4
	    label	" Proj Rotate"
	    type	float
	    size	3
	    default	{ 0 0 0 }
	    export	none
	}
	parm {
	    name	scale4
	    label	" Proj Scale"
	    type	float
	    size	3
	    default	{ 1 1 1 }
	    export	none
	}
    } // End of Group: 4

    group {
	name	g4
	label	5

	parm {
	    name	comp5
	    label	"Compositing"
	    type	string
	    menu	{
		"add"	"Add"
		"sub"	"Subtract"
		"mult"	"Multiply"
		"over"	"Over"
	    }
	    default	{ "over" }
	    export	none
	}
	parm {
	    name	map5
	    label	"Texture Map"
	    type	image
	    default	{ "" }
	    export	none
	}
	parm {
	    name	apply5
	    label	"Texture Tints"
	    type	string
	    menu	{
		"a"	"Ambient"
		"d"	"Diffuse"
		"s"	"Specular"
		"r"	"Reflect"
		"o"	"Alpha"
		"do"	"Diff + Alpha"
		"sr"	"Spec + Refl"
		"adsro"	"Everything"
	    }
	    default	{ "d" }
	    export	none
	}
	parm {
	    name	mapmode5
	    label	"Map Tiling"
	    type	string
	    menu	{
		"repeat"	"Repeat"
		"streak"	"Streak Edges"
		"decal"	"Decal"
		"decalz"	"Decal with Z clamping"
	    }
	    callback	"set ext = `substr($script_parm, 7, abs(strcmp($script_parm, mapmode_base))*10)`; opparm . ogl_clamping_mode$ext `strmatch('decal*', chs($script_parm))`"
	    default	{ "repeat" }
	    export	none
	}
	parm {
	    name	smapfilter5
	    label	"S Map Filter"
	    type	string
	    menu	{
		"point"	"Point"
		"box"	"Box Filter"
		"gauss"	"Gaussian Filter"
		"catrom"	"Catmull-Rom"
		"sinc"	"Sinc"
		"bartlett"	"Bartlett"
		"hanning"	"Hanning"
	    }
	    default	{ "box" }
	    export	none
	}
	parm {
	    name	smapblur5
	    label	"S Map Blur"
	    type	float
	    default	{ 1 }
	    range	 { 1 10 }
	    export	none
	}
	parm {
	    name	tmapfilter5
	    label	"T Map Filter"
	    type	string
	    menu	{
		"point"	"Point"
		"box"	"Box Filter"
		"gauss"	"Gaussian Filter"
		"catrom"	"Catmull-Rom"
		"sinc"	"Sinc"
		"bartlett"	"Bartlett"
		"hanning"	"Hanning"
	    }
	    default	{ "box" }
	    export	none
	}
	parm {
	    name	tmapblur5
	    label	"T Map Blur"
	    type	float
	    default	{ 1 }
	    range	 { 1 10 }
	    export	none
	}
	parm {
	    name	Ca5
	    label	"Ambient"
	    type	color
	    size	3
	    default	{ 1 1 1 }
	    export	none
	}
	parm {
	    name	Cd5
	    label	"Diffuse"
	    type	color
	    size	3
	    default	{ 1 1 1 }
	    export	none
	}
	parm {
	    name	Cs5
	    label	"Specular"
	    type	color
	    size	3
	    default	{ 1 1 1 }
	    export	none
	}
	parm {
	    name	Cr5
	    label	"Reflect"
	    type	color
	    size	3
	    default	{ 0 0 0 }
	    export	none
	}
	parm {
	    name	Alpha5
	    label	"Alpha"
	    type	float
	    default	{ 1 }
	    range	 { 0 1 }
	    export	none
	}
	parm {
	    name	project5
	    label	"Texture Source"
	    type	string
	    menu	{
		"uv"	"Geometry Attribute"
		"ortho"	"Orthographic Projection"
		"sphere"	"Polar Projection"
		"cyl"	"Cylindrical Projection"
	    }
	    default	{ "uv" }
	    export	none
	}
	parm {
	    name	uvname5
	    label	" UV Attribute"
	    type	string
	    menu	{
		"uv"	"uv (base layer)"
		"uv2"	"uv2  (layer 2)"
		"uv3"	"uv3  (layer 3)"
		"uv4"	"uv4  (layer 4)"
		"uv5"	"uv5  (layer 5)"
		"uv6"	"uv6  (layer 6)"
		"uv7"	"uv7  (layer 7)"
		"uv8"	"uv8  (layer 8)"
		"uv9"	"uv9  (layer 9)"
		"uv10"	"uv10 (layer 10)"
		"uv11"	"uv11 (layer 11)"
		"uv12"	"uv12 (layer 12)"
		"uv13"	"uv13 (layer 13)"
		"uv14"	"uv14 (layer 14)"
		"uv15"	"uv15 (layer 15)"
		"uv16"	"uv16 (layer 16)"
	    }
	    default	{ "uv5" }
	    export	none
	}
	parm {
	    name	space5
	    label	"Texture Space"
	    type	string
	    menu	{
		"world"	"World Space"
		"object"	"Model Space"
		"shader"	"Shader Space"
		"NDC"	"NDC Space"
	    }
	    default	{ "shader" }
	    export	none
	}
	parm {
	    name	center5
	    label	" Proj Center"
	    type	float
	    size	3
	    default	{ 0 0 0 }
	    export	none
	}
	parm {
	    name	rotate5
	    label	" Proj Rotate"
	    type	float
	    size	3
	    default	{ 0 0 0 }
	    export	none
	}
	parm {
	    name	scale5
	    label	" Proj Scale"
	    type	float
	    size	3
	    default	{ 1 1 1 }
	    export	none
	}
    } // End of Group: 5

    group {
	name	g5
	label	6

	parm {
	    name	comp6
	    label	"Compositing"
	    type	string
	    menu	{
		"add"	"Add"
		"sub"	"Subtract"
		"mult"	"Multiply"
		"over"	"Over"
	    }
	    default	{ "over" }
	    export	none
	}
	parm {
	    name	map6
	    label	"Texture Map"
	    type	image
	    default	{ "" }
	    export	none
	}
	parm {
	    name	apply6
	    label	"Texture Tints"
	    type	string
	    menu	{
		"a"	"Ambient"
		"d"	"Diffuse"
		"s"	"Specular"
		"r"	"Reflect"
		"o"	"Alpha"
		"do"	"Diff + Alpha"
		"sr"	"Spec + Refl"
		"adsro"	"Everything"
	    }
	    default	{ "d" }
	    export	none
	}
	parm {
	    name	mapmode6
	    label	"Map Tiling"
	    type	string
	    menu	{
		"repeat"	"Repeat"
		"streak"	"Streak Edges"
		"decal"	"Decal"
		"decalz"	"Decal with Z clamping"
	    }
	    callback	"set ext = `substr($script_parm, 7, abs(strcmp($script_parm, mapmode_base))*10)`; opparm . ogl_clamping_mode$ext `strmatch('decal*', chs($script_parm))`"
	    default	{ "repeat" }
	    export	none
	}
	parm {
	    name	smapfilter6
	    label	"S Map Filter"
	    type	string
	    menu	{
		"point"	"Point"
		"box"	"Box Filter"
		"gauss"	"Gaussian Filter"
		"catrom"	"Catmull-Rom"
		"sinc"	"Sinc"
		"bartlett"	"Bartlett"
		"hanning"	"Hanning"
	    }
	    default	{ "box" }
	    export	none
	}
	parm {
	    name	smapblur6
	    label	"S Map Blur"
	    type	float
	    default	{ 1 }
	    range	 { 1 10 }
	    export	none
	}
	parm {
	    name	tmapfilter6
	    label	"T Map Filter"
	    type	string
	    menu	{
		"point"	"Point"
		"box"	"Box Filter"
		"gauss"	"Gaussian Filter"
		"catrom"	"Catmull-Rom"
		"sinc"	"Sinc"
		"bartlett"	"Bartlett"
		"hanning"	"Hanning"
	    }
	    default	{ "box" }
	    export	none
	}
	parm {
	    name	tmapblur6
	    label	"T Map Blur"
	    type	float
	    default	{ 1 }
	    range	 { 1 10 }
	    export	none
	}
	parm {
	    name	Ca6
	    label	"Ambient"
	    type	color
	    size	3
	    default	{ 1 1 1 }
	    export	none
	}
	parm {
	    name	Cd6
	    label	"Diffuse"
	    type	color
	    size	3
	    default	{ 1 1 1 }
	    export	none
	}
	parm {
	    name	Cs6
	    label	"Specular"
	    type	color
	    size	3
	    default	{ 1 1 1 }
	    export	none
	}
	parm {
	    name	Cr6
	    label	"Reflect"
	    type	color
	    size	3
	    default	{ 0 0 0 }
	    export	none
	}
	parm {
	    name	Alpha6
	    label	"Alpha"
	    type	float
	    default	{ 1 }
	    range	 { 0 1 }
	    export	none
	}
	parm {
	    name	project6
	    label	"Texture Source"
	    type	string
	    menu	{
		"uv"	"Geometry Attribute"
		"ortho"	"Orthographic Projection"
		"sphere"	"Polar Projection"
		"cyl"	"Cylindrical Projection"
	    }
	    default	{ "uv" }
	    export	none
	}
	parm {
	    name	uvname6
	    label	" UV Attribute"
	    type	string
	    menu	{
		"uv"	"uv (base layer)"
		"uv2"	"uv2  (layer 2)"
		"uv3"	"uv3  (layer 3)"
		"uv4"	"uv4  (layer 4)"
		"uv5"	"uv5  (layer 5)"
		"uv6"	"uv6  (layer 6)"
		"uv7"	"uv7  (layer 7)"
		"uv8"	"uv8  (layer 8)"
		"uv9"	"uv9  (layer 9)"
		"uv10"	"uv10 (layer 10)"
		"uv11"	"uv11 (layer 11)"
		"uv12"	"uv12 (layer 12)"
		"uv13"	"uv13 (layer 13)"
		"uv14"	"uv14 (layer 14)"
		"uv15"	"uv15 (layer 15)"
		"uv16"	"uv16 (layer 16)"
	    }
	    default	{ "uv6" }
	    export	none
	}
	parm {
	    name	space6
	    label	"Texture Space"
	    type	string
	    menu	{
		"world"	"World Space"
		"object"	"Model Space"
		"shader"	"Shader Space"
		"NDC"	"NDC Space"
	    }
	    default	{ "shader" }
	    export	none
	}
	parm {
	    name	center6
	    label	" Proj Center"
	    type	float
	    size	3
	    default	{ 0 0 0 }
	    export	none
	}
	parm {
	    name	rotate6
	    label	" Proj Rotate"
	    type	float
	    size	3
	    default	{ 0 0 0 }
	    export	none
	}
	parm {
	    name	scale6
	    label	" Proj Scale"
	    type	float
	    size	3
	    default	{ 1 1 1 }
	    export	none
	}
    } // End of Group: 6

    group {
	name	g6
	label	7

	parm {
	    name	comp7
	    label	"Compositing"
	    type	string
	    menu	{
		"add"	"Add"
		"sub"	"Subtract"
		"mult"	"Multiply"
		"over"	"Over"
	    }
	    default	{ "over" }
	    export	none
	}
	parm {
	    name	map7
	    label	"Texture Map"
	    type	image
	    default	{ "" }
	    export	none
	}
	parm {
	    name	apply7
	    label	"Texture Tints"
	    type	string
	    menu	{
		"a"	"Ambient"
		"d"	"Diffuse"
		"s"	"Specular"
		"r"	"Reflect"
		"o"	"Alpha"
		"do"	"Diff + Alpha"
		"sr"	"Spec + Refl"
		"adsro"	"Everything"
	    }
	    default	{ "d" }
	    export	none
	}
	parm {
	    name	mapmode7
	    label	"Map Tiling"
	    type	string
	    menu	{
		"repeat"	"Repeat"
		"streak"	"Streak Edges"
		"decal"	"Decal"
		"decalz"	"Decal with Z clamping"
	    }
	    callback	"set ext = `substr($script_parm, 7, abs(strcmp($script_parm, mapmode_base))*10)`; opparm . ogl_clamping_mode$ext `strmatch('decal*', chs($script_parm))`"
	    default	{ "repeat" }
	    export	none
	}
	parm {
	    name	smapfilter7
	    label	"S Map Filter"
	    type	string
	    menu	{
		"point"	"Point"
		"box"	"Box Filter"
		"gauss"	"Gaussian Filter"
		"catrom"	"Catmull-Rom"
		"sinc"	"Sinc"
		"bartlett"	"Bartlett"
		"hanning"	"Hanning"
	    }
	    default	{ "box" }
	    export	none
	}
	parm {
	    name	smapblur7
	    label	"S Map Blur"
	    type	float
	    default	{ 1 }
	    range	 { 1 10 }
	    export	none
	}
	parm {
	    name	tmapfilter7
	    label	"T Map Filter"
	    type	string
	    menu	{
		"point"	"Point"
		"box"	"Box Filter"
		"gauss"	"Gaussian Filter"
		"catrom"	"Catmull-Rom"
		"sinc"	"Sinc"
		"bartlett"	"Bartlett"
		"hanning"	"Hanning"
	    }
	    default	{ "box" }
	    export	none
	}
	parm {
	    name	tmapblur7
	    label	"T Map Blur"
	    type	float
	    default	{ 1 }
	    range	 { 1 10 }
	    export	none
	}
	parm {
	    name	Ca7
	    label	"Ambient"
	    type	color
	    size	3
	    default	{ 1 1 1 }
	    export	none
	}
	parm {
	    name	Cd7
	    label	"Diffuse"
	    type	color
	    size	3
	    default	{ 1 1 1 }
	    export	none
	}
	parm {
	    name	Cs7
	    label	"Specular"
	    type	color
	    size	3
	    default	{ 1 1 1 }
	    export	none
	}
	parm {
	    name	Cr7
	    label	"Reflect"
	    type	color
	    size	3
	    default	{ 0 0 0 }
	    export	none
	}
	parm {
	    name	Alpha7
	    label	"Alpha"
	    type	float
	    default	{ 1 }
	    range	 { 0 1 }
	    export	none
	}
	parm {
	    name	project7
	    label	"Texture Source"
	    type	string
	    menu	{
		"uv"	"Geometry Attribute"
		"ortho"	"Orthographic Projection"
		"sphere"	"Polar Projection"
		"cyl"	"Cylindrical Projection"
	    }
	    default	{ "uv" }
	    export	none
	}
	parm {
	    name	uvname7
	    label	" UV Attribute"
	    type	string
	    menu	{
		"uv"	"uv (base layer)"
		"uv2"	"uv2  (layer 2)"
		"uv3"	"uv3  (layer 3)"
		"uv4"	"uv4  (layer 4)"
		"uv5"	"uv5  (layer 5)"
		"uv6"	"uv6  (layer 6)"
		"uv7"	"uv7  (layer 7)"
		"uv8"	"uv8  (layer 8)"
		"uv9"	"uv9  (layer 9)"
		"uv10"	"uv10 (layer 10)"
		"uv11"	"uv11 (layer 11)"
		"uv12"	"uv12 (layer 12)"
		"uv13"	"uv13 (layer 13)"
		"uv14"	"uv14 (layer 14)"
		"uv15"	"uv15 (layer 15)"
		"uv16"	"uv16 (layer 16)"
	    }
	    default	{ "uv7" }
	    export	none
	}
	parm {
	    name	space7
	    label	"Texture Space"
	    type	string
	    menu	{
		"world"	"World Space"
		"object"	"Model Space"
		"shader"	"Shader Space"
		"NDC"	"NDC Space"
	    }
	    default	{ "shader" }
	    export	none
	}
	parm {
	    name	center7
	    label	" Proj Center"
	    type	float
	    size	3
	    default	{ 0 0 0 }
	    export	none
	}
	parm {
	    name	rotate7
	    label	" Proj Rotate"
	    type	float
	    size	3
	    default	{ 0 0 0 }
	    export	none
	}
	parm {
	    name	scale7
	    label	" Proj Scale"
	    type	float
	    size	3
	    default	{ 1 1 1 }
	    export	none
	}
    } // End of Group: 7

    group {
	name	g7
	label	8

	parm {
	    name	comp8
	    label	"Compositing"
	    type	string
	    menu	{
		"add"	"Add"
		"sub"	"Subtract"
		"mult"	"Multiply"
		"over"	"Over"
	    }
	    default	{ "over" }
	    export	none
	}
	parm {
	    name	map8
	    label	"Texture Map"
	    type	image
	    default	{ "" }
	    export	none
	}
	parm {
	    name	apply8
	    label	"Texture Tints"
	    type	string
	    menu	{
		"a"	"Ambient"
		"d"	"Diffuse"
		"s"	"Specular"
		"r"	"Reflect"
		"o"	"Alpha"
		"do"	"Diff + Alpha"
		"sr"	"Spec + Refl"
		"adsro"	"Everything"
	    }
	    default	{ "d" }
	    export	none
	}
	parm {
	    name	mapmode8
	    label	"Map Tiling"
	    type	string
	    menu	{
		"repeat"	"Repeat"
		"streak"	"Streak Edges"
		"decal"	"Decal"
		"decalz"	"Decal with Z clamping"
	    }
	    callback	"set ext = `substr($script_parm, 7, abs(strcmp($script_parm, mapmode_base))*10)`; opparm . ogl_clamping_mode$ext `strmatch('decal*', chs($script_parm))`"
	    default	{ "repeat" }
	    export	none
	}
	parm {
	    name	smapfilter8
	    label	"S Map Filter"
	    type	string
	    menu	{
		"point"	"Point"
		"box"	"Box Filter"
		"gauss"	"Gaussian Filter"
		"catrom"	"Catmull-Rom"
		"sinc"	"Sinc"
		"bartlett"	"Bartlett"
		"hanning"	"Hanning"
	    }
	    default	{ "box" }
	    export	none
	}
	parm {
	    name	smapblur8
	    label	"S Map Blur"
	    type	float
	    default	{ 1 }
	    range	 { 1 10 }
	    export	none
	}
	parm {
	    name	tmapfilter8
	    label	"T Map Filter"
	    type	string
	    menu	{
		"point"	"Point"
		"box"	"Box Filter"
		"gauss"	"Gaussian Filter"
		"catrom"	"Catmull-Rom"
		"sinc"	"Sinc"
		"bartlett"	"Bartlett"
		"hanning"	"Hanning"
	    }
	    default	{ "box" }
	    export	none
	}
	parm {
	    name	tmapblur8
	    label	"T Map Blur"
	    type	float
	    default	{ 1 }
	    range	 { 1 10 }
	    export	none
	}
	parm {
	    name	Ca8
	    label	"Ambient"
	    type	color
	    size	3
	    default	{ 1 1 1 }
	    export	none
	}
	parm {
	    name	Cd8
	    label	"Diffuse"
	    type	color
	    size	3
	    default	{ 1 1 1 }
	    export	none
	}
	parm {
	    name	Cs8
	    label	"Specular"
	    type	color
	    size	3
	    default	{ 1 1 1 }
	    export	none
	}
	parm {
	    name	Cr8
	    label	"Reflect"
	    type	color
	    size	3
	    default	{ 0 0 0 }
	    export	none
	}
	parm {
	    name	Alpha8
	    label	"Alpha"
	    type	float
	    default	{ 1 }
	    range	 { 0 1 }
	    export	none
	}
	parm {
	    name	project8
	    label	"Texture Source"
	    type	string
	    menu	{
		"uv"	"Geometry Attribute"
		"ortho"	"Orthographic Projection"
		"sphere"	"Polar Projection"
		"cyl"	"Cylindrical Projection"
	    }
	    default	{ "uv" }
	    export	none
	}
	parm {
	    name	uvname8
	    label	" UV Attribute"
	    type	string
	    menu	{
		"uv"	"uv (base layer)"
		"uv2"	"uv2  (layer 2)"
		"uv3"	"uv3  (layer 3)"
		"uv4"	"uv4  (layer 4)"
		"uv5"	"uv5  (layer 5)"
		"uv6"	"uv6  (layer 6)"
		"uv7"	"uv7  (layer 7)"
		"uv8"	"uv8  (layer 8)"
		"uv9"	"uv9  (layer 9)"
		"uv10"	"uv10 (layer 10)"
		"uv11"	"uv11 (layer 11)"
		"uv12"	"uv12 (layer 12)"
		"uv13"	"uv13 (layer 13)"
		"uv14"	"uv14 (layer 14)"
		"uv15"	"uv15 (layer 15)"
		"uv16"	"uv16 (layer 16)"
	    }
	    default	{ "uv8" }
	    export	none
	}
	parm {
	    name	space8
	    label	"Texture Space"
	    type	string
	    menu	{
		"world"	"World Space"
		"object"	"Model Space"
		"shader"	"Shader Space"
		"NDC"	"NDC Space"
	    }
	    default	{ "shader" }
	    export	none
	}
	parm {
	    name	center8
	    label	" Proj Center"
	    type	float
	    size	3
	    default	{ 0 0 0 }
	    export	none
	}
	parm {
	    name	rotate8
	    label	" Proj Rotate"
	    type	float
	    size	3
	    default	{ 0 0 0 }
	    export	none
	}
	parm {
	    name	scale8
	    label	" Proj Scale"
	    type	float
	    size	3
	    default	{ 1 1 1 }
	    export	none
	}
    } // End of Group: 8

    group {
	name	g8
	label	9

	parm {
	    name	comp9
	    label	"Compositing"
	    type	string
	    menu	{
		"add"	"Add"
		"sub"	"Subtract"
		"mult"	"Multiply"
		"over"	"Over"
	    }
	    default	{ "over" }
	    export	none
	}
	parm {
	    name	map9
	    label	"Texture Map"
	    type	image
	    default	{ "" }
	    export	none
	}
	parm {
	    name	apply9
	    label	"Texture Tints"
	    type	string
	    menu	{
		"a"	"Ambient"
		"d"	"Diffuse"
		"s"	"Specular"
		"r"	"Reflect"
		"o"	"Alpha"
		"do"	"Diff + Alpha"
		"sr"	"Spec + Refl"
		"adsro"	"Everything"
	    }
	    default	{ "d" }
	    export	none
	}
	parm {
	    name	mapmode9
	    label	"Map Tiling"
	    type	string
	    menu	{
		"repeat"	"Repeat"
		"streak"	"Streak Edges"
		"decal"	"Decal"
		"decalz"	"Decal with Z clamping"
	    }
	    callback	"set ext = `substr($script_parm, 7, abs(strcmp($script_parm, mapmode_base))*10)`; opparm . ogl_clamping_mode$ext `strmatch('decal*', chs($script_parm))`"
	    default	{ "repeat" }
	    export	none
	}
	parm {
	    name	smapfilter9
	    label	"S Map Filter"
	    type	string
	    menu	{
		"point"	"Point"
		"box"	"Box Filter"
		"gauss"	"Gaussian Filter"
		"catrom"	"Catmull-Rom"
		"sinc"	"Sinc"
		"bartlett"	"Bartlett"
		"hanning"	"Hanning"
	    }
	    default	{ "box" }
	    export	none
	}
	parm {
	    name	smapblur9
	    label	"S Map Blur"
	    type	float
	    default	{ 1 }
	    range	 { 1 10 }
	    export	none
	}
	parm {
	    name	tmapfilter9
	    label	"T Map Filter"
	    type	string
	    menu	{
		"point"	"Point"
		"box"	"Box Filter"
		"gauss"	"Gaussian Filter"
		"catrom"	"Catmull-Rom"
		"sinc"	"Sinc"
		"bartlett"	"Bartlett"
		"hanning"	"Hanning"
	    }
	    default	{ "box" }
	    export	none
	}
	parm {
	    name	tmapblur9
	    label	"T Map Blur"
	    type	float
	    default	{ 1 }
	    range	 { 1 10 }
	    export	none
	}
	parm {
	    name	Ca9
	    label	"Ambient"
	    type	color
	    size	3
	    default	{ 1 1 1 }
	    export	none
	}
	parm {
	    name	Cd9
	    label	"Diffuse"
	    type	color
	    size	3
	    default	{ 1 1 1 }
	    export	none
	}
	parm {
	    name	Cs9
	    label	"Specular"
	    type	color
	    size	3
	    default	{ 1 1 1 }
	    export	none
	}
	parm {
	    name	Cr9
	    label	"Reflect"
	    type	color
	    size	3
	    default	{ 0 0 0 }
	    export	none
	}
	parm {
	    name	Alpha9
	    label	"Alpha"
	    type	float
	    default	{ 1 }
	    range	 { 0 1 }
	    export	none
	}
	parm {
	    name	project9
	    label	"Texture Source"
	    type	string
	    menu	{
		"uv"	"Geometry Attribute"
		"ortho"	"Orthographic Projection"
		"sphere"	"Polar Projection"
		"cyl"	"Cylindrical Projection"
	    }
	    default	{ "uv" }
	    export	none
	}
	parm {
	    name	uvname9
	    label	" UV Attribute"
	    type	string
	    menu	{
		"uv"	"uv (base layer)"
		"uv2"	"uv2  (layer 2)"
		"uv3"	"uv3  (layer 3)"
		"uv4"	"uv4  (layer 4)"
		"uv5"	"uv5  (layer 5)"
		"uv6"	"uv6  (layer 6)"
		"uv7"	"uv7  (layer 7)"
		"uv8"	"uv8  (layer 8)"
		"uv9"	"uv9  (layer 9)"
		"uv10"	"uv10 (layer 10)"
		"uv11"	"uv11 (layer 11)"
		"uv12"	"uv12 (layer 12)"
		"uv13"	"uv13 (layer 13)"
		"uv14"	"uv14 (layer 14)"
		"uv15"	"uv15 (layer 15)"
		"uv16"	"uv16 (layer 16)"
	    }
	    default	{ "uv9" }
	    export	none
	}
	parm {
	    name	space9
	    label	"Texture Space"
	    type	string
	    menu	{
		"world"	"World Space"
		"object"	"Model Space"
		"shader"	"Shader Space"
		"NDC"	"NDC Space"
	    }
	    default	{ "shader" }
	    export	none
	}
	parm {
	    name	center9
	    label	" Proj Center"
	    type	float
	    size	3
	    default	{ 0 0 0 }
	    export	none
	}
	parm {
	    name	rotate9
	    label	" Proj Rotate"
	    type	float
	    size	3
	    default	{ 0 0 0 }
	    export	none
	}
	parm {
	    name	scale9
	    label	" Proj Scale"
	    type	float
	    size	3
	    default	{ 1 1 1 }
	    export	none
	}
    } // End of Group: 9

    group {
	name	g9
	label	10

	parm {
	    name	comp10
	    label	"Compositing"
	    type	string
	    menu	{
		"add"	"Add"
		"sub"	"Subtract"
		"mult"	"Multiply"
		"over"	"Over"
	    }
	    default	{ "over" }
	    export	none
	}
	parm {
	    name	map10
	    label	"Texture Map"
	    type	image
	    default	{ "" }
	    export	none
	}
	parm {
	    name	apply10
	    label	"Texture Tints"
	    type	string
	    menu	{
		"a"	"Ambient"
		"d"	"Diffuse"
		"s"	"Specular"
		"r"	"Reflect"
		"o"	"Alpha"
		"do"	"Diff + Alpha"
		"sr"	"Spec + Refl"
		"adsro"	"Everything"
	    }
	    default	{ "d" }
	    export	none
	}
	parm {
	    name	mapmode10
	    label	"Map Tiling"
	    type	string
	    menu	{
		"repeat"	"Repeat"
		"streak"	"Streak Edges"
		"decal"	"Decal"
		"decalz"	"Decal with Z clamping"
	    }
	    callback	"set ext = `substr($script_parm, 7, abs(strcmp($script_parm, mapmode_base))*10)`; opparm . ogl_clamping_mode$ext `strmatch('decal*', chs($script_parm))`"
	    default	{ "repeat" }
	    export	none
	}
	parm {
	    name	smapfilter10
	    label	"S Map Filter"
	    type	string
	    menu	{
		"point"	"Point"
		"box"	"Box Filter"
		"gauss"	"Gaussian Filter"
		"catrom"	"Catmull-Rom"
		"sinc"	"Sinc"
		"bartlett"	"Bartlett"
		"hanning"	"Hanning"
	    }
	    default	{ "box" }
	    export	none
	}
	parm {
	    name	smapblur10
	    label	"S Map Blur"
	    type	float
	    default	{ 1 }
	    range	 { 1 10 }
	    export	none
	}
	parm {
	    name	tmapfilter10
	    label	"T Map Filter"
	    type	string
	    menu	{
		"point"	"Point"
		"box"	"Box Filter"
		"gauss"	"Gaussian Filter"
		"catrom"	"Catmull-Rom"
		"sinc"	"Sinc"
		"bartlett"	"Bartlett"
		"hanning"	"Hanning"
	    }
	    default	{ "box" }
	    export	none
	}
	parm {
	    name	tmapblur10
	    label	"T Map Blur"
	    type	float
	    default	{ 1 }
	    range	 { 1 10 }
	    export	none
	}
	parm {
	    name	Ca10
	    label	"Ambient"
	    type	color
	    size	3
	    default	{ 1 1 1 }
	    export	none
	}
	parm {
	    name	Cd10
	    label	"Diffuse"
	    type	color
	    size	3
	    default	{ 1 1 1 }
	    export	none
	}
	parm {
	    name	Cs10
	    label	"Specular"
	    type	color
	    size	3
	    default	{ 1 1 1 }
	    export	none
	}
	parm {
	    name	Cr10
	    label	"Reflect"
	    type	color
	    size	3
	    default	{ 0 0 0 }
	    export	none
	}
	parm {
	    name	Alpha10
	    label	"Alpha"
	    type	float
	    default	{ 1 }
	    range	 { 0 1 }
	    export	none
	}
	parm {
	    name	project10
	    label	"Texture Source"
	    type	string
	    menu	{
		"uv"	"Geometry Attribute"
		"ortho"	"Orthographic Projection"
		"sphere"	"Polar Projection"
		"cyl"	"Cylindrical Projection"
	    }
	    default	{ "uv" }
	    export	none
	}
	parm {
	    name	uvname10
	    label	" UV Attribute"
	    type	string
	    menu	{
		"uv"	"uv (base layer)"
		"uv2"	"uv2  (layer 2)"
		"uv3"	"uv3  (layer 3)"
		"uv4"	"uv4  (layer 4)"
		"uv5"	"uv5  (layer 5)"
		"uv6"	"uv6  (layer 6)"
		"uv7"	"uv7  (layer 7)"
		"uv8"	"uv8  (layer 8)"
		"uv9"	"uv9  (layer 9)"
		"uv10"	"uv10 (layer 10)"
		"uv11"	"uv11 (layer 11)"
		"uv12"	"uv12 (layer 12)"
		"uv13"	"uv13 (layer 13)"
		"uv14"	"uv14 (layer 14)"
		"uv15"	"uv15 (layer 15)"
		"uv16"	"uv16 (layer 16)"
	    }
	    default	{ "uv10" }
	    export	none
	}
	parm {
	    name	space10
	    label	"Texture Space"
	    type	string
	    menu	{
		"world"	"World Space"
		"object"	"Model Space"
		"shader"	"Shader Space"
		"NDC"	"NDC Space"
	    }
	    default	{ "shader" }
	    export	none
	}
	parm {
	    name	center10
	    label	" Proj Center"
	    type	float
	    size	3
	    default	{ 0 0 0 }
	    export	none
	}
	parm {
	    name	rotate10
	    label	" Proj Rotate"
	    type	float
	    size	3
	    default	{ 0 0 0 }
	    export	none
	}
	parm {
	    name	scale10
	    label	" Proj Scale"
	    type	float
	    size	3
	    default	{ 1 1 1 }
	    export	none
	}
    } // End of Group: 10

    group {
	name	g10
	label	11

	parm {
	    name	comp11
	    label	"Compositing"
	    type	string
	    menu	{
		"add"	"Add"
		"sub"	"Subtract"
		"mult"	"Multiply"
		"over"	"Over"
	    }
	    default	{ "over" }
	    export	none
	}
	parm {
	    name	map11
	    label	"Texture Map"
	    type	image
	    default	{ "" }
	    export	none
	}
	parm {
	    name	apply11
	    label	"Texture Tints"
	    type	string
	    menu	{
		"a"	"Ambient"
		"d"	"Diffuse"
		"s"	"Specular"
		"r"	"Reflect"
		"o"	"Alpha"
		"do"	"Diff + Alpha"
		"sr"	"Spec + Refl"
		"adsro"	"Everything"
	    }
	    default	{ "d" }
	    export	none
	}
	parm {
	    name	mapmode11
	    label	"Map Tiling"
	    type	string
	    menu	{
		"repeat"	"Repeat"
		"streak"	"Streak Edges"
		"decal"	"Decal"
		"decalz"	"Decal with Z clamping"
	    }
	    callback	"set ext = `substr($script_parm, 7, abs(strcmp($script_parm, mapmode_base))*10)`; opparm . ogl_clamping_mode$ext `strmatch('decal*', chs($script_parm))`"
	    default	{ "repeat" }
	    export	none
	}
	parm {
	    name	smapfilter11
	    label	"S Map Filter"
	    type	string
	    menu	{
		"point"	"Point"
		"box"	"Box Filter"
		"gauss"	"Gaussian Filter"
		"catrom"	"Catmull-Rom"
		"sinc"	"Sinc"
		"bartlett"	"Bartlett"
		"hanning"	"Hanning"
	    }
	    default	{ "box" }
	    export	none
	}
	parm {
	    name	smapblur11
	    label	"S Map Blur"
	    type	float
	    default	{ 1 }
	    range	 { 1 10 }
	    export	none
	}
	parm {
	    name	tmapfilter11
	    label	"T Map Filter"
	    type	string
	    menu	{
		"point"	"Point"
		"box"	"Box Filter"
		"gauss"	"Gaussian Filter"
		"catrom"	"Catmull-Rom"
		"sinc"	"Sinc"
		"bartlett"	"Bartlett"
		"hanning"	"Hanning"
	    }
	    default	{ "box" }
	    export	none
	}
	parm {
	    name	tmapblur11
	    label	"T Map Blur"
	    type	float
	    default	{ 1 }
	    range	 { 1 10 }
	    export	none
	}
	parm {
	    name	Ca11
	    label	"Ambient"
	    type	color
	    size	3
	    default	{ 1 1 1 }
	    export	none
	}
	parm {
	    name	Cd11
	    label	"Diffuse"
	    type	color
	    size	3
	    default	{ 1 1 1 }
	    export	none
	}
	parm {
	    name	Cs11
	    label	"Specular"
	    type	color
	    size	3
	    default	{ 1 1 1 }
	    export	none
	}
	parm {
	    name	Cr11
	    label	"Reflect"
	    type	color
	    size	3
	    default	{ 0 0 0 }
	    export	none
	}
	parm {
	    name	Alpha11
	    label	"Alpha"
	    type	float
	    default	{ 1 }
	    range	 { 0 1 }
	    export	none
	}
	parm {
	    name	project11
	    label	"Texture Source"
	    type	string
	    menu	{
		"uv"	"Geometry Attribute"
		"ortho"	"Orthographic Projection"
		"sphere"	"Polar Projection"
		"cyl"	"Cylindrical Projection"
	    }
	    default	{ "uv" }
	    export	none
	}
	parm {
	    name	uvname11
	    label	" UV Attribute"
	    type	string
	    menu	{
		"uv"	"uv (base layer)"
		"uv2"	"uv2  (layer 2)"
		"uv3"	"uv3  (layer 3)"
		"uv4"	"uv4  (layer 4)"
		"uv5"	"uv5  (layer 5)"
		"uv6"	"uv6  (layer 6)"
		"uv7"	"uv7  (layer 7)"
		"uv8"	"uv8  (layer 8)"
		"uv9"	"uv9  (layer 9)"
		"uv10"	"uv10 (layer 10)"
		"uv11"	"uv11 (layer 11)"
		"uv12"	"uv12 (layer 12)"
		"uv13"	"uv13 (layer 13)"
		"uv14"	"uv14 (layer 14)"
		"uv15"	"uv15 (layer 15)"
		"uv16"	"uv16 (layer 16)"
	    }
	    default	{ "uv11" }
	    export	none
	}
	parm {
	    name	space11
	    label	"Texture Space"
	    type	string
	    menu	{
		"world"	"World Space"
		"object"	"Model Space"
		"shader"	"Shader Space"
		"NDC"	"NDC Space"
	    }
	    default	{ "shader" }
	    export	none
	}
	parm {
	    name	center11
	    label	" Proj Center"
	    type	float
	    size	3
	    default	{ 0 0 0 }
	    export	none
	}
	parm {
	    name	rotate11
	    label	" Proj Rotate"
	    type	float
	    size	3
	    default	{ 0 0 0 }
	    export	none
	}
	parm {
	    name	scale11
	    label	" Proj Scale"
	    type	float
	    size	3
	    default	{ 1 1 1 }
	    export	none
	}
    } // End of Group: 11

    group {
	name	g11
	label	12

	parm {
	    name	comp12
	    label	"Compositing"
	    type	string
	    menu	{
		"add"	"Add"
		"sub"	"Subtract"
		"mult"	"Multiply"
		"over"	"Over"
	    }
	    default	{ "over" }
	    export	none
	}
	parm {
	    name	map12
	    label	"Texture Map"
	    type	image
	    default	{ "" }
	    export	none
	}
	parm {
	    name	apply12
	    label	"Texture Tints"
	    type	string
	    menu	{
		"a"	"Ambient"
		"d"	"Diffuse"
		"s"	"Specular"
		"r"	"Reflect"
		"o"	"Alpha"
		"do"	"Diff + Alpha"
		"sr"	"Spec + Refl"
		"adsro"	"Everything"
	    }
	    default	{ "d" }
	    export	none
	}
	parm {
	    name	mapmode12
	    label	"Map Tiling"
	    type	string
	    menu	{
		"repeat"	"Repeat"
		"streak"	"Streak Edges"
		"decal"	"Decal"
		"decalz"	"Decal with Z clamping"
	    }
	    callback	"set ext = `substr($script_parm, 7, abs(strcmp($script_parm, mapmode_base))*10)`; opparm . ogl_clamping_mode$ext `strmatch('decal*', chs($script_parm))`"
	    default	{ "repeat" }
	    export	none
	}
	parm {
	    name	smapfilter12
	    label	"S Map Filter"
	    type	string
	    menu	{
		"point"	"Point"
		"box"	"Box Filter"
		"gauss"	"Gaussian Filter"
		"catrom"	"Catmull-Rom"
		"sinc"	"Sinc"
		"bartlett"	"Bartlett"
		"hanning"	"Hanning"
	    }
	    default	{ "box" }
	    export	none
	}
	parm {
	    name	smapblur12
	    label	"S Map Blur"
	    type	float
	    default	{ 1 }
	    range	 { 1 10 }
	    export	none
	}
	parm {
	    name	tmapfilter12
	    label	"T Map Filter"
	    type	string
	    menu	{
		"point"	"Point"
		"box"	"Box Filter"
		"gauss"	"Gaussian Filter"
		"catrom"	"Catmull-Rom"
		"sinc"	"Sinc"
		"bartlett"	"Bartlett"
		"hanning"	"Hanning"
	    }
	    default	{ "box" }
	    export	none
	}
	parm {
	    name	tmapblur12
	    label	"T Map Blur"
	    type	float
	    default	{ 1 }
	    range	 { 1 10 }
	    export	none
	}
	parm {
	    name	Ca12
	    label	"Ambient"
	    type	color
	    size	3
	    default	{ 1 1 1 }
	    export	none
	}
	parm {
	    name	Cd12
	    label	"Diffuse"
	    type	color
	    size	3
	    default	{ 1 1 1 }
	    export	none
	}
	parm {
	    name	Cs12
	    label	"Specular"
	    type	color
	    size	3
	    default	{ 1 1 1 }
	    export	none
	}
	parm {
	    name	Cr12
	    label	"Reflect"
	    type	color
	    size	3
	    default	{ 0 0 0 }
	    export	none
	}
	parm {
	    name	Alpha12
	    label	"Alpha"
	    type	float
	    default	{ 1 }
	    range	 { 0 1 }
	    export	none
	}
	parm {
	    name	project12
	    label	"Texture Source"
	    type	string
	    menu	{
		"uv"	"Geometry Attribute"
		"ortho"	"Orthographic Projection"
		"sphere"	"Polar Projection"
		"cyl"	"Cylindrical Projection"
	    }
	    default	{ "uv" }
	    export	none
	}
	parm {
	    name	uvname12
	    label	" UV Attribute"
	    type	string
	    menu	{
		"uv"	"uv (base layer)"
		"uv2"	"uv2  (layer 2)"
		"uv3"	"uv3  (layer 3)"
		"uv4"	"uv4  (layer 4)"
		"uv5"	"uv5  (layer 5)"
		"uv6"	"uv6  (layer 6)"
		"uv7"	"uv7  (layer 7)"
		"uv8"	"uv8  (layer 8)"
		"uv9"	"uv9  (layer 9)"
		"uv10"	"uv10 (layer 10)"
		"uv11"	"uv11 (layer 11)"
		"uv12"	"uv12 (layer 12)"
		"uv13"	"uv13 (layer 13)"
		"uv14"	"uv14 (layer 14)"
		"uv15"	"uv15 (layer 15)"
		"uv16"	"uv16 (layer 16)"
	    }
	    default	{ "uv12" }
	    export	none
	}
	parm {
	    name	space12
	    label	"Texture Space"
	    type	string
	    menu	{
		"world"	"World Space"
		"object"	"Model Space"
		"shader"	"Shader Space"
		"NDC"	"NDC Space"
	    }
	    default	{ "shader" }
	    export	none
	}
	parm {
	    name	center12
	    label	" Proj Center"
	    type	float
	    size	3
	    default	{ 0 0 0 }
	    export	none
	}
	parm {
	    name	rotate12
	    label	" Proj Rotate"
	    type	float
	    size	3
	    default	{ 0 0 0 }
	    export	none
	}
	parm {
	    name	scale12
	    label	" Proj Scale"
	    type	float
	    size	3
	    default	{ 1 1 1 }
	    export	none
	}
    } // End of Group: 12

    group {
	name	g12
	label	13

	parm {
	    name	comp13
	    label	"Compositing"
	    type	string
	    menu	{
		"add"	"Add"
		"sub"	"Subtract"
		"mult"	"Multiply"
		"over"	"Over"
	    }
	    default	{ "over" }
	    export	none
	}
	parm {
	    name	map13
	    label	"Texture Map"
	    type	image
	    default	{ "" }
	    export	none
	}
	parm {
	    name	apply13
	    label	"Texture Tints"
	    type	string
	    menu	{
		"a"	"Ambient"
		"d"	"Diffuse"
		"s"	"Specular"
		"r"	"Reflect"
		"o"	"Alpha"
		"do"	"Diff + Alpha"
		"sr"	"Spec + Refl"
		"adsro"	"Everything"
	    }
	    default	{ "d" }
	    export	none
	}
	parm {
	    name	mapmode13
	    label	"Map Tiling"
	    type	string
	    menu	{
		"repeat"	"Repeat"
		"streak"	"Streak Edges"
		"decal"	"Decal"
		"decalz"	"Decal with Z clamping"
	    }
	    callback	"set ext = `substr($script_parm, 7, abs(strcmp($script_parm, mapmode_base))*10)`; opparm . ogl_clamping_mode$ext `strmatch('decal*', chs($script_parm))`"
	    default	{ "repeat" }
	    export	none
	}
	parm {
	    name	smapfilter13
	    label	"S Map Filter"
	    type	string
	    menu	{
		"point"	"Point"
		"box"	"Box Filter"
		"gauss"	"Gaussian Filter"
		"catrom"	"Catmull-Rom"
		"sinc"	"Sinc"
		"bartlett"	"Bartlett"
		"hanning"	"Hanning"
	    }
	    default	{ "box" }
	    export	none
	}
	parm {
	    name	smapblur13
	    label	"S Map Blur"
	    type	float
	    default	{ 1 }
	    range	 { 1 10 }
	    export	none
	}
	parm {
	    name	tmapfilter13
	    label	"T Map Filter"
	    type	string
	    menu	{
		"point"	"Point"
		"box"	"Box Filter"
		"gauss"	"Gaussian Filter"
		"catrom"	"Catmull-Rom"
		"sinc"	"Sinc"
		"bartlett"	"Bartlett"
		"hanning"	"Hanning"
	    }
	    default	{ "box" }
	    export	none
	}
	parm {
	    name	tmapblur13
	    label	"T Map Blur"
	    type	float
	    default	{ 1 }
	    range	 { 1 10 }
	    export	none
	}
	parm {
	    name	Ca13
	    label	"Ambient"
	    type	color
	    size	3
	    default	{ 1 1 1 }
	    export	none
	}
	parm {
	    name	Cd13
	    label	"Diffuse"
	    type	color
	    size	3
	    default	{ 1 1 1 }
	    export	none
	}
	parm {
	    name	Cs13
	    label	"Specular"
	    type	color
	    size	3
	    default	{ 1 1 1 }
	    export	none
	}
	parm {
	    name	Cr13
	    label	"Reflect"
	    type	color
	    size	3
	    default	{ 0 0 0 }
	    export	none
	}
	parm {
	    name	Alpha13
	    label	"Alpha"
	    type	float
	    default	{ 1 }
	    range	 { 0 1 }
	    export	none
	}
	parm {
	    name	project13
	    label	"Texture Source"
	    type	string
	    menu	{
		"uv"	"Geometry Attribute"
		"ortho"	"Orthographic Projection"
		"sphere"	"Polar Projection"
		"cyl"	"Cylindrical Projection"
	    }
	    default	{ "uv" }
	    export	none
	}
	parm {
	    name	uvname13
	    label	" UV Attribute"
	    type	string
	    menu	{
		"uv"	"uv (base layer)"
		"uv2"	"uv2  (layer 2)"
		"uv3"	"uv3  (layer 3)"
		"uv4"	"uv4  (layer 4)"
		"uv5"	"uv5  (layer 5)"
		"uv6"	"uv6  (layer 6)"
		"uv7"	"uv7  (layer 7)"
		"uv8"	"uv8  (layer 8)"
		"uv9"	"uv9  (layer 9)"
		"uv10"	"uv10 (layer 10)"
		"uv11"	"uv11 (layer 11)"
		"uv12"	"uv12 (layer 12)"
		"uv13"	"uv13 (layer 13)"
		"uv14"	"uv14 (layer 14)"
		"uv15"	"uv15 (layer 15)"
		"uv16"	"uv16 (layer 16)"
	    }
	    default	{ "uv13" }
	    export	none
	}
	parm {
	    name	space13
	    label	"Texture Space"
	    type	string
	    menu	{
		"world"	"World Space"
		"object"	"Model Space"
		"shader"	"Shader Space"
		"NDC"	"NDC Space"
	    }
	    default	{ "shader" }
	    export	none
	}
	parm {
	    name	center13
	    label	" Proj Center"
	    type	float
	    size	3
	    default	{ 0 0 0 }
	    export	none
	}
	parm {
	    name	rotate13
	    label	" Proj Rotate"
	    type	float
	    size	3
	    default	{ 0 0 0 }
	    export	none
	}
	parm {
	    name	scale13
	    label	" Proj Scale"
	    type	float
	    size	3
	    default	{ 1 1 1 }
	    export	none
	}
    } // End of Group: 13

    group {
	name	g13
	label	14

	parm {
	    name	comp14
	    label	"Compositing"
	    type	string
	    menu	{
		"add"	"Add"
		"sub"	"Subtract"
		"mult"	"Multiply"
		"over"	"Over"
	    }
	    default	{ "over" }
	    export	none
	}
	parm {
	    name	map14
	    label	"Texture Map"
	    type	image
	    default	{ "" }
	    export	none
	}
	parm {
	    name	apply14
	    label	"Texture Tints"
	    type	string
	    menu	{
		"a"	"Ambient"
		"d"	"Diffuse"
		"s"	"Specular"
		"r"	"Reflect"
		"o"	"Alpha"
		"do"	"Diff + Alpha"
		"sr"	"Spec + Refl"
		"adsro"	"Everything"
	    }
	    default	{ "d" }
	    export	none
	}
	parm {
	    name	mapmode14
	    label	"Map Tiling"
	    type	string
	    menu	{
		"repeat"	"Repeat"
		"streak"	"Streak Edges"
		"decal"	"Decal"
		"decalz"	"Decal with Z clamping"
	    }
	    callback	"set ext = `substr($script_parm, 7, abs(strcmp($script_parm, mapmode_base))*10)`; opparm . ogl_clamping_mode$ext `strmatch('decal*', chs($script_parm))`"
	    default	{ "repeat" }
	    export	none
	}
	parm {
	    name	smapfilter14
	    label	"S Map Filter"
	    type	string
	    menu	{
		"point"	"Point"
		"box"	"Box Filter"
		"gauss"	"Gaussian Filter"
		"catrom"	"Catmull-Rom"
		"sinc"	"Sinc"
		"bartlett"	"Bartlett"
		"hanning"	"Hanning"
	    }
	    default	{ "box" }
	    export	none
	}
	parm {
	    name	smapblur14
	    label	"S Map Blur"
	    type	float
	    default	{ 1 }
	    range	 { 1 10 }
	    export	none
	}
	parm {
	    name	tmapfilter14
	    label	"T Map Filter"
	    type	string
	    menu	{
		"point"	"Point"
		"box"	"Box Filter"
		"gauss"	"Gaussian Filter"
		"catrom"	"Catmull-Rom"
		"sinc"	"Sinc"
		"bartlett"	"Bartlett"
		"hanning"	"Hanning"
	    }
	    default	{ "box" }
	    export	none
	}
	parm {
	    name	tmapblur14
	    label	"T Map Blur"
	    type	float
	    default	{ 1 }
	    range	 { 1 10 }
	    export	none
	}
	parm {
	    name	Ca14
	    label	"Ambient"
	    type	color
	    size	3
	    default	{ 1 1 1 }
	    export	none
	}
	parm {
	    name	Cd14
	    label	"Diffuse"
	    type	color
	    size	3
	    default	{ 1 1 1 }
	    export	none
	}
	parm {
	    name	Cs14
	    label	"Specular"
	    type	color
	    size	3
	    default	{ 1 1 1 }
	    export	none
	}
	parm {
	    name	Cr14
	    label	"Reflect"
	    type	color
	    size	3
	    default	{ 0 0 0 }
	    export	none
	}
	parm {
	    name	Alpha14
	    label	"Alpha"
	    type	float
	    default	{ 1 }
	    range	 { 0 1 }
	    export	none
	}
	parm {
	    name	project14
	    label	"Texture Source"
	    type	string
	    menu	{
		"uv"	"Geometry Attribute"
		"ortho"	"Orthographic Projection"
		"sphere"	"Polar Projection"
		"cyl"	"Cylindrical Projection"
	    }
	    default	{ "uv" }
	    export	none
	}
	parm {
	    name	uvname14
	    label	" UV Attribute"
	    type	string
	    menu	{
		"uv"	"uv (base layer)"
		"uv2"	"uv2  (layer 2)"
		"uv3"	"uv3  (layer 3)"
		"uv4"	"uv4  (layer 4)"
		"uv5"	"uv5  (layer 5)"
		"uv6"	"uv6  (layer 6)"
		"uv7"	"uv7  (layer 7)"
		"uv8"	"uv8  (layer 8)"
		"uv9"	"uv9  (layer 9)"
		"uv10"	"uv10 (layer 10)"
		"uv11"	"uv11 (layer 11)"
		"uv12"	"uv12 (layer 12)"
		"uv13"	"uv13 (layer 13)"
		"uv14"	"uv14 (layer 14)"
		"uv15"	"uv15 (layer 15)"
		"uv16"	"uv16 (layer 16)"
	    }
	    default	{ "uv14" }
	    export	none
	}
	parm {
	    name	space14
	    label	"Texture Space"
	    type	string
	    menu	{
		"world"	"World Space"
		"object"	"Model Space"
		"shader"	"Shader Space"
		"NDC"	"NDC Space"
	    }
	    default	{ "shader" }
	    export	none
	}
	parm {
	    name	center14
	    label	" Proj Center"
	    type	float
	    size	3
	    default	{ 0 0 0 }
	    export	none
	}
	parm {
	    name	rotate14
	    label	" Proj Rotate"
	    type	float
	    size	3
	    default	{ 0 0 0 }
	    export	none
	}
	parm {
	    name	scale14
	    label	" Proj Scale"
	    type	float
	    size	3
	    default	{ 1 1 1 }
	    export	none
	}
    } // End of Group: 14

    group {
	name	g14
	label	15

	parm {
	    name	comp15
	    label	"Compositing"
	    type	string
	    menu	{
		"add"	"Add"
		"sub"	"Subtract"
		"mult"	"Multiply"
		"over"	"Over"
	    }
	    default	{ "over" }
	    export	none
	}
	parm {
	    name	map15
	    label	"Texture Map"
	    type	image
	    default	{ "" }
	    export	none
	}
	parm {
	    name	apply15
	    label	"Texture Tints"
	    type	string
	    menu	{
		"a"	"Ambient"
		"d"	"Diffuse"
		"s"	"Specular"
		"r"	"Reflect"
		"o"	"Alpha"
		"do"	"Diff + Alpha"
		"sr"	"Spec + Refl"
		"adsro"	"Everything"
	    }
	    default	{ "d" }
	    export	none
	}
	parm {
	    name	mapmode15
	    label	"Map Tiling"
	    type	string
	    menu	{
		"repeat"	"Repeat"
		"streak"	"Streak Edges"
		"decal"	"Decal"
		"decalz"	"Decal with Z clamping"
	    }
	    callback	"set ext = `substr($script_parm, 7, abs(strcmp($script_parm, mapmode_base))*10)`; opparm . ogl_clamping_mode$ext `strmatch('decal*', chs($script_parm))`"
	    default	{ "repeat" }
	    export	none
	}
	parm {
	    name	smapfilter15
	    label	"S Map Filter"
	    type	string
	    menu	{
		"point"	"Point"
		"box"	"Box Filter"
		"gauss"	"Gaussian Filter"
		"catrom"	"Catmull-Rom"
		"sinc"	"Sinc"
		"bartlett"	"Bartlett"
		"hanning"	"Hanning"
	    }
	    default	{ "box" }
	    export	none
	}
	parm {
	    name	smapblur15
	    label	"S Map Blur"
	    type	float
	    default	{ 1 }
	    range	 { 1 10 }
	    export	none
	}
	parm {
	    name	tmapfilter15
	    label	"T Map Filter"
	    type	string
	    menu	{
		"point"	"Point"
		"box"	"Box Filter"
		"gauss"	"Gaussian Filter"
		"catrom"	"Catmull-Rom"
		"sinc"	"Sinc"
		"bartlett"	"Bartlett"
		"hanning"	"Hanning"
	    }
	    default	{ "box" }
	    export	none
	}
	parm {
	    name	tmapblur15
	    label	"T Map Blur"
	    type	float
	    default	{ 1 }
	    range	 { 1 10 }
	    export	none
	}
	parm {
	    name	Ca15
	    label	"Ambient"
	    type	color
	    size	3
	    default	{ 1 1 1 }
	    export	none
	}
	parm {
	    name	Cd15
	    label	"Diffuse"
	    type	color
	    size	3
	    default	{ 1 1 1 }
	    export	none
	}
	parm {
	    name	Cs15
	    label	"Specular"
	    type	color
	    size	3
	    default	{ 1 1 1 }
	    export	none
	}
	parm {
	    name	Cr15
	    label	"Reflect"
	    type	color
	    size	3
	    default	{ 0 0 0 }
	    export	none
	}
	parm {
	    name	Alpha15
	    label	"Alpha"
	    type	float
	    default	{ 1 }
	    range	 { 0 1 }
	    export	none
	}
	parm {
	    name	project15
	    label	"Texture Source"
	    type	string
	    menu	{
		"uv"	"Geometry Attribute"
		"ortho"	"Orthographic Projection"
		"sphere"	"Polar Projection"
		"cyl"	"Cylindrical Projection"
	    }
	    default	{ "uv" }
	    export	none
	}
	parm {
	    name	uvname15
	    label	" UV Attribute"
	    type	string
	    menu	{
		"uv"	"uv (base layer)"
		"uv2"	"uv2  (layer 2)"
		"uv3"	"uv3  (layer 3)"
		"uv4"	"uv4  (layer 4)"
		"uv5"	"uv5  (layer 5)"
		"uv6"	"uv6  (layer 6)"
		"uv7"	"uv7  (layer 7)"
		"uv8"	"uv8  (layer 8)"
		"uv9"	"uv9  (layer 9)"
		"uv10"	"uv10 (layer 10)"
		"uv11"	"uv11 (layer 11)"
		"uv12"	"uv12 (layer 12)"
		"uv13"	"uv13 (layer 13)"
		"uv14"	"uv14 (layer 14)"
		"uv15"	"uv15 (layer 15)"
		"uv16"	"uv16 (layer 16)"
	    }
	    default	{ "uv15" }
	    export	none
	}
	parm {
	    name	space15
	    label	"Texture Space"
	    type	string
	    menu	{
		"world"	"World Space"
		"object"	"Model Space"
		"shader"	"Shader Space"
		"NDC"	"NDC Space"
	    }
	    default	{ "shader" }
	    export	none
	}
	parm {
	    name	center15
	    label	" Proj Center"
	    type	float
	    size	3
	    default	{ 0 0 0 }
	    export	none
	}
	parm {
	    name	rotate15
	    label	" Proj Rotate"
	    type	float
	    size	3
	    default	{ 0 0 0 }
	    export	none
	}
	parm {
	    name	scale15
	    label	" Proj Scale"
	    type	float
	    size	3
	    default	{ 1 1 1 }
	    export	none
	}
    } // End of Group: 15

    group {
	name	g15
	label	16

	parm {
	    name	comp16
	    label	"Compositing"
	    type	string
	    menu	{
		"add"	"Add"
		"sub"	"Subtract"
		"mult"	"Multiply"
		"over"	"Over"
	    }
	    default	{ "over" }
	    export	none
	}
	parm {
	    name	map16
	    label	"Texture Map"
	    type	image
	    default	{ "" }
	    export	none
	}
	parm {
	    name	apply16
	    label	"Texture Tints"
	    type	string
	    menu	{
		"a"	"Ambient"
		"d"	"Diffuse"
		"s"	"Specular"
		"r"	"Reflect"
		"o"	"Alpha"
		"do"	"Diff + Alpha"
		"sr"	"Spec + Refl"
		"adsro"	"Everything"
	    }
	    default	{ "d" }
	    export	none
	}
	parm {
	    name	mapmode16
	    label	"Map Tiling"
	    type	string
	    menu	{
		"repeat"	"Repeat"
		"streak"	"Streak Edges"
		"decal"	"Decal"
		"decalz"	"Decal with Z clamping"
	    }
	    callback	"set ext = `substr($script_parm, 7, abs(strcmp($script_parm, mapmode_base))*10)`; opparm . ogl_clamping_mode$ext `strmatch('decal*', chs($script_parm))`"
	    default	{ "repeat" }
	    export	none
	}
	parm {
	    name	smapfilter16
	    label	"S Map Filter"
	    type	string
	    menu	{
		"point"	"Point"
		"box"	"Box Filter"
		"gauss"	"Gaussian Filter"
		"catrom"	"Catmull-Rom"
		"sinc"	"Sinc"
		"bartlett"	"Bartlett"
		"hanning"	"Hanning"
	    }
	    default	{ "box" }
	    export	none
	}
	parm {
	    name	smapblur16
	    label	"S Map Blur"
	    type	float
	    default	{ 1 }
	    range	 { 1 10 }
	    export	none
	}
	parm {
	    name	tmapfilter16
	    label	"T Map Filter"
	    type	string
	    menu	{
		"point"	"Point"
		"box"	"Box Filter"
		"gauss"	"Gaussian Filter"
		"catrom"	"Catmull-Rom"
		"sinc"	"Sinc"
		"bartlett"	"Bartlett"
		"hanning"	"Hanning"
	    }
	    default	{ "box" }
	    export	none
	}
	parm {
	    name	tmapblur16
	    label	"T Map Blur"
	    type	float
	    default	{ 1 }
	    range	 { 1 10 }
	    export	none
	}
	parm {
	    name	Ca16
	    label	"Ambient"
	    type	color
	    size	3
	    default	{ 1 1 1 }
	    export	none
	}
	parm {
	    name	Cd16
	    label	"Diffuse"
	    type	color
	    size	3
	    default	{ 1 1 1 }
	    export	none
	}
	parm {
	    name	Cs16
	    label	"Specular"
	    type	color
	    size	3
	    default	{ 1 1 1 }
	    export	none
	}
	parm {
	    name	Cr16
	    label	"Reflect"
	    type	color
	    size	3
	    default	{ 0 0 0 }
	    export	none
	}
	parm {
	    name	Alpha16
	    label	"Alpha"
	    type	float
	    default	{ 1 }
	    range	 { 0 1 }
	    export	none
	}
	parm {
	    name	project16
	    label	"Texture Source"
	    type	string
	    menu	{
		"uv"	"Geometry Attribute"
		"ortho"	"Orthographic Projection"
		"sphere"	"Polar Projection"
		"cyl"	"Cylindrical Projection"
	    }
	    default	{ "uv" }
	    export	none
	}
	parm {
	    name	uvname16
	    label	" UV Attribute"
	    type	string
	    menu	{
		"uv"	"uv (base layer)"
		"uv2"	"uv2  (layer 2)"
		"uv3"	"uv3  (layer 3)"
		"uv4"	"uv4  (layer 4)"
		"uv5"	"uv5  (layer 5)"
		"uv6"	"uv6  (layer 6)"
		"uv7"	"uv7  (layer 7)"
		"uv8"	"uv8  (layer 8)"
		"uv9"	"uv9  (layer 9)"
		"uv10"	"uv10 (layer 10)"
		"uv11"	"uv11 (layer 11)"
		"uv12"	"uv12 (layer 12)"
		"uv13"	"uv13 (layer 13)"
		"uv14"	"uv14 (layer 14)"
		"uv15"	"uv15 (layer 15)"
		"uv16"	"uv16 (layer 16)"
	    }
	    default	{ "uv16" }
	    export	none
	}
	parm {
	    name	space16
	    label	"Texture Space"
	    type	string
	    menu	{
		"world"	"World Space"
		"object"	"Model Space"
		"shader"	"Shader Space"
		"NDC"	"NDC Space"
	    }
	    default	{ "shader" }
	    export	none
	}
	parm {
	    name	center16
	    label	" Proj Center"
	    type	float
	    size	3
	    default	{ 0 0 0 }
	    export	none
	}
	parm {
	    name	rotate16
	    label	" Proj Rotate"
	    type	float
	    size	3
	    default	{ 0 0 0 }
	    export	none
	}
	parm {
	    name	scale16
	    label	" Proj Scale"
	    type	float
	    size	3
	    default	{ 1 1 1 }
	    export	none
	}
    } // End of Group: 16

}
INDX              DialogScript      Z Vi/*
 * PROPRIETARY INFORMATION.  This software is proprietary to
 * Side Effects Software Inc., and is not to be reproduced,
 * transmitted, or disclosed in any way without written permission.
 *
 * Produced by:
 *	Side Effects Software Inc
 *	477 Richmond Street West
 *	Toronto, Ontario
 *	Canada   M5V 3E7
 *	416-504-9876
 *
 */

#include <parameter.ds>

{
    name	"vecgetcompon"
    script	"vecgetcompon"
    label	"vecgetcompon"

    outercode {
	INCLUDE_VOPLIB
    }

    code {
	"$fval = vop_getcomp($vec, $part);"
    }

    input	vector	vec	"Input Vector"
    output	float	fval	"Output Component"

    signature	"3D Vector"	       default { }
    signature	"3D Point"     p       { point float }
    signature   "3D Normal"    n       { normal float }
    signature	"RGB Color"     c       { color  float }
    signature	"4D Vector"    v4      { vector4 float }

    signature	"Uniform 3D Vector"    uv	{ uvector float }
    signature	"Uniform 3D Point"     up       { upoint float }
    signature   "Uniform 3D Normal"    un       { unormal float }
    signature	"Uniform RGB Color"     uc       { ucolor  float }

    parm {
	name	part
	label	"Vector Component"
	type	int
	menu	{
	    0		"Component 1"
	    1		"Component 2"
	    2		"Component 3"
	}
	default	{ 0 }
    }

    VOP_VEC_PARM(vec, "Input", 0, 0, 0)
    VOP_VEC_PARM(vec_p, "Input", 0, 0, 0)
    VOP_VEC_PARM(vec_n, "Input", 0, 0, 0)
    VOP_VEC_PARM(vec_c, "Input", 0, 0, 0)
    VOP_VEC4_PARM(vec_v4, "Input", 0, 0, 0, 0)

    VOP_VEC_PARM(vec_uv, "Input", 0, 0, 0)
    VOP_VEC_PARM(vec_up, "Input", 0, 0, 0)
    VOP_VEC_PARM(vec_un, "Input", 0, 0, 0)
    VOP_VEC_PARM(vec_uc, "Input", 0, 0, 0)
}
INDX              DialogScript      Z Vi/*
 * PROPRIETARY INFORMATION.  This software is proprietary to
 * Side Effects Software Inc., and is not to be reproduced,
 * transmitted, or disclosed in any way without written permission.
 *
 * Produced by:
 *	Side Effects Software Inc
 *	477 Richmond Street West
 *	Toronto, Ontario
 *	Canada   M5V 3E7
 *	416-504-9876
 *
 */

#include <parameter.ds>

{
    name	"vectofloat"
    script	"vectofloat"
    label	"vectofloat"

    outercode {
	INCLUDE_VOPLIB
    }

    code {
	"vop_vectofloat($vec, $fval1, $fval2, $fval3);"
    }

    input	vector	vec	"Input Vector"
    output	float	fval1	"Component 1"
    output	float	fval2	"Component 2"
    output	float	fval3	"Component 3"

    VOP_VEC_PARM(vec, "Value",   0, 0, 0)
    VOP_VEC_PARM(vec_p, "Value",  0, 0, 0)
    VOP_VEC_PARM(vec_n, "Value", 0, 0, 0)
    VOP_CLR_PARM(vec_c, "Value",  0, 0, 0)

    VOP_VEC_PARM(vec_uv, "Value", 0, 0, 0)
    VOP_VEC_PARM(vec_up, "Value",  0, 0, 0)
    VOP_VEC_PARM(vec_un, "Value", 0, 0, 0)
    VOP_CLR_PARM(vec_uc, "Value",  0, 0, 0)

    signature	"3D Vector"	default	{ vector float float float }
    signature	"3D Point"	p	{ point float float float }
    signature	"3D Normal"	n	{ normal float float float }
    signature	"RGB Color"	c	{ color float float float }

    signature	"Uniform 3D Vector"	uv	{ uvector ufloat ufloat ufloat }
    signature	"Uniform 3D Point"	up	{ upoint ufloat ufloat ufloat }
    signature	"Uniform 3D Normal"	un	{ unormal ufloat ufloat ufloat }
    signature	"Uniform RGB Color"	uc	{ ucolor ufloat ufloat ufloat }
}
INDX              DialogScript      zZ Vi/*
 * PROPRIETARY INFORMATION.  This software is proprietary to
 * Side Effects Software Inc., and is not to be reproduced,
 * transmitted, or disclosed in any way without written permission.
 *
 * Produced by:
 *	Side Effects Software Inc
 *	477 Richmond Street West
 *	Toronto, Ontario
 *	Canada   M5V 3E7
 *	416-504-9876
 *
 */

#include <parameter.ds>

{
    name	"vectohvec"
    script	"vectohvec"
    label	"vectohvec"


    code {
	"$hvec = $vec;"
	"setcomp($hvec, $fval4, 3);"
    }

    VOP_VEC_INPUT(	vec,	"Input Vector", 0, 0, 0)
    VOP_FLT_INPUT(	fval4,	"Fourth Component", 0)
    output	vector4	hvec	"Output Vector4"
}

INDX              Contents       W[,   DialogScript   W  LZ V]0707070000010000000006660000000000000000010000001331301703000001300000000000TRAILER!!! # Dialog script for visualize automatically generated

{
    name	visualize
    script	visualize
    label	Visualize

    help {
	""
    }

    inputlabel	1	"Sub-Network Input #1"
    inputlabel	2	"Sub-Network Input #2"
    inputlabel	3	"Sub-Network Input #3"
    inputlabel	4	"Sub-Network Input #4"

    parm {
        name    "setvisualizers"
        label   "Update Visualizers"
        type    toggle
        default { "1" }
    }
    parm {
        name    "clearvisualizers"
        label   "Clear Incoming Visualizers"
        type    toggle
        default { "0" }
        disablewhen "{ setvisualizers == 0 }"
        range   { 0 10 }
        parmtag { "autoscope" "0000000000000000" }
    }
    parm {
        name    "wireframe"
        label   "Wireframe"
        type    ordinal
        default { "0" }
        menu {
            "nochange"  "No Change"
            "shaded"    "Force Shaded"
            "viewport"  "Use Viewport Settings"
            "wireframe" "Force Wireframe"
        }
    }
    parm {
        name    "lit"
        label   "Lighting"
        type    ordinal
        default { "0" }
        menu {
            "nochange"  "No Change"
            "unlit"     "Unlit"
            "lit"       "Lit"
        }
    }
    parm {
        name    "showpoints"
        label   "Show Points"
        type    ordinal
        default { "0" }
        menu {
            "nochange"      "No Change"
            "unconnected"   "Unconnected"
            "all"           "All"
        }
    }
    parm {
        name    "setcuspangle"
        label   "Set Cusp Angle"
        type    toggle
        nolabel
        joinnext
        default { "0" }
    }
    parm {
        name    "cuspangle"
        label   "Cusp Angle"
        type    float
        default { "60" }
        disablewhen "{ setcuspangle == 0 }"
        range   { 0 180 }
    }
}
INDX              DialogScript      $Z Vh/*
 * PROPRIETARY INFORMATION.  This software is proprietary to
 * Side Effects Software Inc., and is not to be reproduced,
 * transmitted, or disclosed in any way without written permission.
 *
 * Produced by:
 *	Side Effects Software Inc
 *	477 Richmond Street West
 *	Toronto, Ontario
 *	Canada   M5V 3E7
 *	416-504-9876
 *
 */

{
    name	"volumegradientfile"
    script	"volumegradientfile"
    label	"volumegradientfile"


    code {
	"string $sourcefile = $opinput;"
	"if ($opinput == 'file') $sourcefile = $filename;"
	"$volumegrad = volumegradient($sourcefile, $primnum, $samplepos);"
    }

    input	string	filename	"Geometry File"
    input	int	primnum		"Primitive Number"
    input	vector	samplepos	"Sample Position"
    output	vector	volumegrad	"Gradient of Volume at Given Position"

    signature	"Primitive Number"	default { }
    signature	"Primitive Name"	s { string string vector vector }

    parm {
	name	opinput
	label	"Input"
	type	string
	default	{ "file" }
	menu	{
	    "file"	"File"
	    "opinput:0"	"First Input"
	    "opinput:1"	"Second Input"
	    "opinput:2"	"Third Input"
	    "opinput:3"	"Fourth Input"
	}
    }

    parm {
	name	filename
	label	"Geometry File"
	type	geometry
	default	{ "$HH/geo/defgeo.bgeo" }
	disablewhen	"{ opinput != file }"
    }

    parm {
	name	primnum
	label	"Primitive Number"
	type	int
	size	1
	default	{ 0 }
    }

    parm {
	name	primnum_s
	label	"Primitive Name"
	type	string
	size	1
	default	{ "" }
    }

    parm {
	name	samplepos
	label	"Sample Position"
	type	float
	size	3
	default { 0 0 0 }
    }
}
INDX              DialogScript      Z Vh/*
 * PROPRIETARY INFORMATION.  This software is proprietary to
 * Side Effects Software Inc., and is not to be reproduced,
 * transmitted, or disclosed in any way without written permission.
 *
 * Produced by:
 *	Side Effects Software Inc
 *	477 Richmond Street West
 *	Toronto, Ontario
 *	Canada   M5V 3E7
 *	416-504-9876
 *
 */

{
    name	"volumesample"
    script	"volumesample"
    label	"volumesample"


    code {
	"$volumevalue = volumesample($input_index, $primnum, $samplepos);"
    }

    input	int	input_index	"OP Input Index"
    input	int	primnum		"Primitive Number"
    input	vector	samplepos	"Sample Position"
    output	float	volumevalue	"Value of Volume at Given Position"

    parm {
	name	input_index
	label	"OP Input Index"
	type	int
        size    1
        default { 0 }
	range	{ 0 3 }
    }

    parm {
	name	primnum
	label	"Primitive Number"
	type	int
	size	1
	default	{ 0 }
    }

    parm {
	name	samplepos
	label	"Sample Position"
	type	float
	size	3
	default { 0 0 0 }
    }
}
INDX              DialogScript      Z Vh/*
 * PROPRIETARY INFORMATION.  This software is proprietary to
 * Side Effects Software Inc., and is not to be reproduced,
 * transmitted, or disclosed in any way without written permission.
 *
 * Produced by:
 *	Side Effects Software Inc
 *	477 Richmond Street West
 *	Toronto, Ontario
 *	Canada   M5V 3E7
 *	416-504-9876
 *
 */

{
    name	"volumesamplefile"
    script	"volumesamplefile"
    label	"volumesamplefile"


    code {
	"string $sourcefile = $opinput;"
	"if ($opinput == 'file') $sourcefile = $filename;"
	"$volumevalue = volumesample($sourcefile, $primnum, $samplepos);"
    }

    input	string	filename	"Geometry File"
    input	int	primnum		"Primitive Number"
    input	vector	samplepos	"Sample Position"
    output	float	volumevalue	"Value of Volume at Given Position"

    signature	"Primitive Number"	default { }
    signature	"Primitive Name"	s { string string vector float }

    parm {
	name	opinput
	label	"Input"
	type	string
	default	{ "file" }
	menu	{
	    "file"	"File"
	    "opinput:0"	"First Input"
	    "opinput:1"	"Second Input"
	    "opinput:2"	"Third Input"
	    "opinput:3"	"Fourth Input"
	}
    }
    parm {
	name	filename
	label	"Geometry File"
	type	geometry
	default	{ "$HH/geo/defgeo.bgeo" }
	disablewhen	"{ opinput != file }"
    }

    parm {
	name	primnum
	label	"Primitive Number"
	type	int
	size	1
	default	{ 0 }
    }

    parm {
	name	primnum_s
	label	"Primitive Name"
	type	string
	size	1
	default	{ "" }
    }

    parm {
	name	samplepos
	label	"Sample Position"
	type	float
	size	3
	default { 0 0 0 }
    }
}
INDX              Contents       W[,5   DialogScript   W  QGO0707070000010000000006660000000000000000010000001331301646500001300000000000TRAILER!!! # Dialog script for volumevopglobal automatically generated 03/18/13 13:32:00

{
    name	volumevopglobal
    script	volumevexglobal
    label	"Volume VOP Global Parameters"

    output	vector	P	P
    output	float	density	density
    output	int	ix	ix
    output	int	iy	iy
    output	int	iz	iz
    output	int	resx	resx
    output	int	resy	resy
    output	int	resz	resz
    output	vector	center	center
    output	vector	orig	orig
    output	vector	size	size
    output	vector	dPdx	dPdx
    output	vector	dPdy	dPdy
    output	vector	dPdz	dPdz
    output	vector	BB	BB
    output	float	Time	Time
    output	float	Timeinc	Timeinc
    output	float	Frame	Frame
    output	string	OpInput1	OpInput1
    output	string	OpInput2	OpInput2
    output	string	OpInput3	OpInput3
    output	string	OpInput4	OpInput4
    signature	"Default Inputs"	default	{ vector float int int int int int int vector vector vector vector vector vector vector float float float string string string string }

    outputoverrides	default
    {
	___begin	auto
			(0,0,0)
	___begin	auto
			(0)
	___begin	auto
			(0)
	___begin	auto
			(0)
	___begin	auto
			(0)
	___begin	auto
			(0)
	___begin	auto
			(0)
	___begin	auto
			(0)
	___begin	auto
			(0,0,0)
	___begin	auto
			(0,0,0)
	___begin	auto
			(0,0,0)
	___begin	auto
			(0,0,0)
	___begin	auto
			(0,0,0)
	___begin	auto
			(0,0,0)
	___begin	auto
			(0,0,0)
	___begin	auto
			(0)
	___begin	auto
			(0)
	___begin	auto
			(0)
	___begin	auto
			("")
	___begin	auto
			("")
	___begin	auto
			("")
	___begin	auto
			("")
    }

    help {
	""
    }

}
INDX              Contents       W[,5   DialogScript   W  QGO0707070000010000000006660000000000000000010000001331301646500001300000000000TRAILER!!! # Dialog script for volumevopoutput automatically generated 03/18/13 13:32:12

{
    name	volumevopoutput
    script	volumevexoutput
    label	"Volume VOP Output"

    input	float	density	"Combined Value"
    inputflags	density	0
    signature	"Default Inputs"	default	{ float }

    outputoverrides	default
    {
    }

    help {
	""
    }

    parm {
	name	"sum"
	label	"sum"
	type	float
	invisible
	default	{ "0" }
	range	{ 0 10 }
	export	none
    }
}
INDX              Contents       W[,5   DialogScript   W  9"Z V[0707070000010000000006660000000000000000010000001331301646500001300000000000TRAILER!!! # Dialog script for voronoifracture automatically generated

{
    name	voronoifracture
    script	jl_voronoi_fracture
    label	"Voronoi Fracture"

    help {
	""
    }

    inputlabel	1	"Geometry to Fracture"
    inputlabel	2	"Points for Voronoi Cells"
    inputlabel	3	"Optional SDF For Depth Sampling"

    parm {
	name	"group"
	label	"Group to Fracture"
	type	string
	default	{ "" }
	menutoggle	{
	    [ "opmenu -l keep_remainder group" ]
	}
	range	{ 0 1 }
	parmtag	{ "script_action" "import soputils\nkwargs['geometrytype'] = hou.geometryType.Primitives\nkwargs['inputindex'] = 0\nsoputils.selectGroupParm(kwargs)" }
	parmtag	{ "script_action_help" "Select geometry from an available viewport." }
	parmtag	{ "script_action_icon" "BUTTONS_reselect" }
    }
    parm {
	name	"fuse_points"
	label	"Fuse Points"
	type	toggle
	nolabel
	joinnext
	default	{ "1" }
	range	{ 0! 10 }
	parmtag	{ "autoscope" "0000000000000000" }
    }
    parm {
	name	"fuse_dist"
	label	"Fuse Points"
	type	float
	default	{ "0.001" }
	disablewhen	"{ fuse_points == 0 }"
	range	{ 0 10 }
	parmtag	{ "autoscope" "0000000000000000" }
	parmtag	{ "units" "" }
    }
    parm {
	name	"fuse_updatenml"
	label	"Update Fused Point Normals"
	type	toggle
	default	{ "on" }
	disablewhen	"{ fuse_points == 0 }"
	range	{ 0 1 }
	parmtag	{ "autoscope" "0000000000000000" }
    }
    parm {
	name	"createinside"
	label	"Create Inside Surface"
	type	toggle
	default	{ "1" }
	range	{ 0 1 }
    }
    parm {
	name	"connect"
	label	"Connect Inside Edges"
	type	toggle
	default	{ "1" }
	disablewhen	"{ createinside == 0 }"
	range	{ 0 1 }
    }
    parm {
	name	"cuspnormals"
	label	"Cusp Interior Normals"
	type	toggle
	nolabel
	joinnext
	default	{ "1" }
	range	{ 0 1 }
    }
    parm {
	name	"cuspangle"
	label	"Cusp Interior Normals Angle"
	type	float
	default	{ "15" }
	disablewhen	"{ cuspnormals == off }"
	range	{ 0! 180! }
	parmtag	{ "autoscope" "0000000000000000" }
	parmtag	{ "script_callback" "" }
    }
    parm {
	name	"cuspouternormals"
	label	"Cusp Exterior Normals"
	type	toggle
	nolabel
	joinnext
	default	{ "1" }
	range	{ 0 1 }
    }
    parm {
	name	"cuspouterangle"
	label	"Cusp Exterior Normals Angle"
	type	float
	default	{ "60" }
	disablewhen	"{ cuspouternormals == off }"
	range	{ 0! 180! }
	parmtag	{ "autoscope" "0000000000000000" }
	parmtag	{ "script_callback" "" }
    }
    parm {
	name	"docusp"
	label	"Cusp Interior Edges by Uniquing Points"
	type	toggle
	default	{ "0" }
	disablewhen	"{ createinside == 0 }"
	range	{ 0 1 }
    }
    parm {
	name	"visualizepieces"
	label	"Visualize Pieces"
	type	toggle
	default	{ "0" }
	range	{ 0 1 }
    }
    parm {
	name	"usecellptgroup"
	label	"Use Cell Point Group"
	type	toggle
	default	{ "0" }
	range	{ 0 1 }
    }
    parm {
	name	"cellgroup"
	label	"Cell Point Group"
	type	string
	default	{ "0" }
	disablewhen	"{ usecellptgroup == 0 }"
	range	{ 0 1 }
    }
    parm {
	name	"clustermode"
	label	"Cluster Display Mode"
	type	ordinal
	default	{ "0" }
	disablewhen	"{ usecellptgroup == 0 } { cluster == 0 }"
	menu	{
	    "0"	"Ignore Clustering"
	    "1"	"Keep Any Clustered Pieces"
	    "2"	"Keep Clustered Pieces Only For Primary Point"
	}
	range	{ 0 1 }
    }
    group {
	name	"settings"
	label	"Cut"

	parm {
	    name	"triangulation"
	    label	"Triangulation"
	    type	ordinal
	    default	{ "0" }
	    menu	{
		"0"	"Auto Detect"
		"1"	"2D"
		"2"	"3D"
		"3"	"Use Existing"
	    }
	    range	{ 0 1 }
	}
	parm {
	    name	"partition"
	    label	"Connectivity Partition"
	    type	ordinal
	    default	{ "1" }
	    menu	{
		"0"	"None"
		"1"	"Overwrite Piece Numbering"
		"2"	"Maintain Piece Numbering"
	    }
	    range	{ 0 1 }
	}
	parm {
	    name	"cutplaneoffset"
	    label	"Cut Plane Offset"
	    type	float
	    default	{ "0" }
	    range	{ 0 0.25 }
	}
	parm {
	    name	"optimizecutbycluster"
	    label	"Optimize Cutting Based on Clustering"
	    type	toggle
	    default	{ "0" }
	    disablewhen	"{ triangulation == 3 } { cutplaneoffset > 0 } { cluster == 0 }"
	    range	{ 0 1 }
	}
    }

    group {
	name	"settings_1"
	label	"Cluster"

	parm {
	    name	"cluster"
	    label	"Cluster Pieces"
	    type	toggle
	    default	{ "0" }
	    disablewhen	"{ cutplaneoffset > 0 }"
	    range	{ 0 1 }
	}
	parm {
	    name	"deleteedges"
	    label	"Delete Exterior Cluster Edges"
	    type	toggle
	    default	{ "0" }
	    range	{ 0! 10 }
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"addclusternoise"
	    label	"Add Cluster Noise"
	    type	toggle
	    default	{ "1" }
	    disablewhen	"{ cutplaneoffset > 0 } { cluster == 0 }"
	    range	{ 0! 10 }
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"clustersize"
	    label	"Size"
	    type	vector
	    size	3
	    default	{ "0.5" "0.5" "0.5" }
	    disablewhen	"{ cutplaneoffset > 0 } { cluster == 0 } { addclusternoise == 0 }"
	    range	{ 0 10 }
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"clusteroffset"
	    label	"Offset"
	    type	vector
	    size	3
	    default	{ "0" "0" "0" }
	    disablewhen	"{ cutplaneoffset > 0 } { cluster == 0 } { addclusternoise == 0 }"
	    range	{ 0 10 }
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"clusterjitter"
	    label	"Jitter"
	    type	vector
	    size	3
	    default	{ "1" "1" "1" }
	    disablewhen	"{ cutplaneoffset > 0 } { cluster == 0 } { addclusternoise == 0 }"
	    range	{ 0 10 }
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"randomdetach"
	    label	"Random Detachment"
	    type	toggle
	    default	{ "0" }
	    disablewhen	"{ cutplaneoffset > 0 } { cluster == 0 }"
	    range	{ 0! 10 }
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"detachseed"
	    label	"Detach Seed"
	    type	float
	    default	{ "0" }
	    disablewhen	"{ cutplaneoffset > 0 } { cluster == 0 } { randomdetach == 0 }"
	    range	{ 0 1 }
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"detachratio"
	    label	"Detach Ratio"
	    type	float
	    default	{ "0.1" }
	    disablewhen	"{ cutplaneoffset > 0 } { cluster == 0 } { randomdetach == 0 }"
	    range	{ 0! 1! }
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"constraintnetwork"
	    label	"Create Constraint Network"
	    type	toggle
	    default	{ "0" }
	    disablewhen	"{ cutplaneoffset > 0 } { cluster == 0 }"
	    range	{ 0 1 }
	}
	parm {
	    name	"inclusterstrength"
	    label	"Within Cluster Constraint Strength"
	    type	float
	    default	{ "-1" }
	    disablewhen	"{ cutplaneoffset > 0 } { cluster == 0 } { constraintnetwork == 0 }"
	    range	{ 0 10000 }
	}
	parm {
	    name	"outclusterstrength"
	    label	"Between Cluster Constraint Strength"
	    type	float
	    default	{ "0" }
	    disablewhen	"{ cutplaneoffset > 0 } { cluster == 0 } { constraintnetwork == 0 }"
	    range	{ 0 1000 }
	}
	parm {
	    name	"clusterattr"
	    label	"Cluster Attribute"
	    type	string
	    default	{ "cluster" }
	    disablewhen	"{ cutplaneoffset > 0 } { cluster == 0 }"
	    range	{ 0 1 }
	}
	parm {
	    name	"clusterattrtol"
	    label	"Attribute Tolerance"
	    type	float
	    default	{ "1e-05" }
	    disablewhen	"{ cutplaneoffset > 0 } { cluster == 0 }"
	    range	{ 0 0.1 }
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"fusedist"
	    label	"Fuse Tolerance"
	    type	float
	    default	{ "0.001" }
	    disablewhen	"{ cutplaneoffset > 0 } { cluster == 0 }"
	    range	{ 0 10 }
	    parmtag	{ "autoscope" "0000000000000000" }
	}
    }

    group {
	name	"settings_2"
	label	"Interior Detail"

	parm {
	    name	"addinteriordetail"
	    label	"Add Interior Detail"
	    type	toggle
	    default	{ "0" }
	    disablewhen	"{ createinside == 0 }"
	    range	{ 0! 10 }
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"viznoisescale"
	    label	"Visualize Noise Scale"
	    type	toggle
	    default	{ "off" }
	    disablewhen	"{ addinteriordetail == 0 } { createinside == 0 }"
	    range	{ 0 1 }
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"planar"
	    label	"Triangulate Non-Planar Detail"
	    type	toggle
	    default	{ "0" }
	    disablewhen	"{ addinteriordetail == 0 } { createinside == 0 }"
	    range	{ 0! 10 }
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"detailsize"
	    label	"Detail Size"
	    type	float
	    default	{ "0.25" }
	    disablewhen	"{ addinteriordetail == 0 } { createinside == 0 }"
	    range	{ 0 1 }
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"intnoiseamp"
	    label	"Noise Amplitude"
	    type	float
	    default	{ "0.1" }
	    disablewhen	"{ addinteriordetail == 0 } { createinside == 0 }"
	    range	{ 0 1 }
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"intnoisetype"
	    label	"Noise Type"
	    type	string
	    default	{ "snoise" }
	    disablewhen	"{ addinteriordetail == 0 } { createinside == 0 }"
	    menu	{
		"pnoise"	"Perlin Noise"
		"onoise"	"Original Perlin Noise"
		"snoise"	"Sparse Convolution Noise"
		"anoise"	"Alligator Noise"
	    }
	    range	{ 0 1 }
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"intnoisefreq"
	    label	"Frequency"
	    type	vector
	    size	3
	    default	{ "2.5" "2.5" "2.5" }
	    disablewhen	"{ addinteriordetail == 0 } { createinside == 0 }"
	    range	{ 0 10 }
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"intnoiseoffset"
	    label	"Offset"
	    type	vector
	    size	3
	    default	{ "0" "0" "0" }
	    disablewhen	"{ addinteriordetail == 0 } { createinside == 0 }"
	    range	{ 0 10 }
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"intnoiseturb"
	    label	"Turbulence"
	    type	integer
	    default	{ "3" }
	    disablewhen	"{ addinteriordetail == 0 } { createinside == 0 }"
	    range	{ 0 10 }
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"hassdfinput"
	    label	"hassdfinput"
	    type	toggle
	    invisible
	    default	{ "0" }
	    range	{ 0 1 }
	}
	parm {
	    name	"depthsamplediv"
	    label	"Depth Volume Resolution"
	    type	integer
	    default	{ "50" }
	    disablewhen	"{ hassdfinput == 1 } { addinteriordetail == 0 } { createinside == 0 }"
	    range	{ 10! 100 }
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"clampmaxdisp"
	    label	"Clamp Displacement Amount to Depth"
	    type	toggle
	    default	{ "on" }
	    disablewhen	"{ addinteriordetail == 0 } { createinside == 0 }"
	    range	{ 0 1 }
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"clampdepthpct"
	    label	"Clamp Depth Percentage"
	    type	float
	    default	{ "0.9" }
	    disablewhen	"{ clampmaxdisp == 0 } { addinteriordetail == 0 } { createinside == 0 }"
	    range	{ 0 1 }
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"depthnoisescalebias"
	    label	"Depth / Noise Bias"
	    type	float
	    default	{ "0.85" }
	    disablewhen	"{ addinteriordetail == 0 } { createinside == 0 } { usedepthnoisescaleramp == 1 }"
	    range	{ 0 1 }
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"usedepthnoisescaleramp"
	    label	"Use Depth / Noise Ramp"
	    type	toggle
	    default	{ "off" }
	    disablewhen	"{ addinteriordetail == 0 } { createinside == 0 }"
	    range	{ 0 1 }
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"depthnoisescaleramp"
	    label	"Depth / Noise Ramp"
	    type	ramp_flt
	    default	{ "2" }
	    disablewhen	"{ usedepthnoisescaleramp == 0 } { addinteriordetail == 0 } { createinside == 0 }"
	    range	{ 1! 10 }
	    parmtag	{ "autoscope" "0000000000000000" }
	    parmtag	{ "rampbasis_var" "depthnoisescaleramp_the_basis_strings" }
	    parmtag	{ "rampbasisdefault" "catmull-rom" }
	    parmtag	{ "rampfloatdefault" "1pos ( 0 ) 1value ( 0 ) 1interp ( catmull-rom ) 2pos ( 1 ) 2value ( 1 ) 2interp ( catmull-rom )" }
	    parmtag	{ "rampkeys_var" "depthnoisescaleramp_the_key_positions" }
	    parmtag	{ "rampshowcontrolsdefault" "0" }
	    parmtag	{ "rampvalues_var" "depthnoisescaleramp_the_key_values" }
	}
    }

    group {
	name	"settings_3"
	label	"Groups"

	parm {
	    name	"newg"
	    label	"Create Output Groups"
	    type	toggle
	    default	{ "1" }
	    range	{ 0 1 }
	}
	parm {
	    name	"groupprefix"
	    label	"Piece Group Prefix"
	    type	string
	    default	{ "" }
	    disablewhen	"{ newg == 0 }"
	    range	{ 0 1 }
	}
	parm {
	    name	"groupinterior"
	    label	"Interior Group"
	    type	string
	    default	{ "inside" }
	    disablewhen	"{ newg == 0 } { createinside == 0 }"
	    range	{ 0 1 }
	}
	parm {
	    name	"groupexterior"
	    label	"Exterior Group"
	    type	string
	    default	{ "outside" }
	    disablewhen	"{ newg == 0 }"
	    range	{ 0 1 }
	}
    }

    group {
	name	"settings_4"
	label	"Attributes"

	parm {
	    name	"newname"
	    label	"Create Name Attribute"
	    type	toggle
	    default	{ "1" }
	    range	{ 0 1 }
	}
	parm {
	    name	"nameprefix"
	    label	"Name Prefix"
	    type	string
	    default	{ "piece" }
	    disablewhen	"{ newname == 0 }"
	    range	{ 0 1 }
	}
	parm {
	    name	"copyattributes"
	    label	"Copy Cell Point Attributes"
	    type	toggle
	    default	{ "0" }
	    range	{ 0 1 }
	}
	parm {
	    name	"ptattributes"
	    label	"To Piece Points"
	    type	string
	    default	{ "" }
	    disablewhen	"{ copyattributes == 0 }"
	    range	{ 0 1 }
	}
	parm {
	    name	"primattributes"
	    label	"To Piece Primitives"
	    type	string
	    default	{ "" }
	    disablewhen	"{ copyattributes == 0 }"
	    range	{ 0 1 }
	}
	parm {
	    name	"keepinternal"
	    label	"Keep Internal Attributes"
	    type	toggle
	    default	{ "0" }
	    range	{ 0 1 }
	}
	parm {
	    name	"pieceattr"
	    label	"Primitive Piece"
	    type	string
	    default	{ "piece" }
	    disablewhen	"{ keepinternal == 0 }"
	    range	{ 0 1 }
	}
	parm {
	    name	"cellptattr"
	    label	"Primitive Cell Point"
	    type	string
	    default	{ "cellpt" }
	    disablewhen	"{ keepinternal == 0 }"
	    range	{ 0 1 }
	}
	parm {
	    name	"clipptattr"
	    label	"Primitive Clip Point"
	    type	string
	    default	{ "clippt" }
	    disablewhen	"{ keepinternal == 0 } { createinside == 0 }"
	    range	{ 0 1 }
	}
	parm {
	    name	"outsideattr"
	    label	"Primitive Outside"
	    type	string
	    default	{ "outside" }
	    disablewhen	"{ keepinternal == 0 }"
	    range	{ 0 1 }
	}
	parm {
	    name	"depthattr"
	    label	"Point Depth"
	    type	string
	    default	{ "depth" }
	    disablewhen	"{ keepinternal == 0 } { createinside == 0 } { addinteriordetail == 0 }"
	    range	{ 0 1 }
	}
    }

}
INDX              Contents       W[,Y   DialogScript   W  gR(d0707070000010000000006660000000000000000010000001331301653100001300000000000TRAILER!!! # Dialog script for voronoifracturepoints automatically generated 09/05/13 14:50:12

{
    name	voronoifracturepoints
    script	voronoifracturepoints
    label	"Voronoi Fracture Points"

    help {
	""
    }

    inputlabel	1	"Geometry to Add Fracture Points"
    inputlabel	2	"Impact Points"
    inputlabel	3	"Optional SDF for Depth Sampling"
    inputlabel	4	"Sub-Network Input #4"

    parm {
	name	"impactradius"
	label	"Impact Radius"
	type	vector
	size	3
	default	{ "1" "1" "1" }
	range	{ -1 1 }
	export	none
	parmtag	{ "autoscope" "0000000000000000" }
    }
    parm {
	name	"snap"
	label	"Snap Points to Object"
	type	toggle
	default	{ "1" }
	range	{ 0 1 }
	export	none
    }
    parm {
	name	"ptsperarea"
	label	"Compute Number of Points"
	type	toggle
	default	{ "on" }
	range	{ 0 1 }
	export	none
	parmtag	{ "autoscope" "0000000000000000" }
    }
    parm {
	name	"nptsperarea"
	label	"Points Per Area"
	type	float
	default	{ "10" }
	disablewhen	"{ ptsperarea == 0 }"
	range	{ 0 10 }
	export	none
    }
    parm {
	name	"npts"
	label	"Number of Points"
	type	integer
	default	{ "25" }
	disablewhen	"{ ptsperarea == 1 }"
	range	{ 0 10 }
	export	none
    }
    parm {
	name	"ptsperimpact"
	label	"Per Impact"
	type	toggle
	default	{ "0" }
	disablewhen	"{ ptsperarea == 1 }"
	range	{ 0 1 }
	export	none
    }
    parm {
	name	"volumeres"
	label	"Volume Resolution"
	type	integer
	default	{ "30" }
	range	{ 3! 100 }
	export	none
    }
    parm {
	name	"seed"
	label	"Random Seed"
	type	integer
	default	{ "0" }
	range	{ 0 10 }
	export	none
    }
    parm {
	name	"visualize"
	label	"Visualize Points"
	type	toggle
	default	{ "0" }
	range	{ 0 1 }
	export	none
    }
    group {
	name	"folder0_1"
	label	"Surface"

	parm {
	    name	"surfaceptdensity"
	    label	"Point Density"
	    type	float
	    default	{ "1" }
	    range	{ 0 10 }
	    export	none
	}
	parm {
	    name	"surfaceoffset"
	    label	"Surface Offset"
	    type	float
	    default	{ "0" }
	    disablewhen	"{ surfaceptdensity == 0 }"
	    range	{ -1 1 }
	    export	none
	}
	parm {
	    name	"surfacescale"
	    label	"Radius Scale"
	    type	float
	    default	{ "0.5" }
	    disablewhen	"{ surfaceptdensity == 0 }"
	    range	{ 0! 1 }
	    export	none
	}
	parm {
	    name	"surfacecluster"
	    label	"Clustering"
	    type	ordinal
	    default	{ "1" }
	    disablewhen	"{ surfaceptdensity == 0 }"
	    menu	{
		"0"	"Use Fracture Settings"
		"1"	"Disabled"
		"2"	"Single Piece"
	    }
	    range	{ 0 1 }
	    export	none
	}
    }

    group {
	name	"folder0_1_1"
	label	"Interior"

	parm {
	    name	"interiorptdensity"
	    label	"Point Density"
	    type	float
	    default	{ "1" }
	    range	{ 0 10 }
	    export	none
	}
	parm {
	    name	"interiorcluster"
	    label	"Clustering"
	    type	ordinal
	    default	{ "0" }
	    disablewhen	"{ interiorptdensity == 0 }"
	    menu	{
		"0"	"Use Fracture Settings"
		"1"	"Disabled"
		"2"	"Single Piece"
	    }
	    range	{ 0 1 }
	    export	none
	}
    }

    group {
	name	"folder0_1_2"
	label	"Exterior"

	parm {
	    name	"exteriorptdensity"
	    label	"Point Density"
	    type	float
	    default	{ "1" }
	    range	{ 0 10 }
	    export	none
	}
	parm {
	    name	"exteriorscatter"
	    label	"Scatter Location"
	    type	ordinal
	    default	{ "impact" }
	    disablewhen	"{ exteriorptdensity == 0 }"
	    menu	{
		"impact"	"At Impact"
		"exterior"	"Exterior Volume"
		"both"	"Both"
	    }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"exterioroffset"
	    label	"Impact Offset"
	    type	float
	    default	{ "0.1" }
	    disablewhen	"{ exteriorptdensity == 0 } { exteriorscatter == 0 }"
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"exteriorcluster"
	    label	"Clustering"
	    type	ordinal
	    default	{ "2" }
	    disablewhen	"{ exteriorptdensity == 0 }"
	    menu	{
		"0"	"Use Fracture Settings"
		"1"	"Disabled"
		"2"	"Single Piece"
	    }
	    range	{ 0 1 }
	    export	none
	}
    }

}
INDX              Contents       W[,Y   DialogScript   W  Z V?0707070000010000000006660000000000000000010000001331301653100001300000000000TRAILER!!! # Dialog script for voronoifracturesolver automatically generated

{
    name	voronoifracturesolver
    script	voronoifracturesolver
    label	"Voronoi Fracture Solver"


    help {
	""
    }

    inputlabel	1	"Objects to be processed"
    inputlabel	2	"Input 2"
    inputlabel	3	"Input 3"
    inputlabel	4	"Input 4"
    outputlabel	1	"Sub-Network Output #1"
    outputlabel	2	"Sub-Network Output #2"
    outputlabel	3	"Sub-Network Output #3"
    outputlabel	4	"Sub-Network Output #4"

    parm {
	name	"minpiecevol"
	label	"Minimum Piece Volume"
	type	float
	default	{ "1e-07" }
	range	{ 0 10 }
    }
    parm {
	name	"clusterfusedist"
	label	"Cluster Fuse Tolerance"
	type	float
	default	{ "0.001" }
	range	{ 0 10 }
    }
    parm {
	name	"stampcreation"
	label	"Stamp Interior Primitives With Creation Time"
	type	toggle
	default	{ "0" }
	range	{ 0 1 }
    }
    parm {
	name	"feedback"
	label	"Allow Fracturing From Feedback"
	type	toggle
	default	{ "0" }
	range	{ 0! 10 }
	parmtag	{ "autoscope" "0000000000000000" }
    }
    parm {
	name	"fractureignoresresting"
	label	"Fracturing Ignores Resting Objects"
	type	toggle
	default	{ "1" }
	range	{ 0 1 }
    }
    parm {
	name	"seed"
	label	"Random Seed"
	type	integer
	default	{ "0" }
	range	{ 0 10 }
    }
    parm {
	name	"converttopoly"
	label	"Convert To Poly"
	type	toggle
	nolabel
	joinnext
	default	{ "1" }
	range	{ 0 1 }
    }
    parm {
	name	"converttopolylod"
	label	"Convert To Poly"
	type	float
	default	{ "1" }
	disablewhen	"{ converttopoly == 0 }"
	range	{ 0! 10 }
    }
    parm {
	name	"group"
	label	"Group"
	type	string
	default	{ "*" }
	range	{ 0 1 }
    }
    parm {
	name	"dataname"
	label	"Data Name"
	type	string
	default	{ "Solver" }
	range	{ 0 1 }
	parmtag	{ "autoscope" "0000000000000000" }
    }
    parm {
	name	"uniquedataname"
	label	"Unique Data Name"
	type	toggle
	default	{ "on" }
	range	{ 0 1 }
	parmtag	{ "autoscope" "0000000000000000" }
    }
}
INDX              DialogScript      Z Vi/*
 * PROPRIETARY INFORMATION.  This software is proprietary to
 * Side Effects Software Inc., and is not to be reproduced,
 * transmitted, or disclosed in any way without written permission.
 *
 * Produced by:
 *	Side Effects Software Inc
 *	477 Richmond Street West
 *	Toronto, Ontario
 *	Canada   M5V 3E7
 *	416-504-9876
 *
 */
#include <parameter.ds>

{
    name	"voronoise"
    script	"voronoise"
    label	"voronoise"

    outercode {
	INCLUDE_VOPLIB
    }

    code {
	"if ($isconnected_period)"
	"{"
	"    vop_vnoise($pos * $freq - $offset, $jitter, $seed, $dist1, $dist2,"
	"               $near1, $near2, $period);"
	"}"
	"else"
	"{"
	"    vop_vnoise($pos * $freq - $offset, $jitter, $seed, $dist1, $dist2,"
	"               $near1, $near2);"
	"}"
    }

    input	float	pos	"Position"
    input	float	freq	"Frequency"
    input	float	offset	"Offset"
    input	float	jitter	"Jitter"
    input	int	period	"Periodicity"
    output	float	dist1	"Distance To Point 1 (To Nearest Point)"
    output	float	dist2	"Distance To Point 2"
    output	float	near1	"Point 1 (Nearest Point) Location"
    output	float	near2	"Point 2 Location"
    output	int	seed	"Seed"

    signature	"1D Noise"	    default { }
    signature	"3D Vector Noise"    v	{ vector vector vector vector vector float float vector vector int }
    signature	"3D Point Noise"     p	{ point point point point point float float point point int }
    signature	"3D Normal Noise"    n	{ normal normal normal normal normal float float normal normal int }
    signature	"RGB Color Noise"     c	{ color color color color color float float color color int }
    signature	"4D Vector Noise"	    v4	{ vector4 vector4 vector4 vector4 vector4 float float vector4 vector4 int }


    VOP_FLT_PARM(pos,	  "Position", 0)
    VOP_VEC_PARM(pos_v,   "Position", 0, 0, 0)
    VOP_VEC_PARM(pos_p,   "Position", 0, 0, 0)
    VOP_VEC_PARM(pos_n,   "Position", 0, 0, 0)
    VOP_VEC_PARM(pos_c,   "Position", 0, 0, 0)
    VOP_VEC4_PARM(pos_v4, "Position", 0, 0, 0, 0)

    VOP_FLT_PARM(freq,    "Frequency", 1)
    VOP_VEC_PARM(freq_v,  "Frequency", 1, 1, 1)
    VOP_VEC_PARM(freq_p,  "Frequency", 1, 1, 1)
    VOP_VEC_PARM(freq_n,  "Frequency", 1, 1, 1)
    VOP_VEC_PARM(freq_c,  "Frequency", 1, 1, 1)
    VOP_VEC4_PARM(freq_v4, "Frequency", 1, 1, 1, 1)

    VOP_FLT_PARM(offset,    "Offset", 0)
    VOP_VEC_PARM(offset_v,  "Offset", 0, 0, 0)
    VOP_VEC_PARM(offset_p,   "Offset", 0, 0, 0)
    VOP_VEC_PARM(offset_n,   "Offset", 0, 0, 0)
    VOP_VEC_PARM(offset_c,   "Offset", 0, 0, 0)
    VOP_VEC4_PARM(offset_v4, "Offset", 0, 0, 0, 0)

    VOP_FLT_PARM(jitter,    "Jitter", 1)
    VOP_VEC_PARM(jitter_v,  "Jitter", 1, 1, 1)
    VOP_VEC_PARM(jitter_p,  "Jitter", 1, 1, 1)
    VOP_VEC_PARM(jitter_n,  "Jitter", 1, 1, 1)
    VOP_VEC_PARM(jitter_c,  "Jitter", 1, 1, 1)
    VOP_VEC4_PARM(jitter_v4, "Jitter", 1, 1, 1, 1)
    
    group { name "gp" obsolete 12.0 }
    group { name "gf" obsolete 12.0 }
    group { name "go" obsolete 12.0 }
    group { name "gj" obsolete 12.0 }
}
INDX              Contents       W[,Y   DialogScript   W  Z V^0707070000010000000006660000000000000000010000001331301653100001300000000000TRAILER!!! # Dialog script for xformpieces automatically generated 11/05/14 13:34:34

{
    name	xformpieces
    script	xformpieces
    label	"Transform Pieces"

    help {
	""
    }

    inputlabel	1	"Geometry to Transform"
    inputlabel	2	"Template Points"
    inputlabel	3	"Rest Points"
    inputlabel	4	"Sub-Network Input #4"

    parm {
	name	"sourcegroup"
	label	"Source Group"
	type	string
	default	{ "" }
	menutoggle	{
	    [ "opmenu -l attribcopy_indexed destgroup" ]
	}
	range	{ 0 1 }
	export	none
	parmtag	{ "script_action" "import soputils\nkwargs['geometrytype'] = hou.geometryType.Points\nkwargs['inputindex'] = 0\nsoputils.selectGroupParm(kwargs)" }
	parmtag	{ "script_action_help" "Select geometry from an available viewport." }
	parmtag	{ "script_action_icon" "BUTTONS_reselect" }
    }
    parm {
	name	"templategroup"
	label	"Template Group"
	type	string
	default	{ "" }
	menutoggle	{
	    [ "opmenu -l attribcopy_indexed srcgroup" ]
	}
	range	{ 0 1 }
	export	none
	parmtag	{ "script_action" "import soputils\nkwargs['geometrytype'] = hou.geometryType.Points\nkwargs['inputindex'] = 1\nsoputils.selectGroupParm(kwargs)" }
	parmtag	{ "script_action_help" "Select geometry from an available viewport." }
	parmtag	{ "script_action_icon" "BUTTONS_reselect" }
    }
    parm {
	name	"attribmode"
	label	"Attribute Mode"
	type	ordinal
	default	{ "1" }
	menu	{
	    "0"	"Index by Attribute"
	    "1"	"Match by Attribute"
	}
	range	{ 0 1 }
	export	none
    }
    parm {
	name	"attrib"
	label	"Attribute"
	type	string
	default	{ "name" }
	range	{ 0 1 }
	export	none
    }
    parm {
	name	"pointvels"
	label	"Point Velocities"
	type	integer
	default	{ "1" }
	menu	{
	    "0"	"No Point Velocities"
	    "1"	"Instantaneous Point Velocities"
	    "2"	"Integrated Point Velocities"
	}
	range	{ 0 10 }
	export	none
    }
    parm {
	name	"integrateovertime"
	label	"Integrate Over Time"
	type	float
	default	{ "1/$FPS" }
	disablewhen	"{ pointvels != 2 }"
	range	{ 0 10 }
	export	none
    }
    parm {
	name	"docopyattribs"
	label	"Copy Template Attributes"
	type	toggle
	default	{ "0" }
	range	{ 0 1 }
	export	none
    }
    parm {
	name	"attribstocopy"
	label	"Attributes to Copy"
	type	string
	default	{ "" }
	disablewhen	"{ docopyattribs == 0 }"
	range	{ 0 1 }
	export	none
    }
}
0707070000010000000006660000000000000000010000001331302235300002000000000012expression.func # 0 bytes
0707070000010000000006660000000000000000010000001331302235300001000000000654obj.def comment ""
position 5 2
connectornextid 0
flags =  lock off model off template off footprint off xray off bypass off display on render on highlight off unload off savedata off compress on colordefault on exposed on
outputsNamed3
{
}
inputsNamed3
{
}
inputs
{
}
stat
{
  create 1529617572
  modify 1529617651
  author mikel@mikembp-sesi.local
  access 0777
}
color UT_Color RGB 0.8 0.8 0.8 
delscript ""
exprlanguage hscript
end
0707070000010000000006660000000000000000010000001331302235300001100000000020obj.parm {
version 0.8
}
0707070000010000000006660000000000000000010000001331302235300001500000000041obj.userdata     ___Version___    16.5.4960707070000010000000006660000000000000000010000001331302235300001600000000032obj/geo1.init type = geo
matchesdef = 0
0707070000010000000006660000000000000000010000001331302235300001500000001042obj/geo1.def objflags objflags =  origin off
pretransform UT_DMatrix4 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1
comment ""
position -3.80683 0.593686
connectornextid 0
flags =  lock off model off template off footprint off xray off bypass off display on render off highlight off unload off savedata off compress on colordefault on exposed on selectable on
outputsNamed3
{
}
inputsNamed3
{
}
inputs
{
}
stat
{
  create 1529617651
  modify 1529619544
  author mikel@mikembp-sesi.local
  access 0777
}
color UT_Color RGB 0.8 0.8 0.8 
delscript ""
exprlanguage hscript
end
0707070000010000000006660000000000000000010000001331302235300002600000052031obj/geo1.spareparmdef     group {
        name    "stdswitcher4"
        label   "Transform"

        parm {
            name    "xOrd"
            baseparm
            label   "Transform Order"
            joinnext
            export  none
        }
        parm {
            name    "rOrd"
            baseparm
            label   "Rotate Order"
            nolabel
            export  none
        }
        parm {
            name    "t"
            baseparm
            label   "Translate"
            export  all
        }
        parm {
            name    "r"
            baseparm
            label   "Rotate"
            export  all
        }
        parm {
            name    "s"
            baseparm
            label   "Scale"
            export  none
        }
        parm {
            name    "p"
            baseparm
            label   "Pivot Translate"
            export  none
        }
        parm {
            name    "pr"
            baseparm
            label   "Pivot Rotate"
            export  none
        }
        parm {
            name    "scale"
            baseparm
            label   "Uniform Scale"
            export  none
        }
        parm {
            name    "pre_xform"
            baseparm
            label   "Modify Pre-Transform"
            export  none
        }
        parm {
            name    "keeppos"
            baseparm
            label   "Keep Position When Parenting"
            export  none
        }
        parm {
            name    "childcomp"
            baseparm
            label   "Child Compensation"
            export  none
        }
        parm {
            name    "constraints_on"
            baseparm
            label   "Enable Constraints"
            export  none
        }
        parm {
            name    "constraints_path"
            baseparm
            label   "Constraints"
            export  none
        }
        parm {
            name    "lookatpath"
            baseparm
            label   "Look At"
            invisible
            export  none
        }
        parm {
            name    "lookupobjpath"
            baseparm
            label   "Look Up Object"
            invisible
            export  none
        }
        parm {
            name    "lookup"
            baseparm
            label   "Look At Up Vector"
            invisible
            export  none
        }
        parm {
            name    "pathobjpath"
            baseparm
            label   "Path Object"
            invisible
            export  none
        }
        parm {
            name    "roll"
            baseparm
            label   "Roll"
            invisible
            export  none
        }
        parm {
            name    "pos"
            baseparm
            label   "Position"
            invisible
            export  none
        }
        parm {
            name    "uparmtype"
            baseparm
            label   "Parameterization"
            invisible
            export  none
        }
        parm {
            name    "pathorient"
            baseparm
            label   "Orient Along Path"
            invisible
            export  none
        }
        parm {
            name    "up"
            baseparm
            label   "Orient Up Vector"
            invisible
            export  none
        }
        parm {
            name    "bank"
            baseparm
            label   "Auto-Bank factor"
            invisible
            export  none
        }
    }

    group {
        name    "stdswitcher4_1"
        label   "Render"

        parm {
            name    "shop_materialpath"
            baseparm
            label   "Material"
            export  none
        }
        parm {
            name    "shop_materialopts"
            baseparm
            label   "Options"
            invisible
            export  none
        }
        parm {
            name    "tdisplay"
            baseparm
            label   "Display"
            joinnext
            export  none
        }
        parm {
            name    "display"
            baseparm
            label   "Display"
            export  none
        }
        parm {
            name    "viewportlod"
            label   "Display As"
            type    ordinal
            default { "full" }
            help    "Choose how the object's geometry should be rendered in the viewport"
            menu {
                "full"      "Full Geometry"
                "points"    "Point Cloud"
                "box"       "Bounding Box"
                "centroid"  "Centroid"
                "hidden"    "Hidden"
                "subd"      "Subdivision Surface / Curves"
            }
            parmtag { "spare_category" "Render" }
        }
        parm {
            name    "vm_rendervisibility"
            label   "Render Visibility"
            type    string
            default { "*" }
            menureplace {
                "*"                             "Visible to all"
                "primary"                       "Visible only to primary rays"
                "primary|shadow"                "Visible only to primary and shadow rays"
                "-primary"                      "Invisible to primary rays (Phantom)"
                "-diffuse"                      "Invisible to diffuse rays"
                "-diffuse&-reflect&-refract"    "Invisible to secondary rays"
                ""                              "Invisible (Unrenderable)"
            }
            parmtag { "mantra_class" "object" }
            parmtag { "mantra_name" "rendervisibility" }
            parmtag { "spare_category" "Render" }
        }
        parm {
            name    "vm_rendersubd"
            label   "Render Polygons As Subdivision (Mantra)"
            type    toggle
            default { "0" }
            parmtag { "mantra_class" "object" }
            parmtag { "mantra_name" "rendersubd" }
            parmtag { "spare_category" "Geometry" }
        }
        parm {
            name    "vm_subdstyle"
            label   "Subdivision Style"
            type    string
            default { "mantra_catclark" }
            hidewhen "{ vm_rendersubd == 0 }"
            menu {
                "mantra_catclark"   "Mantra Catmull-Clark"
                "osd_catclark"      "OpenSubdiv Catmull-Clark"
            }
            parmtag { "mantra_class" "object" }
            parmtag { "mantra_name" "subdstyle" }
            parmtag { "spare_category" "Geometry" }
        }
        parm {
            name    "vm_subdgroup"
            label   "Subdivision Group"
            type    string
            default { "" }
            hidewhen "{ vm_rendersubd == 0 }"
            parmtag { "mantra_class" "object" }
            parmtag { "mantra_name" "subdgroup" }
            parmtag { "spare_category" "Geometry" }
        }
        parm {
            name    "vm_osd_quality"
            label   "Open Subdiv Quality"
            type    float
            default { "1" }
            hidewhen "{ vm_rendersubd == 0 vm_subdstyle != osd_catclark }"
            range   { 0 10 }
            parmtag { "mantra_class" "object" }
            parmtag { "mantra_name" "osd_quality" }
            parmtag { "spare_category" "Geometry" }
        }
        parm {
            name    "vm_osd_vtxinterp"
            label   "OSD Vtx Interp"
            type    integer
            default { "2" }
            hidewhen "{ vm_rendersubd == 0 vm_subdstyle != osd_catclark }"
            menu {
                "0" "No vertex interpolation"
                "1" "Edges only"
                "2" "Edges and Corners"
            }
            range   { 0 10 }
            parmtag { "mantra_class" "object" }
            parmtag { "mantra_name" "osd_vtxinterp" }
            parmtag { "spare_category" "Geometry" }
        }
        parm {
            name    "vm_osd_fvarinterp"
            label   "OSD FVar Interp"
            type    integer
            default { "4" }
            hidewhen "{ vm_rendersubd == 0 vm_subdstyle != osd_catclark }"
            menu {
                "0" "Smooth everywhere"
                "1" "Sharpen corners only"
                "2" "Sharpen edges and corners"
                "3" "Sharpen edges and propagated corners"
                "4" "Sharpen all boundaries"
                "5" "Bilinear interpolation"
            }
            range   { 0 10 }
            parmtag { "mantra_class" "object" }
            parmtag { "mantra_name" "osd_fvarinterp" }
            parmtag { "spare_category" "Geometry" }
        }
        group {
            name    "folder0"
            label   "Shading"

            parm {
                name    "categories"
                label   "Categories"
                type    string
                default { "" }
                help    "A list of tags which can be used to select the object"
                parmtag { "spare_category" "Shading" }
            }
            parm {
                name    "reflectmask"
                label   "Reflection Mask"
                type    oplist
                default { "*" }
                help    "Objects that will be reflected on this object."
                parmtag { "opexpand" "1" }
                parmtag { "opfilter" "!!OBJ/GEOMETRY!!" }
                parmtag { "oprelative" "/obj" }
                parmtag { "spare_category" "Shading" }
            }
            parm {
                name    "refractmask"
                label   "Refraction Mask"
                type    oplist
                default { "*" }
                help    "Objects that will be refracted on this object."
                parmtag { "opexpand" "1" }
                parmtag { "opfilter" "!!OBJ/GEOMETRY!!" }
                parmtag { "oprelative" "/obj" }
                parmtag { "spare_category" "Shading" }
            }
            parm {
                name    "lightmask"
                label   "Light Mask"
                type    oplist
                default { "*" }
                help    "Lights that illuminate this object."
                parmtag { "opexpand" "1" }
                parmtag { "opfilter" "!!OBJ/LIGHT!!" }
                parmtag { "oprelative" "/obj" }
                parmtag { "spare_category" "Shading" }
            }
            parm {
                name    "lightcategories"
                label   "Light Selection"
                type    string
                default { "*" }
                parmtag { "spare_category" "Shading" }
            }
            parm {
                name    "vm_volumefilter"
                label   "Volume Filter"
                type    string
                default { "box" }
                menu {
                    "box"       "Box Filter"
                    "gaussian"  "Gaussian"
                    "bartlett"  "Bartlett (triangle)"
                    "catrom"    "Catmull-Rom"
                    "hanning"   "Hanning"
                    "blackman"  "Blackman"
                    "sinc"      "Sinc (sharpening)"
                }
                parmtag { "mantra_class" "object" }
                parmtag { "mantra_name" "filter" }
                parmtag { "spare_category" "Shading" }
            }
            parm {
                name    "vm_volumefilterwidth"
                label   "Volume Filter Width"
                type    float
                default { "1" }
                range   { 0.001 5 }
                parmtag { "mantra_class" "object" }
                parmtag { "mantra_name" "filterwidth" }
                parmtag { "spare_category" "Shading" }
            }
            parm {
                name    "vm_matte"
                label   "Matte shading"
                type    toggle
                default { "0" }
                parmtag { "mantra_class" "object" }
                parmtag { "mantra_name" "matte" }
                parmtag { "spare_category" "Shading" }
            }
            parm {
                name    "vm_rayshade"
                label   "Raytrace Shading"
                type    toggle
                default { "0" }
                parmtag { "mantra_class" "object" }
                parmtag { "mantra_name" "rayshade" }
                parmtag { "spare_category" "Shading" }
            }
        }

        group {
            name    "folder0_1"
            label   "Sampling"

            parm {
                name    "geo_velocityblur"
                label   "Geometry Velocity Blur"
                type    toggle
                default { "0" }
                disablewhen "{ allowmotionblur == 0 }"
                parmtag { "spare_category" "Sampling" }
            }
        }

        group {
            name    "folder0_2"
            label   "Dicing"

            parm {
                name    "vm_shadingquality"
                label   "Shading Quality"
                type    float
                default { "1" }
                range   { 0 10 }
                parmtag { "mantra_class" "object" }
                parmtag { "mantra_name" "shadingquality" }
                parmtag { "spare_category" "Dicing" }
            }
            parm {
                name    "vm_flatness"
                label   "Dicing Flatness"
                type    float
                default { "0.05" }
                range   { 0 1 }
                parmtag { "mantra_class" "object" }
                parmtag { "mantra_name" "flatness" }
                parmtag { "spare_category" "Dicing" }
            }
            parm {
                name    "vm_raypredice"
                label   "Ray Predicing"
                type    integer
                default { "0" }
                menu {
                    "0" "Disable Predicing"
                    "1" "Full Predicing"
                    "2" "Precompute Bounds"
                }
                range   { 0 10 }
                parmtag { "mantra_class" "object" }
                parmtag { "mantra_name" "raypredice" }
                parmtag { "spare_category" "Dicing" }
            }
            parm {
                name    "vm_curvesurface"
                label   "Shade Curves As Surfaces"
                type    toggle
                default { "0" }
                parmtag { "mantra_class" "object" }
                parmtag { "mantra_name" "curvesurface" }
                parmtag { "spare_category" "Dicing" }
            }
        }

        group {
            name    "folder0_3"
            label   "Geometry"

            parm {
                name    "vm_rmbackface"
                label   "Backface Removal"
                type    toggle
                default { "0" }
                parmtag { "mantra_class" "object" }
                parmtag { "mantra_name" "rmbackface" }
                parmtag { "spare_category" "Geometry" }
            }
            parm {
                name    "shop_geometrypath"
                label   "Procedural Shader"
                type    oppath
                default { "" }
                parmtag { "opfilter" "!!SHOP/GEOMETRY!!" }
                parmtag { "oprelative" "." }
                parmtag { "spare_category" "Geometry" }
            }
            parm {
                name    "vm_forcegeometry"
                label   "Force Procedural Geometry Output"
                type    toggle
                default { "1" }
                parmtag { "spare_category" "Geometry" }
            }
            parm {
                name    "vm_rendersubdcurves"
                label   "Render Polygon Curves As Subdivision (Mantra)"
                type    toggle
                default { "0" }
                parmtag { "mantra_class" "object" }
                parmtag { "mantra_name" "rendersubdcurves" }
                parmtag { "spare_category" "Geometry" }
            }
            parm {
                name    "vm_renderpoints"
                label   "Render As Points (Mantra)"
                type    integer
                default { "2" }
                menu {
                    "0" "No Point Rendering"
                    "1" "Render Only Points"
                    "2" "Render Unconnected Points"
                }
                range   { 0 10 }
                parmtag { "mantra_class" "object" }
                parmtag { "mantra_name" "renderpoints" }
                parmtag { "spare_category" "Geometry" }
            }
            parm {
                name    "vm_renderpointsas"
                label   "Render Points As (Mantra)"
                type    integer
                default { "0" }
                disablewhen "{ vm_renderpoints == 0 }"
                menu {
                    "0" "Spheres"
                    "1" "Circles"
                }
                range   { 0 10 }
                parmtag { "mantra_class" "object" }
                parmtag { "mantra_name" "renderpointsas" }
                parmtag { "spare_category" "Geometry" }
            }
            parm {
                name    "vm_usenforpoints"
                label   "Use N For Point Rendering"
                type    toggle
                default { "0" }
                disablewhen "{ vm_renderpoints == 0 }"
                parmtag { "mantra_class" "object" }
                parmtag { "mantra_name" "usenforpoints" }
                parmtag { "spare_category" "Geometry" }
            }
            parm {
                name    "vm_pointscale"
                label   "Point Scale"
                type    float
                default { "1" }
                disablewhen "{ vm_renderpoints == 0 }"
                range   { 0! 10 }
                parmtag { "mantra_class" "object" }
                parmtag { "mantra_name" "pointscale" }
                parmtag { "spare_category" "Geometry" }
            }
            parm {
                name    "vm_pscalediameter"
                label   "Treat Point Scale as Diameter Instead of Radius"
                type    toggle
                default { "0" }
                parmtag { "mantra_class" "object" }
                parmtag { "mantra_name" "pscalediameter" }
                parmtag { "spare_category" "Geometry" }
            }
            parm {
                name    "vm_metavolume"
                label   "Metaballs as Volume"
                type    toggle
                default { "0" }
                parmtag { "mantra_class" "object" }
                parmtag { "mantra_name" "metavolume" }
                parmtag { "spare_category" "Geometry" }
            }
            parm {
                name    "vm_coving"
                label   "Coving"
                type    integer
                default { "1" }
                menu {
                    "0" "Disable Coving"
                    "1" "Coving for displacement/sub-d"
                    "2" "Coving for all primitives"
                }
                range   { 0 10 }
                parmtag { "mantra_class" "object" }
                parmtag { "mantra_name" "coving" }
                parmtag { "spare_category" "Geometry" }
            }
            parm {
                name    "vm_materialoverride"
                label   "Material Override"
                type    string
                default { "compact" }
                menu {
                    "none"      "Disabled"
                    "full"      "Evaluate for Each Primitve/Point"
                    "compact"   "Evaluate Once"
                }
                parmtag { "spare_category" "Geometry" }
            }
            parm {
                name    "vm_overridedetail"
                label   "Ignore Geometry Attribute Shaders"
                type    toggle
                default { "0" }
                parmtag { "mantra_class" "object" }
                parmtag { "mantra_name" "overridedetail" }
                parmtag { "spare_category" "Geometry" }
            }
            parm {
                name    "vm_procuseroottransform"
                label   "Proc Use Root Transform"
                type    toggle
                default { "1" }
                parmtag { "mantra_class" "object" }
                parmtag { "mantra_name" "procuseroottransform" }
                parmtag { "spare_category" "Geometry" }
            }
        }

    }

    group {
        name    "stdswitcher4_2"
        label   "Misc"

        parm {
            name    "use_dcolor"
            baseparm
            label   "Set Wireframe Color"
            export  none
        }
        parm {
            name    "dcolor"
            baseparm
            label   "Wireframe Color"
            export  none
        }
        parm {
            name    "picking"
            baseparm
            label   "Viewport Selecting Enabled"
            export  none
        }
        parm {
            name    "pickscript"
            baseparm
            label   "Select Script"
            export  none
        }
        parm {
            name    "caching"
            baseparm
            label   "Cache Object Transform"
            export  none
        }
        parm {
            name    "vport_shadeopen"
            baseparm
            label   "Shade Open Curves In Viewport"
            export  none
        }
        parm {
            name    "vport_displayassubdiv"
            baseparm
            label   "Display as Subdivision in Viewport"
            invisible
            export  none
        }
        parm {
            name    "vport_onionskin"
            baseparm
            label   "Onion Skinning"
            export  none
        }
    }

0707070000010000000006660000000000000000010000001331302235300001600000005054obj/geo1.parm {
version 0.8
stdswitcher	[ 0	locks=0 ]	(	0	0	0	)
xOrd	[ 0	locks=0 ]	(	"srt"	)
rOrd	[ 0	locks=0 ]	(	"xyz"	)
t	[ 0	locks=0 ]	(	0	0	0	)
r	[ 0	locks=0 ]	(	0	0	0	)
s	[ 0	locks=0 ]	(	1	1	1	)
p	[ 0	locks=0 ]	(	0	0	0	)
pr	[ 0	locks=0 ]	(	0	0	0	)
scale	[ 0	locks=0 ]	(	1	)
pre_xform	[ 0	locks=0 ]	(	0	)
keeppos	[ 0	locks=0 ]	(	"off"	)
childcomp	[ 0	locks=0 ]	(	"off"	)
constraints_on	[ 0	locks=0 ]	(	"off"	)
constraints_path	[ 0	locks=0 ]	(	""	)
lookatpath	[ 0	locks=0 ]	(	""	)
lookupobjpath	[ 0	locks=0 ]	(	""	)
lookup	[ 0	locks=0 ]	(	on	)
pathobjpath	[ 0	locks=0 ]	(	""	)
roll	[ 0	locks=0 ]	(	0	)
pos	[ 0	locks=0 ]	(	0	)
uparmtype	[ 0	locks=0 ]	(	"arc"	)
pathorient	[ 0	locks=0 ]	(	1	)
up	[ 0	locks=0 ]	(	0	1	0	)
bank	[ 0	locks=0 ]	(	0	)
shop_materialpath	[ 0	locks=0 ]	(	""	)
shop_materialopts	[ 0	locks=0 ]	(	0	)
tdisplay	[ 0	locks=0 ]	(	"off"	)
display	[ 0	locks=0 ]	(	1	)
use_dcolor	[ 0	locks=0 ]	(	"off"	)
dcolor	[ 0	locks=0 ]	(	1	1	1	)
picking	[ 0	locks=0 ]	(	"on"	)
pickscript	[ 0	locks=0 ]	(	""	)
caching	[ 0	locks=0 ]	(	"on"	)
vport_shadeopen	[ 0	locks=0 ]	(	"off"	)
vport_displayassubdiv	[ 0	locks=0 ]	(	"off"	)
vport_onionskin	[ 0	locks=0 ]	(	"off"	)
stdswitcher4	[ 0	locks=0 ]	(	0	0	0	)
viewportlod	[ 0	locks=0 ]	(	"full"	)
vm_rendervisibility	[ 0	locks=0 ]	(	*	)
vm_rendersubd	[ 0	locks=0 ]	(	"off"	)
vm_subdstyle	[ 0	locks=0 ]	(	mantra_catclark	)
vm_subdgroup	[ 0	locks=0 ]	(	""	)
vm_osd_quality	[ 0	locks=0 ]	(	1	)
vm_osd_vtxinterp	[ 0	locks=0 ]	(	2	)
vm_osd_fvarinterp	[ 0	locks=0 ]	(	4	)
folder0	[ 0	locks=0 ]	(	0	0	0	0	)
categories	[ 0	locks=0 ]	(	""	)
reflectmask	[ 0	locks=0 ]	(	*	)
refractmask	[ 0	locks=0 ]	(	*	)
lightmask	[ 0	locks=0 ]	(	*	)
lightcategories	[ 0	locks=0 ]	(	*	)
vm_volumefilter	[ 0	locks=0 ]	(	box	)
vm_volumefilterwidth	[ 0	locks=0 ]	(	1	)
vm_matte	[ 0	locks=0 ]	(	"off"	)
vm_rayshade	[ 0	locks=0 ]	(	"off"	)
geo_velocityblur	[ 0	locks=0 ]	(	"off"	)
vm_shadingquality	[ 0	locks=0 ]	(	1	)
vm_flatness	[ 0	locks=0 ]	(	0.050000000000000003	)
vm_raypredice	[ 0	locks=0 ]	(	0	)
vm_curvesurface	[ 0	locks=0 ]	(	"off"	)
vm_rmbackface	[ 0	locks=0 ]	(	"off"	)
shop_geometrypath	[ 0	locks=0 ]	(	""	)
vm_forcegeometry	[ 0	locks=0 ]	(	"on"	)
vm_rendersubdcurves	[ 0	locks=0 ]	(	"off"	)
vm_renderpoints	[ 0	locks=0 ]	(	2	)
vm_renderpointsas	[ 0	locks=0 ]	(	0	)
vm_usenforpoints	[ 0	locks=0 ]	(	"off"	)
vm_pointscale	[ 0	locks=0 ]	(	1	)
vm_pscalediameter	[ 0	locks=0 ]	(	"off"	)
vm_metavolume	[ 0	locks=0 ]	(	"off"	)
vm_coving	[ 0	locks=0 ]	(	1	)
vm_materialoverride	[ 0	locks=0 ]	(	compact	)
vm_overridedetail	[ 0	locks=0 ]	(	"off"	)
vm_procuseroottransform	[ 0	locks=0 ]	(	"on"	)
}
0707070000010000000006660000000000000000010000001331302235300002200000000041obj/geo1.userdata     ___Version___    16.5.4960707070000010000000006660000000000000000010000001331302235300004600000000055obj/geo1/testgeometry_rubbertoy1.init type = testgeometry_rubbertoy
matchesdef = 1
0707070000010000000006660000000000000000010000001331302235300004500000000735obj/geo1/testgeometry_rubbertoy1.def sopflags sopflags = 
comment ""
position -1.11074 2.76648
connectornextid 1
flags =  lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
outputsNamed3
{
0 "output1"
}
inputsNamed3
{
}
inputs
{
}
stat
{
  create 1529617668
  modify 1529617702
  author mikel@mikembp-sesi.local
  access 0777
}
color UT_Color RGB 0.52 0.8 0.9 
delscript ""
exprlanguage hscript
end
0707070000010000000006660000000000000000010000001331302235300004600000000221obj/geo1/testgeometry_rubbertoy1.parm {
version 0.8
t	[ 0	locks=0 ]	(	0	0	0	)
uniformscale	[ 0	locks=0 ]	(	1	)
difficulty	[ 0	locks=0 ]	(	"hard"	)
addshader	[ 0	locks=0 ]	(	"off"	)
}
0707070000010000000006660000000000000000010000001331302235300005200000000137obj/geo1/testgeometry_rubbertoy1.userdata     ___Version___      ___toolcount___    1 ___toolid___    sop_testgeometry_rubbertoy0707070000010000000006660000000000000000010000001331302235300004000000000060obj/geo1/sop_rbd_fracture1.init type = gamedev::sop_rbd_fracture
matchesdef = 1
0707070000010000000006660000000000000000010000001331302235300003700000001012obj/geo1/sop_rbd_fracture1.def sopflags sopflags = 
comment ""
position -1.11074 -1.74359
connectornextid 2
flags =  lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
outputsNamed3
{
1 "output1"
}
inputsNamed3
{
0 	transform1 1 1 "input1"
}
inputs
{
0 	transform1 0 1
}
stat
{
  create 1529617717
  modify 1529617764
  author mikel@mikembp-sesi.local
  access 0777
}
color UT_Color RGB 0.8 0.8 0.8 
delscript ""
exprlanguage hscript
end
0707070000010000000006660000000000000000010000001331302235300004000000003310obj/geo1/sop_rbd_fracture1.parm {
version 0.8
folder0	[ 0	locks=0 ]	(	3	3	3	3	)
scatter_pts	[ 0	locks=0 ]	(	30	)
cell_scale	[ 0	locks=0 ]	(	1	1	1	)
seed	[ 0	locks=0 ]	(	0	)
sampling_divs	[ 0	locks=0 ]	(	50	)
clustering	[ 0	locks=0 ]	(	"off"	)
number_of_clusters	[ 0	locks=0 ]	(	30	)
folder3	[ 0	locks=0 ]	(	0	)
additional_scatter_points	[ 0	locks=0 ]	(	100	)
input_declusters	[ 0	locks=0 ]	(	"off"	)
noise_strength	[ 0	locks=0 ]	(	1	)
ramp	[ 0	locks=0 ]	(	4	)
basis	[ 0	locks=0 ]	(	simplex	)
freq	[ 0	locks=0 ]	(	1	1	1	1	)
offset	[ 0	locks=0 ]	(	0	0	0	0	)
inside_material	[ 0	locks=0 ]	(	""	)
inside_normal_angle	[ 0	locks=0 ]	(	35	)
generate_inside_uvs	[ 0	locks=0 ]	(	"off"	)
inside_uvs_tiling	[ 0	locks=0 ]	(	10	)
inside_uv_collision	[ 0	locks=0 ]	(	"off"	)
addinteriordetail	[ 0	locks=0 ]	(	"off"	)
detailsize	[ 0	locks=0 ]	(	0.25	)
intnoiseamp	[ 0	locks=0 ]	(	0.10000000000000001	)
intnoisefreq	[ 0	locks=0 ]	(	2.5	2.5	2.5	)
intnoiseoffset	[ 0	locks=0 ]	(	0	0	0	)
reduce_interior_detail	[ 0	locks=0 ]	(	50	)
do_edge_detail	[ 0	locks=0 ]	(	"off"	)
edge_noise_strength	[ 0	locks=0 ]	(	1	)
edge_noise_scale	[ 0	locks=0 ]	(	0.10000000000000001	)
visualize_uvs	[ 0	locks=0 ]	(	"off"	)
color_pieces	[ 0	locks=0 ]	(	"off"	)
vis_before_cluster	[ 0	locks=0 ]	(	"off"	)
explode_pieces	[ 0	locks=0 ]	(	0	)
process_vis	[ 0	locks=0 ]	(	"0"	)
ramp1pos	[ 0	locks=0 ]	(	0	)
ramp1value	[ 0	locks=0 ]	(	0	)
ramp1interp	[ 0	locks=0 ]	(	"linear"	)
ramp2pos	[ 0	locks=0 ]	(	0.52770084142684937	)
ramp2value	[ 0	locks=0 ]	(	0	)
ramp2interp	[ 0	locks=0 ]	(	"linear"	)
ramp3pos	[ 0	locks=0 ]	(	0.57340717315673828	)
ramp3value	[ 0	locks=0 ]	(	1	)
ramp3interp	[ 0	locks=0 ]	(	"linear"	)
ramp4pos	[ 0	locks=0 ]	(	1	)
ramp4value	[ 0	locks=0 ]	(	1	)
ramp4interp	[ 0	locks=0 ]	(	"linear"	)
}
0707070000010000000006660000000000000000010000001331302235300004400000000031obj/geo1/sop_rbd_fracture1.userdata     ___Version___     0707070000010000000006660000000000000000010000001331302235300003400000000054obj/geo1/rbd_director1.init type = gamedev::rbd_director
matchesdef = 1
0707070000010000000006660000000000000000010000001331302235300003300000001030obj/geo1/rbd_director1.def sopflags sopflags = 
comment ""
position -1.11074 -3.12614
connectornextid 2
flags =  lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
outputsNamed3
{
1 "output1"
}
inputsNamed3
{
0 	sop_rbd_fracture1 1 1 "input1"
}
inputs
{
0 	sop_rbd_fracture1 0 1
}
stat
{
  create 1529617743
  modify 1529619434
  author mikel@mikembp-sesi.local
  access 0777
}
color UT_Color RGB 0.8 0.8 0.8 
delscript ""
exprlanguage hscript
end
0707070000010000000006660000000000000000010000001331302235300003300000000717obj/geo1/rbd_director1.chn {
    channel input2check {
      lefttype = extend
      righttype = extend
      flags = 0
      segment { length = 0 expr = npoints(opinputpath(\".\",1))>0 }
    }
    channel forceframerangex {
      lefttype = extend
      righttype = extend
      flags = 0
      segment { length = 0 expr = $RFSTART }
    }
    channel forceframerangey {
      lefttype = extend
      righttype = extend
      flags = 0
      segment { length = 0 expr = $RFEND }
    }
  }
0707070000010000000006660000000000000000010000001331302235300003400000001311obj/geo1/rbd_director1.parm {
version 0.8
animatedstatic	[ 0	locks=0 ]	(	"0"	)
animatestatic	[ 0	locks=0 ]	(	"on"	)
activatestaticframe	[ 0	locks=0 ]	(	1	)
forcesfolder	[ 0	locks=0 ]	(	0	0	)
folder1	[ 0	locks=0 ]	(	0	)
input2check	[ 0	locks=0 ]	(	[ input2check	0 ] 	)
createforcefromobject	[ 0	locks=0 ]	(	"off"	)
impulse2	[ 0	locks=0 ]	(	"v"	)
force	[ 0	locks=0 ]	(	10	)
normalizeforce	[ 0	locks=0 ]	(	"off"	)
applyforceactivate	[ 0	locks=0 ]	(	"off"	)
forceframerange	[ 0	locks=0 ]	(	[ forceframerangex	0 ] 	[ forceframerangey	0 ] 	)
impulse	[ 0	locks=0 ]	(	v	)
uniformfolder	[ 0	locks=0 ]	(	0	)
adduniform	[ 0	locks=0 ]	(	"off"	)
uniformforce	[ 0	locks=0 ]	(	100	0	0	)
visactive	[ 0	locks=0 ]	(	"off"	)
activecd	[ 0	locks=0 ]	(	1	0	1	)
}
0707070000010000000006660000000000000000010000001331302235300004000000000061obj/geo1/rbd_director1.userdata     ___Version___      	wirestyle    rounded0707070000010000000006660000000000000000010000001331302235300003200000000052obj/geo1/rbd_solver1.init type = gamedev::rbd_solver
matchesdef = 1
0707070000010000000006660000000000000000010000001331302235300003100000001020obj/geo1/rbd_solver1.def sopflags sopflags = 
comment ""
position -1.11074 -4.37446
connectornextid 2
flags =  lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
outputsNamed3
{
1 "output1"
}
inputsNamed3
{
0 	rbd_director1 1 1 "input1"
}
inputs
{
0 	rbd_director1 0 1
}
stat
{
  create 1529617753
  modify 1529619666
  author mikel@mikembp-sesi.local
  access 0777
}
color UT_Color RGB 0.8 0.8 0.8 
delscript ""
exprlanguage hscript
end
0707070000010000000006660000000000000000010000001331302235300003200000001217obj/geo1/rbd_solver1.parm {
version 0.8
resetsim	[ 0	locks=0 ]	(	0	)
bounce	[ 0	locks=0 ]	(	0.5	)
friction	[ 0	locks=0 ]	(	1	)
density	[ 0	locks=0 ]	(	1000	)
gravity	[ 0	locks=0 ]	(	-9.8066499999999994	)
groundplanefolder	[ 0	locks=0 ]	(	1	1	)
groundplane	[ 0	locks=0 ]	(	"on"	)
gpbounce	[ 0	locks=0 ]	(	0.5	)
gpfriction	[ 0	locks=0 ]	(	1	)
gridsize	[ 0	locks=0 ]	(	20	20	)
position	[ 0	locks=0 ]	(	0	0	0	)
calculateimpacts	[ 0	locks=0 ]	(	"on"	)
displayimpact	[ 0	locks=0 ]	(	"on"	)
timethreshold	[ 0	locks=0 ]	(	0.10000000000000001	)
impactthreshold	[ 0	locks=0 ]	(	10	)
distancethreshold	[ 0	locks=0 ]	(	0.050000000000000003	)
forceimpactobject	[ 0	locks=0 ]	(	groundplane1	)
}
0707070000010000000006660000000000000000010000001331302235300003600000000031obj/geo1/rbd_solver1.userdata     ___Version___     0707070000010000000006660000000000000000010000001331302235300003300000000053obj/geo1/niagara_rop1.init type = gamedev::niagara_rop
matchesdef = 1
0707070000010000000006660000000000000000010000001331302235300003200000000776obj/geo1/niagara_rop1.def sopflags sopflags = 
comment ""
position -1.11074 -5.70138
connectornextid 1
flags =  lock off model off template off footprint off xray off bypass off display on render on highlight off unload off savedata off compress on colordefault on exposed on
outputsNamed3
{
}
inputsNamed3
{
0 	rbd_solver1 1 1 "input1"
}
inputs
{
0 	rbd_solver1 0 1
}
stat
{
  create 1529617944
  modify 1529619605
  author mikel@mikembp-sesi.local
  access 0777
}
color UT_Color RGB 0.8 0.8 0.8 
delscript ""
exprlanguage hscript
end
0707070000010000000006660000000000000000010000001331302235300003200000000434obj/geo1/niagara_rop1.chn {
    channel startend1 {
      lefttype = extend
      righttype = extend
      flags = 0
      segment { length = 0 expr = $RFSTART }
    }
    channel startend2 {
      lefttype = extend
      righttype = extend
      flags = 0
      segment { length = 0 expr = $RFEND }
    }
  }
0707070000010000000006660000000000000000010000001331302235300003300000000623obj/geo1/niagara_rop1.parm {
version 0.8
rendercsv	[ 0	locks=0 ]	(	0	)
startend	[ 0	locks=0 ]	(	[ startend1	1 ] 	[ startend2	100 ] 	10	)
csvpath	[ 0	locks=0 ]	(	$HIP/export/destruction_test.csv	)
impacts	[ 0	locks=0 ]	(	"on"	)
split	[ 0	locks=0 ]	(	"on"	)
interpolate	[ 0	locks=0 ]	(	"on"	)
cachesplit	[ 0	locks=0 ]	(	0	)
preview	[ 0	locks=0 ]	(	"on"	)
dopnet	[ 8	locks=0 ]	(	""	)
objpattern	[ 0	locks=0 ]	(	"* ^groundplane1"	)
}
0707070000010000000006660000000000000000010000001331302235300003700000000061obj/geo1/niagara_rop1.userdata     ___Version___      	wirestyle    rounded0707070000010000000006660000000000000000010000001331302235300001000000000662vex.def comment ""
position 5.5 2.5
connectornextid 0
flags =  lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
outputsNamed3
{
}
inputsNamed3
{
}
inputs
{
}
stat
{
  create 1529617572
  modify 1529617573
  author mikel@mikembp-sesi.local
  access 0777
}
color UT_Color RGB 0.8 0.8 0.8 
delscript ""
exprlanguage hscript
end
0707070000010000000006660000000000000000010000001331302235300001100000000020vex.parm {
version 0.8
}
0707070000010000000006660000000000000000010000001331302235300001500000000041vex.userdata     ___Version___    16.5.4960707070000010000000006660000000000000000010000001331302235300001000000000660mat.def comment ""
position 5 1.5
connectornextid 0
flags =  lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
outputsNamed3
{
}
inputsNamed3
{
}
inputs
{
}
stat
{
  create 1529617572
  modify 1529617573
  author mikel@mikembp-sesi.local
  access 0777
}
color UT_Color RGB 0.8 0.8 0.8 
delscript ""
exprlanguage hscript
end
0707070000010000000006660000000000000000010000001331302235300001100000000020mat.parm {
version 0.8
}
0707070000010000000006660000000000000000010000001331302235300001500000000041mat.userdata     ___Version___    16.5.4960707070000010000000006660000000000000000010000001331302235300003000000000037obj/geo1/polyfill1.init type = polyfill
matchesdef = 0
0707070000010000000006660000000000000000010000001331302235300002700000001043obj/geo1/polyfill1.def sopflags sopflags = 
comment ""
position -1.11074 1.73292
connectornextid 2
flags =  lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
outputsNamed3
{
1 "output1"
}
inputsNamed3
{
0 	testgeometry_rubbertoy1 0 1 "input1"
}
inputs
{
0 	testgeometry_rubbertoy1 0 1
}
stat
{
  create 1529617687
  modify 1529617702
  author mikel@mikembp-sesi.local
  access 0777
}
color UT_Color RGB 0.8 0.8 0.8 
delscript ""
exprlanguage hscript
end
0707070000010000000006660000000000000000010000001331302235300003000000001516obj/geo1/polyfill1.parm {
version 0.8
group	[ 0	locks=0 ]	(	""	)
fillmode	[ 0	locks=0 ]	(	"quads"	)
completeloops	[ 0	locks=0 ]	(	"on"	)
reverse	[ 0	locks=0 ]	(	"off"	)
uniquepoints	[ 0	locks=0 ]	(	"off"	)
updatenorms	[ 0	locks=0 ]	(	"on"	)
looptoggle	[ 0	locks=0 ]	(	"off"	)
loopdistance	[ 0	locks=0 ]	(	0.25	)
smoothtoggle	[ 0	locks=0 ]	(	"on"	)
smoothstrength	[ 0	locks=0 ]	(	50	)
perfectgrid	[ 0	locks=0 ]	(	0	)
corneroffset	[ 0	locks=0 ]	(	0	)
customcornerstoggle	[ 0	locks=0 ]	(	"off"	)
customcorners	[ 0	locks=0 ]	(	""	)
subdivtoggle	[ 0	locks=0 ]	(	"on"	)
translate	[ 0	locks=0 ]	(	0.25	)
tangentstrength	[ 0	locks=0 ]	(	0.40000000000000002	)
groups	[ 0	locks=0 ]	(	0	)
patchgrouptoggle	[ 0	locks=0 ]	(	"off"	)
patchgroup	[ 0	locks=0 ]	(	patch	)
loopgrouptoggle	[ 0	locks=0 ]	(	"off"	)
loopgroup	[ 0	locks=0 ]	(	loopgroup	)
groupappend	[ 0	locks=0 ]	(	"off"	)
}
0707070000010000000006660000000000000000010000001331302235300003400000000041obj/geo1/polyfill1.userdata     ___Version___    16.5.4960707070000010000000006660000000000000000010000001331302235300002700000000043obj/geo1/boolean1.init type = boolean::2.0
matchesdef = 0
0707070000010000000006660000000000000000010000001331302235300002600000001010obj/geo1/boolean1.def sopflags sopflags = 
comment ""
position -1.11074 0.753054
connectornextid 2
flags =  lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
outputsNamed3
{
1 "output1"
}
inputsNamed3
{
0 	polyfill1 1 1 "input1"
}
inputs
{
0 	polyfill1 0 1
}
stat
{
  create 1529617692
  modify 1529617713
  author mikel@mikembp-sesi.local
  access 0777
}
color UT_Color RGB 0.8 0.8 0.8 
delscript ""
exprlanguage hscript
end
0707070000010000000006660000000000000000010000001331302235300002700000004266obj/geo1/boolean1.parm {
version 0.8
inputa	[ 0	locks=0 ]	(	0	)
agroup	[ 0	locks=0 ]	(	""	)
asurface	[ 0	locks=0 ]	(	"solid"	)
resolvea	[ 0	locks=0 ]	(	"on"	)
inputb	[ 0	locks=0 ]	(	0	)
bgroup	[ 0	locks=0 ]	(	""	)
bsurface	[ 0	locks=0 ]	(	"solid"	)
resolveb	[ 0	locks=0 ]	(	"on"	)
output	[ 0	locks=0 ]	(	0	)
booleanop	[ 0	locks=0 ]	(	"intersect"	)
subtractchoices	[ 0	locks=0 ]	(	"aminusb"	)
shatterchoices	[ 0	locks=0 ]	(	"apieces"	)
opencurvesonly	[ 0	locks=0 ]	(	"on"	)
generateaaseams	[ 0	locks=0 ]	(	"on"	)
generatebbseams	[ 0	locks=0 ]	(	"on"	)
generateabseams	[ 0	locks=0 ]	(	"on"	)
adepth	[ 0	locks=0 ]	(	1	1000	)
bdepth	[ 0	locks=0 ]	(	1	1000	)
windingop	[ 0	locks=0 ]	(	"arange"	)
mergenbrs	[ 0	locks=0 ]	(	"off"	)
detriangulate	[ 0	locks=0 ]	(	"all"	)
removeinlinepoints	[ 0	locks=0 ]	(	"on"	)
uniqueseams	[ 0	locks=0 ]	(	"off"	)
useaxapolys	[ 0	locks=0 ]	(	"off"	)
axapolys	[ 0	locks=0 ]	(	axapolys	)
useaxbpolys	[ 0	locks=0 ]	(	"off"	)
axbpolys	[ 0	locks=0 ]	(	axbpolys	)
useaxalist	[ 0	locks=0 ]	(	"off"	)
axalist	[ 0	locks=0 ]	(	axalist	)
useaxblist	[ 0	locks=0 ]	(	"off"	)
axblist	[ 0	locks=0 ]	(	axblist	)
collapsetinyedges	[ 0	locks=0 ]	(	"on"	)
lengththreshold	[ 0	locks=0 ]	(	1.0000000000000001e-05	)
outputprimgroups	[ 0	locks=0 ]	(	0	)
useapolys	[ 0	locks=0 ]	(	"off"	)
apolys	[ 0	locks=0 ]	(	apolys	)
useainsideb	[ 0	locks=0 ]	(	"off"	)
ainsideb	[ 0	locks=0 ]	(	ainsideb	)
useaoutsideb	[ 0	locks=0 ]	(	"off"	)
aoutsideb	[ 0	locks=0 ]	(	aoutsideb	)
usebpolys	[ 0	locks=0 ]	(	"off"	)
bpolys	[ 0	locks=0 ]	(	bpolys	)
usebinsidea	[ 0	locks=0 ]	(	"off"	)
binsidea	[ 0	locks=0 ]	(	binsidea	)
useboutsidea	[ 0	locks=0 ]	(	"off"	)
boutsidea	[ 0	locks=0 ]	(	boutsidea	)
useaboverlap	[ 0	locks=0 ]	(	"off"	)
aboverlap	[ 0	locks=0 ]	(	aboverlap	)
useaonlypieces	[ 0	locks=0 ]	(	"off"	)
aonlypieces	[ 0	locks=0 ]	(	apieces	)
usebonlypieces	[ 0	locks=0 ]	(	"off"	)
bonlypieces	[ 0	locks=0 ]	(	bpieces	)
useabpieces	[ 0	locks=0 ]	(	"off"	)
abpieces	[ 0	locks=0 ]	(	abpieces	)
outputedgegroups	[ 0	locks=0 ]	(	0	)
useaaseamedges	[ 0	locks=0 ]	(	"off"	)
aaseamedges	[ 0	locks=0 ]	(	aseams	)
usebbseamedges	[ 0	locks=0 ]	(	"off"	)
bbseamedges	[ 0	locks=0 ]	(	bseams	)
useabseamedges	[ 0	locks=0 ]	(	"off"	)
abseamedges	[ 0	locks=0 ]	(	abseams	)
}
0707070000010000000006660000000000000000010000001331302235300003300000000041obj/geo1/boolean1.userdata     ___Version___    16.5.4960707070000010000000006660000000000000000010000001331302235300003100000000034obj/geo1/transform1.init type = xform
matchesdef = 0
0707070000010000000006660000000000000000010000001331302235300003000000001007obj/geo1/transform1.def sopflags sopflags = 
comment ""
position -1.11074 -0.414732
connectornextid 2
flags =  lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
outputsNamed3
{
1 "output1"
}
inputsNamed3
{
0 	boolean1 1 1 "input1"
}
inputs
{
0 	boolean1 0 1
}
stat
{
  create 1529617710
  modify 1529617734
  author mikel@mikembp-sesi.local
  access 0777
}
color UT_Color RGB 0.8 0.8 0.8 
delscript ""
exprlanguage hscript
end
0707070000010000000006660000000000000000010000001331302235300003100000001475obj/geo1/transform1.parm {
version 0.8
group	[ 0	locks=0 ]	(	""	)
grouptype	[ 0	locks=0 ]	(	"guess"	)
xOrd	[ 0	locks=0 ]	(	"srt"	)
rOrd	[ 0	locks=0 ]	(	"xyz"	)
t	[ 0	locks=0 ]	(	0	2	0	)
r	[ 0	locks=0 ]	(	0	0	0	)
s	[ 0	locks=0 ]	(	1	1	1	)
shear	[ 0	locks=0 ]	(	0	0	0	)
scale	[ 0	locks=0 ]	(	1	)
parmgroup_pivotxform	[ 0	locks=0 ]	(	0	)
p	[ 0	locks=0 ]	(	0	0	0	)
pr	[ 0	locks=0 ]	(	0	0	0	)
parmgroup_prexform	[ 0	locks=0 ]	(	0	)
prexform_xOrd	[ 0	locks=0 ]	(	"srt"	)
prexform_rOrd	[ 0	locks=0 ]	(	"xyz"	)
prexform_t	[ 0	locks=0 ]	(	0	0	0	)
prexform_r	[ 0	locks=0 ]	(	0	0	0	)
prexform_s	[ 0	locks=0 ]	(	1	1	1	)
prexform_shear	[ 0	locks=0 ]	(	0	0	0	)
movecentroid	[ 0	locks=0 ]	(	0	)
attribs	[ 0	locks=0 ]	(	*	)
updatenmls	[ 0	locks=0 ]	(	"off"	)
updateaffectednmls	[ 0	locks=0 ]	(	"on"	)
vlength	[ 0	locks=0 ]	(	"on"	)
invertxform	[ 0	locks=0 ]	(	"off"	)
}
0707070000010000000006660000000000000000010000001331302235300003500000000041obj/geo1/transform1.userdata     ___Version___    16.5.4960707070000010000000006660000000000000000010000001331302235300001700000000161obj/geo1.order 8
testgeometry_rubbertoy1
polyfill1
boolean1
transform1
sop_rbd_fracture1
rbd_director1
rbd_solver1
niagara_rop1
0707070000010000000006660000000000000000010000001331302235300001500000000002obj/geo1.net 1
0707070000010000000006660000000000000000010000001331302235300001000000000002obj.net 1
0707070000010000000006660000000000000000010000001331302235300001000000000660out.def comment ""
position 5 0.5
connectornextid 0
flags =  lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
outputsNamed3
{
}
inputsNamed3
{
}
inputs
{
}
stat
{
  create 1529617572
  modify 1529618737
  author mikel@mikembp-sesi.local
  access 0777
}
color UT_Color RGB 0.8 0.8 0.8 
delscript ""
exprlanguage hscript
end
0707070000010000000006660000000000000000010000001331302235300001100000000020out.parm {
version 0.8
}
0707070000010000000006660000000000000000010000001331302235300001500000000041out.userdata     ___Version___    16.5.4960707070000010000000006660000000000000000010000001331302235300001000000000002out.net 1
0707070000010000000006660000000000000000010000001331302235300001100000000663part.def comment ""
position 5.5 1.5
connectornextid 0
flags =  lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed off
outputsNamed3
{
}
inputsNamed3
{
}
inputs
{
}
stat
{
  create 1529617572
  modify 1529617574
  author mikel@mikembp-sesi.local
  access 0777
}
color UT_Color RGB 0.8 0.8 0.8 
delscript ""
exprlanguage hscript
end
0707070000010000000006660000000000000000010000001331302235300001200000000020part.parm {
version 0.8
}
0707070000010000000006660000000000000000010000001331302235300001600000000041part.userdata     ___Version___    16.5.4960707070000010000000006660000000000000000010000001331302235300001100000000002part.net 1
0707070000010000000006660000000000000000010000001331302235300000700000000660ch.def comment ""
position 4.5 1
connectornextid 0
flags =  lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
outputsNamed3
{
}
inputsNamed3
{
}
inputs
{
}
stat
{
  create 1529617572
  modify 1529617573
  author mikel@mikembp-sesi.local
  access 0777
}
color UT_Color RGB 0.8 0.8 0.8 
delscript ""
exprlanguage hscript
end
0707070000010000000006660000000000000000010000001331302235300001000000000020ch.parm {
version 0.8
}
0707070000010000000006660000000000000000010000001331302235300001400000000041ch.userdata     ___Version___    16.5.4960707070000010000000006660000000000000000010000001331302235300000700000000002ch.net 1
0707070000010000000006660000000000000000010000001331302235300001100000000656shop.def comment ""
position 5 3
connectornextid 0
flags =  lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
outputsNamed3
{
}
inputsNamed3
{
}
inputs
{
}
stat
{
  create 1529617572
  modify 1529617573
  author mikel@mikembp-sesi.local
  access 0777
}
color UT_Color RGB 0.8 0.8 0.8 
delscript ""
exprlanguage hscript
end
0707070000010000000006660000000000000000010000001331302235300001200000000020shop.parm {
version 0.8
}
0707070000010000000006660000000000000000010000001331302235300001600000000041shop.userdata     ___Version___    16.5.4960707070000010000000006660000000000000000010000001331302235300001100000000002shop.net 1
0707070000010000000006660000000000000000010000001331302235300001000000000662img.def comment ""
position 4.5 2.5
connectornextid 0
flags =  lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
outputsNamed3
{
}
inputsNamed3
{
}
inputs
{
}
stat
{
  create 1529617572
  modify 1529617574
  author mikel@mikembp-sesi.local
  access 0777
}
color UT_Color RGB 0.8 0.8 0.8 
delscript ""
exprlanguage hscript
end
0707070000010000000006660000000000000000010000001331302235300001100000000020img.parm {
version 0.8
}
0707070000010000000006660000000000000000010000001331302235300001500000000041img.userdata     ___Version___    16.5.4960707070000010000000006660000000000000000010000001331302235300001700000000032img/comp1.init type = img
matchesdef = 0
0707070000010000000006660000000000000000010000001331302235300001600000000656img/comp1.def comment ""
position 0 0
connectornextid 0
flags =  lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
outputsNamed3
{
}
inputsNamed3
{
}
inputs
{
}
stat
{
  create 1529617574
  modify 1529617574
  author mikel@mikembp-sesi.local
  access 0777
}
color UT_Color RGB 0.8 0.8 0.8 
delscript ""
exprlanguage hscript
end
0707070000010000000006660000000000000000010000001331302235300001700000000020img/comp1.parm {
version 0.8
}
0707070000010000000006660000000000000000010000001331302235300002300000000041img/comp1.userdata     ___Version___    16.5.4960707070000010000000006660000000000000000010000001331302235300001600000000002img/comp1.net 1
0707070000010000000006660000000000000000010000001331302235300001000000000002img.net 1
0707070000010000000006660000000000000000010000001331302235300001000000000002vex.net 1
0707070000010000000006660000000000000000010000001331302235300001000000000002mat.net 1
0707070000010000000006660000000000000000010000001331302235300002600000000000.scenefilevisualizers 0707070000010000000006660000000000000000010000001331302235300001500000070614.application networkeditor -p '{\n}\n'performance -c on -d on -f on -g off -k on -m off -n on -o on -t off -v on -y on -u on -e off -r absolute -w tree panetab12
chopview -a 0 -c "" -k 1 -m 1 -b 1 -e 1 -f 0 -g 0 -H 1 -i 0 -j 1 -l 0 -n 1 -V 0 -y 0 -B 0 -s 0 -S 0.209375 -u 0 -v 0 -h -10 310 -r -1.5 1.5 mike.panetab13
imgdispopt -m 256 -P on -M on -A on -g 2.2 -G "* ^P ^Pz ^N ^M ^B ^V ^Af ^Nt" -B 1 -v split -V 2 2 -d h -a off -i 2 -b 0.25 0.25 0.25 -o "" -h on -H on -c 0.8 0.8 0.8 -C 1 1 1 -S 1 1 0 -R 6 -F dc -D "" -I "" -f "" -s off -r 256 256 -p on -l on -t on
imgview -z 1 -p (none) 0 -c 0 -l on -s off -i imgview4
imgview2d  -V on -L on -G on -H on -P off -m 0 -p 0 1 -b 1 1 0 -g 2.2 -d "" -c -1 -t off -i on -X on imgview4 1
imgview2d  -V on -L on -G on -H on -P off -m 0 -p 0 1 -b 1 1 0 -g 2.2 -d "" -c -1 -t off -i on -X on imgview4 2
imgview2d  -V on -L on -G on -H on -P off -m 0 -p 0 1 -b 1 1 0 -g 2.2 -d "" -c -1 -t off -i on -X on imgview4 3
imgview2d  -V on -L on -G on -H on -P off -m 0 -p 0 1 -b 1 1 0 -g 2.2 -d "" -c -1 -t off -i on -X on imgview4 4
imgview2d  -V on -L on -G on -H on -P off -m 0 -p 0 1 -b 1 1 0 -g 2.2 -d "" -c -1 -t off -i on -X on imgview4 5
imgview2d  -V on -L on -G on -H on -P off -m 0 -p 0 1 -b 1 1 0 -g 2.2 -d "" -c -1 -t off -i on -X on imgview4 6
imgview2d  -V on -L on -G on -H on -P off -m 0 -p 0 1 -b 1 1 0 -g 2.2 -d "" -c -1 -t off -i on -X on imgview4 7
imgview2d  -V on -L on -G on -H on -P off -m 0 -p 0 1 -b 1 1 0 -g 2.2 -d "" -c -1 -t off -i on -X on imgview4 8
imgview2d  -V on -L on -G on -H on -P off -m 0 -p 0 1 -b 1 1 0 -g 2.2 -d "" -c -1 -t off -i on -X on imgview4 9
imgview2d  -V on -L on -G on -H on -P off -m 0 -p 0 1 -b 1 1 0 -g 2.2 -d "" -c -1 -t off -i on -X on imgview4 10
imgview2d  -V on -L on -G on -H on -P off -m 0 -p 0 1 -b 1 1 0 -g 2.2 -d "" -c -1 -t off -i on -X on imgview4 11
imgview2d  -V on -L on -G on -H on -P off -m 0 -p 0 1 -b 1 1 0 -g 2.2 -d "" -c -1 -t off -i on -X on imgview4 12
imgview2d  -V on -L on -G on -H on -P off -m 0 -p 0 1 -b 1 1 0 -g 2.2 -d "" -c -1 -t off -i on -X on imgview4 13
imgview2d  -V on -L on -G on -H on -P off -m 0 -p 0 1 -b 1 1 0 -g 2.2 -d "" -c -1 -t off -i on -X on imgview4 14
imgview2d  -V on -L on -G on -H on -P off -m 0 -p 0 1 -b 1 1 0 -g 2.2 -d "" -c -1 -t off -i on -X on imgview4 15
imgview2d  -V on -L on -G on -H on -P off -m 0 -p 0 1 -b 1 1 0 -g 2.2 -d "" -c -1 -t off -i on -X on imgview4 16
imgviewtime -V on -L on -G on -H on -P off -r 24 -u fr -g 0 -f on -e on -b on -d imgview4
imgviewhist -V on -L on -G on -H on -P off -c -1 -h 0 -i on imgview4 1
imgviewhist -V on -L on -G on -H on -P off -c -1 -h 0 -i on imgview4 2
imgviewhist -V on -L on -G on -H on -P off -c -1 -h 0 -i on imgview4 3
imgviewhist -V on -L on -G on -H on -P off -c -1 -h 0 -i on imgview4 4
imgviewhist -V on -L on -G on -H on -P off -c -1 -h 0 -i on imgview4 5
imgviewhist -V on -L on -G on -H on -P off -c -1 -h 0 -i on imgview4 6
imgviewhist -V on -L on -G on -H on -P off -c -1 -h 0 -i on imgview4 7
imgviewhist -V on -L on -G on -H on -P off -c -1 -h 0 -i on imgview4 8
imgviewhist -V on -L on -G on -H on -P off -c -1 -h 0 -i on imgview4 9
imgviewhist -V on -L on -G on -H on -P off -c -1 -h 0 -i on imgview4 10
imgviewhist -V on -L on -G on -H on -P off -c -1 -h 0 -i on imgview4 11
imgviewhist -V on -L on -G on -H on -P off -c -1 -h 0 -i on imgview4 12
imgviewhist -V on -L on -G on -H on -P off -c -1 -h 0 -i on imgview4 13
imgviewhist -V on -L on -G on -H on -P off -c -1 -h 0 -i on imgview4 14
imgviewhist -V on -L on -G on -H on -P off -c -1 -h 0 -i on imgview4 15
imgviewhist -V on -L on -G on -H on -P off -c -1 -h 0 -i on imgview4 16
viewerstow -b stow -x open -l stow -m hide -c hide -d open mike.panetab1.world
vieweroption -a 2 -h 0 -m 1 -r 'View: Mantra' mike.panetab1.world
viewergrouplist -g off -s 0 0 -c  on -t matchselect -m '*' -e on -p off -h on mike.panetab1.world
viewlayout -s 2 mike.panetab1.world
viewerinspect mike.panetab1.world mode ( objects ) object_properties ( ) prim_properties ( ) enable ( 0 ) magnify ( 1 )
viewtype -t perspective mike.panetab1.world.`vpname("mike.panetab1.world",2)`
viewtype -t ortho_top mike.panetab1.world.`vpname("mike.panetab1.world",1)`
viewtype -t ortho_front mike.panetab1.world.`vpname("mike.panetab1.world",3)`
viewtype -t ortho_right mike.panetab1.world.`vpname("mike.panetab1.world",4)`
viewname -l on -n aaaa3 mike.panetab1.world.`vpname("mike.panetab1.world",2)`
viewname -l on -n aaaa2 mike.panetab1.world.`vpname("mike.panetab1.world",1)`
viewname -l on -n aaaa1 mike.panetab1.world.`vpname("mike.panetab1.world",3)`
viewname -l on -n aaaa0 mike.panetab1.world.`vpname("mike.panetab1.world",4)`
viewname -l off -n persp1 mike.panetab1.world.`vpname("mike.panetab1.world",2)`
viewname -l off -n top1 mike.panetab1.world.`vpname("mike.panetab1.world",1)`
viewname -l off -n front1 mike.panetab1.world.`vpname("mike.panetab1.world",3)`
viewname -l off -n right1 mike.panetab1.world.`vpname("mike.panetab1.world",4)`
viewdispset -m off always -n off always -c off always -u off always -x off always -N off always -C off always -b off always -M off always -v off always -V off always -U off always -h off -P off -p off -f off -o on -F off -l on -L on -G off -B none -r unique scene mike.panetab1.world.persp1
viewdispset -m off always -n off always -c off always -u off always -x off always -N off always -C off always -b off always -M off always -v off always -V off always -U off always -h off -P off -p off -f off -o off -F off -l on -L on -G off -B none -r scene selectscene mike.panetab1.world.persp1
viewdispset -m off always -n off always -c off always -u off always -x off always -N off always -C off always -b off always -M off always -v off always -V off always -U off always -h off -P off -p off -f off -o off -F off -l on -L off -G on -B none -r unique ghostscene mike.panetab1.world.persp1
viewdispset -m off always -n off always -c off always -u off always -x off always -N off always -C off always -b off always -M off always -v off always -V off always -U off always -h off -P on -p off -f off -o on -F off -l on -L on -G off -B none -r unique display mike.panetab1.world.persp1
viewdispset -m off always -n off always -c off always -u off always -x off always -N off always -C off always -b off always -M off always -v off always -V off always -U off always -h off -P on -p off -f off -o off -F off -l on -L off -G off -B none -r unique current mike.panetab1.world.persp1
viewdispset -m off always -n off always -c off always -u off always -x off always -N off always -C off always -b off always -M off always -v off always -V off always -U off always -h off -P off -p off -f off -o off -F on -l on -L off -G on -B none -r unique template mike.panetab1.world.persp1
viewdisplay -B light -b off -d off -C 2 -e 1 -F on -f off -g on -G '*' -h off -H on -j off -J off -L on -n 0.2 -o off -O on -q on -r on -s off -t on -V 2 -z off -y off -x off -X off -U 4 -Y 4 -T on -R on -i on -D on -k off mike.panetab1.world.persp1
viewdisplay -Q on -m on -v on mike.panetab1.world.persp1
viewdisplay -W  off 0 0 mike.panetab1.world.persp1
viewdisplay -c on -l1 -K on -P points -p 6 mike.panetab1.world.persp1
viewdispopts -a on -b current -c 1 -C 60  -d  on -D 1 -g on -i on -n on -N 1000000 -o off -p 10 -r off -R off -S 512 -m 0.05 -s on -u uv -w 0.1 -W 0.9 -x on -X off mike.panetab1.world.persp1
vieweffect -a 0 -A 4 -b on -B 0 -d on -D on off -e 0.8 -E -30 -30 -100 -f 3 -F 0 -g 2.2 -G 0 -h 1 -H on -i on -I 1 -j on -J 20 -K 2 -k 1 -l '' -m on -M 512 -o off -O 3 -p off -P 3 -q 1 -Q 2 -r 1024 1024 -s 1 -t 100 -T 100 -u off -U off -v 128 128 128 -w 0.05 -W off -x 0.4 0.4 0.4 -X 0.2 0.2 0.2 -y 0.4 0.4 0.4 -Y 0.0025 0.0025 0.0025 -z 0.25 -Z 1 mike.panetab1.world.persp1
viewinfotext -m always mike.panetab1.world.persp1
viewlight  -a on -d on -e on -h on -l on -n 8 -s on mike.panetab1.world.persp1
viewbackground -b on -e on -q 1 -i off -m 0 0 -M 1 1 mike.panetab1.world.persp1
viewroto  -S file -F '' -C '' -a on -o 0 0 -s 1 1 -B 1 persp mike.panetab1.world.persp1
viewroto  -S file -F '' -C '' -a on -o 0 0 -s 1 1 -B 1 cam mike.panetab1.world.persp1
viewroto  -S file -F '' -C '' -a on -o 0 0 -s 1 1 -B 1 top mike.panetab1.world.persp1
viewroto  -S file -F '' -C '' -a on -o 0 0 -s 1 1 -B 1 front mike.panetab1.world.persp1
viewroto  -S file -F '' -C '' -a on -o 0 0 -s 1 1 -B 1 right mike.panetab1.world.persp1
viewroto  -S file -F '' -C '' -a on -o 0 0 -s 1 1 -B 1 bottom mike.panetab1.world.persp1
viewroto  -S file -F '' -C '' -a on -o 0 0 -s 1 1 -B 1 back mike.panetab1.world.persp1
viewroto  -S file -F '' -C '' -a on -o 0 0 -s 1 1 -B 1 left mike.panetab1.world.persp1
viewroto  -S file -F '$HH/pic/uvgrid_grey.pic' -C '' -a on -o 0 0 -s 1 1 -B 0.2 uv mike.panetab1.world.persp1
viewtransform mike.panetab1.world.persp1 version ( 3 )  flag ( F )  orthowidth ( 4.01627 )  focal ( 50 )  aperture ( 41.4214 )  window ( 0 1 0 1 )  winroll ( 0 )  clear ( 1 )  nearfar ( 0.1 100000 )  aspect ( 1.33333 )  pixelaspect ( 1 )  txyz ( -0.355863 1.16889 10.7027 )  pxyz ( -0.355863 1.16889 -0.897608 )  rotation ( -0.0938668 0.27029 -0.958192 -2.60533e-18 0.962442 0.271489 0.995585 0.0254838 -0.0903413  )  homedistance ( 5.84807 )  homeadjboxwidth ( 4.01627 )  homeorthowidth ( 4.01627 )  homeradius ( 4.58974 )  homeaxis ( 0 )  homecustom ( 0.707107 -0.353553 0.612372 0 0.866025 0.5 -0.707107 -0.353553 0.612372  )  adjustlimits ( 0 )  
viewcamera -c '' mike.panetab1.world.persp1
vieworthogrid -d on -o 0 0 0 -s 0.2 0.2 -r 5 5 -R 1 mike.panetab1.world.persp1
viewuvgrid -r on -s 0.1 0.1 -P off -S 64 64 -O 0 0 -C on -t on mike.panetab1.world.persp1
viewagentopts  -L on -b 0 -d 1 -l 0 -m 4 -p 1000 -w 1 mike.panetab1.world.persp1
viewonionskin  -e on -a 4 -b 4 -i 6 -o 0.5 -A 1 1 1 -B 1 1 1 mike.panetab1.world.persp1
viewdispset -m off always -n off always -c off always -u off always -x off always -N off always -C off always -b off always -M off always -v off always -V off always -U off always -h off -P off -p off -f off -o on -F off -l on -L on -G off -B none -r unique scene mike.panetab1.world.top1
viewdispset -m off always -n off always -c off always -u off always -x off always -N off always -C off always -b off always -M off always -v off always -V off always -U off always -h off -P off -p off -f off -o off -F off -l on -L on -G off -B none -r scene selectscene mike.panetab1.world.top1
viewdispset -m off always -n off always -c off always -u off always -x off always -N off always -C off always -b off always -M off always -v off always -V off always -U off always -h off -P off -p off -f off -o off -F off -l on -L off -G on -B none -r unique ghostscene mike.panetab1.world.top1
viewdispset -m off always -n off always -c off always -u off always -x off always -N off always -C off always -b off always -M off always -v off always -V off always -U off always -h off -P on -p off -f off -o on -F off -l on -L on -G off -B none -r unique display mike.panetab1.world.top1
viewdispset -m off always -n off always -c off always -u off always -x off always -N off always -C off always -b off always -M off always -v off always -V off always -U off always -h off -P on -p off -f off -o off -F off -l on -L off -G off -B none -r unique current mike.panetab1.world.top1
viewdispset -m off always -n off always -c off always -u off always -x off always -N off always -C off always -b off always -M off always -v off always -V off always -U off always -h off -P off -p off -f off -o off -F on -l on -L off -G on -B none -r unique template mike.panetab1.world.top1
viewdisplay -B light -b off -d off -C 2 -e 1 -F on -f off -g on -G '*' -h off -H on -j off -J off -L on -n 0.2 -o off -O on -q on -r on -s off -t on -V 2 -z off -y off -x off -X off -U 4 -Y 4 -T on -R on -i on -D on -k off mike.panetab1.world.top1
viewdisplay -Q on -m on -v on mike.panetab1.world.top1
viewdisplay -W  off 0 0 mike.panetab1.world.top1
viewdisplay -c on -l1 -K on -P points -p 6 mike.panetab1.world.top1
viewdispopts -a on -b current -c 1 -C 60  -d  on -D 1 -g on -i on -n on -N 1000000 -o off -p 10 -r off -R off -S 512 -m 0.05 -s on -u uv -w 0.1 -W 0.9 -x on -X off mike.panetab1.world.top1
vieweffect -a 0 -A 4 -b on -B 0 -d on -D on off -e 0.8 -E -30 -30 -100 -f 3 -F 0 -g 2.2 -G 0 -h 1 -H on -i on -I 1 -j on -J 20 -K 2 -k 1 -l '' -m on -M 512 -o off -O 3 -p off -P 3 -q 1 -Q 2 -r 1024 1024 -s 1 -t 100 -T 100 -u off -U off -v 128 128 128 -w 0.05 -W off -x 0.4 0.4 0.4 -X 0.2 0.2 0.2 -y 0.4 0.4 0.4 -Y 0.0025 0.0025 0.0025 -z 0.25 -Z 1 mike.panetab1.world.top1
viewinfotext -m always mike.panetab1.world.top1
viewlight  -a on -d on -e on -h on -l on -n 8 -s on mike.panetab1.world.top1
viewbackground -b on -e on -q 1 -i off -m 0 0 -M 1 1 mike.panetab1.world.top1
viewroto  -S file -F '' -C '' -a on -o 0 0 -s 1 1 -B 1 persp mike.panetab1.world.top1
viewroto  -S file -F '' -C '' -a on -o 0 0 -s 1 1 -B 1 cam mike.panetab1.world.top1
viewroto  -S file -F '' -C '' -a on -o 0 0 -s 1 1 -B 1 top mike.panetab1.world.top1
viewroto  -S file -F '' -C '' -a on -o 0 0 -s 1 1 -B 1 front mike.panetab1.world.top1
viewroto  -S file -F '' -C '' -a on -o 0 0 -s 1 1 -B 1 right mike.panetab1.world.top1
viewroto  -S file -F '' -C '' -a on -o 0 0 -s 1 1 -B 1 bottom mike.panetab1.world.top1
viewroto  -S file -F '' -C '' -a on -o 0 0 -s 1 1 -B 1 back mike.panetab1.world.top1
viewroto  -S file -F '' -C '' -a on -o 0 0 -s 1 1 -B 1 left mike.panetab1.world.top1
viewroto  -S file -F '$HH/pic/uvgrid_grey.pic' -C '' -a on -o 0 0 -s 1 1 -B 0.2 uv mike.panetab1.world.top1
viewtransform mike.panetab1.world.top1 version ( 3 )  flag ( Fo )  orthowidth ( 2.22222 )  focal ( 50 )  aperture ( 41.4214 )  window ( 0 1 0 1 )  winroll ( 0 )  clear ( 1 )  nearfar ( 0.1 100000 )  aspect ( 1.33333 )  pixelaspect ( 1 )  txyz ( 0 0 3.68246 )  pxyz ( 0 0 0 )  rotation ( 1 0 0 0 1.19209e-07 1 0 -1 1.19209e-07  )  homedistance ( 3.68246 )  homeadjboxwidth ( 2.22222 )  homeorthowidth ( 2.22222 )  homeradius ( 3.4641 )  homeaxis ( 0 )  homecustom ( 0.707107 -0.353553 0.612372 0 0.866025 0.5 -0.707107 -0.353553 0.612372  )  adjustlimits ( 0 )  
vieworthogrid -d on -o 0 0 0 -s 0.2 0.2 -r 5 5 -R 1 mike.panetab1.world.top1
viewuvgrid -r on -s 0.1 0.1 -P off -S 64 64 -O 0 0 -C on -t on mike.panetab1.world.top1
viewagentopts  -L on -b 0 -d 1 -l 0 -m 4 -p 1000 -w 1 mike.panetab1.world.top1
viewonionskin  -e on -a 4 -b 4 -i 6 -o 0.5 -A 1 1 1 -B 1 1 1 mike.panetab1.world.top1
viewdispset -m off always -n off always -c off always -u off always -x off always -N off always -C off always -b off always -M off always -v off always -V off always -U off always -h off -P off -p off -f off -o on -F off -l on -L on -G off -B none -r unique scene mike.panetab1.world.front1
viewdispset -m off always -n off always -c off always -u off always -x off always -N off always -C off always -b off always -M off always -v off always -V off always -U off always -h off -P off -p off -f off -o off -F off -l on -L on -G off -B none -r scene selectscene mike.panetab1.world.front1
viewdispset -m off always -n off always -c off always -u off always -x off always -N off always -C off always -b off always -M off always -v off always -V off always -U off always -h off -P off -p off -f off -o off -F off -l on -L off -G on -B none -r unique ghostscene mike.panetab1.world.front1
viewdispset -m off always -n off always -c off always -u off always -x off always -N off always -C off always -b off always -M off always -v off always -V off always -U off always -h off -P on -p off -f off -o on -F off -l on -L on -G off -B none -r unique display mike.panetab1.world.front1
viewdispset -m off always -n off always -c off always -u off always -x off always -N off always -C off always -b off always -M off always -v off always -V off always -U off always -h off -P on -p off -f off -o off -F off -l on -L off -G off -B none -r unique current mike.panetab1.world.front1
viewdispset -m off always -n off always -c off always -u off always -x off always -N off always -C off always -b off always -M off always -v off always -V off always -U off always -h off -P off -p off -f off -o off -F on -l on -L off -G on -B none -r unique template mike.panetab1.world.front1
viewdisplay -B light -b off -d off -C 2 -e 1 -F on -f off -g on -G '*' -h off -H on -j off -J off -L on -n 0.2 -o off -O on -q on -r on -s off -t on -V 2 -z off -y off -x off -X off -U 4 -Y 4 -T on -R on -i on -D on -k off mike.panetab1.world.front1
viewdisplay -Q on -m on -v on mike.panetab1.world.front1
viewdisplay -W  off 0 0 mike.panetab1.world.front1
viewdisplay -c on -l1 -K on -P points -p 6 mike.panetab1.world.front1
viewdispopts -a on -b current -c 1 -C 60  -d  on -D 1 -g on -i on -n on -N 1000000 -o off -p 10 -r off -R off -S 512 -m 0.05 -s on -u uv -w 0.1 -W 0.9 -x on -X off mike.panetab1.world.front1
vieweffect -a 0 -A 4 -b on -B 0 -d on -D on off -e 0.8 -E -30 -30 -100 -f 3 -F 0 -g 2.2 -G 0 -h 1 -H on -i on -I 1 -j on -J 20 -K 2 -k 1 -l '' -m on -M 512 -o off -O 3 -p off -P 3 -q 1 -Q 2 -r 1024 1024 -s 1 -t 100 -T 100 -u off -U off -v 128 128 128 -w 0.05 -W off -x 0.4 0.4 0.4 -X 0.2 0.2 0.2 -y 0.4 0.4 0.4 -Y 0.0025 0.0025 0.0025 -z 0.25 -Z 1 mike.panetab1.world.front1
viewinfotext -m always mike.panetab1.world.front1
viewlight  -a on -d on -e on -h on -l on -n 8 -s on mike.panetab1.world.front1
viewbackground -b on -e on -q 1 -i off -m 0 0 -M 1 1 mike.panetab1.world.front1
viewroto  -S file -F '' -C '' -a on -o 0 0 -s 1 1 -B 1 persp mike.panetab1.world.front1
viewroto  -S file -F '' -C '' -a on -o 0 0 -s 1 1 -B 1 cam mike.panetab1.world.front1
viewroto  -S file -F '' -C '' -a on -o 0 0 -s 1 1 -B 1 top mike.panetab1.world.front1
viewroto  -S file -F '' -C '' -a on -o 0 0 -s 1 1 -B 1 front mike.panetab1.world.front1
viewroto  -S file -F '' -C '' -a on -o 0 0 -s 1 1 -B 1 right mike.panetab1.world.front1
viewroto  -S file -F '' -C '' -a on -o 0 0 -s 1 1 -B 1 bottom mike.panetab1.world.front1
viewroto  -S file -F '' -C '' -a on -o 0 0 -s 1 1 -B 1 back mike.panetab1.world.front1
viewroto  -S file -F '' -C '' -a on -o 0 0 -s 1 1 -B 1 left mike.panetab1.world.front1
viewroto  -S file -F '$HH/pic/uvgrid_grey.pic' -C '' -a on -o 0 0 -s 1 1 -B 0.2 uv mike.panetab1.world.front1
viewtransform mike.panetab1.world.front1 version ( 3 )  flag ( Fo )  orthowidth ( 2.22222 )  focal ( 50 )  aperture ( 41.4214 )  window ( 0 1 0 1 )  winroll ( 0 )  clear ( 1 )  nearfar ( 0.1 100000 )  aspect ( 1.33333 )  pixelaspect ( 1 )  txyz ( 0 0 3.68246 )  pxyz ( 0 0 0 )  rotation ( 1 0 0 0 1 0 0 0 1  )  homedistance ( 3.68246 )  homeadjboxwidth ( 2.22222 )  homeorthowidth ( 2.22222 )  homeradius ( 3.4641 )  homeaxis ( 0 )  homecustom ( 0.707107 -0.353553 0.612372 0 0.866025 0.5 -0.707107 -0.353553 0.612372  )  adjustlimits ( 0 )  
vieworthogrid -d on -o 0 0 0 -s 0.2 0.2 -r 5 5 -R 1 mike.panetab1.world.front1
viewuvgrid -r on -s 0.1 0.1 -P off -S 64 64 -O 0 0 -C on -t on mike.panetab1.world.front1
viewagentopts  -L on -b 0 -d 1 -l 0 -m 4 -p 1000 -w 1 mike.panetab1.world.front1
viewonionskin  -e on -a 4 -b 4 -i 6 -o 0.5 -A 1 1 1 -B 1 1 1 mike.panetab1.world.front1
viewdispset -m off always -n off always -c off always -u off always -x off always -N off always -C off always -b off always -M off always -v off always -V off always -U off always -h off -P off -p off -f off -o on -F off -l on -L on -G off -B none -r unique scene mike.panetab1.world.right1
viewdispset -m off always -n off always -c off always -u off always -x off always -N off always -C off always -b off always -M off always -v off always -V off always -U off always -h off -P off -p off -f off -o off -F off -l on -L on -G off -B none -r scene selectscene mike.panetab1.world.right1
viewdispset -m off always -n off always -c off always -u off always -x off always -N off always -C off always -b off always -M off always -v off always -V off always -U off always -h off -P off -p off -f off -o off -F off -l on -L off -G on -B none -r unique ghostscene mike.panetab1.world.right1
viewdispset -m off always -n off always -c off always -u off always -x off always -N off always -C off always -b off always -M off always -v off always -V off always -U off always -h off -P on -p off -f off -o on -F off -l on -L on -G off -B none -r unique display mike.panetab1.world.right1
viewdispset -m off always -n off always -c off always -u off always -x off always -N off always -C off always -b off always -M off always -v off always -V off always -U off always -h off -P on -p off -f off -o off -F off -l on -L off -G off -B none -r unique current mike.panetab1.world.right1
viewdispset -m off always -n off always -c off always -u off always -x off always -N off always -C off always -b off always -M off always -v off always -V off always -U off always -h off -P off -p off -f off -o off -F on -l on -L off -G on -B none -r unique template mike.panetab1.world.right1
viewdisplay -B light -b off -d off -C 2 -e 1 -F on -f off -g on -G '*' -h off -H on -j off -J off -L on -n 0.2 -o off -O on -q on -r on -s off -t on -V 2 -z off -y off -x off -X off -U 4 -Y 4 -T on -R on -i on -D on -k off mike.panetab1.world.right1
viewdisplay -Q on -m on -v on mike.panetab1.world.right1
viewdisplay -W  off 0 0 mike.panetab1.world.right1
viewdisplay -c on -l1 -K on -P points -p 6 mike.panetab1.world.right1
viewdispopts -a on -b current -c 1 -C 60  -d  on -D 1 -g on -i on -n on -N 1000000 -o off -p 10 -r off -R off -S 512 -m 0.05 -s on -u uv -w 0.1 -W 0.9 -x on -X off mike.panetab1.world.right1
vieweffect -a 0 -A 4 -b on -B 0 -d on -D on off -e 0.8 -E -30 -30 -100 -f 3 -F 0 -g 2.2 -G 0 -h 1 -H on -i on -I 1 -j on -J 20 -K 2 -k 1 -l '' -m on -M 512 -o off -O 3 -p off -P 3 -q 1 -Q 2 -r 1024 1024 -s 1 -t 100 -T 100 -u off -U off -v 128 128 128 -w 0.05 -W off -x 0.4 0.4 0.4 -X 0.2 0.2 0.2 -y 0.4 0.4 0.4 -Y 0.0025 0.0025 0.0025 -z 0.25 -Z 1 mike.panetab1.world.right1
viewinfotext -m always mike.panetab1.world.right1
viewlight  -a on -d on -e on -h on -l on -n 8 -s on mike.panetab1.world.right1
viewbackground -b on -e on -q 1 -i off -m 0 0 -M 1 1 mike.panetab1.world.right1
viewroto  -S file -F '' -C '' -a on -o 0 0 -s 1 1 -B 1 persp mike.panetab1.world.right1
viewroto  -S file -F '' -C '' -a on -o 0 0 -s 1 1 -B 1 cam mike.panetab1.world.right1
viewroto  -S file -F '' -C '' -a on -o 0 0 -s 1 1 -B 1 top mike.panetab1.world.right1
viewroto  -S file -F '' -C '' -a on -o 0 0 -s 1 1 -B 1 front mike.panetab1.world.right1
viewroto  -S file -F '' -C '' -a on -o 0 0 -s 1 1 -B 1 right mike.panetab1.world.right1
viewroto  -S file -F '' -C '' -a on -o 0 0 -s 1 1 -B 1 bottom mike.panetab1.world.right1
viewroto  -S file -F '' -C '' -a on -o 0 0 -s 1 1 -B 1 back mike.panetab1.world.right1
viewroto  -S file -F '' -C '' -a on -o 0 0 -s 1 1 -B 1 left mike.panetab1.world.right1
viewroto  -S file -F '$HH/pic/uvgrid_grey.pic' -C '' -a on -o 0 0 -s 1 1 -B 0.2 uv mike.panetab1.world.right1
viewtransform mike.panetab1.world.right1 version ( 3 )  flag ( Fo )  orthowidth ( 2.22222 )  focal ( 50 )  aperture ( 41.4214 )  window ( 0 1 0 1 )  winroll ( 0 )  clear ( 1 )  nearfar ( 0.1 100000 )  aspect ( 1.33333 )  pixelaspect ( 1 )  txyz ( 0 0 3.68246 )  pxyz ( 0 0 0 )  rotation ( 6.12323e-17 0 1 0 1 0 -1 0 6.12323e-17  )  homedistance ( 3.68246 )  homeadjboxwidth ( 2.22222 )  homeorthowidth ( 2.22222 )  homeradius ( 3.4641 )  homeaxis ( 0 )  homecustom ( 0.707107 -0.353553 0.612372 0 0.866025 0.5 -0.707107 -0.353553 0.612372  )  adjustlimits ( 0 )  
vieworthogrid -d on -o 0 0 0 -s 0.2 0.2 -r 5 5 -R 1 mike.panetab1.world.right1
viewuvgrid -r on -s 0.1 0.1 -P off -S 64 64 -O 0 0 -C on -t on mike.panetab1.world.right1
viewagentopts  -L on -b 0 -d 1 -l 0 -m 4 -p 1000 -w 1 mike.panetab1.world.right1
viewonionskin  -e on -a 4 -b 4 -i 6 -o 0.5 -A 1 1 1 -B 1 1 1 mike.panetab1.world.right1
viewsnapshotoption -s off -h off -a 1 -v '*' mike.panetab1.world
cplane -o -2 0 -2 -n 0 1 0 -x 0 0 1 -l n -s 0.1 0.1 -c 40 40 -r 10 10 -d off mike.panetab1.world
glcache -t 512 -v 100
networkeditor -p '{\n}\n'performance -c on -d on -f on -g off -k on -m off -n on -o on -t off -v on -y on -u on -e off -r absolute -w tree panetab12
chopview -a 0 -c "" -k 1 -m 1 -b 1 -e 1 -f 0 -g 0 -H 1 -i 0 -j 1 -l 0 -n 1 -V 0 -y 0 -B 0 -s 0 -S 0.034375 -u 0 -v 0 -h -10 310 -r -1.5 1.5 Build.panetab13
imgdispopt -m 256 -P on -M on -A on -g 2.2 -G "* ^P ^Pz ^N ^M ^B ^V ^Af ^Nt" -B 1 -v split -V 2 2 -d h -a off -i 2 -b 0.25 0.25 0.25 -o "" -h on -H on -c 0.8 0.8 0.8 -C 1 1 1 -S 1 1 0 -R 6 -F dc -D "" -I "" -f "" -s off -r 256 256 -p on -l on -t on
imgview -z 1 -p (none) 0 -c 0 -l on -s off -i imgview2
imgview2d  -V on -L on -G on -H on -P off -m 0 -p 0 1 -b 1 1 0 -g 2.2 -d "" -c -1 -t off -i on -X on imgview2 1
imgview2d  -V on -L on -G on -H on -P off -m 0 -p 0 1 -b 1 1 0 -g 2.2 -d "" -c -1 -t off -i on -X on imgview2 2
imgview2d  -V on -L on -G on -H on -P off -m 0 -p 0 1 -b 1 1 0 -g 2.2 -d "" -c -1 -t off -i on -X on imgview2 3
imgview2d  -V on -L on -G on -H on -P off -m 0 -p 0 1 -b 1 1 0 -g 2.2 -d "" -c -1 -t off -i on -X on imgview2 4
imgview2d  -V on -L on -G on -H on -P off -m 0 -p 0 1 -b 1 1 0 -g 2.2 -d "" -c -1 -t off -i on -X on imgview2 5
imgview2d  -V on -L on -G on -H on -P off -m 0 -p 0 1 -b 1 1 0 -g 2.2 -d "" -c -1 -t off -i on -X on imgview2 6
imgview2d  -V on -L on -G on -H on -P off -m 0 -p 0 1 -b 1 1 0 -g 2.2 -d "" -c -1 -t off -i on -X on imgview2 7
imgview2d  -V on -L on -G on -H on -P off -m 0 -p 0 1 -b 1 1 0 -g 2.2 -d "" -c -1 -t off -i on -X on imgview2 8
imgview2d  -V on -L on -G on -H on -P off -m 0 -p 0 1 -b 1 1 0 -g 2.2 -d "" -c -1 -t off -i on -X on imgview2 9
imgview2d  -V on -L on -G on -H on -P off -m 0 -p 0 1 -b 1 1 0 -g 2.2 -d "" -c -1 -t off -i on -X on imgview2 10
imgview2d  -V on -L on -G on -H on -P off -m 0 -p 0 1 -b 1 1 0 -g 2.2 -d "" -c -1 -t off -i on -X on imgview2 11
imgview2d  -V on -L on -G on -H on -P off -m 0 -p 0 1 -b 1 1 0 -g 2.2 -d "" -c -1 -t off -i on -X on imgview2 12
imgview2d  -V on -L on -G on -H on -P off -m 0 -p 0 1 -b 1 1 0 -g 2.2 -d "" -c -1 -t off -i on -X on imgview2 13
imgview2d  -V on -L on -G on -H on -P off -m 0 -p 0 1 -b 1 1 0 -g 2.2 -d "" -c -1 -t off -i on -X on imgview2 14
imgview2d  -V on -L on -G on -H on -P off -m 0 -p 0 1 -b 1 1 0 -g 2.2 -d "" -c -1 -t off -i on -X on imgview2 15
imgview2d  -V on -L on -G on -H on -P off -m 0 -p 0 1 -b 1 1 0 -g 2.2 -d "" -c -1 -t off -i on -X on imgview2 16
imgviewtime -V on -L on -G on -H on -P off -r 24 -u fr -g 0 -f on -e on -b on -d imgview2
imgviewhist -V on -L on -G on -H on -P off -c -1 -h 0 -i on imgview2 1
imgviewhist -V on -L on -G on -H on -P off -c -1 -h 0 -i on imgview2 2
imgviewhist -V on -L on -G on -H on -P off -c -1 -h 0 -i on imgview2 3
imgviewhist -V on -L on -G on -H on -P off -c -1 -h 0 -i on imgview2 4
imgviewhist -V on -L on -G on -H on -P off -c -1 -h 0 -i on imgview2 5
imgviewhist -V on -L on -G on -H on -P off -c -1 -h 0 -i on imgview2 6
imgviewhist -V on -L on -G on -H on -P off -c -1 -h 0 -i on imgview2 7
imgviewhist -V on -L on -G on -H on -P off -c -1 -h 0 -i on imgview2 8
imgviewhist -V on -L on -G on -H on -P off -c -1 -h 0 -i on imgview2 9
imgviewhist -V on -L on -G on -H on -P off -c -1 -h 0 -i on imgview2 10
imgviewhist -V on -L on -G on -H on -P off -c -1 -h 0 -i on imgview2 11
imgviewhist -V on -L on -G on -H on -P off -c -1 -h 0 -i on imgview2 12
imgviewhist -V on -L on -G on -H on -P off -c -1 -h 0 -i on imgview2 13
imgviewhist -V on -L on -G on -H on -P off -c -1 -h 0 -i on imgview2 14
imgviewhist -V on -L on -G on -H on -P off -c -1 -h 0 -i on imgview2 15
imgviewhist -V on -L on -G on -H on -P off -c -1 -h 0 -i on imgview2 16
panepath -d mike -f -p panetab16 /obj/geo1/rbd_solver1
panepath -d mike -f -p panetab1 /obj/geo1/rbd_solver1
panepath -d mike -f -p panetab2 /obj/geo1/rbd_solver1
panepath -d mike -f -p panetab3 /obj/geo1/rbd_solver1
panepath -d mike -f -p panetab4 /img/
panepath -d mike -f -p panetab13 /ch/
panepath -d mike -f -p panetab11 /obj/geo1/rbd_solver1
panepath -d mike -f -p panetab15 /obj/geo1/rbd_solver1
panepath -d mike -f -p panetab14 /obj/
panepath -d mike -f -p panetab17 /obj/
panepath -d mike -f -p panetab5 /obj/geo1/rbd_solver1
panepath -d mike -f -p panetab6 /obj/geo1/rbd_solver1
panepath -d mike -f -p panetab12 /obj/
panepath -d mike -f -p panetab7 /obj/geo1/rbd_solver1
panepath -d mike -f -p panetab8 /obj/
panepath -d mike -f -p panetab9 /obj/geo1/rbd_solver1
panepath -d mike -f -p panetab10 /obj/
desk set mike
viewupdate -u always
audiopanel -s p ''
audiopanel -s r off
audiopanel -s s 24
audiopanel -s f 24
audiopanel -t p stop
audiopanel -t l off
audiopanel -t r on
audiopanel -o m off
audiopanel -o t on
audiopanel -o u on
audiopanel -o l 1
audiopanel -o r 1
audiopanel -o d 0
audiopanel -r d 0.2
audiopanel -m 0
audiopanel -a ''
audiopanel -f 1
audiopanel -O 0
colorsettings -p -R
colorsettings -p -R
colorsettings -p -R
colorsettings -p -R
colorsettings -p -R
colorsettings -D -A -g 2.2 -l "" -p -s -v -i -r -c -f
compproject -r 1024 1024 -a 1 -d fp -p 0 1 -P full -f 0 -F 0 -l on
texcache  -a off -r 2147483647 2147483647 -m 10000 -M 4194304
shopvisible +I3D +VMantra +RIB
0707070000010000000006660000000000000000010000001331302235300000700000000060.takes HoudiniTakeFile 1.0
take name Main kids 0
   e
0707070000010000000006660000000000000000010000001331302235300001000000000007.styles NSJb{}0707070000010000000006660000000000000000010000001331302235300000500000000024.cwd opcf /
takeset Main
0707070000010000000006660000000000000000010000001331302235300001300000000000TRAILER!!! 