HouLC1033600baa0620f0e0809a7e597c.startfplayback -i on -r off -f 1 -e on -h on -t on -a on -k on -s 1 tcur 1.4583333333333333 fps 24 tset 0 10 frange 1 240 unitlength 1 unitmass 1 prompt '`strcat(oppwf(), " -> ")`' HouLC1033600ba60620f0e08043eeba68.variablesset -g ACTIVETAKE = 'Main' set -g E = '2.7182818284590452354' set -g EYE = 'stereo' set -g HIP = 'F:/CG/Prod/Houdini_work/203_JoyOfVEX' set -g HIPFILE = 'F:/CG/Prod/Houdini_work/203_JoyOfVEX/qrotate_sample.hiplc' set -g HIPNAME = 'qrotate_sample' set -g JOB = 'C:/Users/User1st' set -g PI = '3.1415926535897932384' set -g POSE = 'C:/Users/User1st/Documents/houdini19.0/poselib' set -g _HIP_SAVEPLATFORM = 'windows-x86_64-cl19.29' set -g _HIP_SAVETIME = 'Fri Feb 18 12:10:00 2022' set -g _HIP_SAVEVERSION = '19.0.455' set -g status = '0' HouLC1033600ba40620f0e080dba5575b.aliasesalias 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' HouLC1033600ba10620f0e0804309e1eb.takeconfigtakename -g take HouLC1033600ba00620f0e080e36d4a3d.hou.sessionHouLC1033600ba00620f0e0808029b1f6.OPlibrariesHouLC1033600ba20620f0e0806c0e60b2.OPpreferencesHouLC1033600ba00620f0e0807576555e.OPfallbacksVop/addattrib C:/PROGRA~1/SIDEEF~1/HOUDIN~1.455/houdini/otls/OPlibScripted.hda Vop/addattrib otls/OPlibScripted.hda Vop/addconst C:/PROGRA~1/SIDEEF~1/HOUDIN~1.455/houdini/otls/OPlibScripted.hda Vop/addconst otls/OPlibScripted.hda Vop/addgroup C:/PROGRA~1/SIDEEF~1/HOUDIN~1.455/houdini/otls/OPlibScripted.hda Vop/addgroup otls/OPlibScripted.hda Vop/addwindforce C:/PROGRA~1/SIDEEF~1/HOUDIN~1.455/houdini/otls/OPlibPopDop.hda Vop/addwindforce otls/OPlibPopDop.hda Sop/assemble C:/PROGRA~1/SIDEEF~1/HOUDIN~1.455/houdini/otls/OPlibSop.hda Sop/assemble otls/OPlibSop.hda Sop/attribblur C:/PROGRA~1/SIDEEF~1/HOUDIN~1.455/houdini/otls/OPlibSop.hda Sop/attribblur otls/OPlibSop.hda Sop/attribdelete C:/PROGRA~1/SIDEEF~1/HOUDIN~1.455/houdini/otls/OPlibSop.hda Sop/attribdelete otls/OPlibSop.hda Sop/attribexpression C:/PROGRA~1/SIDEEF~1/HOUDIN~1.455/houdini/otls/OPlibSop.hda Sop/attribexpression otls/OPlibSop.hda Sop/attribnoise C:/PROGRA~1/SIDEEF~1/HOUDIN~1.455/houdini/otls/OPlibSop.hda Sop/attribnoise otls/OPlibSop.hda Sop/attribrandomize C:/PROGRA~1/SIDEEF~1/HOUDIN~1.455/houdini/otls/OPlibSop.hda Sop/attribrandomize otls/OPlibSop.hda Sop/attribwrangle C:/PROGRA~1/SIDEEF~1/HOUDIN~1.455/houdini/otls/OPlibSop.hda Sop/attribwrangle otls/OPlibSop.hda Vop/bias C:/PROGRA~1/SIDEEF~1/HOUDIN~1.455/houdini/otls/OPlibScripted.hda Vop/bias otls/OPlibScripted.hda Sop/booleanfracture C:/PROGRA~1/SIDEEF~1/HOUDIN~1.455/houdini/otls/OPlibSop.hda Sop/booleanfracture otls/OPlibSop.hda Vop/clamp C:/PROGRA~1/SIDEEF~1/HOUDIN~1.455/houdini/otls/OPlibScripted.hda Vop/clamp otls/OPlibScripted.hda Sop/clean C:/PROGRA~1/SIDEEF~1/HOUDIN~1.455/houdini/otls/OPlibSop.hda Sop/clean otls/OPlibSop.hda Sop/color C:/PROGRA~1/SIDEEF~1/HOUDIN~1.455/houdini/otls/OPlibSop.hda Sop/color otls/OPlibSop.hda Vop/complement C:/PROGRA~1/SIDEEF~1/HOUDIN~1.455/houdini/otls/OPlibScripted.hda Vop/complement otls/OPlibScripted.hda Sop/connectadjacentpieces C:/PROGRA~1/SIDEEF~1/HOUDIN~1.455/houdini/otls/OPlibSop.hda Sop/connectadjacentpieces otls/OPlibSop.hda Dop/constraintnetwork C:/PROGRA~1/SIDEEF~1/HOUDIN~1.455/houdini/otls/OPlibDop.hda Dop/constraintnetwork otls/OPlibDop.hda Sop/convertline C:/PROGRA~1/SIDEEF~1/HOUDIN~1.455/houdini/otls/OPlibSop.hda Sop/convertline otls/OPlibSop.hda Vop/cross C:/PROGRA~1/SIDEEF~1/HOUDIN~1.455/houdini/otls/OPlibScripted.hda Vop/cross otls/OPlibScripted.hda Vop/degtorad C:/PROGRA~1/SIDEEF~1/HOUDIN~1.455/houdini/otls/OPlibScripted.hda Vop/degtorad otls/OPlibScripted.hda Vop/displacenml C:/PROGRA~1/SIDEEF~1/HOUDIN~1.455/houdini/otls/OPlibScripted.hda Vop/displacenml otls/OPlibScripted.hda Vop/divconst C:/PROGRA~1/SIDEEF~1/HOUDIN~1.455/houdini/otls/OPlibScripted.hda Vop/divconst otls/OPlibScripted.hda Vop/dot C:/PROGRA~1/SIDEEF~1/HOUDIN~1.455/houdini/otls/OPlibScripted.hda Vop/dot otls/OPlibScripted.hda Sop/explodedview::2.0 C:/PROGRA~1/SIDEEF~1/HOUDIN~1.455/houdini/otls/OPlibSop.hda Sop/explodedview::2.0 otls/OPlibSop.hda Vop/fit C:/PROGRA~1/SIDEEF~1/HOUDIN~1.455/houdini/otls/OPlibScripted.hda Vop/fit otls/OPlibScripted.hda Vop/floattovec C:/PROGRA~1/SIDEEF~1/HOUDIN~1.455/houdini/otls/OPlibScripted.hda Vop/floattovec otls/OPlibScripted.hda Vop/geometryvopglobal::2.0 C:/PROGRA~1/SIDEEF~1/HOUDIN~1.455/houdini/otls/OPlibVop.hda Vop/geometryvopglobal::2.0 otls/OPlibVop.hda Vop/geometryvopoutput C:/PROGRA~1/SIDEEF~1/HOUDIN~1.455/houdini/otls/OPlibVop.hda Vop/geometryvopoutput otls/OPlibVop.hda Dop/geometrywrangle C:/PROGRA~1/SIDEEF~1/HOUDIN~1.455/houdini/otls/OPlibDop.hda Dop/geometrywrangle otls/OPlibDop.hda Vop/getattrib::2.0 C:/PROGRA~1/SIDEEF~1/HOUDIN~1.455/houdini/otls/OPlibScripted.hda Vop/getattrib::2.0 otls/OPlibScripted.hda Dop/groundplane C:/PROGRA~1/SIDEEF~1/HOUDIN~1.455/houdini/otls/OPlibDop.hda Dop/groundplane otls/OPlibDop.hda Sop/groupexpression C:/PROGRA~1/SIDEEF~1/HOUDIN~1.455/houdini/otls/OPlibSop.hda Sop/groupexpression otls/OPlibSop.hda Sop/heightfield_xform C:/PROGRA~1/SIDEEF~1/HOUDIN~1.455/houdini/otls/OPlibTerrain.hda Sop/heightfield_xform otls/OPlibTerrain.hda Dop/impactanalysis C:/PROGRA~1/SIDEEF~1/HOUDIN~1.455/houdini/otls/OPlibDop.hda Dop/impactanalysis otls/OPlibDop.hda Vop/importattrib C:/PROGRA~1/SIDEEF~1/HOUDIN~1.455/houdini/otls/OPlibScripted.hda Vop/importattrib otls/OPlibScripted.hda Vop/inttofloat C:/PROGRA~1/SIDEEF~1/HOUDIN~1.455/houdini/otls/OPlibScripted.hda Vop/inttofloat otls/OPlibScripted.hda Vop/inttovec C:/PROGRA~1/SIDEEF~1/HOUDIN~1.455/houdini/otls/OPlibScripted.hda Vop/inttovec otls/OPlibScripted.hda Vop/invert C:/PROGRA~1/SIDEEF~1/HOUDIN~1.455/houdini/otls/OPlibScripted.hda Vop/invert otls/OPlibScripted.hda Vop/length C:/PROGRA~1/SIDEEF~1/HOUDIN~1.455/houdini/otls/OPlibScripted.hda Vop/length otls/OPlibScripted.hda Dop/linktosourceobject C:/PROGRA~1/SIDEEF~1/HOUDIN~1.455/houdini/otls/OPlibDop.hda Dop/linktosourceobject otls/OPlibDop.hda Top/localscheduler C:/PROGRA~1/SIDEEF~1/HOUDIN~1.455/houdini/otls/OPlibTop.hda Top/localscheduler otls/OPlibTop.hda Vop/matxtoquat C:/PROGRA~1/SIDEEF~1/HOUDIN~1.455/houdini/otls/OPlibScripted.hda Vop/matxtoquat otls/OPlibScripted.hda Sop/mountain::2.0 C:/PROGRA~1/SIDEEF~1/HOUDIN~1.455/houdini/otls/OPlibSop.hda Sop/mountain::2.0 otls/OPlibSop.hda Vop/mulconst C:/PROGRA~1/SIDEEF~1/HOUDIN~1.455/houdini/otls/OPlibScripted.hda Vop/mulconst otls/OPlibScripted.hda Vop/negate C:/PROGRA~1/SIDEEF~1/HOUDIN~1.455/houdini/otls/OPlibScripted.hda Vop/negate otls/OPlibScripted.hda Vop/neighbour C:/PROGRA~1/SIDEEF~1/HOUDIN~1.455/houdini/otls/OPlibScripted.hda Vop/neighbour otls/OPlibScripted.hda Vop/neighbourcount C:/PROGRA~1/SIDEEF~1/HOUDIN~1.455/houdini/otls/OPlibScripted.hda Vop/neighbourcount otls/OPlibScripted.hda Vop/normalize C:/PROGRA~1/SIDEEF~1/HOUDIN~1.455/houdini/otls/OPlibScripted.hda Vop/normalize otls/OPlibScripted.hda Dop/null C:/PROGRA~1/SIDEEF~1/HOUDIN~1.455/houdini/otls/OPlibDop.hda Dop/null otls/OPlibDop.hda Dop/objpos C:/PROGRA~1/SIDEEF~1/HOUDIN~1.455/houdini/otls/OPlibDop.hda Dop/objpos otls/OPlibDop.hda Dop/output C:/PROGRA~1/SIDEEF~1/HOUDIN~1.455/houdini/otls/OPlibDop.hda Dop/output otls/OPlibDop.hda Vop/pcimport C:/PROGRA~1/SIDEEF~1/HOUDIN~1.455/houdini/otls/OPlibScripted.hda Vop/pcimport otls/OPlibScripted.hda Vop/pciterate C:/PROGRA~1/SIDEEF~1/HOUDIN~1.455/houdini/otls/OPlibScripted.hda Vop/pciterate otls/OPlibScripted.hda Vop/pcopen C:/PROGRA~1/SIDEEF~1/HOUDIN~1.455/houdini/otls/OPlibScripted.hda Vop/pcopen otls/OPlibScripted.hda Sop/pointdeform C:/PROGRA~1/SIDEEF~1/HOUDIN~1.455/houdini/otls/OPlibSop.hda Sop/pointdeform otls/OPlibSop.hda Dop/popdrag C:/PROGRA~1/SIDEEF~1/HOUDIN~1.455/houdini/otls/OPlibPopDop.hda Dop/popdrag otls/OPlibPopDop.hda Dop/popdragspin C:/PROGRA~1/SIDEEF~1/HOUDIN~1.455/houdini/otls/OPlibPopDop.hda Dop/popdragspin otls/OPlibPopDop.hda Dop/popwrangle C:/PROGRA~1/SIDEEF~1/HOUDIN~1.455/houdini/otls/OPlibPopDop.hda Dop/popwrangle otls/OPlibPopDop.hda Vop/pow C:/PROGRA~1/SIDEEF~1/HOUDIN~1.455/houdini/otls/OPlibScripted.hda Vop/pow otls/OPlibScripted.hda Vop/primintrinsic C:/PROGRA~1/SIDEEF~1/HOUDIN~1.455/houdini/otls/OPlibScripted.hda Vop/primintrinsic otls/OPlibScripted.hda Vop/principledshader::2.0 C:/PROGRA~1/SIDEEF~1/HOUDIN~1.455/houdini/otls/OPlibVop.hda Vop/principledshader::2.0 otls/OPlibVop.hda Vop/qrotate C:/PROGRA~1/SIDEEF~1/HOUDIN~1.455/houdini/otls/OPlibScripted.hda Vop/qrotate otls/OPlibScripted.hda Vop/random C:/PROGRA~1/SIDEEF~1/HOUDIN~1.455/houdini/otls/OPlibScripted.hda Vop/random otls/OPlibScripted.hda Sop/rbdbulletsolver C:/PROGRA~1/SIDEEF~1/HOUDIN~1.455/houdini/otls/OPlibSop.hda Sop/rbdbulletsolver otls/OPlibSop.hda Sop/rbdcluster::2.0 C:/PROGRA~1/SIDEEF~1/HOUDIN~1.455/houdini/otls/OPlibSop.hda Sop/rbdcluster::2.0 otls/OPlibSop.hda Sop/rbdconcretefracture::3.0 C:/PROGRA~1/SIDEEF~1/HOUDIN~1.455/houdini/otls/OPlibSop.hda Sop/rbdconcretefracture::3.0 otls/OPlibSop.hda Sop/rbdconfigure C:/PROGRA~1/SIDEEF~1/HOUDIN~1.455/houdini/otls/OPlibSop.hda Sop/rbdconfigure otls/OPlibSop.hda Sop/rbdconstraintproperties C:/PROGRA~1/SIDEEF~1/HOUDIN~1.455/houdini/otls/OPlibSop.hda Sop/rbdconstraintproperties otls/OPlibSop.hda Sop/rbdcustomfracture::1.0 C:/PROGRA~1/SIDEEF~1/HOUDIN~1.455/houdini/otls/OPlibSop.hda Sop/rbdcustomfracture::1.0 otls/OPlibSop.hda Sop/rbdglassfracture::3.0 C:/PROGRA~1/SIDEEF~1/HOUDIN~1.455/houdini/otls/OPlibSop.hda Sop/rbdglassfracture::3.0 otls/OPlibSop.hda Sop/rbdinteriordetail C:/PROGRA~1/SIDEEF~1/HOUDIN~1.455/houdini/otls/OPlibSop.hda Sop/rbdinteriordetail otls/OPlibSop.hda Sop/rbdmaterialfracture::3.0 C:/PROGRA~1/SIDEEF~1/HOUDIN~1.455/houdini/otls/OPlibSop.hda Sop/rbdmaterialfracture::3.0 otls/OPlibSop.hda Sop/rbdpack C:/PROGRA~1/SIDEEF~1/HOUDIN~1.455/houdini/otls/OPlibSop.hda Sop/rbdpack otls/OPlibSop.hda Dop/rbdpackedobject C:/PROGRA~1/SIDEEF~1/HOUDIN~1.455/houdini/otls/OPlibDop.hda Dop/rbdpackedobject otls/OPlibDop.hda Sop/rbdrecursivefracture::2.0 C:/PROGRA~1/SIDEEF~1/HOUDIN~1.455/houdini/otls/OPlibSop.hda Sop/rbdrecursivefracture::2.0 otls/OPlibSop.hda Sop/rbdrewireconstraints C:/PROGRA~1/SIDEEF~1/HOUDIN~1.455/houdini/otls/OPlibSop.hda Sop/rbdrewireconstraints otls/OPlibSop.hda Sop/rbdunpack C:/PROGRA~1/SIDEEF~1/HOUDIN~1.455/houdini/otls/OPlibSop.hda Sop/rbdunpack otls/OPlibSop.hda Sop/rbdwoodfracture::2.0 C:/PROGRA~1/SIDEEF~1/HOUDIN~1.455/houdini/otls/OPlibSop.hda Sop/rbdwoodfracture::2.0 otls/OPlibSop.hda Dop/rigidbodysolver C:/PROGRA~1/SIDEEF~1/HOUDIN~1.455/houdini/otls/OPlibDop.hda Dop/rigidbodysolver otls/OPlibDop.hda Vop/setattrib C:/PROGRA~1/SIDEEF~1/HOUDIN~1.455/houdini/otls/OPlibScripted.hda Vop/setattrib otls/OPlibScripted.hda Vop/smooth C:/PROGRA~1/SIDEEF~1/HOUDIN~1.455/houdini/otls/OPlibScripted.hda Vop/smooth otls/OPlibScripted.hda Sop/solver C:/PROGRA~1/SIDEEF~1/HOUDIN~1.455/houdini/otls/OPlibSop.hda Sop/solver otls/OPlibSop.hda Sop/split C:/PROGRA~1/SIDEEF~1/HOUDIN~1.455/houdini/otls/OPlibSop.hda Sop/split otls/OPlibSop.hda Dop/staticobject C:/PROGRA~1/SIDEEF~1/HOUDIN~1.455/houdini/otls/OPlibDop.hda Dop/staticobject otls/OPlibDop.hda Vop/subconst C:/PROGRA~1/SIDEEF~1/HOUDIN~1.455/houdini/otls/OPlibScripted.hda Vop/subconst otls/OPlibScripted.hda Sop/testgeometry_pighead C:/PROGRA~1/SIDEEF~1/HOUDIN~1.455/houdini/otls/OPlibPlaceholder.hda Sop/testgeometry_pighead otls/OPlibPlaceholder.hda Sop/testgeometry_rubbertoy C:/PROGRA~1/SIDEEF~1/HOUDIN~1.455/houdini/otls/OPlibPlaceholder.hda Sop/testgeometry_rubbertoy otls/OPlibPlaceholder.hda Vop/turbnoise C:/PROGRA~1/SIDEEF~1/HOUDIN~1.455/houdini/otls/OPlibScripted.hda Vop/turbnoise otls/OPlibScripted.hda Vop/twoway C:/PROGRA~1/SIDEEF~1/HOUDIN~1.455/houdini/otls/OPlibScripted.hda Vop/twoway otls/OPlibScripted.hda Vop/unifiednoise_static C:/PROGRA~1/SIDEEF~1/HOUDIN~1.455/houdini/otls/OPlibVop.hda Vop/unifiednoise_static otls/OPlibVop.hda Vop/unifiednoise_static::3.0 C:/PROGRA~1/SIDEEF~1/HOUDIN~1.455/houdini/otls/OPlibVop.hda Vop/unifiednoise_static::3.0 otls/OPlibVop.hda Vop/vecgetcompon C:/PROGRA~1/SIDEEF~1/HOUDIN~1.455/houdini/otls/OPlibScripted.hda Vop/vecgetcompon otls/OPlibScripted.hda Vop/vecsetcompon C:/PROGRA~1/SIDEEF~1/HOUDIN~1.455/houdini/otls/OPlibScripted.hda Vop/vecsetcompon otls/OPlibScripted.hda Vop/vectofloat C:/PROGRA~1/SIDEEF~1/HOUDIN~1.455/houdini/otls/OPlibScripted.hda Vop/vectofloat otls/OPlibScripted.hda Vop/vectohvec C:/PROGRA~1/SIDEEF~1/HOUDIN~1.455/houdini/otls/OPlibScripted.hda Vop/vectohvec otls/OPlibScripted.hda Vop/volumesample C:/PROGRA~1/SIDEEF~1/HOUDIN~1.455/houdini/otls/OPlibScripted.hda Vop/volumesample otls/OPlibScripted.hda Vop/volumevopglobal C:/PROGRA~1/SIDEEF~1/HOUDIN~1.455/houdini/otls/OPlibVop.hda Vop/volumevopglobal otls/OPlibVop.hda Vop/volumevopoutput C:/PROGRA~1/SIDEEF~1/HOUDIN~1.455/houdini/otls/OPlibVop.hda Vop/volumevopoutput otls/OPlibVop.hda Sop/volumewrangle C:/PROGRA~1/SIDEEF~1/HOUDIN~1.455/houdini/otls/OPlibSop.hda Sop/volumewrangle otls/OPlibSop.hda Sop/voronoifracture C:/PROGRA~1/SIDEEF~1/HOUDIN~1.455/houdini/otls/OPlibSop.hda Sop/voronoifracture otls/OPlibSop.hda Sop/voronoifracture::2.0 C:/PROGRA~1/SIDEEF~1/HOUDIN~1.455/houdini/otls/OPlibSop.hda Sop/voronoifracture::2.0 otls/OPlibSop.hda Sop/voronoifracturepoints C:/PROGRA~1/SIDEEF~1/HOUDIN~1.455/houdini/otls/OPlibSop.hda Sop/voronoifracturepoints otls/OPlibSop.hda Dop/voronoifracturesolver C:/PROGRA~1/SIDEEF~1/HOUDIN~1.455/houdini/otls/OPlibDop.hda Dop/voronoifracturesolver otls/OPlibDop.hda Vop/voronoise C:/PROGRA~1/SIDEEF~1/HOUDIN~1.455/houdini/otls/OPlibScripted.hda Vop/voronoise otls/OPlibScripted.hda Sop/xformpieces C:/PROGRA~1/SIDEEF~1/HOUDIN~1.455/houdini/otls/OPlibSop.hda Sop/xformpieces otls/OPlibSop.hda HouLC1033600ba00620f0e0808cea92d3.OPdummydefsINDXm INDEX_SECTIONA:bhoudini.hdalibraryA:b Vop/addattribA:b Vop/addconstJ*b Vop/addgroupOI3b Vop/addwindforceR|b Sop/assembleUb Sop/attribblurj( pb Sop/attribdeletet b Sop/attribexpressionE'b Sop/attribnoise-8.b Sop/attribrandomize[Yb Sop/attribwrangle:b Vop/biasZ.b Sop/booleanfractureb-b Vop/clampf +b Sop/clean b Sop/colorqb Vop/complementLb Sop/connectadjacentpiecesHb Dop/constraintnetwork6 b Sop/convertlineLb Vop/crossRb Vop/degtoradb Vop/displacenmlb Vop/divconstMb Vop/dot *b Sop/explodedview::2.0B b Vop/fit Bb Vop/floattovecb Vop/geometryvopglobal::2.0$b Vop/geometryvopoutput+b Dop/geometrywrangle.4b Vop/getattrib::2.0 b Dop/groundplane~b Sop/groupexpressione gb Sop/heightfield_xform tb Dop/impactanalysis@b Vop/importattribb Vop/inttofloatb Vop/inttovecb Vop/invertb Vop/lengthAb Dop/linktosourceobject $b Top/localscheduler 8 bVop/matxtoquatG,_b hSop/mountain::2.0I/yb Vop/mulconstyb Vop/negate~b Vop/neighbourlb Vop/neighbourcount^fb Vop/normalizeb Dop/null_{b Dop/objposb Dop/output b Vop/pcimportvb Vop/pciteratevfb Vop/pcopenb Sop/pointdeform~~b Dop/popdrag$b Dop/popdragspin%b Dop/popwrangle \4cb Vop/pow@b Vop/primintrinsicHz `b Vop/principledshader::2.0Qeb Vop/qrotate`b Vop/randomjb Sop/rbdbulletsolver|b Sop/rbdcluster::2.0ȗb Sop/rbdconcretefracture::3.0Wb Sop/rbdconfigure <b Sop/rbdconstraintproperties ϰ,b Sop/rbdcustomfracture::1.0 Hib Sop/rbdglassfracture::3.0 Eoplib:/Sop/rbdconstraintproperties?Sop/rbdconstraintpropertiesSOP_rbdconstraintpropertiesSopguide=./GUIDES brbdcustomfracture::1.0RBD Custom fracture { 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) } INDXContents=b DialogScript=-2aqlHouLC1033600bb60620f099b0f96ba020LIMITED_COMMERCIAL_FILE!!!# Dialog script for booleanfracture automatically generated { name booleanfracture script booleanfracture label "Boolean Fracture" help { "" } inputlabel 1 "Geometry to Fracture" inputlabel 2 "Cutting Surface" inputlabel 3 "Sub-Network Input #3" inputlabel 4 "Sub-Network Input #4" outputlabel 1 "Fractured Geometry" outputlabel 2 "Constraint Geometry" parm { name "group" label "Group" type string default { "" } menutoggle { [ "opmenu -l -a split_fracture_group 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" } } groupsimple { name "folder_pieces" label "Pieces" parm { name "namemethod" label "Name Attribute" type ordinal default { "0" } menu { "overwrite" "Overwrite" "append" "Append" } } parm { name "fracturenamespace" label "Fracture Namespace" type string default { "" } disablewhen "{ namemethod != append }" hidewhen "{ namemethod != append }" parmtag { "script_callback_language" "python" } } parm { name "nameprefix" label "Piece Prefix" type string default { "piece" } parmtag { "script_action" "import soputils\n\nkwargs['attribname'] = 'name'\nsoputils.actionToggleVisualizer(kwargs)" } parmtag { "script_action_help" "Toggle visualization\nCtrl-LMB: Open the visualization editor" } parmtag { "script_action_icon" "VIEW_visualization" } } parm { name "sepparm" label "Separator" type separator default { "" } } parm { name "computeinteriornormals" label "Compute Interior Normals" type toggle default { "1" } } parm { name "interiorcuspangle" label "Interior Cusp Angle" type float default { "15" } disablewhen "{ computeinteriornormals == 0 }" hidewhen "{ computeinteriornormals == 0 }" range { 0! 180! } parmtag { "autoscope" "0000000000000000" } } parm { name "computeexteriornormals" label "Exterior Normals" type ordinal default { "0" } menu { "preserve" "Preserve Existing Normals" "recompute" "Recompute Normals" "none" "Do Not Compute Normals" } } parm { name "exteriorcuspangle" label "Exterior Cusp Angle" type float default { "60" } disablewhen "{ computeexteriornormals == none }" hidewhen "{ computeexteriornormals == none }" range { 0! 180! } parmtag { "autoscope" "0000000000000000" } } } groupsimple { name "folder_attribs" label "Output Attributes" parm { name "attribnameprefix" label "Attribute Name Prefix" type string default { "" } disablewhen "{ outputpieceattrib == 0 outputinteriorgroup == 0 outputexteriorgroup == 0 }" } parm { name "outputpieceattrib" label "Output Primitive Piece" type toggle nolabel joinnext default { "0" } } parm { name "pieceattrib" label "Primitive Piece" type string default { "piece" } disablewhen "{ outputpieceattrib == 0 }" } parm { name "sepparm2" label "Separator" type separator invisible default { "" } } parm { name "copycuttingsurfaceattribs" label "Copy Cutting Surface Attributes" type toggle default { "0" } disablewhen "{ inputsurface != solid }" } parm { name "ptattributes" label "Point Attributes" type string default { "" } disablewhen "{ copycuttingsurfaceattribs == 0 }" hidewhen "{ copycuttingsurfaceattribs == 0 }" menutoggle { [ "opmenu -l -a clean_attribs ptdel" ] } } parm { name "vtxattributes" label "Vertex Attributes" type string default { "" } disablewhen "{ copycuttingsurfaceattribs == 0 }" hidewhen "{ copycuttingsurfaceattribs == 0 }" menutoggle { [ "opmenu -l -a clean_attribs vtxdel" ] } } parm { name "primattributes" label "Primitive Attributes" type string default { "" } disablewhen "{ copycuttingsurfaceattribs == 0 }" hidewhen "{ copycuttingsurfaceattribs == 0 }" menutoggle { [ "opmenu -l -a clean_attribs primdel" ] } } } groupsimple { name "folder_groups" label "Output Groups" parm { name "outputinteriorgroup" label "Output Interior Group" type toggle nolabel joinnext default { "1" } disablewhen "{ inputsurface == surface }" } parm { name "interiorgroup" label "Interior Group" type string default { "inside" } disablewhen "{ outputinteriorgroup == 0 } { inputsurface == surface }" } parm { name "outputexteriorgroup" label "Output Exterior Group" type toggle nolabel joinnext default { "1" } } parm { name "exteriorgroup" label "Exterior Group" type string default { "outside" } disablewhen "{ outputexteriorgroup == 0 }" } parm { name "mergegroups" label "Merge with Existing Groups" type toggle default { "1" } disablewhen "{ outputinteriorgroup == 0 outputexteriorgroup == 0 }" hidewhen "{ outputinteriorgroup == 0 outputexteriorgroup == 0 }" } parm { name "sepparm3" label "Separator" type separator default { "" } } parm { name "outputcutpiecesgroup" label "Output Pieces Inside Cutting Geometry" type toggle nolabel joinnext default { "0" } disablewhen "{ inputsurface == surface } { cuttingsurface == surface }" } parm { name "cutpiecesgroup" label "Pieces Inside Cutting Geometry" type string default { "cutpieces" } disablewhen "{ outputcutpiecesgroup == 0 } { inputsurface == surface } { cuttingsurface == surface }" } parm { name "outputcutsurfacegroup" label "Output Surface Inside Cutting Geometry" type toggle nolabel joinnext default { "0" } disablewhen "{ cuttingsurface == surface }" } parm { name "cutsurfacegroup" label "Surface Inside Cutting Geometry" type string default { "cutsurface" } disablewhen "{ outputcutsurfacegroup == 0 } { cuttingsurface == surface }" } parm { name "outputinteriorseamedges" label "Output Interior Seams" type toggle nolabel joinnext default { "off" } disablewhen "{ inputsurface == surface }" parmtag { "autoscope" "0000000000000000" } parmtag { "script_callback_language" "python" } } parm { name "interiorseamedges" label "Interior Seams" type string default { "insideseams" } disablewhen "{ outputinteriorseamedges == 0 } { inputsurface == surface }" parmtag { "autoscope" "0000000000000000" } parmtag { "script_callback_language" "python" } } parm { name "outputexteriorseamedges" label "Output Exterior Seams" type toggle nolabel joinnext default { "0" } } parm { name "exteriorseamedges" label "Exterior Seams" type string default { "outsideseams" } disablewhen "{ outputexteriorseamedges == 0 }" } } groupsimple { name "folder_booleansettings" label "Boolean Settings" parm { name "inputsurface" label "Treat Geometry As" type ordinal default { "solid" } menu { "solid" "Solid" "surface" "Surface" } parmtag { "autoscope" "0000000000000000" } } parm { name "cuttingsurface" label "Treat Cutting Geometry As" type ordinal default { "surface" } menu { "solid" "Solid" "surface" "Surface" } parmtag { "autoscope" "0000000000000000" } } parm { name "detriangulate" label "Detriangulate" type ordinal default { "all" } menu { "none" "No Polygons" "unchanged" "Only Unchanged Polygons" "all" "All Polygons" } parmtag { "autoscope" "0000000000000000" } } parm { name "removeinlinepoints" label "Assume Seam Polygons Are Flat" type toggle default { "on" } hidewhen "{ detriangulate != all }" parmtag { "autoscope" "0000000000000000" } } parm { name "collapsetinyedges" label "Collapse Tiny Seam-Adjacent Edges" type toggle default { "on" } parmtag { "autoscope" "0000000000000000" } } parm { name "lengththreshold" label "Edge Length Threshold" type float default { "1e-05" } disablewhen "{ collapsetinyedges == 0 }" range { 0 10 } parmtag { "autoscope" "0000000000000000" } } } } INDX DialogScript aT#/* * 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 { 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 } } INDXContents=b DialogScript= yaTHouLC1033600bb60620f099b0f96ba020LIMITED_COMMERCIAL_FILE!!!# Dialog script for clean automatically generated { 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 } } parm { name "fixoverlap" label "Fix Overlaps" type toggle default { "0" } range { 0 1 } } parm { name "deleteoverlap" label "Delete Overlap Pairs" type toggle default { "1" } disablewhen "{ fixoverlap == 0 }" range { 0 1 } } 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 } } parm { name "delattribs" label "Remove Attribs" type string default { "*" } disablewhen "{ dodelattribs == 0 }" range { 0 1 } } parm { name "dodelgroups" label "Remove Groups" type toggle nolabel joinnext default { "0" } range { 0 1 } } parm { name "delgroups" label "Remove Groups" type string default { "*" } disablewhen "{ dodelgroups == 0 }" range { 0 1 } } parm { name "delnans" label "Remove NANs" type toggle default { "1" } range { 0 1 } } parm { name "make_manifold" label "Manifold-Only Topology" type toggle default { "0" } range { 0 1 } } parm { name "delete_small" label "Delete Small Manifold Patches" type toggle default { "1" } hidewhen "{ make_manifold == 0 }" range { 0 1 } 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 } } } INDXContents=b DialogScript=aTHouLC1033600bb60620f09de0f96ba020LIMITED_COMMERCIAL_FILE!!!# Dialog script for color automatically generated { 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 { [ "return kwargs['node'].generateInputGroupMenu(0," ] [ " (hou.geometryType.Points, hou.geometryType.Primitives," ] [ " hou.geometryType.Vertices, hou.geometryType.Edges)," ] [ " include_name_attrib=True, include_selection=False);" ] language python } 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 }" menureplace { [ "opmenu -l -a attribdelete1 ptdel" ] } 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 aT#/* * 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 { 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 } } INDXContents=b DialogScript=maTHouLC1033600bb60620f099b0f96ba020LIMITED_COMMERCIAL_FILE!!!# 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 "pieceattrib" label "Piece Attribute" type string default { "name" } disablewhen "{ connecttype == pointcloud }" hidewhen "{ connecttype == pointcloud }" menureplace { [ "opmenu -l -a remove_all_attrib primdel" ] } } parm { name "useclusterattrib" label "Find Boundary Connections" type toggle default { "0" } disablewhen "{ connecttype == pointcloud }" hidewhen "{ connecttype == pointcloud }" } parm { name "clusterattrib" label "Cluster Attribute" type string default { "" } disablewhen "{ connecttype == pointcloud } { useclusterattrib == 0 }" hidewhen "{ connecttype == pointcloud } { useclusterattrib == 0 }" menureplace { [ "opmenu -l -a remove_all_attrib primdel" ] } } 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 "useconeangle" label "Use Cone Angle" type toggle nolabel joinnext default { "1" } disablewhen "{ connecttype == pointcloud }" hidewhen "{ connecttype == pointcloud }" parmtag { "script_callback_language" "python" } } parm { name "coneangle" label "Cone Angle" type float default { "90" } disablewhen "{ useconeangle == 0 } { connecttype == pointcloud }" hidewhen "{ connecttype == pointcloud }" range { 0! 180 } parmtag { "script_callback_language" "python" } } parm { name "maxconnections" label "Max Connections" type integer default { "1" } hidewhen "{ connecttype == pointcloud }" range { 1! 5 } } parm { name "centroidmethod" label "Centroid Method" type ordinal default { "com" } disablewhen "{ connecttype != pieces }" hidewhen "{ connecttype != pieces }" menu { "com" "Center of Mass" "bbox" "Bounding Box Center" } parmtag { "autoscope" "0000000000000000" } } parm { name "distancefromcentroid" label "Offset From Centroid" type float default { "0" } disablewhen "{ connecttype != pieces }" 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 } } } INDXContents=b DialogScript= OaTHouLC1033600bb60620f09ec0f96ba020LIMITED_COMMERCIAL_FILE!!!# Dialog script for constraintnetwork automatically generated { name constraintnetwork script constraintnetwork label "Constraint Network" help { "" } inputlabel 1 "Objects to be processed" inputlabel 2 "Constraints to create" inputlabel 3 "Constraint Solvers" group { name "folder0" label "Data Options" 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 { "oprelative" "." } } parm { name "usetransform" label "Use Object Transform" type toggle default { "off" } range { 0 1 } parmtag { "autoscope" "0000000000000000" } parmtag { "script_callback" "" } } parm { name "reloadfromsops" label "Overwrite with SOP" type integer default { [ "hou.pwd().hdaModule().shouldOverwriteWithSOP()" python ] } range { 0 10 } } } group { name "folder0_1" label "Guide Options" parm { name "showguide" label "Show Guide Geometry" type toggle default { "on" } range { 0 1 } parmtag { "autoscope" "0000000000000000" } } parm { name "showobjectlink" label "Show Object Link" type toggle default { "on" } disablewhen "{ showguide == 0 }" range { 0 1 } parmtag { "autoscope" "0000000000000000" } } } group { name "folder0_2" label "Relationship" parm { name "attachinternalconstraints" label "Attach Internal Constraints to Object" type toggle default { "0" } } parm { name "group" label "Constrained Objects" type string default { "*" } disablewhen "{ attachinternalconstraints == 1 }" range { 0 1 } } parm { name "relname" label "Relationship Name" type string default { "$OS" } disablewhen "{ attachinternalconstraints == 1 }" range { 0 1 } parmtag { "autoscope" "0000000000000000" } } } parm { name "activation" label "Activation" type integer default { "1" } range { 0 10 } } } INDXContents=b DialogScript=T#1HouLC1033600bb60620f099b0f96ba020LIMITED_COMMERCIAL_FILE!!!# Dialog script for convertline automatically generated 09/24/14 17:03:02 { name convertline script convertline label "Convert Line" 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 "computelength" label "Compute Length" type toggle nolabel joinnext default { "1" } range { 0 1 } export none } parm { name "lengthname" label "Compute Length" type string default { "restlength" } disablewhen "{ computelength == 0 }" range { 0 1 } export none parmtag { "autoscope" "0000000000000000" } parmtag { "script_callback" "" } } } INDX DialogScriptaT#/* * 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 { 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 DialogScriptaT#/* * 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 { 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 DialogScriptaT&/* * 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 { 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!aT#/* * 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 { 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 DialogScriptaT#/* * 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 { 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 } } INDXContents=b DialogScript= aTHouLC1033600bb60620f099c0f96ba020LIMITED_COMMERCIAL_FILE!!!# Dialog script for explodedview::2.0 automatically generated { name explodedview::2.0 script explodedview::2.0 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 -a move_pieces 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 0x000000ff 0 class 0 } parm { name "pieceattrib" label "Piece Attribute" type string default { "name" } menureplace { [ "opmenu -l -a compute_piece_centroids pieceattrib" ] } parmtag { "autoscope" "0000000000000000" } parmtag { "script_action" "import soputils\n\nsoputils.actionToggleVisualizer(kwargs)" } parmtag { "script_action_icon" "VIEW_visualization" } parmtag { "script_action_help" "Toggle visualization\nCtrl-LMB: Open the visualization editor" } } parm { name "class" label "Piece Elements" type ordinal default { "prim" } menu { "prim" "Primitive" "point" "Point" } parmtag { "autoscope" "0000000000000000" } } parm { name "sepparm" label "Separator" type separator default { "" } } parm { name "scale" label "Uniform Scale" type float default { "1" } range { 0 5 } } parm { name "s" label "Scale" type vector size 3 default { "1" "1" "1" } range { -1 1 } } parm { name "overridecenter" label "Override Center" type toggle nolabel joinnext default { "0" } } parm { name "t" label "Override Center" type vector size 3 default { "0" "0" "0" } disablewhen "{ overridecenter == 0 }" range { -1 1 } } } INDX DialogScriptYaT#/* * 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 { 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 DialogScriptaT#/* * 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 { 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 } } INDXContents=b DialogScript=TA\_HouLC1033600bb60620f099b0f96ba020LIMITED_COMMERCIAL_FILE!!!# 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 { "" } } INDXContents=b DialogScript="Q!HouLC1033600bb60620f099b0f96ba020LIMITED_COMMERCIAL_FILE!!!# 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 { "" } } INDXContents=b DialogScript=1aTHouLC1033600bb60620f09ec0f96ba020LIMITED_COMMERCIAL_FILE!!!# Dialog script for geometrywrangle automatically generated { name geometrywrangle script geometrywrangle label "Geometry Wrangle" help { "" } inputlabel 1 Pre-Solve inputlabel 2 "Input 2" inputlabel 3 "Input 3" inputlabel 4 "Input 4" inputlabel 5 "Sub-Network Input #5" inputlabel 6 "Sub-Network Input #6" inputlabel 7 "Sub-Network Input #7" inputlabel 8 "Sub-Network Input #8" inputlabel 9 "Sub-Network Input #9" inputlabel 10 "Sub-Network Input #10" inputlabel 11 "Sub-Network Input #11" inputlabel 12 "Sub-Network Input #12" inputlabel 13 "Sub-Network Input #13" inputlabel 14 "Sub-Network Input #14" inputlabel 15 "Sub-Network Input #15" inputlabel 16 "Sub-Network Input #16" inputlabel 17 "Sub-Network Input #17" inputlabel 18 "Sub-Network Input #18" inputlabel 19 "Sub-Network Input #19" inputlabel 20 "Sub-Network Input #20" inputlabel 21 "Sub-Network Input #21" inputlabel 22 "Sub-Network Input #22" inputlabel 23 "Sub-Network Input #23" inputlabel 24 "Sub-Network Input #24" inputlabel 25 "Sub-Network Input #25" inputlabel 26 "Sub-Network Input #26" inputlabel 27 "Sub-Network Input #27" inputlabel 28 "Sub-Network Input #28" inputlabel 29 "Sub-Network Input #29" inputlabel 30 "Sub-Network Input #30" inputlabel 31 "Sub-Network Input #31" inputlabel 32 "Sub-Network Input #32" inputlabel 33 "Sub-Network Input #33" inputlabel 34 "Sub-Network Input #34" inputlabel 35 "Sub-Network Input #35" inputlabel 36 "Sub-Network Input #36" inputlabel 37 "Sub-Network Input #37" inputlabel 38 "Sub-Network Input #38" inputlabel 39 "Sub-Network Input #39" inputlabel 40 "Sub-Network Input #40" inputlabel 41 "Sub-Network Input #41" inputlabel 42 "Sub-Network Input #42" inputlabel 43 "Sub-Network Input #43" inputlabel 44 "Sub-Network Input #44" inputlabel 45 "Sub-Network Input #45" inputlabel 46 "Sub-Network Input #46" inputlabel 47 "Sub-Network Input #47" inputlabel 48 "Sub-Network Input #48" inputlabel 49 "Sub-Network Input #49" inputlabel 50 "Sub-Network Input #50" inputlabel 51 "Sub-Network Input #51" inputlabel 52 "Sub-Network Input #52" inputlabel 53 "Sub-Network Input #53" inputlabel 54 "Sub-Network Input #54" inputlabel 55 "Sub-Network Input #55" inputlabel 56 "Sub-Network Input #56" inputlabel 57 "Sub-Network Input #57" inputlabel 58 "Sub-Network Input #58" inputlabel 59 "Sub-Network Input #59" inputlabel 60 "Sub-Network Input #60" inputlabel 61 "Sub-Network Input #61" inputlabel 62 "Sub-Network Input #62" inputlabel 63 "Sub-Network Input #63" inputlabel 64 "Sub-Network Input #64" inputlabel 65 "Sub-Network Input #65" inputlabel 66 "Sub-Network Input #66" inputlabel 67 "Sub-Network Input #67" inputlabel 68 "Sub-Network Input #68" inputlabel 69 "Sub-Network Input #69" inputlabel 70 "Sub-Network Input #70" inputlabel 71 "Sub-Network Input #71" inputlabel 72 "Sub-Network Input #72" inputlabel 73 "Sub-Network Input #73" inputlabel 74 "Sub-Network Input #74" inputlabel 75 "Sub-Network Input #75" inputlabel 76 "Sub-Network Input #76" inputlabel 77 "Sub-Network Input #77" inputlabel 78 "Sub-Network Input #78" inputlabel 79 "Sub-Network Input #79" inputlabel 80 "Sub-Network Input #80" inputlabel 81 "Sub-Network Input #81" inputlabel 82 "Sub-Network Input #82" inputlabel 83 "Sub-Network Input #83" inputlabel 84 "Sub-Network Input #84" inputlabel 85 "Sub-Network Input #85" inputlabel 86 "Sub-Network Input #86" inputlabel 87 "Sub-Network Input #87" inputlabel 88 "Sub-Network Input #88" inputlabel 89 "Sub-Network Input #89" inputlabel 90 "Sub-Network Input #90" inputlabel 91 "Sub-Network Input #91" inputlabel 92 "Sub-Network Input #92" inputlabel 93 "Sub-Network Input #93" inputlabel 94 "Sub-Network Input #94" inputlabel 95 "Sub-Network Input #95" inputlabel 96 "Sub-Network Input #96" inputlabel 97 "Sub-Network Input #97" inputlabel 98 "Sub-Network Input #98" inputlabel 99 "Sub-Network Input #99" inputlabel 100 "Sub-Network Input #100" inputlabel 101 "Sub-Network Input #101" inputlabel 102 "Sub-Network Input #102" inputlabel 103 "Sub-Network Input #103" inputlabel 104 "Sub-Network Input #104" inputlabel 105 "Sub-Network Input #105" inputlabel 106 "Sub-Network Input #106" inputlabel 107 "Sub-Network Input #107" inputlabel 108 "Sub-Network Input #108" inputlabel 109 "Sub-Network Input #109" inputlabel 110 "Sub-Network Input #110" inputlabel 111 "Sub-Network Input #111" inputlabel 112 "Sub-Network Input #112" inputlabel 113 "Sub-Network Input #113" inputlabel 114 "Sub-Network Input #114" inputlabel 115 "Sub-Network Input #115" inputlabel 116 "Sub-Network Input #116" inputlabel 117 "Sub-Network Input #117" inputlabel 118 "Sub-Network Input #118" inputlabel 119 "Sub-Network Input #119" inputlabel 120 "Sub-Network Input #120" inputlabel 121 "Sub-Network Input #121" inputlabel 122 "Sub-Network Input #122" inputlabel 123 "Sub-Network Input #123" inputlabel 124 "Sub-Network Input #124" inputlabel 125 "Sub-Network Input #125" inputlabel 126 "Sub-Network Input #126" inputlabel 127 "Sub-Network Input #127" inputlabel 128 "Sub-Network Input #128" inputlabel 129 "Sub-Network Input #129" inputlabel 130 "Sub-Network Input #130" inputlabel 131 "Sub-Network Input #131" inputlabel 132 "Sub-Network Input #132" inputlabel 133 "Sub-Network Input #133" inputlabel 134 "Sub-Network Input #134" inputlabel 135 "Sub-Network Input #135" inputlabel 136 "Sub-Network Input #136" inputlabel 137 "Sub-Network Input #137" inputlabel 138 "Sub-Network Input #138" inputlabel 139 "Sub-Network Input #139" inputlabel 140 "Sub-Network Input #140" inputlabel 141 "Sub-Network Input #141" inputlabel 142 "Sub-Network Input #142" inputlabel 143 "Sub-Network Input #143" inputlabel 144 "Sub-Network Input #144" inputlabel 145 "Sub-Network Input #145" inputlabel 146 "Sub-Network Input #146" inputlabel 147 "Sub-Network Input #147" inputlabel 148 "Sub-Network Input #148" inputlabel 149 "Sub-Network Input #149" inputlabel 150 "Sub-Network Input #150" inputlabel 151 "Sub-Network Input #151" inputlabel 152 "Sub-Network Input #152" inputlabel 153 "Sub-Network Input #153" inputlabel 154 "Sub-Network Input #154" inputlabel 155 "Sub-Network Input #155" inputlabel 156 "Sub-Network Input #156" inputlabel 157 "Sub-Network Input #157" inputlabel 158 "Sub-Network Input #158" inputlabel 159 "Sub-Network Input #159" inputlabel 160 "Sub-Network Input #160" inputlabel 161 "Sub-Network Input #161" inputlabel 162 "Sub-Network Input #162" inputlabel 163 "Sub-Network Input #163" inputlabel 164 "Sub-Network Input #164" inputlabel 165 "Sub-Network Input #165" inputlabel 166 "Sub-Network Input #166" inputlabel 167 "Sub-Network Input #167" inputlabel 168 "Sub-Network Input #168" inputlabel 169 "Sub-Network Input #169" inputlabel 170 "Sub-Network Input #170" inputlabel 171 "Sub-Network Input #171" inputlabel 172 "Sub-Network Input #172" inputlabel 173 "Sub-Network Input #173" inputlabel 174 "Sub-Network Input #174" inputlabel 175 "Sub-Network Input #175" inputlabel 176 "Sub-Network Input #176" inputlabel 177 "Sub-Network Input #177" inputlabel 178 "Sub-Network Input #178" inputlabel 179 "Sub-Network Input #179" inputlabel 180 "Sub-Network Input #180" inputlabel 181 "Sub-Network Input #181" inputlabel 182 "Sub-Network Input #182" inputlabel 183 "Sub-Network Input #183" inputlabel 184 "Sub-Network Input #184" inputlabel 185 "Sub-Network Input #185" inputlabel 186 "Sub-Network Input #186" inputlabel 187 "Sub-Network Input #187" inputlabel 188 "Sub-Network Input #188" inputlabel 189 "Sub-Network Input #189" inputlabel 190 "Sub-Network Input #190" inputlabel 191 "Sub-Network Input #191" inputlabel 192 "Sub-Network Input #192" inputlabel 193 "Sub-Network Input #193" inputlabel 194 "Sub-Network Input #194" inputlabel 195 "Sub-Network Input #195" inputlabel 196 "Sub-Network Input #196" inputlabel 197 "Sub-Network Input #197" inputlabel 198 "Sub-Network Input #198" inputlabel 199 "Sub-Network Input #199" inputlabel 200 "Sub-Network Input #200" inputlabel 201 "Sub-Network Input #201" inputlabel 202 "Sub-Network Input #202" inputlabel 203 "Sub-Network Input #203" inputlabel 204 "Sub-Network Input #204" inputlabel 205 "Sub-Network Input #205" inputlabel 206 "Sub-Network Input #206" inputlabel 207 "Sub-Network Input #207" inputlabel 208 "Sub-Network Input #208" inputlabel 209 "Sub-Network Input #209" inputlabel 210 "Sub-Network Input #210" inputlabel 211 "Sub-Network Input #211" inputlabel 212 "Sub-Network Input #212" inputlabel 213 "Sub-Network Input #213" inputlabel 214 "Sub-Network Input #214" inputlabel 215 "Sub-Network Input #215" inputlabel 216 "Sub-Network Input #216" inputlabel 217 "Sub-Network Input #217" inputlabel 218 "Sub-Network Input #218" inputlabel 219 "Sub-Network Input #219" inputlabel 220 "Sub-Network Input #220" inputlabel 221 "Sub-Network Input #221" inputlabel 222 "Sub-Network Input #222" inputlabel 223 "Sub-Network Input #223" inputlabel 224 "Sub-Network Input #224" inputlabel 225 "Sub-Network Input #225" inputlabel 226 "Sub-Network Input #226" inputlabel 227 "Sub-Network Input #227" inputlabel 228 "Sub-Network Input #228" inputlabel 229 "Sub-Network Input #229" inputlabel 230 "Sub-Network Input #230" inputlabel 231 "Sub-Network Input #231" inputlabel 232 "Sub-Network Input #232" inputlabel 233 "Sub-Network Input #233" inputlabel 234 "Sub-Network Input #234" inputlabel 235 "Sub-Network Input #235" inputlabel 236 "Sub-Network Input #236" inputlabel 237 "Sub-Network Input #237" inputlabel 238 "Sub-Network Input #238" inputlabel 239 "Sub-Network Input #239" inputlabel 240 "Sub-Network Input #240" inputlabel 241 "Sub-Network Input #241" inputlabel 242 "Sub-Network Input #242" inputlabel 243 "Sub-Network Input #243" inputlabel 244 "Sub-Network Input #244" inputlabel 245 "Sub-Network Input #245" inputlabel 246 "Sub-Network Input #246" inputlabel 247 "Sub-Network Input #247" inputlabel 248 "Sub-Network Input #248" inputlabel 249 "Sub-Network Input #249" inputlabel 250 "Sub-Network Input #250" inputlabel 251 "Sub-Network Input #251" inputlabel 252 "Sub-Network Input #252" inputlabel 253 "Sub-Network Input #253" inputlabel 254 "Sub-Network Input #254" inputlabel 255 "Sub-Network Input #255" inputlabel 256 "Sub-Network Input #256" inputlabel 257 "Sub-Network Input #257" inputlabel 258 "Sub-Network Input #258" inputlabel 259 "Sub-Network Input #259" inputlabel 260 "Sub-Network Input #260" inputlabel 261 "Sub-Network Input #261" inputlabel 262 "Sub-Network Input #262" inputlabel 263 "Sub-Network Input #263" inputlabel 264 "Sub-Network Input #264" inputlabel 265 "Sub-Network Input #265" inputlabel 266 "Sub-Network Input #266" inputlabel 267 "Sub-Network Input #267" inputlabel 268 "Sub-Network Input #268" inputlabel 269 "Sub-Network Input #269" inputlabel 270 "Sub-Network Input #270" inputlabel 271 "Sub-Network Input #271" inputlabel 272 "Sub-Network Input #272" inputlabel 273 "Sub-Network Input #273" inputlabel 274 "Sub-Network Input #274" inputlabel 275 "Sub-Network Input #275" inputlabel 276 "Sub-Network Input #276" inputlabel 277 "Sub-Network Input #277" inputlabel 278 "Sub-Network Input #278" inputlabel 279 "Sub-Network Input #279" inputlabel 280 "Sub-Network Input #280" inputlabel 281 "Sub-Network Input #281" inputlabel 282 "Sub-Network Input #282" inputlabel 283 "Sub-Network Input #283" inputlabel 284 "Sub-Network Input #284" inputlabel 285 "Sub-Network Input #285" inputlabel 286 "Sub-Network Input #286" inputlabel 287 "Sub-Network Input #287" inputlabel 288 "Sub-Network Input #288" inputlabel 289 "Sub-Network Input #289" inputlabel 290 "Sub-Network Input #290" inputlabel 291 "Sub-Network Input #291" inputlabel 292 "Sub-Network Input #292" inputlabel 293 "Sub-Network Input #293" inputlabel 294 "Sub-Network Input #294" inputlabel 295 "Sub-Network Input #295" inputlabel 296 "Sub-Network Input #296" inputlabel 297 "Sub-Network Input #297" inputlabel 298 "Sub-Network Input #298" inputlabel 299 "Sub-Network Input #299" inputlabel 300 "Sub-Network Input #300" inputlabel 301 "Sub-Network Input #301" inputlabel 302 "Sub-Network Input #302" inputlabel 303 "Sub-Network Input #303" inputlabel 304 "Sub-Network Input #304" inputlabel 305 "Sub-Network Input #305" inputlabel 306 "Sub-Network Input #306" inputlabel 307 "Sub-Network Input #307" inputlabel 308 "Sub-Network Input #308" inputlabel 309 "Sub-Network Input #309" inputlabel 310 "Sub-Network Input #310" inputlabel 311 "Sub-Network Input #311" inputlabel 312 "Sub-Network Input #312" inputlabel 313 "Sub-Network Input #313" inputlabel 314 "Sub-Network Input #314" inputlabel 315 "Sub-Network Input #315" inputlabel 316 "Sub-Network Input #316" inputlabel 317 "Sub-Network Input #317" inputlabel 318 "Sub-Network Input #318" inputlabel 319 "Sub-Network Input #319" inputlabel 320 "Sub-Network Input #320" inputlabel 321 "Sub-Network Input #321" inputlabel 322 "Sub-Network Input #322" inputlabel 323 "Sub-Network Input #323" inputlabel 324 "Sub-Network Input #324" inputlabel 325 "Sub-Network Input #325" inputlabel 326 "Sub-Network Input #326" inputlabel 327 "Sub-Network Input #327" inputlabel 328 "Sub-Network Input #328" inputlabel 329 "Sub-Network Input #329" inputlabel 330 "Sub-Network Input #330" inputlabel 331 "Sub-Network Input #331" inputlabel 332 "Sub-Network Input #332" inputlabel 333 "Sub-Network Input #333" inputlabel 334 "Sub-Network Input #334" inputlabel 335 "Sub-Network Input #335" inputlabel 336 "Sub-Network Input #336" inputlabel 337 "Sub-Network Input #337" inputlabel 338 "Sub-Network Input #338" inputlabel 339 "Sub-Network Input #339" inputlabel 340 "Sub-Network Input #340" inputlabel 341 "Sub-Network Input #341" inputlabel 342 "Sub-Network Input #342" inputlabel 343 "Sub-Network Input #343" inputlabel 344 "Sub-Network Input #344" inputlabel 345 "Sub-Network Input #345" inputlabel 346 "Sub-Network Input #346" inputlabel 347 "Sub-Network Input #347" inputlabel 348 "Sub-Network Input #348" inputlabel 349 "Sub-Network Input #349" inputlabel 350 "Sub-Network Input #350" inputlabel 351 "Sub-Network Input #351" inputlabel 352 "Sub-Network Input #352" inputlabel 353 "Sub-Network Input #353" inputlabel 354 "Sub-Network Input #354" inputlabel 355 "Sub-Network Input #355" inputlabel 356 "Sub-Network Input #356" inputlabel 357 "Sub-Network Input #357" inputlabel 358 "Sub-Network Input #358" inputlabel 359 "Sub-Network Input #359" inputlabel 360 "Sub-Network Input #360" inputlabel 361 "Sub-Network Input #361" inputlabel 362 "Sub-Network Input #362" inputlabel 363 "Sub-Network Input #363" inputlabel 364 "Sub-Network Input #364" inputlabel 365 "Sub-Network Input #365" inputlabel 366 "Sub-Network Input #366" inputlabel 367 "Sub-Network Input #367" inputlabel 368 "Sub-Network Input #368" inputlabel 369 "Sub-Network Input #369" inputlabel 370 "Sub-Network Input #370" inputlabel 371 "Sub-Network Input #371" inputlabel 372 "Sub-Network Input #372" inputlabel 373 "Sub-Network Input #373" inputlabel 374 "Sub-Network Input #374" inputlabel 375 "Sub-Network Input #375" inputlabel 376 "Sub-Network Input #376" inputlabel 377 "Sub-Network Input #377" inputlabel 378 "Sub-Network Input #378" inputlabel 379 "Sub-Network Input #379" inputlabel 380 "Sub-Network Input #380" inputlabel 381 "Sub-Network Input #381" inputlabel 382 "Sub-Network Input #382" inputlabel 383 "Sub-Network Input #383" inputlabel 384 "Sub-Network Input #384" inputlabel 385 "Sub-Network Input #385" inputlabel 386 "Sub-Network Input #386" inputlabel 387 "Sub-Network Input #387" inputlabel 388 "Sub-Network Input #388" inputlabel 389 "Sub-Network Input #389" inputlabel 390 "Sub-Network Input #390" inputlabel 391 "Sub-Network Input #391" inputlabel 392 "Sub-Network Input #392" inputlabel 393 "Sub-Network Input #393" inputlabel 394 "Sub-Network Input #394" inputlabel 395 "Sub-Network Input #395" inputlabel 396 "Sub-Network Input #396" inputlabel 397 "Sub-Network Input #397" inputlabel 398 "Sub-Network Input #398" inputlabel 399 "Sub-Network Input #399" inputlabel 400 "Sub-Network Input #400" inputlabel 401 "Sub-Network Input #401" inputlabel 402 "Sub-Network Input #402" inputlabel 403 "Sub-Network Input #403" inputlabel 404 "Sub-Network Input #404" inputlabel 405 "Sub-Network Input #405" inputlabel 406 "Sub-Network Input #406" inputlabel 407 "Sub-Network Input #407" inputlabel 408 "Sub-Network Input #408" inputlabel 409 "Sub-Network Input #409" inputlabel 410 "Sub-Network Input #410" inputlabel 411 "Sub-Network Input #411" inputlabel 412 "Sub-Network Input #412" inputlabel 413 "Sub-Network Input #413" inputlabel 414 "Sub-Network Input #414" inputlabel 415 "Sub-Network Input #415" inputlabel 416 "Sub-Network Input #416" inputlabel 417 "Sub-Network Input #417" inputlabel 418 "Sub-Network Input #418" inputlabel 419 "Sub-Network Input #419" inputlabel 420 "Sub-Network Input #420" inputlabel 421 "Sub-Network Input #421" inputlabel 422 "Sub-Network Input #422" inputlabel 423 "Sub-Network Input #423" inputlabel 424 "Sub-Network Input #424" inputlabel 425 "Sub-Network Input #425" inputlabel 426 "Sub-Network Input #426" inputlabel 427 "Sub-Network Input #427" inputlabel 428 "Sub-Network Input #428" inputlabel 429 "Sub-Network Input #429" inputlabel 430 "Sub-Network Input #430" inputlabel 431 "Sub-Network Input #431" inputlabel 432 "Sub-Network Input #432" inputlabel 433 "Sub-Network Input #433" inputlabel 434 "Sub-Network Input #434" inputlabel 435 "Sub-Network Input #435" inputlabel 436 "Sub-Network Input #436" inputlabel 437 "Sub-Network Input #437" inputlabel 438 "Sub-Network Input #438" inputlabel 439 "Sub-Network Input #439" inputlabel 440 "Sub-Network Input #440" inputlabel 441 "Sub-Network Input #441" inputlabel 442 "Sub-Network Input #442" inputlabel 443 "Sub-Network Input #443" inputlabel 444 "Sub-Network Input #444" inputlabel 445 "Sub-Network Input #445" inputlabel 446 "Sub-Network Input #446" inputlabel 447 "Sub-Network Input #447" inputlabel 448 "Sub-Network Input #448" inputlabel 449 "Sub-Network Input #449" inputlabel 450 "Sub-Network Input #450" inputlabel 451 "Sub-Network Input #451" inputlabel 452 "Sub-Network Input #452" inputlabel 453 "Sub-Network Input #453" inputlabel 454 "Sub-Network Input #454" inputlabel 455 "Sub-Network Input #455" inputlabel 456 "Sub-Network Input #456" inputlabel 457 "Sub-Network Input #457" inputlabel 458 "Sub-Network Input #458" inputlabel 459 "Sub-Network Input #459" inputlabel 460 "Sub-Network Input #460" inputlabel 461 "Sub-Network Input #461" inputlabel 462 "Sub-Network Input #462" inputlabel 463 "Sub-Network Input #463" inputlabel 464 "Sub-Network Input #464" inputlabel 465 "Sub-Network Input #465" inputlabel 466 "Sub-Network Input #466" inputlabel 467 "Sub-Network Input #467" inputlabel 468 "Sub-Network Input #468" inputlabel 469 "Sub-Network Input #469" inputlabel 470 "Sub-Network Input #470" inputlabel 471 "Sub-Network Input #471" inputlabel 472 "Sub-Network Input #472" inputlabel 473 "Sub-Network Input #473" inputlabel 474 "Sub-Network Input #474" inputlabel 475 "Sub-Network Input #475" inputlabel 476 "Sub-Network Input #476" inputlabel 477 "Sub-Network Input #477" inputlabel 478 "Sub-Network Input #478" inputlabel 479 "Sub-Network Input #479" inputlabel 480 "Sub-Network Input #480" inputlabel 481 "Sub-Network Input #481" inputlabel 482 "Sub-Network Input #482" inputlabel 483 "Sub-Network Input #483" inputlabel 484 "Sub-Network Input #484" inputlabel 485 "Sub-Network Input #485" inputlabel 486 "Sub-Network Input #486" inputlabel 487 "Sub-Network Input #487" inputlabel 488 "Sub-Network Input #488" inputlabel 489 "Sub-Network Input #489" inputlabel 490 "Sub-Network Input #490" inputlabel 491 "Sub-Network Input #491" inputlabel 492 "Sub-Network Input #492" inputlabel 493 "Sub-Network Input #493" inputlabel 494 "Sub-Network Input #494" inputlabel 495 "Sub-Network Input #495" inputlabel 496 "Sub-Network Input #496" inputlabel 497 "Sub-Network Input #497" inputlabel 498 "Sub-Network Input #498" inputlabel 499 "Sub-Network Input #499" inputlabel 500 "Sub-Network Input #500" group { name "folder1" label "Code" parm { name "bindgroup" label "Group" type string default { "" } range { 0 1 } parmtag { "autoscope" "0000000000000000" } } parm { name "bindgrouptype" 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 "bindclass" 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 { "100" } hidewhen "{ bindclass != number }" range { 0! 10000 } parmtag { "autoscope" "0000000000000000" } } parm { name "vex_threadjobsize" label "Thread Job Size" type integer default { "32" } hidewhen "{ bindclass != number }" range { 1! 10000 } parmtag { "autoscope" "0000000000000000" } } parm { name "snippet" label "VEXpression" type string default { "" } range { 0 1 } parmtag { "autoscope" "0000000000000000" } parmtag { "editor" "1" } parmtag { "editorlang" "vex" } parmtag { "editorlines" "8-40" } 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 "folder1_1" label "Data Bindings" parm { name "bindgeo" label "Geometry" type string default { "Geometry" } range { 0 1 } parmtag { "autoscope" "0000000000000000" } } 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 "autobind" label "Autobind by Name" type toggle default { "on" } range { 0 1 } parmtag { "autoscope" "0000000000000000" } } multiparm { name "bindings" label "Attribute Bindings" default 0 parmtag { "autoscope" "0000000000000000" } parmtag { "multistartoffset" "1" } parm { name "binddata#" label "Attribute Name" type string default { "" } range { 0 1 } } parm { name "bindparm#" label "VEX Parameter" type string default { "" } range { 0 1 } } } multiparm { name "bindfield_num" label "Field Bindings" default 0 parmtag { "autoscope" "0000000000000000" } parmtag { "multistartoffset" "1" } parm { name "bindfield_data#" label "Field Name" type string default { "" } range { 0 1 } } parm { name "bindfield_parm#" 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_updatenmls" label "Update Normals If Displaced" type toggle default { "off" } range { 0 1 } parmtag { "autoscope" "0000000000000000" } parmtag { "script_callback" "" } } parm { name "vex_precision" label "VEX Precision" type string default { "auto" } menu { "auto" "Auto" "32" "32-bit" "64" "64-bit" } parmtag { "autoscope" "0000000000000000" } } } group { name "folder1_2" label "Inputs" parm { name "bindinputmenu1" label "Input 1" type ordinal default { "none" } menu { "none" "None" "sop" "SOP" "dopdata" "DOP Data" "self" "Myself" "first" "First Context Geometry" "second" "Second Context Geometry" "third" "Third Context Geometry" "fourth" "Fourth Context Geometry" "selfraw" "Myself (No Reads of Outputs)" } range { 0 1 } parmtag { "autoscope" "0000000000000000" } } parm { name "bindgeoinput1" label "SOP Path" type oppath default { "" } hidewhen "{ bindinputmenu1 != sop }" range { 0 1 } parmtag { "autoscope" "0000000000000000" } parmtag { "opfilter" "!!SOP!!" } parmtag { "oprelative" "." } } parm { name "binddopinput1" label "DOP Data" type string default { "" } hidewhen "{ bindinputmenu1 != dopdata }" range { 0 1 } parmtag { "autoscope" "0000000000000000" } } parm { name "binddopuseself1" label "Use This Object's Data" type toggle default { "off" } hidewhen "{ bindinputmenu1 != dopdata }" parmtag { "autoscope" "0000000000000000" } parmtag { "script_callback_language" "python" } } parm { name "bindinputmenu2" label "Input 2" type ordinal default { "none" } menu { "none" "None" "sop" "SOP" "dopdata" "DOP Data" "self" "Myself" "first" "First Context Geometry" "second" "Second Context Geometry" "third" "Third Context Geometry" "fourth" "Fourth Context Geometry" "selfraw" "Myself (No Reads of Outputs)" } range { 0 1 } parmtag { "autoscope" "0000000000000000" } } parm { name "bindgeoinput2" label "SOP Path" type oppath default { "" } hidewhen "{ bindinputmenu2 != sop }" range { 0 1 } parmtag { "autoscope" "0000000000000000" } parmtag { "opfilter" "!!SOP!!" } parmtag { "oprelative" "." } } parm { name "binddopinput2" label "DOP Data" type string default { "" } hidewhen "{ bindinputmenu2 != dopdata }" range { 0 1 } parmtag { "autoscope" "0000000000000000" } } parm { name "binddopuseself2" label "Use This Object's Data" type toggle default { "off" } hidewhen "{ bindinputmenu2 != dopdata }" parmtag { "autoscope" "0000000000000000" } parmtag { "script_callback_language" "python" } } parm { name "bindinputmenu3" label "Input 3" type ordinal default { "none" } menu { "none" "None" "sop" "SOP" "dopdata" "DOP Data" "self" "Myself" "first" "First Context Geometry" "second" "Second Context Geometry" "third" "Third Context Geometry" "fourth" "Fourth Context Geometry" "selfraw" "Myself (No Reads of Outputs)" } range { 0 1 } parmtag { "autoscope" "0000000000000000" } } parm { name "bindgeoinput3" label "SOP Path" type oppath default { "" } hidewhen "{ bindinputmenu3 != sop }" range { 0 1 } parmtag { "autoscope" "0000000000000000" } parmtag { "opfilter" "!!SOP!!" } parmtag { "oprelative" "." } } parm { name "binddopinput3" label "DOP Data" type string default { "" } hidewhen "{ bindinputmenu3 != dopdata }" range { 0 1 } parmtag { "autoscope" "0000000000000000" } } parm { name "binddopuseself3" label "Use This Object's Data" type toggle default { "off" } hidewhen "{ bindinputmenu3 != dopdata }" parmtag { "autoscope" "0000000000000000" } parmtag { "script_callback_language" "python" } } parm { name "bindinputmenu4" label "Input 4" type ordinal default { "none" } menu { "none" "None" "sop" "SOP" "dopdata" "DOP Data" "self" "Myself" "first" "First Context Geometry" "second" "Second Context Geometry" "third" "Third Context Geometry" "fourth" "Fourth Context Geometry" "selfraw" "Myself (No Reads of Outputs)" } range { 0 1 } parmtag { "autoscope" "0000000000000000" } } parm { name "bindgeoinput4" label "SOP Path" type oppath default { "" } hidewhen "{ bindinputmenu4 != sop }" range { 0 1 } parmtag { "autoscope" "0000000000000000" } parmtag { "opfilter" "!!SOP!!" } parmtag { "oprelative" "." } } parm { name "binddopinput4" label "DOP Data" type string default { "" } hidewhen "{ bindinputmenu4 != dopdata }" range { 0 1 } parmtag { "autoscope" "0000000000000000" } } parm { name "binddopuseself4" label "Use This Object's Data" type toggle default { "off" } hidewhen "{ bindinputmenu4 != dopdata }" parmtag { "autoscope" "0000000000000000" } parmtag { "script_callback_language" "python" } } } parm { name "usetimestep" label "Use Timestep" type toggle default { "on" } range { 0 1 } parmtag { "autoscope" "0000000000000000" } } parm { name "timescale" label "Time Scale" type float default { "1" } range { 0 10 } } } INDX DialogScript laT$/* * 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 } } } INDXContents=b DialogScript=faTHouLC1033600bb60620f09ec0f96ba020LIMITED_COMMERCIAL_FILE!!!# Dialog script for groundplane automatically generated { 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 } parmtag { "autoscope" "0000" } } parm { name "display" label "Display Proxy Geometry" type toggle default { "1" } range { 0 1 } parmtag { "autoscope" "0000" } } parm { name "color" label "Color" type color size 3 default { "1" "1" "1" } range { 0 1 } parmtag { "autoscope" "0000" } } parm { name "grid_size" label "Grid Size" type float size 2 default { "20" "20" } range { -1 1 } 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 } 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 } parmtag { "autoscope" "0000" } parmtag { "units" "m1" } } parm { name "r" label "Rotation" type vector size 3 default { "0" "0" "0" } disablewhen "{ objpath != \"\" }" range { -1 1 } parmtag { "autoscope" "0000" } } } group { name "std_switcher_0_1" label "Physical" parm { name "bounce" label "Bounce" type float default { "0.5" } range { 0 1 } parmtag { "autoscope" "0000" } } parm { name "bounceforward" label "Bounce Forward" type float default { "1" } range { 0 1 } parmtag { "autoscope" "0000000000000000" } parmtag { "units" "" } } parm { name "friction" label "Friction" type float default { "1" } range { 0 1 } parmtag { "autoscope" "0000" } } parm { name "dynamicfriction" label "Dynamic Friction Scale" type float default { "1" } range { 0 1 } parmtag { "autoscope" "0000" } } parm { name "temperature" label "Temperature" type float default { "0" } range { 0 100 } parmtag { "autoscope" "0000000000000000" } } } } INDXContents=b DialogScript= aTHouLC1033600bb60620f099b0f96ba020LIMITED_COMMERCIAL_FILE!!!# 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 Name" type string default { "group#" } disablewhen "{ enable# == 0 }" menureplace { [ "opmenu -l -a 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" } } } } INDXContents=b DialogScript= aTHouLC1033600bb60620f09ec0f96ba020LIMITED_COMMERCIAL_FILE!!!# Dialog script for heightfield_xform automatically generated { name heightfield_xform script heightfield_transform label "HeightField Transform" help { "" } bindhandle ry xform "Transformer" ry "" bindhandle tx xform "Transformer" tx "" bindhandle tz xform "Transformer" tz "" bindhandle scale xform "Transformer" uniform_scale "" inputlabel 1 "Terrain to Transform" inputlabel 2 "Sub-Network Input #2" inputlabel 3 "Sub-Network Input #3" inputlabel 4 "Sub-Network Input #4" outputlabel 1 "Sub-Network Output #1" groupsimple { name "folder1" label "Scaling" parm { name "scale" label "Uniform Scale" type float default { "1" } range { 0 10 } parmtag { "autoscope" "0000000000000000" } } parm { name "gridscale" label "Grid Scale" type float default { "1" } range { 0 10 } } parm { name "heightscale" label "Height Scale" type float default { "1" } range { 0 10 } parmtag { "autoscope" "0000000000000000" } } parm { name "heightoffset" label "Height Offset" type float default { "0" } range { -100 100 } parmtag { "autoscope" "0000000000000000" } } } groupsimple { name "folder0" label "Positioning" parm { name "orient" label "Orientation" type ordinal default { "2" } menu { "xy" "XY" "yz" "YZ" "zx" "ZX" } } parm { name "tx" label "Translate X" type float default { "0" } range { -1000 1000 } parmtag { "autoscope" "0000000000000000" } } parm { name "tz" label "Translate Z" type float default { "0" } range { -1000 1000 } parmtag { "autoscope" "0000000000000000" } } parm { name "ry" label "Rotate Y" type float default { "0" } range { 0 360 } parmtag { "autoscope" "0000000000000000" } } } } INDX DialogScriptgaT# 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 DialogScriptaT$/* * 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`aT#/* * 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 DialogScriptaT#/* * 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 { 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 DialogScriptaT#/* * 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\") || !strcmp($signature, \"v2\") || !strcmp($signature, \"v3\") || !strcmp($signature, \"v4\")" " $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 } signature "2D Vector" v2 { vector2 vector2 } signature "3D Vector" v3 { vector vector } signature "4D Vector" v4 { vector4 vector4 } 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 } } parm { name val_v2 label "Value" type float size 2 default { 1 1 } } parm { name val_v3 label "Value" type float size 3 default { 1 1 1 } } parm { name val_v4 label "Value" type float size 4 default { 1 1 1 1 } } } INDX DialogScriptaT#/* * 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 { 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 } } INDXContents=b DialogScript=gSBHouLC1033600bb60620f09de0f96ba020LIMITED_COMMERCIAL_FILE!!!# 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 DialogScript7aT# Dialog script for localscheduler automatically generated { name localscheduler script localscheduler label "Local Scheduler" help { "" } group { name "folder0" label "Scheduler" groupsimple { name "folder5" label "Scheduling" parm { name "maxprocsmenu" label "Total Slots" type ordinal joinnext default { "0" } menu usetokenvalue { "0" "Equal to 1/4 of Total CPU Count" "-1" "Equal to CPU Count Less One" "1" "Custom Slot Count" } } parm { name "maxprocs" label "maxprocs" type integer nolabel default { "1" } disablewhen "{ maxprocsmenu != 1 }" range { -4 128 } parmtag { "autoscope" "0000000000000000" } } parm { name "verbose" label "Verbose Logging" type toggle default { "0" } parmtag { "script_callback_language" "python" } } parm { name "pdg_waitforfailures" label "Block on Failed Work Items" type toggle default { "0" } parmtag { "script_callback_language" "python" } } } groupsimple { name "folder4" label "Paths" parm { name "pdg_workingdir" label "Working Directory" type directory default { "$HIP" } } parm { name "pdg_workitemdatasource" label "Load Item Data From" type ordinal default { "0" } menu { "0" "Temporary JSON File" "1" "RPC Message" } parmtag { "script_callback_language" "python" } } parm { name "pdg_compressworkitemdata" label "Compress Work Item Data" type toggle default { "1" } disablewhen "{ pdg_workitemdatasource == 1 }" parmtag { "script_callback_language" "python" } } parm { name "pdg_validateoutputs" label "Validate Outputs When Recooking" type toggle default { "1" } parmtag { "script_callback_language" "python" } } parm { name "pdg_checkexpectedoutputs" label "Check Expected Outputs on Disk" type toggle default { "1" } parmtag { "script_callback_language" "python" } } parm { name "sepparm2" label "Separator" type separator default { "" } } parm { name "pdg_mapmode" label "Path Mapping" type ordinal default { "0" } menu { "0" "Global" "1" "None" } parmtag { "script_callback_language" "python" } } parm { name "pdg_usemapzone" label "Use Path Map Zone" type toggle nolabel joinnext default { "0" } disablewhen "{ pdg_mapmode == 1 }" parmtag { "script_callback_language" "python" } } parm { name "pdg_mapzone" label "Path Map Zone" type string default { "$PDG_PATHMAP_ZONE" } disablewhen "{ pdg_usemapzone == 0 }" menureplace { "POSIX" "POSIX" "WIN" "WIN" } parmtag { "script_callback_language" "python" } } parm { name "sepparm3" label "Separator" type separator default { "" } } groupsimple { name "folder1" label "Temp Directory" parm { name "tempdirmenu" label "Location" type ordinal default { "1" } menu { "0" "Working Directory" "1" "Houdini Temp" "2" "Custom" } } parm { name "tempdirappendpid" label "Append PID" type toggle default { "1" } } parm { name "tempdircustom" label "Custom" type directory default { "$HOUDINI_TEMP_DIR/$HIPNAME/pdgtemp" } disablewhen "{ tempdirmenu != 2 }" } } } parm { name "socketcallbacks" label "Use Socket callbacks instead of stdout tokens" type integer invisible default { "1" } range { 0 10 } } } group { name "folder0_1" label "Job Parms" groupsimple { name "folder0_2" label "Scheduling" parm { name "local_single" label "Single" type toggle default { "0" } range { 0 10 } parmtag { "pdg::scheduler" "" } } parm { name "local_is_CPU_number_set" label "local_is_CPU_number_set" type toggle nolabel joinnext default { "0" } range { 0 1 } parmtag { "pdg::scheduler" "" } } parm { name "local_CPUs_to_use" label "Slots Per Work Item" type integer default { "1" } disablewhen "{ local_is_CPU_number_set == 0 }" range { 1! 64 } parmtag { "pdg::scheduler" "" } } groupsimple { name "folder6" label "Minimum Available Memory" parm { name "local_useminfreemem" label "Rule" type ordinal default { "0" } menu { "0" "No Minimum" "1" "MB Available" "2" "Percent Available" } parmtag { "pdg::scheduler" "" } parmtag { "script_callback_language" "python" } } parm { name "local_minfreemem" label "Minimum MB" type float default { "0" } disablewhen "{ local_useminfreemem != 1 }" range { 0 128000 } parmtag { "pdg::scheduler" "" } parmtag { "script_callback_language" "python" } } parm { name "local_minfreemempct" label "Minimum Percent" type float default { "0" } disablewhen "{ local_useminfreemem != 2 }" range { 0 1 } parmtag { "pdg::scheduler" "" } parmtag { "script_callback_language" "python" } } } } groupsimple { name "folder2" label "Tasks" parm { name "local_echandleby" label "On Task Failure" type ordinal default { "0" } menu { "0" "Report Error" "1" "Report Warning" "2" "Retry Task" "3" "Ignore" } parmtag { "pdg::scheduler" "" } parmtag { "script_callback_language" "python" } } parm { name "local_echandleall" label "Handle All Non Zero" type toggle default { "1" } parmtag { "pdg::scheduler" "" } parmtag { "script_callback_language" "python" } } parm { name "local_eccustomcode" label "Exit Code" type integer default { "1" } disablewhen "{ local_echandleall != 0 }" range { 1 255 } parmtag { "pdg::scheduler" "" } parmtag { "script_callback_language" "python" } } parm { name "sepparm" label "Separator" type separator default { "" } } parm { name "local_maximumretries" label "Maximum Retries" type integer default { "3" } disablewhen "{ local_echandleby != 2 }" range { 0 10 } parmtag { "pdg::scheduler" "" } parmtag { "script_callback_language" "python" } } parm { name "local_addfailcountattr" label "Retry Count Attribute" type toggle joinnext default { "0" } disablewhen "{ local_echandleby != 2 }" parmtag { "pdg::scheduler" "" } parmtag { "script_callback_language" "python" } } parm { name "local_failcountattr" label "local_failcountattr" type string nolabel default { "failurecount" } disablewhen "{ local_addfailcountattr == 0 } { local_echandleby != 2 }" parmtag { "pdg::scheduler" "" } parmtag { "script_callback_language" "python" } } parm { name "sepparm4" label "Separator" type separator default { "" } } parm { name "local_enabletimeout" label "Enable Maximum Run Time" type toggle nolabel joinnext default { "0" } parmtag { "script_callback_language" "python" } } parm { name "local_maxtime" label "Maximum Run Time" type float default { "0" } disablewhen "{ local_enabletimeout == 0 }" range { 0 10 } parmtag { "script_callback_language" "python" } } parm { name "local_handletimeout" label "On Task Timeout" type ordinal default { "0" } disablewhen "{ local_enabletimeout == 0 }" menu { "0" "Mark as Failed" "1" "Mark as Succeeded" } parmtag { "script_callback_language" "python" } } } groupsimple { name "folder3" label "Task Environment" parm { name "local_usehoudinimaxthreads" label "local_usehoudinimaxthreads" type toggle nolabel joinnext default { "0" } parmtag { "pdg::scheduler" "" } } parm { name "local_houdinimaxthreads" label "Houdini Max Threads" type integer default { "0" } disablewhen "{ local_usehoudinimaxthreads == 0 }" range { 0 10 } parmtag { "pdg::scheduler" "" } } parm { name "local_requireswindow" label "Requires GUI Window" type toggle default { "0" } parmtag { "pdg::scheduler" "" } parmtag { "script_callback_language" "python" } } parm { name "local_envunset" label "Unset Variables" type string default { "" } parmtag { "pdg::scheduler" "" } parmtag { "script_callback_language" "python" } } multiparm { name "local_envmulti" label "Environment Variables" parmtag { "pdg::nocopy" "" } parmtag { "script_callback" "" } parmtag { "script_callback_language" "hscript" } parm { name "local_envname#" label "Name" type string joinnext default { "" } parmtag { "pdg::scheduler" "" } } parm { name "local_envvalue#" label "Value" type string default { "" } parmtag { "pdg::scheduler" "" } } } } } } INDX DialogScript3aT$/* * 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 { name "matxtoquat" script "matxtoquat" label "matxtoquat" code { "$quat = quaternion($matx);" } input matrix3 matx "Input Matrix3" output vector4 quat "Output Quaternion" } INDXContents=b DialogScript=.aTHouLC1033600bb60620f099b0f96ba020LIMITED_COMMERCIAL_FILE!!!# 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 -a 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" "sparse" "Sparse Convolution" "flow" "Perlin Flow" "pflow" "Periodic Perlin Flow" "worleyFA" "Worley Cellular F1" "worleyFB" "Worley Cellular F2-F1" "mworleyFA" "Manhattan Cellular F1" "mworleyFB" "Manhattan Cellular F2-F1" "cworleyFA" "Chebyshev Cellular F1" "cworleyFB" "Chebyshev 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" } } } } parm { name "updatenmls" label "Recompute Normals" type toggle default { "on" } parmtag { "autoscope" "0000000000000000" } parmtag { "script_callback_language" "python" } } } INDX DialogScriptaT$/* * 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 DialogScriptxaT$/* * 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 DialogScriptaT$/* * 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:aT$/* * 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 DialogScriptoaT$/* * 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 { 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 } } INDXContents=b DialogScript=F HouLC1033600bb60620f09de0f96ba020LIMITED_COMMERCIAL_FILE!!!# 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" } INDXContents=b DialogScript=THouLC1033600bb60620f09ec0f96ba020LIMITED_COMMERCIAL_FILE!!!# 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" } } } INDXContents=b DialogScript= aTHouLC1033600bb60620f09de0f96ba020LIMITED_COMMERCIAL_FILE!!!# 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 DialogScriptaT%/* * 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:aT%/* * 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 { name "pciterate" script "pciterate" label "pciterate" code { "$success = pciterate($handle);" } output int success "Found Point" VOP_INT_INPUT(handle, "Handle from pcopen", -1) } INDX DialogScriptvaT%/* * 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 { name "pcopen" script "pcopen" label "pcopen" outercode { "#include " } 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) } INDXContents=b DialogScript=aTHouLC1033600bb60620f09ec0f96ba020LIMITED_COMMERCIAL_FILE!!!# Dialog script for pointdeform automatically generated { name pointdeform script pointdeform label "Point Deform" help { "" } inputlabel 1 "Mesh to Deform" inputlabel 2 "Rest Point Lattice" inputlabel 3 "Deformed Point Lattice" inputlabel 4 "Sub-Network Input #4" parm { name "group" label "Group" type string default { "" } menutoggle { [ "opmenu -l -a capture group" ] } range { 0 1 } 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 "mode" label "Mode" type ordinal default { "0" } menu { "capturedeform" "Capture and Deform" "capture" "Capture" "deform" "Deform" } range { 0 1 } } groupsimple { name "folder0" label "Capture" hidewhentab "{ mode == deform }" parm { name "radius" label "Radius" type float default { "0.1" } range { 0 10 } parmtag { "autoscope" "0000000000000000" } } parm { name "minpt" label "Minimum Points" type integer default { "1" } range { 0 10 } parmtag { "autoscope" "0000000000000000" } } parm { name "maxpt" label "Maximum Points" type integer default { "100" } range { 0 10 } parmtag { "autoscope" "0000000000000000" } } parm { name "pieceattrib" label "Piece Attribute" type string default { "" } menureplace { [ "geo = kwargs['node'].node('INPUT').geometry()" ] [ "result = []" ] [ "if geo:" ] [ " for s in [ a.name() for a in geo.pointAttribs() if a.size() == 1 and a.dataType() in ( hou.attribData.Int, hou.attribData.String ) ]:" ] [ " result.append(s)" ] [ " result.append(s)" ] [ "return result" ] language python } parmtag { "script_callback_language" "python" } } parm { name "preseparatepieces" label "Pre-Separate Pieces" type toggle default { "1" } parmtag { "script_callback_language" "python" } } } groupsimple { name "folder1" label "Deform" hidewhentab "{ mode == capture }" parm { name "rigidprojection" label "Rigid Projection" type toggle default { "on" } range { 0 1 } parmtag { "autoscope" "0000000000000000" } } parm { name "updateaffectednmls" label "Recompute Affected Normals" type toggle default { "on" } range { 0 1 } parmtag { "autoscope" "0000000000000000" } } parm { name "attribs" label "Attributes to Transform" type string default { "*" } menutoggle { [ "opmenu -l -a xformbyattrib1 attribs" ] } range { 0 1 } parmtag { "autoscope" "0000000000000000" } } parm { name "delcaptatr" label "Delete Capture Attributes" type toggle default { "on" } range { 0! 10 } parmtag { "autoscope" "0000000000000000" } } } } INDXContents=b DialogScript=$?aTHouLC1033600bb60620f09ec0f96ba020LIMITED_COMMERCIAL_FILE!!!# Dialog script for popdrag automatically generated { name popdrag script popdrag label "POP Drag" help { "" } inputlabel 1 "Stream to Drag" inputlabel 2 "Input 2" inputlabel 3 "Input 3" inputlabel 4 "Input 4" parm { name "activate" label "Activation" type float default { "1" } range { 0 1 } } parm { name "usegroup" label "Use Group" type toggle nolabel joinnext default { "0" } range { 0 1 } } parm { name "partgroup" label "Group" type string default { "" } disablewhen "{ usegroup == 0 }" menutoggle { [ "import doppoptoolutils" ] [ "" ] [ "return doppoptoolutils.buildGroupMenu(hou.pwd())" ] language python } range { 0 1 } } group { name "folder0" label "Parameters" parm { name "windvelocity" label "Wind Velocity" type float size 3 default { "0" "0" "0" } range { 0 10 } parmtag { "autoscope" "0000000000000000" } parmtag { "parmvop" "1" } parmtag { "shaderparmcontexts" "cvex" } parmtag { "units" "m1s-1" } } parm { name "airresist" label "Air Resistance" type float default { "1" } range { 0 10 } export all parmtag { "units" "kg1s-1" } } parm { name "ignoremass" label "Ignore Mass" type toggle default { "1" } range { 0 1 } } parm { name "uselocaldrag" label "Use VEXpressions" type toggle default { "off" } range { 0 1 } parmtag { "autoscope" "0000000000000000" } parmtag { "parmvop" "1" } parmtag { "shaderparmcontexts" "cvex" } } parm { name "localdragexpression" label " " type string default { "" } hidewhen "{ uselocaldrag == 0 }" menureplace { [ "import vexpressionmenu" ] [ "" ] [ "return vexpressionmenu.buildSnippetMenu('popdrag/localdragexpression')" ] language python } range { 0 1 } parmtag { "autoscope" "0000000000000000" } parmtag { "editor" "1" } parmtag { "editorlang" "vex" } parmtag { "editorlines" "8-40" } parmtag { "script_action" "import vexpressionmenu\n\nnode = kwargs['node']\nparmname = 'localdragexpression'\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" } } } group { name "folder0_1" label "Bindings" parm { name "bindgeo" label "Geometry" type string default { "Geometry" } range { 0 1 } parmtag { "autoscope" "0000000000000000" } } parm { name "vex_cwdpath" label "Evaluation Node Path" type oppath default { "." } range { 0 1 } parmtag { "autoscope" "0000000000000000" } parmtag { "oprelative" "." } } } group { name "stdswitcher5" label "Inputs" parm { name "bindinputmenu1" label "Input 1" type ordinal default { "none" } menu { "none" "None" "sop" "SOP" "dopdata" "DOP Data" "self" "Myself" "first" "First Context Geometry" "second" "Second Context Geometry" "third" "Third Context Geometry" "fourth" "Fourth Context Geometry" "selfraw" "Myself (No Reads of Outputs)" } parmtag { "autoscope" "0000000000000000" } parmtag { "script_callback_language" "python" } } parm { name "bindgeoinput1" label "SOP Path" type oppath default { "" } hidewhen "{ bindinputmenu1 != sop }" parmtag { "autoscope" "0000000000000000" } parmtag { "opfilter" "!!SOP!!" } parmtag { "oprelative" "." } } parm { name "binddopinput1" label "DOP Data" type string default { "" } hidewhen "{ bindinputmenu1 != dopdata }" parmtag { "autoscope" "0000000000000000" } parmtag { "script_callback_language" "python" } } parm { name "bindinputmenu2" label "Input 2" type ordinal default { "none" } menu { "none" "None" "sop" "SOP" "dopdata" "DOP Data" "self" "Myself" "first" "First Context Geometry" "second" "Second Context Geometry" "third" "Third Context Geometry" "fourth" "Fourth Context Geometry" "selfraw" "Myself (No Reads of Outputs)" } parmtag { "autoscope" "0000000000000000" } parmtag { "script_callback_language" "python" } } parm { name "bindgeoinput2" label "SOP Path" type oppath default { "" } hidewhen "{ bindinputmenu2 != sop }" parmtag { "autoscope" "0000000000000000" } parmtag { "opfilter" "!!SOP!!" } parmtag { "oprelative" "." } } parm { name "binddopinput2" label "DOP Data" type string default { "" } hidewhen "{ bindinputmenu2 != dopdata }" parmtag { "autoscope" "0000000000000000" } parmtag { "script_callback_language" "python" } } parm { name "bindinputmenu3" label "Input 3" type ordinal default { "none" } menu { "none" "None" "sop" "SOP" "dopdata" "DOP Data" "self" "Myself" "first" "First Context Geometry" "second" "Second Context Geometry" "third" "Third Context Geometry" "fourth" "Fourth Context Geometry" "selfraw" "Myself (No Reads of Outputs)" } parmtag { "autoscope" "0000000000000000" } parmtag { "script_callback_language" "python" } } parm { name "bindgeoinput3" label "SOP Path" type oppath default { "" } hidewhen "{ bindinputmenu3 != sop }" parmtag { "autoscope" "0000000000000000" } parmtag { "opfilter" "!!SOP!!" } parmtag { "oprelative" "." } } parm { name "binddopinput3" label "DOP Data" type string default { "" } hidewhen "{ bindinputmenu3 != dopdata }" parmtag { "autoscope" "0000000000000000" } parmtag { "script_callback_language" "python" } } parm { name "bindinputmenu4" label "Input 4" type ordinal default { "none" } menu { "none" "None" "sop" "SOP" "dopdata" "DOP Data" "self" "Myself" "first" "First Context Geometry" "second" "Second Context Geometry" "third" "Third Context Geometry" "fourth" "Fourth Context Geometry" "selfraw" "Myself (No Reads of Outputs)" } parmtag { "autoscope" "0000000000000000" } parmtag { "script_callback_language" "python" } } parm { name "bindgeoinput4" label "SOP Path" type oppath default { "" } hidewhen "{ bindinputmenu4 != sop }" parmtag { "autoscope" "0000000000000000" } parmtag { "opfilter" "!!SOP!!" } parmtag { "oprelative" "." } } parm { name "binddopinput4" label "DOP Data" type string default { "" } hidewhen "{ bindinputmenu4 != dopdata }" parmtag { "autoscope" "0000000000000000" } parmtag { "script_callback_language" "python" } } } } INDXContents=b DialogScript=%aTHouLC1033600bb60620f09ec0f96ba020LIMITED_COMMERCIAL_FILE!!!# Dialog script for popdragspin automatically generated { name popdragspin script popdragspin label "POP Drag Spin" help { "" } inputlabel 1 "Stream to Drag" inputlabel 2 "Input 2" inputlabel 3 "Input 3" inputlabel 4 "Input 4" parm { name "activate" label "Activation" type float default { "1" } range { 0 1 } } parm { name "usegroup" label "Use Group" type toggle nolabel joinnext default { "0" } range { 0 1 } } parm { name "partgroup" label "Group" type string default { "" } disablewhen "{ usegroup == 0 }" menutoggle { [ "import doppoptoolutils" ] [ "" ] [ "return doppoptoolutils.buildGroupMenu(hou.pwd())" ] language python } range { 0 1 } } group { name "folder0" label "Parameters" parm { name "localdrag" label "Axis Relative to Particle's Orientation" type toggle default { "1" } range { 0 1 } } parm { name "goalaxis" label "Goal Axis" type float size 3 default { "0" "0" "1" } range { 0 10 } parmtag { "autoscope" "0000000000000000" } parmtag { "parmvop" "1" } parmtag { "shaderparmcontexts" "cvex" } parmtag { "units" "m1s-1" } } parm { name "goalspinspeed" label "Goal Spin Speed" type float default { "0" } range { 0 10 } } parm { name "spinresist" label "Spin Resistance" type float default { "1" } range { 0 10 } export all parmtag { "units" "kg1s-1" } } parm { name "uselocaldrag" label "Use VEXpressions" type toggle default { "off" } range { 0 1 } parmtag { "autoscope" "0000000000000000" } parmtag { "parmvop" "1" } parmtag { "shaderparmcontexts" "cvex" } } parm { name "localdragexpression" label " " type string default { "" } hidewhen "{ uselocaldrag == 0 }" menureplace { [ "import vexpressionmenu" ] [ "" ] [ "return vexpressionmenu.buildSnippetMenu('popdragspin/localdragexpression')" ] language python } range { 0 1 } parmtag { "autoscope" "0000000000000000" } parmtag { "editor" "1" } parmtag { "editorlang" "vex" } parmtag { "editorlines" "8-40" } parmtag { "script_action" "import vexpressionmenu\n\nnode = kwargs['node']\nparmname = 'localdragexpression'\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" } } } group { name "folder0_1" label "Bindings" parm { name "bindgeo" label "Geometry" type string default { "Geometry" } range { 0 1 } parmtag { "autoscope" "0000000000000000" } } parm { name "vex_cwdpath" label "Evaluation Node Path" type oppath default { "." } range { 0 1 } parmtag { "autoscope" "0000000000000000" } parmtag { "oprelative" "." } } } group { name "stdswitcher5" label "Inputs" parm { name "bindinputmenu1" label "Input 1" type ordinal default { "none" } menu { "none" "None" "sop" "SOP" "dopdata" "DOP Data" "self" "Myself" "first" "First Context Geometry" "second" "Second Context Geometry" "third" "Third Context Geometry" "fourth" "Fourth Context Geometry" "selfraw" "Myself (No Reads of Outputs)" } parmtag { "autoscope" "0000000000000000" } parmtag { "script_callback_language" "python" } } parm { name "bindgeoinput1" label "SOP Path" type oppath default { "" } hidewhen "{ bindinputmenu1 != sop }" parmtag { "autoscope" "0000000000000000" } parmtag { "opfilter" "!!SOP!!" } parmtag { "oprelative" "." } } parm { name "binddopinput1" label "DOP Data" type string default { "" } hidewhen "{ bindinputmenu1 != dopdata }" parmtag { "autoscope" "0000000000000000" } parmtag { "script_callback_language" "python" } } parm { name "bindinputmenu2" label "Input 2" type ordinal default { "none" } menu { "none" "None" "sop" "SOP" "dopdata" "DOP Data" "self" "Myself" "first" "First Context Geometry" "second" "Second Context Geometry" "third" "Third Context Geometry" "fourth" "Fourth Context Geometry" "selfraw" "Myself (No Reads of Outputs)" } parmtag { "autoscope" "0000000000000000" } parmtag { "script_callback_language" "python" } } parm { name "bindgeoinput2" label "SOP Path" type oppath default { "" } hidewhen "{ bindinputmenu2 != sop }" parmtag { "autoscope" "0000000000000000" } parmtag { "opfilter" "!!SOP!!" } parmtag { "oprelative" "." } } parm { name "binddopinput2" label "DOP Data" type string default { "" } hidewhen "{ bindinputmenu2 != dopdata }" parmtag { "autoscope" "0000000000000000" } parmtag { "script_callback_language" "python" } } parm { name "bindinputmenu3" label "Input 3" type ordinal default { "none" } menu { "none" "None" "sop" "SOP" "dopdata" "DOP Data" "self" "Myself" "first" "First Context Geometry" "second" "Second Context Geometry" "third" "Third Context Geometry" "fourth" "Fourth Context Geometry" "selfraw" "Myself (No Reads of Outputs)" } parmtag { "autoscope" "0000000000000000" } parmtag { "script_callback_language" "python" } } parm { name "bindgeoinput3" label "SOP Path" type oppath default { "" } hidewhen "{ bindinputmenu3 != sop }" parmtag { "autoscope" "0000000000000000" } parmtag { "opfilter" "!!SOP!!" } parmtag { "oprelative" "." } } parm { name "binddopinput3" label "DOP Data" type string default { "" } hidewhen "{ bindinputmenu3 != dopdata }" parmtag { "autoscope" "0000000000000000" } parmtag { "script_callback_language" "python" } } parm { name "bindinputmenu4" label "Input 4" type ordinal default { "none" } menu { "none" "None" "sop" "SOP" "dopdata" "DOP Data" "self" "Myself" "first" "First Context Geometry" "second" "Second Context Geometry" "third" "Third Context Geometry" "fourth" "Fourth Context Geometry" "selfraw" "Myself (No Reads of Outputs)" } parmtag { "autoscope" "0000000000000000" } parmtag { "script_callback_language" "python" } } parm { name "bindgeoinput4" label "SOP Path" type oppath default { "" } hidewhen "{ bindinputmenu4 != sop }" parmtag { "autoscope" "0000000000000000" } parmtag { "opfilter" "!!SOP!!" } parmtag { "oprelative" "." } } parm { name "binddopinput4" label "DOP Data" type string default { "" } hidewhen "{ bindinputmenu4 != dopdata }" parmtag { "autoscope" "0000000000000000" } parmtag { "script_callback_language" "python" } } } } INDXContents=b DialogScript=3aTHouLC1033600bb60620f09ec0f96ba020LIMITED_COMMERCIAL_FILE!!!# Dialog script for popwrangle automatically generated { name popwrangle script popwrangler label "POP Wrangle" help { "" } inputlabel 1 "Input 1" inputlabel 2 "Input 2" inputlabel 3 "Input 3" inputlabel 4 "Input 4" parm { name "activate" label "Activation" type float default { "1" } range { 0 1 } } parm { name "usegroup" label "Label" type toggle nolabel joinnext default { "0" } range { 0 1 } } parm { name "partgroup" label "Group" type string default { "" } disablewhen "{ usegroup == 0 }" menutoggle { [ "import doppoptoolutils" ] [ "" ] [ "return doppoptoolutils.buildGroupMenu(hou.pwd())" ] language python } range { 0 1 } } group { name "folder1" label "Code" parm { name "snippet" label "VEXpression" type string default { "" } range { 0 1 } export all parmtag { "autoscope" "0000000000000000" } parmtag { "editor" "1" } parmtag { "editorlang" "vex" } parmtag { "editorlines" "8-40" } 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 "folder1_1" label "Data Bindings" parm { name "autobind" label "Autobind by Name" type toggle default { "on" } range { 0 1 } parmtag { "autoscope" "0000000000000000" } } multiparm { name "bindings" label "Attribute Bindings" default 0 parmtag { "autoscope" "0000000000000000" } parmtag { "multistartoffset" "1" } parm { name "binddata#" label "Attribute Name" type string default { "" } range { 0 1 } } parm { name "bindparm#" label "VEX Parameter" type string default { "" } range { 0 1 } } } multiparm { name "bindfield_num" label "Field Bindings" default 0 parmtag { "autoscope" "0000000000000000" } parmtag { "multistartoffset" "1" } parm { name "bindfield_data#" label "Field Name" type string default { "" } range { 0 1 } } parm { name "bindfield_parm#" 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_updatenmls" label "Update Normals If Displaced" type toggle default { "off" } range { 0 1 } parmtag { "autoscope" "0000000000000000" } parmtag { "script_callback" "" } } parm { name "vex_precision" label "VEX Precision" type string default { "auto" } menu { "auto" "Auto" "32" "32-bit" "64" "64-bit" } parmtag { "autoscope" "0000000000000000" } } } group { name "folder1_2" label "Inputs" parm { name "bindinputmenu1" label "Input 1" type ordinal default { "none" } menu { "none" "None" "sop" "SOP" "dopdata" "DOP Data" "self" "Myself" "first" "First Context Geometry" "second" "Second Context Geometry" "third" "Third Context Geometry" "fourth" "Fourth Context Geometry" "selfraw" "Myself (No Reads of Outputs)" } range { 0 1 } parmtag { "autoscope" "0000000000000000" } } parm { name "bindgeoinput1" label "SOP Path" type oppath default { "" } hidewhen "{ bindinputmenu1 != sop }" range { 0 1 } parmtag { "autoscope" "0000000000000000" } parmtag { "opfilter" "!!SOP!!" } parmtag { "oprelative" "." } } parm { name "binddopinput1" label "DOP Data" type string default { "" } hidewhen "{ bindinputmenu1 != dopdata }" range { 0 1 } parmtag { "autoscope" "0000000000000000" } } parm { name "binddopuseself1" label "Use This Object's Data" type toggle default { "off" } hidewhen "{ bindinputmenu1 != dopdata }" parmtag { "autoscope" "0000000000000000" } parmtag { "script_callback_language" "python" } } parm { name "bindinputmenu2" label "Input 2" type ordinal default { "none" } menu { "none" "None" "sop" "SOP" "dopdata" "DOP Data" "self" "Myself" "first" "First Context Geometry" "second" "Second Context Geometry" "third" "Third Context Geometry" "fourth" "Fourth Context Geometry" "selfraw" "Myself (No Reads of Outputs)" } range { 0 1 } parmtag { "autoscope" "0000000000000000" } } parm { name "bindgeoinput2" label "SOP Path" type oppath default { "" } hidewhen "{ bindinputmenu2 != sop }" range { 0 1 } parmtag { "autoscope" "0000000000000000" } parmtag { "opfilter" "!!SOP!!" } parmtag { "oprelative" "." } } parm { name "binddopinput2" label "DOP Data" type string default { "" } hidewhen "{ bindinputmenu2 != dopdata }" range { 0 1 } parmtag { "autoscope" "0000000000000000" } } parm { name "binddopuseself2" label "Use This Object's Data" type toggle default { "off" } hidewhen "{ bindinputmenu2 != dopdata }" parmtag { "autoscope" "0000000000000000" } parmtag { "script_callback_language" "python" } } parm { name "bindinputmenu3" label "Input 3" type ordinal default { "none" } menu { "none" "None" "sop" "SOP" "dopdata" "DOP Data" "self" "Myself" "first" "First Context Geometry" "second" "Second Context Geometry" "third" "Third Context Geometry" "fourth" "Fourth Context Geometry" "selfraw" "Myself (No Reads of Outputs)" } range { 0 1 } parmtag { "autoscope" "0000000000000000" } } parm { name "bindgeoinput3" label "SOP Path" type oppath default { "" } hidewhen "{ bindinputmenu3 != sop }" range { 0 1 } parmtag { "autoscope" "0000000000000000" } parmtag { "opfilter" "!!SOP!!" } parmtag { "oprelative" "." } } parm { name "binddopinput3" label "DOP Data" type string default { "" } hidewhen "{ bindinputmenu3 != dopdata }" range { 0 1 } parmtag { "autoscope" "0000000000000000" } } parm { name "binddopuseself3" label "Use This Object's Data" type toggle default { "off" } hidewhen "{ bindinputmenu3 != dopdata }" parmtag { "autoscope" "0000000000000000" } parmtag { "script_callback_language" "python" } } parm { name "bindinputmenu4" label "Input 4" type ordinal default { "none" } menu { "none" "None" "sop" "SOP" "dopdata" "DOP Data" "self" "Myself" "first" "First Context Geometry" "second" "Second Context Geometry" "third" "Third Context Geometry" "fourth" "Fourth Context Geometry" "selfraw" "Myself (No Reads of Outputs)" } range { 0 1 } parmtag { "autoscope" "0000000000000000" } } parm { name "bindgeoinput4" label "SOP Path" type oppath default { "" } hidewhen "{ bindinputmenu4 != sop }" range { 0 1 } parmtag { "autoscope" "0000000000000000" } parmtag { "opfilter" "!!SOP!!" } parmtag { "oprelative" "." } } parm { name "binddopinput4" label "DOP Data" type string default { "" } hidewhen "{ bindinputmenu4 != dopdata }" range { 0 1 } parmtag { "autoscope" "0000000000000000" } } parm { name "binddopuseself4" label "Use This Object's Data" type toggle default { "off" } hidewhen "{ bindinputmenu4 != dopdata }" parmtag { "autoscope" "0000000000000000" } parmtag { "script_callback_language" "python" } } } group { name "folder1_3" label "Bindings" parm { name "bindgeo" label "Geometry" type string default { "Geometry" } range { 0 1 } parmtag { "autoscope" "0000000000000000" } } 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 "usetimestep" label "Use Timestep" type toggle default { "on" } range { 0 1 } parmtag { "autoscope" "0000000000000000" } } parm { name "timescale" label "Time Scale" type float default { "1" } range { 0 10 } } } INDX DialogScriptaT$/* * 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 { 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 4aT%/* * 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 "primintrinsic" script "primintrinsic" label "primintrinsic" code { "string $sourcefile = $opinput;" "if ($opinput == 'file') $sourcefile = $file;" "$adata = primintrinsic($sourcefile, $intrinsic, $prim);" } input string file "Geometry File" input string intrinsic "Intrinsic Name" input int prim "Primitive Number" output matrix3 adata "Attribute Value" signature "Float" f { string string int float } signature "Integer" i { string string int int } signature "Vector 2" v2 { string string int vector2 } signature "Vector 3" v { string string int vector } signature "Vector 4" v4 { string string int vector4 } signature "Matrix 2" m2 { string string int matrix2 } signature "Matrix 3" default { } signature "Matrix 4" m { string string int matrix } signature "String" s { string string int string } signature "Float Array" fa { string string int floata } signature "Integer Array" ia { string string int inta } signature "Vector 2 Array" v2a { string string int vector2a } signature "Vector 3 Array" va { string string int vectora } signature "Vector 4 Array" v4a { string string int vector4a } signature "Matrix 2 Array" m2a { string string int matrix2a } signature "Matrix 3 Array" m3a { string string int matrix3a } signature "Matrix 4 Array" ma { string string int matrixa } signature "String Array" sa { string string int stringa } 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 intrinsic label "Intrinsic" type string default { "transform" } } parm { name prim label "Primitive" type int size 1 default { 0 } } } INDXContents=b DialogScript=eWaTHouLC1033600bb60620f09930f96ba020LIMITED_COMMERCIAL_FILE!!!# Dialog script for principledshader::2.0 automatically generated { name principledshader::2.0 script principledshader::2.0 label "Principled Shader" rendermask "VMantra OGL" shadertype vopmaterial input vector uv "UV Coordinates" input vector basecolor "Base Color" input float albedomult "Albedo Multiplier" input int basecolor_usePointColor "Use Point Color" input int basecolor_usePackedColor "Use Packed Color" input int frontface "Shade Both Sides As Front" input float ior IOR input float rough Roughness input float aniso Anisotropy input float anisodir "Anisotropy Direction" input float metallic Metallic input float reflect Reflectivity input float reflecttint "Reflect Tint" input float coat Coat input float coatrough "Coat Roughness" input float transparency Transparency input vector transcolor "Transmission Color" input float transdist "At Distance" input float dispersion Dispersion input int priority "Surface Priority" input float sss Subsurface input string sssmodel "SSS Mode" input float sssdist "Subsurface Distance" input vector ssscolor "Subsurface Color" input float sssphase "Scattering Phase" input float sheen Sheen input float sheentint "Sheen Tint" input vector emitcolor "Emission Color" input float emitint "Emission Intensity" input int emitillum "Emission Illuminates Objects" input float opac "Opacity Scale" input vector opaccolor "Opacity Color" input int fakecausticsenabled Enable input float fakecausticstransmit "Transmission Tint" input float fakecausticsshadow "Shadow Contour" input float fakecausticsopacity "Shadow Opacity" input int basecolor_useTexture "Use Texture" input string basecolor_texture Texture input float basecolor_textureIntensity "Tint Intensity" input string basecolor_textureWrap Wrap input string basecolor_textureColorSpace "Source Color Space" input int metallic_useTexture "Use Texture" input string metallic_texture Texture input int metallic_monoChannel Channel input string metallic_textureWrap Wrap input string metallic_textureColorSpace "Source Color Space" input int transparency_useTexture "Use Texture" input string transparency_texture Texture input int transparency_monoChannel Channel input string transparency_textureWrap Wrap input string transparency_textureColorSpace "Source Color Space" input int ior_useTexture "Use Texture" input string ior_texture Texture input int ior_monoChannel Channel input string ior_textureWrap Wrap input string ior_textureColorSpace "Source Color Space" input int transcolor_useTexture "Use Texture" input string transcolor_texture Texture input float transcolor_textureIntensity "Tint Intensity" input string transcolor_textureWrap Wrap input string transcolor_textureColorSpace "Source Color Space" input int transdist_useTexture "Use Texture" input string transdist_texture Texture input int transdist_monoChannel Channel input string transdist_textureWrap Wrap input string transdist_textureColorSpace "Source Color Space" input int dispersion_useTexture "Use Texture" input string dispersion_texture Texture input int dispersion_monoChannel Channel input string dispersion_textureWrap Wrap input string dispersion_textureColorSpace "Source Color Space" input int reflect_useTexture "Use Texture" input string reflect_texture Texture input int reflect_monoChannel Channel input string reflect_textureWrap Wrap input string reflect_textureColorSpace "Source Color Space" input int reflecttint_useTexture "Use Texture" input string reflecttint_texture Texture input int reflecttint_monoChannel Channel input string reflecttint_textureWrap Wrap input string reflecttint_textureColorSpace "Source Color Space" input int rough_useTexture "Use Texture" input string rough_texture Texture input int rough_monoChannel Channel input string rough_textureWrap Wrap input string rough_textureColorSpace "Source Color Space" input int aniso_useTexture "Use Texture" input string aniso_texture Texture input int aniso_monoChannel Channel input string aniso_textureWrap Wrap input string aniso_textureColorSpace "Source Color Space" input int anisodir_useTexture "Use Texture" input string anisodir_texture Texture input int anisodir_monoChannel Channel input string anisodir_textureWrap Wrap input string anisodir_textureColorSpace "Source Color Space" input string anisodir_textureFilter "Filter Type" input int sss_useTexture "Use Texture" input string sss_texture Texture input int sss_monoChannel Channel input string sss_textureWrap Wrap input string sss_textureColorSpace "Source Color Space" input int sssdist_useTexture "Use Texture" input string sssdist_texture Texture input int sssdist_monoChannel Channel input string sssdist_textureWrap Wrap input string sssdist_textureColorSpace "Source Color Space" input int ssscolor_useTexture "Use Texture" input string ssscolor_texture Texture input string ssscolor_textureWrap Wrap input string ssscolor_textureColorSpace "Source Color Space" input int sheen_useTexture "Use Texture" input string sheen_texture Texture input int sheen_monoChannel Channel input string sheen_textureWrap Wrap input string sheen_textureColorSpace "Source Color Space" input int sheentint_useTexture "Use Texture" input string sheentint_texture Map input int sheentint_monoChannel Channel input string sheentint_textureWrap Wrap input string sheentint_textureColorSpace "Source Color Space" input int coat_useTexture "Use Texture" input string coat_texture Texture input int coat_monoChannel Channel input string coat_textureWrap Wrap input string coat_textureColorSpace "Source Color Space" input int coatrough_useTexture "Use Texture" input string coatrough_texture Texture input int coatrough_monoChannel Channel input string coatrough_textureWrap Wrap input string coatrough_textureColorSpace "Source Color Space" input int emitcolor_useTexture "Use Texture" input string emitcolor_texture Texture input float emitcolor_textureIntensity "Tint Intensity" input string emitcolor_textureWrap Wrap input string emitcolor_textureColorSpace "Source Color Space" input int opaccolor_useTexture "Use Texture" input string opaccolor_texture Texture input string opaccolor_textureWrap Wrap input float opaccolor_textureIntensity "Tint Intensity" input string opaccolor_textureColorSpace "Source Color Space" input string surface_textureFilter Filter input float surface_textureFilterWidth "Filter Width" input int baseBumpAndNormal_enable Enable input string baseBumpAndNormal_type "Texture Type" input string baseBump_colorSpace "Texture Color Space" input float baseBump_bumpScale "Effect Scale" input string baseBump_bumpTexture "Texture Path" input string baseBump_wrap Wrap input string baseBump_filter Filter input float baseBump_filterWidth "Filter Width" input int baseBump_channel Channel input string baseBump_imagePlane "Image Plane" input string baseNormal_colorspace "Texture Color Space" input string baseNormal_vectorSpace "Vector Space" input float baseNormal_scale "Effect Scale" input string baseNormal_texture "Texture Path" input string baseNormal_wrap Wrap input string baseNormal_filter Filter input float baseNormal_filterWidth "Filter Width" input int baseNormal_channel Channel input string baseNormal_imagePlane "Image Plane" input int baseNormal_space "Normal Space" input int baseNormal_flipX "Flip X" input int baseNormal_flipY "Flip Y" input int separateCoatNormals "Separate Coat Normals" input int coatBumpAndNormal_enable Enable input string coatBumpAndNormal_type "Texture Type" input string coatBump_colorSpace "Texture Color Space" input float coatBump_bumpScale "Effect Scale" input string coatBump_bumpTexture "Texture Path" input string coatBump_wrap Wrap input string coatBump_filter Filter input float coatBump_filterWidth "Filter Width" input int coatBump_channel Channel input string coatBump_imagePlane "Image Plane" input string coatNormal_colorspace "Texture Color Space" input string coatNormal_vectorSpace "Vector Space" input float coatNormal_scale "Effect Scale" input string coatNormal_texture "Texture Path" input string coatNormal_wrap Wrap input string coatNormal_filter Filter input float coatNormal_filterWidth "Filter Width" input int coatNormal_channel Channel input string coatNormal_imagePlane "Image Plane" input int coatNormal_space "Normal Space" input int coatNormal_flipX "Flip X" input int coatNormal_flipY "Flip Y" input int dispInput_enable "Enable Input Displacement" input float dispInput_max "Maximum Displacement" input string dispInput_vectorspace "Vector Space" input int dispTex_enable "Enable Texture Displacement" input string dispTex_type "Texture Type" input string dispTex_colorSpace "Texture Color Space" input string dispTex_vectorSpace "Vector Space" input string dispTex_channelOrder "Channel Order" input float dispTex_offset Offset input float dispTex_scale "Effect Scale" input string dispTex_texture "Texture Path" input int dispTex_channel Channel input string dispTex_wrap Wrap input string dispTex_filter Filter input float dispTex_filterWidth "Filter Width" input int dispNoise_enable "Enable Noise Displacement" input string dispNoise_type "Noise Type" input vector dispNoise_freq Frequency input vector dispNoise_offset Offset input float dispNoise_amp Amplitude input float dispNoise_rough Roughness input float dispNoise_atten Attenuation input int dispNoise_turb Turbulence input string difflabel Diffuse input string refllabel Reflection input string refractlabel Refraction input string coatlabel "Coat Reflection" input string ssslabel Subsurface input vector2 uvtrans Translate input float uvrot Rotate input vector2 uvscale Scale input vector baseN "" input vector coatN "" input float disp "Normal Displacement" input vector vdisp "Vector Displacement" input int opacpointalpha "Use Point Alpha" input int roundedEdge_enable "" input float roundedEdge_radius "Round Edge Radius" input int roundedEdge_mode "Round Edge Mode" input int opacpackedalpha "Use Packed Alpha" input vector2 st "" input int basecolor_useTextureAlpha "Use Texture Alpha" input int occlusion_useTexture "Use Texture" input string occlusion_texture Texture input float occlusion_textureIntensity "Tint Intensity" input string occlusion_textureWrap Wrap input string occlusion_textureColorSpace "Source Color Space" input string alphablendmode "Alpha Mode" input float alphacutoff "Alpha Cutoff" input int emitcolor_usePointColor "Use Point Color" input int ssscolor_usePointColor "Use Point Color" input int transcolor_usePointColor "Use Point Color" output surface surface surface output displacement displacement displacement output struct_ShaderLayer layer "" inputflags uv 2 inputflags basecolor 2 inputflags albedomult 2 inputflags basecolor_usePointColor 2 inputflags basecolor_usePackedColor 2 inputflags frontface 2 inputflags ior 2 inputflags rough 2 inputflags aniso 2 inputflags anisodir 2 inputflags metallic 2 inputflags reflect 2 inputflags reflecttint 2 inputflags coat 2 inputflags coatrough 2 inputflags transparency 2 inputflags transcolor 2 inputflags transdist 2 inputflags dispersion 2 inputflags priority 2 inputflags sss 2 inputflags sssmodel 2 inputflags sssdist 2 inputflags ssscolor 2 inputflags sssphase 2 inputflags sheen 2 inputflags sheentint 2 inputflags emitcolor 2 inputflags emitint 2 inputflags emitillum 2 inputflags opac 2 inputflags opaccolor 2 inputflags fakecausticsenabled 2 inputflags fakecausticstransmit 2 inputflags fakecausticsshadow 2 inputflags fakecausticsopacity 2 inputflags basecolor_useTexture 2 inputflags basecolor_texture 2 inputflags basecolor_textureIntensity 2 inputflags basecolor_textureWrap 2 inputflags basecolor_textureColorSpace 2 inputflags metallic_useTexture 2 inputflags metallic_texture 2 inputflags metallic_monoChannel 2 inputflags metallic_textureWrap 2 inputflags metallic_textureColorSpace 2 inputflags transparency_useTexture 2 inputflags transparency_texture 2 inputflags transparency_monoChannel 2 inputflags transparency_textureWrap 2 inputflags transparency_textureColorSpace 2 inputflags ior_useTexture 2 inputflags ior_texture 2 inputflags ior_monoChannel 2 inputflags ior_textureWrap 2 inputflags ior_textureColorSpace 2 inputflags transcolor_useTexture 2 inputflags transcolor_texture 2 inputflags transcolor_textureIntensity 2 inputflags transcolor_textureWrap 2 inputflags transcolor_textureColorSpace 2 inputflags transdist_useTexture 2 inputflags transdist_texture 2 inputflags transdist_monoChannel 2 inputflags transdist_textureWrap 2 inputflags transdist_textureColorSpace 2 inputflags dispersion_useTexture 2 inputflags dispersion_texture 2 inputflags dispersion_monoChannel 2 inputflags dispersion_textureWrap 2 inputflags dispersion_textureColorSpace 2 inputflags reflect_useTexture 2 inputflags reflect_texture 2 inputflags reflect_monoChannel 2 inputflags reflect_textureWrap 2 inputflags reflect_textureColorSpace 2 inputflags reflecttint_useTexture 2 inputflags reflecttint_texture 2 inputflags reflecttint_monoChannel 2 inputflags reflecttint_textureWrap 2 inputflags reflecttint_textureColorSpace 2 inputflags rough_useTexture 2 inputflags rough_texture 2 inputflags rough_monoChannel 2 inputflags rough_textureWrap 2 inputflags rough_textureColorSpace 2 inputflags aniso_useTexture 2 inputflags aniso_texture 2 inputflags aniso_monoChannel 2 inputflags aniso_textureWrap 2 inputflags aniso_textureColorSpace 2 inputflags anisodir_useTexture 2 inputflags anisodir_texture 2 inputflags anisodir_monoChannel 2 inputflags anisodir_textureWrap 2 inputflags anisodir_textureColorSpace 2 inputflags anisodir_textureFilter 2 inputflags sss_useTexture 2 inputflags sss_texture 2 inputflags sss_monoChannel 2 inputflags sss_textureWrap 2 inputflags sss_textureColorSpace 2 inputflags sssdist_useTexture 2 inputflags sssdist_texture 2 inputflags sssdist_monoChannel 2 inputflags sssdist_textureWrap 2 inputflags sssdist_textureColorSpace 2 inputflags ssscolor_useTexture 2 inputflags ssscolor_texture 2 inputflags ssscolor_textureWrap 2 inputflags ssscolor_textureColorSpace 2 inputflags sheen_useTexture 2 inputflags sheen_texture 2 inputflags sheen_monoChannel 2 inputflags sheen_textureWrap 2 inputflags sheen_textureColorSpace 2 inputflags sheentint_useTexture 2 inputflags sheentint_texture 2 inputflags sheentint_monoChannel 2 inputflags sheentint_textureWrap 2 inputflags sheentint_textureColorSpace 2 inputflags coat_useTexture 2 inputflags coat_texture 2 inputflags coat_monoChannel 2 inputflags coat_textureWrap 2 inputflags coat_textureColorSpace 2 inputflags coatrough_useTexture 2 inputflags coatrough_texture 2 inputflags coatrough_monoChannel 2 inputflags coatrough_textureWrap 2 inputflags coatrough_textureColorSpace 2 inputflags emitcolor_useTexture 2 inputflags emitcolor_texture 2 inputflags emitcolor_textureIntensity 2 inputflags emitcolor_textureWrap 2 inputflags emitcolor_textureColorSpace 2 inputflags opaccolor_useTexture 2 inputflags opaccolor_texture 2 inputflags opaccolor_textureWrap 2 inputflags opaccolor_textureIntensity 2 inputflags opaccolor_textureColorSpace 2 inputflags surface_textureFilter 2 inputflags surface_textureFilterWidth 2 inputflags baseBumpAndNormal_enable 2 inputflags baseBumpAndNormal_type 2 inputflags baseBump_colorSpace 2 inputflags baseBump_bumpScale 2 inputflags baseBump_bumpTexture 2 inputflags baseBump_wrap 2 inputflags baseBump_filter 2 inputflags baseBump_filterWidth 2 inputflags baseBump_channel 2 inputflags baseBump_imagePlane 2 inputflags baseNormal_colorspace 2 inputflags baseNormal_vectorSpace 2 inputflags baseNormal_scale 2 inputflags baseNormal_texture 2 inputflags baseNormal_wrap 2 inputflags baseNormal_filter 2 inputflags baseNormal_filterWidth 2 inputflags baseNormal_channel 2 inputflags baseNormal_imagePlane 2 inputflags baseNormal_space 2 inputflags baseNormal_flipX 2 inputflags baseNormal_flipY 2 inputflags separateCoatNormals 2 inputflags coatBumpAndNormal_enable 2 inputflags coatBumpAndNormal_type 2 inputflags coatBump_colorSpace 2 inputflags coatBump_bumpScale 2 inputflags coatBump_bumpTexture 2 inputflags coatBump_wrap 2 inputflags coatBump_filter 2 inputflags coatBump_filterWidth 2 inputflags coatBump_channel 2 inputflags coatBump_imagePlane 2 inputflags coatNormal_colorspace 2 inputflags coatNormal_vectorSpace 2 inputflags coatNormal_scale 2 inputflags coatNormal_texture 2 inputflags coatNormal_wrap 2 inputflags coatNormal_filter 2 inputflags coatNormal_filterWidth 2 inputflags coatNormal_channel 2 inputflags coatNormal_imagePlane 2 inputflags coatNormal_space 2 inputflags coatNormal_flipX 2 inputflags coatNormal_flipY 2 inputflags dispInput_enable 2 inputflags dispInput_max 2 inputflags dispInput_vectorspace 2 inputflags dispTex_enable 2 inputflags dispTex_type 2 inputflags dispTex_colorSpace 2 inputflags dispTex_vectorSpace 2 inputflags dispTex_channelOrder 2 inputflags dispTex_offset 2 inputflags dispTex_scale 2 inputflags dispTex_texture 2 inputflags dispTex_channel 2 inputflags dispTex_wrap 2 inputflags dispTex_filter 2 inputflags dispTex_filterWidth 2 inputflags dispNoise_enable 2 inputflags dispNoise_type 2 inputflags dispNoise_freq 2 inputflags dispNoise_offset 2 inputflags dispNoise_amp 2 inputflags dispNoise_rough 2 inputflags dispNoise_atten 2 inputflags dispNoise_turb 2 inputflags difflabel 2 inputflags refllabel 2 inputflags refractlabel 2 inputflags coatlabel 2 inputflags ssslabel 2 inputflags uvtrans 2 inputflags uvrot 2 inputflags uvscale 2 inputflags baseN 2 inputflags coatN 2 inputflags disp 2 inputflags vdisp 2 inputflags opacpointalpha 2 inputflags roundedEdge_enable 2 inputflags roundedEdge_radius 2 inputflags roundedEdge_mode 2 inputflags opacpackedalpha 2 inputflags st 2 inputflags basecolor_useTextureAlpha 2 inputflags occlusion_useTexture 2 inputflags occlusion_texture 2 inputflags occlusion_textureIntensity 2 inputflags occlusion_textureWrap 2 inputflags occlusion_textureColorSpace 2 inputflags alphablendmode 2 inputflags alphacutoff 2 inputflags emitcolor_usePointColor 2 inputflags ssscolor_usePointColor 2 inputflags transcolor_usePointColor 2 outputflags layer 2 signature "Default Inputs" default { vector vector float int int int float float float float float float float float float float vector float float int float string float vector float float float vector float int float vector int float float float int string float string string int string int string string int string int string string int string int string string int string float string string int string int string string int string int string string int string int string string int string int string string int string int string string int string int string string int string int string string string int string int string string int string int string string int string string string int string int string string int string int string string int string int string string int string int string string int string float string string int string string float string string float int string string float string string string float int string string string float string string string float int string int int int int int string string float string string string float int string string string float string string string float int string int int int int float string int string string string string float float string int string string float int string vector vector float float float int string string string string string vector2 float vector2 vector vector float vector int int float int int vector2 int int string float string string string float int int int surface displacement struct_ShaderLayer } outputoverrides default { ___begin auto (0) ___begin auto (0) ___begin auto (0) } help { "" } parm { name "specmodel" label "OpenGL Specular Model" type string invisible default { "ggx" } parmtag { "ogl_coat_model" "1" } parmtag { "ogl_spec_model" "1" } } parm { name "coatspecmodel" label "OpenGL Coat Specular Model" type string invisible default { "ggx" } parmtag { "ogl_coat_model" "1" } } parm { name "specular_tint" label "OpenGL Specular Tint" type float invisible default { [ "(1-ch(\"metallic\"))*ch(\"reflecttint\")" hscript-expr ] } range { 0! 1! } parmtag { "units" "" } } group { name "diffuse_folder_15" label "Surface" groupcollapsible { name "folder7" label "Basic" grouptag { "group_default" "1" } parm { name "basecolor" label "Base Color" type color size 3 default { "0.2" "0.2" "0.2" } disablewhen "{ basecolor_useBaseColor == 0 } { diff_enable == 0 }" range { 0 1 } parmtag { "ogl_amb" "1" } parmtag { "ogl_diff" "1" } parmtag { "ogl_spec" "1" } parmtag { "parmvop" "1" } parmtag { "shaderparmcontexts" "surface" } } parm { name "albedomult" label "Albedo Multiplier" type float default { "1" } range { 0 1 } parmtag { "ogl_amb_intensity" "1" } parmtag { "ogl_diff_intensity" "1" } parmtag { "ogl_spec_intensity" "1" } parmtag { "parmvop" "1" } parmtag { "shaderparmcontexts" "surface" } } parm { name "basecolor_usePointColor" label "Use Point Color" type toggle default { "on" } disablewhen "{ diff_enable == 0 }" parmtag { "parmvop" "1" } parmtag { "shaderparmcontexts" "surface" } } parm { name "basecolor_usePackedColor" label "Use Packed Color" type toggle default { "off" } disablewhen "{ diff_enable == 0 }" parmtag { "parmvop" "1" } parmtag { "shaderparmcontexts" "surface" } } parm { name "frontface" label "Shade Both Sides As Front" type toggle default { "on" } parmtag { "parmvop" "1" } parmtag { "shaderparmcontexts" "surface" } } } groupcollapsible { name "folder4" label "Specular" grouptag { "group_default" "1" } parm { name "ior" label "IOR" type float default { "1.5" } range { 1 3 } parmtag { "ogl_ior" "1" } parmtag { "parmvop" "1" } parmtag { "shaderparmcontexts" "surface" } } parm { name "rough" label "Roughness" type float default { "0.3" } hidewhen "{ useBaseColor == 0 }" range { 0 1 } parmtag { "ogl_diff_rough" "1" } parmtag { "ogl_rough" "1" } parmtag { "parmvop" "1" } parmtag { "shaderparmcontexts" "surface" } } parm { name "aniso" label "Anisotropy" type float default { "0" } hidewhen "{ useBaseColor == 0 }" range { 0 1 } parmtag { "parmvop" "1" } parmtag { "shaderparmcontexts" "surface" } } parm { name "anisodir" label "Anisotropy Direction" type float default { "0" } range { 0 1 } parmtag { "parmvop" "1" } parmtag { "shaderparmcontexts" "surface" } } groupcollapsible { name "folder12" label "Reflection" grouptag { "group_default" "1" } parm { name "metallic" label "Metallic" type float default { "0" } hidewhen "{ useBaseColor == 0 }" range { 0 1 } parmtag { "ogl_metallic" "1" } parmtag { "parmvop" "1" } parmtag { "shaderparmcontexts" "surface" } } parm { name "reflect" label "Reflectivity" type float default { "1" } hidewhen "{ useBaseColor == 0 }" range { 0 1 } parmtag { "ogl_reflect" "1" } parmtag { "parmvop" "1" } parmtag { "shaderparmcontexts" "surface" } } parm { name "reflecttint" label "Reflect Tint" type float default { "0" } hidewhen "{ useBaseColor == 0 }" range { 0 1 } parmtag { "ogl_spectint" "1" } parmtag { "parmvop" "1" } parmtag { "shaderparmcontexts" "surface" } } parm { name "coat" label "Coat" type float default { "0" } hidewhen "{ useBaseColor == 0 }" range { 0 1 } parmtag { "ogl_coat_intensity" "1" } parmtag { "parmvop" "1" } parmtag { "shaderparmcontexts" "surface" } } parm { name "coatrough" label "Coat Roughness" type float default { "0" } hidewhen "{ useBaseColor == 0 }" range { 0 1 } parmtag { "ogl_coat_rough" "1" } parmtag { "parmvop" "1" } parmtag { "shaderparmcontexts" "surface" } } } groupcollapsible { name "folder13" label "Transparency" grouptag { "group_default" "1" } parm { name "transparency" label "Transparency" type float default { "0" } range { 0 1 } parmtag { "ogl_transparency" "1" } parmtag { "parmvop" "1" } parmtag { "shaderparmcontexts" "surface" } } parm { name "transcolor" label "Transmission Color" type color size 3 default { "1" "1" "1" } disablewhen "{ transcolor_useBaseColor == 0 } { diff_enable == 0 }" range { 0 1 } parmtag { "parmvop" "1" } parmtag { "shaderparmcontexts" "surface" } } parm { name "transdist" label "At Distance" type float default { "0.1" } hidewhen "{ useBaseColor == 0 }" range { 0 1 } parmtag { "parmvop" "1" } parmtag { "shaderparmcontexts" "surface" } } parm { name "dispersion" label "Dispersion" type float default { "0" } hidewhen "{ useBaseColor == 0 }" range { 0 1 } parmtag { "parmvop" "1" } parmtag { "shaderparmcontexts" "surface" } } parm { name "priority" label "Surface Priority" type integer default { "0" } range { 0 10 } parmtag { "parmvop" "1" } parmtag { "shaderparmcontexts" "surface" } } parm { name "transcolor_usePointColor" label "Use Point Color" type toggle default { "off" } parmtag { "parmvop" "1" } parmtag { "shaderparmcontexts" "surface" } } } } groupcollapsible { name "folder8" label "Subsurface Scattering" grouptag { "group_default" "1" } parm { name "sss" label "Subsurface" type float default { "0" } hidewhen "{ useBaseColor == 0 }" range { 0 1 } parmtag { "parmvop" "1" } parmtag { "shaderparmcontexts" "surface" } } parm { name "ssscolor" label "Subsurface Color" type color size 3 default { "1" "1" "1" } hidewhen "{ useBaseColor == 0 }" range { 0 1 } parmtag { "parmvop" "1" } parmtag { "shaderparmcontexts" "surface" } } parm { name "sssmodel" label "SSS Mode" type string default { "pbrsss" } menu { "pbrsss" "Full Subsurface Scattering" "pbrsingles" "Single Scattering" "pbrrwalksss" "Random Walk (Karma)" } parmtag { "parmvop" "1" } parmtag { "shaderparmcontexts" "surface" } } parm { name "sssdist" label "Subsurface Distance" type float default { "0.1" } hidewhen "{ useBaseColor == 0 }" range { 0 1 } parmtag { "parmvop" "1" } parmtag { "shaderparmcontexts" "surface" } } parm { name "sssphase" label "Scattering Phase" type float default { "0" } disablewhen "{ sssmodel == pbrsss }" range { -1 1 } parmtag { "parmvop" "1" } parmtag { "shaderparmcontexts" "surface" } } parm { name "ssscolor_usePointColor" label "Use Point Color" type toggle default { "off" } parmtag { "parmvop" "1" } parmtag { "shaderparmcontexts" "surface" } } } groupcollapsible { name "folder11" label "Sheen" grouptag { "group_default" "1" } parm { name "sheen" label "Sheen" type float default { "0" } hidewhen "{ useBaseColor == 0 }" range { 0 1 } parmtag { "parmvop" "1" } parmtag { "shaderparmcontexts" "surface" } } parm { name "sheentint" label "Sheen Tint" type float default { "0" } hidewhen "{ useBaseColor == 0 }" range { 0 1 } parmtag { "parmvop" "1" } parmtag { "shaderparmcontexts" "surface" } } } groupcollapsible { name "folder9" label "Emission" grouptag { "group_default" "1" } parm { name "emitint" label "Emission Intensity" type float default { "0" } range { 0 10 } parmtag { "ogl_emit_intensity" "1" } parmtag { "parmvop" "1" } parmtag { "shaderparmcontexts" "surface" } } parm { name "emitcolor" label "Emission Color" type color size 3 default { "1" "1" "1" } range { 0 1 } parmtag { "ogl_emit" "1" } parmtag { "parmvop" "1" } parmtag { "shaderparmcontexts" "surface" } } parm { name "emitcolor_usePointColor" label "Use Point Color" type toggle default { "off" } parmtag { "parmvop" "1" } parmtag { "shaderparmcontexts" "surface" } } parm { name "emitillum" label "Emission Illuminates Objects" type toggle default { "on" } parmtag { "parmvop" "1" } parmtag { "shaderparmcontexts" "surface" } } } } group { name "diffuse_folder_15_1" label "Opacity" groupsimple { name "folder15" label "Opacity" parm { name "opac" label "Opacity Scale" type float default { "1" } range { 0 1 } parmtag { "parmvop" "1" } parmtag { "shaderparmcontexts" "surface" } } parm { name "opaccolor" label "Opacity Color" type color size 3 default { "1" "1" "1" } range { 0 1 } parmtag { "parmvop" "1" } parmtag { "shaderparmcontexts" "surface" } } parm { name "opacpointalpha" label "Use Point Alpha" type toggle default { "on" } parmtag { "parmvop" "1" } parmtag { "shaderparmcontexts" "surface" } } parm { name "opacpackedalpha" label "Use Packed Alpha" type toggle default { "off" } parmtag { "parmvop" "1" } parmtag { "shaderparmcontexts" "surface" } } } groupsimple { name "folder6" label "Fake Caustics" parm { name "fakecausticsenabled" label "Enable" type toggle default { "off" } parmtag { "parmvop" "1" } parmtag { "shaderparmcontexts" "surface" } } parm { name "fakecausticstransmit" label "Transmission Tint" type float default { "1" } disablewhen "{ fakecausticsenabled == 0 }" range { 0 1 } parmtag { "parmvop" "1" } parmtag { "shaderparmcontexts" "surface" } } parm { name "fakecausticsshadow" label "Shadow Contour" type float default { "1" } disablewhen "{ fakecausticsenabled == 0 }" range { 0 1 } parmtag { "parmvop" "1" } parmtag { "shaderparmcontexts" "surface" } } parm { name "fakecausticsopacity" label "Shadow Opacity" type float default { "0" } disablewhen "{ fakecausticsenabled == 0 }" range { 0 1 } parmtag { "parmvop" "1" } parmtag { "shaderparmcontexts" "surface" } } } groupsimple { name "folder17" label "Masking" parm { name "alphablendmode" label "Alpha Mode" type string default { "blend" } menu { "blend" "Blend" "mask" "Mask" "opaque" "Opaque" } parmtag { "ogl_alpha_mode" "1" } parmtag { "parmvop" "1" } parmtag { "shaderparmcontexts" "surface" } } parm { name "alphacutoff" label "Alpha Cutoff" type float default { "0.5" } disablewhen "{ alphablendmode != mask }" range { 0 1 } parmtag { "ogl_alpha_cutoff" "1" } parmtag { "parmvop" "1" } parmtag { "shaderparmcontexts" "surface" } } } } group { name "diffuse_folder_15_2" label "Textures" groupsimple { name "folder54" label "Base Color" grouptag { "group_type" "simple" } parm { name "basecolor_useTexture" label "Use Texture" type toggle default { "off" } disablewhen "{ diff_enable == 0 }" parmtag { "ogl_use_tex1" "1" } parmtag { "parmvop" "1" } parmtag { "shaderparmcontexts" "surface" } } parm { name "basecolor_texture" label "Texture" type image default { "" } disablewhen "{ diff_enable == 0 }" hidewhen "{ basecolor_useTexture == 0 }" parmtag { "ogl_specmap" "1" } parmtag { "ogl_tex1" "1" } parmtag { "parmvop" "1" } parmtag { "shaderparmcontexts" "surface" } } parm { name "basecolor_textureIntensity" label "Tint Intensity" type float default { "1" } disablewhen "{ diff_enable == 0 }" hidewhen "{ basecolor_useTexture == 0 }" range { 0 2 } parmtag { "parmvop" "1" } parmtag { "shaderparmcontexts" "surface" } } parm { name "basecolor_textureWrap" label "Wrap" type string default { "repeat" } disablewhen "{ diff_enable == 0 }" hidewhen "{ basecolor_useTexture == 0 }" menu { "repeat" "Repeat" "streak" "Streak" "decal" "Decal" } parmtag { "ogl_tex_vwrap1" "1" } parmtag { "ogl_tex_wrap1" "1" } parmtag { "parmvop" "1" } parmtag { "shaderparmcontexts" "surface" } } parm { name "basecolor_textureColorSpace" label "Source Color Space" type string default { "auto" } disablewhen "{ diff_enable == 0 }" hidewhen "{ basecolor_useTexture == 0 }" menu { "auto" "Automatic" "linear" "Linear" } parmtag { "parmvop" "1" } parmtag { "shaderparmcontexts" "surface" } } parm { name "basecolor_useTextureAlpha" label "Use Texture Alpha" type toggle default { "off" } disablewhen "{ diff_enable == 0 }" hidewhen "{ basecolor_useTexture == 0 }" parmtag { "ogl_use_diffuse_map_alpha" "1" } parmtag { "parmvop" "1" } parmtag { "shaderparmcontexts" "surface" } } } groupsimple { name "folder1" label "IOR" parm { name "ior_useTexture" label "Use Texture" type toggle default { "off" } disablewhen "{ refl_enable == 0 } { refl_lights == 0 refl_objs == 0 }" parmtag { "parmvop" "1" } parmtag { "shaderparmcontexts" "surface" } } parm { name "ior_texture" label "Texture" type image default { "" } disablewhen "{ refl_enable == 0 } { refl_lights == 0 refl_objs == 0 }" hidewhen "{ ior_useTexture == 0 }" parmtag { "parmvop" "1" } parmtag { "shaderparmcontexts" "surface" } } parm { name "ior_monoChannel" label "Channel" type integer joinnext default { "0" } disablewhen "{ refl_enable == 0 } { refl_lights == 0 refl_objs == 0 }" hidewhen "{ ior_useTexture == 0 }" menu { "0" "Luminance" "1" "Red" "2" "Green" "3" "Blue" } range { 0 10 } parmtag { "parmvop" "1" } parmtag { "shaderparmcontexts" "surface" } } parm { name "ior_textureWrap" label "Wrap" type string joinnext default { "repeat" } disablewhen "{ refl_enable == 0 } { refl_lights == 0 refl_objs == 0 }" hidewhen "{ ior_useTexture == 0 }" menu { "repeat" "Repeat" "streak" "Streak" "decal" "Decal" } parmtag { "parmvop" "1" } parmtag { "shaderparmcontexts" "surface" } } parm { name "ior_textureColorSpace" label "Source Color Space" type string default { "linear" } disablewhen "{ refl_enable == 0 }" hidewhen "{ ior_useTexture == 0 }" menu { "auto" "Automatic" "linear" "Linear" } parmtag { "parmvop" "1" } parmtag { "shaderparmcontexts" "surface" } } } groupsimple { name "folder227" label "Roughness" grouptag { "group_type" "simple" } parm { name "rough_useTexture" label "Use Texture" type toggle default { "off" } disablewhen "{ refl_enable == 0 } { refl_lights == 0 refl_objs == 0 }" parmtag { "ogl_use_roughmap" "1" } parmtag { "parmvop" "1" } parmtag { "shaderparmcontexts" "surface" } } parm { name "rough_texture" label "Texture" type image default { "" } disablewhen "{ refl_enable == 0 } { refl_lights == 0 refl_objs == 0 }" hidewhen "{ rough_useTexture == 0 }" parmtag { "ogl_roughmap" "1" } parmtag { "parmvop" "1" } parmtag { "shaderparmcontexts" "surface" } } parm { name "rough_monoChannel" label "Channel" type integer joinnext default { "0" } disablewhen "{ refl_enable == 0 } { refl_lights == 0 refl_objs == 0 }" hidewhen "{ rough_useTexture == 0 }" menu { "0" "Luminance" "1" "Red" "2" "Green" "3" "Blue" } range { 0 10 } parmtag { "ogl_roughmap_comp" "1" } parmtag { "parmvop" "1" } parmtag { "shaderparmcontexts" "surface" } } parm { name "rough_textureWrap" label "Wrap" type string joinnext default { "repeat" } disablewhen "{ refl_enable == 0 } { refl_lights == 0 refl_objs == 0 }" hidewhen "{ rough_useTexture == 0 }" menu { "repeat" "Repeat" "streak" "Streak" "decal" "Decal" } parmtag { "parmvop" "1" } parmtag { "shaderparmcontexts" "surface" } } parm { name "rough_textureColorSpace" label "Source Color Space" type string default { "linear" } disablewhen "{ refl_enable == 0 }" hidewhen "{ rough_useTexture == 0 }" menu { "auto" "Automatic" "linear" "Linear" } parmtag { "parmvop" "1" } parmtag { "shaderparmcontexts" "surface" } } } groupsimple { name "folder228" label "Anisotropy" grouptag { "group_type" "simple" } parm { name "aniso_useTexture" label "Use Texture" type toggle default { "off" } disablewhen "{ refl_enable == 0 } { refl_lights == 0 refl_objs == 0 }" parmtag { "parmvop" "1" } parmtag { "shaderparmcontexts" "surface" } } parm { name "aniso_texture" label "Texture" type image default { "" } disablewhen "{ refl_enable == 0 } { refl_lights == 0 refl_objs == 0 }" hidewhen "{ aniso_useTexture == 0 }" parmtag { "parmvop" "1" } parmtag { "shaderparmcontexts" "surface" } } parm { name "aniso_monoChannel" label "Channel" type integer joinnext default { "0" } disablewhen "{ refl_enable == 0 } { refl_lights == 0 refl_objs == 0 }" hidewhen "{ aniso_useTexture == 0 }" menu { "0" "Luminance" "1" "Red" "2" "Green" "3" "Blue" } range { 0 10 } parmtag { "parmvop" "1" } parmtag { "shaderparmcontexts" "surface" } } parm { name "aniso_textureWrap" label "Wrap" type string joinnext default { "repeat" } disablewhen "{ refl_enable == 0 } { refl_lights == 0 refl_objs == 0 }" hidewhen "{ aniso_useTexture == 0 }" menu { "repeat" "Repeat" "streak" "Streak" "decal" "Decal" } parmtag { "parmvop" "1" } parmtag { "shaderparmcontexts" "surface" } } parm { name "aniso_textureColorSpace" label "Source Color Space" type string default { "linear" } disablewhen "{ refl_enable == 0 }" hidewhen "{ aniso_useTexture == 0 }" menu { "auto" "Automatic" "linear" "Linear" } parmtag { "parmvop" "1" } parmtag { "shaderparmcontexts" "surface" } } } groupsimple { name "folder229" label "Anisotropy Direction" grouptag { "group_type" "simple" } parm { name "anisodir_useTexture" label "Use Texture" type toggle default { "off" } disablewhen "{ refl_enable == 0 } { refl_lights == 0 refl_objs == 0 }" parmtag { "parmvop" "1" } parmtag { "script_callback" "python -c 'hou.phm().toggle_anisodir_texture(hou.pwd())'" } parmtag { "shaderparmcontexts" "surface" } } parm { name "anisodir_texture" label "Texture" type image default { "" } disablewhen "{ refl_enable == 0 } { refl_lights == 0 refl_objs == 0 }" hidewhen "{ anisodir_useTexture == 0 }" parmtag { "parmvop" "1" } parmtag { "shaderparmcontexts" "surface" } } parm { name "anisodir_monoChannel" label "Channel" type integer joinnext default { "0" } disablewhen "{ refl_enable == 0 } { refl_lights == 0 refl_objs == 0 }" hidewhen "{ anisodir_useTexture == 0 }" menu { "0" "Luminance" "1" "Red" "2" "Green" "3" "Blue" } range { 0 10 } parmtag { "parmvop" "1" } parmtag { "shaderparmcontexts" "surface" } } parm { name "anisodir_textureWrap" label "Wrap" type string joinnext default { "repeat" } disablewhen "{ refl_enable == 0 } { refl_lights == 0 refl_objs == 0 }" hidewhen "{ anisodir_useTexture == 0 }" menu { "repeat" "Repeat" "streak" "Streak" "decal" "Decal" } parmtag { "parmvop" "1" } parmtag { "shaderparmcontexts" "surface" } } parm { name "anisodir_textureColorSpace" label "Source Color Space" type string default { "linear" } disablewhen "{ refl_enable == 0 }" hidewhen "{ anisodir_useTexture == 0 }" menu { "auto" "Automatic" "linear" "Linear" } parmtag { "parmvop" "1" } parmtag { "shaderparmcontexts" "" } } parm { name "anisodir_textureFilter" label "Filter Type" type string default { "point" } hidewhen "{ anisodir_useTexture == 0 }" menu { "box" "Box" "gauss" "Gaussian" "bartlett" "Bartlett/Triangular" "sinc" "Sinc Sharpening" "hanning" "Hanning" "blackman" "Blackman" "catrom" "Catmull-Rom" "mitchell" "Mitchell" "point" "Point (No Filter)" } parmtag { "parmvop" "1" } parmtag { "shaderparmcontexts" "surface" } } } groupsimple { name "folder55" label "Metallic" grouptag { "group_type" "simple" } parm { name "metallic_useTexture" label "Use Texture" type toggle default { "off" } disablewhen "{ refl_enable == 0 } { refl_lights == 0 refl_objs == 0 }" parmtag { "ogl_use_metallicmap" "1" } parmtag { "parmvop" "1" } parmtag { "shaderparmcontexts" "surface" } } parm { name "metallic_texture" label "Texture" type image default { "" } disablewhen "{ refl_enable == 0 } { refl_lights == 0 refl_objs == 0 }" hidewhen "{ metallic_useTexture == 0 }" parmtag { "ogl_metallicmap" "1" } parmtag { "parmvop" "1" } parmtag { "shaderparmcontexts" "surface" } } parm { name "metallic_monoChannel" label "Channel" type integer joinnext default { "0" } disablewhen "{ refl_enable == 0 } { refl_lights == 0 refl_objs == 0 }" hidewhen "{ metallic_useTexture == 0 }" menu { "0" "Luminance" "1" "Red" "2" "Green" "3" "Blue" } range { 0 10 } parmtag { "ogl_metallicmap_comp" "1" } parmtag { "parmvop" "1" } parmtag { "shaderparmcontexts" "surface" } } parm { name "metallic_textureWrap" label "Wrap" type string joinnext default { "repeat" } disablewhen "{ refl_enable == 0 } { refl_lights == 0 refl_objs == 0 }" hidewhen "{ metallic_useTexture == 0 }" menu { "repeat" "Repeat" "streak" "Streak" "decal" "Decal" } parmtag { "parmvop" "1" } parmtag { "shaderparmcontexts" "surface" } } parm { name "metallic_textureColorSpace" label "Source Color Space" type string default { "linear" } disablewhen "{ refl_enable == 0 }" hidewhen "{ metallic_useTexture == 0 }" menu { "auto" "Automatic" "linear" "Linear" } parmtag { "parmvop" "1" } parmtag { "shaderparmcontexts" "surface" } } } groupsimple { name "folder16" label "Reflectivity" parm { name "reflect_useTexture" label "Use Texture" type toggle default { "off" } disablewhen "{ refl_enable == 0 } { refl_lights == 0 refl_objs == 0 }" parmtag { "ogl_use_reflect_map" "1" } parmtag { "parmvop" "1" } parmtag { "shaderparmcontexts" "surface" } } parm { name "reflect_texture" label "Texture" type image default { "" } disablewhen "{ refl_enable == 0 } { refl_lights == 0 refl_objs == 0 }" hidewhen "{ reflect_useTexture == 0 }" parmtag { "ogl_reflect_map" "1" } parmtag { "parmvop" "1" } parmtag { "shaderparmcontexts" "surface" } } parm { name "reflect_monoChannel" label "Channel" type integer joinnext default { "0" } disablewhen "{ refl_enable == 0 } { refl_lights == 0 refl_objs == 0 }" hidewhen "{ reflect_useTexture == 0 }" menu { "0" "Luminance" "1" "Red" "2" "Green" "3" "Blue" } range { 0 10 } parmtag { "ogl_reflect_map_comp" "1" } parmtag { "parmvop" "1" } parmtag { "shaderparmcontexts" "surface" } } parm { name "reflect_textureWrap" label "Wrap" type string joinnext default { "repeat" } disablewhen "{ refl_enable == 0 } { refl_lights == 0 refl_objs == 0 }" hidewhen "{ reflect_useTexture == 0 }" menu { "repeat" "Repeat" "streak" "Streak" "decal" "Decal" } parmtag { "parmvop" "1" } parmtag { "shaderparmcontexts" "surface" } } parm { name "reflect_textureColorSpace" label "Source Color Space" type string default { "linear" } disablewhen "{ refl_enable == 0 }" hidewhen "{ reflect_useTexture == 0 }" menu { "auto" "Automatic" "linear" "Linear" } parmtag { "parmvop" "1" } parmtag { "shaderparmcontexts" "surface" } } } groupsimple { name "folder226" label "Reflect Tint" grouptag { "group_type" "simple" } parm { name "reflecttint_useTexture" label "Use Texture" type toggle default { "off" } disablewhen "{ refl_enable == 0 } { refl_lights == 0 refl_objs == 0 }" parmtag { "parmvop" "1" } parmtag { "shaderparmcontexts" "surface" } } parm { name "reflecttint_texture" label "Texture" type image default { "" } disablewhen "{ refl_enable == 0 } { refl_lights == 0 refl_objs == 0 }" hidewhen "{ reflecttint_useTexture == 0 }" parmtag { "parmvop" "1" } parmtag { "shaderparmcontexts" "surface" } } parm { name "reflecttint_monoChannel" label "Channel" type integer joinnext default { "0" } disablewhen "{ refl_enable == 0 } { refl_lights == 0 refl_objs == 0 }" hidewhen "{ reflecttint_useTexture == 0 }" menu { "0" "Luminance" "1" "Red" "2" "Green" "3" "Blue" } range { 0 10 } parmtag { "parmvop" "1" } parmtag { "shaderparmcontexts" "surface" } } parm { name "reflecttint_textureWrap" label "Wrap" type string joinnext default { "repeat" } disablewhen "{ refl_enable == 0 } { refl_lights == 0 refl_objs == 0 }" hidewhen "{ reflecttint_useTexture == 0 }" menu { "repeat" "Repeat" "streak" "Streak" "decal" "Decal" } parmtag { "parmvop" "1" } parmtag { "shaderparmcontexts" "surface" } } parm { name "reflecttint_textureColorSpace" label "Source Color Space" type string default { "linear" } disablewhen "{ refl_enable == 0 }" hidewhen "{ reflecttint_useTexture == 0 }" menu { "auto" "Automatic" "linear" "Linear" } parmtag { "parmvop" "1" } parmtag { "shaderparmcontexts" "surface" } } } groupsimple { name "folder233" label "Coat" grouptag { "group_type" "simple" } parm { name "coat_useTexture" label "Use Texture" type toggle default { "off" } disablewhen "{ refl_enable == 0 } { refl_lights == 0 refl_objs == 0 }" parmtag { "ogl_use_coat_intensity_map" "1" } parmtag { "parmvop" "1" } parmtag { "shaderparmcontexts" "surface" } } parm { name "coat_texture" label "Texture" type image default { "" } disablewhen "{ refl_enable == 0 } { refl_lights == 0 refl_objs == 0 }" hidewhen "{ coat_useTexture == 0 }" parmtag { "ogl_coat_intensity_map" "1" } parmtag { "parmvop" "1" } parmtag { "shaderparmcontexts" "surface" } } parm { name "coat_monoChannel" label "Channel" type integer joinnext default { "0" } disablewhen "{ refl_enable == 0 } { refl_lights == 0 refl_objs == 0 }" hidewhen "{ coat_useTexture == 0 }" menu { "0" "Luminance" "1" "Red" "2" "Green" "3" "Blue" } range { 0 10 } parmtag { "ogl_coat_intensity_comp" "1" } parmtag { "parmvop" "1" } parmtag { "shaderparmcontexts" "surface" } } parm { name "coat_textureWrap" label "Wrap" type string joinnext default { "repeat" } disablewhen "{ refl_enable == 0 } { refl_lights == 0 refl_objs == 0 }" hidewhen "{ coat_useTexture == 0 }" menu { "repeat" "Repeat" "streak" "Streak" "decal" "Decal" } parmtag { "parmvop" "1" } parmtag { "shaderparmcontexts" "surface" } } parm { name "coat_textureColorSpace" label "Source Color Space" type string default { "linear" } disablewhen "{ refl_enable == 0 }" hidewhen "{ coat_useTexture == 0 }" menu { "auto" "Automatic" "linear" "Linear" } parmtag { "parmvop" "1" } parmtag { "shaderparmcontexts" "surface" } } } groupsimple { name "folder234" label "Coat Roughness" grouptag { "group_type" "simple" } parm { name "coatrough_useTexture" label "Use Texture" type toggle default { "off" } disablewhen "{ refl_enable == 0 } { refl_lights == 0 refl_objs == 0 }" parmtag { "ogl_use_coat_roughness_map" "1" } parmtag { "parmvop" "1" } parmtag { "shaderparmcontexts" "surface" } } parm { name "coatrough_texture" label "Texture" type image default { "" } disablewhen "{ refl_enable == 0 } { refl_lights == 0 refl_objs == 0 }" hidewhen "{ coatrough_useTexture == 0 }" parmtag { "ogl_coat_roughness_map" "1" } parmtag { "parmvop" "1" } parmtag { "shaderparmcontexts" "surface" } } parm { name "coatrough_monoChannel" label "Channel" type integer joinnext default { "0" } disablewhen "{ refl_enable == 0 } { refl_lights == 0 refl_objs == 0 }" hidewhen "{ coatrough_useTexture == 0 }" menu { "0" "Luminance" "1" "Red" "2" "Green" "3" "Blue" } range { 0 10 } parmtag { "ogl_coat_roughness_comp" "1" } parmtag { "parmvop" "1" } parmtag { "shaderparmcontexts" "surface" } } parm { name "coatrough_textureWrap" label "Wrap" type string joinnext default { "repeat" } disablewhen "{ refl_enable == 0 } { refl_lights == 0 refl_objs == 0 }" hidewhen "{ coatrough_useTexture == 0 }" menu { "repeat" "Repeat" "streak" "Streak" "decal" "Decal" } parmtag { "parmvop" "1" } parmtag { "shaderparmcontexts" "surface" } } parm { name "coatrough_textureColorSpace" label "Source Color Space" type string default { "linear" } disablewhen "{ refl_enable == 0 }" hidewhen "{ coatrough_useTexture == 0 }" menu { "auto" "Automatic" "linear" "Linear" } parmtag { "parmvop" "1" } parmtag { "shaderparmcontexts" "surface" } } } groupsimple { name "folder2" label "Transparency" parm { name "transparency_useTexture" label "Use Texture" type toggle default { "off" } parmtag { "parmvop" "1" } parmtag { "shaderparmcontexts" "surface" } } parm { name "transparency_texture" label "Texture" type image default { "" } hidewhen "{ transparency_useTexture == 0 }" parmtag { "parmvop" "1" } parmtag { "shaderparmcontexts" "surface" } } parm { name "transparency_monoChannel" label "Channel" type integer joinnext default { "0" } hidewhen "{ transparency_useTexture == 0 }" menu { "0" "Luminance" "1" "Red" "2" "Green" "3" "Blue" } range { 0 10 } parmtag { "parmvop" "1" } parmtag { "shaderparmcontexts" "surface" } } parm { name "transparency_textureWrap" label "Wrap" type string joinnext default { "repeat" } hidewhen "{ transparency_useTexture == 0 }" menu { "repeat" "Repeat" "streak" "Streak" "decal" "Decal" } parmtag { "parmvop" "1" } parmtag { "shaderparmcontexts" "surface" } } parm { name "transparency_textureColorSpace" label "Source Color Space" type string default { "linear" } hidewhen "{ transparency_useTexture == 0 }" menu { "auto" "Automatic" "linear" "Linear" } parmtag { "parmvop" "1" } parmtag { "shaderparmcontexts" "surface" } } } groupsimple { name "folder5" label "Transmission Color" parm { name "transcolor_useTexture" label "Use Texture" type toggle default { "off" } disablewhen "{ diff_enable == 0 }" parmtag { "parmvop" "1" } parmtag { "shaderparmcontexts" "surface" } } parm { name "transcolor_texture" label "Texture" type image default { "" } disablewhen "{ diff_enable == 0 }" hidewhen "{ transcolor_useTexture == 0 }" parmtag { "parmvop" "1" } parmtag { "shaderparmcontexts" "surface" } } parm { name "transcolor_textureIntensity" label "Tint Intensity" type float default { "1" } disablewhen "{ diff_enable == 0 }" hidewhen "{ transcolor_useTexture == 0 }" range { 0 2 } parmtag { "parmvop" "1" } parmtag { "shaderparmcontexts" "surface" } } parm { name "transcolor_textureWrap" label "Wrap" type string default { "repeat" } disablewhen "{ diff_enable == 0 }" hidewhen "{ transcolor_useTexture == 0 }" menu { "repeat" "Repeat" "streak" "Streak" "decal" "Decal" } parmtag { "parmvop" "1" } parmtag { "shaderparmcontexts" "surface" } } parm { name "transcolor_textureColorSpace" label "Source Color Space" type string default { "auto" } disablewhen "{ diff_enable == 0 }" hidewhen "{ transcolor_useTexture == 0 }" menu { "auto" "Automatic" "linear" "Linear" } parmtag { "parmvop" "1" } parmtag { "shaderparmcontexts" "surface" } } } groupsimple { name "folder5_1" label "At Distance" parm { name "transdist_useTexture" label "Use Texture" type toggle default { "off" } disablewhen "{ refl_enable == 0 } { refl_lights == 0 refl_objs == 0 }" parmtag { "parmvop" "1" } parmtag { "shaderparmcontexts" "surface" } } parm { name "transdist_texture" label "Texture" type image default { "" } disablewhen "{ refl_enable == 0 } { refl_lights == 0 refl_objs == 0 }" hidewhen "{ transdist_useTexture == 0 }" parmtag { "parmvop" "1" } parmtag { "shaderparmcontexts" "surface" } } parm { name "transdist_monoChannel" label "Channel" type integer joinnext default { "0" } disablewhen "{ refl_enable == 0 } { refl_lights == 0 refl_objs == 0 }" hidewhen "{ transdist_useTexture == 0 }" menu { "0" "Luminance" "1" "Red" "2" "Green" "3" "Blue" } range { 0 10 } parmtag { "parmvop" "1" } parmtag { "shaderparmcontexts" "surface" } } parm { name "transdist_textureWrap" label "Wrap" type string joinnext default { "repeat" } disablewhen "{ refl_enable == 0 } { refl_lights == 0 refl_objs == 0 }" hidewhen "{ transdist_useTexture == 0 }" menu { "repeat" "Repeat" "streak" "Streak" "decal" "Decal" } parmtag { "parmvop" "1" } parmtag { "shaderparmcontexts" "surface" } } parm { name "transdist_textureColorSpace" label "Source Color Space" type string default { "linear" } disablewhen "{ refl_enable == 0 }" hidewhen "{ transdist_useTexture == 0 }" menu { "auto" "Automatic" "linear" "Linear" } parmtag { "parmvop" "1" } parmtag { "shaderparmcontexts" "surface" } } } groupsimple { name "folder5_2" label "Dispersion" parm { name "dispersion_useTexture" label "Use Texture" type toggle default { "off" } disablewhen "{ refl_enable == 0 } { refl_lights == 0 refl_objs == 0 }" parmtag { "parmvop" "1" } parmtag { "shaderparmcontexts" "surface" } } parm { name "dispersion_texture" label "Texture" type image default { "" } disablewhen "{ refl_enable == 0 } { refl_lights == 0 refl_objs == 0 }" hidewhen "{ dispersion_useTexture == 0 }" parmtag { "parmvop" "1" } parmtag { "shaderparmcontexts" "surface" } } parm { name "dispersion_monoChannel" label "Channel" type integer joinnext default { "0" } disablewhen "{ refl_enable == 0 } { refl_lights == 0 refl_objs == 0 }" hidewhen "{ dispersion_useTexture == 0 }" menu { "0" "Luminance" "1" "Red" "2" "Green" "3" "Blue" } range { 0 10 } parmtag { "parmvop" "1" } parmtag { "shaderparmcontexts" "surface" } } parm { name "dispersion_textureWrap" label "Wrap" type string joinnext default { "repeat" } disablewhen "{ refl_enable == 0 } { refl_lights == 0 refl_objs == 0 }" hidewhen "{ dispersion_useTexture == 0 }" menu { "repeat" "Repeat" "streak" "Streak" "decal" "Decal" } parmtag { "parmvop" "1" } parmtag { "shaderparmcontexts" "surface" } } parm { name "dispersion_textureColorSpace" label "Source Color Space" type string default { "linear" } disablewhen "{ refl_enable == 0 }" hidewhen "{ dispersion_useTexture == 0 }" menu { "auto" "Automatic" "linear" "Linear" } parmtag { "parmvop" "1" } parmtag { "shaderparmcontexts" "surface" } } } groupsimple { name "folder230" label "Subsurface" grouptag { "group_type" "simple" } parm { name "sss_useTexture" label "Use Texture" type toggle default { "off" } disablewhen "{ refl_enable == 0 } { refl_lights == 0 refl_objs == 0 }" parmtag { "parmvop" "1" } parmtag { "shaderparmcontexts" "surface" } } parm { name "sss_texture" label "Texture" type image default { "" } disablewhen "{ refl_enable == 0 } { refl_lights == 0 refl_objs == 0 }" hidewhen "{ sss_useTexture == 0 }" parmtag { "parmvop" "1" } parmtag { "shaderparmcontexts" "surface" } } parm { name "sss_monoChannel" label "Channel" type integer joinnext default { "0" } disablewhen "{ refl_enable == 0 } { refl_lights == 0 refl_objs == 0 }" hidewhen "{ sss_useTexture == 0 }" menu { "0" "Luminance" "1" "Red" "2" "Green" "3" "Blue" } range { 0 10 } parmtag { "parmvop" "1" } parmtag { "shaderparmcontexts" "surface" } } parm { name "sss_textureWrap" label "Wrap" type string joinnext default { "repeat" } disablewhen "{ refl_enable == 0 } { refl_lights == 0 refl_objs == 0 }" hidewhen "{ sss_useTexture == 0 }" menu { "repeat" "Repeat" "streak" "Streak" "decal" "Decal" } parmtag { "parmvop" "1" } parmtag { "shaderparmcontexts" "surface" } } parm { name "sss_textureColorSpace" label "Source Color Space" type string default { "linear" } disablewhen "{ refl_enable == 0 }" hidewhen "{ sss_useTexture == 0 }" menu { "auto" "Automatic" "linear" "Linear" } parmtag { "parmvop" "1" } parmtag { "shaderparmcontexts" "surface" } } } groupsimple { name "folder3" label "Subsurface Scattering Distance" parm { name "sssdist_useTexture" label "Use Texture" type toggle default { "off" } disablewhen "{ refl_enable == 0 } { refl_lights == 0 refl_objs == 0 }" parmtag { "parmvop" "1" } parmtag { "shaderparmcontexts" "surface" } } parm { name "sssdist_texture" label "Texture" type image default { "" } disablewhen "{ refl_enable == 0 } { refl_lights == 0 refl_objs == 0 }" hidewhen "{ sssdist_useTexture == 0 }" parmtag { "parmvop" "1" } parmtag { "shaderparmcontexts" "surface" } } parm { name "sssdist_monoChannel" label "Channel" type integer joinnext default { "0" } disablewhen "{ refl_enable == 0 } { refl_lights == 0 refl_objs == 0 }" hidewhen "{ sssdist_useTexture == 0 }" menu { "0" "Luminance" "1" "Red" "2" "Green" "3" "Blue" } range { 0 10 } parmtag { "parmvop" "1" } parmtag { "shaderparmcontexts" "surface" } } parm { name "sssdist_textureWrap" label "Wrap" type string joinnext default { "repeat" } disablewhen "{ refl_enable == 0 } { refl_lights == 0 refl_objs == 0 }" hidewhen "{ sssdist_useTexture == 0 }" menu { "repeat" "Repeat" "streak" "Streak" "decal" "Decal" } parmtag { "parmvop" "1" } parmtag { "shaderparmcontexts" "surface" } } parm { name "sssdist_textureColorSpace" label "Source Color Space" type string default { "linear" } disablewhen "{ refl_enable == 0 }" hidewhen "{ sssdist_useTexture == 0 }" menu { "auto" "Automatic" "linear" "Linear" } parmtag { "parmvop" "1" } parmtag { "shaderparmcontexts" "surface" } } } groupsimple { name "folder3_1" label "Subsurface Color" parm { name "ssscolor_useTexture" label "Use Texture" type toggle default { "off" } disablewhen "{ refl_enable == 0 } { refl_lights == 0 refl_objs == 0 }" parmtag { "parmvop" "1" } parmtag { "shaderparmcontexts" "surface" } } parm { name "ssscolor_texture" label "Texture" type image default { "" } disablewhen "{ refl_enable == 0 } { refl_lights == 0 refl_objs == 0 }" hidewhen "{ ssscolor_useTexture == 0 }" parmtag { "parmvop" "1" } parmtag { "shaderparmcontexts" "surface" } } parm { name "ssscolor_textureWrap" label "Wrap" type string joinnext default { "repeat" } disablewhen "{ refl_enable == 0 } { refl_lights == 0 refl_objs == 0 }" hidewhen "{ ssscolor_useTexture == 0 }" menu { "repeat" "Repeat" "streak" "Streak" "decal" "Decal" } parmtag { "parmvop" "1" } parmtag { "shaderparmcontexts" "surface" } } parm { name "ssscolor_textureColorSpace" label "Source Color Space" type string default { "linear" } disablewhen "{ refl_enable == 0 }" hidewhen "{ ssscolor_useTexture == 0 }" menu { "auto" "Automatic" "linear" "Linear" } parmtag { "parmvop" "1" } parmtag { "shaderparmcontexts" "surface" } } } groupsimple { name "folder231" label "Sheen" grouptag { "group_type" "simple" } parm { name "sheen_useTexture" label "Use Texture" type toggle default { "off" } disablewhen "{ refl_enable == 0 } { refl_lights == 0 refl_objs == 0 }" parmtag { "parmvop" "1" } parmtag { "shaderparmcontexts" "surface" } } parm { name "sheen_texture" label "Texture" type image default { "" } disablewhen "{ refl_enable == 0 } { refl_lights == 0 refl_objs == 0 }" hidewhen "{ sheen_useTexture == 0 }" parmtag { "parmvop" "1" } parmtag { "shaderparmcontexts" "surface" } } parm { name "sheen_monoChannel" label "Channel" type integer joinnext default { "0" } disablewhen "{ refl_enable == 0 } { refl_lights == 0 refl_objs == 0 }" hidewhen "{ sheen_useTexture == 0 }" menu { "0" "Luminance" "1" "Red" "2" "Green" "3" "Blue" } range { 0 10 } parmtag { "parmvop" "1" } parmtag { "shaderparmcontexts" "surface" } } parm { name "sheen_textureWrap" label "Wrap" type string joinnext default { "repeat" } disablewhen "{ refl_enable == 0 } { refl_lights == 0 refl_objs == 0 }" hidewhen "{ sheen_useTexture == 0 }" menu { "repeat" "Repeat" "streak" "Streak" "decal" "Decal" } parmtag { "parmvop" "1" } parmtag { "shaderparmcontexts" "surface" } } parm { name "sheen_textureColorSpace" label "Source Color Space" type string default { "linear" } disablewhen "{ refl_enable == 0 }" hidewhen "{ sheen_useTexture == 0 }" menu { "auto" "Automatic" "linear" "Linear" } parmtag { "parmvop" "1" } parmtag { "shaderparmcontexts" "surface" } } } groupsimple { name "folder232" label "Sheen Tint" grouptag { "group_type" "simple" } parm { name "sheentint_useTexture" label "Use Texture" type toggle default { "off" } disablewhen "{ refl_enable == 0 } { refl_lights == 0 refl_objs == 0 }" parmtag { "parmvop" "1" } parmtag { "shaderparmcontexts" "surface" } } parm { name "sheentint_texture" label "Map" type image default { "" } disablewhen "{ refl_enable == 0 } { refl_lights == 0 refl_objs == 0 }" hidewhen "{ sheentint_useTexture == 0 }" parmtag { "parmvop" "1" } parmtag { "shaderparmcontexts" "surface" } } parm { name "sheentint_monoChannel" label "Channel" type integer joinnext default { "0" } disablewhen "{ refl_enable == 0 } { refl_lights == 0 refl_objs == 0 }" hidewhen "{ sheentint_useTexture == 0 }" menu { "0" "Luminance" "1" "Red" "2" "Green" "3" "Blue" } range { 0 10 } parmtag { "parmvop" "1" } parmtag { "shaderparmcontexts" "surface" } } parm { name "sheentint_textureWrap" label "Wrap" type string joinnext default { "repeat" } disablewhen "{ refl_enable == 0 } { refl_lights == 0 refl_objs == 0 }" hidewhen "{ sheentint_useTexture == 0 }" menu { "repeat" "Repeat" "streak" "Streak" "decal" "Decal" } parmtag { "parmvop" "1" } parmtag { "shaderparmcontexts" "surface" } } parm { name "sheentint_textureColorSpace" label "Source Color Space" type string default { "linear" } disablewhen "{ refl_enable == 0 }" hidewhen "{ sheentint_useTexture == 0 }" menu { "auto" "Automatic" "linear" "Linear" } parmtag { "parmvop" "1" } parmtag { "shaderparmcontexts" "surface" } } } groupsimple { name "diffuse_folder_14_3" label "Emission" parm { name "emitcolor_useTexture" label "Use Texture" type toggle default { "off" } parmtag { "ogl_use_emissionmap" "1" } parmtag { "parmvop" "1" } parmtag { "shaderparmcontexts" "surface" } } parm { name "emitcolor_texture" label "Texture" type image default { "" } hidewhen "{ emitcolor_useTexture == 0 }" parmtag { "ogl_emissionmap" "1" } parmtag { "parmvop" "1" } parmtag { "shaderparmcontexts" "surface" } } parm { name "emitcolor_textureIntensity" label "Tint Intensity" type float default { "1" } hidewhen "{ emitcolor_useTexture == 0 }" range { 0 2 } parmtag { "parmvop" "1" } parmtag { "shaderparmcontexts" "surface" } } parm { name "emitcolor_textureWrap" label "Wrap" type string default { "repeat" } hidewhen "{ emitcolor_useTexture == 0 }" menu { "repeat" "Repeat" "streak" "Streak" "decal" "Decal" } parmtag { "parmvop" "1" } parmtag { "shaderparmcontexts" "surface" } } parm { name "emitcolor_textureColorSpace" label "Source Color Space" type string default { "repeat" } hidewhen "{ emitcolor_useTexture == 0 }" menu { "auto" "Automatic" "linear" "Linear" } parmtag { "parmvop" "1" } parmtag { "shaderparmcontexts" "surface" } } } groupsimple { name "folder14" label "Opacity" parm { name "opaccolor_useTexture" label "Use Texture" type toggle default { "off" } parmtag { "ogl_use_opacitymap" "1" } parmtag { "parmvop" "1" } parmtag { "shaderparmcontexts" "surface" } } parm { name "opaccolor_texture" label "Texture" type image default { "" } hidewhen "{ opaccolor_useTexture == 0 }" parmtag { "ogl_opacitymap" "1" } parmtag { "parmvop" "1" } parmtag { "shaderparmcontexts" "surface" } } parm { name "opaccolor_textureWrap" label "Wrap" type string default { "repeat" } hidewhen "{ opaccolor_useTexture == 0 }" menu { "repeat" "Repeat" "streak" "Streak" "decal" "Decal" } parmtag { "parmvop" "1" } parmtag { "shaderparmcontexts" "surface" } } parm { name "opaccolor_textureIntensity" label "Tint Intensity" type float default { "1" } hidewhen "{ opaccolor_useTexture == 0 }" range { 0 2 } parmtag { "parmvop" "1" } parmtag { "shaderparmcontexts" "surface" } } parm { name "opaccolor_textureColorSpace" label "Source Color Space" type string default { "repeat" } hidewhen "{ opaccolor_useTexture == 0 }" menu { "auto" "Automatic" "linear" "Linear" } parmtag { "parmvop" "1" } parmtag { "shaderparmcontexts" "surface" } } } groupsimple { name "folder18" label "Occlusion" parm { name "occlusion_useTexture" label "Use Texture" type toggle default { "off" } parmtag { "ogl_use_occlusionmap" "1" } parmtag { "parmvop" "1" } parmtag { "shaderparmcontexts" "surface" } } parm { name "occlusion_texture" label "Texture" type image default { "" } hidewhen "{ occlusion_useTexture == 0 }" parmtag { "ogl_occlusionmap" "1" } parmtag { "parmvop" "1" } parmtag { "shaderparmcontexts" "surface" } } parm { name "occlusion_textureWrap" label "Wrap" type string default { "repeat" } hidewhen "{ occlusion_useTexture == 0 }" menu { "repeat" "Repeat" "streak" "Streak" "decal" "Decal" } parmtag { "ogl_tex_vwrap1" "1" } parmtag { "ogl_tex_wrap1" "1" } parmtag { "parmvop" "1" } parmtag { "shaderparmcontexts" "surface" } } parm { name "occlusion_textureIntensity" label "Tint Intensity" type float default { "1" } hidewhen "{ occlusion_useTexture == 0 }" range { 0 2 } parmtag { "parmvop" "1" } parmtag { "shaderparmcontexts" "surface" } } parm { name "occlusion_textureColorSpace" label "Source Color Space" type string default { "auto" } hidewhen "{ occlusion_useTexture == 0 }" menu { "auto" "Automatic" "linear" "Linear" } parmtag { "parmvop" "1" } parmtag { "shaderparmcontexts" "surface" } } } groupsimple { name "folder235" label "Sampling" grouptag { "group_type" "simple" } parm { name "surface_textureFilter" label "Filter" type string default { "catrom" } menu { "box" "Box" "gauss" "Gaussian" "bartlett" "Bartlett/Triangular" "sinc" "Sinc Sharpening" "hanning" "Hanning" "blackman" "Blackman" "catrom" "Catmull-Rom" "mitchell" "Mitchell" } parmtag { "parmvop" "1" } parmtag { "shaderparmcontexts" "surface" } } parm { name "surface_textureFilterWidth" label "Filter Width" type float default { "1" } range { 0 5 } parmtag { "parmvop" "1" } parmtag { "shaderparmcontexts" "surface" } } } } group { name "diffuse_folder_15_3" label "Bump & Normals" parm { name "roundedEdge_enable" label "roundedEdge_enable" type toggle nolabel joinnext default { "off" } parmtag { "parmvop" "1" } parmtag { "shaderparmcontexts" "surface" } } parm { name "roundedEdge_radius" label "Round Edge Radius" type float joinnext default { "0.01" } disablewhen "{ roundedEdge_enable == 0 }" range { 0 0.1 } parmtag { "parmvop" "1" } parmtag { "shaderparmcontexts" "surface" } } parm { name "roundedEdge_mode" label "Round Edge Mode" type integer nolabel default { "0" } help "Edge types to smooth." disablewhen "{ roundedEdge_enable == 0 }" menu { "both" "Concave and Convex Edges" "concave" "Concave Edges" "convex" "Convex Edges" } range { 0 10 } parmtag { "parmvop" "1" } parmtag { "shaderparmcontexts" "surface" } } group { name "shading_16" label "Base" parm { name "baseBumpAndNormal_enable" label "Enable" type toggle default { "off" } parmtag { "parmvop" "1" } parmtag { "shaderparmcontexts" "surface" } } parm { name "baseBumpAndNormal_type" label "Texture Type" type string default { "normal" } disablewhen "{ baseBumpAndNormal_enable == 0 }" menu { "bump" "Bump" "normal" "Normal" } parmtag { "parmvop" "1" } parmtag { "shaderparmcontexts" "surface" } } parm { name "baseBump_colorSpace" label "Texture Color Space" type string default { "linear" } disablewhen "{ baseBumpAndNormal_enable == 0 }" hidewhen "{ baseBumpAndNormal_type != bump }" menu { "auto" "Automatic" "linear" "Linear" } parmtag { "parmvop" "1" } parmtag { "shaderparmcontexts" "surface" } } parm { name "baseBump_bumpScale" label "Effect Scale" type float default { "0.05" } disablewhen "{ baseBumpAndNormal_enable == 0 }" hidewhen "{ baseBumpAndNormal_type != bump }" range { 0 0.5 } parmtag { "ogl_bumpscale" "1" } parmtag { "parmvop" "1" } parmtag { "shaderparmcontexts" "surface" } } parm { name "baseBump_bumpTexture" label "Texture Path" type image default { "" } disablewhen "{ baseBumpAndNormal_enable == 0 }" hidewhen "{ baseBumpAndNormal_type != bump }" parmtag { "parmvop" "1" } parmtag { "shaderparmcontexts" "surface" } } parm { name "baseBump_wrap" label "Wrap" type string joinnext default { "repeat" } disablewhen "{ baseBumpAndNormal_enable == 0 }" hidewhen "{ baseBumpAndNormal_type != bump }" menu { "repeat" "Repeat" "streak" "Streak" "decal" "Decal" } parmtag { "parmvop" "1" } parmtag { "shaderparmcontexts" "surface" } } parm { name "baseBump_filter" label "Filter" type string joinnext default { "gauss" } disablewhen "{ baseBumpAndNormal_enable == 0 }" hidewhen "{ baseBumpAndNormal_type != bump }" menu { "box" "Box" "gauss" "Gaussian" "bartlett" "Bartlett/Triangular" "sinc" "Sinc Sharpening" "hanning" "Hanning" "blackman" "Blackman" "catrom" "Catmull-Rom" "mitchell" "Mitchell" } parmtag { "parmvop" "1" } parmtag { "shaderparmcontexts" "surface" } } parm { name "baseBump_filterWidth" label "Filter Width" type float default { "1" } disablewhen "{ baseBumpAndNormal_enable == 0 }" hidewhen "{ baseBumpAndNormal_type != bump }" range { 0 2 } parmtag { "parmvop" "1" } parmtag { "shaderparmcontexts" "surface" } } parm { name "baseBump_channel" label "Channel" type integer default { "0" } disablewhen "{ baseBumpAndNormal_enable == 0 }" hidewhen "{ baseBumpAndNormal_type != bump }" menu { "0" "Luminance" "1" "Red" "2" "Green" "3" "Blue" } range { 0 10 } parmtag { "parmvop" "1" } parmtag { "shaderparmcontexts" "surface" } } parm { name "baseBump_imagePlane" label "Image Plane" type string default { "" } disablewhen "{ baseBumpAndNormal_enable == 0 }" hidewhen "{ baseBumpAndNormal_type != bump }" parmtag { "parmvop" "1" } parmtag { "shaderparmcontexts" "surface" } } parm { name "baseNormal_colorspace" label "Texture Color Space" type string default { "linear" } disablewhen "{ baseBumpAndNormal_enable == 0 }" hidewhen "{ baseBumpAndNormal_type != normal }" menu { "auto" "Automatic" "linear" "Linear" } parmtag { "parmvop" "1" } parmtag { "shaderparmcontexts" "surface" } } parm { name "baseNormal_vectorSpace" label "Vector Space" type string default { "uvtangent" } disablewhen "{ baseBumpAndNormal_enable == 0 }" hidewhen "{ baseBumpAndNormal_type != normal }" menu { "uvtangent" "UV Tangent Space" "object" "Object Space" "world" "World Space" } parmtag { "ogl_normalmap_type" "1" } parmtag { "parmvop" "1" } parmtag { "shaderparmcontexts" "surface" } } parm { name "baseNormal_scale" label "Effect Scale" type float default { "1" } disablewhen "{ baseBumpAndNormal_enable == 0 }" hidewhen "{ baseBumpAndNormal_type != normal }" range { 0 1 } parmtag { "parmvop" "1" } parmtag { "shaderparmcontexts" "surface" } } parm { name "baseNormal_texture" label "Texture Path" type image default { "" } disablewhen "{ baseBumpAndNormal_enable == 0 }" hidewhen "{ baseBumpAndNormal_type != normal }" parmtag { "ogl_normalmap" "1" } parmtag { "parmvop" "1" } parmtag { "shaderparmcontexts" "surface" } } parm { name "baseNormal_wrap" label "Wrap" type string joinnext default { "repeat" } disablewhen "{ baseBumpAndNormal_enable == 0 }" hidewhen "{ baseBumpAndNormal_type != normal }" menu { "repeat" "Repeat" "streak" "Streak" "decal" "Decal" } parmtag { "parmvop" "1" } parmtag { "shaderparmcontexts" "surface" } } parm { name "baseNormal_filter" label "Filter" type string joinnext default { "gauss" } disablewhen "{ baseBumpAndNormal_enable == 0 }" hidewhen "{ baseBumpAndNormal_type != normal }" menu { "box" "Box" "gauss" "Gaussian" "bartlett" "Bartlett/Triangular" "sinc" "Sinc Sharpening" "hanning" "Hanning" "blackman" "Blackman" "catrom" "Catmull-Rom" "mitchell" "Mitchell" } parmtag { "parmvop" "1" } parmtag { "shaderparmcontexts" "surface" } } parm { name "baseNormal_filterWidth" label "Filter Width" type float default { "1" } disablewhen "{ baseBumpAndNormal_enable == 0 }" hidewhen "{ baseBumpAndNormal_type != normal }" range { 0 2 } parmtag { "parmvop" "1" } parmtag { "shaderparmcontexts" "surface" } } parm { name "baseNormal_channel" label "Channel" type integer default { "0" } disablewhen "{ baseBumpAndNormal_enable == 0 }" hidewhen "{ baseBumpAndNormal_type != normal }" menu { "0" "Luminance" "1" "Red" "2" "Green" "3" "Blue" } range { 0 10 } parmtag { "parmvop" "1" } parmtag { "shaderparmcontexts" "surface" } } parm { name "baseNormal_imagePlane" label "Image Plane" type string default { "" } disablewhen "{ baseBumpAndNormal_enable == 0 }" hidewhen "{ baseBumpAndNormal_type != normal }" parmtag { "parmvop" "1" } parmtag { "shaderparmcontexts" "surface" } } parm { name "baseNormal_space" label "Normal Space" type integer default { "0" } disablewhen "{ baseBumpAndNormal_enable == 0 }" hidewhen "{ baseBumpAndNormal_type != normal }" menu { "0" "0 to 1" "1" "-1 to 1" } range { 0 10 } parmtag { "ogl_normalbias" "1" } parmtag { "parmvop" "1" } parmtag { "shaderparmcontexts" "surface" } } parm { name "baseNormal_flipX" label "Flip X" type toggle default { "off" } disablewhen "{ baseBumpAndNormal_enable == 0 }" hidewhen "{ baseBumpAndNormal_type != normal }" parmtag { "ogl_normalflipx" "1" } parmtag { "parmvop" "1" } parmtag { "shaderparmcontexts" "surface" } } parm { name "baseNormal_flipY" label "Flip Y" type toggle default { "off" } disablewhen "{ baseBumpAndNormal_enable == 0 }" hidewhen "{ baseBumpAndNormal_type != normal }" parmtag { "ogl_normalflipy" "1" } parmtag { "parmvop" "1" } parmtag { "shaderparmcontexts" "surface" } } parm { name "baseBump_useTexture" label "OpenGL Use Bump Texture" type toggle invisible default { [ "ch(\"baseBumpAndNormal_enable\") && strcmp(chs(\"baseBumpAndNormal_type\"), \"bump\") == 0" hscript-expr ] } parmtag { "ogl_use_bumpmap" "1" } } parm { name "baseNormal_useTexture" label "OpenGL Use Normal Texture" type toggle invisible default { [ "ch(\"baseBumpAndNormal_enable\") && strcmp(chs(\"baseBumpAndNormal_type\"), \"normal\") == 0" hscript-expr ] } parmtag { "ogl_use_normalmap" "1" } } } group { name "shading_16_1" label "Coat" parm { name "separateCoatNormals" label "Separate Coat Normals" type toggle default { "off" } parmtag { "parmvop" "1" } parmtag { "shaderparmcontexts" "surface" } } parm { name "coatBumpAndNormal_enable" label "Enable" type toggle default { "on" } disablewhen "{ separateCoatNormals == 0 }" parmtag { "parmvop" "1" } parmtag { "shaderparmcontexts" "surface" } } parm { name "coatBumpAndNormal_type" label "Texture Type" type string default { "normal" } disablewhen "{ coatBumpAndNormal_enable == 0 } { separateCoatNormals == 0 }" menu { "bump" "Bump" "normal" "Normal" } parmtag { "parmvop" "1" } parmtag { "shaderparmcontexts" "surface" } } parm { name "coatBump_colorSpace" label "Texture Color Space" type string default { "linear" } disablewhen "{ coatBumpAndNormal_enable == 0 } { separateCoatNormals == 0 }" hidewhen "{ coatBumpAndNormal_type != bump }" menu { "auto" "Automatic" "linear" "Linear" } parmtag { "parmvop" "1" } parmtag { "shaderparmcontexts" "surface" } } parm { name "coatBump_bumpScale" label "Effect Scale" type float default { "0.05" } disablewhen "{ coatBumpAndNormal_enable == 0 } { separateCoatNormals == 0 }" hidewhen "{ coatBumpAndNormal_type != bump }" range { 0 0.5 } parmtag { "parmvop" "1" } parmtag { "shaderparmcontexts" "surface" } } parm { name "coatBump_bumpTexture" label "Texture Path" type image default { "" } disablewhen "{ coatBumpAndNormal_enable == 0 } { separateCoatNormals == 0 }" hidewhen "{ coatBumpAndNormal_type != bump }" parmtag { "parmvop" "1" } parmtag { "shaderparmcontexts" "surface" } } parm { name "coatBump_wrap" label "Wrap" type string joinnext default { "repeat" } disablewhen "{ coatBumpAndNormal_enable == 0 } { separateCoatNormals == 0 }" hidewhen "{ coatBumpAndNormal_type != bump }" menu { "repeat" "Repeat" "streak" "Streak" "decal" "Decal" } parmtag { "parmvop" "1" } parmtag { "shaderparmcontexts" "surface" } } parm { name "coatBump_filter" label "Filter" type string joinnext default { "gauss" } disablewhen "{ coatBumpAndNormal_enable == 0 } { separateCoatNormals == 0 }" hidewhen "{ coatBumpAndNormal_type != bump }" menu { "box" "Box" "gauss" "Gaussian" "bartlett" "Bartlett/Triangular" "sinc" "Sinc Sharpening" "hanning" "Hanning" "blackman" "Blackman" "catrom" "Catmull-Rom" "mitchell" "Mitchell" } parmtag { "parmvop" "1" } parmtag { "shaderparmcontexts" "surface" } } parm { name "coatBump_filterWidth" label "Filter Width" type float default { "1" } disablewhen "{ coatBumpAndNormal_enable == 0 } { separateCoatNormals == 0 }" hidewhen "{ coatBumpAndNormal_type != bump }" range { 0 2 } parmtag { "parmvop" "1" } parmtag { "shaderparmcontexts" "surface" } } parm { name "coatBump_channel" label "Channel" type integer default { "0" } disablewhen "{ coatBumpAndNormal_enable == 0 } { separateCoatNormals == 0 }" hidewhen "{ coatBumpAndNormal_type != bump }" menu { "0" "Luminance" "1" "Red" "2" "Green" "3" "Blue" } range { 0 10 } parmtag { "parmvop" "1" } parmtag { "shaderparmcontexts" "surface" } } parm { name "coatBump_imagePlane" label "Image Plane" type string default { "" } disablewhen "{ coatBumpAndNormal_enable == 0 } { separateCoatNormals == 0 }" hidewhen "{ coatBumpAndNormal_type != bump }" parmtag { "parmvop" "1" } parmtag { "shaderparmcontexts" "surface" } } parm { name "coatNormal_colorspace" label "Texture Color Space" type string default { "linear" } disablewhen "{ coatBumpAndNormal_enable == 0 } { separateCoatNormals == 0 }" hidewhen "{ coatBumpAndNormal_type != normal }" menu { "auto" "Automatic" "linear" "Linear" } parmtag { "parmvop" "1" } parmtag { "shaderparmcontexts" "surface" } } parm { name "coatNormal_vectorSpace" label "Vector Space" type string default { "uvtangent" } disablewhen "{ coatBumpAndNormal_enable == 0 } { separateCoatNormals == 0 }" hidewhen "{ coatBumpAndNormal_type != normal }" menu { "uvtangent" "UV Tangent Space" "object" "Object Space" "world" "World Space" } parmtag { "parmvop" "1" } parmtag { "shaderparmcontexts" "surface" } } parm { name "coatNormal_scale" label "Effect Scale" type float default { "1" } disablewhen "{ coatBumpAndNormal_enable == 0 } { separateCoatNormals == 0 }" hidewhen "{ coatBumpAndNormal_type != normal }" range { 0 1 } parmtag { "parmvop" "1" } parmtag { "shaderparmcontexts" "surface" } } parm { name "coatNormal_texture" label "Texture Path" type image default { "" } disablewhen "{ coatBumpAndNormal_enable == 0 } { separateCoatNormals == 0 }" hidewhen "{ coatBumpAndNormal_type != normal }" parmtag { "parmvop" "1" } parmtag { "shaderparmcontexts" "surface" } } parm { name "coatNormal_wrap" label "Wrap" type string joinnext default { "repeat" } disablewhen "{ coatBumpAndNormal_enable == 0 } { separateCoatNormals == 0 }" hidewhen "{ coatBumpAndNormal_type != normal }" menu { "repeat" "Repeat" "streak" "Streak" "decal" "Decal" } parmtag { "parmvop" "1" } parmtag { "shaderparmcontexts" "surface" } } parm { name "coatNormal_filter" label "Filter" type string joinnext default { "gauss" } disablewhen "{ coatBumpAndNormal_enable == 0 } { separateCoatNormals == 0 }" hidewhen "{ coatBumpAndNormal_type != normal }" menu { "box" "Box" "gauss" "Gaussian" "bartlett" "Bartlett/Triangular" "sinc" "Sinc Sharpening" "hanning" "Hanning" "blackman" "Blackman" "catrom" "Catmull-Rom" "mitchell" "Mitchell" } parmtag { "parmvop" "1" } parmtag { "shaderparmcontexts" "surface" } } parm { name "coatNormal_filterWidth" label "Filter Width" type float default { "1" } disablewhen "{ coatBumpAndNormal_enable == 0 } { separateCoatNormals == 0 }" hidewhen "{ coatBumpAndNormal_type != normal }" range { 0 2 } parmtag { "parmvop" "1" } parmtag { "shaderparmcontexts" "surface" } } parm { name "coatNormal_channel" label "Channel" type integer default { "0" } disablewhen "{ coatBumpAndNormal_enable == 0 } { separateCoatNormals == 0 }" hidewhen "{ coatBumpAndNormal_type != normal }" menu { "0" "Luminance" "1" "Red" "2" "Green" "3" "Blue" } range { 0 10 } parmtag { "parmvop" "1" } parmtag { "shaderparmcontexts" "surface" } } parm { name "coatNormal_imagePlane" label "Image Plane" type string default { "" } disablewhen "{ coatBumpAndNormal_enable == 0 } { separateCoatNormals == 0 }" hidewhen "{ coatBumpAndNormal_type != normal }" parmtag { "parmvop" "1" } parmtag { "shaderparmcontexts" "surface" } } parm { name "coatNormal_space" label "Normal Space" type integer default { "0" } disablewhen "{ coatBumpAndNormal_enable == 0 } { separateCoatNormals == 0 }" hidewhen "{ coatBumpAndNormal_type != normal }" menu { "0" "0 to 1" "1" "-1 to 1" } range { 0 10 } parmtag { "parmvop" "1" } parmtag { "shaderparmcontexts" "surface" } } parm { name "coatNormal_flipX" label "Flip X" type toggle default { "off" } disablewhen "{ coatBumpAndNormal_enable == 0 } { separateCoatNormals == 0 }" hidewhen "{ coatBumpAndNormal_type != normal }" parmtag { "parmvop" "1" } parmtag { "shaderparmcontexts" "surface" } } parm { name "coatNormal_flipY" label "Flip Y" type toggle default { "off" } disablewhen "{ coatBumpAndNormal_enable == 0 } { separateCoatNormals == 0 }" hidewhen "{ coatBumpAndNormal_type != normal }" parmtag { "parmvop" "1" } parmtag { "shaderparmcontexts" "surface" } } } } group { name "diffuse_folder_15_4" label "Displacement" parm { name "shop_disable_displace_shader" label "Disable Displace Shader" type toggle invisible default { [ "!ch(\"dispInput_enable\") && !ch(\"dispTex_enable\") && !ch(\"dispNoise_enable\")" hscript-expr ] } help "None" parmtag { "spare_category" "Shaders" } } groupsimple { name "folder236" label "General" grouptag { "group_type" "simple" } parm { name "vm_displacebound" label "Displacement Bound" type float default { [ "1.01*ch(\"dispInput_enable\")*ch(\"dispInput_max\") + ch(\"dispTex_enable\")*max(abs((1.0+ch(\"dispTex_offset\"))*ch(\"dispTex_scale\")), abs(ch(\"dispTex_offset\")*ch(\"dispTex_scale\"))) + ch(\"dispNoise_enable\")*abs(ch(\"dispNoise_amp\"))" hscript-expr ] } disablewhen "{ enableDispMap == 0 enableNoise == 0 }" range { 0 10 } parmtag { "parmvop" "1" } parmtag { "shaderparmcontexts" "" } } parm { name "vm_truedisplace" label "True Displacements" type toggle default { [ "on" hscript-expr ] } disablewhen "{ enableDispMap == 0 enableNoise == 0 }" parmtag { "parmvop" "1" } parmtag { "shaderparmcontexts" "" } } parm { name "vm_bumpraydisplace" label "Add Bump To Ray Traced Displacements" type toggle default { "1" } help "None" disablewhen "{ vm_truedisplace == 0 }" parmtag { "mantra_class" "object" } parmtag { "mantra_name" "bumpraydisplace" } parmtag { "spare_category" "Shading" } } } groupsimple { name "folder10" label "Custom Input" parm { name "dispInput_enable" label "Enable Input Displacement" type toggle default { "off" } parmtag { "parmvop" "1" } parmtag { "shaderparmcontexts" "displace" } } parm { name "dispInput_max" label "Maximum Displacement" type float default { "1" } hidewhen "{ dispInput_enable == 0 }" range { 0 10 } parmtag { "parmvop" "1" } parmtag { "shaderparmcontexts" "" } } parm { name "dispInput_vectorspace" label "Vector Space" type string default { "uvtangent" } hidewhen "{ dispInput_enable == 0 }" menu { "uvtangent" "UV Tangent Space" "object" "Object Space" "world" "World Space" } parmtag { "parmvop" "1" } parmtag { "shaderparmcontexts" "displace" } } } groupsimple { name "folder237" label "Texture" hidewhentab "{ enableDispMap == 0 }" grouptag { "group_type" "simple" } parm { name "dispTex_enable" label "Enable Texture Displacement" type toggle default { "off" } parmtag { "ogl_use_displacemap" "1" } parmtag { "parmvop" "1" } parmtag { "shaderparmcontexts" "displace" } } parm { name "dispTex_type" label "Texture Type" type string default { "disp" } hidewhen "{ dispTex_enable == 0 }" menu { "disp" "Displacement Along Normal" "vectordisp" "Vector Displacement" } parmtag { "parmvop" "1" } parmtag { "shaderparmcontexts" "displace" } } parm { name "dispTex_colorSpace" label "Texture Color Space" type string default { "linear" } hidewhen "{ dispTex_enable == 0 }" menu { "auto" "Automatic" "linear" "Linear" } parmtag { "parmvop" "1" } parmtag { "shaderparmcontexts" "displace" } } parm { name "dispTex_vectorSpace" label "Vector Space" type string default { "uvtangent" } hidewhen "{ dispTex_enable == 0 } { dispTex_type != normal dispTex_type != vectordisp }" menu { "uvtangent" "UV Tangent Space" "object" "Object Space" "world" "World Space" } parmtag { "ogl_displace_space" "1" } parmtag { "parmvop" "1" } parmtag { "shaderparmcontexts" "displace" } } parm { name "dispTex_channelOrder" label "Channel Order" type string default { "xyz" } hidewhen "{ dispTex_enable == 0 } { dispTex_type != vectordisp }" menu { "xyz" "XYZ" "xzy" "XZY" } parmtag { "ogl_displace_up" "1" } parmtag { "parmvop" "1" } parmtag { "shaderparmcontexts" "displace" } } parm { name "dispTex_offset" label "Offset" type float default { "-0.5" } hidewhen "{ dispTex_enable == 0 } { dispTex_type != bump dispTex_type != disp }" range { -1 0 } parmtag { "ogl_displaceoffset" "1" } parmtag { "parmvop" "1" } parmtag { "shaderparmcontexts" "displace" } } parm { name "dispTex_scale" label "Effect Scale" type float default { "0.05" } hidewhen "{ dispTex_enable == 0 }" range { 0 1 } parmtag { "ogl_displacescale" "1" } parmtag { "parmvop" "1" } parmtag { "shaderparmcontexts" "displace" } } parm { name "dispTex_texture" label "Texture Path" type image default { "" } hidewhen "{ dispTex_enable == 0 }" parmtag { "ogl_displacemap" "1" } parmtag { "parmvop" "1" } parmtag { "shaderparmcontexts" "displace" } } parm { name "dispTex_channel" label "Channel" type integer joinnext default { "0" } hidewhen "{ dispTex_enable == 0 } { dispTex_type != bump dispTex_type != disp }" menu { "0" "Luminance" "1" "Red" "2" "Green" "3" "Blue" } range { 0 10 } parmtag { "parmvop" "1" } parmtag { "shaderparmcontexts" "displace" } } parm { name "dispTex_wrap" label "Wrap" type string joinnext default { "repeat" } hidewhen "{ dispTex_enable == 0 }" menu { "repeat" "Repeat" "streak" "Streak" "decal" "Decal" } parmtag { "parmvop" "1" } parmtag { "shaderparmcontexts" "displace" } } parm { name "dispTex_filter" label "Filter" type string default { "gauss" } hidewhen "{ dispTex_enable == 0 }" menu { "box" "Box" "gauss" "Gaussian" "bartlett" "Bartlett/Triangular" "sinc" "Sinc Sharpening" "hanning" "Hanning" "blackman" "Blackman" "catrom" "Catmull-Rom" "mitchell" "Mitchell" } parmtag { "parmvop" "1" } parmtag { "shaderparmcontexts" "displace" } } parm { name "dispTex_filterWidth" label "Filter Width" type float default { "1" } hidewhen "{ dispTex_enable == 0 }" range { 0 2 } parmtag { "parmvop" "1" } parmtag { "shaderparmcontexts" "displace" } } } groupsimple { name "folder238" label "Noise" hidewhentab "{ enableNoise == 0 }" grouptag { "group_type" "simple" } parm { name "dispNoise_enable" label "Enable Noise Displacement" type toggle default { "off" } parmtag { "parmvop" "1" } parmtag { "shaderparmcontexts" "displace" } } parm { name "dispNoise_type" label "Noise Type" type string default { "xnoise" } disablewhen "{ enableNoise == 0 }" hidewhen "{ dispNoise_enable == 0 }" menu { "pnoise" "Perlin Noise" "onoise" "Original Perlin Noise" "xnoise" "Simplex Noise" "snoise" "Sparse Convolution Noise" "anoise" "Alligator Noise" } parmtag { "parmvop" "1" } parmtag { "shaderparmcontexts" "displace" } } parm { name "dispNoise_freq" label "Frequency" type float size 3 default { "10" "10" "10" } disablewhen "{ enableNoise == 0 }" hidewhen "{ dispNoise_enable == 0 }" range { 0 10 } parmtag { "parmvop" "1" } parmtag { "shaderparmcontexts" "displace" } } parm { name "dispNoise_offset" label "Offset" type float size 3 default { "0" "0" "0" } disablewhen "{ enableNoise == 0 }" hidewhen "{ dispNoise_enable == 0 }" range { 0 10 } parmtag { "parmvop" "1" } parmtag { "shaderparmcontexts" "displace" } } parm { name "dispNoise_amp" label "Amplitude" type float default { "1" } disablewhen "{ enableNoise == 0 }" hidewhen "{ dispNoise_enable == 0 }" range { -1 1 } parmtag { "parmvop" "1" } parmtag { "shaderparmcontexts" "displace" } } parm { name "dispNoise_rough" label "Roughness" type float default { "0.5" } disablewhen "{ enableNoise == 0 }" hidewhen "{ dispNoise_enable == 0 }" range { 0 1 } parmtag { "parmvop" "1" } parmtag { "shaderparmcontexts" "displace" } } parm { name "dispNoise_atten" label "Attenuation" type float default { "1" } disablewhen "{ enableNoise == 0 }" hidewhen "{ dispNoise_enable == 0 }" range { 0 1 } parmtag { "parmvop" "1" } parmtag { "shaderparmcontexts" "displace" } } parm { name "dispNoise_turb" label "Turbulence" type integer default { "5" } disablewhen "{ enableNoise == 0 }" hidewhen "{ dispNoise_enable == 0 }" range { 0 10 } parmtag { "parmvop" "1" } parmtag { "shaderparmcontexts" "displace" } } } } group { name "diffuse_folder_15_5" label "Settings" groupsimple { name "folder239" label "Component Labels" grouptag { "group_type" "simple" } parm { name "difflabel" label "Diffuse" type string default { "diffuse" } parmtag { "parmvop" "1" } parmtag { "shaderparmcontexts" "surface" } } parm { name "refllabel" label "Reflection" type string default { "reflect" } parmtag { "parmvop" "1" } parmtag { "shaderparmcontexts" "surface" } } parm { name "refractlabel" label "Refraction" type string default { "refract" } parmtag { "parmvop" "1" } parmtag { "shaderparmcontexts" "surface" } } parm { name "coatlabel" label "Coat Reflection" type string default { "coat" } parmtag { "parmvop" "1" } parmtag { "shaderparmcontexts" "surface" } } parm { name "ssslabel" label "Subsurface" type string default { "sss" } parmtag { "parmvop" "1" } parmtag { "shaderparmcontexts" "surface" } } } groupsimple { name "folder0" label "UV" parm { name "uvtrans" label "Translate" type float size 2 default { "0" "0" } range { 0 10 } parmtag { "ogl_bump_uvtranslate" "1" } parmtag { "ogl_coat_intensity_uvtranslate" "1" } parmtag { "ogl_coat_roughness_uvtranslate" "1" } parmtag { "ogl_displace_uvtranslate" "1" } parmtag { "ogl_emission_uvtranslate" "1" } parmtag { "ogl_metallic_uvtranslate" "1" } parmtag { "ogl_normal_uvtranslate" "1" } parmtag { "ogl_occlusion_uvtranslate" "1" } parmtag { "ogl_opacity_uvtranslate" "1" } parmtag { "ogl_reflect_uvtranslate" "1" } parmtag { "ogl_rough_uvtranslate" "1" } parmtag { "ogl_spec_uvtranslate" "1" } parmtag { "ogl_tex_uvtranslate1" "1" } parmtag { "parmvop" "1" } parmtag { "shaderparmcontexts" "surface displace" } } parm { name "uvrot" label "Rotate" type float default { "0" } range { 0 360 } parmtag { "ogl_bump_uvrotate" "1" } parmtag { "ogl_coat_intensity_uvrotate" "1" } parmtag { "ogl_coat_roughness_uvrotate" "1" } parmtag { "ogl_displace_uvrotate" "1" } parmtag { "ogl_emission_uvrotate" "1" } parmtag { "ogl_metallic_uvrotate" "1" } parmtag { "ogl_normal_uvrotate" "1" } parmtag { "ogl_occlusion_uvrotate" "1" } parmtag { "ogl_opacity_uvrotate" "1" } parmtag { "ogl_reflect_uvrotate" "1" } parmtag { "ogl_rough_uvrotate" "1" } parmtag { "ogl_spec_uvrotate" "1" } parmtag { "ogl_tex_uvrotate1" "1" } parmtag { "parmvop" "1" } parmtag { "shaderparmcontexts" "surface displace" } } parm { name "uvscale" label "Scale" type float size 2 default { "1" "1" } range { 0 10 } parmtag { "ogl_bump_uvscale" "1" } parmtag { "ogl_coat_intensity_uvscale" "1" } parmtag { "ogl_coat_roughness_uvscale" "1" } parmtag { "ogl_displace_uvscale" "1" } parmtag { "ogl_emission_uvscale" "1" } parmtag { "ogl_metallic_uvscale" "1" } parmtag { "ogl_normal_uvscale" "1" } parmtag { "ogl_occlusion_uvscale" "1" } parmtag { "ogl_opacity_uvscale" "1" } parmtag { "ogl_reflect_uvscale" "1" } parmtag { "ogl_rough_uvscale" "1" } parmtag { "ogl_spec_uvscale" "1" } parmtag { "ogl_tex_uvscale1" "1" } parmtag { "parmvop" "1" } parmtag { "shaderparmcontexts" "surface displace" } } } } parm { name "Cd" label "Attribute Color" type color invisible size 3 default { "1" "1" "1" } range { 0 1 } parmtag { "parmvop" "1" } parmtag { "shaderparmcontexts" "surface" } } parm { name "Alpha" label "Attribute Alpha" type float invisible default { "1" } range { 0 1 } parmtag { "parmvop" "1" } parmtag { "shaderparmcontexts" "surface" } } parm { name "layer" label "layer" type label invisible default { "" } parmtag { "parmvop" "1" } parmtag { "shaderparmcontexts" "surface displace" } } parm { name "direct" label "direct" type float invisible size 3 default { "0" "0" "0" } range { 0 10 } parmtag { "parmvop" "1" } parmtag { "shaderparmcontexts" "surface" } } parm { name "indirect" label "indirect" type float invisible size 3 default { "0" "0" "0" } range { 0 10 } parmtag { "parmvop" "1" } parmtag { "shaderparmcontexts" "surface" } } parm { name "Ce" label "Ce" type float invisible size 3 default { "0" "0" "0" } range { 0 10 } parmtag { "parmvop" "1" } parmtag { "shaderparmcontexts" "surface" } } parm { name "direct_emission" label "direct_emission" type float invisible size 3 default { "0" "0" "0" } range { 0 10 } parmtag { "parmvop" "1" } parmtag { "shaderparmcontexts" "surface" } } parm { name "all_emission" label "all_emission" type float invisible size 3 default { "0" "0" "0" } range { 0 10 } parmtag { "parmvop" "1" } parmtag { "shaderparmcontexts" "surface" } } parm { name "all" label "all" type float invisible size 3 default { "0" "0" "0" } range { 0 10 } parmtag { "parmvop" "1" } parmtag { "shaderparmcontexts" "surface" } } parm { name "indirect_emission" label "indirect_emission" type float invisible size 3 default { "0" "0" "0" } range { 0 10 } parmtag { "parmvop" "1" } parmtag { "shaderparmcontexts" "surface" } } parm { name "direct_comp" label "direct_comp" type label invisible default { "" } parmtag { "parmvop" "1" } parmtag { "shaderparmcontexts" "surface" } } parm { name "indirect_comp" label "indirect_comp" type label invisible default { "" } parmtag { "parmvop" "1" } parmtag { "shaderparmcontexts" "surface" } } parm { name "all_comp" label "all_comp" type label invisible default { "" } parmtag { "parmvop" "1" } parmtag { "shaderparmcontexts" "surface" } } parm { name "direct_noshadow" label "direct_noshadow" type float invisible size 3 default { "0" "0" "0" } range { 0 10 } parmtag { "parmvop" "1" } parmtag { "shaderparmcontexts" "surface" } } parm { name "direct_shadow" label "direct_shadow" type float invisible size 3 default { "0" "0" "0" } range { 0 10 } parmtag { "parmvop" "1" } parmtag { "shaderparmcontexts" "surface" } } parm { name "indirect_noshadow" label "indirect_noshadow" type float invisible size 3 default { "0" "0" "0" } range { 0 10 } parmtag { "parmvop" "1" } parmtag { "shaderparmcontexts" "surface" } } parm { name "indirect_shadow" label "indirect_shadow" type float invisible size 3 default { "0" "0" "0" } range { 0 10 } parmtag { "parmvop" "1" } parmtag { "shaderparmcontexts" "surface" } } parm { name "level" label "level" type float invisible default { "0" } range { 0 1 } parmtag { "parmvop" "1" } parmtag { "shaderparmcontexts" "surface" } } parm { name "diffuselevel" label "diffuselevel" type float invisible default { "0" } range { 0 1 } parmtag { "parmvop" "1" } parmtag { "shaderparmcontexts" "surface" } } parm { name "specularlevel" label "specularlevel" type float invisible default { "0" } range { 0 1 } parmtag { "parmvop" "1" } parmtag { "shaderparmcontexts" "surface" } } parm { name "volumelevel" label "volumelevel" type float invisible default { "0" } range { 0 1 } parmtag { "parmvop" "1" } parmtag { "shaderparmcontexts" "surface" } } parm { name "direct_samples" label "direct_samples" type float invisible default { "0" } range { 0 1 } parmtag { "parmvop" "1" } parmtag { "shaderparmcontexts" "surface" } } parm { name "indirect_samples" label "indirect_samples" type float invisible default { "0" } range { 0 1 } parmtag { "parmvop" "1" } parmtag { "shaderparmcontexts" "surface" } } parm { name "nlights" label "nlights" type float invisible default { "0" } range { 0 1 } parmtag { "parmvop" "1" } parmtag { "shaderparmcontexts" "surface" } } parm { name "direct_noshadow_comp" label "direct_noshadow_comp" type label invisible default { "" } parmtag { "parmvop" "1" } parmtag { "shaderparmcontexts" "surface" } } parm { name "indirect_noshadow_comp" label "indirect_noshadow_comp" type label invisible default { "" } parmtag { "parmvop" "1" } parmtag { "shaderparmcontexts" "surface" } } parm { name "nddispersion" label "nddispersion" type float invisible default { "0" } range { 0 1 } parmtag { "parmvop" "1" } parmtag { "shaderparmcontexts" "surface" } } parm { name "ndpriority" label "ndpriority" type float invisible default { "0" } range { 0 1 } parmtag { "parmvop" "1" } parmtag { "shaderparmcontexts" "surface" } } parm { name "ndior" label "ndior" type float invisible default { "0" } range { 0 1 } parmtag { "parmvop" "1" } parmtag { "shaderparmcontexts" "surface" } } parm { name "absorption" label "absorption" type float invisible size 3 default { "0" "0" "0" } range { 0 10 } parmtag { "parmvop" "1" } parmtag { "shaderparmcontexts" "surface" } } parm { name "Oc" label "Oc" type float invisible size 3 default { "0" "0" "0" } range { 0 10 } parmtag { "parmvop" "1" } parmtag { "shaderparmcontexts" "surface" } } parm { name "Cv" label "Cv" type float invisible size 3 default { "0" "0" "0" } range { 0 10 } parmtag { "parmvop" "1" } parmtag { "shaderparmcontexts" "surface" } } parm { name "Th" label "Th" type float invisible size 3 default { "0" "0" "0" } range { 0 10 } parmtag { "parmvop" "1" } parmtag { "shaderparmcontexts" "surface" } } parm { name "Ab" label "Ab" type float invisible size 3 default { "0" "0" "0" } range { 0 10 } parmtag { "parmvop" "1" } parmtag { "shaderparmcontexts" "surface" } } parm { name "Cu" label "Cu" type float invisible size 3 default { "0" "0" "0" } range { 0 10 } parmtag { "parmvop" "1" } parmtag { "shaderparmcontexts" "surface" } } parm { name "Vd" label "Vd" type float invisible size 3 default { "0" "0" "0" } range { 0 10 } parmtag { "parmvop" "1" } parmtag { "shaderparmcontexts" "surface" } } parm { name "Nt" label "Nt" type float invisible size 3 default { "0" "0" "0" } range { 0 10 } parmtag { "parmvop" "1" } parmtag { "shaderparmcontexts" "surface" } } parm { name "Ds" label "Ds" type float invisible size 3 default { "0" "0" "0" } range { 0 10 } parmtag { "parmvop" "1" } parmtag { "shaderparmcontexts" "surface" } } parm { name "pre_disp_P" label "pre_disp_P" type float invisible size 3 default { "0" "0" "0" } range { 0 10 } parmtag { "parmvop" "1" } parmtag { "shaderparmcontexts" "displace" } } parm { name "pre_disp_utan" label "pre_disp_utan" type float invisible size 3 default { "0" "0" "0" } range { 0 10 } parmtag { "parmvop" "1" } parmtag { "shaderparmcontexts" "displace" } } parm { name "pre_disp_vtan" label "pre_disp_vtan" type float invisible size 3 default { "0" "0" "0" } range { 0 10 } parmtag { "parmvop" "1" } parmtag { "shaderparmcontexts" "displace" } } parm { name "pre_disp_N" label "pre_disp_N" type float invisible size 3 default { "0" "0" "0" } range { 0 10 } parmtag { "parmvop" "1" } parmtag { "shaderparmcontexts" "displace" } } parm { name "disp" label "Normal Displacement" type float invisible default { "0" } range { 0 1 } parmtag { "parmvop" "1" } parmtag { "shaderparmcontexts" "displace" } } parm { name "vdisp" label "Vector Displacement" type float invisible size 3 default { "0" "0" "0" } range { 0 10 } parmtag { "parmvop" "1" } parmtag { "shaderparmcontexts" "displace" } } parm { name "Dt" label "Dt" type float invisible size 3 default { "0" "0" "0" } range { 0 10 } parmtag { "parmvop" "1" } parmtag { "shaderparmcontexts" "surface" } } parm { name "Vdt" label "Vdt" type float invisible size 3 default { "0" "0" "0" } range { 0 10 } parmtag { "parmvop" "1" } parmtag { "shaderparmcontexts" "surface" } } parm { name "baseN" label "baseN" type float invisible size 3 default { "0" "0" "0" } range { 0 10 } parmtag { "parmvop" "1" } parmtag { "shaderparmcontexts" "surface" } } parm { name "coatN" label "coatN" type float invisible size 3 default { "0" "0" "0" } range { 0 10 } parmtag { "parmvop" "1" } parmtag { "shaderparmcontexts" "surface" } } parm { name "speccolor" label "Specular Color" type color invisible size 3 default { "1" "1" "1" } help "Deprecated Parameter" range { 0 1 } } parm { name "displayColor" label "Attribute Color" type color invisible size 3 default { "1" "1" "1" } range { 0 1 } parmtag { "parmvop" "1" } parmtag { "shaderparmcontexts" "surface" } } parm { name "st" label "st" type float invisible size 2 default { "0" "0" } range { 0 10 } parmtag { "parmvop" "1" } parmtag { "shaderparmcontexts" "surface displace" } } parm { name "displayOpacity" label "Attribute Alpha" type float invisible default { "1" } range { 0 1 } parmtag { "parmvop" "1" } parmtag { "shaderparmcontexts" "surface" } } } INDX DialogScript4aT$/* * 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>aT$/* * 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 { 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 } } INDXContents=b DialogScript=aTHouLC1033600bb60620f09eb0f96ba020LIMITED_COMMERCIAL_FILE!!!# Dialog script for rbdbulletsolver automatically generated { name rbdbulletsolver script gamedev::simple_rbd label "RBD Bullet Solver" help { "" } inputlabel 1 Geometry inputlabel 2 "Constraint Geometry" inputlabel 3 "Proxy Geometry" inputlabel 4 "Collision Geometry" parmtag { inputisref4 1 } inputlabel 5 "Guide Sim" parmtag { inputisref5 1 } outputlabel 1 Geometry outputlabel 2 "Constraint Geometry" outputlabel 3 "Proxy Geometry" outputlabel 4 "Simulation Points" parm { name "resetsim" label "Reset Simulation" type button default { "0" } export all parmtag { "autoscope" "0000000000000000" } } parm { name "startframe" label "Start Frame" type integer default { "1" } range { 1 240 } parmtag { "autoscope" "0000000000000000" } } group { name "folder" label "Solver" parm { name "timescale" label "Time Scale" type float default { "1" } range { 0 10 } parmtag { "autoscope" "0000000000000000" } } parm { name "substeps" label "Substeps" type integer default { "10" } range { 1! 100 } parmtag { "autoscope" "0000000000000000" } } parm { name "numiteration" label "Constraint Iterations" type integer default { "10" } range { 1! 100 } parmtag { "autoscope" "0000000000000000" } } group { name "setupfolder" label "Bullet Object" parm { name "useemission" label "Emit RBDs" type toggle default { "0" } } parm { name "solvefirstframe" label "Solve on Creation Frame" type toggle default { "off" } range { 0 1 } parmtag { "autoscope" "0000000000000000" } } parm { name "doage" label "Age RBDs" type toggle default { "0" } parmtag { "script_callback_language" "python" } } parm { name "doactiveage" label "Add Active Age Attribute" type toggle default { "0" } disablewhen "{ doage == 0 }" parmtag { "script_callback_language" "python" } } parm { name "justactivatedgroup" label "Just Activated Group" type string default { "" } disablewhen "{ doage == 0 } { doactiveage == 0 }" parmtag { "script_callback_language" "python" } } parm { name "overwritefromsop" label "Override Attributes from SOP" type toggle nolabel joinnext default { "1" } } parm { name "overwriteattributes" label "Overwrite Attributes from SOP" type string default { "active animated deforming __pin" } disablewhen "{ overwritefromsop == 0 }" menutoggle { [ "opmenu -l -a dopnet/rbd_object overwriteattributes" ] } range { 0 1 } parmtag { "autoscope" "0000000000000000" } } groupsimple { name "folder3" label "Bullet Data" parm { name "margin" label "Collision Padding" type float default { "0.02" } range { 0! 0.5 } parmtag { "autoscope" "0000000000000000" } } parm { name "bullet_linear_sleep_threshold" label "Linear Threshold" type float default { "0.8" } range { 0! 2 } parmtag { "autoscope" "0000000000000000" } } parm { name "bullet_angular_sleep_threshold" label "Angular Threshold" type float default { "1" } range { 0! 2 } parmtag { "autoscope" "0000000000000000" } } } groupsimple { name "folder4" label "Physical" parm { name "density" label "Density" type float default { "1000" } range { 0! 10 } parmtag { "autoscope" "0000000000000000" } } parm { name "inertialtensorstiffness" label "Rotational Stiffness" type float default { "1" } range { 0 10 } parmtag { "autoscope" "0000000000000000" } } parm { name "bounce" label "Bounce" type float default { "0.25" } range { 0! 1 } parmtag { "autoscope" "0000000000000000" } } parm { name "friction" label "Friction" type float default { "1" } range { 0! 10 } parmtag { "autoscope" "0000000000000000" } } } } group { name "setupfolder_1" label "Collisions" parm { name "usecollisions" label "Use Collisions" type toggle default { "1" } } parm { name "collision_detachfaces" label "Detach Faces" type toggle invisible default { "0" } disablewhen "{ usecollisions == 0 }" } parm { name "collision_solvefirstframe" label "Solve on Creation Frame" type toggle default { "off" } disablewhen "{ usecollisions == 0 }" range { 0 1 } parmtag { "autoscope" "0000000000000000" } } parm { name "collision_overwritefromsop" label "Overwrite Attributes from SOP" type toggle nolabel joinnext default { "off" } disablewhen "{ usecollisions == 0 }" range { 0 1 } parmtag { "autoscope" "0000000000000000" } parmtag { "script_callback_language" "python" } } parm { name "collision_overwriteattributes" label "Overwrite Attributes from SOP" type string default { "active animated deforming" } disablewhen "{ usecollisions == 0 } { collision_overwritefromsop == 0 }" menutoggle { [ "opmenu -l -a dopnet/collision_object overwriteattributes" ] } range { 0 1 } parmtag { "autoscope" "0000000000000000" } parmtag { "script_callback_language" "python" } } groupsimple { name "folder5" label "Bullet Data" disablewhen "{ usecollisions == 0 }" parm { name "collision_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 "collision_initialstate" label "Initial Object Type" type ordinal default { "animatedstatic" } menu { "static" "Create Static Objects" "animatedstatic" "Create Animated Static Objects" "deformingstatic" "Create Deforming Static Objects" } range { 0 1 } parmtag { "autoscope" "0000000000000000" } } parm { name "collision_margin" label "Collision Padding" type float default { "0.02" } disablewhen "{ collision_detachfaces == 1 }" range { 0! 0.5 } parmtag { "autoscope" "0000000000000000" } } } groupsimple { name "folder6" label "Physical" disablewhen "{ usecollisions == 0 }" parm { name "collision_density" label "Density" type float invisible default { "1000" } range { 0! 10 } parmtag { "autoscope" "0000000000000000" } } parm { name "collision_bounce" label "Bounce" type float default { "0.5" } range { 0 1 } parmtag { "autoscope" "0000000000000000" } } parm { name "collision_friction" label "Friction" type float default { "1" } range { 0 1 } parmtag { "autoscope" "0000000000000000" } } parm { name "collision_inertialtensorstiffness" label "Rotational Stiffness" type float invisible default { "1" } range { 0 10 } parmtag { "autoscope" "0000000000000000" } } } } group { name "setupfolder_2" label "Ground" parm { name "useground" label "Add Ground Plane" type integer default { "0" } menu { "0" "None" "1" "Ground Plane" "2" "Height Field" } range { 0 10 } parmtag { "autoscope" "0000000000000000" } } parm { name "heighfield" label "Height Field" type oppath default { "" } hidewhen "{ useground != 2 }" parmtag { "oprelative" "." } } parm { name "ground_animategeo" label "Use Deforming Geometry" type toggle default { "off" } hidewhen "{ useground != 2 }" range { 0 1 } parmtag { "autoscope" "0000000000000000" } } groupsimple { name "folder7" label "Initial State" disablewhen "{ useground != 1 }" hidewhen "{ useground != 1 }" parm { name "ground_pos" label "Ground Position" type vector size 3 default { "0" "0" "0" } range { -10 10 } parmtag { "autoscope" "0000000000000000" } } parm { name "ground_rot" label "Rotation" type vector size 3 default { "0" "0" "0" } range { -1 1 } parmtag { "autoscope" "0000000000000000" } } } groupsimple { name "folder8" label "Physical" disablewhen "{ useground == 0 }" hidewhen "{ useground == 0 }" parm { name "ground_bounce" label "Bounce" type float default { "0.5" } range { 0 1 } parmtag { "autoscope" "0000000000000000" } } parm { name "ground_friction" label "Friction" type float default { "1" } range { 0 1 } parmtag { "autoscope" "0000000000000000" } } parm { name "ground_dynamicfriction" label "Dynamic Friction Scale" type float default { "1" } range { 0 1 } parmtag { "autoscope" "0000000000000000" } } } } group { name "setupfolder_3" label "Forces" tabbreak parm { name "addgravity" label "Gravity" type toggle joinnext default { "1" } parmtag { "script_callback_language" "python" } } parm { name "gravity" label "Gravity" type vector nolabel size 3 default { "0" "-9.80665" "0" } disablewhen "{ addgravity == 0 }" range { -1 1 } parmtag { "autoscope" "0000000000000000" } parmtag { "units" "m1s-2" } } parm { name "adddrag" label "Add Drag" type toggle default { "off" } } groupsimple { name "folder28" label "Drag" disablewhen "{ adddrag == 0 }" grouptag { "sidefx::header_toggle" "adddrag" } parm { name "drag_windvelocity" label "Wind Velocity" type float size 3 default { "0" "0" "0" } hidewhen "{ adddrag == 0 }" range { 0 10 } parmtag { "autoscope" "0000000000000000" } parmtag { "parmvop" "1" } parmtag { "shaderparmcontexts" "cvex" } parmtag { "units" "m1s-1" } } parm { name "drag_airresist" label "Air Resistance" type float default { "0.00075" } hidewhen "{ adddrag == 0 }" range { 0 10 } parmtag { "autoscope" "0000000000000000" } parmtag { "units" "kg1s-1" } } parm { name "drag_ignoremass" label "Ignore Mass" type toggle default { "on" } hidewhen "{ adddrag == 0 }" range { 0 1 } parmtag { "autoscope" "0000000000000000" } } parm { name "drag_uselocaldrag" label "Use VEXpressions" type toggle default { "off" } hidewhen "{ adddrag == 0 }" range { 0 1 } parmtag { "autoscope" "0000000000000000" } parmtag { "parmvop" "1" } parmtag { "shaderparmcontexts" "cvex" } } parm { name "drag_localdragexpression" label " " type string nolabel default { "" } hidewhen "{ drag_uselocaldrag == 0 } { adddrag == 0 }" menureplace { [ "import vexpressionmenu" ] [ "" ] [ "return vexpressionmenu.buildSnippetMenu('popdrag/localdragexpression')" ] language python } range { 0 1 } parmtag { "autoscope" "0000000000000000" } parmtag { "editor" "1" } parmtag { "editorlang" "vex" } parmtag { "editorlines" "8-40" } parmtag { "script_action" "import vexpressionmenu\n\nnode = kwargs['node']\nparmname = 'drag_localdragexpression'\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 "drag_cwdpath" label "Evaluation Node Path" type oppath default { "." } hidewhen "{ drag_uselocaldrag == 0 } { adddrag == 0 }" range { 0 1 } parmtag { "autoscope" "0000000000000000" } parmtag { "oprelative" "." } } } parm { name "adddragspin" label "Add Drag Spin" type toggle default { "off" } } groupsimple { name "folder29" label "Drag Spin" disablewhen "{ adddragspin == 0 }" grouptag { "sidefx::header_toggle" "adddragspin" } parm { name "dragspin_localdrag" label "Axis Relative to Particle's Orientation" type toggle default { "on" } hidewhen "{ adddragspin == 0 }" range { 0 1 } parmtag { "autoscope" "0000000000000000" } } parm { name "dragspin_goalaxis" label "Goal Axis" type float size 3 default { "0" "1" "0" } hidewhen "{ adddragspin == 0 }" range { 0 10 } parmtag { "autoscope" "0000000000000000" } parmtag { "parmvop" "1" } parmtag { "shaderparmcontexts" "cvex" } parmtag { "units" "m1s-1" } } parm { name "dragspin_goalspinspeed" label "Goal Spin Speed" type float default { "0" } hidewhen "{ adddragspin == 0 }" range { 0 10 } parmtag { "autoscope" "0000000000000000" } } parm { name "dragspin_spinresist" label "Spin Resistance" type float default { "5e-05" } hidewhen "{ adddragspin == 0 }" range { 0 10 } parmtag { "autoscope" "0000000000000000" } parmtag { "units" "kg1s-1" } } parm { name "dragspin_uselocaldrag" label "Use VEXpressions" type toggle default { "off" } hidewhen "{ adddragspin == 0 }" range { 0 1 } parmtag { "autoscope" "0000000000000000" } parmtag { "parmvop" "1" } parmtag { "shaderparmcontexts" "cvex" } } parm { name "dragspin_localdragexpression" label " " type string nolabel default { "" } hidewhen "{ dragspin_uselocaldrag == 0 } { adddragspin == 0 }" menureplace { [ "import vexpressionmenu" ] [ "" ] [ "return vexpressionmenu.buildSnippetMenu('popdragspin/localdragexpression')" ] language python } range { 0 1 } parmtag { "autoscope" "0000000000000000" } parmtag { "editor" "1" } parmtag { "editorlang" "vex" } parmtag { "editorlines" "8-40" } parmtag { "script_action" "import vexpressionmenu\n\nnode = kwargs['node']\nparmname = 'dragspin_localdragexpression'\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 "dragspin_cwdpath" label "Evaluation Node Path" type oppath default { "." } hidewhen "{ dragspin_uselocaldrag == 0 } { adddragspin == 0 }" range { 0 1 } parmtag { "autoscope" "0000000000000000" } parmtag { "oprelative" "." } } } } } group { name "folder_1" label "Constraints" group { name "folder26" label "Constraints" groupcollapsible { name "folder14" label "Glue" parm { name "glue_defaultparmop" label "Default Operation" type ordinal default { "initial" } menu { "initial" "Set Initial" "always" "Set Always" "never" "Set Never" } parmtag { "autoscope" "0000000000000000" } } parm { name "glue_strength" label "Strength" type float default { "1" } range { 0 10 } parmtag { "autoscope" "0000000000000000" } } parm { name "glue_impulse_halflife" label "Half-Life" type float default { "1" } range { 0 10 } parmtag { "autoscope" "0000000000000000" } } parm { name "glue_propagate_rate" label "Propagation Rate" type float default { "1" } range { 0 10 } parmtag { "autoscope" "0000000000000000" } } parm { name "glue_propagationiterations" label "Propagation Iterations" type integer default { "1" } range { 0 10 } parmtag { "autoscope" "0000000000000000" } } parm { name "glue_dataname" label "Data Name" type string default { "Glue" } menureplace { [ "kwargs['node'].hdaViewerStateModule().getConstraintNames(kwargs)" ] language python } parmtag { "autoscope" "0000000000000000" } } } groupcollapsible { name "folder15" label "Soft" parm { name "soft_defaultparmop" label "Default Operation" type ordinal default { "initial" } menu { "initial" "Set Initial" "always" "Set Always" "never" "Set Never" } parmtag { "autoscope" "0000000000000000" } } parm { name "soft_restlength" label "Rest Length" type float default { "1" } range { 0! 2 } parmtag { "autoscope" "0000000000000000" } parmtag { "units" "m1" } } parm { name "soft_stiffness" label "Stiffness" type float default { "1" } range { 0! 100 } parmtag { "autoscope" "0000000000000000" } } parm { name "soft_dampingratio" label "Damping Ratio" type float default { "1" } range { 0! 5 } parmtag { "autoscope" "0000000000000000" } } parm { name "soft_enableangular" label "Override Angular Stiffness and Damping Ratio" type toggle default { "on" } parmtag { "autoscope" "0000000000000000" } } parm { name "soft_angularstiffness" label "Angular Stiffness" type float default { "1" } range { 0! 100 } parmtag { "autoscope" "0000000000000000" } } parm { name "soft_angulardampingratio" label "Angular Damping Ratio" type float default { "1" } range { 0! 5 } parmtag { "autoscope" "0000000000000000" } } groupcollapsible { name "folder20" label "Plasticity" grouptag { "sidefx::header_toggle" "soft_enableplasticity" } parm { name "soft_enableplasticity" label "Enable Plasticity" type toggle default { "off" } parmtag { "autoscope" "0000000000000000" } parmtag { "script_callback_language" "python" } } parm { name "soft_plasticrate" label "Rate" type float default { "1" } range { 0! 100 } parmtag { "autoscope" "0000000000000000" } } parm { name "soft_plasticthreshold" label "Threshold" type float default { "1" } range { 0! 100 } parmtag { "autoscope" "0000000000000000" } } parm { name "soft_plasticthresholdratio" label "Ratio of Current Rest Length" type toggle default { "on" } parmtag { "autoscope" "0000000000000000" } } parm { name "soft_plastichardening" label "Hardening" type float default { "1" } range { 0! 100 } parmtag { "autoscope" "0000000000000000" } } parm { name "soft_enableangularplasticity" label "Enable Angular Plasticity" type toggle default { "off" } parmtag { "autoscope" "0000000000000000" } parmtag { "script_callback_language" "python" } } parm { name "soft_angularplasticrate" label "Angular Rate" type float default { "1" } range { 0! 100 } parmtag { "autoscope" "0000000000000000" } } parm { name "soft_angularplasticthreshold" label "Angular Threshold" type float default { "1" } range { 0! 100 } parmtag { "autoscope" "0000000000000000" } } parm { name "soft_angularplastichardening" label "Angular Hardening" type float default { "1" } range { 0! 100 } parmtag { "autoscope" "0000000000000000" } } } parm { name "soft_numiterations" label "Constraint Iterations" type integer default { "-1" } range { -1! 100 } parmtag { "autoscope" "0000000000000000" } } parm { name "soft_disablecollisions" label "Disable Collisions" type toggle default { "off" } parmtag { "autoscope" "0000000000000000" } } parm { name "soft_dataname" label "Data Name" type string default { "Soft" } menureplace { [ "kwargs['node'].hdaViewerStateModule().getConstraintNames(kwargs)" ] language python } parmtag { "autoscope" "0000000000000000" } } } groupcollapsible { name "folder16" label "Hard" parm { name "hard_defaultparmop" label "Default Operation" type ordinal default { "initial" } menu { "initial" "Set Initial" "always" "Set Always" "never" "Set Never" } parmtag { "autoscope" "0000000000000000" } } parm { name "hard_restlength" label "Rest Length" type float default { "1" } range { 0! 2 } parmtag { "autoscope" "0000000000000000" } parmtag { "units" "m1" } } parm { name "hard_cfm" label "Constraint Force Mixing" type float default { "1" } range { 0! 1 } parmtag { "autoscope" "0000000000000000" } } parm { name "hard_erp" label "Error Reduction Parameter" type float default { "1" } range { 0! 1 } parmtag { "autoscope" "0000000000000000" } } groupcollapsible { name "folder30" label "Angular Motor" grouptag { "sidefx::header_parm" "hard_numangularmotors" } parm { name "hard_numangularmotors" label "Number of Motors" type integer default { "0" } range { 0! 3! } parmtag { "autoscope" "0000000000000000" } } parm { name "hard_axis1" label "Axis 1" type vector size 3 default { "1" "0" "0" } disablewhen "{ hard_numangularmotors <= 0 }" range { -1 1 } parmtag { "autoscope" "0000000000000000" } } parm { name "hard_axis2" label "Axis 2" type vector size 3 default { "0" "1" "0" } disablewhen "{ hard_numangularmotors < 2 }" range { -1 1 } parmtag { "autoscope" "0000000000000000" } } parm { name "hard_targetw" label "Relative Angular Velocity" type float size 3 default { "0" "0" "0" } disablewhen "{ hard_numangularmotors <= 0 }" range { 0 10 } parmtag { "autoscope" "0000000000000000" } } parm { name "hard_maxangularimpulse" label "Max Impulse" type float size 3 default { "1" "1" "1" } disablewhen "{ hard_numangularmotors <= 0 }" range { 0! 100 } parmtag { "autoscope" "0000000000000000" } } } parm { name "hard_numiterations" label "Constraint Iterations" type integer default { "-1" } range { -1! 100 } parmtag { "autoscope" "0000000000000000" } } parm { name "hard_disablecollisions" label "Disable Collisions" type toggle default { "off" } parmtag { "autoscope" "0000000000000000" } } parm { name "hard_dataname" label "Data Name" type string default { "Hard" } menureplace { [ "kwargs['node'].hdaViewerStateModule().getConstraintNames(kwargs)" ] language python } parmtag { "autoscope" "0000000000000000" } } } groupcollapsible { name "folder18" label "ConeTwist" grouptag { "export_disable" "1" } grouptag { "sidefx::header_toggle" "useconetwist" } parm { name "useconetwist" label "Enable Cone Twist Constraint" type toggle default { "0" } } parm { name "conetwist_defaultparmop" label "Default Operation" type ordinal default { "initial" } disablewhen "{ useconetwist == 0 }" menu { "initial" "Set Initial" "always" "Set Always" "never" "Set Never" } parmtag { "autoscope" "0000000000000000" } } parm { name "conetwist_max_up_rotation" label "Max Up Rotation" type float default { "180" } disablewhen "{ useconetwist == 0 }" range { 0 180 } parmtag { "autoscope" "0000000000000000" } } parm { name "conetwist_max_out_rotation" label "Max Out Rotation" type float default { "180" } disablewhen "{ useconetwist == 0 }" range { 0 180 } parmtag { "autoscope" "0000000000000000" } } parm { name "conetwist_max_twist" label "Max Twist" type float default { "0" } disablewhen "{ useconetwist == 0 }" range { 0 180 } parmtag { "autoscope" "0000000000000000" } } parm { name "conetwist_softness" label "Softness" type float default { "1" } disablewhen "{ useconetwist == 0 }" range { 0 1 } parmtag { "autoscope" "0000000000000000" } } parm { name "conetwist_computeinitialerror" label "Allow Initial Violation of Limits" type toggle default { "on" } disablewhen "{ useconetwist == 0 }" parmtag { "autoscope" "0000000000000000" } } parm { name "conetwist_cfm" label "Constraint Force Mixing" type float default { "0" } disablewhen "{ useconetwist == 0 }" range { 0 10 } parmtag { "autoscope" "0000000000000000" } } parm { name "conetwist_bias_factor" label "Bias Factor" type float default { "0.3" } disablewhen "{ useconetwist == 0 }" range { 0 10 } parmtag { "autoscope" "0000000000000000" } } parm { name "conetwist_relaxation_factor" label "Relaxation Factor" type float default { "1" } disablewhen "{ useconetwist == 0 }" range { 0 10 } parmtag { "autoscope" "0000000000000000" } } parm { name "conetwist_positioncfm" label "Position CFM" type float default { "0" } disablewhen "{ useconetwist == 0 }" range { 0 10 } parmtag { "autoscope" "0000000000000000" } } parm { name "conetwist_positionerp" label "Position ERP" type float default { "0.3" } disablewhen "{ useconetwist == 0 }" range { 0 10 } parmtag { "autoscope" "0000000000000000" } } parm { name "conetwist_goal_twist_axis" label "Goal Twist Axis" type vector size 3 default { "1" "0" "0" } disablewhen "{ useconetwist == 0 }" range { -1 1 } parmtag { "autoscope" "0000000000000000" } } parm { name "conetwist_goal_up_axis" label "Goal Up Axis" type vector size 3 default { "0" "1" "0" } disablewhen "{ useconetwist == 0 }" range { -1 1 } parmtag { "autoscope" "0000000000000000" } } parm { name "conetwist_constrained_twist_axis" label "Constrained Twist Axis" type vector size 3 default { "1" "0" "0" } disablewhen "{ useconetwist == 0 }" range { -1 1 } parmtag { "autoscope" "0000000000000000" } } parm { name "conetwist_constrained_up_axis" label "Constrained Up Axis" type vector size 3 default { "0" "1" "0" } disablewhen "{ useconetwist == 0 }" range { -1 1 } parmtag { "autoscope" "0000000000000000" } } parm { name "conetwist_restlength" label "Rest Length" type float default { "1" } disablewhen "{ useconetwist == 0 }" range { 0! 2 } parmtag { "autoscope" "0000000000000000" } parmtag { "units" "m1" } } groupcollapsible { name "folder25" label "Motor" disablewhentab "{ useconetwist == 0 }" grouptag { "sidefx::header_toggle" "conetwist_motor_enabled" } parm { name "conetwist_motor_enabled" label "Enable Motor" type toggle default { "off" } parmtag { "autoscope" "0000000000000000" } } parm { name "conetwist_motor_targetcurrentpose" label "Target Current Pose" type toggle default { "off" } disablewhen "{ conetwist_motor_enabled == 0 }" parmtag { "autoscope" "0000000000000000" } } parm { name "conetwist_motor_targetr" label "Motor Target" type vector size 3 default { "0" "0" "0" } disablewhen "{ conetwist_motor_enabled == 0 } { conetwist_motor_targetcurrentpose != 0 }" range { 0 360 } parmtag { "autoscope" "0000000000000000" } } parm { name "conetwist_motor_hastargetprev" label "Use Initial Motor Target" type toggle default { "off" } disablewhen "{ conetwist_motor_enabled == 0 } { conetwist_motor_targetcurrentpose != 0 }" parmtag { "autoscope" "0000000000000000" } } parm { name "conetwist_motor_targetprevr" label "Initial Motor Target" type vector size 3 default { "0" "0" "0" } disablewhen "{ conetwist_motor_enabled == 0 } { conetwist_motor_targetcurrentpose != 0 } { conetwist_motor_hastargetprev == 0 }" range { 0 360 } parmtag { "autoscope" "0000000000000000" } } parm { name "conetwist_motor_normalizemaximpulse" label "Ignore Mass" type toggle default { "on" } disablewhen "{ conetwist_motor_enabled == 0 }" parmtag { "autoscope" "0000000000000000" } } parm { name "conetwist_motor_maximpulse" label "Max Impulse" type float default { "1" } disablewhen "{ conetwist_motor_enabled == 0 }" range { 0! 100 } parmtag { "autoscope" "0000000000000000" } } parm { name "conetwist_motor_erp" label "Motor Correction Time" type float default { "0.2" } disablewhen "{ conetwist_motor_enabled == 0 } { conetwist_motor_targetcurrentpose != 0 }" range { 0 10 } parmtag { "autoscope" "0000000000000000" } } parm { name "conetwist_motor_cfm" label "Motor CFM" type float default { "0.01" } disablewhen "{ conetwist_motor_enabled == 0 }" range { 0 10 } parmtag { "autoscope" "0000000000000000" } } } parm { name "conetwist_numiterations" label "Constraint Iterations" type integer default { "-1" } disablewhen "{ useconetwist == 0 }" range { -1! 100 } parmtag { "autoscope" "0000000000000000" } } parm { name "conetwist_disablecollisions" label "Disable Collisions" type toggle default { "off" } disablewhen "{ useconetwist == 0 }" parmtag { "autoscope" "0000000000000000" } } parm { name "conetwist_dataname" label "Data Name" type string default { "ConeTwist" } disablewhen "{ useconetwist == 0 }" parmtag { "autoscope" "0000000000000000" } } } groupcollapsible { name "folder17" label "Slider" grouptag { "export_disable" "1" } grouptag { "sidefx::header_toggle" "useslider" } parm { name "useslider" label "Enable Slider Constraint" type toggle default { "0" } } parm { name "slider_defaultparmop" label "Default Operation" type ordinal default { "initial" } disablewhen "{ useslider == 0 }" menu { "initial" "Set Initial" "always" "Set Always" "never" "Set Never" } parmtag { "autoscope" "0000000000000000" } } parm { name "slider_max_rotation" label "Max Rotation" type float default { "180" } disablewhen "{ useslider == 0 }" range { 0 180 } parmtag { "autoscope" "0000000000000000" } } parm { name "slide_range" label "Slide Range" type float size 2 default { "0" "0" } disablewhen "{ useslider == 0 }" range { 0 10 } parmtag { "autoscope" "0000000000000000" } } group { name "folder22" label "Axes" disablewhentab "{ useslider == 0 }" disablewhen "{ useslider == 0 }" parm { name "slider_goal_hinge_axis" label "Goal Hinge Axis" type vector size 3 default { "1" "0" "0" } range { -1 1 } parmtag { "autoscope" "0000000000000000" } } parm { name "slider_goal_up_axis" label "Goal Up Axis" type vector size 3 default { "0" "1" "0" } range { -1 1 } parmtag { "autoscope" "0000000000000000" } } parm { name "slider_constrained_hinge_axis" label "Constrained Hinge Axis" type vector size 3 default { "1" "0" "0" } range { -1 1 } parmtag { "autoscope" "0000000000000000" } } parm { name "slider_constrained_up_axis" label "Constrained Up Axis" type vector size 3 default { "0" "1" "0" } range { -1 1 } parmtag { "autoscope" "0000000000000000" } } } group { name "folder22_1" label "Hinge" disablewhentab "{ useslider == 0 }" parm { name "slider_hinge_position_softness" label "Hinge Position Softness" type float default { "1" } range { 0 10 } parmtag { "autoscope" "0000000000000000" } } parm { name "slider_hinge_position_damping" label "Hinge Position Damping" type float default { "1" } range { 0 10 } parmtag { "autoscope" "0000000000000000" } } parm { name "slider_hinge_position_cfm" label "Hinge Position CFM" type float default { "0" } range { 0 10 } parmtag { "autoscope" "0000000000000000" } } parm { name "slider_hinge_angle_softness" label "Hinge Angle Softness" type float default { "1" } range { 0 10 } parmtag { "autoscope" "0000000000000000" } } parm { name "slider_hinge_angle_damping" label "Hinge Angle Damping" type float default { "1" } range { 0 10 } parmtag { "autoscope" "0000000000000000" } } parm { name "slider_hinge_angle_cfm" label "Hinge Angle CFM" type float default { "0" } range { 0 10 } parmtag { "autoscope" "0000000000000000" } } } group { name "folder22_2" label "Orthogonal" disablewhentab "{ useslider == 0 }" parm { name "slider_ortho_position_softness" label "Ortho Position Softness" type float default { "1" } range { 0 10 } parmtag { "autoscope" "0000000000000000" } } parm { name "slider_ortho_position_cfm" label "Ortho Position CFM" type float default { "0" } range { 0 10 } parmtag { "autoscope" "0000000000000000" } } parm { name "slider_ortho_angle_softness" label "Ortho Angle Softness" type float default { "1" } range { 0 10 } parmtag { "autoscope" "0000000000000000" } } parm { name "slider_ortho_angle_cfm" label "Ortho Angle CFM" type float default { "0" } range { 0 10 } parmtag { "autoscope" "0000000000000000" } } } parm { name "slider_numiterations" label "Constraint Iterations" type integer default { "-1" } disablewhen "{ useslider == 0 }" range { -1! 100 } parmtag { "autoscope" "0000000000000000" } } parm { name "slider_disablecollisions" label "Disable Collisions" type toggle default { "off" } disablewhen "{ useslider == 0 }" parmtag { "autoscope" "0000000000000000" } } parm { name "slider_dataname" label "Data Name" type string default { "Slider" } disablewhen "{ useslider == 0 }" parmtag { "autoscope" "0000000000000000" } } } groupcollapsible { name "folder19" label "Spring" hidewhentab "{ usespring == 0 }" parm { name "spring_defaultparmop" label "Default Operation" type ordinal default { "initial" } disablewhen "{ usespring == 0 }" menu { "initial" "Set Initial" "always" "Set Always" "never" "Set Never" } parmtag { "autoscope" "0000000000000000" } } parm { name "spring_strength" label "Strength" type float default { "1" } disablewhen "{ usespring == 0 }" range { 0! 100 } parmtag { "autoscope" "0000000000000000" } parmtag { "units" "kg1s-2" } } parm { name "spring_restlength" label "Rest Length" type float default { "1" } disablewhen "{ usespring == 0 }" range { 0! 2 } parmtag { "autoscope" "0000000000000000" } parmtag { "units" "m1" } } parm { name "spring_damping" label "Damping" type float default { "1" } disablewhen "{ usespring == 0 }" range { 0! 100 } parmtag { "autoscope" "0000000000000000" } } parm { name "spring_numiterations" label "Constraint Iterations" type integer default { "-1" } disablewhen "{ usespring == 0 }" range { -1! 100 } parmtag { "autoscope" "0000000000000000" } } parm { name "spring_disablecollisions" label "Disable Collisions" type toggle default { "off" } disablewhen "{ usespring == 0 }" parmtag { "autoscope" "0000000000000000" } } parm { name "spring_dataname" label "Data Name" type string default { "Spring" } disablewhen "{ usespring == 0 }" menureplace { [ "kwargs['node'].hdaViewerStateModule().getConstraintNames(kwargs)" ] language python } parmtag { "autoscope" "0000000000000000" } } } } group { name "folder26_1" label "Breaking Thresholds" parm { name "constraint_reloadfromsops" label "Overwrite with SOP" type toggle default { "0" } disablewhen "{ useemission == 1 }" range { 0 10 } parmtag { "autoscope" "0000000000000000" } } multiswitcher { name "breaks" label "Breaking" default 1 disablewhen "{ constraint_reloadfromsops == 1 }" parm { name "constraint_names#" label "Constraint Names" type string default { "Soft Hard" } menutoggle { [ "kwargs['node'].hdaViewerStateModule().getConstraintNames(kwargs)" ] language python } } parm { name "constraint_group#" label "Group" type string default { "" } menutoggle { [ "opmenu -l -a store_primid group" ] } parmtag { "script_action" "import soputils\nkwargs['geometrytype'] = hou.geometryType.Primitives\nkwargs['inputindex'] = 1\nsoputils.selectGroupParm(kwargs)" } parmtag { "script_action_help" "Select geometry from an available viewport." } parmtag { "script_action_icon" "BUTTONS_reselect" } } parm { name "constraint_mode#" label "Mode" type integer default { "0" } menu { "0" "Delete Constraints" "1" "Switch to Next Constraint" } range { 0 10 } } parm { name "constraint_useatframe#" label "At Frame" type toggle nolabel joinnext default { "0" } } parm { name "constraint_atframe#" label "At Frame" type float default { "0" } disablewhen "{ constraint_useatframe# == 0 }" range { 0 100 } } parm { name "constraint_usefromframe#" label "From Frame" type toggle nolabel joinnext default { "0" } } parm { name "constraint_fromframe#" label "From Frame" type float default { "0" } disablewhen "{ constraint_usefromframe# == 0 }" range { 0 100 } } parm { name "constraint_useangle#" label "Useangle" type toggle nolabel joinnext default { "off" } range { 0 10 } parmtag { "autoscope" "0000000000000000" } } parm { name "constraint_anglethreshold#" label "Angle Threshold" type float joinnext default { "0" } disablewhen "{ constraint_useangle# == 0 }" range { 0 1 } parmtag { "autoscope" "0000000000000000" } } parm { name "constraint_useanglevar#" label "Var" type toggle joinnext default { "0" } disablewhen "{ constraint_useangle# == 0 }" } parm { name "constraint_anglevar#" label "Angle Variance" type float nolabel joinnext default { "0.1" } disablewhen "{ constraint_useangle# == 0 } { constraint_useanglevar# == 0 }" range { 0! 1! } } parm { name "constraint_scaleangle#" label "scaleangle" type integer nolabel default { "0" } disablewhen "{ constraint_useangle# == 0 }" menu { "0" "No Scaling" "1" "Scale by Attribute" } range { 0 10 } } parm { name "constraint_angleattrib#" label "Angle Attribute" type string joinnext default { "" } disablewhen "{ constraint_useangle# == 0 }" hidewhen "{ constraint_scaleangle# == 0 }" menureplace { [ "node = kwargs['node']" ] [ "geo = node.node('IN_CONSTRAINT_GEOMETRY').geometry()" ] [ "attribs = sorted([x.name() for x in geo.primAttribs() if x.size() == 1 and x.dataType() == hou.attribData.Float])" ] [ "return [x for x in attribs for y in range(2)]" ] language python } } parm { name "constraint_angleattribupdate#" label "Update from Input" type toggle default { "0" } disablewhen "{ constraint_useangle# == 0 } { useemission == 1 }" hidewhen "{ constraint_scaleangle# == 0 }" } parm { name "constraint_usedistance#" label "Usedistance" type toggle nolabel joinnext default { "on" } range { 0 10 } parmtag { "autoscope" "0000000000000000" } } parm { name "constraint_distancethreshold#" label "Distance Threshold" type float joinnext default { "1" } disablewhen "{ constraint_usedistance# == 0 }" range { 0 1 } parmtag { "autoscope" "0000000000000000" } } parm { name "constraint_usedistancevar#" label "Var" type toggle joinnext default { "0" } disablewhen "{ constraint_usedistance# == 0 }" } parm { name "constraint_distancevar#" label "Distance Variance" type float nolabel joinnext default { "0.1" } disablewhen "{ constraint_usedistance# == 0 } { constraint_usedistancevar# == 0 }" range { 0! 1! } } parm { name "constraint_scaledistance#" label "scaledistance" type integer nolabel default { "0" } disablewhen "{ constraint_usedistance# == 0 }" menu { "0" "No Scaling" "1" "Scale by Attribute" } range { 0 10 } } parm { name "constraint_distanceattrib#" label "Distance Attribute" type string joinnext default { "" } disablewhen "{ constraint_usedistance# == 0 }" hidewhen "{ constraint_scaledistance# == 0 }" menureplace { [ "node = kwargs['node']" ] [ "geo = node.node('IN_CONSTRAINT_GEOMETRY').geometry()" ] [ "attribs = sorted([x.name() for x in geo.primAttribs() if x.size() == 1 and x.dataType() == hou.attribData.Float])" ] [ "return [x for x in attribs for y in range(2)]" ] language python } } parm { name "constraint_distanceattribupdate#" label "Update from Input" type toggle default { "0" } disablewhen "{ constraint_usedistance# == 0 } { useemission == 1 }" hidewhen "{ constraint_scaledistance# == 0 }" } parm { name "constraint_useforce#" label "Useforce" type toggle nolabel joinnext default { "off" } range { 0 10 } parmtag { "autoscope" "0000000000000000" } } parm { name "constraint_forcethreshold#" label "Force Threshold" type float joinnext default { "0" } disablewhen "{ constraint_useforce# == 0 }" range { 0 1 } parmtag { "autoscope" "0000000000000000" } } parm { name "constraint_useforcevar#" label "Var" type toggle joinnext default { "0" } disablewhen "{ constraint_useforce# == 0 }" } parm { name "constraint_forcevar#" label "Force Variance" type float nolabel joinnext default { "0.1" } disablewhen "{ constraint_useforce# == 0 } { constraint_useforcevar# == 0 }" range { 0! 1! } } parm { name "constraint_scaleforce#" label "scaleforce" type integer nolabel default { "0" } disablewhen "{ constraint_useforce# == 0 }" menu { "0" "No Scaling" "1" "Scale by Attribute" } range { 0 10 } } parm { name "constraint_forceattrib#" label "Force Attribute" type string joinnext default { "" } disablewhen "{ constraint_useforce# == 0 }" hidewhen "{ constraint_scaleforce# == 0 }" menureplace { [ "node = kwargs['node']" ] [ "geo = node.node('IN_CONSTRAINT_GEOMETRY').geometry()" ] [ "attribs = sorted([x.name() for x in geo.primAttribs() if x.size() == 1 and x.dataType() == hou.attribData.Float])" ] [ "return [x for x in attribs for y in range(2)]" ] language python } } parm { name "constraint_forceattribupdate#" label "Update from Input" type toggle default { "0" } disablewhen "{ constraint_useforce# == 0 } { useemission == 1 }" hidewhen "{ constraint_scaleforce# == 0 }" } parm { name "constraint_useimpact#" label "Useimpact" type toggle nolabel joinnext default { "off" } range { 0 10 } parmtag { "autoscope" "0000000000000000" } } parm { name "constraint_impactthreshold#" label "Impact Threshold" type float joinnext default { "0" } disablewhen "{ constraint_useimpact# == 0 }" range { 0 1 } parmtag { "autoscope" "0000000000000000" } } parm { name "constraint_useimpactvar#" label "Var" type toggle joinnext default { "0" } disablewhen "{ constraint_useimpact# == 0 }" } parm { name "constraint_impactvar#" label "Impact Variance" type float nolabel joinnext default { "0.1" } disablewhen "{ constraint_useimpact# == 0 } { constraint_useimpactvar# == 0 }" range { 0! 1! } } parm { name "constraint_scaleimpact#" label "scaleimpact" type integer nolabel default { "0" } disablewhen "{ constraint_useimpact# == 0 }" menu { "0" "No Scaling" "1" "Scale by Attribute" } range { 0 10 } } parm { name "constraint_impactattrib#" label "Impact Attribute" type string joinnext default { "" } disablewhen "{ constraint_useimpact# == 0 }" hidewhen "{ constraint_scaleimpact# == 0 }" menureplace { [ "node = kwargs['node']" ] [ "geo = node.node('IN_CONSTRAINT_GEOMETRY').geometry()" ] [ "attribs = sorted([x.name() for x in geo.primAttribs() if x.size() == 1 and x.dataType() == hou.attribData.Float])" ] [ "return [x for x in attribs for y in range(2)]" ] language python } } parm { name "constraint_impactattribupdate#" label "Update from Input" type toggle default { "0" } disablewhen "{ constraint_useimpact# == 0 } { useemission == 1 }" hidewhen "{ constraint_scaleimpact# == 0 }" } parm { name "constraint_usetorque#" label "Usetorque" type toggle nolabel joinnext default { "off" } range { 0 10 } parmtag { "autoscope" "0000000000000000" } } parm { name "constraint_torquethreshold#" label "Torque Threshold" type float joinnext default { "0" } disablewhen "{ constraint_usetorque# == 0 }" range { 0 1 } parmtag { "autoscope" "0000000000000000" } } parm { name "constraint_usetorquevar#" label "Var" type toggle joinnext default { "0" } disablewhen "{ constraint_usetorque# == 0 }" } parm { name "constraint_torquevar#" label "Torque Variance" type float nolabel joinnext default { "0.1" } disablewhen "{ constraint_usetorque# == 0 } { constraint_usetorquevar# == 0 }" range { 0! 1! } } parm { name "constraint_scaletorque#" label "scaletorque" type integer nolabel default { "0" } disablewhen "{ constraint_usetorque# == 0 }" menu { "0" "No Scaling" "1" "Scale by Attribute" } range { 0 10 } } parm { name "constraint_torqueattrib#" label "Torque Attribute" type string joinnext default { "" } disablewhen "{ constraint_usetorque# == 0 }" hidewhen "{ constraint_scaletorque# == 0 }" menureplace { [ "node = kwargs['node']" ] [ "geo = node.node('IN_CONSTRAINT_GEOMETRY').geometry()" ] [ "attribs = sorted([x.name() for x in geo.primAttribs() if x.size() == 1 and x.dataType() == hou.attribData.Float])" ] [ "return [x for x in attribs for y in range(2)]" ] language python } } parm { name "constraint_torqueattribupdate#" label "Update from Input" type toggle default { "0" } disablewhen "{ constraint_usetorque# == 0 } { useemission == 1 }" hidewhen "{ constraint_scaletorque# == 0 }" } parm { name "constraint_useplasticflow#" label "Useplasticflow" type toggle nolabel joinnext default { "off" } range { 0 10 } parmtag { "autoscope" "0000000000000000" } } parm { name "constraint_plasticflowthreshold#" label "Plastic Flow Threshold" type float joinnext default { "0" } disablewhen "{ constraint_useplasticflow# == 0 }" range { 0 1 } parmtag { "autoscope" "0000000000000000" } } parm { name "constraint_useplasticflowvar#" label "Var" type toggle joinnext default { "0" } disablewhen "{ constraint_useplasticflow# == 0 }" } parm { name "constraint_plasticflowvar#" label "Plastic Flow Variance" type float nolabel joinnext default { "0.1" } disablewhen "{ constraint_useplasticflow# == 0 } { constraint_useplasticflowvar# == 0 }" range { 0! 1! } } parm { name "constraint_scaleplasticflow#" label "scaleplasticflow" type integer nolabel default { "0" } disablewhen "{ constraint_useplasticflow# == 0 }" menu { "0" "No Scaling" "1" "Scale by Attribute" } range { 0 10 } } parm { name "constraint_plasticflowattrib#" label "Plastic Flow Attribute" type string joinnext default { "" } disablewhen "{ constraint_useplasticflow# == 0 }" hidewhen "{ constraint_scaleplasticflow# == 0 }" menureplace { [ "node = kwargs['node']" ] [ "geo = node.node('IN_CONSTRAINT_GEOMETRY').geometry()" ] [ "attribs = sorted([x.name() for x in geo.primAttribs() if x.size() == 1 and x.dataType() == hou.attribData.Float])" ] [ "return [x for x in attribs for y in range(2)]" ] language python } } parm { name "constraint_plasticflowattribupdate#" label "Update from Input" type toggle default { "0" } disablewhen "{ constraint_useplasticflow# == 0 } { useemission == 1 }" hidewhen "{ constraint_scaleplasticflow# == 0 }" } parm { name "constraint_useangularplasticflow#" label "Useangularplasticflow" type toggle nolabel joinnext default { "off" } range { 0 10 } parmtag { "autoscope" "0000000000000000" } } parm { name "constraint_angularplasticflowthreshold#" label "Angular Plastic Flow Threshold" type float joinnext default { "0" } disablewhen "{ constraint_useangularplasticflow# == 0 }" range { 0 1 } parmtag { "autoscope" "0000000000000000" } } parm { name "constraint_useangularplasticflowvar#" label "Var" type toggle joinnext default { "0" } disablewhen "{ constraint_useangularplasticflow# == 0 }" } parm { name "constraint_angularplasticflowvar#" label "Angular Plastic Flow Variance" type float nolabel joinnext default { "0.1" } disablewhen "{ constraint_useangularplasticflow# == 0 } { constraint_useangularplasticflowvar# == 0 }" range { 0! 1! } } parm { name "constraint_scaleangularplasticflow#" label "scaleangularplasticflow" type integer nolabel default { "0" } disablewhen "{ constraint_useangularplasticflow# == 0 }" menu { "0" "No Scaling" "1" "Scale by Attribute" } range { 0 10 } } parm { name "constraint_angularplasticflowattrib#" label "Angular Plastic Flow Attribute" type string joinnext default { "" } disablewhen "{ constraint_useangularplasticflow# == 0 }" hidewhen "{ constraint_scaleangularplasticflow# == 0 }" menureplace { [ "node = kwargs['node']" ] [ "geo = node.node('IN_CONSTRAINT_GEOMETRY').geometry()" ] [ "attribs = sorted([x.name() for x in geo.primAttribs() if x.size() == 1 and x.dataType() == hou.attribData.Float])" ] [ "return [x for x in attribs for y in range(2)]" ] language python } } parm { name "constraint_angularplasticflowattribupdate#" label "Update from Input" type toggle default { "0" } disablewhen "{ constraint_useangularplasticflow# == 0 } { useemission == 1 }" hidewhen "{ constraint_scaleangularplasticflow# == 0 }" } parm { name "usesnippet#" label "Use VEXpression" type toggle default { "0" } } parm { name "snippet#" label "Snippet" type string nolabel default { "// Second Input: Bullet Packed Geo\n// Third Input: SOP Geometry " } disablewhen "{ usesnippet# == 0 }" hidewhen "{ usesnippet# == 0 }" menureplace { [ "import vexpressionmenu" ] [ "" ] [ "return vexpressionmenu.buildSnippetMenu('rbdbulletsolver/constraintsnippet')" ] language python } parmtag { "editor" "1" } parmtag { "editorlang" "vex" } 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 "vexpressionsoppath" label "VEXpression SOP Path" type oppath default { "" } parmtag { "oprelative" "." } } } parm { name "usespring" label "Enable Spring Constraint" type toggle invisible default { "0" } } } group { name "folder_2" label "Impacts" parm { name "useimpact" label "Add Impact Data" type toggle default { "off" } range { 0 1 } parmtag { "autoscope" "0000000000000000" } } parm { name "useimpactanalysis" label "Add Impact Analysis" type toggle default { "on" } disablewhen "{ useimpact == 0 }" range { 0 1 } parmtag { "autoscope" "0000000000000000" } } parm { name "impacts_timethreshold" label "Time Threshold" type float default { "0.1" } disablewhen "{ useimpact == 0 }" range { 0 10 } } parm { name "impacts_impactthreshold" label "Impact Threshold" type float default { "100" } disablewhen "{ useimpact == 0 }" range { 0 10 } } parm { name "impacts_distancethreshold" label "Distance Threshold" type float default { "0.05" } disablewhen "{ useimpact == 0 } { useimpactanalysis == 0 }" range { 0 10 } } parm { name "impacts_forceimpactobject" label "Force Impact Object" type string default { "" } disablewhen "{ useimpact == 0 } { useimpactanalysis == 0 }" menureplace { "" "All" "rbd_object" "Self Collisions" "collision_object" "Collision Object" "groundplane" "Ground Plane" } parmtag { "script_callback_language" "python" } } parm { name "impacts_fetchimpacts" label "Fetch Impacts" type button default { "0" } disablewhen "{ useimpact == 0 }" parmtag { "script_callback" "kwargs['node'].hm().fetchImpacts(kwargs)" } parmtag { "script_callback_language" "python" } } } group { name "folder_3" label "Guided Simulation" disablewhentab "{ useemission == 1 }" parm { name "useguides" label "Use Guides" type toggle default { "0" } parmtag { "script_callback" "kwargs['node'].hdaViewerStateModule().showguidevis(kwargs)" } parmtag { "script_callback_language" "python" } } parm { name "guide_useguidedneighbors" label "Use Guided Neighbors" type toggle default { "off" } disablewhen "{ useguides == 0 }" parmtag { "autoscope" "0000000000000000" } parmtag { "script_callback" "kwargs['node'].hdaViewerStateModule().showguidevis(kwargs)" } parmtag { "script_callback_language" "python" } } group { name "folder2" label "Setup" disablewhen "{ useguides == 0 }" parm { name "guide_nosetup" label "Use Pre-Configured Setup" type toggle default { "0" } parmtag { "script_callback_language" "python" } } parm { name "guide_group" label "Group" type string default { "" } disablewhen "{ guide_nosetup == 1 }" menutoggle { [ "splitnode = kwargs['node'].node('guide/split4')" ] [ "splitnode.cook()" ] [ "parm = splitnode.parm('group')" ] [ "retval = []" ] [ "labels = parm.menuLabels()" ] [ "for x, item in enumerate(parm.menuItems()):" ] [ " retval.append(item)" ] [ " retval.append(labels[x])" ] [ "return retval" ] language python } range { 0 1 } parmtag { "autoscope" "0000000000000000" } parmtag { "script_action" "import soputils\nnode = kwargs['node']\nkwargs['geometrytype'] = hou.geometryType.Primitives\nkwargs['inputindex'] = 2 * node.node(\"switch_use_proxy\").evalParm(\"input\")\nsoputils.selectGroupParm(kwargs)" } parmtag { "script_action_help" "Select geometry from an available viewport." } parmtag { "script_action_icon" "BUTTONS_reselect" } } parm { name "guide_startframe" label "Start Frame" type integer default { [ "ch(\"startframe\")" hscript-expr ] } disablewhen "{ guide_nosetup == 1 }" range { 0 100 } parmtag { "autoscope" "0000000000000000" } } parm { name "guide_endframe" label "End Frame" type integer default { "240" } disablewhen "{ guide_nosetup == 1 }" range { 0 100 } parmtag { "autoscope" "0000000000000000" } } parm { name "guide_releaseonendframe" label "Release on End Frame" type toggle default { "0" } disablewhen "{ guide_nosetup == 1 }" parmtag { "script_callback_language" "python" } } parm { name "guide_mode" label "Mode" type integer default { "0" } disablewhen "{ guide_nosetup == 1 }" menu { "0" "Near Point" "1" "Near Surface" } range { 0! 10 } parmtag { "autoscope" "0000000000000000" } } parm { name "guide_maxdist" label "Max Distance" type float default { "-1" } disablewhen "{ guide_nosetup == 1 }" range { -1! 10 } } parm { name "guide_strength" label "Strength" type float default { "1" } disablewhen "{ guide_nosetup == 1 }" range { 0! 1 } } parm { name "guide_disttostrenth" label "Distance to Strength" type toggle default { "1" } disablewhen "{ guide_nosetup == 1 }" } parm { name "guide_dist" label "Distance" type vector2 size 2 default { "0" "5" } disablewhen "{ guide_nosetup == 1 } { guide_disttostrenth == 0 }" range { 0! 1 } } parm { name "guide_mult" label "Strength Multiplier" type vector2 size 2 default { "1" "0.25" } disablewhen "{ guide_nosetup == 1 } { guide_disttostrenth == 0 }" range { 0! 1! } } parm { name "guide_addblend" label "Add Blend" type toggle nolabel joinnext default { "off" } disablewhen "{ guide_nosetup == 1 }" parmtag { "autoscope" "0000000000000000" } } parm { name "guide_blendattribute" label "Blend" type float default { "1" } disablewhen "{ guide_nosetup == 1 } { guide_addblend == 0 }" range { 0! 1! } parmtag { "autoscope" "0000000000000000" } } groupsimple { name "folder32" label "Guided Neighbors" disablewhentab "{ guide_nosetup == 1 }" disablewhen "{ guide_useguidedneighbors == 0 }" hidewhen "{ guide_useguidedneighbors == 0 }" parm { name "guide_neighbor_ensureneighbor" label "Ensure Neighbor " type toggle default { "0" } disablewhen "{ guide_useguidedneighbors == 0 }" parmtag { "script_callback_language" "python" } } parm { name "guide_neighbor_nptsperarea" label "Points per Area" type float default { "100" } disablewhen "{ guide_useguidedneighbors == 0 }" range { 0! 10 } parmtag { "autoscope" "0000000000000000" } parmtag { "script_callback_language" "python" } } parm { name "guide_neighbor_searchradius" label "Search Radius" type float default { "0.1" } disablewhen "{ guide_useguidedneighbors == 0 }" range { 0! 10 } parmtag { "autoscope" "0000000000000000" } parmtag { "script_callback_language" "python" } } parm { name "guide_neighbor_maxsearchpoints" label "Max Search Points" type integer default { "100" } disablewhen "{ guide_useguidedneighbors == 0 }" range { 0! 1000 } parmtag { "autoscope" "0000000000000000" } parmtag { "script_callback_language" "python" } } parm { name "guide_neighbor_maxconnections" label "Max Connections" type integer default { "1" } disablewhen "{ guide_useguidedneighbors == 0 }" range { 1! 5 } parmtag { "autoscope" "0000000000000000" } parmtag { "script_callback_language" "python" } } } parm { name "guide_dotransferattribs" label "Transfer Attributes" type toggle nolabel joinnext default { "0" } parmtag { "script_callback_language" "python" } } parm { name "guide_transferattribs" label "Transfer Attributes" type string default { "" } disablewhen "{ guide_dotransferattribs == 0 }" menutoggle { [ "node = kwargs[\"node\"].node(\"GUIDE\")" ] [ "geo = node.geometry()" ] [ "" ] [ "retval = []" ] [ "for attribname in [x.name() for x in geo.pointAttribs()]:" ] [ " if attribname.startswith(\"__\") or attribname in [\"P\",\"name\"]:" ] [ " continue" ] [ " retval += [attribname] * 2" ] [ "" ] [ "return sorted(retval)" ] language python } parmtag { "script_callback_language" "python" } } parm { name "guide_usesnippet" label "Use VEXpressions" type toggle default { "0" } disablewhen "{ guide_nosetup == 1 }" } parm { name "guide_snippet" label "Snippet" type string nolabel default { "" } disablewhen "{ guide_nosetup == 1 }" hidewhen "{ guide_usesnippet == 0 }" menureplace { [ "import vexpressionmenu" ] [ "" ] [ "return vexpressionmenu.buildSnippetMenu('rbdbulletsolver/guidesnippet')" ] language python } parmtag { "editor" "1" } parmtag { "editorlang" "vex" } parmtag { "editorlines" "5-40" } parmtag { "script_action" "import vexpressionmenu\n\nnode = kwargs['node']\nparmname = 'guide_snippet'\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 "guide_cwdpath" label "Evaluation Node Path" type oppath default { "." } disablewhen "{ guide_nosetup == 1 }" hidewhen "{ guide_usesnippet == 0 }" parmtag { "autoscope" "0000000000000000" } parmtag { "oprelative" "." } } } group { name "folder2_1" label "Constraints" parm { name "guide_constraintcleanup" label "Remove Intra-Guide Constraints" type toggle default { "1" } parmtag { "script_callback_language" "python" } } parm { name "guide_constraintgroup" label "Group" type string default { "" } disablewhen "{ guide_constraintcleanup == 0 }" menutoggle { [ "opmenu -l -a cull_cross_piece_constraints group" ] } range { 0 1 } parmtag { "autoscope" "0000000000000000" } parmtag { "script_action" "import soputils\nkwargs['geometrytype'] = hou.geometryType.Primitives\nkwargs['inputindex'] = 1\nsoputils.selectGroupParm(kwargs)" } parmtag { "script_action_help" "Select geometry from an available viewport." } parmtag { "script_action_icon" "BUTTONS_reselect" } } } group { name "folder2_2" label "Simulation Settings" parm { name "guide_method" label "Method" type integer default { "0" } menu usetokenvalue { "0" "Velocity" "1" "Target Velocity" } range { 0 10 } parmtag { "script_callback_language" "python" } } parm { name "guide_airresist" label "Air Resistance" type float default { "10000" } hidewhen "{ guide_method != 1 }" range { 0 100000 } parmtag { "script_callback_language" "python" } } parm { name "guide_drag" label "Drag" type float default { "1" } hidewhen "{ guide_method != 1 }" range { 0 1000 } parmtag { "script_callback_language" "python" } } parm { name "guide_blend" label "Blend" type float default { "1" } range { 0! 1! } parmtag { "autoscope" "0000000000000000" } } groupsimple { name "folder9" label "Guide Release Thresholds" groupsimple { name "folder12" label "Instantaneous" parm { name "guide_uselinearthreshold" label "Use Linear Threshold" type toggle nolabel joinnext default { "1" } } parm { name "guide_linearthreshold" label "Linear Threshold" type float default { "0.85" } disablewhen "{ guide_uselinearthreshold == 0 }" range { 0! 1 } parmtag { "autoscope" "0000000000000000" } } parm { name "guide_useangularthreshold" label "Use Angular Threshold" type toggle nolabel joinnext default { "1" } } parm { name "guide_angularthreshold" label "Angular Threshold" type float default { "8" } disablewhen "{ guide_useangularthreshold == 0 }" range { 0! 10 } parmtag { "autoscope" "0000000000000000" } } parm { name "guide_usedistancethreshold" label "Use Distance Threshold" type toggle nolabel joinnext default { "0" } } parm { name "guide_distancethreshold" label "Distance Threshold" type float default { "0.25" } disablewhen "{ guide_usedistancethreshold == 0 }" range { 0! 1 } parmtag { "autoscope" "0000000000000000" } } } groupsimple { name "folder13" label "Accumulated" parm { name "guide_useaccumulatedlinearthreshold" label "Use Linear Threshold" type toggle nolabel joinnext default { "0" } } parm { name "guide_accumulatedlinearthreshold" label "Linear Threshold" type float default { "0.85" } disablewhen "{ guide_useaccumulatedlinearthreshold == 0 }" range { 0! 1 } parmtag { "autoscope" "0000000000000000" } } parm { name "guide_useaccumulatedangularthreshold" label "Use Angular Threshold" type toggle nolabel joinnext default { "0" } } parm { name "guide_accumulatedangularthreshold" label "Angular Threshold" type float default { "8" } disablewhen "{ guide_useaccumulatedangularthreshold == 0 }" range { 0! 10 } parmtag { "autoscope" "0000000000000000" } } parm { name "guide_useaccumulateddistancethreshold" label "Use Distance Threshold" type toggle nolabel joinnext default { "0" } } parm { name "guide_accumulateddistancethreshold" label "Distance Threshold" type float default { "0.25" } disablewhen "{ guide_useaccumulateddistancethreshold == 0 }" range { 0! 1 } parmtag { "autoscope" "0000000000000000" } } } groupsimple { name "folder21" label "Guided Neighbors" disablewhen "{ guide_useguidedneighbors == 0 }" parm { name "guide_minneighbors" label "Minimum Neighbors" type integer default { "1" } disablewhen "{ guide_useguidedneighbors == 0 }" range { 0! 10 } } } } groupsimple { name "folder33" label "Post-Guide VEXpression" parm { name "guide_usewrangle" label "Use VEXpressions" type toggle default { "0" } parmtag { "script_callback_language" "python" } } parm { name "guide_wranglegroup" label "VEXpression Group" type string default { "__guided" } hidewhen "{ guide_usewrangle == 0 }" menutoggle { [ "opmenu -l -a dopnet/guide_wrangle partgroup" ] } range { 0 1 } parmtag { "autoscope" "0000000000000000" } parmtag { "script_callback_language" "python" } } parm { name "guide_wrangle" label "Guide VEXpression" type string nolabel default { "" } hidewhen "{ guide_usewrangle == 0 }" menureplace { [ "import vexpressionmenu" ] [ "" ] [ "return vexpressionmenu.buildSnippetMenu('rbdbulletsolver/guidewrangle')" ] language python } parmtag { "editor" "1" } parmtag { "editorlang" "vex" } parmtag { "editorlines" "5-40" } parmtag { "script_action" "import vexpressionmenu\n\nnode = kwargs['node']\nparmname = 'guide_wrangle'\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" } parmtag { "script_callback_language" "python" } } parm { name "guide_wrangle_cwdpath" label "Evaluation Node Path" type oppath default { "." } hidewhen "{ guide_usewrangle == 0 }" range { 0 1 } parmtag { "autoscope" "0000000000000000" } parmtag { "oprelative" "." } } } } } group { name "folder_4" label "Advanced" parm { name "usescale" label "usescale" type toggle nolabel joinnext default { "0" } parmtag { "script_callback_language" "python" } } parm { name "scale" label "Bullet World Scale" type float default { "1" } disablewhen "{ usescale == 0 }" range { 1e-09! 1000 } } groupcollapsible { name "folder10" label "DOP Network" parm { name "cacheenabled" label "Cache Simulation" type toggle nolabel joinnext default { "on" } parmtag { "autoscope" "0000000000000000" } } parm { name "cachemaxsize" label "Cache Memory (MB)" type integer default { "5000" } disablewhen "{ cacheenabled == 0 }" range { 0! 10000 } parmtag { "autoscope" "0000000000000000" } } parm { name "substep" label "Substeps" type integer default { "1" } range { 1! 10 } parmtag { "autoscope" "0000000000000000" } } parm { name "emission_cachemaxsize" label "Emission Cache Memory (MB)" type integer default { "5000" } disablewhen "{ useemission == 0 }" range { 0! 1000 } parmtag { "autoscope" "0000000000000000" } } } groupcollapsible { name "folder11" label "Bullet Solver" parm { name "sleepingtime" label "Sleeping Time" type float default { "2" } range { 0! 5 } parmtag { "autoscope" "0000000000000000" } } parm { name "contactbreakingthreshold" label "Contact Breaking Threshold" type float default { "0.02" } range { 0! 0.1 } parmtag { "autoscope" "0000000000000000" } } parm { name "implicitdrag" label "Use Implicit Drag" type toggle default { "on" } parmtag { "autoscope" "0000000000000000" } } groupsimple { name "folder1" label "Constraint Solver" parm { name "constraintsolvertype" label "Constraint Solver" type ordinal default { "gaussseidelcolor" } menu { "gaussseidelisland" "Parallel Gauss-Seidel (Islands)" "gaussseidelcolor" "Parallel Gauss-Seidel (Graph Coloring)" } parmtag { "autoscope" "0000000000000000" } } parm { name "randomize_order" label "Randomize Constraint Order" type toggle default { "off" } range { 0 1 } parmtag { "autoscope" "0000000000000000" } } parm { name "ensureindependentislands" label "Ensure Islands are Independent" type toggle default { "on" } parmtag { "autoscope" "0000000000000000" } } parm { name "constraintsolvertolerance" label "Solve Tolerance" type float default { "0.0001" } range { 0! 1 } parmtag { "autoscope" "0000000000000000" } } parm { name "globalcfm" label "Constraint Force Mixing" type float default { "0" } range { 0! 1 } parmtag { "autoscope" "0000000000000000" } } parm { name "globalerp" label "Error Reduction Parameter" type float default { "0.2" } range { 0! 1 } parmtag { "autoscope" "0000000000000000" } } parm { name "splitimpulse" label "Split Impulse" type toggle default { "on" } range { 0 1 } parmtag { "autoscope" "0000000000000000" } } parm { name "penetrationthreshold" label "Penetration Threshold" type float default { "-0.02" } disablewhen "{ splitimpulse == 0 }" range { -1 1 } parmtag { "autoscope" "0000000000000000" } } parm { name "splitimpulseerp" label "Split Impulse ERP" type float default { "0.8" } disablewhen "{ splitimpulse == 0 }" range { 0! 1 } parmtag { "autoscope" "0000000000000000" } } } } groupcollapsible { name "folder27" label "Output" parm { name "transferattributes" label "Transfer Attributes" type string default { "age w" } menutoggle { [ "node= kwargs['node']" ] [ "labels = node.node('dopimport').parm('transferattributes').menuItems()" ] [ "return [x for x in labels for y in range(2) if not x.startswith('__')]" ] language python } parmtag { "autoscope" "0000000000000000" } } parm { name "transfertogeo" label "Transfer to Geometry" type toggle default { "1" } } parm { name "transfertoproxy" label "Transfer to Proxy Geometry" type toggle default { "1" } } } } group { name "folder_5" label "Visualize" parm { name "vis_displaygeo" label "Display Visualization Geometry" type toggle default { "on" } export all } groupsimple { name "folder24" label "Simulation Geometry" disablewhen "{ vis_displaygeo == 0 }" parm { name "showgeorep" label "Show Geometry Representation" type toggle default { "0" } disablewhen "{ vis_displaygeo == 0 }" parmtag { "script_callback" "kwargs['node'].hdaViewerStateModule().showguidevis(kwargs)" } parmtag { "script_callback_language" "python" } } parm { name "showactive" label "Show Active (Green)" type toggle default { "0" } disablewhen "{ vis_displaygeo == 0 }" export all } parm { name "showsleeping" label "Show Sleeping (Red)" type toggle default { "0" } disablewhen "{ vis_displaygeo == 0 }" export all } parm { name "showguided" label "Show Guided (Blue)" type toggle default { "0" } disablewhen "{ vis_displaygeo == 0 } { useguides == 0 }" export all } parm { name "showguidecapture" label "Show Guide Capture" type toggle default { "0" } disablewhen "{ vis_displaygeo == 0 } { useguides == 0 }" parmtag { "script_callback" "kwargs['node'].hdaViewerStateModule().showguidevis(kwargs)" } parmtag { "script_callback_language" "python" } } parm { name "guidecaptureframe" label "Guide Capture Frame" type float default { [ "ch(\"startframe\")" hscript-expr ] } disablewhen "{ vis_displaygeo == 0 } { useguides == 0 } { showguidecapture == 0 }" range { 0 240 } } parm { name "guidecaptureblend" label "Guide Capture Blend" type toggle default { "off" } disablewhen "{ vis_displaygeo == 0 } { useguides == 0 } { showguidecapture == 0 } { guide_addblend == 0 }" parmtag { "autoscope" "0000000000000000" } parmtag { "script_callback" "kwargs['node'].hdaViewerStateModule().showguidevis(kwargs)" } parmtag { "script_callback_language" "python" } } parm { name "showguideneighborcount" label "Show Guide Neighbor Count" type toggle default { "0" } disablewhen "{ vis_displaygeo == 0 } { useguides == 0 } { guide_useguidedneighbors == 0 }" parmtag { "script_callback" "kwargs['node'].hdaViewerStateModule().showguidevis(kwargs)" } parmtag { "script_callback_language" "python" } } } groupsimple { name "folder0" label "Constraints" disablewhentab "{ vis_displaygeo == 0 }" parm { name "showconstraints" label "Show Constraints" type toggle default { "1" } disablewhen "{ vis_displaygeo == 0 }" export all } parm { name "showconstraintguides" label "Show Bullet Constraint Guides" type toggle default { "0" } disablewhen "{ showconstraints == 0 } { vis_displaygeo == 0 }" parmtag { "script_callback_language" "python" } } parm { name "showconstraintguidesradius" label "Guide Radius" type float default { "0.05" } disablewhen "{ showconstraints == 0 } { vis_displaygeo == 0 } { showconstraintguides == 0 }" range { 0! 0.5 } parmtag { "script_callback_language" "python" } } parm { name "showconstraintguideslinks" label "Show Object Links" type toggle default { "0" } disablewhen "{ showconstraints == 0 } { vis_displaygeo == 0 } { showconstraintguides == 0 }" parmtag { "script_callback_language" "python" } } parm { name "vis_mode" label "False Color Mode" type ordinal default { "0" } disablewhen "{ showconstraints == 0 } { vis_displaygeo == 0 }" menu { "0" "None" "1" "Angle" "2" "Angular Plastic Flow" "3" "Distance" "4" "Force" "5" "Impact" "6" "Plastic Flow" "7" "Torque" "8" "Constraint Name" "9" "Custom" } export all parmtag { "script_callback" "kwargs['node'].hdaViewerStateModule().enterState(kwargs)" } parmtag { "script_callback_language" "python" } } parm { name "customattrib" label "Attribute" type string default { "" } hidewhen "{ vis_mode != 9 }" menureplace { [ "node = kwargs['node']" ] [ "geo = node.node(\"CONSTRAINT_GEOMETRY\").geometry()" ] [ "attribs = sorted([x.name() for x in geo.primAttribs() if x.size() == 1 and x.dataType() == hou.attribData.Float])" ] [ "attribs = [x for x in attribs if x not in ['angle', 'angularplasticflow', 'distance', 'force', 'impact', 'plasticflow', 'torque']]" ] [ "return [x for x in attribs for y in range(2)]" ] language python } export all } } groupsimple { name "folder23" label "Additional Guides" disablewhentab "{ vis_displaygeo == 0 }" parm { name "showimpacts" label "Show Impacts" type toggle default { "off" } disablewhen "{ vis_displaygeo == 0 } { useimpact == 0 }" export all } parm { name "showground" label "Show Ground" type toggle default { "1" } disablewhen "{ vis_displaygeo == 0 } { useground == 0 }" export all } parm { name "showcollision" label "Show Collision" type toggle default { "1" } disablewhen "{ vis_displaygeo == 0 } { usecollisions == 0 }" export all } parm { name "showcollisiongeorep" label "Show Collision Geometry Representation" type toggle default { "0" } disablewhen "{ vis_displaygeo == 0 } { usecollisions == 0 } { showcollision == 0 }" } } groupsimple { name "folder31" label "Inspector" parm { name "inspectorattribs" label "Attributes" type string default { "* ^P ^pivot ^rest ^N ^scale ^orient ^xform ^path" } menutoggle { [ "node = kwargs['node']" ] [ "geos = ['GEOMETRY', 'CONSTRAINT_GEOMETRY', 'PROXY_GEOMETRY', 'SIM_POINTS']" ] [ "geo = geos[max(0, node.outputForViewFlag())] " ] [ "geometry = node.node(geo).geometry()" ] [ "if geo == 'CONSTRAINT_GEOMETRY':" ] [ " attribs = []" ] [ "else:" ] [ " attribs = [x.name() for x in geometry.pointAttribs()]" ] [ "attribs += [x.name() for x in geometry.primAttribs()]" ] [ "return sorted([x for x in set(attribs) for y in range(2)])" ] language python } parmtag { "script_callback_language" "python" } } parm { name "inspectorfontsize" label "Font Size" type integer default { "3" } range { 1! 8! } parmtag { "script_callback_language" "python" } } parm { name "inspectorprecision" label "Float Precision" type integer default { "6" } range { 1! 24! } parmtag { "script_callback_language" "python" } } } } } INDXContents=b DialogScript=aTHouLC1033600bb60620f099c0f96ba020LIMITED_COMMERCIAL_FILE!!!# Dialog script for rbdcluster::2.0 automatically generated { name rbdcluster::2.0 script rbdcluster::2.0 label "RBD Cluster" help { "" } inputlabel 1 "Geometry " inputlabel 2 "Constraint Geometry" inputlabel 3 "Proxy Geometry" inputlabel 4 "Additional Inputs" outputlabel 1 Geometry outputlabel 2 "Constraint Geometry" outputlabel 3 "Proxy Geometry" parm { name "group" label "Group" type string default { "" } menutoggle { [ "# If the constraint input isn't being used, allow selecting from the extract" ] [ "# centroid points." ] [ "node = hou.pwd().node(\"CLUSTER_GROUP\")" ] [ "return node.generateInputGroupMenu(0, hou.geometryType.Points, include_selection=False)" ] language python } 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" } parmtag { "script_callback_language" "python" } } parm { name "clustertype" label "Cluster Type" type ordinal default { "0" } menu { "combinepieces" "Combine Pieces" "groupconstraints" "Group Constraints" } } parm { name "clusternameprefix" label "Cluster Name Prefix" type string default { "cluster" } hidewhen "{ clustertype != combinepieces }" } parm { name "fusepieces" label "Fuse Clustered Pieces" type toggle default { "0" } disablewhen "{ clustertype != combinepieces }" hidewhen "{ clustertype != combinepieces }" } parm { name "interiorgroup" label "Interior Group" type string default { "inside" } disablewhen "{ clustertype != combinepieces } { fusepieces != 1 }" hidewhen "{ clustertype != combinepieces } { fusepieces != 1 }" menutoggle { [ "import doppoptoolutils" ] [ "" ] [ "node = kwargs[\"node\"]" ] [ "input = node.inputs()[0]" ] [ "return doppoptoolutils.buildGroupMenuFromSOP(input, \"prim\")" ] language python } 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 "snapdistance" label "Snap Distance" type float default { "1e-05" } disablewhen "{ clustertype != combinepieces } { fusepieces != 1 }" hidewhen "{ clustertype != combinepieces } { fusepieces != 1 }" range { 0.001 0.01 } parmtag { "autoscope" "0000000000000000" } } parm { name "dissolveexterioredges" label "Dissolve Exterior Cluster Edges" type toggle default { "0" } disablewhen "{ clustertype != combinepieces } { fusepieces != 1 }" hidewhen "{ clustertype != combinepieces } { fusepieces != 1 }" } parm { name "intraclustergroup" label "Intracluster Group" type string default { "intracluster" } hidewhen "{ clustertype != groupconstraints }" } parm { name "clustertoclustergroup" label "Cluster to Cluster Group" type string default { "clustertocluster" } hidewhen "{ clustertype != groupconstraints }" } parm { name "clustertopiecegroup" label "Cluster to Piece Group" type string default { "clustertopiece" } hidewhen "{ clustertype != groupconstraints }" range { 0 1 } parmtag { "autoscope" "0000000000000000" } } parm { name "piecetopiecegroup" label "Piece to Piece Group" type string default { "piecetopiece" } hidewhen "{ clustertype != groupconstraints }" range { 0 1 } parmtag { "autoscope" "0000000000000000" } } parm { name "sepparm" label "Separator" type separator default { "" } } parm { name "clusterattribute" label "Cluster Attribute" type string default { "cluster" } parmtag { "script_action" "import soputils\n\nsoputils.actionToggleVisualizer(kwargs)" } parmtag { "script_action_help" "Toggle visualization\nCtrl-LMB: Open the visualization editor" } parmtag { "script_action_icon" "VIEW_visualization" } } parm { name "clusternoise" label "Cluster Noise" type ordinal default { "preserve" } menu { "preserve" "Preserve Existing Clusters" "overwrite" "Overwrite Clusters" "none" "None" } } parm { name "offset" label "Offset" type float size 3 default { "0" "0" "0" } disablewhen "{ clusternoise == none }" range { 0 10 } parmtag { "autoscope" "0000000000000000" } parmtag { "parmvop" "1" } parmtag { "shaderparmcontexts" "cvex" } } parm { name "jitter" label "Jitter" type float size 3 default { "1" "1" "1" } disablewhen "{ clusternoise == none }" range { 0 10 } parmtag { "autoscope" "0000000000000000" } parmtag { "parmvop" "1" } parmtag { "shaderparmcontexts" "cvex" } } parm { name "size" label "Size" type float size 3 default { "1" "1" "1" } disablewhen "{ clusternoise == none }" range { 0 10 } parmtag { "autoscope" "0000000000000000" } parmtag { "parmvop" "1" } parmtag { "shaderparmcontexts" "cvex" } } parm { name "randomdetach" label "Random Detach" type toggle default { "1" } } parm { name "detachratio" label "Detach Ratio" type float default { "0.157" } disablewhen "{ randomdetach == 0 }" range { 0 1 } parmtag { "autoscope" "0000000000000000" } } parm { name "detachseed" label "Detach Seed" type integer default { "0" } disablewhen "{ randomdetach == 0 }" range { 0 10 } parmtag { "autoscope" "0000000000000000" } } } INDXContents=b DialogScript=WyaT HouLC1033600bb60620f099b0f96ba020LIMITED_COMMERCIAL_FILE!!!# Dialog script for rbdconcretefracture::3.0 automatically generated { name rbdconcretefracture::3.0 script Sop/rbdmaterialfracture::2.0::rbdconcretefracture::2.0 label "RBD Concrete Fracture" help { "" } inputlabel 1 Geometry inputlabel 2 "Proxy Geometry" inputlabel 3 "Impact Regions" parmtag { inputisref3 1 } inputlabel 4 "Sub-Network Input #4" outputlabel 1 Geometry outputlabel 2 "Constraint Geometry" outputlabel 3 "Proxy Geometry" parm { name "enablecompiling" label "Enable Compiling" type toggle default { "0" } } parm { name "randomseed" label "Random Seed" type float default { "0" } range { 0 10 } } group { name "folder2" label "Primary Fracture" multiswitcher { name "fracturelevel" label "Fracture Level" default 2 parmtag { "autoscope" "0000000000000000" } parm { name "enablefracture#" label "Enable Fracture" type toggle default { "1" } } parm { name "fractureid#" label "Fracture ID" type string default { "fracture#" } disablewhen "{ enablefracture# == 0 }" } parm { name "fractureratio#" label "Fracture Ratio" type float default { "1" } disablewhen "{ enablefracture# == 0 }" range { 0! 1! } } parm { name "fractureseed#" label "Fracture Seed" type float default { "0" } disablewhen "{ enablefracture# == 0 }" range { 0 10 } } parm { name "connectivitypartition#" label "Connectivity Partition" type ordinal default { "overwrite" } disablewhen "{ enablefracture# == 0 }" menu { "none" "None" "overwrite" "Overwrite Piece Numbering" } parmtag { "autoscope" "0000000000000000" } parmtag { "script_callback_language" "python" } } groupsimple { name "scatter#" label "Cell Points" disablewhentab "{ enablefracture# == 0 }" parm { name "scatterfrom#" label "Scatter From" type ordinal default { "volume" } menu { "volume" "Volume" "attribute" "Attribute" } } parm { name "scatterattrib#" label "Attribute Name" type string default { "" } disablewhen "{ scatterfrom# != attribute }" hidewhen "{ scatterfrom# != attribute }" menureplace { [ "opmenu -l -a scatter1 densityattrib" ] } } parm { name "scatterpts#" label "Scatter Points" type integer joinnext default { "5" } range { 1 100 } parmtag { "autoscope" "0000000000000000" } } parm { name "scatterptsscaling#" label "scatterptsscaling" type integer nolabel default { "0" } menu { "0" "No Scaling" "1" "Scale by Piece Volume" "2" "Scale by Max Axis Length" "3" "Scale by Attribute" } range { 0 10 } parmtag { "script_callback_language" "python" } } parm { name "rangeremap#" label "Remap Range" type toggle default { "1" } hidewhen "{ scatterptsscaling# == 0 } { scatterptsscaling# == 3 }" parmtag { "script_callback_language" "python" } } parm { name "rangeremapin#" label "Input Min/Max" type float_minmax size 2 default { "0" "1" } disablewhen "{ rangeremap# == 0 }" hidewhen "{ scatterptsscaling# == 0 } { scatterptsscaling# == 3 }" range { 0 10 } parmtag { "script_callback_language" "python" } } parm { name "rangeremapout#" label "Output Min/Max" type float_minmax size 2 default { "0" "1" } disablewhen "{ rangeremap# == 0 }" hidewhen "{ scatterptsscaling# == 0 } { scatterptsscaling# == 3 }" range { 0 10 } parmtag { "script_callback_language" "python" } } parm { name "scatterptsattribute#" label "Scatter Points Attribute" type string default { "density" } hidewhen "{ scatterptsscaling# != 3 }" menureplace { [ "kwargs[\"node\"].hm().listFloatAttributes(kwargs)" ] language python } parmtag { "script_callback_language" "python" } } parm { name "scatterseed#" label "Scatter Seed" type float default { "0" } range { 0 10 } parmtag { "autoscope" "0000000000000000" } } parm { name "useptsinput#" label "Use Input Points" type toggle nolabel joinnext default { "0" } } parm { name "ptsinputgroup#" label "Input Points" type string default { "" } disablewhen "{ useptsinput# == 0 }" menutoggle { [ "node = hou.pwd()" ] [ "inputs = node.inputs()" ] [ "if not inputs:" ] [ " input = None" ] [ "else:" ] [ " input = inputs[len(inputs)-1]" ] [ "" ] [ "" ] [ "" ] [ "grps = []" ] [ "if not input:" ] [ " return grps" ] [ " " ] [ "for grp in node.geometry().pointGroups():" ] [ " grps.append(grp.name())" ] [ " grps.append(grp.name())" ] language python } parmtag { "autoscope" "0000000000000000" } } } parm { name "enabledetail#" label "Enable Detail" type toggle invisible default { "ch(\"edgedetail\")" } } groupsimple { name "volume#" label "Fog Volume" disablewhentab "{ scatterfrom# != volume } { enablefracture# == 0 }" hidewhentab "{ scatterfrom# != volume }" parm { name "volumenoisetype#" label "Noise Type" type string default { "snoise" } menu { "none" "None" "pnoise" "Perlin Noise" "onoise" "Original Perlin Noise" "snoise" "Sparse Convolution Noise" "anoise" "Alligator Noise" "xnoise" "Simplex Noise" "correctnoise" "Zero Centered Perlin Noise" } parmtag { "autoscope" "0000000000000000" } parmtag { "parmvop" "1" } parmtag { "shaderparmcontexts" "cvex" } } parm { name "volumeres#" label "Volume Resolution" type integer default { "75" } disablewhen "{ volumenoisetype# == none }" range { 0 10 } } parm { name "volumenoisefreq#" label "Noise Frequency" type vector size 3 default { "1" "1" "1" } disablewhen "{ volumenoisetype# == none }" range { -1 1 } } parm { name "volumenoiseoffset#" label "Noise Offset" type vector size 3 default { "0" "0" "0" } disablewhen "{ volumenoisetype# == none }" range { -1 1 } } parm { name "cutoffdensity#" label "Cutoff Density" type float default { "0.3" } disablewhen "{ volumenoisetype# == none }" range { 0! 1! } parmtag { "autoscope" "0000000000000000" } } } } } group { name "folder2_1" label "Chipping" parm { name "enablechipping" label "Enable Chipping" type toggle default { "0" } } parm { name "chippingratio" label "Overall Ratio" type float default { "0" } disablewhen "{ enablechipping == 0 }" range { 0 1 } } parm { name "chippingseed" label "Overall Seed" type float default { "0" } disablewhen "{ enablechipping == 0 }" range { 0 10 } } parm { name "cornerratio" label "Corner Ratio" type float default { "0.5" } disablewhen "{ enablechipping == 0 }" range { 0! 1! } } parm { name "chippingdepth" label "Cutting Depth" type float default { "1" } disablewhen "{ enablechipping == 0 }" range { 0! 10 } } parm { name "chippingdirectionalnoise" label "Directional Noise" type float default { "0.125" } disablewhen "{ enablechipping == 0 }" range { 0! 1! } parmtag { "autoscope" "0000000000000000" } } parm { name "chippingdetriangulate" label "Detriangulate" type ordinal default { "all" } disablewhen "{ enablechipping == 0 }" menu { "none" "No Polygons" "unchanged" "Only Unchanged Polygons" "all" "All Polygons" } } } group { name "folder2_2" label "Detail" parm { name "detailsize" label "Detail Size" type float default { "0.05" } range { 0 10 } } parm { name "sepparm" label "Separator" type separator default { "" } } parm { name "edgedetail" label "Edge Detail" type toggle default { "0" } parmtag { "script_callback" "" } } parm { name "edgenoiseheight" label "Noise Height" type float default { "0.1" } disablewhen "{ edgedetail == 0 }" range { 0 10 } parmtag { "autoscope" "0000000000000000" } parmtag { "parmvop" "1" } parmtag { "shaderparmcontexts" "cvex" } } parm { name "edgenoisesize" label "Noise Element Size" type float default { "0.2" } disablewhen "{ edgedetail == 0 }" range { 0 10 } parmtag { "autoscope" "0000000000000000" } parmtag { "parmvop" "1" } parmtag { "shaderparmcontexts" "cvex" } } parm { name "edgenoiselacunarity" label "Lacunarity" type float default { "1" } disablewhen "{ edgedetail == 0 }" range { 0 10 } parmtag { "autoscope" "0000000000000000" } parmtag { "parmvop" "1" } parmtag { "shaderparmcontexts" "cvex" } } parm { name "edgenoiseamplitudemultplier" label "Level Multiplier" type float default { "1" } disablewhen "{ edgedetail == 0 }" range { 0 10 } parmtag { "autoscope" "0000000000000000" } parmtag { "parmvop" "1" } parmtag { "shaderparmcontexts" "cvex" } } parm { name "detriangulate" label "Detriangulate" type ordinal default { "all" } disablewhen "{ edgedetail == 0 }" menu { "none" "No Polygons" "unchanged" "Only Unchanged Polygons" "all" "All Polygons" } } parm { name "sepparm2" label "Separator" type separator default { "" } } parm { name "interiordetail" label "Interior Detail" type toggle default { "0" } } parm { name "interiornoiseamp" label "Noise Amplitude" type float default { "0.25" } disablewhen "{ interiordetail == 0 }" range { 0 1 } parmtag { "autoscope" "0000000000000000" } parmtag { "parmvop" "1" } parmtag { "shaderparmcontexts" "cvex" } } parm { name "interiornoisetype" label "Noise Type" type string default { "sparse" } disablewhen "{ interiordetail == 0 }" menu { "value_fast" "Fast" "sparse" "Sparse Convolution" "alligator" "Alligator" "perlin" "Perlin" "flow" "Perlin Flow" "simplex" "Simplex" "worleyFA" "Worley Cellular F1" "worleyFB" "Worley Cellular F2-F1" "mworleyFA" "Manhattan Cellular F1" "mworleyFB" "Manhattan Cellular F2-F1" "cworleyFA" "Chebyshev Cellular F1" "cworleyFB" "Chebyshev Cellular F2-F1" } range { 0 1 } unquoted parmtag { "autoscope" "0000000000000000" } } parm { name "interiornoisefreq" label "Frequency" type float size 3 default { "2.5" "2.5" "2.5" } disablewhen "{ interiordetail == 0 }" range { 0 10 } parmtag { "autoscope" "0000000000000000" } parmtag { "parmvop" "1" } parmtag { "shaderparmcontexts" "cvex" } } parm { name "noiseoffset" label "Offset" type float size 3 default { "0" "0" "0" } disablewhen "{ interiordetail == 0 }" range { 0 10 } parmtag { "autoscope" "0000000000000000" } parmtag { "parmvop" "1" } parmtag { "shaderparmcontexts" "cvex" } } groupsimple { name "folder_proxygeometry" label "Proxy Geometry" parm { name "proxygeometry" label "Proxy Geometry" type ordinal default { "0" } menu { "0" "Default" "1" "Convex Decomposition" "2" "Packed Spheres" } } parm { name "maxconcavity" label "Max Concavity" type float default { "0.1" } disablewhen "{ proxygeometry != 1 }" hidewhen "{ proxygeometry != 1 }" range { 0 10 } } parm { name "voxelsize" label "Voxel Size" type float default { "0.1" } disablewhen "{ proxygeometry != 2 }" hidewhen "{ proxygeometry != 2 }" range { 0! 5 } parmtag { "autoscope" "0000000000000000" } } parm { name "radiusmin" label "Min Radius" type float default { "1" } disablewhen "{ proxygeometry != 2 }" hidewhen "{ proxygeometry != 2 }" range { 1e-05! 2 } parmtag { "autoscope" "0000000000000000" } parmtag { "houdini_utils::doc" "The radius of the smallest sphere allowed\n\nIf disabled, allow spheres of any radius greater than zero." } } parm { name "radiusmax" label "Max Radius" type float default { "8" } disablewhen "{ proxygeometry != 2 }" hidewhen "{ proxygeometry != 2 }" range { 1e-05! 100 } parmtag { "autoscope" "0000000000000000" } parmtag { "houdini_utils::doc" "The radius of the largest sphere allowed\n\nIf disabled, allow arbitrarily large spheres." } } parm { name "spheresmax" label "Max Spheres" type integer default { "100" } disablewhen "{ proxygeometry != 2 }" hidewhen "{ proxygeometry != 2 }" range { 1! 200 } parmtag { "autoscope" "0000000000000000" } parmtag { "houdini_utils::doc" "The maximum number of spheres to be generated\n\nIf disabled, allow for up to __Point Count__ spheres to be generated." } } } } group { name "folder2_3" label "Constraints" parm { name "searchradius" label "Search Radius" type float default { "0.05" } range { 0! 10 } parmtag { "autoscope" "0000000000000000" } } parm { name "usetags" label "Use Tags" type toggle default { "0" } parmtag { "script_callback_language" "python" } } } group { name "folder2_4" label "Visualization" parm { name "visualize" label "Visualize" type toggle default { "1" } } parm { name "visualizeidx" label "Visualize Index" type integer default { "1" } range { 1 10 } } } group { name "folder2_5" label "Debugging" parm { name "enablemaxfracturelevel" label "Max Fracture Level" type toggle nolabel joinnext default { "off" } parmtag { "autoscope" "0000000000000000" } } parm { name "maxfracturelevel" label "Max Fracture Level" type integer default { "1" } disablewhen "{ enablemaxfracturelevel == 0 }" range { 1! 10 } parmtag { "autoscope" "0000000000000000" } } parm { name "dosinglepass" label "Do Single Pass" type toggle nolabel joinnext default { "off" } disablewhen "{ enablemaxfracturelevel == 0 }" parmtag { "autoscope" "0000000000000000" } } parm { name "singlepass" label "Single Pass" type integer default { "0" } disablewhen "{ dosinglepass == 0 } { enablemaxfracturelevel == 0 }" range { 0 10 } parmtag { "autoscope" "0000000000000000" } } parm { name "resetcookpass" label "Reset Cached Pass" type button default { "0" } disablewhen "{ dosinglepass == 0 } { enablemaxfracturelevel == 0 }" parmtag { "autoscope" "0000000000000000" } } } } INDXContents=b DialogScript=aT HouLC1033600bb60620f09de0f96ba020LIMITED_COMMERCIAL_FILE!!!# Dialog script for rbdconfigure automatically generated { name rbdconfigure script rbdconfigure label "RBD Configure" help { "" } bindhandle bboxcenterx boundingbox "BBox" centerx "" bindhandle bboxcentery boundingbox "BBox" centery "" bindhandle bboxcenterz boundingbox "BBox" centerz "" bindhandle bboxonoff boundingbox "BBox" onoff "" bindhandle bboxrx boundingbox "BBox" rx "" bindhandle bboxry boundingbox "BBox" ry "" bindhandle bboxrz boundingbox "BBox" rz "" bindhandle bboxsizex boundingbox "BBox" sizex "" bindhandle bboxsizey boundingbox "BBox" sizey "" bindhandle bboxsizez boundingbox "BBox" sizez "" inputlabel 1 Geometry inputlabel 2 "Constraint Geometry" inputlabel 3 "Proxy Geometry" inputlabel 4 "Static Bounds Geometry" parmtag { inputisref4 1 } outputlabel 1 Geometry outputlabel 2 "Constraint Geometry" outputlabel 3 "Proxy Geometry" groupsimple { name "folder0" label "Visualization" parm { name "visualize" label "Visualize" type integer default { "0" } menu { "0" "None" "1" "Active" "2" "Animated" "3" "Deforming" "4" "Sleeping" "5" "Bounce" "6" "Density" "7" "Friction" "8" "Rotational Stiffness" "9" "Pinned" "10" "Collision Padding" } range { 0 10 } export all parmtag { "autoscope" "0000000000000000" } parmtag { "script_callback" "kwargs['node'].hm().enterState(kwargs)" } parmtag { "script_callback_language" "python" } } parm { name "scale" label "Exploded Scale" type float default { "0" } disablewhen "{ visualize == 0 }" range { 0 5 } export all parmtag { "autoscope" "0000000000000000" } } } groupsimple { name "folder1" label "Units" parm { name "unitmass" label "Unit Mass (kg)" type integer default { "1000" } menu usetokenvalue { "1" "Grams" "10" "10 Grams" "100" "100 Grams" "1000" "Kilograms" "10000" "10 Kilograms" "100000" "100 Kilograms" "1000000" "Metric Tons" } range { 0 10 } } parm { name "unitlength" label "Unit Length (m)" type integer default { "1000" } menu usetokenvalue { "1" "Millimiters" "10" "Centimeters" "100" "Decimeters" "1000" "Meters" "10000" "10 Meters" "100000" "100 Meters" "1000000" "Kilometers" } range { 0 10 } } } groupsimple { name "folder2" label "Bounds" parm { name "boundingtype" label "Bounding Type" type integer default { "1" } menu { "0" "Bounding Box" "1" "Bounding Geometry" "2" "Bounding Volume" } range { 0 10 } parmtag { "script_callback" "kwargs['node'].hm().showBbox(kwargs)" } parmtag { "script_callback_language" "python" } } parm { name "bboxsize" label "Size" type vector size 3 default { "1" "1" "1" } disablewhen "{ boundingtype > 0 }" hidewhen "{ boundingtype > 0 }" range { -1 1 } parmtag { "script_callback" "" } parmtag { "script_callback_language" "python" } } parm { name "bboxcenter" label "Center" type vector size 3 default { "0" "0" "0" } disablewhen "{ boundingtype > 0 }" hidewhen "{ boundingtype > 0 }" range { -1 1 } parmtag { "script_callback" "" } parmtag { "script_callback_language" "python" } } parm { name "bboxr" label "Rotation" type vector size 3 default { "0" "0" "0" } disablewhen "{ boundingtype > 0 }" hidewhen "{ boundingtype > 0 }" range { -1 1 } parmtag { "script_callback" "" } parmtag { "script_callback_language" "python" } } } parm { name "bboxonoff" label "Show Bbox" type toggle invisible default { [ "ch(\"boundingtype\")==0" hscript-expr ] } } groupsimple { name "folder3" label "Attributes" parm { name "nameprefix" label "Name Prefix" type string default { "piece" } range { 0 1 } parmtag { "autoscope" "0000000000000000" } parmtag { "script_callback_language" "python" } } parm { name "transfer_attributes" label "Transfer Attributes" type string default { "v w" } menutoggle { [ "node = kwargs['node']" ] [ "parmnode = node.node('assemble1')" ] [ "if (node.node('switch_use_proxy').evalParm('input')):" ] [ " parmnode = node.node('assemble2')" ] [ "parm = parmnode.parm('transfer_attributes')" ] [ "return [x for x in parm.menuItems() for y in range(2)]" ] language python } parmtag { "autoscope" "0000000000000000" } } parm { name "createpath" label "Create Path Attribute" type toggle nolabel joinnext default { "off" } parmtag { "autoscope" "0000000000000000" } parmtag { "script_callback_language" "python" } } parm { name "path" label "Path Attribute" type string default { "op:`opfullpath('.')`" } disablewhen "{ createpath == 0 }" parmtag { "autoscope" "0000000000000000" } parmtag { "script_callback_language" "python" } } parm { name "createpackedfragments" label "Create Packed Fragments" type toggle default { "on" } parmtag { "autoscope" "0000000000000000" } parmtag { "script_callback_language" "python" } } multiswitcher { name "attributes" label "Attributes" default 1 parm { name "enable#" label "Enable" type toggle default { "1" } parmtag { "script_callback_language" "python" } } parm { name "group#" label "Group" type string default { "" } disablewhen "{ enable# == 0 }" menutoggle { [ "opcook get_grp; opmenu -l -a get_grp group;" ] } parmtag { "script_action" "import soputils\nnode = kwargs['node']\nkwargs['geometrytype'] = hou.geometryType.Primitives\nkwargs['inputindex'] = 0\nkwargs['nodepath'] = node.path()\nsoputils.selectGroupParm(kwargs)" } parmtag { "script_action_icon" "BUTTONS_reselect" } } groupsimple { name "folder0_#_2" label "Bullet Data" disablewhentab "{ enable# == 0 }" parm { name "addactive#" label "Add Active" type toggle nolabel joinnext default { "0" } } parm { name "active#" label "Active" type integer joinnext default { "1" } disablewhen "{ addactive# == 0 }" range { 0! 1! } } parm { name "useactivebounds#" label "Use Bounds" type toggle default { "0" } disablewhen "{ addactive# == 0 }" } parm { name "addanimated#" label "Add Animated" type toggle nolabel joinnext default { "0" } } parm { name "animated#" label "Animated" type integer joinnext default { "0" } disablewhen "{ addanimated# == 0 }" range { 0! 1! } } parm { name "useanimatedbounds#" label "Use Bounds" type toggle default { "0" } disablewhen "{ addanimated# == 0 }" } parm { name "adddeforming#" label "Add Deforming" type toggle nolabel joinnext default { "0" } } parm { name "deforming#" label "Deforming" type integer joinnext default { "0" } disablewhen "{ adddeforming# == 0 }" range { 0! 1! } } parm { name "usedeformingbounds#" label "Use Bounds" type toggle default { "0" } disablewhen "{ adddeforming# == 0 }" } parm { name "addsleeping#" label "Add Sleeping" type toggle nolabel joinnext default { "0" } } parm { name "sleeping#" label "Sleeping" type integer joinnext default { "0" } disablewhen "{ addsleeping# == 0 }" range { 0! 1! } } parm { name "usesleepingbounds#" label "Use Bounds" type toggle default { "0" } disablewhen "{ addsleeping# == 0 }" } parm { name "addenablesleeping#" label "Add Enable Sleeping" type toggle nolabel joinnext default { "0" } } parm { name "enablesleeping#" label "Enable Sleeping" type integer joinnext default { "1" } disablewhen "{ addenablesleeping# == 0 }" range { 0! 1! } } parm { name "useenablesleepingbounds#" label "Use Bounds" type toggle default { "0" } disablewhen "{ addenablesleeping# == 0 }" } parm { name "addsleeplinearthreshold#" label "Add Sleep Lineaar Threshold" type toggle nolabel joinnext default { "0" } parmtag { "script_callback_language" "python" } } parm { name "sleeplinearthreshold#" label "Sleep Linear Threshold" type float default { "0.8" } disablewhen "{ addsleeplinearthreshold# == 0 }" range { -1! 2 } parmtag { "script_callback_language" "python" } } parm { name "addsleepangularthreshold#" label "Add Sleep Angular Threshold" type toggle nolabel joinnext default { "0" } parmtag { "script_callback_language" "python" } } parm { name "sleepangularthreshold#" label "Sleep Angular Threshold" type float default { "1" } disablewhen "{ addsleepangularthreshold# == 0 }" range { -1! 2 } parmtag { "script_callback_language" "python" } } groupcollapsible { name "folder0_#_4" label "Collision Shapes" parm { name "addgeorep#" label "Add Geo Rep" type toggle nolabel joinnext default { "0" } } parm { name "georep#" label "Geometry Representation" type string default { "convexhull" } disablewhen "{ addgeorep# == 0 }" menu { "convexhull" "Convex Hull" "concave" "Concave" "box" "Box" "capsule" "Capsule" "cylinder" "Cylinder" "compound" "Compound" "sphere" "Sphere" "plane" "Plane" "none" "None" } } parm { name "addcollisionmargin#" label "Add Collision Padding" type toggle nolabel joinnext default { "0" } } parm { name "collisionmargin#" label "Collision Padding" type float default { "0.02" } disablewhen "{ addcollisionmargin# == 0 }" range { 0! 10 } } parm { name "adjustgeometry#" label "Shrink Collision Geometry" type toggle nolabel joinnext default { "1" } disablewhen "{ addcollisionmargin# == 0 }" } parm { name "shrinkamount#" label "Shrink Amount" type float default { "ch(\"collisionmargin#\")" } disablewhen "{ addcollisionmargin# == 0 } { adjustgeometry# == 0 }" range { 0! 10 } } parm { name "addgroupconnected#" label "Add Group Connected" type toggle nolabel joinnext default { "0" } parmtag { "script_callback_language" "python" } } parm { name "groupconnected#" label "Create Convex Hull per Set of Connected Primitives" type integer default { "1" } disablewhen "{ addgroupconnected# == 0 }" range { 0! 1! } parmtag { "script_callback_language" "python" } } } groupcollapsible { name "folder1_#" label "Collisions" parm { name "addcollisiongroup#" label "Add Collision Group" type toggle nolabel joinnext default { "0" } } parm { name "collisiongroup#" label "Collision Group" type string default { "" } disablewhen "{ addcollisiongroup# == 0 }" } parm { name "addcollisionignore#" label "Add Collision Ignore" type toggle nolabel joinnext default { "0" } } parm { name "collisionignore#" label "Collision Ignore" type string default { "" } disablewhen "{ addcollisionignore# == 0 }" menutoggle { [ "retval = ['collision_object', 'collision_object', 'groundplane', 'groundplane', 'rbd_object', 'rbd_object']" ] [ "node = kwargs['node']" ] [ "geo = node.node('groupdelete').geometry()" ] [ "num = kwargs['script_multiparm_index']" ] [ "curgroup = ''" ] [ "if node.evalParm('addcollisiongroup'+str(num)):" ] [ " curgroup = node.evalParm('collisiongroup'+str(num))" ] [ "if 'collisiongroup' in [x.name() for x in geo.pointAttribs()]:" ] [ " for value in set(geo.pointStringAttribValues('collisiongroup')):" ] [ " if value and value != curgroup:" ] [ " retval += [value] * 2" ] [ "return sorted(retval)" ] language python } } parm { name "addminactivationimpulse#" label "Add Min Activation Impule" type toggle nolabel joinnext default { "0" } } parm { name "minactivationimpulse#" label "Min Activation Impulse" type float default { "0" } disablewhen "{ addminactivationimpulse# == 0 }" range { 0 10 } } } groupcollapsible { name "folder0_#_5" label "Speed Limit" parm { name "addspeedmin#" label "Add Speed Min" type toggle nolabel joinnext default { "0" } } parm { name "speedmin#" label "Speed Min" type float default { "-1" } disablewhen "{ addspeedmin# == 0 }" range { -1! 10 } } parm { name "addspeedmax#" label "Add Speed Max" type toggle nolabel joinnext default { "0" } } parm { name "speedmax#" label "Speed Max" type float default { "-1" } disablewhen "{ addspeedmax# == 0 }" range { -1! 10 } } parm { name "addspinmin#" label "Add Spin Min" type toggle nolabel joinnext default { "0" } } parm { name "spinmin#" label "Spin Min" type float default { "-1" } disablewhen "{ addspinmin# == 0 }" range { -1! 10 } } parm { name "addspinmax#" label "Add Spin Max" type toggle nolabel joinnext default { "0" } } parm { name "spinmax#" label "Spin Max" type float default { "-1" } disablewhen "{ addspinmax# == 0 }" range { -1! 10 } } parm { name "addaccelmax#" label "Add Accel Max" type toggle nolabel joinnext default { "0" } } parm { name "accelmax#" label "Acceleration Max" type float default { "-1" } disablewhen "{ addaccelmax# == 0 }" range { -1! 10 } } parm { name "addangaccelmax#" label "Add Ang Accel Max" type toggle nolabel joinnext default { "0" } } parm { name "angaccelmax#" label "Angular Acceleration Max" type float default { "-1" } disablewhen "{ addangaccelmax# == 0 }" range { -1! 10 } } } } groupsimple { name "folder0_#" label "Physical Attributes" disablewhentab "{ enable# == 0 }" parm { name "type#" label "Type" type ordinal joinnext default { "0" } menu { "0" "Concrete" "1" "Glass" "2" "Wood" "3" "Metal" } parmtag { "script_callback" "kwargs['node'].hm().typeCallback(kwargs)" } parmtag { "script_callback_language" "python" } } parm { name "material#" label "Material" type integer nolabel joinnext default { "1000" } menu usetokenvalue { [ "node = kwargs['node']" ] [ "istr = str(kwargs['script_multiparm_index'])" ] [ "mattype = node.evalParm(\"type\"+istr)" ] [ "retval = []" ] [ "for x in node.hm().getMaterialProperties(mattype):" ] [ " retval += x[:2]" ] [ "return retval" ] language python } range { 0 10 } parmtag { "script_callback" "kwargs['node'].hm().frictionCallback(kwargs)" } parmtag { "script_callback_language" "python" } } parm { name "state#" label "State" type integer nolabel default { "0" } menu usetokenvalue { "0" "Dry and Clean Surfaces" "1" "Lubricated and Greasy Surfaces" } range { 0 10 } parmtag { "script_callback" "kwargs['node'].hm().frictionCallback(kwargs)" } parmtag { "script_callback_language" "python" } } parm { name "adddensity#" label "Add Density" type toggle nolabel joinnext default { "1" } } parm { name "density#" label "Density (kg/m3)" type string joinnext default { [ "chs(\"material\"+opdigits($CH))" hscript-expr ] } disablewhen "{ parm == 0 }" } parm { name "adduserdensity#" label "User Density" type toggle joinnext default { "0" } hidewhen "{ adddensity# == 0 }" } parm { name "userdensity#" label "User Density (kg/m3)" type float nolabel joinnext default { "1000" } disablewhen "{ adduserdensity# == 0 }" hidewhen "{ adddensity# == 0 }" range { 0 10000 } } parm { name "useuserdensityvar#" label "Var" type toggle joinnext default { "0" } disablewhen "{ adduserdensity# == 0 }" hidewhen "{ adddensity# == 0 }" } parm { name "userdensityvar#" label "Density Var" type float nolabel default { "0.1" } disablewhen "{ useuserdensityvar# == 0 } { adduserdensity# == 0 }" hidewhen "{ adddensity# == 0 }" range { 0! 1! } } parm { name "addbounce#" label "Add Bounce" type toggle nolabel joinnext default { "1" } } parm { name "bounce#" label "Bounce" type string joinnext default { "0.25" } disablewhen "{ parm == 0 }" } parm { name "adduserbounce#" label "User Bounce" type toggle joinnext default { "0" } hidewhen "{ addbounce# == 0 }" } parm { name "userbounce#" label "Bounce" type float nolabel joinnext default { "0.5" } disablewhen "{ adduserbounce# == 0 }" hidewhen "{ addbounce# == 0 }" range { 0 1 } } parm { name "useuserbouncevar#" label "Var" type toggle joinnext default { "0" } disablewhen "{ adduserbounce# == 0 }" hidewhen "{ addbounce# == 0 }" } parm { name "userbouncevar#" label "Bounce Var" type float nolabel default { "0.1" } disablewhen "{ useuserbouncevar# == 0 } { adduserbounce# == 0 }" hidewhen "{ addbounce# == 0 }" range { 0! 1! } } parm { name "addfriction#" label "Add Friction" type toggle nolabel joinnext default { "0" } parmtag { "script_callback" "" } parmtag { "script_callback_language" "python" } } parm { name "friction#" label "Friction" type string joinnext default { "1" } disablewhen "{ parm == 0 }" } parm { name "adduserfriction#" label "User Friction" type toggle joinnext default { "0" } hidewhen "{ addfriction# == 0 }" } parm { name "userfriction#" label "Friction" type float nolabel joinnext default { "1" } disablewhen "{ adduserfriction# == 0 }" hidewhen "{ addfriction# == 0 }" range { 0 1 } } parm { name "useuserfrictionvar#" label "Var" type toggle joinnext default { "0" } disablewhen "{ adduserfriction# == 0 }" hidewhen "{ addfriction# == 0 }" } parm { name "userfrictionvar#" label "Friction Var" type float nolabel default { "0.1" } disablewhen "{ useuserfrictionvar# == 0 } { adduserfriction# == 0 }" hidewhen "{ addfriction# == 0 }" range { 0! 1! } } parm { name "addrotationalstiffness#" label "Add Rotational Stiffness" type toggle nolabel joinnext default { "0" } parmtag { "script_callback" "" } parmtag { "script_callback_language" "python" } } parm { name "inertialtensorstiffness#" label "Rotational Stiffness" type float joinnext default { "1" } disablewhen "{ addrotationalstiffness# == 0 }" range { 0 1 } } parm { name "useinertialtensorstiffnessvar#" label "Var" type toggle joinnext default { "0" } disablewhen "{ addrotationalstiffness# == 0 }" } parm { name "inertialtensorstiffnessvar#" label "Rotational Stiffness Var" type float nolabel default { "0.1" } disablewhen "{ useinertialtensorstiffnessvar# == 0 } { addrotationalstiffness# == 0 }" range { 0! 1! } } } groupsimple { name "folder0_#_3" label "Constraints" disablewhentab "{ enable# == 0 }" parm { name "addpin#" label "Add Pin" type toggle nolabel joinnext default { "0" } } parm { name "pin#" label "Pin" type integer joinnext default { "1" } disablewhen "{ addpin# == 0 }" range { 0! 1! } } parm { name "pintype#" label "Type" type ordinal joinnext default { "0" } disablewhen "{ addpin# == 0 }" menu usetokenvalue { "0" "Glue" "2" "Soft" "1" "Hard (Deprecated)" } parmtag { "script_action" "import soptoolutils\nidx = kwargs['script_multiparm_index']\nparms = {}\nparms['constraintgroup'] = '@constraint_tag=`opname(opinputpath(\".\", 0))`/hardpinconstraints @constraint_tag=`opname(opinputpath(\".\", 0))`/softpinconstraints'\nparms['collisions'] = 0\nparms['hard_numangularmotors'] = 3\nparms['hard_axis1x'] = 0\nparms['hard_axis1y'] = 0\nparms['hard_axis1z'] = 0\nparms['hard_axis2x'] = 0\nparms['hard_axis2y'] = 0\nparms['hard_axis2z'] = 0\nparms['glue_strength'] = -1\nparms['soft_stiffness'] = 1000000\nn = soptoolutils.buildRBDConstraintPropertiesFromActionButton(kwargs, {'parms':parms})\nn.parm('constrainttype').setExpression('ch(\"../%s/pintype%d\")' % (kwargs['node'].name(), idx))\n" } parmtag { "script_action_help" "Create an RBD Constraint Properties SOP to tweak pin constraints." } parmtag { "script_action_icon" "SOP_rbdconstraintproperties" } parmtag { "script_callback_language" "python" } } parm { name "usepinbounds#" label "Use Bounds" type toggle default { "1" } disablewhen "{ addpin# == 0 }" } } groupsimple { name "folder0_#_6" label "Emission" disablewhentab "{ enable# == 0 }" parm { name "addrbdbulletemit#" label "Add RBD Bullet Emit" type toggle nolabel joinnext default { "0" } } parm { name "rbdbulletemit#" label "RBD Bullet Emit" type integer joinnext default { "1" } disablewhen "{ addrbdbulletemit# == 0 }" range { 0! 1! } } parm { name "userbdbulletemitbounds#" label "Use Bounds" type toggle default { "0" } disablewhen "{ addrbdbulletemit# == 0 }" } } } } parm { name "parm" label "Label" type toggle invisible default { "0" } } } INDXContents=b DialogScript=aT HouLC1033600bb60620f099a0f96ba020LIMITED_COMMERCIAL_FILE!!!# Dialog script for rbdconstraintproperties automatically generated { name rbdconstraintproperties script rbdconstraintproperties label "RBD Constraint Properties" help { "" } inputlabel 1 Geometry inputlabel 2 "Constraint Geometry" inputlabel 3 "Proxy Geometry" inputlabel 4 "Sub-Network Input #4" outputlabel 1 Geometry outputlabel 2 "Constraint Geometry" outputlabel 3 "Proxy Geometry" parm { name "constraintgroup" label "Constraint Group" type string default { "" } menutoggle { [ "result = []" ] [ "geo = hou.pwd().node(\"CONSTRAINTS_IN\").geometry()" ] [ "if geo:" ] [ " for grp in geo.primGroups():" ] [ " result.append(grp.name())" ] [ " result.append(grp.name())" ] [ "return result" ] language python } parmtag { "autoscope" "0000000000000000" } parmtag { "script_action" "import soputils\nkwargs['geometrytype'] = hou.geometryType.Primitives\nkwargs['inputindex'] = 1\nsoputils.selectGroupParm(kwargs)\n" } parmtag { "script_action_help" "Select geometry from an available viewport." } parmtag { "script_action_icon" "BUTTONS_reselect" } } parm { name "enablecolor" label "Enable Color" type toggle nolabel joinnext default { "0" } } parm { name "constraintcolor" label "Color" type color size 3 default { "1" "1" "1" } disablewhen "{ enablecolor == 0 }" range { 0 1 } } parm { name "guidescale" label "Guide Scale" type float default { "0" } range { 0! 1 } parmtag { "autoscope" "0000000000000000" } } groupsimple { name "folder0" label "Constraint Properties" parm { name "constrainttype" label "Constraint Type" type ordinal default { "0" } menu { "glue" "Glue" "soft" "Soft" "hard" "Hard" } } parm { name "constraintdof" label "Degrees of Freedom" type ordinal default { "glue" } disablewhen "{ constrainttype == glue }" hidewhen "{ constrainttype == glue }" menu { "all" "Position and Rotation" "position" "Position Only" "rotation" "Rotation Only" } parmtag { "autoscope" "0000000000000000" } } parm { name "glue_constraintname" label "Constraint Name" type string default { "Glue" } disablewhen "{ constrainttype != glue }" hidewhen "{ constrainttype != glue }" parmtag { "autoscope" "0000000000000000" } } parm { name "glue_strength" label "Strength" type float joinnext default { "10000" } disablewhen "{ constrainttype != glue }" hidewhen "{ constrainttype != glue }" range { 0 20000 } parmtag { "autoscope" "0000000000000000" } } parm { name "glue_strengthscaling" label "strength scaling" type ordinal nolabel default { "0" } hidewhen "{ constrainttype != glue }" menu { "0" "No Scaling" "1" "Scale by Attribute" } } parm { name "glue_strengthattribute" label "Strength Attribute" type string default { "strength" } hidewhen "{ constrainttype != glue } { glue_strengthscaling == 0 }" menureplace { [ "kwargs[\"node\"].hm().listFloatAttributes(kwargs)" ] language python } } parm { name "glue_randomizestrength" label "Randomize Strength" type toggle nolabel joinnext default { "0" } disablewhen "{ constrainttype != glue }" hidewhen "{ constrainttype != glue }" } parm { name "glue_strengthvariance" label "Strength Variance" type float default { "0.8" } disablewhen "{ constrainttype != glue } { glue_randomizestrength == 0 }" hidewhen "{ constrainttype != glue }" range { 0 5 } } parm { name "glue_halflife" label "Half Life" type float joinnext default { "0.1" } disablewhen "{ constrainttype != glue }" hidewhen "{ constrainttype != glue }" range { 0 10 } } parm { name "glue_halflifescaling" label "halflife scaling" type ordinal nolabel default { "0" } hidewhen "{ constrainttype != glue }" menu { "0" "No Scaling" "1" "Scale by Attribute" } } parm { name "glue_halflifeattribute" label "Half Life Attribute" type string default { "impulse_halflife" } hidewhen "{ constrainttype != glue } { glue_halflifescaling == 0 }" menureplace { [ "kwargs[\"node\"].hm().listFloatAttributes(kwargs)" ] language python } } parm { name "glue_propagationrate" label "Propagation Rate" type float joinnext default { "1" } disablewhen "{ constrainttype != glue }" hidewhen "{ constrainttype != glue }" range { 0 1! } } parm { name "glue_propagationratescaling" label "propagation rate scaling" type ordinal nolabel default { "0" } hidewhen "{ constrainttype != glue }" menu { "0" "No Scaling" "1" "Scale by Attribute" } } parm { name "glue_propagationrateattribute" label "Propagation Rate Attribute" type string default { "propagate_rate" } hidewhen "{ constrainttype != glue } { glue_propagationratescaling == 0 }" menureplace { [ "kwargs[\"node\"].hm().listFloatAttributes(kwargs)" ] language python } } parm { name "glue_propagationiterations" label "Propagation Iterations" type integer default { "1" } disablewhen "{ constrainttype != glue }" hidewhen "{ constrainttype != glue }" range { 0 10 } } parm { name "glue_uselocalproperties" label "Use VEXpressions" type toggle default { "0" } hidewhen "{ constrainttype != glue }" } parm { name "glue_localexpression" label "localpropertiesexpression" type string nolabel default { "" } hidewhen "{ constrainttype != glue } { glue_uselocalproperties == 0 }" menu { [ "import vexpressionmenu" ] [ "" ] [ "return vexpressionmenu.buildSnippetMenu('rbdconstraintproperties/gluelocalexpression')" ] language python } parmtag { "editor" "1" } parmtag { "editorlang" "vex" } parmtag { "script_action" "import vexpressionmenu\n\nnode = kwargs['node']\nparmname = 'glue_localexpression'\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" } parmtag { "script_callback_language" "hscript" } } parm { name "soft_constraintname" label "Constraint Name" type string default { "Soft" } disablewhen "{ constrainttype != soft }" hidewhen "{ constrainttype != soft }" parmtag { "autoscope" "0000000000000000" } } parm { name "soft_stiffness" label "Stiffness" type float joinnext default { "10" } disablewhen "{ constrainttype != soft }" hidewhen "{ constrainttype != soft }" range { 0 10 } } parm { name "soft_stiffnessscaling" label "stiffness scaling" type ordinal nolabel default { "0" } hidewhen "{ constrainttype != soft }" menu { "0" "No Scaling" "1" "Scale by Attribute" } } parm { name "soft_stiffnessattribute" label "Stiffness Attribute" type string default { "stiffness" } hidewhen "{ constrainttype != soft } { soft_stiffnessscaling == 0 }" menureplace { [ "kwargs[\"node\"].hm().listFloatAttributes(kwargs)" ] language python } } parm { name "soft_dampingratio" label "Damping Ratio" type float joinnext default { "1" } disablewhen "{ constrainttype != soft }" hidewhen "{ constrainttype != soft }" range { 0 10 } } parm { name "soft_dampingratioscaling" label "dampingratio scaling" type ordinal nolabel default { "0" } hidewhen "{ constrainttype != soft }" menu { "0" "No Scaling" "1" "Scale by Attribute" } } parm { name "soft_dampingratioattribute" label "Damping Ratio Attribute" type string default { "dampingratio" } hidewhen "{ constrainttype != soft } { soft_dampingratioscaling == 0 }" menureplace { [ "kwargs[\"node\"].hm().listFloatAttributes(kwargs)" ] language python } } parm { name "soft_enableangular" label "Override Angular Stiffness and Damping Ratio" type toggle default { "0" } hidewhen "{ constrainttype != soft } { constraintdof == position }" } parm { name "soft_angularstiffness" label "Angular Stiffness" type float joinnext default { "10" } disablewhen "{ soft_enableangular == 0 }" hidewhen "{ constrainttype != soft } { constraintdof == position }" range { 0 10 } } parm { name "soft_angularstiffnessscaling" label "angular stiffness scaling" type ordinal nolabel default { "0" } disablewhen "{ soft_enableangular == 0 }" hidewhen "{ constrainttype != soft } { constraintdof == position }" menu { "0" "No Scaling" "1" "Scale by Attribute" } } parm { name "soft_angularstiffnessattribute" label "Angular Stiffness Attribute" type string default { "angularstiffness" } disablewhen "{ soft_enableangular == 0 }" hidewhen "{ constrainttype != soft } { constraintdof == position } { soft_angularstiffnessscaling == 0 }" menureplace { [ "kwargs[\"node\"].hm().listFloatAttributes(kwargs)" ] language python } } parm { name "soft_angulardampingratio" label "Angular Damping Ratio" type float joinnext default { "1" } disablewhen "{ soft_enableangular == 0 }" hidewhen "{ constrainttype != soft } { constraintdof == position }" range { 0 10 } } parm { name "soft_angulardampingratioscaling" label "angular dampingratio scaling" type ordinal nolabel default { "0" } disablewhen "{ soft_enableangular == 0 }" hidewhen "{ constrainttype != soft } { constraintdof == position }" menu { "0" "No Scaling" "1" "Scale by Attribute" } } parm { name "soft_angulardampingratioattribute" label "Angular Damping Ratio Attribute" type string default { "angulardampingratio" } disablewhen "{ soft_enableangular == 0 }" hidewhen "{ constrainttype != soft } { constraintdof == position } { soft_angulardampingratioscaling == 0 }" menureplace { [ "kwargs[\"node\"].hm().listFloatAttributes(kwargs)" ] language python } } groupcollapsible { name "folder2" label "Plasticity" hidewhen "{ constrainttype != soft }" parm { name "soft_enableplasticity" label "Enable Plasticity" type toggle default { "0" } disablewhen "{ constrainttype != soft }" hidewhen "{ constrainttype != soft } { constraintdof == rotation }" parmtag { "script_callback_language" "python" } } parm { name "soft_plasticthreshold" label "Threshold" type float joinnext default { "0.1" } disablewhen "{ constrainttype != soft } { soft_enableplasticity == 0 }" hidewhen "{ constrainttype != soft } { constraintdof == rotation }" range { 0 10 } } parm { name "soft_plasticthresholdscaling" label "plasticthreshold scaling" type ordinal nolabel default { "0" } disablewhen "{ soft_enableplasticity == 0 }" hidewhen "{ constrainttype != soft } { constraintdof == rotation }" menu { "0" "No Scaling" "1" "Scale by Attribute" } } parm { name "soft_plasticthresholdattribute" label "Threshold Attribute" type string default { "plasticthreshold" } disablewhen "{ soft_enableplasticity == 0 }" hidewhen "{ constrainttype != soft } { soft_plasticthresholdscaling == 0 } { constraintdof == rotation }" menureplace { [ "kwargs[\"node\"].hm().listFloatAttributes(kwargs)" ] language python } } parm { name "soft_plasticthresholdratio" label "Ratio of Current Rest Length" type toggle default { "1" } disablewhen "{ soft_enableplasticity == 0 }" hidewhen "{ constrainttype != soft } { constraintdof == rotation }" } parm { name "soft_plasticrate" label "Rate" type float joinnext default { "1" } disablewhen "{ constrainttype != soft } { soft_enableplasticity == 0 }" hidewhen "{ constrainttype != soft } { constraintdof == rotation }" range { 0 10 } } parm { name "soft_plasticratescaling" label "plasticrate scaling" type ordinal nolabel default { "0" } disablewhen "{ soft_enableplasticity == 0 }" hidewhen "{ constrainttype != soft } { constraintdof == rotation }" menu { "0" "No Scaling" "1" "Scale by Attribute" } } parm { name "soft_plasticrateattribute" label "Rate Attribute" type string default { "plasticrate" } disablewhen "{ soft_enableplasticity == 0 }" hidewhen "{ constrainttype != soft } { soft_plasticratescaling == 0 } { constraintdof == rotation }" menureplace { [ "kwargs[\"node\"].hm().listFloatAttributes(kwargs)" ] language python } } parm { name "soft_plastichardening" label "Hardening" type float joinnext default { "1" } disablewhen "{ constrainttype != soft } { soft_enableplasticity == 0 }" hidewhen "{ constrainttype != soft } { constraintdof == rotation }" range { 0 10 } } parm { name "soft_plastichardeningscaling" label "plastichardening scaling" type ordinal nolabel default { "0" } disablewhen "{ soft_enableplasticity == 0 }" hidewhen "{ constrainttype != soft } { constraintdof == rotation }" menu { "0" "No Scaling" "1" "Scale by Attribute" } } parm { name "soft_plastichardeningattribute" label "Hardening Attribute" type string default { "plastichardening" } disablewhen "{ soft_enableplasticity == 0 }" hidewhen "{ constrainttype != soft } { soft_plastichardeningscaling == 0 } { constraintdof == rotation }" menureplace { [ "kwargs[\"node\"].hm().listFloatAttributes(kwargs)" ] language python } } parm { name "soft_enableangularplasticity" label "Enable Angular Plasticity" type toggle default { "0" } disablewhen "{ constrainttype != soft } { soft_enableangular == 0 }" hidewhen "{ constrainttype != soft } { constraintdof == position }" parmtag { "script_callback_language" "python" } } parm { name "soft_angularplasticthreshold" label "Angular Threshold" type float joinnext default { "10" } disablewhen "{ constrainttype != soft } { soft_enableangular == 0 } { soft_enableangularplasticity == 0 }" hidewhen "{ constrainttype != soft } { constraintdof == position }" range { 0! 360 } } parm { name "soft_angularplasticthresholdscaling" label "angularplasticthreshold scaling" type ordinal nolabel default { "0" } disablewhen "{ soft_enableangular == 0 } { soft_enableangularplasticity == 0 }" hidewhen "{ constrainttype != soft } { constraintdof == position }" menu { "0" "No Scaling" "1" "Scale by Attribute" } } parm { name "soft_angularplasticthresholdattribute" label "Angular Threshold Attribute" type string default { "angularplasticthreshold" } disablewhen "{ soft_enableangular == 0 } { soft_enableangularplasticity == 0 }" hidewhen "{ constrainttype != soft } { soft_angularplasticthresholdscaling == 0 } { constraintdof == position }" menureplace { [ "kwargs[\"node\"].hm().listFloatAttributes(kwargs)" ] language python } } parm { name "soft_angularplasticrate" label "Angular Rate" type float joinnext default { "1" } disablewhen "{ constrainttype != soft } { soft_enableangular == 0 } { soft_enableangularplasticity == 0 }" hidewhen "{ constrainttype != soft } { constraintdof == position }" range { 0 10 } } parm { name "soft_angularplasticratescaling" label "angularplasticrate scaling" type ordinal nolabel default { "0" } disablewhen "{ soft_enableangular == 0 } { soft_enableangularplasticity == 0 }" hidewhen "{ constrainttype != soft } { constraintdof == position }" menu { "0" "No Scaling" "1" "Scale by Attribute" } } parm { name "soft_angularplasticrateattribute" label "Angular Rate Attribute" type string default { "angularplasticrate" } disablewhen "{ soft_enableangular == 0 } { soft_enableangularplasticity == 0 }" hidewhen "{ constrainttype != soft } { soft_angularplasticratescaling == 0 } { constraintdof == position }" menureplace { [ "kwargs[\"node\"].hm().listFloatAttributes(kwargs)" ] language python } } parm { name "soft_angularplastichardening" label "Angular Hardening" type float joinnext default { "1" } disablewhen "{ constrainttype != soft } { soft_enableangular == 0 } { soft_enableangularplasticity == 0 }" hidewhen "{ constrainttype != soft } { constraintdof == position }" range { 0 10 } } parm { name "soft_angularplastichardeningscaling" label "angularplastichardening scaling" type ordinal nolabel default { "0" } disablewhen "{ soft_enableangular == 0 } { soft_enableangularplasticity == 0 }" hidewhen "{ constrainttype != soft } { constraintdof == position }" menu { "0" "No Scaling" "1" "Scale by Attribute" } } parm { name "soft_angularplastichardeningattribute" label "Angular Hardening Attribute" type string default { "angularplastichardening" } disablewhen "{ soft_enableangular == 0 } { soft_enableangularplasticity == 0 }" hidewhen "{ constrainttype != soft } { soft_angularplastichardeningscaling == 0 } { constraintdof == position }" menureplace { [ "kwargs[\"node\"].hm().listFloatAttributes(kwargs)" ] language python } } } parm { name "soft_constraintiterations" label "Constraint Iterations" type integer default { "-1" } disablewhen "{ constrainttype != soft }" hidewhen "{ constrainttype != soft }" range { 0 10 } } parm { name "soft_disablecollisions" label "Disable Collisions" type toggle default { "0" } disablewhen "{ constrainttype != soft }" hidewhen "{ constrainttype != soft }" } parm { name "soft_uselocalproperties" label "Use VEXpressions" type toggle default { "0" } hidewhen "{ constrainttype != soft }" } parm { name "soft_localexpression" label "localpropertiesexpression" type string nolabel default { "" } hidewhen "{ constrainttype != soft } { soft_uselocalproperties == 0 }" menu { [ "import vexpressionmenu" ] [ "" ] [ "return vexpressionmenu.buildSnippetMenu('rbdconstraintproperties/softlocalexpression')" ] language python } parmtag { "editor" "1" } parmtag { "editorlang" "vex" } parmtag { "script_action" "import vexpressionmenu\n\nnode = kwargs['node']\nparmname = 'soft_localexpression'\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" } parmtag { "script_callback_language" "hscript" } } parm { name "hard_constraintname" label "Constraint Name" type string default { "Hard" } disablewhen "{ constrainttype != hard }" hidewhen "{ constrainttype != hard }" parmtag { "autoscope" "0000000000000000" } } parm { name "hard_cfm" label "Constraint Force Mixing" type float joinnext default { "0" } disablewhen "{ constrainttype != hard }" hidewhen "{ constrainttype != hard }" range { 0! 1 } } parm { name "hard_cfmscaling" label "cfm scaling" type ordinal nolabel default { "0" } hidewhen "{ constrainttype != hard }" menu { "0" "No Scaling" "1" "Scale by Attribute" } } parm { name "hard_cfmattribute" label "Constraint Force Mixing Attribute" type string default { "cfm" } hidewhen "{ constrainttype != hard } { hard_cfmscaling == 0 }" menureplace { [ "kwargs[\"node\"].hm().listFloatAttributes(kwargs)" ] language python } } parm { name "hard_erp" label "Error Reduction Parameter" type float joinnext default { "0.2" } disablewhen "{ constrainttype != hard }" hidewhen "{ constrainttype != hard }" range { 0! 1 } } parm { name "hard_erpscaling" label "erp scaling" type ordinal nolabel default { "0" } hidewhen "{ constrainttype != hard }" menu { "0" "No Scaling" "1" "Scale by Attribute" } } parm { name "hard_erpattribute" label "Error Reduction Parameter Attribute" type string default { "erp" } hidewhen "{ constrainttype != hard } { hard_erpscaling == 0 }" menureplace { [ "kwargs[\"node\"].hm().listFloatAttributes(kwargs)" ] language python } } groupcollapsible { name "hard_angularmotor" label "Angular Motor" hidewhentab "{ constrainttype != hard }" hidewhen "{ constrainttype != hard }" parm { name "hard_numangularmotors" label "Number of Motors" type integer default { "-1" } range { -1! 3! } } parm { name "hard_axis1" label "Axis 1" type vector size 3 default { "1" "0" "0" } disablewhen "{ hard_numangularmotors <= 0 }" range { -1 1 } } parm { name "hard_axis2" label "Axis 2" type vector size 3 default { "0" "1" "0" } disablewhen "{ hard_numangularmotors < 2 }" range { -1 1 } } parm { name "hard_targetw" label "Relative Angular Velocity" type float size 3 default { "0" "0" "0" } disablewhen "{ hard_numangularmotors <= 0 }" range { 0 10 } } parm { name "hard_maxangularimpulse" label "Max Impulse" type float size 3 default { "0" "0" "0" } disablewhen "{ hard_numangularmotors <= 0 }" range { 0 10 } } } parm { name "hard_constraintiterations" label "Constraint Iterations" type integer default { "-1" } disablewhen "{ constrainttype != hard }" hidewhen "{ constrainttype != hard }" range { 0 10 } } parm { name "hard_disablecollisions" label "Disable Collisions" type toggle default { "0" } disablewhen "{ constrainttype != hard }" hidewhen "{ constrainttype != hard }" } parm { name "hard_uselocalproperties" label "Use VEXpressions" type toggle default { "0" } hidewhen "{ constrainttype != hard }" } parm { name "hard_localexpression" label "localpropertiesexpression" type string nolabel default { "" } hidewhen "{ constrainttype != hard } { hard_uselocalproperties == 0 }" menu { [ "import vexpressionmenu" ] [ "" ] [ "return vexpressionmenu.buildSnippetMenu('rbdconstraintproperties/hardlocalexpression')" ] language python } parmtag { "editor" "1" } parmtag { "editorlang" "vex" } parmtag { "script_action" "import vexpressionmenu\n\nnode = kwargs['node']\nparmname = 'hard_localexpression'\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" } parmtag { "script_callback_language" "hscript" } } parm { name "cone_constraintname" label "Constraint Name" type string invisible default { "ConeTwist" } disablewhen "{ constrainttype != cone }" hidewhen "{ constrainttype != cone }" parmtag { "autoscope" "0000000000000000" } } parm { name "cone_max_up_rotation" label "Max Up Rotation" type float invisible default { "180" } disablewhen "{ constrainttype != cone }" hidewhen "{ constrainttype != cone }" range { 0 180 } } parm { name "cone_max_out_rotation" label "Max Out Rotation" type float invisible default { "180" } disablewhen "{ constrainttype != cone }" hidewhen "{ constrainttype != cone }" range { 0 180 } } parm { name "cone_max_twist" label "Max Twist" type float invisible default { "0" } disablewhen "{ constrainttype != cone }" hidewhen "{ constrainttype != cone }" range { 0 180 } } parm { name "cone_softness" label "Softness" type float invisible default { "1" } disablewhen "{ constrainttype != cone }" hidewhen "{ constrainttype != cone }" range { 0 1 } } parm { name "cone_cfm" label "Constraint Force Mixing" type float invisible default { "0" } disablewhen "{ constrainttype != cone }" hidewhen "{ constrainttype != cone }" range { 0 1 } } parm { name "cone_bias_factor" label "Bias Factor" type float invisible default { "0.3" } disablewhen "{ constrainttype != cone }" hidewhen "{ constrainttype != cone }" range { 0! 1! } } parm { name "cone_relaxation_factor" label "Relaxation Factor" type float invisible default { "1" } disablewhen "{ constrainttype != cone }" hidewhen "{ constrainttype != cone }" range { 0! 1! } } parm { name "cone_positioncfm" label "Position CFM" type float invisible default { "0" } disablewhen "{ constrainttype != cone }" hidewhen "{ constrainttype != cone }" range { 0 1 } } parm { name "cone_positionerp" label "Position ERP" type float invisible default { "0.3" } disablewhen "{ constrainttype != cone }" hidewhen "{ constrainttype != cone }" range { 0 1 } } parm { name "cone_goal_twist_axis" label "Goal Twist Axis" type vector invisible size 3 default { "1" "0" "0" } disablewhen "{ constrainttype != cone }" hidewhen "{ constrainttype != cone }" range { -1 1 } } parm { name "cone_goal_up_axis" label "Goal Up Axis" type vector invisible size 3 default { "0" "1" "0" } disablewhen "{ constrainttype != cone }" hidewhen "{ constrainttype != cone }" range { -1 1 } } parm { name "cone_constrained_twist_axis" label "Constrained Twist Axis" type vector invisible size 3 default { "1" "0" "0" } disablewhen "{ constrainttype != cone }" hidewhen "{ constrainttype != cone }" range { -1 1 } } parm { name "cone_constrained_up_axis" label "Constrained Up Axis" type vector invisible size 3 default { "0" "1" "0" } disablewhen "{ constrainttype != cone }" hidewhen "{ constrainttype != cone }" range { -1 1 } } parm { name "cone_constraintiterations" label "Constraint Iterations" type integer invisible default { "-1" } disablewhen "{ constrainttype != cone }" hidewhen "{ constrainttype != cone }" range { 0 10 } } parm { name "cone_disablecollisions" label "Disable Collisions" type toggle invisible default { "0" } disablewhen "{ constrainttype != cone }" hidewhen "{ constrainttype != cone }" } parm { name "cone_uselocalproperties" label "Use VEXpressions" type toggle invisible default { "0" } hidewhen "{ constrainttype != cone }" } parm { name "cone_localexpression" label "localpropertiesexpression" type string invisible nolabel default { "" } hidewhen "{ constrainttype != cone } { cone_uselocalproperties == 0 }" menu { [ "import vexpressionmenu" ] [ "" ] [ "return vexpressionmenu.buildSnippetMenu('rbdconstraintproperties/conelocalexpression')" ] language python } parmtag { "editor" "1" } parmtag { "editorlang" "vex" } parmtag { "script_action" "import vexpressionmenu\n\nnode = kwargs['node']\nparmname = 'softlocalpropertiesexpression'\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" } parmtag { "script_callback_language" "hscript" } } parm { name "usenextconstraint" label "Switch Constraint Type When Broken" type toggle default { "off" } disablewhen "{ constrainttype != glue }" hidewhen "{ constrainttype != glue }" parmtag { "autoscope" "0000000000000000" } } groupsimple { name "folder1" label "Next Constraint" disablewhentab "{ constrainttype != glue } { usenextconstraint == 0 }" hidewhentab "{ constrainttype != glue } { usenextconstraint == 0 }" parm { name "next_constrainttype" label "Constraint Type" type ordinal default { "soft" } disablewhen "{ usenextconstraint == 0 }" menu { "soft" "Soft" } } parm { name "next_constraintdof" label "Degrees of Freedom" type ordinal default { "soft" } disablewhen "{ usenextconstraint == 0 }" menu { "all" "Position and Rotation" "position" "Position Only" "rotation" "Rotation Only" } parmtag { "autoscope" "0000000000000000" } } parm { name "next_soft_constraintname" label "Constraint Name" type string default { "Soft" } disablewhen "{ usenextconstraint == 0 } { next_constrainttype != soft }" hidewhen "{ next_constrainttype != soft }" parmtag { "autoscope" "0000000000000000" } } parm { name "next_soft_stiffness" label "Stiffness" type float joinnext default { "10" } disablewhen "{ usenextconstraint == 0 } { next_constrainttype != soft }" hidewhen "{ next_constrainttype != soft }" range { 0 10 } } parm { name "next_soft_stiffnessscaling" label "stiffness scaling" type ordinal nolabel default { "0" } hidewhen "{ next_constrainttype != soft }" menu { "0" "No Scaling" "1" "Scale by Attribute" } } parm { name "next_soft_stiffnessattribute" label "Stiffness Attribute" type string default { "stiffness" } hidewhen "{ next_constrainttype != soft } { next_soft_stiffnessscaling == 0 }" menureplace { [ "kwargs[\"node\"].hm().listFloatAttributes(kwargs)" ] language python } } parm { name "next_soft_dampingratio" label "Damping Ratio" type float joinnext default { "1" } disablewhen "{ usenextconstraint == 0 } { next_constrainttype != soft }" hidewhen "{ next_constrainttype != soft }" range { 0 10 } } parm { name "next_soft_dampingratioscaling" label "dampingratio scaling" type ordinal nolabel default { "0" } hidewhen "{ next_constrainttype != soft }" menu { "0" "No Scaling" "1" "Scale by Attribute" } } parm { name "next_soft_dampingratioattribute" label "Damping Ratio Attribute" type string default { "dampingratio" } hidewhen "{ next_constrainttype != soft } { next_soft_dampingratioscaling == 0 }" menureplace { [ "kwargs[\"node\"].hm().listFloatAttributes(kwargs)" ] language python } } parm { name "next_soft_enableangular" label "Override Angular Stiffness and Damping Ratio" type toggle default { "0" } hidewhen "{ next_constrainttype != soft } { next_constraintdof == position }" } parm { name "next_soft_angularstiffness" label "Angular Stiffness" type float joinnext default { "10" } disablewhen "{ next_soft_enableangular == 0 }" hidewhen "{ next_constrainttype != soft } { next_constraintdof == position }" range { 0 10 } } parm { name "next_soft_angularstiffnessscaling" label "angular stiffness scaling" type ordinal nolabel default { "0" } disablewhen "{ next_soft_enableangular == 0 }" hidewhen "{ next_constrainttype != soft } { next_constraintdof == position }" menu { "0" "No Scaling" "1" "Scale by Attribute" } } parm { name "next_soft_angularstiffnessattribute" label "Angular Stiffness Attribute" type string default { "angularstiffness" } disablewhen "{ next_soft_enableangular == 0 }" hidewhen "{ next_constrainttype != soft } { next_constraintdof == position } { next_soft_angularstiffnessscaling == 0 }" menureplace { [ "kwargs[\"node\"].hm().listFloatAttributes(kwargs)" ] language python } } parm { name "next_soft_angulardampingratio" label "Angular Damping Ratio" type float joinnext default { "1" } disablewhen "{ next_soft_enableangular == 0 }" hidewhen "{ next_constrainttype != soft } { next_constraintdof == position }" range { 0 10 } } parm { name "next_soft_angulardampingratioscaling" label "angular dampingratio scaling" type ordinal nolabel default { "0" } disablewhen "{ next_soft_enableangular == 0 }" hidewhen "{ next_constrainttype != soft } { next_constraintdof == position }" menu { "0" "No Scaling" "1" "Scale by Attribute" } } parm { name "next_soft_angulardampingratioattribute" label "Angular Damping Ratio Attribute" type string default { "angulardampingratio" } disablewhen "{ next_soft_enableangular == 0 }" hidewhen "{ next_constrainttype != soft } { next_constraintdof == position } { next_soft_angulardampingratioscaling == 0 }" menureplace { [ "kwargs[\"node\"].hm().listFloatAttributes(kwargs)" ] language python } } groupcollapsible { name "folder3" label "Plasticity" hidewhen "{ next_constrainttype != soft }" parm { name "next_soft_enableplasticity" label "Enable Plasticity" type toggle default { "0" } hidewhen "{ next_constrainttype != soft } { next_constraintdof == rotation }" } parm { name "next_soft_plasticthreshold" label "Threshold" type float joinnext default { "0.1" } disablewhen "{ next_constrainttype != soft } { next_soft_enableplasticity == 0 }" hidewhen "{ next_constrainttype != soft } { next_constraintdof == rotation }" range { 0 10 } } parm { name "next_soft_plasticthresholdscaling" label "plasticthreshold scaling" type ordinal nolabel default { "0" } disablewhen "{ next_soft_enableplasticity == 0 }" hidewhen "{ next_constrainttype != soft } { next_constraintdof == rotation }" menu { "0" "No Scaling" "1" "Scale by Attribute" } } parm { name "next_soft_plasticthresholdattribute" label "Threshold Attribute" type string default { "plasticthreshold" } disablewhen "{ next_soft_enableplasticity == 0 }" hidewhen "{ next_constrainttype != soft } { next_soft_plasticthresholdscaling == 0 } { next_constraintdof == rotation }" menureplace { [ "kwargs[\"node\"].hm().listFloatAttributes(kwargs)" ] language python } } parm { name "next_soft_plasticthresholdratio" label "Ratio of Current Rest Length" type toggle default { "1" } disablewhen "{ next_soft_enableplasticity == 0 }" hidewhen "{ next_constrainttype != soft } { next_constraintdof == rotation }" } parm { name "next_soft_plasticrate" label "Rate" type float joinnext default { "1" } disablewhen "{ next_constrainttype != soft } { next_soft_enableplasticity == 0 }" hidewhen "{ next_constrainttype != soft } { next_constraintdof == rotation }" range { 0 10 } } parm { name "next_soft_plasticratescaling" label "plasticrate scaling" type ordinal nolabel default { "0" } disablewhen "{ next_soft_enableplasticity == 0 }" hidewhen "{ next_constrainttype != soft } { next_constraintdof == rotation }" menu { "0" "No Scaling" "1" "Scale by Attribute" } } parm { name "next_soft_plasticrateattribute" label "Rate Attribute" type string default { "plasticrate" } disablewhen "{ next_soft_enableplasticity == 0 }" hidewhen "{ next_constrainttype != soft } { next_soft_plasticratescaling == 0 } { next_constraintdof == rotation }" menureplace { [ "kwargs[\"node\"].hm().listFloatAttributes(kwargs)" ] language python } } parm { name "next_soft_plastichardening" label "Hardening" type float joinnext default { "1" } disablewhen "{ next_constrainttype != soft } { next_soft_enableplasticity == 0 }" hidewhen "{ next_constrainttype != soft } { next_constraintdof == rotation }" range { 0 10 } } parm { name "next_soft_plastichardeningscaling" label "plastichardening scaling" type ordinal nolabel default { "0" } disablewhen "{ next_soft_enableplasticity == 0 }" hidewhen "{ next_constrainttype != soft } { next_constraintdof == rotation }" menu { "0" "No Scaling" "1" "Scale by Attribute" } } parm { name "next_soft_plastichardeningattribute" label "Hardening Attribute" type string default { "plastichardening" } disablewhen "{ next_soft_enableplasticity == 0 }" hidewhen "{ next_constrainttype != soft } { next_soft_plastichardeningscaling == 0 } { next_constraintdof == rotation }" menureplace { [ "kwargs[\"node\"].hm().listFloatAttributes(kwargs)" ] language python } } parm { name "next_soft_enableangularplasticity" label "Enable Angular Plasticity" type toggle default { "0" } disablewhen "{ next_soft_enableangular == 0 }" hidewhen "{ next_constrainttype != soft } { next_constraintdof == position }" } parm { name "next_soft_angularplasticthreshold" label "Angular Threshold" type float joinnext default { "10" } disablewhen "{ next_soft_enableangular == 0 } { next_constrainttype != soft } { next_soft_enableangularplasticity == 0 }" hidewhen "{ next_constrainttype != soft } { next_constraintdof == position }" range { 0! 360 } } parm { name "next_soft_angularplasticthresholdscaling" label "angularplasticthreshold scaling" type ordinal nolabel default { "0" } disablewhen "{ next_soft_enableangular == 0 } { next_soft_enableangularplasticity == 0 }" hidewhen "{ next_constrainttype != soft } { next_constraintdof == position }" menu { "0" "No Scaling" "1" "Scale by Attribute" } } parm { name "next_soft_angularplasticthresholdattribute" label "Angular Threshold Attribute" type string default { "angularplasticthreshold" } disablewhen "{ next_soft_enableangular == 0 } { next_soft_enableangularplasticity == 0 }" hidewhen "{ next_constrainttype != soft } { next_soft_angularplasticthresholdscaling == 0 } { next_constraintdof == position }" menureplace { [ "kwargs[\"node\"].hm().listFloatAttributes(kwargs)" ] language python } } parm { name "next_soft_angularplasticrate" label "Angular Rate" type float joinnext default { "1" } disablewhen "{ next_soft_enableangular == 0 } { next_constrainttype != soft } { next_soft_enableangularplasticity == 0 }" hidewhen "{ next_constrainttype != soft } { next_constraintdof == position }" range { 0 10 } } parm { name "next_soft_angularplasticratescaling" label "angularplasticrate scaling" type ordinal nolabel default { "0" } disablewhen "{ next_soft_enableangular == 0 } { next_soft_enableangularplasticity == 0 }" hidewhen "{ next_constrainttype != soft } { next_constraintdof == position }" menu { "0" "No Scaling" "1" "Scale by Attribute" } } parm { name "next_soft_angularplasticrateattribute" label "Angular Rate Attribute" type string default { "angularplasticrate" } disablewhen "{ next_soft_enableangular == 0 } { next_soft_enableangularplasticity == 0 }" hidewhen "{ next_constrainttype != soft } { next_soft_angularplasticratescaling == 0 } { next_constraintdof == position }" menureplace { [ "kwargs[\"node\"].hm().listFloatAttributes(kwargs)" ] language python } } parm { name "next_soft_angularplastichardening" label "Angular Hardening" type float joinnext default { "1" } disablewhen "{ next_soft_enableangular == 0 } { next_constrainttype != soft } { next_soft_enableangularplasticity == 0 }" hidewhen "{ next_constrainttype != soft } { next_constraintdof == position }" range { 0 10 } } parm { name "next_soft_angularplastichardeningscaling" label "angularplastichardening scaling" type ordinal nolabel default { "0" } disablewhen "{ next_soft_enableangular == 0 } { next_soft_enableangularplasticity == 0 }" hidewhen "{ next_constrainttype != soft } { next_constraintdof == position }" menu { "0" "No Scaling" "1" "Scale by Attribute" } } parm { name "next_soft_angularplastichardeningattribute" label "Angular Hardening Attribute" type string default { "angularplastichardening" } disablewhen "{ next_soft_enableangular == 0 } { next_soft_enableangularplasticity == 0 }" hidewhen "{ next_constrainttype != soft } { next_soft_angularplastichardeningscaling == 0 } { next_constraintdof == position }" menureplace { [ "kwargs[\"node\"].hm().listFloatAttributes(kwargs)" ] language python } } } parm { name "next_soft_constraintiterations" label "Constraint Iterations" type integer default { "-1" } disablewhen "{ usenextconstraint == 0 } { next_constrainttype != soft }" hidewhen "{ next_constrainttype != soft }" range { 0 10 } } parm { name "next_soft_disablecollisions" label "Disable Collisions" type toggle default { "0" } disablewhen "{ usenextconstraint == 0 } { next_constrainttype != soft }" hidewhen "{ next_constrainttype != soft }" } parm { name "next_soft_uselocalproperties" label "Use VEXpressions" type toggle default { "0" } hidewhen "{ next_constrainttype != soft }" } parm { name "next_soft_localexpression" label "localpropertiesexpression" type string nolabel default { "" } hidewhen "{ next_constrainttype != soft } { next_soft_uselocalproperties == 0 }" menu { [ "import vexpressionmenu" ] [ "" ] [ "return vexpressionmenu.buildSnippetMenu('rbdconstraintproperties/softlocalexpression')" ] language python } parmtag { "editor" "1" } parmtag { "editorlang" "vex" } parmtag { "script_action" "import vexpressionmenu\n\nnode = kwargs['node']\nparmname = 'next_soft_localexpression'\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" } parmtag { "script_callback_language" "hscript" } } parm { name "next_hard_constraintname" label "Constraint Name" type string invisible default { "Hard" } disablewhen "{ next_constrainttype != hard }" hidewhen "{ next_constrainttype != hard }" parmtag { "autoscope" "0000000000000000" } } parm { name "next_hard_cfm" label "Constraint Force Mixing" type float invisible default { "0" } disablewhen "{ next_constrainttype != hard }" hidewhen "{ next_constrainttype != hard }" range { 0! 1 } } parm { name "next_hard_erp" label "Error Reduction Parameter" type float invisible default { "0.2" } disablewhen "{ next_constrainttype != hard }" hidewhen "{ next_constrainttype != hard }" range { 0! 1 } } groupcollapsible { name "next_hard_angularmotor" label "Angular Motor" invisibletab hidewhentab "{ next_constrainttype != hard }" hidewhen "{ next_constrainttype != hard }" parm { name "next_hard_numangularmotors" label "Number of Motors" type integer invisible default { "0" } range { 0! 3! } } parm { name "next_hard_axis1" label "Axis 1" type vector invisible size 3 default { "1" "0" "0" } disablewhen "{ next_hard_numangularmotors == 0 }" range { -1 1 } } parm { name "next_hard_axis2" label "Axis 2" type vector invisible size 3 default { "0" "1" "0" } disablewhen "{ next_hard_numangularmotors < 2 }" range { -1 1 } } parm { name "next_hard_targetw" label "Relative Angular Velocity" type float invisible size 3 default { "0" "0" "0" } disablewhen "{ next_hard_numangularmotors == 0 }" range { 0 10 } } parm { name "next_hard_maxangularimpulse" label "Max Impulse" type float invisible size 3 default { "0" "0" "0" } disablewhen "{ next_hard_numangularmotors == 0 }" range { 0 10 } } } parm { name "next_hard_constraintiterations" label "Constraint Iterations" type integer invisible default { "-1" } disablewhen "{ next_constrainttype != hard }" hidewhen "{ next_constrainttype != hard }" range { 0 10 } } parm { name "next_hard_disablecollisions" label "Disable Collisions" type toggle invisible default { "0" } disablewhen "{ next_constrainttype != hard }" hidewhen "{ next_constrainttype != hard }" } parm { name "next_hard_uselocalproperties" label "Use VEXpressions" type toggle invisible default { "0" } disablewhen "{ next_constrainttype != hard }" hidewhen "{ next_constrainttype != hard }" } parm { name "next_hard_localexpression" label "localpropertiesexpression" type string invisible nolabel default { "" } hidewhen "{ next_constrainttype != hard } { next_hard_uselocalproperties == 0 }" menu { [ "import vexpressionmenu" ] [ "" ] [ "return vexpressionmenu.buildSnippetMenu('rbdconstraintproperties/hardlocalexpression')" ] language python } parmtag { "editor" "1" } parmtag { "editorlang" "vex" } parmtag { "script_action" "import vexpressionmenu\n\nnode = kwargs['node']\nparmname = 'softlocalpropertiesexpression'\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" } parmtag { "script_callback_language" "hscript" } } } } } INDXContents=b DialogScript=GaT HouLC1033600bb60620f099c0f96ba020LIMITED_COMMERCIAL_FILE!!!# Dialog script for rbdcustomfracture::1.0 automatically generated { name rbdcustomfracture::1.0 script rbdcustomfracture::1.0 label "RBD Custom fracture" help { "" } inputlabel 1 Geometry inputlabel 2 "Proxy Geometry" inputlabel 3 "Cutting Geometry" parmtag { inputisref3 1 } inputlabel 4 "Sub-Network Input #4" outputlabel 1 Geometry outputlabel 2 "Constraint Geometry" outputlabel 3 "Proxy Geometry" parm { name "randomseed" label "Random Seed" type float default { "0" } range { 0 10 } } group { name "folder0" label "Primary Fracture" parm { name "inputsurface" label "Treat As" type ordinal default { "solid" } menu { "solid" "Solid" "surface" "Surface" } parmtag { "autoscope" "0000000000000000" } } parm { name "detriangulate" label "Detriangulate" type ordinal default { "all" } menu { "none" "No Polygons" "unchanged" "Only Unchanged Polygons" "all" "All Polygons" } parmtag { "autoscope" "0000000000000000" } } groupsimple { name "scatter" label "Cutting Geometry" parm { name "scattercuttinggeo" label "Scatter Cutting Geo" type toggle default { "1" } } parm { name "scatterfrom" label "Scatter From" type ordinal default { "volume" } disablewhen "{ scattercuttinggeo == 0 }" menu { "volume" "Volume" "attribute" "Attribute" } } parm { name "cuttergeo" label "Cutter Geo" type integer default { "0" } disablewhen "{ scattercuttinggeo == 0 }" menu { "0" "Grid" "1" "Sphere" "2" "User Input" } range { 0 10 } } parm { name "spherefreq" label "Frequency" type integer default { "2" } disablewhen "{ scattercuttinggeo == 0 }" hidewhen "{ cuttergeo != 1 }" range { 1! 10 } parmtag { "autoscope" "0000000000000000" } } parm { name "scatterpts" label "Scatter Points" type integer joinnext default { "5" } disablewhen "{ scattercuttinggeo == 0 }" range { 1 100 } parmtag { "autoscope" "0000000000000000" } } parm { name "scalebyattribute" label "scalebyattribute" type ordinal nolabel default { "0" } disablewhen "{ scattercuttinggeo == 0 }" menu { "0" "No Scaling" "1" "Scale by Attribute" } parmtag { "autoscope" "0000000000000000" } parmtag { "script_callback_language" "python" } } parm { name "scaleattribute" label "Scaling Attribute" type string default { "density" } disablewhen "{ scattercuttinggeo == 0 }" hidewhen "{ scalebyattribute == 0 }" menureplace { [ "kwargs[\"node\"].hm().listFloatAttributes(kwargs)" ] language python } parmtag { "autoscope" "0000000000000000" } parmtag { "script_callback_language" "python" } } parm { name "scatterseed" label "Scatter Seed" type float default { "0" } disablewhen "{ scattercuttinggeo == 0 }" range { 0 10 } parmtag { "autoscope" "0000000000000000" } } parm { name "scatternormal" label "Scatter Normal" type vector size 3 default { "0" "1" "0" } range { 0 1 } parmtag { "autoscope" "0000000000000000" } } parm { name "randomizenormal" label "Randomize Normal" type float default { "1" } range { 0! 1 } parmtag { "autoscope" "0000000000000000" } } parm { name "scatterattrib" label "Attribute Name" type string default { "" } disablewhen "{ scatterfrom != attribute } { scattercuttinggeo == 0 }" hidewhen "{ scatterfrom != attribute }" menureplace { [ "opmenu -l -a scatter1 densityattrib" ] } } parm { name "usecutterinput" label "Use Input Geo" type toggle nolabel joinnext default { "0" } } parm { name "cutterinputgroup" label "Input Cutting Geo" type string default { "" } disablewhen "{ usecutterinput == 0 }" menutoggle { [ "opmenu -l -a blast1 group" ] } parmtag { "autoscope" "0000000000000000" } } parm { name "trimcuttinggeo" label "Trim Cutting Geometry" type toggle joinnext default { "0" } parmtag { "script_callback_language" "python" } } parm { name "trimdetriangulate" label "Detriangulate Cutting Geo" type ordinal default { "all" } disablewhen "{ trimcuttinggeo == 0 }" menu { "none" "No Polygons" "unchanged" "Only Unchanged Polygons" "all" "All Polygons" "clip" "Clip Polygons" } parmtag { "autoscope" "0000000000000000" } } } groupsimple { name "volume" label "Fog Volume" hidewhentab "{ scatterfrom != volume }" parm { name "volumenoisetype" label "Noise Type" type string default { "snoise" } menu { "none" "None" "pnoise" "Perlin Noise" "onoise" "Original Perlin Noise" "snoise" "Sparse Convolution Noise" "anoise" "Alligator Noise" "xnoise" "Simplex Noise" "correctnoise" "Zero Centered Perlin Noise" } parmtag { "autoscope" "0000000000000000" } parmtag { "parmvop" "1" } parmtag { "shaderparmcontexts" "cvex" } } parm { name "volumeres" label "Volume Resolution" type integer default { "75" } disablewhen "{ volumenoisetype == none }" range { 0 10 } } parm { name "volumenoisefreq" label "Noise Frequency" type vector size 3 default { "1" "1" "1" } disablewhen "{ volumenoisetype == none }" range { -1 1 } } parm { name "volumenoiseoffset" label "Noise Offset" type vector size 3 default { "0" "0" "0" } disablewhen "{ volumenoisetype == none }" range { -1 1 } } parm { name "cutoffdensity" label "Cutoff Density" type float default { "0.3" } disablewhen "{ volumenoisetype == none }" range { 0! 1! } parmtag { "autoscope" "0000000000000000" } } } parm { name "fractureid" label "Fracture ID" type string default { "custom_fracture" } } } group { name "folder0_1" label "Chipping" parm { name "enablechipping" label "Enable Chipping" type toggle default { "0" } } parm { name "chippingratio" label "Overall Ratio" type float default { "0.5" } disablewhen "{ enablechipping == 0 }" range { 0 1 } } parm { name "chippingseed" label "Overall Seed" type float default { "0" } disablewhen "{ enablechipping == 0 }" range { 0 10 } } parm { name "cornerratio" label "Corner Ratio" type float default { "0.5" } disablewhen "{ enablechipping == 0 }" range { 0! 1! } } parm { name "chippingdepth" label "Cutting Depth" type float default { "1" } disablewhen "{ enablechipping == 0 }" range { 0! 10 } } parm { name "chippingdirectionalnoise" label "Directional Noise" type float default { "0.125" } disablewhen "{ enablechipping == 0 }" range { 0! 1! } parmtag { "autoscope" "0000000000000000" } } parm { name "chippingdetriangulate" label "Detriangulate" type ordinal default { "all" } disablewhen "{ enablechipping == 0 }" menu { "none" "No Polygons" "unchanged" "Only Unchanged Polygons" "all" "All Polygons" } parmtag { "autoscope" "0000000000000000" } } } group { name "folder0_2" label "Detail" parm { name "detailsize" label "Detail Size" type float default { "0.05" } range { 0 10 } } parm { name "sepparm" label "Separator" type separator default { "" } } parm { name "edgedetail" label "Edge Detail" type toggle default { "0" } parmtag { "script_callback" "" } } parm { name "edgenoiseheight" label "Noise Height" type float default { "0.1" } disablewhen "{ edgedetail == 0 }" range { 0 10 } parmtag { "autoscope" "0000000000000000" } parmtag { "parmvop" "1" } parmtag { "shaderparmcontexts" "cvex" } } parm { name "edgenoisesize" label "Noise Element Size" type float default { "0.2" } disablewhen "{ edgedetail == 0 }" range { 0 10 } parmtag { "autoscope" "0000000000000000" } parmtag { "parmvop" "1" } parmtag { "shaderparmcontexts" "cvex" } } parm { name "sepparm2" label "Separator" type separator default { "" } } parm { name "interiordetail" label "Interior Detail" type toggle default { "0" } disablewhen "{ inputsurface == surface }" } parm { name "interiornoiseamp" label "Noise Amplitude" type float default { "0.25" } disablewhen "{ interiordetail == 0 } { inputsurface == surface }" range { 0 1 } parmtag { "autoscope" "0000000000000000" } parmtag { "parmvop" "1" } parmtag { "shaderparmcontexts" "cvex" } } parm { name "interiornoisetype" label "Noise Type" type string default { "sparse" } disablewhen "{ interiordetail == 0 } { inputsurface == surface }" menu { "value_fast" "Fast" "sparse" "Sparse Convolution" "alligator" "Alligator" "perlin" "Perlin" "flow" "Perlin Flow" "simplex" "Simplex" "worleyFA" "Worley Cellular F1" "worleyFB" "Worley Cellular F2-F1" "mworleyFA" "Manhattan Cellular F1" "mworleyFB" "Manhattan Cellular F2-F1" "cworleyFA" "Chebyshev Cellular F1" "cworleyFB" "Chebyshev Cellular F2-F1" } range { 0 1 } unquoted parmtag { "autoscope" "0000000000000000" } } parm { name "interiornoisefreq" label "Frequency" type float size 3 default { "2.5" "2.5" "2.5" } disablewhen "{ interiordetail == 0 } { inputsurface == surface }" range { 0 10 } parmtag { "autoscope" "0000000000000000" } parmtag { "parmvop" "1" } parmtag { "shaderparmcontexts" "cvex" } } parm { name "noiseoffset" label "Offset" type float size 3 default { "0" "0" "0" } disablewhen "{ interiordetail == 0 } { inputsurface == surface }" range { 0 10 } parmtag { "autoscope" "0000000000000000" } parmtag { "parmvop" "1" } parmtag { "shaderparmcontexts" "cvex" } } groupsimple { name "folder_proxygeometry" label "Proxy Geometry" parm { name "proxygeometry" label "Proxy Geometry" type ordinal default { "0" } menu { "0" "Default" "1" "Convex Decomposition" "2" "Packed Spheres" } } parm { name "maxconcavity" label "Max Concavity" type float default { "0.1" } disablewhen "{ proxygeometry != 1 }" hidewhen "{ proxygeometry != 1 }" range { 0 10 } } parm { name "voxelsize" label "Voxel Size" type float default { "0.1" } disablewhen "{ proxygeometry != 2 }" hidewhen "{ proxygeometry != 2 }" range { 0! 5 } parmtag { "autoscope" "0000000000000000" } } parm { name "radiusmin" label "Min Radius" type float default { "1" } disablewhen "{ proxygeometry != 2 }" hidewhen "{ proxygeometry != 2 }" range { 1e-05! 2 } parmtag { "autoscope" "0000000000000000" } parmtag { "houdini_utils::doc" "The radius of the smallest sphere allowed\n\nIf disabled, allow spheres of any radius greater than zero." } } parm { name "radiusmax" label "Max Radius" type float default { "8" } disablewhen "{ proxygeometry != 2 }" hidewhen "{ proxygeometry != 2 }" range { 1e-05! 100 } parmtag { "autoscope" "0000000000000000" } parmtag { "houdini_utils::doc" "The radius of the largest sphere allowed\n\nIf disabled, allow arbitrarily large spheres." } } parm { name "spheresmax" label "Max Spheres" type integer default { "100" } disablewhen "{ proxygeometry != 2 }" hidewhen "{ proxygeometry != 2 }" range { 1! 200 } parmtag { "autoscope" "0000000000000000" } parmtag { "houdini_utils::doc" "The maximum number of spheres to be generated\n\nIf disabled, allow for up to __Point Count__ spheres to be generated." } } } } group { name "folder0_3" label "Constraints" parm { name "searchradius" label "Search Radius" type float default { "0.05" } range { 0! 10 } parmtag { "autoscope" "0000000000000000" } } parm { name "usetags" label "Use Tags" type toggle default { "0" } parmtag { "script_callback_language" "python" } } } group { name "folder0_4" label "Visualization" parm { name "visualize" label "Visualize" type toggle default { "1" } } } } INDXContents=b DialogScript=<^aT HouLC1033600bb60620f099b0f96ba020LIMITED_COMMERCIAL_FILE!!!# Dialog script for rbdglassfracture::3.0 automatically generated { name rbdglassfracture::3.0 script Sop/rbdmaterialfracture::2.0::rbdglassfracture::2.0 label "RBD Glass Fracture" help { "" } inputlabel 1 "Glass Panel" inputlabel 2 "Impact Points" parmtag { inputisref2 1 } inputlabel 3 "Sub-Network Input #3" inputlabel 4 "Sub-Network Input #4" outputlabel 1 Geometry outputlabel 2 "Constraint Geometry" outputlabel 3 "Proxy Geometry" parm { name "enablecompiling" label "Enable Compiling" type toggle default { "0" } } group { name "folder0" label "Impact Points" parm { name "usescatter" label "Use Scatter" type toggle nolabel joinnext default { "1" } } parm { name "impactscatterpoints" label "Scatter Points" type integer joinnext default { "1" } disablewhen "{ usescatter == 0 }" range { 0 5 } } parm { name "impactscatterpointsscaling" label "impactscatterpointsscaling" type ordinal nolabel default { "0" } disablewhen "{ usescatter == 0 }" menu { "0" "No Scaling" "1" "Scale by Attribute" } parmtag { "script_callback_language" "python" } } parm { name "impactscatterpointsattribute" label "Scatter Points Attribute" type string default { "density" } disablewhen "{ usescatter == 0 }" hidewhen "{ impactscatterpointsscaling == 0 }" menureplace { [ "kwargs[\"node\"].hm().listFloatAttributes(kwargs)" ] language python } parmtag { "script_callback_language" "python" } } parm { name "impactscatterseed" label "Scatter Seed" type float default { "6" } disablewhen "{ usescatter == 0 }" range { 0 10 } } parm { name "sepparm2" label "Separator" type separator default { "" } } parm { name "useinput" label "Use Input Points" type toggle nolabel joinnext default { "0" } } parm { name "inputgroup" label "Input Points" type string default { "" } disablewhen "{ useinput == 0 }" menutoggle { [ "opmenu -l -a split1 group" ] } range { 0 1 } parmtag { "autoscope" "0000000000000000" } parmtag { "script_action" "import soputils\nkwargs['geometrytype'] = hou.geometryType.Points\nkwargs['inputindex'] = 2\nsoputils.selectGroupParm(kwargs)" } parmtag { "script_action_icon" "BUTTONS_reselect" } } } group { name "folder0_1" label "Crack" groupsimple { name "radial_crack" label "Radial Crack" parm { name "radialcracknum" label "Radial Crack Number" type integer joinnext default { "20" } range { 0 40 } } parm { name "radialcrackscaling" label "radialcrackscaling" type ordinal nolabel default { "0" } menu { "0" "No Scaling" "1" "Scale by Attribute" } parmtag { "script_callback_language" "python" } } parm { name "radialcrackattribute" label "Radial Crack Attribute" type string default { "density" } hidewhen "{ radialcrackscaling == 0 }" menureplace { [ "kwargs[\"node\"].hm().listFloatAttributes(kwargs)" ] language python } parmtag { "script_callback_language" "python" } } parm { name "cracknumvariance" label "Number Variance" type integer default { "5" } range { 0 10 } } parm { name "cracknumseed" label "Number Seed" type integer default { "0" } range { 0 10 } } parm { name "radialfractureid" label "Radial Fracture ID" type string default { "glass_radial" } } } groupsimple { name "radial_crack_1" label "Concentric Crack" parm { name "minwidth" label "Minimum Width" type float joinnext default { "0.02" } range { 0 1 } parmtag { "autoscope" "0000000000000000" } } parm { name "minwidthscaling" label "minwidthscaling" type ordinal nolabel default { "0" } menu { "0" "No Scaling" "1" "Scale by Attribute" } parmtag { "script_callback_language" "python" } } parm { name "minwidthattribute" label "Min Width Attribute" type string default { "density" } hidewhen "{ minwidthscaling == 0 }" menureplace { [ "kwargs[\"node\"].hm().listFloatAttributes(kwargs)" ] language python } parmtag { "script_callback_language" "python" } } parm { name "minwidthvariance" label "Min Width Variance" type float default { "0" } range { 0 1 } parmtag { "autoscope" "0000000000000000" } } parm { name "impactspread" label "Impact Spread" type float default { "1.5" } range { 0 1 } parmtag { "autoscope" "0000000000000000" } parmtag { "parmvop" "1" } parmtag { "shaderparmcontexts" "cvex" } } parm { name "sepparm" label "Separator" type separator default { "" } } parm { name "discontinuityfreq" label "Discontinuity Freq" type float size 3 default { "6.5" "6.5" "6.5" } range { 0 10 } parmtag { "autoscope" "0000000000000000" } parmtag { "parmvop" "1" } parmtag { "shaderparmcontexts" "cvex" } } parm { name "discontinuitysize" label "Discontinuity Size" type float default { "19.7" } range { -1 1 } parmtag { "autoscope" "0000000000000000" } parmtag { "parmvop" "1" } parmtag { "shaderparmcontexts" "cvex" } } parm { name "discontinuityoffset" label "Discontinuity Offset" type float default { "0" } range { 0 1 } } parm { name "concentricfractureid" label "Concentric Fracture ID" type string default { "glass_concentric" } } } } group { name "folder0_2" label "Chipping" parm { name "enablechipping" label "Enable Chipping" type toggle default { "1" } } parm { name "chippingratio" label "Overall Ratio" type float default { "0.5" } disablewhen "{ enablechipping == 0 }" range { 0! 1! } parmtag { "autoscope" "0000000000000000" } } parm { name "chippingseed" label "Overall Seed" type float default { "0" } disablewhen "{ enablechipping == 0 }" range { 0 10 } parmtag { "autoscope" "0000000000000000" } } parm { name "cornerratio" label "Corner Ratio" type float default { "0.298" } disablewhen "{ enablechipping == 0 }" range { 0! 1! } parmtag { "autoscope" "0000000000000000" } } parm { name "chippingdepth" label "Cutting Depth" type float default { "1" } disablewhen "{ enablechipping == 0 }" range { 0 10 } parmtag { "autoscope" "0000000000000000" } } parm { name "chippingdirectionalnoise" label "Directional Noise" type float default { "0.125" } disablewhen "{ enablechipping == 0 }" range { 0! 1! } parmtag { "autoscope" "0000000000000000" } } parm { name "chippingdetriangulate" label "Detriangulate" type ordinal default { "all" } disablewhen "{ enablechipping == 0 }" menu { "none" "No Polygons" "unchanged" "Only Unchanged Polygons" "all" "All Polygons" } } } group { name "folder0_3" label "Detail" parm { name "detailsize" label "Detail Size" type float default { "0" } range { 0 10 } } groupsimple { name "noise2" label "Edge Noise" parm { name "enableedgenoise" label "Enable " type toggle default { "1" } } parm { name "fadefromorigin" label "Fade From Origin" type float default { "0.5" } disablewhen "{ enableedgenoise == 0 }" range { 0 1 } } parm { name "fadefromborder" label "Fade From Border" type float default { "0.5" } disablewhen "{ enableedgenoise == 0 }" range { 0 1 } } parm { name "noiseamp" label "Noise Amplitude" type float default { "0.426" } disablewhen "{ enableedgenoise == 0 }" range { -1 1 } parmtag { "autoscope" "0000000000000000" } parmtag { "parmvop" "1" } parmtag { "shaderparmcontexts" "cvex" } } parm { name "noisefreq" label "Noise Frequency" type float size 3 default { "0.66" "0.66" "0.66" } disablewhen "{ enableedgenoise == 0 }" range { 0 10 } parmtag { "autoscope" "0000000000000000" } parmtag { "parmvop" "1" } parmtag { "shaderparmcontexts" "cvex" } } } groupsimple { name "folder_proxygeometry" label "Proxy Geometry" parm { name "useconvexdecomposition" label "Use Convex Decomposition" type toggle default { "0" } disablewhen "{ enableedgenoise == 0 }" } parm { name "maxconcavity" label "Max Concavity" type float default { "0.1" } disablewhen "{ enableedgenoise == 0 } { useconvexdecomposition == 0 }" range { 0! 1 } parmtag { "autoscope" "0000000000000000" } } } } group { name "folder0_4" label "Constraints" parm { name "searchradius" label "Search Radius" type float default { "0.05" } range { 0! 10 } parmtag { "autoscope" "0000000000000000" } } parm { name "usetags" label "Use Tags" type toggle default { "0" } parmtag { "script_callback_language" "python" } } } group { name "folder0_5" label "Visualization" parm { name "guidegeodivide" label "Divide" type float default { "0.05" } range { 0 10 } } } group { name "folder0_6" label "Debugging" parm { name "enablemaxfracturelevel" label "Max Fracture Level" type toggle nolabel joinnext default { "off" } parmtag { "autoscope" "0000000000000000" } } parm { name "maxfracturelevel" label "Max Fracture Level" type integer default { "1" } disablewhen "{ enablemaxfracturelevel == 0 }" range { 1! 10 } parmtag { "autoscope" "0000000000000000" } } parm { name "dosinglepass" label "Do Single Pass" type toggle nolabel joinnext default { "off" } disablewhen "{ enablemaxfracturelevel == 0 }" parmtag { "autoscope" "0000000000000000" } } parm { name "singlepass" label "Single Pass" type integer default { "0" } disablewhen "{ dosinglepass == 0 } { enablemaxfracturelevel == 0 }" range { 0 10 } parmtag { "autoscope" "0000000000000000" } } parm { name "resetcookpass" label "Reset Cached Pass" type button default { "0" } disablewhen "{ dosinglepass == 0 } { enablemaxfracturelevel == 0 }" parmtag { "autoscope" "0000000000000000" } } } } INDXContents=b DialogScript=2uaT HouLC1033600bb60620f099b0f96ba020LIMITED_COMMERCIAL_FILE!!!# Dialog script for rbdinteriordetail automatically generated { name rbdinteriordetail script rbdinteriordetail label "RBD Interior Detail" help { "" } inputlabel 1 Geometry inputlabel 2 "Constraint Geometry" inputlabel 3 "Proxy Geometry" inputlabel 4 "Optional SDF for Depth Sampling" parmtag { inputisref4 1 } outputlabel 1 Geometry outputlabel 2 "Constraint Geometry" outputlabel 3 "Proxy Geometry" parm { name "interiorgroup" label "Interior Group" type string default { "inside" } menutoggle { [ "opmenu -l -a group_outside_prims basegroup" ] } 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" } } groupsimple { name "geometrysettings" label "Geometry" parm { name "adddetail" label "Add Detail" type toggle nolabel joinnext default { "1" } } parm { name "detailsize" label "Detail Size" type float default { "0.25" } disablewhen "{ adddetail == 0 }" range { 0! 1 } } parm { name "computeinteriornormals" label "Compute Interior Normals" type toggle default { "1" } } parm { name "interiorcuspangle" label "Interior Cusp Angle" type float default { "15" } disablewhen "{ computeinteriornormals == 0 }" range { 0! 180! } parmtag { "autoscope" "0000000000000000" } } parm { name "planar" label "Triangulate Non-Planar Detail" type toggle default { "0" } } } groupsimple { name "noisesettings" label "Noise Settings" parm { name "noiseamp" label "Noise Amplitude" type float default { "0.1" } range { 0 1 } parmtag { "autoscope" "0000000000000000" } parmtag { "parmvop" "1" } parmtag { "shaderparmcontexts" "cvex" } } parm { name "noisetype" label "Noise Type" type string default { "sparse" } menu { "value_fast" "Fast" "sparse" "Sparse Convolution" "alligator" "Alligator" "perlin" "Perlin" "flow" "Perlin Flow" "simplex" "Simplex" "worleyFA" "Worley Cellular F1" "worleyFB" "Worley Cellular F2-F1" "mworleyFA" "Manhattan Cellular F1" "mworleyFB" "Manhattan Cellular F2-F1" "cworleyFA" "Chebyshev Cellular F1" "cworleyFB" "Chebyshev Cellular F2-F1" } range { 0 1 } unquoted parmtag { "autoscope" "0000000000000000" } } parm { name "noisefreq" label "Frequency" type float size 3 default { "2.5" "2.5" "2.5" } range { 0 10 } parmtag { "autoscope" "0000000000000000" } parmtag { "parmvop" "1" } parmtag { "shaderparmcontexts" "cvex" } } parm { name "noiseoffset" label "Offset" type float size 3 default { "0" "0" "0" } range { 0 10 } parmtag { "autoscope" "0000000000000000" } parmtag { "parmvop" "1" } parmtag { "shaderparmcontexts" "cvex" } } groupcollapsible { name "fractalsettings" label "Fractal" 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 float default { "8" } disablewhen "{ fractal == none }" hidewhen "{ fractal == none }" range { 0 16 } parmtag { "autoscope" "0000000000000000" } parmtag { "parmvop" "1" } parmtag { "shaderparmcontexts" "cvex" } } parm { name "lac" label "Lacunarity" type float default { "2.01234" } disablewhen "{ fractal == none }" hidewhen "{ fractal == none }" range { 0 4 } parmtag { "autoscope" "0000000000000000" } parmtag { "parmvop" "1" } parmtag { "shaderparmcontexts" "cvex" } } parm { name "rough" label "Roughness" type float default { "0.5" } disablewhen "{ fractal == none }" hidewhen "{ fractal == none }" range { 0 1 } parmtag { "autoscope" "0000000000000000" } parmtag { "parmvop" "1" } parmtag { "shaderparmcontexts" "cvex" } } } groupcollapsible { name "warpingsettings" label "Warping" 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" } hidewhen "{ dolwarp == 0 }" parmtag { "autoscope" "0000000000000000" } parmtag { "parmvop" "1" } parmtag { "shaderparmcontexts" "cvex" } } parm { name "dispfreq" label "Freq" type float default { "1" } hidewhen "{ 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" } hidewhen "{ dolwarp == 0 }" range { -0.5 0.5 } parmtag { "autoscope" "0000000000000000" } parmtag { "parmvop" "1" } parmtag { "shaderparmcontexts" "cvex" } } 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" } hidewhen "{ dogwarp == 0 }" parmtag { "autoscope" "0000000000000000" } parmtag { "parmvop" "1" } parmtag { "shaderparmcontexts" "cvex" } } parm { name "gflow" label "Gradient Warp" type float default { "0.1" } hidewhen "{ dogwarp == 0 }" range { -0.5 0.5 } parmtag { "autoscope" "0000000000000000" } parmtag { "parmvop" "1" } parmtag { "shaderparmcontexts" "cvex" } } } } groupsimple { name "displacementsettings" label "Displacement Scaling" parm { name "visualizenoisescale" label "Visualize Noise Scale" type toggle default { "off" } parmtag { "autoscope" "0000000000000000" } parmtag { "parmvop" "1" } parmtag { "shaderparmcontexts" "cvex" } } parm { name "depthmethod" label "Depth Method" type ordinal default { "0" } menu { "mindist" "Minimum Distance to Exterior" "sdf" "SDF Volume" } parmtag { "script_callback_language" "python" } } parm { name "depthsamplediv" label "Depth Volume Resolution" type integer default { "50" } disablewhen "{ hasinput(3) == 1 } { depthmethod != sdf }" hidewhen "{ depthmethod != sdf }" range { 10! 100 } parmtag { "autoscope" "0000000000000000" } } parm { name "clampmaxdisplacement" label "Clamp Displacement Amount to Depth" type toggle default { "on" } parmtag { "autoscope" "0000000000000000" } parmtag { "parmvop" "1" } parmtag { "shaderparmcontexts" "cvex" } } parm { name "clampdepthpercentage" label "Clamp Depth Percentage" type float default { "0.9" } disablewhen "{ clampmaxdisplacement == 0 }" range { 0 1 } parmtag { "autoscope" "0000000000000000" } parmtag { "parmvop" "1" } parmtag { "shaderparmcontexts" "cvex" } } parm { name "usedepthnoisescaleramp" label "Use Depth / Noise Ramp" type toggle default { "off" } parmtag { "autoscope" "0000000000000000" } parmtag { "parmvop" "1" } parmtag { "shaderparmcontexts" "cvex" } } parm { name "depthnoisecscalebias" label "Depth / Noise Bias" type float default { "0.85" } disablewhen "{ usedepthnoisescaleramp == 1 }" hidewhen "{ usedepthnoisescaleramp == 1 }" range { 0 1 } parmtag { "autoscope" "0000000000000000" } parmtag { "parmvop" "1" } parmtag { "shaderparmcontexts" "cvex" } } parm { name "depthnoisescaleramp" label "Depth / Noise Ramp" type ramp_flt default { "2" } disablewhen "{ usedepthnoisescaleramp == 0 }" hidewhen "{ usedepthnoisescaleramp == 0 }" range { 1! 10 } parmtag { "autoscope" "0000000000000000" } parmtag { "parmvop" "1" } parmtag { "rampbasis_var" "depthnoisescaleramp_the_basis_strings" } parmtag { "rampbasisdefault" "catmull-rom" } parmtag { "rampfloatdefault" "1pos ( 0 ) 1value ( 0 ) 1interp ( linear ) 2pos ( 1 ) 2value ( 1 ) 2interp ( linear )" } parmtag { "rampkeys_var" "depthnoisescaleramp_the_key_positions" } parmtag { "rampshowcontrolsdefault" "0" } parmtag { "rampvalues_var" "depthnoisescaleramp_the_key_values" } parmtag { "shaderparmcontexts" "cvex" } } } groupsimple { name "outputattribs" label "Output Attributes" parm { name "outputpointdepthattrib" label "Output Point Depth" type toggle nolabel joinnext default { "0" } parmtag { "script_callback_language" "python" } } parm { name "pointdepthattrib" label "Point Depth" type string default { "depth" } disablewhen "{ outputpointdepthattrib == 0 }" parmtag { "script_callback_language" "python" } } } } INDXContents=b DialogScript=aT HouLC1033600bb60620f099a0f96ba020LIMITED_COMMERCIAL_FILE!!!# Dialog script for rbdmaterialfracture::3.0 automatically generated { name rbdmaterialfracture::3.0 script rbdmaterialfracture::2.0 label "RBD Material Fracture" help { "" } inputlabel 1 Geometry inputlabel 2 "Constraint Geometry" inputlabel 3 "Proxy Geometry" inputlabel 4 "Extra Voronoi Points (Concrete) / Impact Points (Glass) / Cutter Geometry (Custom)" parmtag { inputisref4 1 } outputlabel 1 Geometry outputlabel 2 "Constraint Geometry" outputlabel 3 "Proxy Geometry" parm { name "group" label "Group" type string default { "" } menutoggle { [ "opmenu -l -a split1 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" } } parm { name "materialtype" label "Material Type" type ordinal default { "0" } menu { "concrete" "Concrete" "glass" "Glass" "wood" "Wood" "custom" "Custom" } } parm { name "usenamespace" label "Use Namespace" type toggle nolabel joinnext default { "0" } } parm { name "fracturenamespace" label "Fracture Namespace" type string default { "fracture" } disablewhen "{ usenamespace == 0 }" } parm { name "fractureperpiece" label "Fracture per Piece" type toggle default { "0" } } parm { name "pieceattrib" label "Piece Attribute" type string default { "name" } disablewhen "{ fractureperpiece == 0 }" hidewhen "{ fractureperpiece == 0 }" } parm { name "dosinglepass" label "Do Single Pass" type toggle nolabel joinnext default { "off" } disablewhen "{ fractureperpiece == 0 }" hidewhen "{ fractureperpiece == 0 }" parmtag { "autoscope" "0000000000000000" } } parm { name "singlepass" label "Single Pass" type integer default { "0" } disablewhen "{ fractureperpiece == 0 } { dosinglepass == 0 }" hidewhen "{ fractureperpiece == 0 }" range { 0 10 } parmtag { "autoscope" "0000000000000000" } } parm { name "randomseed" label "Random Seed" type float default { "0" } hidewhen "{ fractureperpiece == 0 }" range { 0 1 } } parm { name "prefix" label "Piece Prefix" type string default { "-" } parmtag { "script_callback_language" "python" } } parm { name "sepparm" label "Separator" type separator default { "" } } parm { name "resetcookpass" label "Reset Cached Pass" type button default { "0" } disablewhen "{ materialtype == concrete concrete_guidegeo == none } { materialtype == wood wood_guidegeo == none } { materialtype == glass glass_guidegeo == none } { materialtype == custom custom_guidegeo == none }" parmtag { "autoscope" "0000000000000000" } } parm { name "wood_guidegeo" label "Guide Geometry" type ordinal default { "none" } disablewhen "{ materialtype != wood }" hidewhen "{ materialtype != wood }" menu { "none" "None" "fracturedgeometry" "Fractured Geometry" "grains" "Grains" "cuts" "Cuts" "splinters" "Splinters" "constraints" "Constraint Network" } parmtag { "autoscope" "0000000000000000" } parmtag { "script_callback" "" } parmtag { "script_callback_language" "python" } } parm { name "glass_guidegeo" label "Guide Geometry" type ordinal default { "none" } disablewhen "{ materialtype != glass }" hidewhen "{ materialtype != glass }" menu { "none" "None" "fracturedgeometry" "Fractured Geometry" "concentricnoise" "Concentric Noise" "edgenoise" "Edge Noise" "constraints" "Constraint Network" } parmtag { "autoscope" "0000000000000000" } parmtag { "script_callback" "" } parmtag { "script_callback_language" "python" } } parm { name "concrete_guidegeo" label "Guide Geometry" type ordinal default { "0" } disablewhen "{ materialtype != concrete }" hidewhen "{ materialtype != concrete }" menu { "none" "None" "fracturedgeometry" "Fractured Geometry" "primaryvolume" "Primary Volume" "edgedetail" "Edge Detail" "constraints" "Constraint Network" } parmtag { "script_callback" "" } parmtag { "script_callback_language" "python" } } parm { name "custom_guidegeo" label "Guide Geometry" type ordinal default { "0" } disablewhen "{ materialtype != custom }" hidewhen "{ materialtype != custom }" menu { "none" "None" "fracturedgeometry" "Fractured Geometry" "volume" "Volume" "cutters" "Cutter Geometry" "edgedetail" "Edge Detail" "constraints" "Constraint Network" } parmtag { "script_callback" "" } parmtag { "script_callback_language" "python" } } parm { name "concrete_visualizedepth" label "Visualize Depth" type integer default { "1" } disablewhen "{ materialtype != concrete } { concrete_guidegeo != primaryvolume }" hidewhen "{ materialtype != concrete } { concrete_guidegeo != primaryvolume }" range { 1 5 } parmtag { "autoscope" "0000000000000000" } } parm { name "enabledetail_" label "Enable Detail" type toggle invisible default { "ch(\"concrete_edgedetail\")" } } parm { name "enabledetail__2" label "Enable Detail" type toggle invisible default { "ch(\"concrete_edgedetail\")" } } parm { name "enabledetail_2" label "Enable Detail" type toggle invisible default { "ch(\"concrete_edgedetail\")" } } group { name "folder3" label "Primary Fracture" disablewhentab "{ materialtype != concrete }" hidewhentab "{ materialtype != concrete }" multiswitcher { name "concrete_fracturelevel" label "Fracture Level" default 2 parmtag { "autoscope" "0000000000000000" } parm { name "concrete_enablefracture#" label "Enable Fracture" type toggle default { "1" } } parm { name "concrete_fractureid#" label "Fracture ID" type string default { "concrete_fracture#" } disablewhen "{ concrete_enablefracture# == 0 }" } parm { name "concrete_fractureratio#" label "Fracture Ratio" type float default { "1" } disablewhen "{ concrete_enablefracture# == 0 }" range { 0! 1! } } parm { name "concrete_fractureseed#" label "Fracture Seed" type float default { "0" } disablewhen "{ concrete_enablefracture# == 0 }" range { 0 10 } } parm { name "concrete_connectivitypartition#" label "Connectivity Partition" type ordinal default { "overwrite" } disablewhen "{ concrete_enablefracture# == 0 }" menu { "none" "None" "overwrite" "Overwrite Piece Numbering" } parmtag { "autoscope" "0000000000000000" } parmtag { "script_callback_language" "python" } } groupsimple { name "scatter#" label "Cell Points" disablewhen "{ concrete_enablefracture# == 0 }" parm { name "concrete_scatterfrom#" label "Scatter From" type ordinal default { "custom_volume" } menu { "volume" "Volume" "attribute" "Attribute" } } parm { name "concrete_scatterattrib#" label "Attribute Name" type string default { "density" } disablewhen "{ concrete_scatterfrom# != attribute }" hidewhen "{ concrete_scatterfrom# != attribute }" menureplace { [ "opmenu -l -a scatter_attrib_menu densityattrib " ] } } parm { name "concrete_scatterpts#" label "Scatter Points" type integer joinnext default { "5" } range { 0! 100 } parmtag { "autoscope" "0000000000000000" } } parm { name "concrete_scatterptsscaling#" label "scatterptsscaling" type integer nolabel default { "0" } menu { "0" "No Scaling" "1" "Scale by Piece Volume" "2" "Scale by Max Axis Length" "3" "Scale by Attribute" } range { 0 10 } parmtag { "autoscope" "0000000000000000" } parmtag { "script_callback_language" "python" } } parm { name "concrete_rangeremap#" label "Remap Range" type toggle default { "off" } hidewhen "{ concrete_scatterptsscaling# == 0 } { concrete_scatterptsscaling# == 3 }" parmtag { "autoscope" "0000000000000000" } parmtag { "script_callback_language" "python" } } parm { name "concrete_rangeremapin#" label "Input Min/Max" type float_minmax size 2 default { "0" "1" } disablewhen "{ concrete_rangeremap# == 0 }" hidewhen "{ concrete_scatterptsscaling# == 0 } { concrete_scatterptsscaling# == 3 }" range { 0 10 } parmtag { "autoscope" "0000000000000000" } parmtag { "script_callback_language" "python" } } parm { name "concrete_rangeremapout#" label "Output Min/Max" type float_minmax size 2 default { "0" "1" } disablewhen "{ concrete_rangeremap# == 0 }" hidewhen "{ concrete_scatterptsscaling# == 0 } { concrete_scatterptsscaling# == 3 }" range { 0 10 } parmtag { "autoscope" "0000000000000000" } parmtag { "script_callback_language" "python" } } parm { name "concrete_scatterptsattribute#" label "Scatter Points Attribute" type string default { "density" } hidewhen "{ concrete_scatterptsscaling# != 3 }" menureplace { [ "opmenu -l -a CONCRETE_FRACTURE0 scatterptsattribute1" ] } parmtag { "autoscope" "0000000000000000" } parmtag { "script_callback_language" "python" } } parm { name "concrete_scatterseed#" label "Scatter Seed" type float default { "0" } range { 0 10 } parmtag { "autoscope" "0000000000000000" } } parm { name "concrete_useptsinput#" label "Use Input Points" type toggle nolabel joinnext default { "0" } } parm { name "concrete_ptsinputgroup#" label "Input Points" type string default { "" } disablewhen "{ concrete_useptsinput# == 0 }" menutoggle { [ "hou.pwd().hdaModule().buildInputPointGroupMenu()" ] language python } parmtag { "autoscope" "0000000000000000" } parmtag { "script_action" "import soputils\nkwargs['geometrytype'] = hou.geometryType.Points\nkwargs['inputindex'] = 3\nsoputils.selectGroupParm(kwargs)" } parmtag { "script_action_icon" "BUTTONS_reselect" } } } parm { name "enabledetail#" label "Enable Detail" type toggle invisible default { "ch(\"concrete_edgedetail\")" } } groupsimple { name "volume#" label "Fog Volume" disablewhentab "{ concrete_scatterfrom# != volume } { concrete_enablefracture# == 0 concrete_guidegeo != primaryvolume }" hidewhentab "{ concrete_scatterfrom# != volume }" parm { name "concrete_volumenoisetype#" label "Noise Type" type string default { "snoise" } menu { "none" "None" "pnoise" "Perlin Noise" "onoise" "Original Perlin Noise" "snoise" "Sparse Convolution Noise" "anoise" "Alligator Noise" "xnoise" "Simplex Noise" "correctnoise" "Zero Centered Perlin Noise" } } parm { name "concrete_volumeres#" label "Volume Resolution" type integer default { "75" } disablewhen "{ concrete_volumenoisetype# == none }" range { 0 10 } } parm { name "concrete_volumenoisefreq#" label "Noise Frequency" type vector size 3 default { "1" "1" "1" } disablewhen "{ concrete_volumenoisetype# == none }" range { -1 1 } } parm { name "concrete_volumenoiseoffset#" label "Noise Offset" type vector size 3 default { "0" "0" "0" } disablewhen "{ concrete_volumenoisetype# == none }" range { -1 1 } } parm { name "concrete_cutoffdensity#" label "Cutoff Density" type float default { "0.3" } disablewhen "{ concrete_volumenoisetype# == none }" range { 0! 1! } parmtag { "autoscope" "0000000000000000" } } } } } group { name "folder3_1" label "Chipping" disablewhentab "{ materialtype != concrete }" hidewhentab "{ materialtype != concrete }" parm { name "concrete_enablechipping" label "Enable Chipping" type toggle default { "off" } parmtag { "autoscope" "0000000000000000" } } parm { name "concrete_chippingratio" label "Chipping Ratio" type float default { "0.5" } disablewhen "{ concrete_enablechipping == 0 }" range { 0 1 } parmtag { "autoscope" "0000000000000000" } } parm { name "concrete_chippingseed" label "Seed" type float default { "0" } disablewhen "{ concrete_enablechipping == 0 }" range { 0 10 } parmtag { "autoscope" "0000000000000000" } } parm { name "concrete_chippingrandomness" label "Randomness" type float default { "0.3" } disablewhen "{ fractureperpiece == 0 } { concrete_enablechipping == 0 }" range { 0 1 } } parm { name "concrete_cornerratio" label "Corner Ratio" type float default { "0.5" } disablewhen "{ concrete_enablechipping == 0 }" range { 0! 1! } parmtag { "autoscope" "0000000000000000" } } parm { name "concrete_chippingdepth" label "Corner Depth" type float default { "0.05" } disablewhen "{ concrete_enablechipping == 0 }" range { 0! 1 } parmtag { "autoscope" "0000000000000000" } } parm { name "concrete_chippingdirectionalnoise" label "Directional Noise" type float default { "0.125" } disablewhen "{ concrete_enablechipping == 0 }" range { 0! 1! } parmtag { "autoscope" "0000000000000000" } } parm { name "concrete_chippingdetriangulate" label "Detriangulate" type ordinal default { "all" } disablewhen "{ concrete_enablechipping == 0 }" menu { "none" "No Polygons" "unchanged" "Only Unchanged Polygons" "all" "All Polygons" } parmtag { "autoscope" "0000000000000000" } } } group { name "folder3_2" label "Detail" disablewhentab "{ materialtype != concrete }" hidewhentab "{ materialtype != concrete }" parm { name "concrete_detailsize" label "Detail Size" type float default { "0.05" } range { 0 10 } parmtag { "autoscope" "0000000000000000" } } parm { name "sepparm4" label "Separator" type separator default { "" } } parm { name "concrete_edgedetail" label "Edge Detail" type toggle default { "off" } parmtag { "autoscope" "0000000000000000" } } parm { name "concrete_edgenoiseheight" label "Noise Height" type float default { "0.1" } disablewhen "{ concrete_edgedetail == 0 concrete_guidegeo != edgedetail }" range { 0 10 } parmtag { "autoscope" "0000000000000000" } parmtag { "parmvop" "1" } parmtag { "shaderparmcontexts" "cvex" } } parm { name "concrete_edgenoisesize" label "Noise Element Size" type float default { "0.2" } disablewhen "{ concrete_edgedetail == 0 concrete_guidegeo != edgedetail }" range { 0 10 } parmtag { "autoscope" "0000000000000000" } parmtag { "parmvop" "1" } parmtag { "shaderparmcontexts" "cvex" } } parm { name "concrete_edgenoiselacunarity" label "Lacunarity" type float default { "1" } disablewhen "{ concrete_edgedetail == 0 concrete_guidegeo != edgedetail }" range { 0 10 } parmtag { "autoscope" "0000000000000000" } parmtag { "parmvop" "1" } parmtag { "shaderparmcontexts" "cvex" } } parm { name "concrete_edgenoiseamplitudemultiplier" label "Level Multiplier " type float default { "1" } disablewhen "{ concrete_edgedetail == 0 concrete_guidegeo != edgedetail }" range { 0 10 } parmtag { "autoscope" "0000000000000000" } parmtag { "parmvop" "1" } parmtag { "shaderparmcontexts" "cvex" } } parm { name "concrete_detriangulate" label "Detriangulate" type ordinal default { "all" } disablewhen "{ concrete_edgedetail == 0 }" menu { "none" "No Polygons" "unchanged" "Only Unchanged Polygons" "all" "All Polygons" } parmtag { "autoscope" "0000000000000000" } } parm { name "sepparm5" label "Separator" type separator default { "" } } parm { name "concrete_interiordetail" label "Interior Detail" type toggle default { "off" } parmtag { "autoscope" "0000000000000000" } } parm { name "concrete_depthvolumevoxelsize" label "Depth Volume Voxel Size" type float invisible default { "0.1" } disablewhen "{ concrete_interiordetail == 0 }" range { 0! 1 } parmtag { "autoscope" "0000000000000000" } } parm { name "concrete_interiornoiseamp" label "Noise Amplitude" type float default { "0.25" } disablewhen "{ concrete_interiordetail == 0 }" range { 0 1 } parmtag { "autoscope" "0000000000000000" } parmtag { "parmvop" "1" } parmtag { "shaderparmcontexts" "cvex" } } parm { name "concrete_interiornoisetype" label "Noise Type" type string default { "sparse" } disablewhen "{ concrete_interiordetail == 0 }" menu { "value_fast" "Fast" "sparse" "Sparse Convolution" "alligator" "Alligator" "perlin" "Perlin" "flow" "Perlin Flow" "simplex" "Simplex" "worleyFA" "Worley Cellular F1" "worleyFB" "Worley Cellular F2-F1" "mworleyFA" "Manhattan Cellular F1" "mworleyFB" "Manhattan Cellular F2-F1" "cworleyFA" "Chebyshev Cellular F1" "cworleyFB" "Chebyshev Cellular F2-F1" } range { 0 1 } unquoted parmtag { "autoscope" "0000000000000000" } } parm { name "concrete_interiornoisefreq" label "Frequency" type float size 3 default { "2.5" "2.5" "2.5" } disablewhen "{ concrete_interiordetail == 0 }" range { 0 10 } parmtag { "autoscope" "0000000000000000" } parmtag { "parmvop" "1" } parmtag { "shaderparmcontexts" "cvex" } } parm { name "concrete_noiseoffset" label "Offset" type float size 3 default { "0" "0" "0" } disablewhen "{ concrete_interiordetail == 0 }" range { 0 10 } parmtag { "autoscope" "0000000000000000" } parmtag { "parmvop" "1" } parmtag { "shaderparmcontexts" "cvex" } } parm { name "sepparm3" label "Separator" type separator default { "" } } parm { name "concrete_enablecreaseweights" label "Crease Weights" type toggle default { "0" } } parm { name "concrete_creaseweights" label "Weight" type float default { "10" } disablewhen "{ concrete_enablecreaseweights == 0 }" range { 0! 10! } } groupsimple { name "folder_concrete_proxygeometry" label "Proxy Geometry" parm { name "concrete_proxygeometry" label "Proxy Geometry" type ordinal default { "0" } menu { "0" "Default" "1" "Convex Decomposition" "2" "Packed Spheres" } } parm { name "concrete_maxconcavity" label "Max Concavity" type float default { "0.1" } disablewhen "{ concrete_proxygeometry != 1 }" hidewhen "{ concrete_proxygeometry != 1 }" range { 0 10 } } parm { name "concrete_voxelsize" label "Voxel Size" type float default { "0.1" } disablewhen "{ concrete_proxygeometry != 2 }" hidewhen "{ concrete_proxygeometry != 2 }" range { 0! 5 } parmtag { "autoscope" "0000000000000000" } } parm { name "concrete_radiusmin" label "Min Radius" type float default { "1" } disablewhen "{ concrete_proxygeometry != 2 }" hidewhen "{ concrete_proxygeometry != 2 }" range { 1e-05! 2 } parmtag { "autoscope" "0000000000000000" } parmtag { "houdini_utils::doc" "The radius of the smallest sphere allowed\n\nIf disabled, allow spheres of any radius greater than zero." } } parm { name "concrete_radiusmax" label "Max Radius" type float default { "8" } disablewhen "{ concrete_proxygeometry != 2 }" hidewhen "{ concrete_proxygeometry != 2 }" range { 1e-05! 100 } parmtag { "autoscope" "0000000000000000" } parmtag { "houdini_utils::doc" "The radius of the largest sphere allowed\n\nIf disabled, allow arbitrarily large spheres." } } parm { name "concrete_spheresmax" label "Max Spheres" type integer default { "100" } disablewhen "{ concrete_proxygeometry != 2 }" hidewhen "{ concrete_proxygeometry != 2 }" range { 1! 200 } parmtag { "autoscope" "0000000000000000" } parmtag { "houdini_utils::doc" "The maximum number of spheres to be generated\n\nIf disabled, allow for up to __Point Count__ spheres to be generated." } } } } group { name "folder3_3" label "Impact Points" disablewhentab "{ materialtype != glass }" hidewhentab "{ materialtype != glass }" parm { name "glass_usescatter" label "Use Scatter" type toggle nolabel joinnext default { "on" } parmtag { "autoscope" "0000000000000000" } } parm { name "glass_impactscatterpoints" label "Scatter Points" type integer joinnext default { "1" } disablewhen "{ glass_usescatter == 0 }" range { 0! 5 } parmtag { "autoscope" "0000000000000000" } } parm { name "glass_impactscatterpointsscaling" label "impactscatterpointsscaling" type ordinal nolabel default { "0" } disablewhen "{ glass_usescatter == 0 }" menu { "0" "No Scaling" "1" "Scale by Attribute" } parmtag { "autoscope" "0000000000000000" } parmtag { "script_callback_language" "python" } } parm { name "glass_impactscatterpointsattribute" label "Scatter Points Attribute" type string default { "density" } disablewhen "{ glass_usescatter == 0 }" hidewhen "{ glass_impactscatterpointsscaling == 0 }" menureplace { [ "opmenu -l -a GLASS_FRACTURE0 scaleattribute" ] } parmtag { "autoscope" "0000000000000000" } parmtag { "script_callback_language" "python" } } parm { name "glass_impactscatterseed" label "Scatter Seed" type float default { "6" } disablewhen "{ glass_usescatter == 0 }" range { 0 10 } parmtag { "autoscope" "0000000000000000" } } parm { name "sepparm6" label "Separator" type separator default { "" } } parm { name "glass_useinput" label "Use Input Points" type toggle nolabel joinnext default { "off" } parmtag { "autoscope" "0000000000000000" } } parm { name "glass_inputgroup" label "Input Points" type string default { "" } disablewhen "{ glass_useinput == 0 }" menutoggle { [ "hou.pwd().hdaModule().buildInputPointGroupMenu()" ] language python } range { 0 1 } parmtag { "autoscope" "0000000000000000" } parmtag { "script_action" "import soputils\nkwargs['geometrytype'] = hou.geometryType.Points\nkwargs['inputindex'] = 3\nsoputils.selectGroupParm(kwargs)" } parmtag { "script_action_icon" "BUTTONS_reselect" } } } group { name "folder3_4" label "Cracks" disablewhentab "{ materialtype != glass }" hidewhentab "{ materialtype != glass }" groupsimple { name "radial_crack" label "Radial Crack" parm { name "glass_radialcracknum" label "Radial Crack Number" type integer joinnext default { "20" } range { 0 40 } parmtag { "autoscope" "0000000000000000" } } parm { name "glass_radialcrackscaling" label "radialcrackscaling" type ordinal nolabel default { "0" } menu { "0" "No Scaling" "1" "Scale by Attribute" } parmtag { "autoscope" "0000000000000000" } parmtag { "script_callback_language" "python" } } parm { name "radialcrackattribute" label "Radial Crack Attribute" type string default { "density" } hidewhen "{ glass_radialcrackscaling == 0 }" menureplace { [ "opmenu -l -a GLASS_FRACTURE0 radialcrackattribute" ] } parmtag { "autoscope" "0000000000000000" } parmtag { "script_callback_language" "python" } } parm { name "glass_cracknumvariance" label "Number Variance" type integer default { "5" } range { 0 10 } parmtag { "autoscope" "0000000000000000" } } parm { name "glass_cracknumseed" label "Number Seed" type integer default { "0" } range { 0 10 } } parm { name "glass_radialfractureid" label "Radial Fracture ID" type string default { "glass_radial" } } } groupsimple { name "radial_crack_1" label "Concentric Crack" parm { name "glass_minwidth" label "Minimum Width" type float joinnext default { "0.1" } range { 0 0.5 } parmtag { "autoscope" "0000000000000000" } } parm { name "glass_minwidthscaling" label "minwidthscaling" type ordinal nolabel default { "0" } menu { "0" "No Scaling" "1" "Scale by Attribute" } parmtag { "autoscope" "0000000000000000" } parmtag { "script_callback_language" "python" } } parm { name "minwidthattribute" label "Min Width Attribute" type string default { "density" } hidewhen "{ glass_minwidthscaling == 0 }" menureplace { [ "opmenu -l -a GLASS_FRACTURE0 minwidthattribute" ] } parmtag { "autoscope" "0000000000000000" } parmtag { "script_callback_language" "python" } } parm { name "glass_impactspread" label "Impact Spread" type float default { "1.5" } range { 0 2 } parmtag { "autoscope" "0000000000000000" } parmtag { "parmvop" "1" } parmtag { "shaderparmcontexts" "cvex" } } parm { name "sepparm2" label "Separator" type separator default { "" } } parm { name "glass_discontinuityfreq" label "Discontinuity Freq" type float size 3 default { "6.46" "6.46" "6.46" } range { 0 10 } parmtag { "autoscope" "0000000000000000" } parmtag { "parmvop" "1" } parmtag { "shaderparmcontexts" "cvex" } } parm { name "glass_discontinuitysize" label "Discontinuity Size" type float default { "40" } range { -1 1 } parmtag { "autoscope" "0000000000000000" } parmtag { "parmvop" "1" } parmtag { "shaderparmcontexts" "cvex" } } parm { name "glass_concentricrandomness" label "Randomness" type float default { "0" } disablewhen "{ fractureperpiece == 0 }" hidewhen "{ fractureperpiece == 0 }" range { 0 1 } } parm { name "glass_concentricfractureid" label "Concentric Fracture ID" type string default { "glass_concentric" } } } } group { name "folder3_5" label "Chipping" disablewhentab "{ materialtype != glass }" hidewhentab "{ materialtype != glass }" parm { name "glass_enablechipping" label "Enable Chipping" type toggle default { "0" } parmtag { "autoscope" "0000000000000000" } } parm { name "glass_chippingratio" label "Chipping Ratio" type float default { "0.5" } disablewhen "{ glass_enablechipping == 0 }" range { 0! 1! } parmtag { "autoscope" "0000000000000000" } } parm { name "glass_chippingseed" label "Seed" type float default { "0" } disablewhen "{ glass_enablechipping == 0 }" range { 0 10 } parmtag { "autoscope" "0000000000000000" } } parm { name "glass_chippingrandomness" label "Randomness" type float default { "0.3" } disablewhen "{ fractureperpiece == 0 } { glass_enablechipping == 0 }" range { 0 1 } } parm { name "glass_cornerratio" label "Corner Ratio" type float default { "0.5" } disablewhen "{ glass_enablechipping == 0 }" range { 0 1 } parmtag { "autoscope" "0000000000000000" } } parm { name "glass_chippingdepth" label "Corner Depth" type float default { "0.05" } disablewhen "{ glass_enablechipping == 0 }" range { 0! 1 } parmtag { "autoscope" "0000000000000000" } } parm { name "glass_chippingdirectionalnoise" label "Directional Noise" type float default { "0.125" } disablewhen "{ glass_enablechipping == 0 }" range { 0! 1! } parmtag { "autoscope" "0000000000000000" } } parm { name "glass_chippingdetriangulate" label "Detriangulate" type ordinal default { "all" } disablewhen "{ glass_enablechipping == 0 }" menu { "none" "No Polygons" "unchanged" "Only Unchanged Polygons" "all" "All Polygons" } parmtag { "autoscope" "0000000000000000" } } } group { name "folder3_6" label "Detail" disablewhentab "{ materialtype != glass }" hidewhentab "{ materialtype != glass }" parm { name "glass_detailsize" label "Detail Size" type float default { "0.04" } range { 0 10 } parmtag { "autoscope" "0000000000000000" } } groupsimple { name "glass_edgenoisefolder" label "Edge Noise" parm { name "glass_enableedgenoise" label "Enable Edge Noise" type toggle default { "on" } parmtag { "autoscope" "0000000000000000" } } parm { name "glass_fadefromorigin" label "Fade From Origin" type float default { "0.3" } disablewhen "{ glass_enableedgenoise == 0 glass_guidegeo != edgenoise }" range { 0 1 } parmtag { "autoscope" "0000000000000000" } } parm { name "glass_fadefromborder" label "Fade From Border" type float default { "0.3" } disablewhen "{ glass_enableedgenoise == 0 glass_guidegeo != edgenoise }" range { 0 1 } parmtag { "autoscope" "0000000000000000" } } parm { name "glass_noiseamp" label "Noise Amplitude" type float default { "0.5" } disablewhen "{ glass_enableedgenoise == 0 glass_guidegeo != edgenoise }" range { -1 1 } parmtag { "autoscope" "0000000000000000" } parmtag { "parmvop" "1" } parmtag { "shaderparmcontexts" "cvex" } } parm { name "glass_noisefreq" label "Noise Frequency" type float size 3 default { "0.66" "0.66" "0.66" } disablewhen "{ glass_enableedgenoise == 0 glass_guidegeo != edgenoise }" range { 0 10 } parmtag { "autoscope" "0000000000000000" } parmtag { "parmvop" "1" } parmtag { "shaderparmcontexts" "cvex" } } } groupsimple { name "glass_proxygeometryfolder" label "Proxy Geometry" parm { name "glass_enableconvexdecomposition" label "Use Convex Decomposition" type toggle default { "off" } disablewhen "{ glass_enableedgenoise == 0 }" parmtag { "autoscope" "0000000000000000" } } parm { name "glass_maxconcavity" label "Max Concavity" type float default { "0.1" } disablewhen "{ glass_enableedgenoise == 0 } { glass_enableconvexdecomposition == 0 }" range { 0! 1 } parmtag { "autoscope" "0000000000000000" } } } parm { name "sepparm7" label "Separator" type separator default { "" } } parm { name "glass_enablecreaseweights" label "Crease Weights" type toggle default { "0" } } parm { name "glass_creaseweights" label "Weight" type float default { "10" } disablewhen "{ glass_enablecreaseweights == 0 }" range { 0! 10! } } } group { name "folder3_7" label "Grain" hidewhentab "{ materialtype != wood }" parm { name "wood_enablegrain" label "Enable Grain" type toggle default { "on" } parmtag { "autoscope" "0000000000000000" } } parm { name "wood_grainfracturedir" label "Fracture Direction" type ordinal default { "auto" } disablewhen "{ wood_enablegrain == 0 wood_guidegeo != grains }" menu { "auto" "Auto (Bounding Box)" "vector" "Vector" } parmtag { "autoscope" "0000000000000000" } } parm { name "wood_graindirvector" label "Direction Vector" type vector size 3 default { "1" "0" "0" } disablewhen "{ wood_grainfracturedir == auto } { wood_enablegrain == 0 wood_guidegeo != grains }" hidewhen "{ wood_grainfracturedir == auto }" range { -1 1 } parmtag { "autoscope" "0000000000000000" } } parm { name "wood_grainspacing" label "Grain Spacing" type float joinnext default { "0.072" } disablewhen "{ wood_enablegrain == 0 wood_guidegeo != grains }" range { 0 1 } parmtag { "autoscope" "0000000000000000" } } parm { name "wood_grainspacingscaling" label "wood_grainspacingscaling" type ordinal nolabel default { "0" } disablewhen "{ wood_enablegrain == 0 wood_guidegeo != grains }" menu { "0" "No Scaling" "1" "Scale by Attribute" } parmtag { "autoscope" "0000000000000000" } parmtag { "script_callback_language" "python" } } parm { name "wood_grainspacingattribute" label "Grain Spacing Attribute" type string default { "density" } disablewhen "{ wood_enablegrain == 0 wood_guidegeo != grains }" hidewhen "{ wood_grainspacingscaling == 0 }" menureplace { [ "opmenu -l -a WOOD_FRACTURE0 grainspacingattribute" ] } parmtag { "autoscope" "0000000000000000" } parmtag { "script_callback_language" "python" } } parm { name "wood_grainoffset" label "Grain Offset" type float default { "0.03" } disablewhen "{ wood_enablegrain == 0 wood_guidegeo != grains }" range { 0 1 } parmtag { "autoscope" "0000000000000000" } } parm { name "wood_grainoffsetseed" label "Grain Offset Seed" type integer default { "0" } disablewhen "{ wood_enablegrain == 0 wood_guidegeo != grains }" range { 0 10 } parmtag { "autoscope" "0000000000000000" } } parm { name "wood_grainrandomness" label "Randomness" type float default { "0" } disablewhen "{ fractureperpiece == 0 } { wood_enablegrain == 0 wood_guidegeo != grains }" hidewhen "{ fractureperpiece == 0 }" range { 0 1 } } groupsimple { name "grain_noise" label "Grain Noise" parm { name "wood_grainheight" label "Height" type float default { "0.14" } disablewhen "{ wood_enablegrain == 0 wood_guidegeo != grains }" range { 0 10 } parmtag { "autoscope" "0000000000000000" } parmtag { "parmvop" "1" } parmtag { "shaderparmcontexts" "cvex" } } parm { name "wood_grainelementsize" label "Element Size" type float default { "0.48" } disablewhen "{ wood_enablegrain == 0 wood_guidegeo != grains }" range { 0 10 } parmtag { "autoscope" "0000000000000000" } parmtag { "parmvop" "1" } parmtag { "shaderparmcontexts" "cvex" } } } parm { name "wood_graindetailsize" label "Grain Detail Size" type float default { "0.05" } disablewhen "{ wood_enablegrain == 0 wood_guidegeo != grains }" range { 0 1 } parmtag { "autoscope" "0000000000000000" } } parm { name "wood_grainfractureid" label "Grain Fracture ID" type string default { "wood_grain" } disablewhen "{ wood_enablegrain == 0 }" } } group { name "folder3_8" label "Cut" hidewhentab "{ materialtype != wood }" parm { name "wood_enablecut" label "Enable Cut" type toggle default { "on" } parmtag { "autoscope" "0000000000000000" } } parm { name "wood_cutfracturedir" label "Fracture Direction" type ordinal default { "auto" } disablewhen "{ wood_enablecut == 0 wood_guidegeo != cuts }" menu { "auto" "Auto (Bounding Box)" "vector" "Vector" } parmtag { "autoscope" "0000000000000000" } } parm { name "wood_cutdirvector" label "Direction Vector" type vector size 3 default { "0" "1" "0" } disablewhen "{ wood_cutfracturedir == auto } { wood_enablecut == 0 wood_guidegeo != cuts }" hidewhen "{ wood_cutfracturedir == auto }" range { -1 1 } parmtag { "autoscope" "0000000000000000" } } parm { name "wood_cutskewangle" label "Skew Angle" type float default { "0" } disablewhen "{ wood_enablecut == 0 wood_guidegeo != cuts }" hidewhen "{ wood_cutfracturedir != auto }" range { -90! 90! } parmtag { "autoscope" "0000000000000000" } parmtag { "script_callback_language" "python" } } parm { name "wood_cutspacing" label "Cut Spacing" type float joinnext default { "0.4945" } disablewhen "{ wood_enablecut == 0 wood_guidegeo != cuts }" range { 0 1 } parmtag { "autoscope" "0000000000000000" } } parm { name "wood_cutspacingscaling" label "wood_cutspacingscaling" type ordinal nolabel default { "0" } disablewhen "{ wood_enablecut == 0 wood_guidegeo != cuts }" menu { "0" "No Scaling" "1" "Scale by Attribute" } parmtag { "autoscope" "0000000000000000" } parmtag { "script_callback_language" "python" } } parm { name "wood_cutspacingattribute" label "Cut Spacing Attribute" type string default { "density" } disablewhen "{ wood_enablecut == 0 wood_guidegeo != cuts }" hidewhen "{ wood_cutspacingscaling == 0 }" menureplace { [ "opmenu -l -a WOOD_FRACTURE0 cutspacingattribute" ] } parmtag { "autoscope" "0000000000000000" } parmtag { "script_callback_language" "python" } } parm { name "wood_cutoffset" label "Cut Offset" type float default { "0.55" } disablewhen "{ wood_enablecut == 0 wood_guidegeo != cuts }" range { 0 1 } parmtag { "autoscope" "0000000000000000" } } parm { name "wood_cutoffsetseed" label "Cut Offset Seed" type integer default { "0" } disablewhen "{ wood_enablecut == 0 wood_guidegeo != cuts }" range { 0 10 } parmtag { "autoscope" "0000000000000000" } } parm { name "wood_cutrandomness" label "Randomness" type float default { "0" } disablewhen "{ fractureperpiece == 0 } { wood_enablecut == 0 wood_guidegeo != cuts }" hidewhen "{ fractureperpiece == 0 }" range { 0 1 } } groupsimple { name "curve_noise" label "Curve Noise" disablewhentab "{ wood_enablecut == 0 wood_guidegeo != cuts }" parm { name "wood_cutnoiseheight" label "Height" type float default { "1.05" } range { 0 10 } parmtag { "autoscope" "0000000000000000" } parmtag { "parmvop" "1" } parmtag { "shaderparmcontexts" "cvex" } } parm { name "wood_cutelementsize" label "Element Size" type float default { "2.07" } range { 0 10 } parmtag { "autoscope" "0000000000000000" } parmtag { "parmvop" "1" } parmtag { "shaderparmcontexts" "cvex" } } } groupsimple { name "folder1" label "Splinters" disablewhentab "{ wood_enablecut == 0 wood_guidegeo != splinters }" parm { name "wood_splinterdensity" label "Splinter Density" type float default { "25" } range { 1 50 } parmtag { "autoscope" "0000000000000000" } } parm { name "wood_splinterlength" label "Splinter Length" type float default { "0.7" } range { 0 2 } parmtag { "autoscope" "0000000000000000" } } parm { name "wood_splinterrandomness" label "Randomness" type float default { "0" } disablewhen "{ fractureperpiece == 0 }" hidewhen "{ fractureperpiece == 0 }" range { 0 1 } } } parm { name "wood_cutfractureid" label "Cut Fracture ID" type string default { "wood_cut" } disablewhen "{ wood_enablecut == 0 }" } } group { name "folder3_9" label "Detail" hidewhentab "{ materialtype != wood }" parm { name "wood_detriangulate" label "Detriangulate" type ordinal default { "all" } menu { "none" "No Polygons" "unchanged" "Only Unchanged Polygons" "all" "All Polygons" } } groupsimple { name "wood_proxygeometryfolder" label "Proxy Geometry" parm { name "wood_convexdecomp" label "Use Convex Decomposition" type toggle default { "off" } parmtag { "autoscope" "0000000000000000" } } parm { name "wood_maxconcavity" label "Max Concavity" type float default { "0.1" } disablewhen "{ wood_convexdecomp == 0 }" range { 0! 1 } parmtag { "autoscope" "0000000000000000" } } } parm { name "sepparm8" label "Separator" type separator default { "" } } parm { name "wood_enablecreaseweights" label "Crease Weights" type toggle default { "0" } } parm { name "wood_creaseweights" label "Weight" type float default { "10" } disablewhen "{ wood_enablecreaseweights == 0 }" range { 0! 10! } } } group { name "folder3_10" label "Cluster" hidewhentab "{ materialtype != wood }" parm { name "wood_enablecluster" label "Enable Cluster" type toggle default { "1" } parmtag { "script_action" "import soputils\n\nkwargs[\"attribname\"] = \"cluster\"\nsoputils.actionToggleVisualizer(kwargs)" } parmtag { "script_action_help" "Toggle visualization\nCtrl-LMB: Open the visualization editor" } parmtag { "script_action_icon" "VIEW_visualization" } } parm { name "wood_clusterrandomness" label "Randomness" type float default { "0" } disablewhen "{ fractureperpiece == 0 } { wood_enablecluster == 0 }" hidewhen "{ fractureperpiece == 0 }" range { 0 1 } } parm { name "wood_clustertype" label "Cluster Type" type ordinal default { "combinepieces" } disablewhen "{ wood_enablecluster == 0 }" menu { "combinepieces" "Combine Pieces" "groupconstraints" "Group Constraints" } parmtag { "autoscope" "0000000000000000" } } parm { name "wood_clusteroffset" label "Offset" type float size 3 default { "0" "0" "0" } disablewhen "{ wood_enablecluster == 0 }" range { 0 10 } parmtag { "autoscope" "0000000000000000" } parmtag { "parmvop" "1" } parmtag { "shaderparmcontexts" "cvex" } } parm { name "wood_clusterjitter" label "Jitter" type float size 3 default { "1" "1" "1" } disablewhen "{ wood_enablecluster == 0 }" range { 0 10 } parmtag { "autoscope" "0000000000000000" } parmtag { "parmvop" "1" } parmtag { "shaderparmcontexts" "cvex" } } parm { name "wood_clustersize" label "Size" type float size 3 default { "1" "1" "1" } disablewhen "{ wood_enablecluster == 0 }" range { 0 10 } parmtag { "autoscope" "0000000000000000" } parmtag { "parmvop" "1" } parmtag { "shaderparmcontexts" "cvex" } } parm { name "wood_randomdetach" label "Random Detach" type toggle default { "off" } disablewhen "{ wood_enablecluster == 0 }" parmtag { "autoscope" "0000000000000000" } } parm { name "wood_detachratio" label "Detach Ratio" type float default { "0.157" } disablewhen "{ wood_randomdetach == 0 } { wood_enablecluster == 0 }" range { 0 1 } parmtag { "autoscope" "0000000000000000" } } parm { name "wood_detachseed" label "Detach Seed" type integer default { "0" } disablewhen "{ wood_randomdetach == 0 } { wood_enablecluster == 0 }" range { 0 10 } parmtag { "autoscope" "0000000000000000" } } } group { name "folder3_11" label "Primary Fracture" hidewhentab "{ materialtype != custom }" parm { name "custom_inputsurface" label "Treat As" type ordinal default { "solid" } menu { "solid" "Solid" "surface" "Surface" } parmtag { "autoscope" "0000000000000000" } } parm { name "custom_detriangulate" label "Detriangulate" type ordinal default { "all" } menu { "none" "No Polygons" "unchanged" "Only Unchanged Polygons" "all" "All Polygons" } parmtag { "autoscope" "0000000000000000" } } groupsimple { name "custom_cutter" label "Cutting Geometry" parm { name "custom_scattercuttinggeo" label "Scatter Cutting Geo" type toggle default { "on" } parmtag { "autoscope" "0000000000000000" } } parm { name "custom_scatterfrom" label "Scatter From" type ordinal default { "custom_volume" } disablewhen "{ custom_scattercuttinggeo == 0 }" menu { "volume" "Volume" "attribute" "Attribute" } parmtag { "autoscope" "0000000000000000" } } parm { name "custom_cuttergeo" label "Cutter Geo" type integer default { "0" } disablewhen "{ custom_scattercuttinggeo == 0 }" menu { "0" "Grid" "1" "Sphere" "2" "User Input" } range { 0 10 } parmtag { "autoscope" "0000000000000000" } } parm { name "custom_spherefreq" label "Frequency" type integer default { "2" } disablewhen "{ custom_scattercuttinggeo == 0 }" hidewhen "{ custom_cuttergeo != 1 }" range { 1! 10 } parmtag { "autoscope" "0000000000000000" } } parm { name "custom_scatterpts" label "Scatter Points" type integer joinnext default { "5" } disablewhen "{ custom_scattercuttinggeo == 0 }" range { 0! 100 } parmtag { "autoscope" "0000000000000000" } } parm { name "custom_scalebyattribute" label "custom_scalebyattribute" type ordinal nolabel default { "0" } disablewhen "{ custom_scattercuttinggeo == 0 }" menu { "0" "No Scaling" "1" "Scale by Attribute" } parmtag { "autoscope" "0000000000000000" } parmtag { "script_callback_language" "python" } } parm { name "custom_scaleattribute" label "Scaling Attribute" type string default { "density" } disablewhen "{ custom_scattercuttinggeo == 0 }" hidewhen "{ custom_scalebyattribute == 0 }" menureplace { [ "opmenu -l -a CUSTOM_FRACTURE0 scaleattribute" ] } parmtag { "autoscope" "0000000000000000" } parmtag { "script_callback_language" "python" } } parm { name "custom_scatterseed" label "Scatter Seed" type float default { "0" } disablewhen "{ custom_scattercuttinggeo == 0 }" range { 0 10 } parmtag { "autoscope" "0000000000000000" } } parm { name "custom_scatternormal" label "Scatter Normal" type vector size 3 default { "0" "1" "0" } disablewhen "{ custom_scattercuttinggeo == 0 } { custom_scatterfrom == attribute }" range { 0 1 } parmtag { "autoscope" "0000000000000000" } } parm { name "custom_randomizenormal" label "Randomize Normal" type float default { "1" } disablewhen "{ custom_scattercuttinggeo == 0 }" range { 0! 1 } parmtag { "autoscope" "0000000000000000" } } parm { name "custom_scatterattrib" label "Attribute Name" type string default { "density" } disablewhen "{ custom_scatterfrom != attribute } { custom_scattercuttinggeo == 0 }" hidewhen "{ custom_scatterfrom != attribute }" menureplace { [ "opmenu -l -a -a scatter_attrib_menu densityattrib" ] } parmtag { "autoscope" "0000000000000000" } } parm { name "custom_usecutterinput" label "Use Input Geo" type toggle nolabel joinnext default { "off" } parmtag { "autoscope" "0000000000000000" } } parm { name "custom_cutterinputgroup" label "Input Cutting Geo" type string default { "" } disablewhen "{ custom_usecutterinput == 0 }" menutoggle { [ "opmenu -l -a CUSTOM_FRACTURE0 cutterinputgroup" ] } parmtag { "autoscope" "0000000000000000" } parmtag { "script_action" "import soputils\nkwargs['geometrytype'] = hou.geometryType.Primitives\nkwargs['inputindex'] = 3\nsoputils.selectGroupParm(kwargs)" } parmtag { "script_action_icon" "BUTTONS_reselect" } } parm { name "custom_trimcuttinggeo" label "Trim Cutting Geometry" type toggle joinnext default { "on" } disablewhen "{ custom_scattercuttinggeo == 0 custom_usecutterinput == 0 }" parmtag { "autoscope" "0000000000000000" } parmtag { "script_callback_language" "python" } } parm { name "custom_trimdetriangulate" label "Detriangulate Cutting Geo" type ordinal default { "all" } disablewhen "{ custom_scattercuttinggeo == 0 custom_usecutterinput == 0 } { custom_trimcuttinggeo == 0 }" menu { "none" "No Polygons" "unchanged" "Only Unchanged Polygons" "all" "All Polygons" } parmtag { "autoscope" "0000000000000000" } } } groupsimple { name "custom_volume" label "Fog Volume" disablewhen "{ custom_scattercuttinggeo == 0 custom_guidegeo != volume }" hidewhen "{ custom_scatterfrom == attribute }" parm { name "custom_volumenoisetype" label "Noise Type" type string default { "snoise" } menu { "none" "None" "pnoise" "Perlin Noise" "onoise" "Original Perlin Noise" "snoise" "Sparse Convolution Noise" "anoise" "Alligator Noise" "xnoise" "Simplex Noise" "correctnoise" "Zero Centered Perlin Noise" } } parm { name "custom_volumeres" label "Volume Resolution" type integer default { "75" } disablewhen "{ custom_volumenoisetype == none }" range { 0 10 } parmtag { "autoscope" "0000000000000000" } } parm { name "custom_volumenoisefreq" label "Noise Frequency" type vector size 3 default { "1" "1" "1" } disablewhen "{ custom_volumenoisetype == none }" range { -1 1 } parmtag { "autoscope" "0000000000000000" } } parm { name "custom_volumenoiseoffset" label "Noise Offset" type vector size 3 default { "0" "0" "0" } disablewhen "{ custom_volumenoisetype == none }" range { -1 1 } parmtag { "autoscope" "0000000000000000" } } parm { name "custom_cutoffdensity" label "Cutoff Density" type float default { "0.3" } disablewhen "{ custom_volumenoisetype == none }" range { 0! 1! } parmtag { "autoscope" "0000000000000000" } } } parm { name "custom_fractureid" label "Fracture ID" type string default { "custom_fracture" } } } group { name "folder3_12" label "Chipping" hidewhentab "{ materialtype != custom }" parm { name "custom_enablechipping" label "Enable Chipping" type toggle default { "off" } parmtag { "autoscope" "0000000000000000" } } parm { name "custom_chippingratio" label "Chipping Ratio" type float default { "0.5" } disablewhen "{ custom_enablechipping == 0 }" range { 0 1 } parmtag { "autoscope" "0000000000000000" } } parm { name "custom_chippingseed" label "Seed" type float default { "0" } disablewhen "{ custom_enablechipping == 0 }" range { 0 10 } parmtag { "autoscope" "0000000000000000" } } parm { name "custom_chippingrandomness" label "Randomness" type float default { "0.3" } disablewhen "{ fractureperpiece == 0 } { custom_enablechipping == 0 }" range { 0 1 } } parm { name "custom_cornerratio" label "Corner Ratio" type float default { "0.5" } disablewhen "{ custom_enablechipping == 0 }" range { 0! 1! } parmtag { "autoscope" "0000000000000000" } } parm { name "custom_chippingdepth" label "Corner Depth" type float default { "0.05" } disablewhen "{ custom_enablechipping == 0 }" range { 0! 1 } parmtag { "autoscope" "0000000000000000" } } parm { name "custom_chippingdirectionalnoise" label "Directional Noise" type float default { "0.125" } disablewhen "{ custom_enablechipping == 0 }" range { 0! 1! } parmtag { "autoscope" "0000000000000000" } } parm { name "custom_chippingdetriangulate" label "Detriangulate" type ordinal default { "all" } disablewhen "{ custom_enablechipping == 0 }" menu { "none" "No Polygons" "unchanged" "Only Unchanged Polygons" "all" "All Polygons" } parmtag { "autoscope" "0000000000000000" } } } group { name "folder3_13" label "Detail" hidewhentab "{ materialtype != custom }" parm { name "custom_detailsize" label "Detail Size" type float default { "0.05" } range { 0 10 } parmtag { "autoscope" "0000000000000000" } } parm { name "sepparm10" label "Separator" type separator default { "" } } parm { name "custom_edgedetail" label "Edge Detail" type toggle default { "off" } parmtag { "autoscope" "0000000000000000" } } parm { name "custom_edgenoiseheight" label "Noise Height" type float default { "0.1" } disablewhen "{ custom_edgedetail == 0 custom_guidegeo != edgedetail }" range { 0 10 } parmtag { "autoscope" "0000000000000000" } parmtag { "parmvop" "1" } parmtag { "shaderparmcontexts" "cvex" } } parm { name "custom_edgenoisesize" label "Noise Element Size" type float default { "0.2" } disablewhen "{ custom_edgedetail == 0 custom_guidegeo != edgedetail }" range { 0 10 } parmtag { "autoscope" "0000000000000000" } parmtag { "parmvop" "1" } parmtag { "shaderparmcontexts" "cvex" } } parm { name "sepparm11" label "Separator" type separator default { "" } } parm { name "custom_interiordetail" label "Interior Detail" type toggle default { "off" } disablewhen "{ custom_inputsurface == surface }" parmtag { "autoscope" "0000000000000000" } } parm { name "custom_depthvolumevoxelsize" label "Depth Volume Voxel Size" type float invisible default { "0.1" } disablewhen "{ custom_interiordetail == 0 } { custom_inputsurface == surface }" range { 0! 5 } parmtag { "autoscope" "0000000000000000" } } parm { name "custom_interiornoiseamp" label "Noise Amplitude" type float default { "0.25" } disablewhen "{ custom_interiordetail == 0 } { custom_inputsurface == surface }" range { 0 1 } parmtag { "autoscope" "0000000000000000" } parmtag { "parmvop" "1" } parmtag { "shaderparmcontexts" "cvex" } } parm { name "custom_interiornoisetype" label "Noise Type" type string default { "sparse" } disablewhen "{ custom_interiordetail == 0 } { custom_inputsurface == surface }" menu { "value_fast" "Fast" "sparse" "Sparse Convolution" "alligator" "Alligator" "perlin" "Perlin" "flow" "Perlin Flow" "simplex" "Simplex" "worleyFA" "Worley Cellular F1" "worleyFB" "Worley Cellular F2-F1" "mworleyFA" "Manhattan Cellular F1" "mworleyFB" "Manhattan Cellular F2-F1" "cworleyFA" "Chebyshev Cellular F1" "cworleyFB" "Chebyshev Cellular F2-F1" } range { 0 1 } unquoted parmtag { "autoscope" "0000000000000000" } } parm { name "custom_interiornoisefreq" label "Frequency" type float size 3 default { "2.5" "2.5" "2.5" } disablewhen "{ custom_interiordetail == 0 } { custom_inputsurface == surface }" range { 0 10 } parmtag { "autoscope" "0000000000000000" } parmtag { "parmvop" "1" } parmtag { "shaderparmcontexts" "cvex" } } parm { name "custom_noiseoffset" label "Offset" type float size 3 default { "0" "0" "0" } disablewhen "{ custom_interiordetail == 0 } { custom_inputsurface == surface }" range { 0 10 } parmtag { "autoscope" "0000000000000000" } parmtag { "parmvop" "1" } parmtag { "shaderparmcontexts" "cvex" } } parm { name "sepparm9" label "Separator" type separator default { "" } } parm { name "custom_enablecreaseweights" label "Crease Weights" type toggle default { "0" } } parm { name "custom_creaseweights" label "Weight" type float default { "10" } disablewhen "{ custom_enablecreaseweights == 0 }" range { 0! 10! } } groupsimple { name "folder_custom_proxygeometry" label "Proxy Geometry" parm { name "custom_proxygeometry" label "Proxy Geometry" type ordinal default { "0" } menu { "0" "Default" "1" "Convex Decomposition" "2" "Packed Spheres" } parmtag { "autoscope" "0000000000000000" } } parm { name "custom_maxconcavity" label "Max Concavity" type float default { "0.1" } disablewhen "{ custom_proxygeometry != 1 }" hidewhen "{ custom_proxygeometry != 1 }" range { 0 10 } parmtag { "autoscope" "0000000000000000" } } parm { name "custom_voxelsize" label "Voxel Size" type float default { "0.1" } disablewhen "{ custom_proxygeometry != 2 }" hidewhen "{ custom_proxygeometry != 2 }" range { 0! 5 } parmtag { "autoscope" "0000000000000000" } } parm { name "custom_radiusmin" label "Min Radius" type float default { "1" } disablewhen "{ custom_proxygeometry != 2 }" hidewhen "{ custom_proxygeometry != 2 }" range { 1e-05! 2 } parmtag { "autoscope" "0000000000000000" } parmtag { "houdini_utils::doc" "The radius of the smallest sphere allowed\n\nIf disabled, allow spheres of any radius greater than zero." } } parm { name "custom_radiusmax" label "Max Radius" type float default { "8" } disablewhen "{ custom_proxygeometry != 2 }" hidewhen "{ custom_proxygeometry != 2 }" range { 1e-05! 100 } parmtag { "autoscope" "0000000000000000" } parmtag { "houdini_utils::doc" "The radius of the largest sphere allowed\n\nIf disabled, allow arbitrarily large spheres." } } parm { name "custom_spheresmax" label "Max Spheres" type integer default { "100" } disablewhen "{ custom_proxygeometry != 2 }" hidewhen "{ custom_proxygeometry != 2 }" range { 1! 200 } parmtag { "autoscope" "0000000000000000" } parmtag { "houdini_utils::doc" "The maximum number of spheres to be generated\n\nIf disabled, allow for up to __Point Count__ spheres to be generated." } } } } group { name "folder3_14" label "Constraints" parm { name "constraintsearchradius" label "Search Radius" type float default { "0.05" } range { 0! 10 } parmtag { "autoscope" "0000000000000000" } } parm { name "constraintusetags" label "Use Tags" type toggle default { "1" } parmtag { "script_callback_language" "python" } } parm { name "concrete_applyconstraints" label "Apply Constraint Properties" type toggle default { "1" } hidewhen "{ materialtype != concrete }" } parm { name "concrete_constraintname" label "Glue Constraint Name" type string default { "Glue" } disablewhen "{ concrete_applyconstraints == 0 }" hidewhen "{ materialtype != concrete }" parmtag { "autoscope" "0000000000000000" } } parm { name "concrete_enablecolor" label "Enable Color" type toggle default { "off" } disablewhen "{ concrete_applyconstraints == 0 }" hidewhen "{ materialtype != concrete }" parmtag { "autoscope" "0000000000000000" } } parm { name "concrete_constraintcolor" label "Color" type color size 3 default { "0.5" "0.5" "0.5" } disablewhen "{ concrete_applyconstraints == 0 }" hidewhen "{ materialtype != concrete } { concrete_enablecolor == 0 }" range { 0 1 } parmtag { "autoscope" "0000000000000000" } } parm { name "concrete_chippingconstraintcolor" label "Chipping Color" type color size 3 default { "1" "1" "1" } disablewhen "{ concrete_applyconstraints == 0 }" hidewhen "{ materialtype != concrete } { concrete_enablecolor == 0 } { concrete_enablechipping == 0 }" range { 0 1 } parmtag { "autoscope" "0000000000000000" } } parm { name "concrete_primarystrength" label "Primary Strength" type float default { "10000" } disablewhen "{ concrete_applyconstraints == 0 }" hidewhen "{ materialtype != concrete }" range { 0 10 } parmtag { "autoscope" "0000000000000000" } } parm { name "concrete_levelmultiplier" label "Level Multiplier" type float default { "5" } disablewhen "{ concrete_applyconstraints == 0 }" hidewhen "{ materialtype != concrete }" range { 0 10 } } parm { name "concrete_chippingstrength" label "Chipping Glue Strength" type float default { "5000" } disablewhen "{ concrete_applyconstraints == 0 } { concrete_enablechipping == 0 }" hidewhen "{ materialtype != concrete }" range { 0 10 } parmtag { "autoscope" "0000000000000000" } } parm { name "concrete_strengthvariance" label "Strength Variance" type float default { "0.8" } disablewhen "{ concrete_applyconstraints == 0 }" hidewhen "{ materialtype != concrete }" range { 0 10 } } parm { name "concrete_nextconstraint" label "Switch to Soft Constraint when Broken" type toggle default { "off" } disablewhen "{ concrete_applyconstraints == 0 }" hidewhen "{ materialtype != concrete }" parmtag { "autoscope" "0000000000000000" } } parm { name "concrete_nextconstraintname" label "Soft Constraint Name" type string default { "Soft" } disablewhen "{ concrete_applyconstraints == 0 }" hidewhen "{ materialtype != concrete } { concrete_nextconstraint == 0 }" parmtag { "autoscope" "0000000000000000" } } parm { name "concrete_nextconstraintdof" label "Degrees of Freedom" type ordinal default { "all" } disablewhen "{ concrete_applyconstraints == 0 }" hidewhen "{ materialtype != concrete } { concrete_nextconstraint == 0 }" menu { "all" "Position + Rotation" "position" "Position" "rotation" "Rotation" } parmtag { "autoscope" "0000000000000000" } } parm { name "concrete_next_stiffness" label "Stiffness" type float default { "10" } disablewhen "{ concrete_applyconstraints == 0 }" hidewhen "{ materialtype != concrete } { concrete_nextconstraint == 0 }" range { 0 10 } parmtag { "autoscope" "0000000000000000" } parmtag { "script_callback_language" "python" } } parm { name "concrete_next_dampingratio" label "Damping Ratio" type float default { "1" } disablewhen "{ concrete_applyconstraints == 0 }" hidewhen "{ materialtype != concrete } { concrete_nextconstraint == 0 }" range { 0 10 } parmtag { "autoscope" "0000000000000000" } parmtag { "script_callback_language" "python" } } parm { name "glass_applyconstraints" label "Apply Constraint Properties" type toggle default { "1" } hidewhen "{ materialtype != glass }" } parm { name "glass_constraintname" label "Glue Constraint Name" type string default { "Glue" } disablewhen "{ glass_applyconstraints == 0 }" hidewhen "{ materialtype != glass }" } parm { name "glass_enablecolor" label "Enable Color" type toggle default { "off" } disablewhen "{ glass_applyconstraints == 0 }" hidewhen "{ materialtype != glass }" parmtag { "autoscope" "0000000000000000" } } parm { name "glass_radialconstraintcolor" label "Radial Color" type color size 3 default { "0" "0" "1" } disablewhen "{ glass_applyconstraints == 0 }" hidewhen "{ materialtype != glass } { glass_enablecolor == 0 }" range { 0 1 } parmtag { "autoscope" "0000000000000000" } } parm { name "glass_concentricconstraintcolor" label "Concentric Color" type color size 3 default { "0" "1" "1" } disablewhen "{ glass_applyconstraints == 0 }" hidewhen "{ materialtype != glass } { glass_enablecolor == 0 }" range { 0 1 } parmtag { "autoscope" "0000000000000000" } } parm { name "glass_chippingconstraintcolor" label "Color" type color size 3 default { "0.75" "1" "1" } disablewhen "{ glass_applyconstraints == 0 }" hidewhen "{ materialtype != glass } { glass_enablecolor == 0 } { glass_enablechipping == 0 }" range { 0 1 } parmtag { "autoscope" "0000000000000000" } } parm { name "glass_radialstrength" label "Radial Strength" type float default { "10000" } disablewhen "{ glass_applyconstraints == 0 }" hidewhen "{ materialtype != glass }" range { 0 10 } } parm { name "glass_concentricstrength" label "Concentric Strength" type float default { "40000" } disablewhen "{ glass_applyconstraints == 0 }" hidewhen "{ materialtype != glass }" range { 0 10 } } parm { name "glass_chippingstrength" label "Chipping Strength" type float default { "5000" } disablewhen "{ glass_applyconstraints == 0 } { glass_enablechipping == 0 }" hidewhen "{ materialtype != glass }" range { 0 10 } } parm { name "glass_strengthvariance" label "Strength Variance" type float default { "0.8" } disablewhen "{ glass_applyconstraints == 0 }" hidewhen "{ materialtype != glass }" range { 0 10 } } parm { name "glass_nextconstraint" label "Switch to Soft Constraint when Broken" type toggle default { "off" } disablewhen "{ glass_applyconstraints == 0 }" hidewhen "{ materialtype != glass }" parmtag { "autoscope" "0000000000000000" } } parm { name "glass_nextconstraintname" label "Soft Constraint Name" type string default { "Soft" } disablewhen "{ glass_applyconstraints == 0 }" hidewhen "{ materialtype != glass } { glass_nextconstraint == 0 }" parmtag { "autoscope" "0000000000000000" } } parm { name "glass_nextconstraintdof" label "Degrees of Freedom" type ordinal default { "all" } disablewhen "{ glass_applyconstraints == 0 }" hidewhen "{ materialtype != glass } { glass_nextconstraint == 0 }" menu { "all" "Position + Rotation" "position" "Position" "rotation" "Rotation" } parmtag { "autoscope" "0000000000000000" } } parm { name "glass_next_stiffness" label "Stiffness" type float default { "10" } disablewhen "{ glass_applyconstraints == 0 }" hidewhen "{ materialtype != glass } { glass_nextconstraint == 0 }" range { 0 10 } parmtag { "autoscope" "0000000000000000" } parmtag { "script_callback_language" "python" } } parm { name "glass_next_dampingratio" label "Damping Ratio" type float default { "1" } disablewhen "{ glass_applyconstraints == 0 }" hidewhen "{ materialtype != glass } { glass_nextconstraint == 0 }" range { 0 10 } parmtag { "autoscope" "0000000000000000" } parmtag { "script_callback_language" "python" } } parm { name "wood_applyconstraints" label "Apply Constraint Properties" type toggle default { "1" } hidewhen "{ materialtype != wood }" } parm { name "wood_constraintname" label "Glue Constraint Name" type string default { "Glue" } disablewhen "{ wood_applyconstraints == 0 }" hidewhen "{ materialtype != wood }" } parm { name "wood_enablecolor" label "Enable Color" type toggle default { "off" } disablewhen "{ wood_applyconstraints == 0 }" hidewhen "{ materialtype != wood }" parmtag { "autoscope" "0000000000000000" } } parm { name "wood_grainconstraintcolor" label "Grain Color" type color size 3 default { "0.6" "0.3" "0.1" } disablewhen "{ wood_applyconstraints == 0 }" hidewhen "{ materialtype != wood } { wood_enablecolor == 0 } { wood_enablegrain == 0 }" range { 0 1 } parmtag { "autoscope" "0000000000000000" } } parm { name "wood_cutconstraintcolor" label "Cut Color" type color size 3 default { "1" "1" "0" } disablewhen "{ wood_applyconstraints == 0 }" hidewhen "{ materialtype != wood } { wood_enablecolor == 0 } { wood_enablecut == 0 }" range { 0 1 } parmtag { "autoscope" "0000000000000000" } } parm { name "wood_clusterconstraintcolor" label "Cluster Color" type color size 3 default { "0.25" "0.5" "0" } disablewhen "{ wood_applyconstraints == 0 }" hidewhen "{ materialtype != wood } { wood_enablecolor == 0 } { wood_enablecluster == 0 } { wood_clustertype != groupconstraints }" range { 0 1 } parmtag { "autoscope" "0000000000000000" } } parm { name "wood_grainstrength" label "Grain Strength" type float default { "5000" } disablewhen "{ wood_applyconstraints == 0 }" hidewhen "{ materialtype != wood }" range { 0 10 } parmtag { "autoscope" "0000000000000000" } } parm { name "wood_cutstrength" label "Cut Strength" type float default { "10000" } disablewhen "{ wood_applyconstraints == 0 }" hidewhen "{ materialtype != wood }" range { 0 10 } parmtag { "autoscope" "0000000000000000" } } parm { name "wood_strengthvariance" label "Strength Variance" type float default { "0.8" } disablewhen "{ wood_applyconstraints == 0 }" hidewhen "{ materialtype != wood }" range { 0 10 } } parm { name "wood_nextconstraint" label "Switch to Soft Constraint when Broken" type toggle default { "off" } disablewhen "{ wood_applyconstraints == 0 }" hidewhen "{ materialtype != wood }" parmtag { "autoscope" "0000000000000000" } } parm { name "wood_nextconstraintname" label "Soft Constraint Name" type string default { "Soft" } disablewhen "{ wood_applyconstraints == 0 }" hidewhen "{ materialtype != wood } { wood_nextconstraint == 0 }" parmtag { "autoscope" "0000000000000000" } } parm { name "wood_nextconstraintdof" label "Degrees of Freedom" type ordinal default { "all" } disablewhen "{ wood_applyconstraints == 0 }" hidewhen "{ materialtype != wood } { wood_nextconstraint == 0 }" menu { "all" "Position + Rotation" "position" "Position" "rotation" "Rotation" } parmtag { "autoscope" "0000000000000000" } } parm { name "wood_next_stiffness" label "Stiffness" type float default { "10" } disablewhen "{ wood_applyconstraints == 0 }" hidewhen "{ materialtype != wood } { wood_nextconstraint == 0 }" range { 0 10 } parmtag { "autoscope" "0000000000000000" } parmtag { "script_callback_language" "python" } } parm { name "wood_next_dampingratio" label "Damping Ratio" type float default { "1" } disablewhen "{ wood_applyconstraints == 0 }" hidewhen "{ materialtype != wood } { wood_nextconstraint == 0 }" range { 0 10 } parmtag { "autoscope" "0000000000000000" } parmtag { "script_callback_language" "python" } } parm { name "custom_applyconstraints" label "Apply Constraint Properties" type toggle default { "1" } hidewhen "{ materialtype != custom }" } parm { name "custom_constraintname" label "Glue Constraint Name" type string default { "Glue" } disablewhen "{ custom_applyconstraints == 0 }" hidewhen "{ materialtype != custom }" } parm { name "custom_enablecolor" label "Enable Color" type toggle default { "off" } disablewhen "{ custom_applyconstraints == 0 }" hidewhen "{ materialtype != custom }" parmtag { "autoscope" "0000000000000000" } } parm { name "custom_constraintcolor" label "Color" type color size 3 default { "0" "0.5" "0.5" } disablewhen "{ custom_applyconstraints == 0 }" hidewhen "{ materialtype != custom } { custom_enablecolor == 0 }" range { 0 1 } parmtag { "autoscope" "0000000000000000" } } parm { name "custom_chippingconstraintcolor" label "Chipping Color" type color size 3 default { "0.5" "1" "1" } disablewhen "{ custom_applyconstraints == 0 }" hidewhen "{ materialtype != custom } { custom_enablecolor == 0 } { custom_enablechipping == 0 }" range { 0 1 } parmtag { "autoscope" "0000000000000000" } } parm { name "custom_primarystrength" label "Primary Strength" type float default { "10000" } disablewhen "{ custom_applyconstraints == 0 }" hidewhen "{ materialtype != custom }" range { 0 10 } parmtag { "autoscope" "0000000000000000" } } parm { name "custom_chippingstrength" label "Chipping Glue Strength" type float default { "5000" } disablewhen "{ custom_applyconstraints == 0 } { custom_enablechipping == 0 }" hidewhen "{ materialtype != custom }" range { 0 10 } parmtag { "autoscope" "0000000000000000" } } parm { name "custom_strengthvariance" label "Strength Variance" type float default { "0.8" } disablewhen "{ custom_applyconstraints == 0 }" hidewhen "{ materialtype != custom }" range { 0 10 } } parm { name "custom_nextconstraint" label "Switch to Soft Constraint when Broken" type toggle default { "off" } disablewhen "{ custom_applyconstraints == 0 }" hidewhen "{ materialtype != custom }" parmtag { "autoscope" "0000000000000000" } } parm { name "custom_nextconstraintname" label "Soft Constraint Name" type string default { "Soft" } disablewhen "{ custom_applyconstraints == 0 }" hidewhen "{ materialtype != custom } { custom_nextconstraint == 0 }" parmtag { "autoscope" "0000000000000000" } } parm { name "custom_nextconstraintdof" label "Degrees of Freedom" type ordinal default { "all" } disablewhen "{ custom_applyconstraints == 0 }" hidewhen "{ materialtype != custom } { custom_nextconstraint == 0 }" menu { "all" "Position + Rotation" "position" "Position" "rotation" "Rotation" } parmtag { "autoscope" "0000000000000000" } } parm { name "custom_stiffness" label "Stiffness" type float default { "10" } disablewhen "{ custom_applyconstraints == 0 }" hidewhen "{ materialtype != custom } { custom_nextconstraint == 0 }" range { 0 10 } parmtag { "autoscope" "0000000000000000" } } parm { name "custom_dampingratio" label "Damping Ratio" type float default { "1" } disablewhen "{ custom_applyconstraints == 0 }" hidewhen "{ materialtype != custom } { custom_nextconstraint == 0 }" range { 0 10 } parmtag { "autoscope" "0000000000000000" } } } } INDXContents=b DialogScript=]aT HouLC1033600bb60620f099b0f96ba020LIMITED_COMMERCIAL_FILE!!!# Dialog script for rbdpack automatically generated { name rbdpack script rbdpack label "RBD Pack" help { "" } inputlabel 1 Geometry inputlabel 2 "Constraint Geometry" inputlabel 3 "Proxy Geometry" inputlabel 4 "Sub-Network Input #4" outputlabel 1 "Packed Geometry" parm { name "doname" label "Label" type toggle nolabel joinnext default { "0" } } parm { name "name" label "Name" type string default { "fracture_$OS" } disablewhen "{ doname == 0 }" } parm { name "labelparm" label "Label" type label default { "Display" } parmtag { "sidefx::look" "heading" } } parm { name "geoviewportlod" label "Geometry" type ordinal default { "full" } menu { "full" "Full Geometry" "points" "Point Cloud" "box" "Bounding Box" "centroid" "Centroid" "hidden" "Hidden" } parmtag { "autoscope" "0000000000000000" } parmtag { "script_callback_language" "python" } } parm { name "constraintviewportlod" label "Constraints" type ordinal default { "hidden" } menu { "full" "Full Geometry" "points" "Point Cloud" "box" "Bounding Box" "centroid" "Centroid" "hidden" "Hidden" } parmtag { "autoscope" "0000000000000000" } parmtag { "script_callback_language" "python" } } parm { name "proxyviewportlod" label "Proxy Geometry" type ordinal default { "hidden" } menu { "full" "Full Geometry" "points" "Point Cloud" "box" "Bounding Box" "centroid" "Centroid" "hidden" "Hidden" } parmtag { "autoscope" "0000000000000000" } parmtag { "script_callback_language" "python" } } } INDXContents=b DialogScript=:4aTHouLC1033600bb60620f09de0f96ba020LIMITED_COMMERCIAL_FILE!!!# 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(\"COMMON_PARMS/soppath\")" ] [ "sopnode = hou.node(soppath)" ] [ "geo = sopnode.geometry() if sopnode else None" ] [ "if not geo:" ] [ " return []" ] [ "" ] [ "return geo.generateAttribMenu(hou.attribType.Point)" ] 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 } } } } INDXContents=b DialogScript=%(aT HouLC1033600bb60620f099b0f96ba020LIMITED_COMMERCIAL_FILE!!!# Dialog script for rbdrecursivefracture::2.0 automatically generated { name rbdrecursivefracture::2.0 script rbdrecursivefracture label "RBD Recursive Fracture" help { "" } inputlabel 1 Geometry inputlabel 2 "Constraint Geometry" inputlabel 3 "Proxy Geometry" inputlabel 4 "Extra Input" outputlabel 1 Geometry outputlabel 2 "Constraint Geometry" outputlabel 3 "Proxy Geometry" parm { name "enablecompiling" label "Enable Compiling" type toggle default { "0" } } multiswitcher { name "recursions" label "Recursions" default 1 parm { name "enablefracture#" label "Enable Fracture" type toggle default { "1" } } parm { name "fractureid#" label "Fracture ID" type string default { "fracture#" } } parm { name "fractureratio#" label "Fracture Ratio" type float default { "1" } range { 0! 1! } } parm { name "fractureseed#" label "Fracture Seed" type float default { "0" } range { 0 10 } } groupsimple { name "scatter#_1" label "Voronoi" parm { name "createinteriorsurfaces#" label "Create Interior Surfaces" type toggle default { "on" } parmtag { "autoscope" "0000000000000000" } } parm { name "copycellattribs#" label "Copy Cell Point Attributes" type toggle default { "off" } parmtag { "autoscope" "0000000000000000" } } parm { name "ptattributes#" label "To Piece Points" type string default { "" } disablewhen "{ copycellattribs# == 0 }" hidewhen "{ copycellattribs# == 0 }" menutoggle { [ "opmenu -l -a voronoifracture3 ptattributes" ] } parmtag { "autoscope" "0000000000000000" } } parm { name "primattributes#" label "To Piece Primitives" type string default { "" } disablewhen "{ copycellattribs# == 0 }" hidewhen "{ copycellattribs# == 0 }" menutoggle { [ "opmenu -l -a voronoifracture3 primattributes" ] } parmtag { "autoscope" "0000000000000000" } } parm { name "constraintptattributes#" label "To Constraint Points" type string default { "" } disablewhen "{ copycellattribs# == 0 }" hidewhen "{ copycellattribs# == 0 }" menutoggle { [ "opmenu -l -a voronoifracture1 constraintptattributes" ] } parmtag { "autoscope" "0000000000000000" } } parm { name "connectivitypartition#" label "Connectivity Partition" type ordinal default { "overwrite" } menu { "none" "None" "overwrite" "Overwrite Piece Numbering" } } parm { name "insidegroup#" label "Inside Group" type toggle default { "1" } } parm { name "outsidegroup#" label "Outside Group" type toggle default { "1" } } } groupsimple { name "detail#" label "Detail" parm { name "enabledetail#" label "Enable Detail" type toggle default { "0" } } } } group { name "global" label "Global Settings" parm { name "outputinteriorgroup" label "Output Interior Group" type toggle nolabel joinnext default { "1" } parmtag { "autoscope" "0000000000000000" } } parm { name "interiorgroup" label "Interior Group" type string default { "inside" } disablewhen "{ outputinteriorgroup == 0 }" parmtag { "autoscope" "0000000000000000" } } parm { name "outputexteriorgroup" label "Output Exterior Group" type toggle nolabel joinnext default { "1" } parmtag { "autoscope" "0000000000000000" } } parm { name "exteriorgroup" label "Exterior Group" type string default { "outside" } disablewhen "{ outputexteriorgroup == 0 }" parmtag { "autoscope" "0000000000000000" } } } group { name "global_1" label "Scatter Callback" parm { name "scattercompileblock" label "Compile Block" type oppath default { "" } parmtag { "oprelative" "." } } parm { name "scatterinput0" label "Geometry Input Name" type string default { "GeometryPiece" } parmtag { "autoscope" "0000000000000000" } } parm { name "scatterinput1" label "Constraint Network Input Name" type string default { "ConstraintNetwork" } parmtag { "autoscope" "0000000000000000" } } parm { name "scatterinput2" label "Proxy Input Name" type string default { "ProxyPiece" } } parm { name "scatterinput3" label "Metadata Input Name" type string default { "Metadata" } } } group { name "global_2" label "Detail Callback" parm { name "detailcompileblock" label "Compile Block" type oppath default { "" } parmtag { "oprelative" "." } } parm { name "detailinput0" label "Fractured Geometry" type string default { "FracturedGeometry" } } parm { name "detailinput1" label "Fractured Constraint" type string default { "ConstraintNetwork" } } parm { name "detailinput2" label "Original Geometry" type string default { "OriginalGeometry" } } parm { name "detailinput3" label "Scatter Source" type string default { "ScatterSource" } } parm { name "detailinput4" label "Metadata Input Name" type string default { "Metadata" } } } group { name "global_3" label "Constraints" parm { name "searchradius" label "Search Radius" type float default { "0.05" } range { 0! 10 } parmtag { "autoscope" "0000000000000000" } } parm { name "usetags" label "Use Tags" type toggle default { "0" } parmtag { "script_callback_language" "python" } } } group { name "global_4" label "Debugging" parm { name "enablemaxfracturelevel" label "Max Fracture Level" type toggle nolabel joinnext default { "0" } } parm { name "maxfracturelevel" label "Max Fracture Level" type integer default { "1" } disablewhen "{ enablemaxfracturelevel == 0 }" range { 1! 10 } } parm { name "dosinglepass" label "Do Single Pass" type toggle nolabel joinnext default { "0" } disablewhen "{ enablemaxfracturelevel == 0 }" } parm { name "singlepass" label "Single Pass" type integer default { "0" } disablewhen "{ dosinglepass == 0 } { enablemaxfracturelevel == 0 }" range { 0 10 } } parm { name "resetcookpass" label "Reset Cached Pass" type button default { "0" } disablewhen "{ dosinglepass == 0 } { enablemaxfracturelevel == 0 }" parmtag { "autoscope" "0000000000000000" } } } } INDXContents=b DialogScript=aT HouLC1033600bb60620f099b0f96ba020LIMITED_COMMERCIAL_FILE!!!# Dialog script for rbdrewireconstraints automatically generated { name rbdrewireconstraints script rbdrewireconstraints label "RBD Rewire Constraints" help { "" } inputlabel 1 "Fractured Constraint" inputlabel 2 "Original Constraint" inputlabel 3 "Fractured Geometry" inputlabel 4 "Sub-Network Input #4" outputlabel 1 "Rewired Constraint" parm { name "originalpieceattrib" label "Original Piece Attribute" type string default { "parentpiece" } } groupsimple { name "folder0" label "Connections" parm { name "nptsperarea" label "Points per Area" type float default { "500" } range { 0! 10 } parmtag { "autoscope" "0000000000000000" } } parm { name "searchradius" label "Search Radius" type float default { "0.05" } range { 0! 10 } parmtag { "autoscope" "0000000000000000" } } parm { name "external" label "Rewire External" type toggle default { "1" } parmtag { "script_callback_language" "python" } } } } INDXContents=b DialogScript=MaT HouLC1033600bb60620f099b0f96ba020LIMITED_COMMERCIAL_FILE!!!# Dialog script for rbdunpack automatically generated { name rbdunpack script rbdunpack label "RBD Unpack" help { "" } inputlabel 1 "Packed Geometry" inputlabel 2 "Sub-Network Input #2" inputlabel 3 "Sub-Network Input #3" inputlabel 4 "Sub-Network Input #4" outputlabel 1 Geometry outputlabel 2 "Constraint Geometry" outputlabel 3 "Proxy Geometry" parm { name "transfer_attributes" label "Transfer Attributes" type string default { "" } menutoggle { [ "opmenu -l -a unpack1 transfer_attributes" ] } parmtag { "autoscope" "0000000000000000" } } parm { name "transfer_groups" label "Transfer Groups" type string default { "" } menutoggle { [ "opmenu -l -a unpack1 transfer_groups" ] } parmtag { "autoscope" "0000000000000000" } } parm { name "updaterestlengths" label "Update Rest Lengths" type toggle default { "0" } parmtag { "script_callback_language" "python" } } parm { name "uniquename" label "Enforce Unique Name Attribute per Instance" type toggle default { "0" } parmtag { "script_callback_language" "python" } } parm { name "addattribute" label "Add Index Attribute" type toggle nolabel joinnext default { "0" } disablewhen "{ uniquename == 0 }" parmtag { "script_callback_language" "python" } } parm { name "attribute" label "Index Attribute" type string default { "index" } disablewhen "{ uniquename == 0 } { addattribute == 0 }" parmtag { "script_callback_language" "python" } } } INDXContents=b DialogScript=-caT HouLC1033600bb60620f099b0f96ba020LIMITED_COMMERCIAL_FILE!!!# Dialog script for rbdwoodfracture::2.0 automatically generated { name rbdwoodfracture::2.0 script Sop/rbdmaterialfracture::2.0::rbdwoodfracture::2.0 label "RBD Wood Fracture" help { "" } inputlabel 1 Geometry inputlabel 2 "Impact Regions" inputlabel 3 "Sub-Network Input #3" inputlabel 4 "Sub-Network Input #4" outputlabel 1 Geometry outputlabel 2 "Constraint Geometry" outputlabel 3 "Proxy Geometry" parm { name "enablecompiling" label "Enable Compiling" type toggle default { "off" } parmtag { "autoscope" "0000000000000000" } } group { name "folder0" label "Grain" parm { name "enablegrain" label "Enable Grain" type toggle default { "1" } } parm { name "grainfracturedir" label "Fracture Direction" type ordinal default { "0" } disablewhen "{ enablegrain == 0 }" menu { "auto" "Auto (Bounding Box)" "vector" "Vector" } } parm { name "graindirvector" label "Direction Vector" type vector size 3 default { "0" "1" "0" } disablewhen "{ enablegrain == 0 } { grainfracturedir == auto }" hidewhen "{ grainfracturedir == auto }" range { -1 1 } } parm { name "grainspacing" label "Grain Spacing" type float joinnext default { "0.05" } disablewhen "{ enablegrain == 0 }" range { 0 1 } } parm { name "grainspacingscaling" label "grainspacingscaling" type ordinal nolabel default { "0" } menu { "0" "No Scaling" "1" "Scale by Attribute" } parmtag { "script_callback_language" "python" } } parm { name "grainspacingattribute" label "Grain Spacing Attribute" type string default { "density" } hidewhen "{ grainspacingscaling == 0 }" menureplace { [ "kwargs[\"node\"].hm().listFloatAttributes(kwargs)" ] language python } parmtag { "script_callback_language" "python" } } parm { name "grainoffset" label "Grain Offset" type float default { "0.03" } disablewhen "{ enablegrain == 0 }" range { 0 1 } parmtag { "autoscope" "0000000000000000" } } parm { name "grainoffsetseed" label "Grain Offset Seed" type integer default { "2.07" } disablewhen "{ enablegrain == 0 }" range { 0 10 } parmtag { "autoscope" "0000000000000000" } } groupsimple { name "grain_noise" label "Grain Noise" disablewhentab "{ enablegrain == 0 }" parm { name "grainnoiseheight" label "Height" type float default { "0.14" } disablewhen "{ enablegrain == 0 }" range { 0 10 } parmtag { "autoscope" "0000000000000000" } parmtag { "parmvop" "1" } parmtag { "shaderparmcontexts" "cvex" } } parm { name "grainnoiseelementsize" label "Element Size" type float default { "0.48" } disablewhen "{ enablegrain == 0 }" range { 0 10 } parmtag { "autoscope" "0000000000000000" } parmtag { "parmvop" "1" } parmtag { "shaderparmcontexts" "cvex" } } parm { name "grainnoiseseed" label "Seed" type float default { "0" } disablewhen "{ enablegrain == 0 }" range { 0 10 } } } parm { name "grainres" label "Grain Detail Size" type float default { "0" } disablewhen "{ enablegrain == 0 }" range { 0 1 } } parm { name "grainfractureid" label "Grain Fracture ID" type string default { "wood_grain" } disablewhen "{ enablegrain == 0 }" } } group { name "folder0_1" label "Cut" parm { name "enablecut" label "Enable Cut" type toggle default { "1" } } parm { name "cutfracturedir" label "Fracture Direction" type ordinal default { "0" } disablewhen "{ enablecut == 0 }" menu { "auto" "Auto (Bounding Box)" "vector" "Vector" } } parm { name "cutdirvector" label "Direction Vector" type vector size 3 default { "1" "0" "0" } disablewhen "{ enablecut == 0 } { cutfracturedir == auto }" hidewhen "{ cutfracturedir == auto }" range { -1 1 } } parm { name "cutskewangle" label "Skew Angle" type float default { "0" } disablewhen "{ enablecut == 0 }" hidewhen "{ cutfracturedir != auto }" range { -90! 90! } parmtag { "autoscope" "0000000000000000" } parmtag { "script_callback_language" "python" } } parm { name "cutspacing" label "Cut Spacing" type float joinnext default { "0.1" } disablewhen "{ enablecut == 0 }" range { 0 1 } } parm { name "cutspacingscaling" label "cutspacingscaling" type ordinal nolabel default { "0" } menu { "0" "No Scaling" "1" "Scale by Attribute" } parmtag { "script_callback_language" "python" } } parm { name "cutspacingattribute" label "Cut Spacing Attribute" type string default { "density" } hidewhen "{ cutspacingscaling == 0 }" menureplace { [ "kwargs[\"node\"].hm().listFloatAttributes(kwargs)" ] language python } parmtag { "script_callback_language" "python" } } parm { name "cutoffset" label "Cut Offset" type float default { "0.55" } disablewhen "{ enablecut == 0 }" range { 0 1 } parmtag { "autoscope" "0000000000000000" } } parm { name "cutoffsetseed" label "Cut Offset Seed" type integer default { "0.3" } disablewhen "{ enablecut == 0 }" range { 0 10 } parmtag { "autoscope" "0000000000000000" } } groupsimple { name "cutnoise" label "Cut Noise" disablewhentab "{ enablecut == 0 }" parm { name "cutnoiseheight" label "Height" type float default { "1.03" } disablewhen "{ enablecut == 0 }" range { 0 10 } parmtag { "autoscope" "0000000000000000" } parmtag { "parmvop" "1" } parmtag { "shaderparmcontexts" "cvex" } } parm { name "cutnosieelementsize" label "Element Size" type float default { "2.07" } disablewhen "{ enablecut == 0 }" range { 0 10 } parmtag { "autoscope" "0000000000000000" } parmtag { "parmvop" "1" } parmtag { "shaderparmcontexts" "cvex" } } parm { name "cutnoiseseed" label "Seed" type float default { "0" } disablewhen "{ enablecut == 0 }" range { 0 10 } } } groupsimple { name "folder1" label "Splinters" disablewhentab "{ enablecut == 0 }" parm { name "splinterdensity" label "Splinter Density" type float default { "25" } disablewhen "{ enablecut == 0 }" range { 1 50 } } parm { name "splinterlength" label "Splinter Length" type float default { "0" } disablewhen "{ enablecut == 0 }" range { 0 2 } } parm { name "splinterseed" label "Splinter Seed" type float default { "0" } disablewhen "{ enablecut == 0 }" range { 0 10 } } } parm { name "cutfractureid" label "Cut Fracture ID" type string default { "wood_cut" } disablewhen "{ enablecut == 0 }" } } group { name "folder0_2" label "Detail" parm { name "detriangulate" label "Detriangulate" type ordinal default { "all" } menu { "none" "No Polygons" "unchanged" "Only Unchanged Polygons" "all" "All Polygons" } parmtag { "autoscope" "0000000000000000" } } groupsimple { name "folder0_4" label "Proxy Geometry" parm { name "useconvexdecomposition" label "Use Convex Decomposition" type toggle default { "0" } } parm { name "maxconcavity" label "Max Concavity" type float default { "0.1" } disablewhen "{ useconvexdecomposition == 0 }" range { 0! 1 } parmtag { "autoscope" "0000000000000000" } } } } group { name "folder0_3" label "Constraints" parm { name "searchradius" label "Search Radius" type float default { "0.05" } range { 0! 10 } parmtag { "autoscope" "0000000000000000" } } parm { name "usetags" label "Use Tags" type toggle default { "0" } parmtag { "script_callback_language" "python" } } } } INDXContents=b DialogScript=A`aTHouLC1033600bb60620f09eb0f96ba020LIMITED_COMMERCIAL_FILE!!!# 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 "timescale" label "Time Scale" type float default { "1" } disablewhen "{ solver != bullet }" range { 0 10 } parmtag { "autoscope" "0000000000000000" } } 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" } } parm { name "implicitdrag" label "Use Implicit Drag" type toggle default { "on" } disablewhen "{ solver != bullet }" parmtag { "autoscope" "0000000000000000" } } parm { name "doage" label "Enable Aging" type toggle default { "off" } disablewhen "{ solver != bullet }" parmtag { "autoscope" "0000000000000000" } parmtag { "script_callback_language" "python" } } 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 { "gaussseidelcolor" } 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 "randomize_order" label "Randomize Constraint Order" type toggle default { "off" } disablewhen "{ solver != bullet }" range { 0 1 } parmtag { "autoscope" "0000000000000000" } } parm { name "ensureindependentislands" label "Ensure Islands are Independent" type toggle default { "on" } disablewhen "{ solver != bullet }" parmtag { "autoscope" "0000000000000000" } } 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 "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 aT%/* * 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 "Dictionary Attribute" s { int string string string int int dict } 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 } signature "Dictionary Array Attribute" s { int string string string int int dicta } 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 DialogScriptaT$/* * 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 { 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) } INDXContents=b DialogScript=eaT HouLC1033600bb60620f09ec0f96ba020LIMITED_COMMERCIAL_FILE!!!# 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" } } } INDXContents=b DialogScript=aTHouLC1033600bb60620f099b0f96ba020LIMITED_COMMERCIAL_FILE!!!# Dialog script for split automatically generated { name split script split label Split help { "" } inputlabel 1 "Geometry to Split" inputlabel 2 "Sub-Network Input #2" inputlabel 3 "Sub-Network Input #3" inputlabel 4 "Sub-Network Input #4" outputlabel 1 "Selected Geometry" outputlabel 2 "Non-Selected Geometry" parm { name "group" label "Group" type string default { "" } menutoggle { [ "opmenu -l -a blast1 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 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 } parmtag { "autoscope" "0000000000000000" } parmtag { "script_callback" "" } } parm { name "negate" label "Invert Selection" type toggle default { "off" } range { 0 1 } parmtag { "autoscope" "0000000000000000" } parmtag { "script_callback" "" } } parm { name "removegrp" label "Delete Unused Groups" type toggle default { "off" } range { 0 1 } parmtag { "autoscope" "0000000000000000" } } } INDXContents=b DialogScript=n:aTHouLC1033600bb60620f09ec0f96ba020LIMITED_COMMERCIAL_FILE!!!# Dialog script for staticobject automatically generated { name staticobject script staticobject label "Static Object" help { "" } inputlabel 1 "Input 1" inputlabel 2 "Input 2" inputlabel 3 "Input 3" inputlabel 4 "Input 4" 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 "object_name" label "Object Name" type string default { "$OS" } range { 0 1 } parmtag { "autoscope" "0000" } } parm { name "soppath" label "SOP Path" type oppath default { "" } range { 0 1 } parmtag { "autoscope" "0000000000000000" } parmtag { "opfilter" "!!SOP!!" } parmtag { "oprelative" "." } } parm { name "primgroup" label "Primitive Group" type string default { "" } range { 0 1 } parmtag { "autoscope" "0000000000000000" } parmtag { "script_callback" "" } } parm { name "objpath" label "OBJ Path" type oppath default { "" } range { 0 1 } parmtag { "autoscope" "0000000000000000" } parmtag { "opfilter" "!!OBJ!!" } parmtag { "oprelative" "." } } parm { name "animategeo" label "Use Deforming Geometry" type toggle default { "0" } range { 0 1 } export all parmtag { "autoscope" "0000" } } parm { name "letsopsinterpolate" label "Re-evaluate SOPs to Interpolate Geometry" type toggle default { "off" } disablewhen "{ animategeo == 0 }" range { 0 1 } parmtag { "autoscope" "0000000000000000" } parmtag { "script_callback" "" } } parm { name "usetransform" label "Use Object Transform" type toggle default { "off" } range { 0 1 } parmtag { "autoscope" "0000000000000000" } } parm { name "active" label "Create Active Object" type toggle default { "0" } range { 0 1 } parmtag { "autoscope" "0000" } } parm { name "intangible" label "Ignore Merge Relationships" type toggle default { "0" } range { 0 1 } parmtag { "autoscope" "0000000000000000" } } parm { name "display" label "Display Geometry" type toggle default { "1" } range { 0 1 } export all } group { name "std_switcher_0_2_1" label "Physical" parm { name "bounce" label "Bounce" type float default { "0.5" } range { 0 10 } parmtag { "autoscope" "0000000000000000" } parmtag { "units" "" } } parm { name "bounceforward" label "Bounce Forward" type float default { "1" } range { 0 1 } parmtag { "autoscope" "0000000000000000" } parmtag { "units" "" } } parm { name "friction" label "Friction" type float default { "1" } range { 0 1 } parmtag { "autoscope" "0000" } } parm { name "dynamicfriction" label "Dynamic Friction Scale" type float default { "1" } range { 0 1 } parmtag { "autoscope" "0000" } } parm { name "temperature" label "Temperature" type float default { "0" } range { 0 100 } parmtag { "autoscope" "0000000000000000" } } } group { name "std_switcher_0_2_1_1" label "Collisions" group { name "rbd_solver" label "RBD Solver" parm { name "collisiondetection" label "Collision Detection" type ordinal default { "default" } menu { "default" "Use Solver Default" "volume" "Use Volume Collisions" "surface" "Use Surface Collisions" } } parm { name "usevolume" label "Use Volume Based Collision Detection" type toggle invisible default { "1" } range { 0 1 } parmtag { "autoscope" "0000" } } group { name "std_switcher_3" label "Volume" parm { name "showguide" label "Show Collision Guide Geometry" type toggle nolabel joinnext default { "0" } disablewhen "{ collisiondetection == surface }" range { 0 1 } parmtag { "autoscope" "0000" } } parm { name "volumecolor" label "Collision Guide" type color size 3 default { "0" "0" "1" } disablewhen "{ collisiondetection == surface } { showguide == 0 }" range { 0! 1! } parmtag { "autoscope" "0000" } } parm { name "mode" label "Mode" type ordinal default { "0" } disablewhen "{ collisiondetection == surface }" menu { "rayintersect" "Ray Intersect" "metafield" "Meta Balls" "implicitbox" "Implicit Box" "implicitsphere" "Implicit Sphere" "implicitplane" "Implicit Plane" "minimum" "Minimum" "volume" "Volume Sample" "heightfield" "Heightfield" } range { 0 10 } parmtag { "autoscope" "0000" } } parm { name "uniformvoxels" label "Division Method" type ordinal default { "max" } disablewhen "{ collisiondetection == surface }" menu { "nonsquare" "Non Square" "x" "X Axis" "y" "Y Axis" "z" "Z Axis" "max" "Max Axis" "size" "By Size" } range { 0 1 } parmtag { "autoscope" "0000000000000000" } } parm { name "div" label "Divisions" type integer size 3 default { "30" "30" "30" } disablewhen "{ collisiondetection == surface }" hidewhen "{ uniformvoxels != nonsquare }" range { 2! 50 } parmtag { "autoscope" "0000" } } parm { name "uniformdiv" label "Uniform Divisions" type integer default { "30" } disablewhen "{ collisiondetection == surface }" hidewhen "{ uniformvoxels == nonsquare } { uniformvoxels == size }" range { 1! 1000 } parmtag { "autoscope" "0000000000000000" } } parm { name "divsize" label "Division Size" type float default { "0.1" } disablewhen "{ collisiondetection == surface }" hidewhen "{ uniformvoxels != size }" range { 0! 10 } parmtag { "autoscope" "0000000000000000" } parmtag { "units" "m1" } } parm { name "laserscan" label "Laser Scan" type toggle default { "0" } disablewhen "{ collisiondetection == surface }" range { 0 1 } parmtag { "autoscope" "0000" } } parm { name "fixsigns" label "Fix Signs" type toggle default { "1" } disablewhen "{ collisiondetection == surface }" range { 0 1 } parmtag { "autoscope" "0000" } } parm { name "forcebounds" label "Force Bounds" type toggle default { "1" } disablewhen "{ collisiondetection == surface }" range { 0 1 } parmtag { "autoscope" "0000" } } parm { name "invert" label "Invert Sign" type toggle default { "0" } disablewhen "{ collisiondetection == surface }" range { 0 1 } parmtag { "autoscope" "0000" } } parm { name "sweepalpha" label "Sign Sweep Threshold" type float default { "2" } disablewhen "{ collisiondetection == surface }" range { 0! 10 } parmtag { "autoscope" "0000000000000000" } } parm { name "sweepcount" label "Max Sign Sweep Count" type integer default { "3" } disablewhen "{ collisiondetection == surface }" range { 0! 10 } parmtag { "autoscope" "0000000000000000" } } parm { name "offset" label "Offset Surface" type float default { "0" } range { 0 10 } parmtag { "autoscope" "0000000000000000" } } parm { name "sdftol" label "Tolerance" type float default { "0.001" } range { 0 10 } parmtag { "autoscope" "0000000000000000" } } parm { name "proxyvolume" label "Proxy Volume" type oppath default { "" } range { 0 1 } parmtag { "autoscope" "0000000000000000" } parmtag { "opfilter" "!!SOP!!" } parmtag { "oprelative" "." } } parm { name "proxyprimgroup" label "Proxy Primitive Group" type string default { "" } range { 0 1 } parmtag { "autoscope" "0000000000000000" } parmtag { "script_callback" "" } } parm { name "volumefilemode" label "File Mode" type ordinal default { "3" } disablewhen "{ collisiondetection == surface }" menu { "auto" "Automatic" "read" "Read Files" "write" "Write Files" "none" "No Operation" } range { 0 10 } parmtag { "autoscope" "0000" } } parm { name "volumefile" label "File" type file default { "" } disablewhen "{ collisiondetection == surface }" menureplace { } range { 0 1 } parmtag { "autoscope" "0000" } } } group { name "std_switcher_3_1" label "Surface" parm { name "showthickness" label "Show Collision Radius" type toggle default { "0" } range { 0 1 } } parm { name "thicknesscolor" label "Collision Radius Color" type color size 3 default { "0" "1" "0" } disablewhen "{ showthickness == 0 }" range { 0 1 } parmtag { "autoscope" "0000000000000000" } } parm { name "thickness" label "Collision Radius" type float default { "0" } range { 0 1 } parmtag { "autoscope" "0000" } } parm { name "showvelocity" label "Show Velocity" type toggle default { "0" } range { 0 1 } } parm { name "velocityscale" label "Velocity Scale" type float default { "0" } disablewhen "{ showvelocity == 0 }" range { 0 10 } } parm { name "velocitycolor" label "Velocity Color" type color size 3 default { "1" "0" "0" } disablewhen "{ showvelocity == 0 }" range { 0 1 } } parm { name "surfreptype" label "Surface Representation" type ordinal default { "0" } menu { "0" "Points" "1" "Edges" } range { 0 10 } parmtag { "autoscope" "0000" } } parm { name "polyconvert" label "Convert To Poly" type toggle invisible default { "1" } range { 0 1 } parmtag { "autoscope" "0000" } } parm { name "triangulate" label "Triangulate" type toggle default { "0" } range { 0 1 } parmtag { "autoscope" "0000" } } parm { name "polylod" label "LOD" type float size 2 default { "1" "1" } range { 0! 10 } parmtag { "autoscope" "0000" } } parm { name "addbarycenter" label "Add Barycenters" type toggle default { "1" } range { 0 1 } parmtag { "autoscope" "0000" } } } } group { name "rbd_solver_1" label "Bullet Data" parm { name "showguide2" 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 == as-is }" 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_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_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_add_impact" label "Add Impact Data" type toggle default { "off" } range { 0 1 } parmtag { "autoscope" "0000000000000000" } } parm { name "bullet_want_deactivate" label "Enable Sleeping" type toggle default { "on" } help "If checked, object would be deactivated after a certain time" 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 "rbd_solver_2" label "ODE Primitive" invisibletab parm { name "enableode" label "Enable ODE Data" type toggle default { "0" } range { 0 1 } } parm { name "odeDisp" label "Display ODE Primitive" type toggle default { "0" } disablewhen "{ enableode == 0 }" range { 0 1 } } parm { name "objType" label "Object Type" type integer default { "0" } disablewhen "{ enableode == 0 }" menu { "0" "Box" "1" "Sphere" "2" "Cylinder" "3" "Capsule" } range { 0 10 } } parm { name "autofit" label "Automatically Fit Geometry" type toggle default { "1" } disablewhen "{ objType >= 4 } { enableode == 0 }" range { 0 1 } } parm { name "primT" label "Position" type vector size 3 default { "0" "0" "0" } disablewhen "{ objType >= 4 } { autofit == 1 } { enableode == 0 }" range { -1 1 } } parm { name "primR" label "Rotation" type vector size 3 default { "0" "0" "0" } disablewhen "{ objType >= 4 } { autofit == 1 } { enableode == 0 }" range { -1 1 } } parm { name "primS" label "Box Size" type vector size 3 default { "1" "1" "1" } disablewhen "{ objType != 0 } { autofit == 1 } { enableode == 0 }" range { -1 1 } } parm { name "radius" label "Radius" type float default { "1" } disablewhen "{ objType == 0 } { objType >= 4 } { autofit == 1 } { enableode == 0 }" range { 0 10 } } parm { name "length" label "Cylinder Length" type float default { "2" } disablewhen "{ objType <= 1 } { objType >= 4 } { autofit == 1 } { enableode == 0 }" range { 0 10 } } } } } INDX DialogScriptaT$/* * 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 } } } INDXContents=b DialogScript=aTHouLC1033600bb60620f0b980f96ba020LIMITED_COMMERCIAL_FILE!!!# Dialog script for testgeometry_pighead automatically generated { name testgeometry_pighead script pighead label "Test Geometry: Pig Head" 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 "r" label "Rotate" type vector size 3 default { "0" "0" "0" } range { 0 360 } parmtag { "autoscope" "0000000000000000" } } parm { name "uniformscale" label "Uniform Scale" type float default { "1" } range { 0 10 } parmtag { "autoscope" "0000000000000000" } } parm { name "difficulty" label "Difficulty" type ordinal default { "medium" } menu { "easy" "Easy" "medium" "Medium" "hard" "Hard" } range { 0 1 } export all } parm { name "addshader" label "Add Shader" type toggle default { "1" } disablewhen "{ difficulty == easy }" export all } } INDXContents=b DialogScript={aTHouLC1033600bb60620f09930f96ba020LIMITED_COMMERCIAL_FILE!!!# 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 "r" label "Rotate" type vector size 3 default { "0" "0" "0" } range { 0 360 } 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 #aT$/* * 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 { name "turbnoise" script "turbnoise" label "turbnoise" outercode { "#include " } 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 DialogScriptaT$/* * 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 { 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 DialogScriptEaT # Dialog script for unifiednoise_static automatically generated { name unifiednoise_static script pyro_noise label "Unified Noise - Static" outercode { "#include " "#include " "" } 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 DialogScriptFaT # Dialog script for unifiednoise_static::3.0 automatically generated { name unifiednoise_static::3.0 script pyro_noise label "Unified Noise - Static" outercode { "#include " "#include " "" } 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 $periodic" "# define BASIS noise_p$basis" "# define FBASIS ${fractal}_p$basis" "# define PERIODIC 1" "#else" "# define BASIS noise_$basis" "# define FBASIS ${fractal}_$basis" "# define PERIODIC 0" "#endif" "" "if($isconnected_pos)" "{" " float $dfreq = $dispfreq;" " if(PERIODIC)" " $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 = 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 = 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 = FBASIS($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 = FBASIS($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 BASIS" "#undef FBASIS" "#undef PERIODIC" "#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 { "value_fast" "Fast" "sparse" "Sparse Convolution" "alligator" "Alligator" "perlin" "Perlin" "flow" "Perlin Flow" "simplex" "Simplex" "worleyFA" "Worley Cellular F1" "worleyFB" "Worley Cellular F2-F1" "mworleyFA" "Manhattan Cellular F1" "mworleyFB" "Manhattan Cellular F2-F1" "cworleyFA" "Chebyshev Cellular F1" "cworleyFB" "Chebyshev Cellular F2-F1" } 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 "periodic" label "Periodic" type toggle default { "0" } } parm { name "period" label "Period" type vector4 size 4 default { "1" "1" "1" "1" } disablewhen "{ periodic == 0 }" 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 DialogScriptaT$/* * 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 { 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 DialogScriptaT$/* * 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 { name "vecsetcompon" script "vecsetcompon" label "vecsetcompon" outercode { INCLUDE_VOPLIB } code { "$newvec = vop_setcomp($vec, $fval, $part);" } input vector vec "Input Vector" input float fval "Input Value" output vector newvec "Output Vector" signature "3D Vector" default { } signature "3D Point" p { point float point } signature "3D Normal" n { normal float normal } signature "RGB Color" c { color float color } signature "Uniform 3D Vector" uv { uvector float uvector } signature "Uniform 3D Point" up { upoint float upoint } signature "Uniform 3D Normal" un { unormal float unormal } signature "Uniform RGB Color" uc { ucolor float ucolor } 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_CLR_PARM(vec_c, "Input", 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_CLR_PARM(vec_uc, "Input", 0, 0, 0) } INDX DialogScriptaT$/* * 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 { 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 DialogScriptzaT$/* * 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 { 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 DialogScriptaT%/* * 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 } } } INDXContents=b DialogScript=QGOHouLC1033600bb60620f099b0f96ba020LIMITED_COMMERCIAL_FILE!!!# 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 { "" } } INDXContents=b DialogScript=QGOHouLC1033600bb60620f099b0f96ba020LIMITED_COMMERCIAL_FILE!!!# 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 } } INDXContents=b DialogScript=YaTHouLC1033600bb60620f09ec0f96ba020LIMITED_COMMERCIAL_FILE!!!# Dialog script for volumewrangle automatically generated { name volumewrangle script volumewrangle label "Volume Wrangle" help { "" } inputlabel 1 "Volumes to Process with Wrangle" inputlabel 2 "Auxillary Input 1, access with volumesample(1, ...)" inputlabel 3 "Auxillary Input 2, access with volumesample(2, ...)" inputlabel 4 "Auxillary Input 3, access with volumesample(3, ...)" group { name "folder0" label "Code" parm { name "group" label "Group" type string default { "" } menutoggle { [ "opmenu -l -a blast1 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" } } parm { name "bindeach" label "Bind Each Volume to Density" type toggle default { "off" } range { 0 1 } parmtag { "autoscope" "0000000000000000" } } parm { name "snippet" label "VEXpression" type string default { "" } menureplace { [ "import vexpressionmenu" ] [ "" ] [ "return vexpressionmenu.buildSnippetMenu('volumewrangle/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 "Volumes to Write to" 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 { "1" } disablewhen "{ bindeach == 1 }" } multiparm { name "bindings" label "Number of Bindings" default 0 parmtag { "autoscope" "0000000000000000" } parmtag { "multistartoffset" "1" } parm { name "bindprimname#" label "Primitive Name" type string default { "" } disablewhen "{ bindeach == 1 } { autobind == 1 }" } parm { name "bindprim#" label "Primitive" type integer default { "0" } disablewhen "{ bindeach == 1 } { autobind == 1 }" range { 0 10 } } parm { name "bindname#" label "VEX Parameter" type string default { "" } disablewhen "{ bindeach == 1 } { autobind == 1 }" } } parm { name "vex_geometrygenerator" label "Only Output Created Geometry" type toggle default { "off" } range { 0 1 } parmtag { "autoscope" "0000000000000000" } } parm { name "vdb_signedflood" label "Signed-Flood Fill Output SDF VDBs" type toggle default { "on" } range { 0 1 } parmtag { "autoscope" "0000000000000000" } } 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_precision" label "VEX Precision" type string default { "auto" } menu { "auto" "Auto" "32" "32" "64" "64" } parmtag { "autoscope" "0000000000000000" } } } } INDXContents=b DialogScript=KaTHouLC1033600bb60620f09eb0f96ba020LIMITED_COMMERCIAL_FILE!!!# 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 -a 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 } } } } INDXContents=b DialogScript=$aTHouLC1033600bb60620f099b0f96ba020LIMITED_COMMERCIAL_FILE!!!# Dialog script for voronoifracture::2.0 automatically generated { name voronoifracture::2.0 script voronoifracture::2.0 label "Voronoi Fracture" help { "" } inputlabel 1 "Geometry to Fracture" inputlabel 2 "Points for Voronoi Cells" inputlabel 3 "Sub-Network Input #3" inputlabel 4 "Sub-Network Input #4" outputlabel 1 "Fractured Geometry" outputlabel 2 "Constraint Geometry" parm { name "group" label "Group" type string default { "" } menutoggle { [ "opmenu -l -a split_fracture_group 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" } } groupsimple { name "folder_pieces" label "Pieces" parm { name "createinteriorsurfaces" label "Create Interior Surfaces" type toggle default { "on" } parmtag { "autoscope" "0000000000000000" } } parm { name "namemethod" label "Name Attribute" type ordinal default { "0" } menu { "overwrite" "Overwrite" "append" "Append" } } parm { name "fracturenamespace" label "Fracture Namespace" type string default { "" } disablewhen "{ namemethod != append }" hidewhen "{ namemethod != append }" } parm { name "nameprefix" label "Piece Prefix" type string default { "piece" } parmtag { "script_action" "import soputils\n\nkwargs['attribname'] = 'name'\nsoputils.actionToggleVisualizer(kwargs)" } parmtag { "script_action_help" "Toggle visualization\nCtrl-LMB: Open the visualization editor" } parmtag { "script_action_icon" "VIEW_visualization" } } parm { name "sepparm3" label "Separator" type separator default { "" } } parm { name "computeinteriornormals" label "Compute Interior Normals" type toggle default { "1" } } parm { name "interiorcuspangle" label "Interior Cusp Angle" type float default { "15" } disablewhen "{ computeinteriornormals == 0 }" hidewhen "{ computeinteriornormals == 0 }" range { 0! 180! } parmtag { "autoscope" "0000000000000000" } } parm { name "computeexteriornormals" label "Exterior Normals" type ordinal default { "0" } menu { "preserve" "Preserve Existing Normals" "recompute" "Recompute Normals" "none" "Do Not Compute Normals" } } parm { name "exteriorcuspangle" label "Exterior Cusp Angle" type float default { "60" } disablewhen "{ computeexteriornormals == none }" hidewhen "{ computeexteriornormals == none }" range { 0! 180! } parmtag { "autoscope" "0000000000000000" } } } groupsimple { name "folder_attribs" label "Output Attributes" parm { name "attribnameprefix" label "Attribute Name Prefix" type string default { "" } disablewhen "{ outputpieceattrib == 0 outputcellptattrib == 0 outputclippieceattrib == 0 outputinteriorgroup == 0 outputexteriorgroup == 0 }" } parm { name "outputpieceattrib" label "Output Primitive Piece" type toggle nolabel joinnext default { "0" } } parm { name "pieceattrib" label "Primitive Piece" type string default { "piece" } disablewhen "{ outputpieceattrib == 0 }" } parm { name "outputcellptattrib" label "Output Primitive Cell Point" type toggle nolabel joinnext default { "0" } } parm { name "cellptattrib" label "Primitive Cell Point" type string default { "cellpt" } disablewhen "{ outputcellptattrib == 0 }" } parm { name "outputclippieceattrib" label "Output Primitive Clip Piece" type toggle nolabel joinnext default { "0" } disablewhen "{ createinteriorsurfaces == 0 }" } parm { name "clippieceattrib" label "Primitive Clip Piece" type string default { "clippiece" } disablewhen "{ outputclippieceattrib == 0 } { createinteriorsurfaces == 0 }" } parm { name "sepparm" label "Separator" type separator default { "" } } parm { name "outputinteriorgroup" label "Output Interior Group" type toggle nolabel joinnext default { "1" } disablewhen "{ createinteriorsurfaces == 0 }" } parm { name "interiorgroup" label "Interior Group" type string default { "inside" } disablewhen "{ outputinteriorgroup == 0 } { createinteriorsurfaces == 0 }" } parm { name "outputexteriorgroup" label "Output Exterior Group" type toggle nolabel joinnext default { "1" } } parm { name "exteriorgroup" label "Exterior Group" type string default { "outside" } disablewhen "{ outputexteriorgroup == 0 }" } parm { name "mergegroups" label "Merge with Existing Groups" type toggle default { "1" } disablewhen "{ outputinteriorgroup == 0 outputexteriorgroup == 0 }" hidewhen "{ outputinteriorgroup == 0 outputexteriorgroup == 0 }" } parm { name "sepparm2" label "Separator" type separator default { "" } } parm { name "copycellattribs" label "Copy Cell Point Attributes" type toggle default { "0" } } parm { name "ptattributes" label "To Piece Points" type string default { "" } disablewhen "{ copycellattribs == 0 }" hidewhen "{ copycellattribs == 0 }" menutoggle { [ "opmenu -l -a copy_attribs/copy_pt_attribs attribname" ] } } parm { name "primattributes" label "To Piece Primitives" type string default { "" } disablewhen "{ copycellattribs == 0 }" hidewhen "{ copycellattribs == 0 }" menutoggle { [ "opmenu -l -a copy_attribs/copy_pt_attribs attribname" ] } } parm { name "constraintptattributes" label "To Constraint Points" type string default { "" } disablewhen "{ copycellattribs == 0 }" hidewhen "{ copycellattribs == 0 }" menutoggle { [ "opmenu -l -a copy_attribs/copy_pt_attribs attribname" ] } } } groupsimple { name "folder_cut" label "Cut" parm { name "triangulation" label "Triangulation" type ordinal default { "0" } menu { "autodetect" "Auto Detect" "2d" "2D" "3d" "3D" "useexisting" "Use Existing" } } parm { name "connectivitypartition" label "Connectivity Partition" type ordinal default { "overwrite" } menu { "none" "None" "overwrite" "Overwrite Piece Numbering" "maintain" "Maintain Piece Numbering" } } parm { name "cutplaneoffset" label "Cut Plane Offset" type float default { "0" } range { 0 10 } parmtag { "autoscope" "0000000000000000" } } } } INDXContents=b DialogScript=aTHouLC1033600bb60620f09ec0f96ba020LIMITED_COMMERCIAL_FILE!!!# Dialog script for voronoifracturepoints automatically generated { 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 } parmtag { "autoscope" "0000000000000000" } } parm { name "snap" label "Snap Points to Object" type toggle default { "1" } range { 0 1 } } parm { name "ptsperarea" label "Compute Number of Points" type toggle default { "on" } range { 0 1 } parmtag { "autoscope" "0000000000000000" } } parm { name "nptsperarea" label "Points Per Area" type float default { "10" } disablewhen "{ ptsperarea == 0 }" range { 0 10 } } parm { name "npts" label "Number of Points" type integer default { "25" } disablewhen "{ ptsperarea == 1 }" range { 0 10 } } parm { name "ptsperimpact" label "Per Impact" type toggle default { "0" } disablewhen "{ ptsperarea == 1 }" range { 0 1 } } parm { name "volumeres" label "Volume Resolution" type integer default { "30" } range { 3! 100 } } parm { name "seed" label "Random Seed" type integer default { "0" } range { 0 10 } } parm { name "visualize" label "Visualize Points" type toggle default { "0" } range { 0 1 } } group { name "folder0_1" label "Surface" parm { name "surfaceptdensity" label "Point Density" type float default { "1" } range { 0 10 } } parm { name "surfaceoffset" label "Surface Offset" type float default { "0" } disablewhen "{ surfaceptdensity == 0 }" range { -1 1 } } parm { name "surfacescale" label "Radius Scale" type float default { "0.5" } disablewhen "{ surfaceptdensity == 0 }" range { 0! 1 } } 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 } } } group { name "folder0_1_1" label "Interior" parm { name "interiorptdensity" label "Point Density" type float default { "1" } range { 0 10 } } 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 } } } group { name "folder0_1_2" label "Exterior" parm { name "exteriorptdensity" label "Point Density" type float default { "1" } range { 0 10 } } 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 } } parm { name "exterioroffset" label "Impact Offset" type float default { "0.1" } disablewhen "{ exteriorptdensity == 0 } { exteriorscatter == 0 }" range { 0 1 } } 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 } } } } INDXContents=b DialogScript= aTHouLC1033600bb60620f09eb0f96ba020LIMITED_COMMERCIAL_FILE!!!# 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 aT$/* * 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 { 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 } } INDXContents=b DialogScript= aTHouLC1033600bb60620f09de0f96ba020LIMITED_COMMERCIAL_FILE!!!# Dialog script for xformpieces automatically generated { 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 -a attribcopy_indexed destgroup" ] } range { 0 1 } 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 -a attribcopy_indexed srcgroup" ] } range { 0 1 } 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 } } parm { name "attrib" label "Attribute" type string default { "name" } menureplace { [ "kwargs['node'].generateInputAttribMenu(0, max_size=1, array_type=False)" ] language python } range { 0 1 } } parm { name "invertxform" label "Invert Transformation" type toggle default { "0" } } parm { name "attribstotransform" label "Attributes to Transform" type string default { "*" } menutoggle { [ "opmenu -l -a transformbyattrib attribs" ] } parmtag { "autoscope" "0000000000000000" } parmtag { "script_callback_language" "python" } } 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 } } parm { name "integrateovertime" label "Integrate Over Time" type float default { "1/$FPS" } disablewhen "{ pointvels != 2 }" range { 0 10 } } parm { name "docopyattribs" label "Copy Template Attributes" type toggle nolabel joinnext default { "0" } range { 0 1 } } parm { name "attribstocopy" label "Attributes to Copy" type string default { "" } disablewhen "{ docopyattribs == 0 }" menutoggle { [ "kwargs['node'].generateInputAttribMenu(1)" ] language python } range { 0 1 } } } HouLC1033600bbd0620f0e08093af9ae7expression.func# 0 bytes HouLC1033600ba50620f0e0803897b9fcobj.defcomment "" position 0 0 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 1645151988 modify 1645152652 author User1st@X11DPH-T access 0777 } color UT_Color RGB 0.8 0.8 0.8 delscript "" exprlanguage hscript end HouLC1033600ba40620f0e08029ff291eobj.parm{ version 0.8 } HouLC1033600ba00620f0e0801274efaaobj.userdata ___Version___19.0.455HouLC1033600ba30620f0e0801c7b11f2obj/geo1.inittype = geo matchesdef = 0 HouLC1033600ba00620f0e080b1b7ca71obj/geo1.defobjflags objflags = origin off pretransform UT_DMatrix4 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 comment "" position -1.26892 1.33495 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 1645152652 modify 1645153483 author User1st@X11DPH-T access 0777 } color UT_Color RGB 0.8 0.8 0.8 delscript "" exprlanguage hscript end HouLC1033600bbb0620f0e0808b9cf4f2obj/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_lpetag" label "LPE Tag" type string default { "" } parmtag { "mantra_class" "object" } parmtag { "mantra_name" "lpetag" } 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 ordinal default { "off" } disablewhen "{ allowmotionblur == 0 }" menu { "off" "No Velocity Blur" "on" "Velocity Blur" "accelblur" "Acceleration Blur" } } parm { name "geo_accelattribute" label "Acceleration Attribute" type string default { "accel" } hidewhen "{ geo_velocityblur != accelblur }" 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 } } HouLC1033600ba30620f0e080aeafbc0eobj/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_lpetag [ 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" ) geo_accelattribute [ 0 locks=0 ] ( accel ) 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" ) } HouLC1033600bbf0620f0e080ab9ac15aobj/geo1.userdata ___Version___19.0.455HouLC1033600b8b0620f0e08072c44d4eobj/geo1/testgeometry_rubbertoy1.inittype = testgeometry_rubbertoy matchesdef = 1 HouLC1033600b880620f0e08044caff1aobj/geo1/testgeometry_rubbertoy1.defsopflags sopflags = comment "" position 0.291483 1.6938 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 1645152659 modify 1645153240 author User1st@X11DPH-T access 0777 } color UT_Color RGB 0.52 0.8 0.9 delscript "" exprlanguage hscript end HouLC1033600b8b0620f0e0800db54ee3obj/geo1/testgeometry_rubbertoy1.parm{ version 0.8 t [ 0 locks=0 ] ( 0 3 0 ) r [ 0 locks=0 ] ( 0 0 0 ) uniformscale [ 0 locks=0 ] ( 1 ) difficulty [ 0 locks=0 ] ( "hard" ) addshader [ 0 locks=0 ] ( "on" ) } HouLC1033600b870620f0e0800a968be0obj/geo1/testgeometry_rubbertoy1.userdata ___Version______toolcount___1 ___toolid___sop_testgeometry_rubbertoyHouLC1033600b8e0620f0e08091caf64cobj/geo1/rbdmaterialfracture1.inittype = rbdmaterialfracture::3.0 matchesdef = 1 HouLC1033600b8f0620f0e080325becf3obj/geo1/rbdmaterialfracture1.defsopflags sopflags = comment "" position -1.07364 0.400041 connectornextid 4 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" 2 "output2" 3 "output3" } inputsNamed3 { 0 testgeometry_pighead1 0 1 "input1" } inputs { 0 testgeometry_pighead1 0 1 } stat { create 1645152666 modify 1645153178 author User1st@X11DPH-T access 0777 } color UT_Color RGB 0.8 0.8 0.8 delscript "" exprlanguage hscript end HouLC1033600b8f0620f0e080b717d89dobj/geo1/rbdmaterialfracture1.chn{ channel enabledetail_ { lefttype = extend righttype = extend flags = 0 segment { length = 0 expr = ch(\"concrete_edgedetail\") } } channel enabledetail__2 { lefttype = extend righttype = extend flags = 0 segment { length = 0 expr = ch(\"concrete_edgedetail\") } } channel enabledetail_2 { lefttype = extend righttype = extend flags = 0 segment { length = 0 expr = ch(\"concrete_edgedetail\") } } channel enabledetail1 { lefttype = extend righttype = extend flags = 0 segment { length = 0 expr = ch(\"concrete_edgedetail\") } } channel enabledetail2 { lefttype = extend righttype = extend flags = 0 segment { length = 0 expr = ch(\"concrete_edgedetail\") } } } HouLC1033600b8e0620f0e080dce85bc4obj/geo1/rbdmaterialfracture1.parm{ version 0.8 group [ 0 locks=0 ] ( "" ) materialtype [ 0 locks=0 ] ( "concrete" ) usenamespace [ 0 locks=0 ] ( "off" ) fracturenamespace [ 0 locks=0 ] ( fracture ) fractureperpiece [ 0 locks=0 ] ( "off" ) pieceattrib [ 0 locks=0 ] ( name ) dosinglepass [ 0 locks=0 ] ( "off" ) singlepass [ 0 locks=0 ] ( 0 ) randomseed [ 0 locks=0 ] ( 0 ) prefix [ 0 locks=0 ] ( - ) sepparm [ 0 locks=0 ] ( ) resetcookpass [ 0 locks=0 ] ( 0 ) wood_guidegeo [ 0 locks=0 ] ( "none" ) glass_guidegeo [ 0 locks=0 ] ( "none" ) concrete_guidegeo [ 0 locks=0 ] ( "none" ) custom_guidegeo [ 0 locks=0 ] ( "none" ) concrete_visualizedepth [ 0 locks=0 ] ( 1 ) enabledetail_ [ 0 locks=0 ] ( [ enabledetail_ 0 ] ) enabledetail__2 [ 0 locks=0 ] ( [ enabledetail__2 0 ] ) enabledetail_2 [ 0 locks=0 ] ( [ enabledetail_2 0 ] ) folder3 [ 0 locks=0 ] ( 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ) concrete_fracturelevel [ 0 locks=0 ] ( 2 ) concrete_enablechipping [ 0 locks=0 ] ( "off" ) concrete_chippingratio [ 0 locks=0 ] ( 0.5 ) concrete_chippingseed [ 0 locks=0 ] ( 0 ) concrete_chippingrandomness [ 0 locks=0 ] ( 0.29999999999999999 ) concrete_cornerratio [ 0 locks=0 ] ( 0.5 ) concrete_chippingdepth [ 0 locks=0 ] ( 0.050000000000000003 ) concrete_chippingdirectionalnoise [ 0 locks=0 ] ( 0.125 ) concrete_chippingdetriangulate [ 0 locks=0 ] ( "all" ) concrete_detailsize [ 0 locks=0 ] ( 0.050000000000000003 ) sepparm4 [ 0 locks=0 ] ( ) concrete_edgedetail [ 0 locks=0 ] ( "off" ) concrete_edgenoiseheight [ 0 locks=0 ] ( 0.10000000000000001 ) concrete_edgenoisesize [ 0 locks=0 ] ( 0.20000000000000001 ) concrete_edgenoiselacunarity [ 0 locks=0 ] ( 1 ) concrete_edgenoiseamplitudemultiplier [ 0 locks=0 ] ( 1 ) concrete_detriangulate [ 0 locks=0 ] ( "all" ) sepparm5 [ 0 locks=0 ] ( ) concrete_interiordetail [ 0 locks=0 ] ( "off" ) concrete_depthvolumevoxelsize [ 0 locks=0 ] ( 0.10000000000000001 ) concrete_interiornoiseamp [ 0 locks=0 ] ( 0.25 ) concrete_interiornoisetype [ 0 locks=0 ] ( sparse ) concrete_interiornoisefreq [ 0 locks=0 ] ( 2.5 2.5 2.5 ) concrete_noiseoffset [ 0 locks=0 ] ( 0 0 0 ) sepparm3 [ 0 locks=0 ] ( ) concrete_enablecreaseweights [ 0 locks=0 ] ( "off" ) concrete_creaseweights [ 0 locks=0 ] ( 10 ) folder_concrete_proxygeometry [ 0 locks=0 ] ( 0 ) concrete_proxygeometry [ 0 locks=0 ] ( "0" ) concrete_maxconcavity [ 0 locks=0 ] ( 0.10000000000000001 ) concrete_voxelsize [ 0 locks=0 ] ( 0.10000000000000001 ) concrete_radiusmin [ 0 locks=0 ] ( 1 ) concrete_radiusmax [ 0 locks=0 ] ( 8 ) concrete_spheresmax [ 0 locks=0 ] ( 100 ) glass_usescatter [ 0 locks=0 ] ( "on" ) glass_impactscatterpoints [ 0 locks=0 ] ( 1 ) glass_impactscatterpointsscaling [ 0 locks=0 ] ( "0" ) glass_impactscatterpointsattribute [ 0 locks=0 ] ( density ) glass_impactscatterseed [ 0 locks=0 ] ( 6 ) sepparm6 [ 0 locks=0 ] ( ) glass_useinput [ 0 locks=0 ] ( "off" ) glass_inputgroup [ 0 locks=0 ] ( "" ) radial_crack [ 0 locks=0 ] ( 0 ) glass_radialcracknum [ 0 locks=0 ] ( 20 ) glass_radialcrackscaling [ 0 locks=0 ] ( "0" ) radialcrackattribute [ 0 locks=0 ] ( density ) glass_cracknumvariance [ 0 locks=0 ] ( 5 ) glass_cracknumseed [ 0 locks=0 ] ( 0 ) glass_radialfractureid [ 0 locks=0 ] ( glass_radial ) radial_crack_1 [ 0 locks=0 ] ( 0 ) glass_minwidth [ 0 locks=0 ] ( 0.10000000000000001 ) glass_minwidthscaling [ 0 locks=0 ] ( "0" ) minwidthattribute [ 0 locks=0 ] ( density ) glass_impactspread [ 0 locks=0 ] ( 1.5 ) sepparm2 [ 0 locks=0 ] ( ) glass_discontinuityfreq [ 0 locks=0 ] ( 6.46 6.46 6.46 ) glass_discontinuitysize [ 0 locks=0 ] ( 40 ) glass_concentricrandomness [ 0 locks=0 ] ( 0 ) glass_concentricfractureid [ 0 locks=0 ] ( glass_concentric ) glass_enablechipping [ 0 locks=0 ] ( "off" ) glass_chippingratio [ 0 locks=0 ] ( 0.5 ) glass_chippingseed [ 0 locks=0 ] ( 0 ) glass_chippingrandomness [ 0 locks=0 ] ( 0.29999999999999999 ) glass_cornerratio [ 0 locks=0 ] ( 0.5 ) glass_chippingdepth [ 0 locks=0 ] ( 0.050000000000000003 ) glass_chippingdirectionalnoise [ 0 locks=0 ] ( 0.125 ) glass_chippingdetriangulate [ 0 locks=0 ] ( "all" ) glass_detailsize [ 0 locks=0 ] ( 0.040000000000000001 ) glass_edgenoisefolder [ 0 locks=0 ] ( 0 ) glass_enableedgenoise [ 0 locks=0 ] ( "on" ) glass_fadefromorigin [ 0 locks=0 ] ( 0.29999999999999999 ) glass_fadefromborder [ 0 locks=0 ] ( 0.29999999999999999 ) glass_noiseamp [ 0 locks=0 ] ( 0.5 ) glass_noisefreq [ 0 locks=0 ] ( 0.66000000000000003 0.66000000000000003 0.66000000000000003 ) glass_proxygeometryfolder [ 0 locks=0 ] ( 0 ) glass_enableconvexdecomposition [ 0 locks=0 ] ( "off" ) glass_maxconcavity [ 0 locks=0 ] ( 0.10000000000000001 ) sepparm7 [ 0 locks=0 ] ( ) glass_enablecreaseweights [ 0 locks=0 ] ( "off" ) glass_creaseweights [ 0 locks=0 ] ( 10 ) wood_enablegrain [ 0 locks=0 ] ( "on" ) wood_grainfracturedir [ 0 locks=0 ] ( "auto" ) wood_graindirvector [ 0 locks=0 ] ( 1 0 0 ) wood_grainspacing [ 0 locks=0 ] ( 0.071999999999999995 ) wood_grainspacingscaling [ 0 locks=0 ] ( "0" ) wood_grainspacingattribute [ 0 locks=0 ] ( density ) wood_grainoffset [ 0 locks=0 ] ( 0.029999999999999999 ) wood_grainoffsetseed [ 0 locks=0 ] ( 0 ) wood_grainrandomness [ 0 locks=0 ] ( 0 ) grain_noise [ 0 locks=0 ] ( 0 ) wood_grainheight [ 0 locks=0 ] ( 0.14000000000000001 ) wood_grainelementsize [ 0 locks=0 ] ( 0.47999999999999998 ) wood_graindetailsize [ 0 locks=0 ] ( 0.050000000000000003 ) wood_grainfractureid [ 0 locks=0 ] ( wood_grain ) wood_enablecut [ 0 locks=0 ] ( "on" ) wood_cutfracturedir [ 0 locks=0 ] ( "auto" ) wood_cutdirvector [ 0 locks=0 ] ( 0 1 0 ) wood_cutskewangle [ 0 locks=0 ] ( 0 ) wood_cutspacing [ 0 locks=0 ] ( 0.4945 ) wood_cutspacingscaling [ 0 locks=0 ] ( "0" ) wood_cutspacingattribute [ 0 locks=0 ] ( density ) wood_cutoffset [ 0 locks=0 ] ( 0.55000000000000004 ) wood_cutoffsetseed [ 0 locks=0 ] ( 0 ) wood_cutrandomness [ 0 locks=0 ] ( 0 ) curve_noise [ 0 locks=0 ] ( 0 ) wood_cutnoiseheight [ 0 locks=0 ] ( 1.05 ) wood_cutelementsize [ 0 locks=0 ] ( 2.0699999999999998 ) folder1 [ 0 locks=0 ] ( 0 ) wood_splinterdensity [ 0 locks=0 ] ( 25 ) wood_splinterlength [ 0 locks=0 ] ( 0.69999999999999996 ) wood_splinterrandomness [ 0 locks=0 ] ( 0 ) wood_cutfractureid [ 0 locks=0 ] ( wood_cut ) wood_detriangulate [ 0 locks=0 ] ( "all" ) wood_proxygeometryfolder [ 0 locks=0 ] ( 0 ) wood_convexdecomp [ 0 locks=0 ] ( "off" ) wood_maxconcavity [ 0 locks=0 ] ( 0.10000000000000001 ) sepparm8 [ 0 locks=0 ] ( ) wood_enablecreaseweights [ 0 locks=0 ] ( "off" ) wood_creaseweights [ 0 locks=0 ] ( 10 ) wood_enablecluster [ 0 locks=0 ] ( "on" ) wood_clusterrandomness [ 0 locks=0 ] ( 0 ) wood_clustertype [ 0 locks=0 ] ( "combinepieces" ) wood_clusteroffset [ 0 locks=0 ] ( 0 0 0 ) wood_clusterjitter [ 0 locks=0 ] ( 1 1 1 ) wood_clustersize [ 0 locks=0 ] ( 1 1 1 ) wood_randomdetach [ 0 locks=0 ] ( "off" ) wood_detachratio [ 0 locks=0 ] ( 0.157 ) wood_detachseed [ 0 locks=0 ] ( 0 ) custom_inputsurface [ 0 locks=0 ] ( "solid" ) custom_detriangulate [ 0 locks=0 ] ( "all" ) custom_cutter [ 0 locks=0 ] ( 0 ) custom_scattercuttinggeo [ 0 locks=0 ] ( "on" ) custom_scatterfrom [ 0 locks=0 ] ( "volume" ) custom_cuttergeo [ 0 locks=0 ] ( 0 ) custom_spherefreq [ 0 locks=0 ] ( 2 ) custom_scatterpts [ 0 locks=0 ] ( 5 ) custom_scalebyattribute [ 0 locks=0 ] ( "0" ) custom_scaleattribute [ 0 locks=0 ] ( density ) custom_scatterseed [ 0 locks=0 ] ( 0 ) custom_scatternormal [ 0 locks=0 ] ( 0 1 0 ) custom_randomizenormal [ 0 locks=0 ] ( 1 ) custom_scatterattrib [ 0 locks=0 ] ( density ) custom_usecutterinput [ 0 locks=0 ] ( "off" ) custom_cutterinputgroup [ 0 locks=0 ] ( "" ) custom_trimcuttinggeo [ 0 locks=0 ] ( "on" ) custom_trimdetriangulate [ 0 locks=0 ] ( "all" ) custom_volume [ 0 locks=0 ] ( 0 ) custom_volumenoisetype [ 0 locks=0 ] ( snoise ) custom_volumeres [ 0 locks=0 ] ( 75 ) custom_volumenoisefreq [ 0 locks=0 ] ( 1 1 1 ) custom_volumenoiseoffset [ 0 locks=0 ] ( 0 0 0 ) custom_cutoffdensity [ 0 locks=0 ] ( 0.29999999999999999 ) custom_fractureid [ 0 locks=0 ] ( custom_fracture ) custom_enablechipping [ 0 locks=0 ] ( "off" ) custom_chippingratio [ 0 locks=0 ] ( 0.5 ) custom_chippingseed [ 0 locks=0 ] ( 0 ) custom_chippingrandomness [ 0 locks=0 ] ( 0.29999999999999999 ) custom_cornerratio [ 0 locks=0 ] ( 0.5 ) custom_chippingdepth [ 0 locks=0 ] ( 0.050000000000000003 ) custom_chippingdirectionalnoise [ 0 locks=0 ] ( 0.125 ) custom_chippingdetriangulate [ 0 locks=0 ] ( "all" ) custom_detailsize [ 0 locks=0 ] ( 0.050000000000000003 ) sepparm10 [ 0 locks=0 ] ( ) custom_edgedetail [ 0 locks=0 ] ( "off" ) custom_edgenoiseheight [ 0 locks=0 ] ( 0.10000000000000001 ) custom_edgenoisesize [ 0 locks=0 ] ( 0.20000000000000001 ) sepparm11 [ 0 locks=0 ] ( ) custom_interiordetail [ 0 locks=0 ] ( "off" ) custom_depthvolumevoxelsize [ 0 locks=0 ] ( 0.10000000000000001 ) custom_interiornoiseamp [ 0 locks=0 ] ( 0.25 ) custom_interiornoisetype [ 0 locks=0 ] ( sparse ) custom_interiornoisefreq [ 0 locks=0 ] ( 2.5 2.5 2.5 ) custom_noiseoffset [ 0 locks=0 ] ( 0 0 0 ) sepparm9 [ 0 locks=0 ] ( ) custom_enablecreaseweights [ 0 locks=0 ] ( "off" ) custom_creaseweights [ 0 locks=0 ] ( 10 ) folder_custom_proxygeometry [ 0 locks=0 ] ( 0 ) custom_proxygeometry [ 0 locks=0 ] ( "0" ) custom_maxconcavity [ 0 locks=0 ] ( 0.10000000000000001 ) custom_voxelsize [ 0 locks=0 ] ( 0.10000000000000001 ) custom_radiusmin [ 0 locks=0 ] ( 1 ) custom_radiusmax [ 0 locks=0 ] ( 8 ) custom_spheresmax [ 0 locks=0 ] ( 100 ) constraintsearchradius [ 0 locks=0 ] ( 0.050000000000000003 ) constraintusetags [ 0 locks=0 ] ( "on" ) concrete_applyconstraints [ 0 locks=0 ] ( "on" ) concrete_constraintname [ 0 locks=0 ] ( Glue ) concrete_enablecolor [ 0 locks=0 ] ( "off" ) concrete_constraintcolor [ 0 locks=0 ] ( 0.5 0.5 0.5 ) concrete_chippingconstraintcolor [ 0 locks=0 ] ( 1 1 1 ) concrete_primarystrength [ 0 locks=0 ] ( 10000 ) concrete_levelmultiplier [ 0 locks=0 ] ( 5 ) concrete_chippingstrength [ 0 locks=0 ] ( 5000 ) concrete_strengthvariance [ 0 locks=0 ] ( 0.80000000000000004 ) concrete_nextconstraint [ 0 locks=0 ] ( "off" ) concrete_nextconstraintname [ 0 locks=0 ] ( Soft ) concrete_nextconstraintdof [ 0 locks=0 ] ( "all" ) concrete_next_stiffness [ 0 locks=0 ] ( 10 ) concrete_next_dampingratio [ 0 locks=0 ] ( 1 ) glass_applyconstraints [ 0 locks=0 ] ( "on" ) glass_constraintname [ 0 locks=0 ] ( Glue ) glass_enablecolor [ 0 locks=0 ] ( "off" ) glass_radialconstraintcolor [ 0 locks=0 ] ( 0 0 1 ) glass_concentricconstraintcolor [ 0 locks=0 ] ( 0 1 1 ) glass_chippingconstraintcolor [ 0 locks=0 ] ( 0.75 1 1 ) glass_radialstrength [ 0 locks=0 ] ( 10000 ) glass_concentricstrength [ 0 locks=0 ] ( 40000 ) glass_chippingstrength [ 0 locks=0 ] ( 5000 ) glass_strengthvariance [ 0 locks=0 ] ( 0.80000000000000004 ) glass_nextconstraint [ 0 locks=0 ] ( "off" ) glass_nextconstraintname [ 0 locks=0 ] ( Soft ) glass_nextconstraintdof [ 0 locks=0 ] ( "all" ) glass_next_stiffness [ 0 locks=0 ] ( 10 ) glass_next_dampingratio [ 0 locks=0 ] ( 1 ) wood_applyconstraints [ 0 locks=0 ] ( "on" ) wood_constraintname [ 0 locks=0 ] ( Glue ) wood_enablecolor [ 0 locks=0 ] ( "off" ) wood_grainconstraintcolor [ 0 locks=0 ] ( 0.59999999999999998 0.29999999999999999 0.10000000000000001 ) wood_cutconstraintcolor [ 0 locks=0 ] ( 1 1 0 ) wood_clusterconstraintcolor [ 0 locks=0 ] ( 0.25 0.5 0 ) wood_grainstrength [ 0 locks=0 ] ( 5000 ) wood_cutstrength [ 0 locks=0 ] ( 10000 ) wood_strengthvariance [ 0 locks=0 ] ( 0.80000000000000004 ) wood_nextconstraint [ 0 locks=0 ] ( "off" ) wood_nextconstraintname [ 0 locks=0 ] ( Soft ) wood_nextconstraintdof [ 0 locks=0 ] ( "all" ) wood_next_stiffness [ 0 locks=0 ] ( 10 ) wood_next_dampingratio [ 0 locks=0 ] ( 1 ) custom_applyconstraints [ 0 locks=0 ] ( "on" ) custom_constraintname [ 0 locks=0 ] ( Glue ) custom_enablecolor [ 0 locks=0 ] ( "off" ) custom_constraintcolor [ 0 locks=0 ] ( 0 0.5 0.5 ) custom_chippingconstraintcolor [ 0 locks=0 ] ( 0.5 1 1 ) custom_primarystrength [ 0 locks=0 ] ( 10000 ) custom_chippingstrength [ 0 locks=0 ] ( 5000 ) custom_strengthvariance [ 0 locks=0 ] ( 0.80000000000000004 ) custom_nextconstraint [ 0 locks=0 ] ( "off" ) custom_nextconstraintname [ 0 locks=0 ] ( Soft ) custom_nextconstraintdof [ 0 locks=0 ] ( "all" ) custom_stiffness [ 0 locks=0 ] ( 10 ) custom_dampingratio [ 0 locks=0 ] ( 1 ) concrete_enablefracture1 [ 0 locks=0 ] ( "on" ) concrete_fractureid1 [ 0 locks=0 ] ( concrete_fracture1 ) concrete_fractureratio1 [ 0 locks=0 ] ( 1 ) concrete_fractureseed1 [ 0 locks=0 ] ( 0 ) concrete_connectivitypartition1 [ 0 locks=0 ] ( "overwrite" ) scatter1 [ 0 locks=0 ] ( 0 ) concrete_scatterfrom1 [ 0 locks=0 ] ( "volume" ) concrete_scatterattrib1 [ 0 locks=0 ] ( density ) concrete_scatterpts1 [ 0 locks=0 ] ( 5 ) concrete_scatterptsscaling1 [ 0 locks=0 ] ( 0 ) concrete_rangeremap1 [ 0 locks=0 ] ( "off" ) concrete_rangeremapin1 [ 0 locks=0 ] ( 0 1 ) concrete_rangeremapout1 [ 0 locks=0 ] ( 0 1 ) concrete_scatterptsattribute1 [ 0 locks=0 ] ( density ) concrete_scatterseed1 [ 0 locks=0 ] ( 0 ) concrete_useptsinput1 [ 0 locks=0 ] ( "off" ) concrete_ptsinputgroup1 [ 0 locks=0 ] ( "" ) enabledetail1 [ 0 locks=0 ] ( [ enabledetail1 0 ] ) volume1 [ 0 locks=0 ] ( 0 ) concrete_volumenoisetype1 [ 0 locks=0 ] ( snoise ) concrete_volumeres1 [ 0 locks=0 ] ( 75 ) concrete_volumenoisefreq1 [ 0 locks=0 ] ( 1 1 1 ) concrete_volumenoiseoffset1 [ 0 locks=0 ] ( 0 0 0 ) concrete_cutoffdensity1 [ 0 locks=0 ] ( 0.29999999999999999 ) concrete_enablefracture2 [ 0 locks=0 ] ( "on" ) concrete_fractureid2 [ 0 locks=0 ] ( concrete_fracture2 ) concrete_fractureratio2 [ 0 locks=0 ] ( 1 ) concrete_fractureseed2 [ 0 locks=0 ] ( 0 ) concrete_connectivitypartition2 [ 0 locks=0 ] ( "overwrite" ) scatter2 [ 0 locks=0 ] ( 0 ) concrete_scatterfrom2 [ 0 locks=0 ] ( "volume" ) concrete_scatterattrib2 [ 0 locks=0 ] ( density ) concrete_scatterpts2 [ 0 locks=0 ] ( 5 ) concrete_scatterptsscaling2 [ 0 locks=0 ] ( 0 ) concrete_rangeremap2 [ 0 locks=0 ] ( "off" ) concrete_rangeremapin2 [ 0 locks=0 ] ( 0 1 ) concrete_rangeremapout2 [ 0 locks=0 ] ( 0 1 ) concrete_scatterptsattribute2 [ 0 locks=0 ] ( density ) concrete_scatterseed2 [ 0 locks=0 ] ( 0 ) concrete_useptsinput2 [ 0 locks=0 ] ( "off" ) concrete_ptsinputgroup2 [ 0 locks=0 ] ( "" ) enabledetail2 [ 0 locks=0 ] ( [ enabledetail2 0 ] ) volume2 [ 0 locks=0 ] ( 0 ) concrete_volumenoisetype2 [ 0 locks=0 ] ( snoise ) concrete_volumeres2 [ 0 locks=0 ] ( 75 ) concrete_volumenoisefreq2 [ 0 locks=0 ] ( 1 1 1 ) concrete_volumenoiseoffset2 [ 0 locks=0 ] ( 0 0 0 ) concrete_cutoffdensity2 [ 0 locks=0 ] ( 0.29999999999999999 ) } HouLC1033600b8a0620f0e080144dadc5obj/geo1/rbdmaterialfracture1.userdata ___Version___2 wirestyleroundedHouLC1033600bb20620f0e080197f2291obj/geo1/rbdbulletsolver1.inittype = rbdbulletsolver matchesdef = 1 HouLC1033600bb30620f0e080af992e56obj/geo1/rbdbulletsolver1.defsopflags sopflags = comment "" position -1.07364 -1.59996 connectornextid 6 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 { 3 "output1" 4 "output2" 5 "output3" } inputsNamed3 { 0 rbdconfigure1 3 1 "input1" 1 "" "" 1 "input2" 2 rbdconfigure1 5 1 "input3" } inputs { 0 rbdconfigure1 0 1 1 "" 0 1 2 rbdconfigure1 2 1 } stat { create 1645152747 modify 1645153342 author User1st@X11DPH-T access 0777 } color UT_Color RGB 0.7 0.9 0.6 delscript "" exprlanguage hscript end HouLC1033600bb30620f0e0808b3829c5obj/geo1/rbdbulletsolver1.chn{ channel guide_startframe { lefttype = extend righttype = extend flags = 0 segment { length = 0 expr = ch(\"startframe\") } } channel guidecaptureframe { lefttype = extend righttype = extend flags = 0 segment { length = 0 expr = ch(\"startframe\") } } } HouLC1033600bb20620f0e0802139f526obj/geo1/rbdbulletsolver1.parm{ version 0.8 resetsim [ 0 locks=0 ] ( 0 ) startframe [ 0 locks=0 ] ( 1 ) folder [ 0 locks=0 ] ( 0 0 0 0 0 0 ) timescale [ 0 locks=0 ] ( 1 ) substeps [ 0 locks=0 ] ( 10 ) numiteration [ 0 locks=0 ] ( 10 ) setupfolder [ 0 locks=0 ] ( 2 2 2 2 ) useemission [ 0 locks=0 ] ( "off" ) solvefirstframe [ 0 locks=0 ] ( "off" ) doage [ 0 locks=0 ] ( "off" ) doactiveage [ 0 locks=0 ] ( "off" ) justactivatedgroup [ 0 locks=0 ] ( "" ) overwritefromsop [ 0 locks=0 ] ( "on" ) overwriteattributes [ 0 locks=0 ] ( "active animated deforming __pin" ) folder3 [ 0 locks=0 ] ( 0 ) margin [ 0 locks=0 ] ( 0.02 ) bullet_linear_sleep_threshold [ 0 locks=0 ] ( 0.80000000000000004 ) bullet_angular_sleep_threshold [ 0 locks=0 ] ( 1 ) folder4 [ 0 locks=0 ] ( 0 ) density [ 0 locks=0 ] ( 1000 ) inertialtensorstiffness [ 0 locks=0 ] ( 1 ) bounce [ 0 locks=0 ] ( 0.25 ) friction [ 0 locks=0 ] ( 1 ) usecollisions [ 0 locks=0 ] ( "on" ) collision_detachfaces [ 0 locks=0 ] ( "off" ) collision_solvefirstframe [ 0 locks=0 ] ( "off" ) collision_overwritefromsop [ 0 locks=0 ] ( "off" ) collision_overwriteattributes [ 0 locks=0 ] ( "active animated deforming" ) folder5 [ 0 locks=0 ] ( 0 ) collision_bullet_georep [ 0 locks=0 ] ( convexhull ) collision_initialstate [ 0 locks=0 ] ( "animatedstatic" ) collision_margin [ 0 locks=0 ] ( 0.02 ) folder6 [ 0 locks=0 ] ( 0 ) collision_density [ 0 locks=0 ] ( 1000 ) collision_bounce [ 0 locks=0 ] ( 0.5 ) collision_friction [ 0 locks=0 ] ( 1 ) collision_inertialtensorstiffness [ 0 locks=0 ] ( 1 ) useground [ 0 locks=0 ] ( 1 ) heighfield [ 0 locks=0 ] ( "" ) ground_animategeo [ 0 locks=0 ] ( "off" ) folder7 [ 0 locks=0 ] ( 0 ) ground_pos [ 0 locks=0 ] ( 0 0 0 ) ground_rot [ 0 locks=0 ] ( 0 0 0 ) folder8 [ 0 locks=0 ] ( 0 ) ground_bounce [ 0 locks=0 ] ( 0.5 ) ground_friction [ 0 locks=0 ] ( 1 ) ground_dynamicfriction [ 0 locks=0 ] ( 1 ) addgravity [ 0 locks=0 ] ( "on" ) gravity [ 0 locks=0 ] ( 0 -9.8066499999999994 0 ) adddrag [ 0 locks=0 ] ( "off" ) folder28 [ 0 locks=0 ] ( 0 ) drag_windvelocity [ 0 locks=0 ] ( 0 0 0 ) drag_airresist [ 0 locks=0 ] ( 0.00075000000000000002 ) drag_ignoremass [ 0 locks=0 ] ( "on" ) drag_uselocaldrag [ 0 locks=0 ] ( "off" ) drag_localdragexpression [ 0 locks=0 ] ( "" ) drag_cwdpath [ 0 locks=0 ] ( . ) adddragspin [ 0 locks=0 ] ( "off" ) folder29 [ 0 locks=0 ] ( 0 ) dragspin_localdrag [ 0 locks=0 ] ( "on" ) dragspin_goalaxis [ 0 locks=0 ] ( 0 1 0 ) dragspin_goalspinspeed [ 0 locks=0 ] ( 0 ) dragspin_spinresist [ 0 locks=0 ] ( 5.0000000000000002e-05 ) dragspin_uselocaldrag [ 0 locks=0 ] ( "off" ) dragspin_localdragexpression [ 0 locks=0 ] ( "" ) dragspin_cwdpath [ 0 locks=0 ] ( . ) folder26 [ 0 locks=0 ] ( 0 0 ) folder14 [ 0 locks=0 ] ( 0 ) glue_defaultparmop [ 0 locks=0 ] ( "initial" ) glue_strength [ 0 locks=0 ] ( 1 ) glue_impulse_halflife [ 0 locks=0 ] ( 1 ) glue_propagate_rate [ 0 locks=0 ] ( 1 ) glue_propagationiterations [ 0 locks=0 ] ( 1 ) glue_dataname [ 0 locks=0 ] ( Glue ) folder15 [ 0 locks=0 ] ( 0 ) soft_defaultparmop [ 0 locks=0 ] ( "initial" ) soft_restlength [ 0 locks=0 ] ( 1 ) soft_stiffness [ 0 locks=0 ] ( 1 ) soft_dampingratio [ 0 locks=0 ] ( 1 ) soft_enableangular [ 0 locks=0 ] ( "on" ) soft_angularstiffness [ 0 locks=0 ] ( 1 ) soft_angulardampingratio [ 0 locks=0 ] ( 1 ) folder20 [ 0 locks=0 ] ( 0 ) soft_enableplasticity [ 0 locks=0 ] ( "off" ) soft_plasticrate [ 0 locks=0 ] ( 1 ) soft_plasticthreshold [ 0 locks=0 ] ( 1 ) soft_plasticthresholdratio [ 0 locks=0 ] ( "on" ) soft_plastichardening [ 0 locks=0 ] ( 1 ) soft_enableangularplasticity [ 0 locks=0 ] ( "off" ) soft_angularplasticrate [ 0 locks=0 ] ( 1 ) soft_angularplasticthreshold [ 0 locks=0 ] ( 1 ) soft_angularplastichardening [ 0 locks=0 ] ( 1 ) soft_numiterations [ 0 locks=0 ] ( -1 ) soft_disablecollisions [ 0 locks=0 ] ( "off" ) soft_dataname [ 0 locks=0 ] ( Soft ) folder16 [ 0 locks=0 ] ( 0 ) hard_defaultparmop [ 0 locks=0 ] ( "initial" ) hard_restlength [ 0 locks=0 ] ( 1 ) hard_cfm [ 0 locks=0 ] ( 1 ) hard_erp [ 0 locks=0 ] ( 1 ) folder30 [ 0 locks=0 ] ( 0 ) hard_numangularmotors [ 0 locks=0 ] ( 0 ) hard_axis1 [ 0 locks=0 ] ( 1 0 0 ) hard_axis2 [ 0 locks=0 ] ( 0 1 0 ) hard_targetw [ 0 locks=0 ] ( 0 0 0 ) hard_maxangularimpulse [ 0 locks=0 ] ( 1 1 1 ) hard_numiterations [ 0 locks=0 ] ( -1 ) hard_disablecollisions [ 0 locks=0 ] ( "off" ) hard_dataname [ 0 locks=0 ] ( Hard ) folder18 [ 0 locks=0 ] ( 0 ) useconetwist [ 0 locks=0 ] ( "off" ) conetwist_defaultparmop [ 0 locks=0 ] ( "initial" ) conetwist_max_up_rotation [ 0 locks=0 ] ( 180 ) conetwist_max_out_rotation [ 0 locks=0 ] ( 180 ) conetwist_max_twist [ 0 locks=0 ] ( 0 ) conetwist_softness [ 0 locks=0 ] ( 1 ) conetwist_computeinitialerror [ 0 locks=0 ] ( "on" ) conetwist_cfm [ 0 locks=0 ] ( 0 ) conetwist_bias_factor [ 0 locks=0 ] ( 0.29999999999999999 ) conetwist_relaxation_factor [ 0 locks=0 ] ( 1 ) conetwist_positioncfm [ 0 locks=0 ] ( 0 ) conetwist_positionerp [ 0 locks=0 ] ( 0.29999999999999999 ) conetwist_goal_twist_axis [ 0 locks=0 ] ( 1 0 0 ) conetwist_goal_up_axis [ 0 locks=0 ] ( 0 1 0 ) conetwist_constrained_twist_axis [ 0 locks=0 ] ( 1 0 0 ) conetwist_constrained_up_axis [ 0 locks=0 ] ( 0 1 0 ) conetwist_restlength [ 0 locks=0 ] ( 1 ) folder25 [ 0 locks=0 ] ( 0 ) conetwist_motor_enabled [ 0 locks=0 ] ( "off" ) conetwist_motor_targetcurrentpose [ 0 locks=0 ] ( "off" ) conetwist_motor_targetr [ 0 locks=0 ] ( 0 0 0 ) conetwist_motor_hastargetprev [ 0 locks=0 ] ( "off" ) conetwist_motor_targetprevr [ 0 locks=0 ] ( 0 0 0 ) conetwist_motor_normalizemaximpulse [ 0 locks=0 ] ( "on" ) conetwist_motor_maximpulse [ 0 locks=0 ] ( 1 ) conetwist_motor_erp [ 0 locks=0 ] ( 0.20000000000000001 ) conetwist_motor_cfm [ 0 locks=0 ] ( 0.01 ) conetwist_numiterations [ 0 locks=0 ] ( -1 ) conetwist_disablecollisions [ 0 locks=0 ] ( "off" ) conetwist_dataname [ 0 locks=0 ] ( ConeTwist ) folder17 [ 0 locks=0 ] ( 0 ) useslider [ 0 locks=0 ] ( "off" ) slider_defaultparmop [ 0 locks=0 ] ( "initial" ) slider_max_rotation [ 0 locks=0 ] ( 180 ) slide_range [ 0 locks=0 ] ( 0 0 ) folder22 [ 0 locks=0 ] ( 0 0 0 ) slider_goal_hinge_axis [ 0 locks=0 ] ( 1 0 0 ) slider_goal_up_axis [ 0 locks=0 ] ( 0 1 0 ) slider_constrained_hinge_axis [ 0 locks=0 ] ( 1 0 0 ) slider_constrained_up_axis [ 0 locks=0 ] ( 0 1 0 ) slider_hinge_position_softness [ 0 locks=0 ] ( 1 ) slider_hinge_position_damping [ 0 locks=0 ] ( 1 ) slider_hinge_position_cfm [ 0 locks=0 ] ( 0 ) slider_hinge_angle_softness [ 0 locks=0 ] ( 1 ) slider_hinge_angle_damping [ 0 locks=0 ] ( 1 ) slider_hinge_angle_cfm [ 0 locks=0 ] ( 0 ) slider_ortho_position_softness [ 0 locks=0 ] ( 1 ) slider_ortho_position_cfm [ 0 locks=0 ] ( 0 ) slider_ortho_angle_softness [ 0 locks=0 ] ( 1 ) slider_ortho_angle_cfm [ 0 locks=0 ] ( 0 ) slider_numiterations [ 0 locks=0 ] ( -1 ) slider_disablecollisions [ 0 locks=0 ] ( "off" ) slider_dataname [ 0 locks=0 ] ( Slider ) folder19 [ 0 locks=0 ] ( 0 ) spring_defaultparmop [ 0 locks=0 ] ( "initial" ) spring_strength [ 0 locks=0 ] ( 1 ) spring_restlength [ 0 locks=0 ] ( 1 ) spring_damping [ 0 locks=0 ] ( 1 ) spring_numiterations [ 0 locks=0 ] ( -1 ) spring_disablecollisions [ 0 locks=0 ] ( "off" ) spring_dataname [ 0 locks=0 ] ( Spring ) constraint_reloadfromsops [ 0 locks=0 ] ( "off" ) breaks [ 0 locks=0 ] ( 1 ) vexpressionsoppath [ 0 locks=0 ] ( "" ) usespring [ 0 locks=0 ] ( "off" ) useimpact [ 0 locks=0 ] ( "off" ) useimpactanalysis [ 0 locks=0 ] ( "on" ) impacts_timethreshold [ 0 locks=0 ] ( 0.10000000000000001 ) impacts_impactthreshold [ 0 locks=0 ] ( 100 ) impacts_distancethreshold [ 0 locks=0 ] ( 0.050000000000000003 ) impacts_forceimpactobject [ 0 locks=0 ] ( "" ) impacts_fetchimpacts [ 0 locks=0 ] ( 0 ) useguides [ 0 locks=0 ] ( "off" ) guide_useguidedneighbors [ 0 locks=0 ] ( "off" ) folder2 [ 0 locks=0 ] ( 0 0 0 ) guide_nosetup [ 0 locks=0 ] ( "off" ) guide_group [ 0 locks=0 ] ( "" ) guide_startframe [ 0 locks=0 ] ( [ guide_startframe 0 ] ) guide_endframe [ 0 locks=0 ] ( 240 ) guide_releaseonendframe [ 0 locks=0 ] ( "off" ) guide_mode [ 0 locks=0 ] ( 0 ) guide_maxdist [ 0 locks=0 ] ( -1 ) guide_strength [ 0 locks=0 ] ( 1 ) guide_disttostrenth [ 0 locks=0 ] ( "on" ) guide_dist [ 0 locks=0 ] ( 0 5 ) guide_mult [ 0 locks=0 ] ( 1 0.25 ) guide_addblend [ 0 locks=0 ] ( "off" ) guide_blendattribute [ 0 locks=0 ] ( 1 ) folder32 [ 0 locks=0 ] ( 0 ) guide_neighbor_ensureneighbor [ 0 locks=0 ] ( "off" ) guide_neighbor_nptsperarea [ 0 locks=0 ] ( 100 ) guide_neighbor_searchradius [ 0 locks=0 ] ( 0.10000000000000001 ) guide_neighbor_maxsearchpoints [ 0 locks=0 ] ( 100 ) guide_neighbor_maxconnections [ 0 locks=0 ] ( 1 ) guide_dotransferattribs [ 0 locks=0 ] ( "off" ) guide_transferattribs [ 0 locks=0 ] ( "" ) guide_usesnippet [ 0 locks=0 ] ( "off" ) guide_snippet [ 0 locks=0 ] ( "" ) guide_cwdpath [ 0 locks=0 ] ( . ) guide_constraintcleanup [ 0 locks=0 ] ( "on" ) guide_constraintgroup [ 0 locks=0 ] ( "" ) guide_method [ 0 locks=0 ] ( 0 ) guide_airresist [ 0 locks=0 ] ( 10000 ) guide_drag [ 0 locks=0 ] ( 1 ) guide_blend [ 0 locks=0 ] ( 1 ) folder9 [ 0 locks=0 ] ( 0 ) folder12 [ 0 locks=0 ] ( 0 ) guide_uselinearthreshold [ 0 locks=0 ] ( "on" ) guide_linearthreshold [ 0 locks=0 ] ( 0.84999999999999998 ) guide_useangularthreshold [ 0 locks=0 ] ( "on" ) guide_angularthreshold [ 0 locks=0 ] ( 8 ) guide_usedistancethreshold [ 0 locks=0 ] ( "off" ) guide_distancethreshold [ 0 locks=0 ] ( 0.25 ) folder13 [ 0 locks=0 ] ( 0 ) guide_useaccumulatedlinearthreshold [ 0 locks=0 ] ( "off" ) guide_accumulatedlinearthreshold [ 0 locks=0 ] ( 0.84999999999999998 ) guide_useaccumulatedangularthreshold [ 0 locks=0 ] ( "off" ) guide_accumulatedangularthreshold [ 0 locks=0 ] ( 8 ) guide_useaccumulateddistancethreshold [ 0 locks=0 ] ( "off" ) guide_accumulateddistancethreshold [ 0 locks=0 ] ( 0.25 ) folder21 [ 0 locks=0 ] ( 0 ) guide_minneighbors [ 0 locks=0 ] ( 1 ) folder33 [ 0 locks=0 ] ( 0 ) guide_usewrangle [ 0 locks=0 ] ( "off" ) guide_wranglegroup [ 0 locks=0 ] ( __guided ) guide_wrangle [ 0 locks=0 ] ( "" ) guide_wrangle_cwdpath [ 0 locks=0 ] ( . ) usescale [ 0 locks=0 ] ( "off" ) scale [ 0 locks=0 ] ( 1 ) folder10 [ 0 locks=0 ] ( 0 ) cacheenabled [ 0 locks=0 ] ( "on" ) cachemaxsize [ 0 locks=0 ] ( 5000 ) substep [ 0 locks=0 ] ( 1 ) emission_cachemaxsize [ 0 locks=0 ] ( 5000 ) folder11 [ 0 locks=0 ] ( 0 ) sleepingtime [ 0 locks=0 ] ( 2 ) contactbreakingthreshold [ 0 locks=0 ] ( 0.02 ) implicitdrag [ 0 locks=0 ] ( "on" ) folder1 [ 0 locks=0 ] ( 0 ) constraintsolvertype [ 0 locks=0 ] ( "gaussseidelcolor" ) randomize_order [ 0 locks=0 ] ( "off" ) ensureindependentislands [ 0 locks=0 ] ( "on" ) constraintsolvertolerance [ 0 locks=0 ] ( 0.0001 ) globalcfm [ 0 locks=0 ] ( 0 ) globalerp [ 0 locks=0 ] ( 0.20000000000000001 ) splitimpulse [ 0 locks=0 ] ( "on" ) penetrationthreshold [ 0 locks=0 ] ( -0.02 ) splitimpulseerp [ 0 locks=0 ] ( 0.80000000000000004 ) folder27 [ 0 locks=0 ] ( 0 ) transferattributes [ 0 locks=0 ] ( "age w" ) transfertogeo [ 0 locks=0 ] ( "on" ) transfertoproxy [ 0 locks=0 ] ( "on" ) vis_displaygeo [ 0 locks=0 ] ( "on" ) folder24 [ 0 locks=0 ] ( 0 ) showgeorep [ 0 locks=0 ] ( "off" ) showactive [ 0 locks=0 ] ( "off" ) showsleeping [ 0 locks=0 ] ( "off" ) showguided [ 0 locks=0 ] ( "off" ) showguidecapture [ 0 locks=0 ] ( "off" ) guidecaptureframe [ 0 locks=0 ] ( [ guidecaptureframe 0 ] ) guidecaptureblend [ 0 locks=0 ] ( "off" ) showguideneighborcount [ 0 locks=0 ] ( "off" ) folder0 [ 0 locks=0 ] ( 0 ) showconstraints [ 0 locks=0 ] ( "on" ) showconstraintguides [ 0 locks=0 ] ( "off" ) showconstraintguidesradius [ 0 locks=0 ] ( 0.050000000000000003 ) showconstraintguideslinks [ 0 locks=0 ] ( "off" ) vis_mode [ 0 locks=0 ] ( "0" ) customattrib [ 0 locks=0 ] ( "" ) folder23 [ 0 locks=0 ] ( 0 ) showimpacts [ 0 locks=0 ] ( "off" ) showground [ 0 locks=0 ] ( "on" ) showcollision [ 0 locks=0 ] ( "on" ) showcollisiongeorep [ 0 locks=0 ] ( "off" ) folder31 [ 0 locks=0 ] ( 0 ) inspectorattribs [ 0 locks=0 ] ( "* ^P ^pivot ^rest ^N ^scale ^orient ^xform ^path" ) inspectorfontsize [ 0 locks=0 ] ( 3 ) inspectorprecision [ 0 locks=0 ] ( 6 ) constraint_names1 [ 0 locks=0 ] ( "Soft Hard" ) constraint_group1 [ 0 locks=0 ] ( "" ) constraint_mode1 [ 0 locks=0 ] ( 0 ) constraint_useatframe1 [ 0 locks=0 ] ( "off" ) constraint_atframe1 [ 0 locks=0 ] ( 0 ) constraint_usefromframe1 [ 0 locks=0 ] ( "off" ) constraint_fromframe1 [ 0 locks=0 ] ( 0 ) constraint_useangle1 [ 0 locks=0 ] ( "off" ) constraint_anglethreshold1 [ 0 locks=0 ] ( 0 ) constraint_useanglevar1 [ 0 locks=0 ] ( "off" ) constraint_anglevar1 [ 0 locks=0 ] ( 0.10000000000000001 ) constraint_scaleangle1 [ 0 locks=0 ] ( 0 ) constraint_angleattrib1 [ 0 locks=0 ] ( "" ) constraint_angleattribupdate1 [ 0 locks=0 ] ( "off" ) constraint_usedistance1 [ 0 locks=0 ] ( "on" ) constraint_distancethreshold1 [ 0 locks=0 ] ( 1 ) constraint_usedistancevar1 [ 0 locks=0 ] ( "off" ) constraint_distancevar1 [ 0 locks=0 ] ( 0.10000000000000001 ) constraint_scaledistance1 [ 0 locks=0 ] ( 0 ) constraint_distanceattrib1 [ 0 locks=0 ] ( "" ) constraint_distanceattribupdate1 [ 0 locks=0 ] ( "off" ) constraint_useforce1 [ 0 locks=0 ] ( "off" ) constraint_forcethreshold1 [ 0 locks=0 ] ( 0 ) constraint_useforcevar1 [ 0 locks=0 ] ( "off" ) constraint_forcevar1 [ 0 locks=0 ] ( 0.10000000000000001 ) constraint_scaleforce1 [ 0 locks=0 ] ( 0 ) constraint_forceattrib1 [ 0 locks=0 ] ( "" ) constraint_forceattribupdate1 [ 0 locks=0 ] ( "off" ) constraint_useimpact1 [ 0 locks=0 ] ( "off" ) constraint_impactthreshold1 [ 0 locks=0 ] ( 0 ) constraint_useimpactvar1 [ 0 locks=0 ] ( "off" ) constraint_impactvar1 [ 0 locks=0 ] ( 0.10000000000000001 ) constraint_scaleimpact1 [ 0 locks=0 ] ( 0 ) constraint_impactattrib1 [ 0 locks=0 ] ( "" ) constraint_impactattribupdate1 [ 0 locks=0 ] ( "off" ) constraint_usetorque1 [ 0 locks=0 ] ( "off" ) constraint_torquethreshold1 [ 0 locks=0 ] ( 0 ) constraint_usetorquevar1 [ 0 locks=0 ] ( "off" ) constraint_torquevar1 [ 0 locks=0 ] ( 0.10000000000000001 ) constraint_scaletorque1 [ 0 locks=0 ] ( 0 ) constraint_torqueattrib1 [ 0 locks=0 ] ( "" ) constraint_torqueattribupdate1 [ 0 locks=0 ] ( "off" ) constraint_useplasticflow1 [ 0 locks=0 ] ( "off" ) constraint_plasticflowthreshold1 [ 0 locks=0 ] ( 0 ) constraint_useplasticflowvar1 [ 0 locks=0 ] ( "off" ) constraint_plasticflowvar1 [ 0 locks=0 ] ( 0.10000000000000001 ) constraint_scaleplasticflow1 [ 0 locks=0 ] ( 0 ) constraint_plasticflowattrib1 [ 0 locks=0 ] ( "" ) constraint_plasticflowattribupdate1 [ 0 locks=0 ] ( "off" ) constraint_useangularplasticflow1 [ 0 locks=0 ] ( "off" ) constraint_angularplasticflowthreshold1 [ 0 locks=0 ] ( 0 ) constraint_useangularplasticflowvar1 [ 0 locks=0 ] ( "off" ) constraint_angularplasticflowvar1 [ 0 locks=0 ] ( 0.10000000000000001 ) constraint_scaleangularplasticflow1 [ 0 locks=0 ] ( 0 ) constraint_angularplasticflowattrib1 [ 0 locks=0 ] ( "" ) constraint_angularplasticflowattribupdate1 [ 0 locks=0 ] ( "off" ) usesnippet1 [ 0 locks=0 ] ( "off" ) snippet1 [ 0 locks=0 ] ( "// Second Input: Bullet Packed Geo // Third Input: SOP Geometry " ) } HouLC1033600b8e0620f0e080456916e8obj/geo1/rbdbulletsolver1.userdata ___Version___ wirestyleroundedHouLC1033600bb70620f0e08075c357dbobj/geo1/Convert_Rot.inittype = attribvop matchesdef = 0 HouLC1033600bb40620f0e080871dcacdobj/geo1/Convert_Rot.defsopflags sopflags = comment "" position -1.07709 -2.59996 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 rbdbulletsolver1 5 1 "input1" } inputs { 0 rbdbulletsolver1 2 1 } stat { create 1645152776 modify 1645153763 author User1st@X11DPH-T access 0777 } color UT_Color RGB 0.8 0.8 0.8 delscript "" exprlanguage hscript end HouLC1033600b8f0620f0e0805919c9c6obj/geo1/Convert_Rot.spareparmdef parm { name "bindgroup" baseparm label "Group" export none bindselector uvselect "Modify Points" "Select the points to affect and press Enter to complete." 0 1 0xffffffff 0 bindgrouptype 0 } parm { name "bindgrouptype" baseparm label "Group Type" export none } parm { name "bindclass" baseparm label "Run Over" export none } parm { name "vex_numcount" baseparm label "Number Count" export none } parm { name "vex_threadjobsize" baseparm label "Thread Job Size" export none } group { name "stdswitcher3" label "Vex Setup" parm { name "vexsrc" baseparm label "Vex Source" export dialog } parm { name "shoppath" baseparm label "Shop Path" export dialog } parm { name "script" baseparm label "Script" export all } parm { name "clear" baseparm label "Re-load VEX Functions" export all } parm { name "vexsnippet" baseparm label "Snippet" export none } parm { name "vex_strict" baseparm label "Enforce Prototypes" export none } parm { name "vex_exportlist" baseparm label "Attributes to Create" export none } parm { name "vop_compiler" baseparm label "Compiler" export none } parm { name "vop_forcecompile" baseparm label "Force Compile" export none } parm { name "vex_cwdpath" baseparm label "Evaluation Node Path" export none } parm { name "vex_outputmask" baseparm label "Export Parameters" export none } parm { name "vex_multithread" baseparm label "Enable Multithreading" export none } } group { name "stdswitcher3_1" label "Attribute Bindings" parm { name "vex_precision" baseparm label "VEX Precision" export none } parm { name "autobind" baseparm label "Autobind by Name" export none } multiparm { name "bindings" label "Number of Bindings" baseparm default 0 parmtag { "multistartoffset" "1" } parm { name "bindname#" baseparm label "Attribute Name" export none } parm { name "bindparm#" baseparm label "VEX Parameter" export none } } parm { name "groupautobind" baseparm label "Autobind Groups by Name" export none } multiparm { name "groupbindings" label "Group Bindings" baseparm default 0 parmtag { "multistartoffset" "1" } parm { name "bindgroupname#" baseparm label "Group Name" export none } parm { name "bindgroupparm#" baseparm label "VEX Parameter" export none } } parm { name "vex_updatenmls" baseparm label "Update Normals If Displaced" export none } parm { name "vex_matchattrib" baseparm label "Attribute to Match" export none } parm { name "vex_inplace" baseparm label "Compute Results In Place" export none } parm { name "vex_selectiongroup" baseparm label "Output Selection Group" export none } } parm { name "ptnum" label "Point Number" type integer invisible default { "0" } range { 0 10 } parmtag { "parmvop" "1" } parmtag { "shaderparmcontexts" "cvex" } } parm { name "vtxnum" label "Vertex Number" type integer invisible default { "0" } range { 0 10 } parmtag { "parmvop" "1" } parmtag { "shaderparmcontexts" "cvex" } } parm { name "primnum" label "Primitive Number" type integer invisible default { "0" } range { 0 10 } parmtag { "parmvop" "1" } parmtag { "shaderparmcontexts" "cvex" } } parm { name "id" label "Id" type integer invisible default { "-1" } range { 0 10 } parmtag { "parmvop" "1" } parmtag { "shaderparmcontexts" "cvex" } } parm { name "numpt" label "Number of Points" type integer invisible default { "0" } range { 0 10 } parmtag { "parmvop" "1" } parmtag { "shaderparmcontexts" "cvex" } } parm { name "numvtx" label "Number of Vertices" type integer invisible default { "0" } range { 0 10 } parmtag { "parmvop" "1" } parmtag { "shaderparmcontexts" "cvex" } } parm { name "numprim" label "Number of Prims" type integer invisible default { "0" } range { 0 10 } parmtag { "parmvop" "1" } parmtag { "shaderparmcontexts" "cvex" } } parm { name "Time" label "Time" type float invisible default { "0" } range { 0 1 } parmtag { "parmvop" "1" } parmtag { "shaderparmcontexts" "cvex" } } parm { name "TimeInc" label "Time Inc" type float invisible default { "0" } range { 0 1 } parmtag { "parmvop" "1" } parmtag { "shaderparmcontexts" "cvex" } } parm { name "Frame" label "Frame" type float invisible default { "0" } range { 0 1 } parmtag { "parmvop" "1" } parmtag { "shaderparmcontexts" "cvex" } } parm { name "life" label "Life" type float invisible default { "0" } range { 0 1 } parmtag { "parmvop" "1" } parmtag { "shaderparmcontexts" "cvex" } } parm { name "age" label "Age" type float invisible default { "0" } range { 0 1 } parmtag { "parmvop" "1" } parmtag { "shaderparmcontexts" "cvex" } } parm { name "OpInput2" label "Second Input" type string invisible default { "" } parmtag { "parmvop" "1" } parmtag { "shaderparmcontexts" "cvex" } } parm { name "OpInput3" label "Third Input" type string invisible default { "" } parmtag { "parmvop" "1" } parmtag { "shaderparmcontexts" "cvex" } } parm { name "OpInput4" label "Fourth Input" type string invisible default { "" } parmtag { "parmvop" "1" } parmtag { "shaderparmcontexts" "cvex" } } parm { name "OpInput1" label "First Input" type string invisible default { "" } parmtag { "parmvop" "1" } parmtag { "shaderparmcontexts" "cvex" } } parm { name "uv" label "UV" type float invisible size 3 default { "0" "0" "0" } range { 0 10 } parmtag { "parmvop" "1" } parmtag { "shaderparmcontexts" "cvex" } } parm { name "P" label "P" type float invisible size 3 default { "0" "0" "0" } range { 0 10 } parmtag { "parmvop" "1" } parmtag { "shaderparmcontexts" "cvex" } } parm { name "v" label "Velocity" type float invisible size 3 default { "0" "0" "0" } range { 0 10 } parmtag { "parmvop" "1" } parmtag { "shaderparmcontexts" "cvex" } } parm { name "force" label "Force" type float invisible size 3 default { "0" "0" "0" } range { 0 10 } parmtag { "parmvop" "1" } parmtag { "shaderparmcontexts" "cvex" } } parm { name "Cd" label "Cd" type float invisible size 3 default { "1" "1" "1" } range { 0 10 } parmtag { "parmvop" "1" } parmtag { "shaderparmcontexts" "cvex" } } parm { name "N" label "N" type float invisible size 3 default { "0" "0" "0" } range { 0 10 } parmtag { "parmvop" "1" } parmtag { "shaderparmcontexts" "cvex" } } HouLC1033600bb70620f0e0808a018b8fobj/geo1/Convert_Rot.parm{ version 0.8 bindgroup [ 0 locks=0 ] ( "" ) bindgrouptype [ 0 locks=0 ] ( "guess" ) bindclass [ 0 locks=0 ] ( "primitive" ) vex_numcount [ 0 locks=0 ] ( 10 ) vex_threadjobsize [ 0 locks=0 ] ( 1024 ) stdswitcher [ 0 locks=0 ] ( 0 0 ) vexsrc [ 0 locks=0 ] ( "myself" ) shoppath [ 0 locks=0 ] ( "" ) script [ 0 locks=0 ] ( null ) clear [ 0 locks=0 ] ( 0 ) vexsnippet [ 0 locks=0 ] ( "" ) vex_strict [ 0 locks=0 ] ( "off" ) vex_exportlist [ 0 locks=0 ] ( * ) vop_compiler [ 0 locks=0 ] ( "vcc -q $VOP_INCLUDEPATH -o $VOP_OBJECTFILE -e $VOP_ERRORFILE $VOP_SOURCEFILE" ) vop_forcecompile [ 0 locks=0 ] ( 0 ) vex_cwdpath [ 0 locks=0 ] ( "" ) vex_outputmask [ 0 locks=0 ] ( * ) vex_multithread [ 0 locks=0 ] ( "on" ) vex_precision [ 0 locks=0 ] ( auto ) autobind [ 0 locks=0 ] ( "on" ) bindings [ 0 locks=0 ] ( 0 ) groupautobind [ 0 locks=0 ] ( "on" ) groupbindings [ 0 locks=0 ] ( 0 ) vex_updatenmls [ 0 locks=0 ] ( "off" ) vex_matchattrib [ 0 locks=0 ] ( id ) vex_inplace [ 0 locks=0 ] ( "off" ) vex_selectiongroup [ 0 locks=0 ] ( "" ) ptnum [ 0 locks=0 ] ( 0 ) vtxnum [ 0 locks=0 ] ( 0 ) primnum [ 0 locks=0 ] ( 0 ) id [ 0 locks=0 ] ( -1 ) numpt [ 0 locks=0 ] ( 0 ) numvtx [ 0 locks=0 ] ( 0 ) numprim [ 0 locks=0 ] ( 0 ) Time [ 0 locks=0 ] ( 0 ) TimeInc [ 0 locks=0 ] ( 0 ) Frame [ 0 locks=0 ] ( 0 ) life [ 0 locks=0 ] ( 0 ) age [ 0 locks=0 ] ( 0 ) OpInput2 [ 0 locks=0 ] ( "" ) OpInput3 [ 0 locks=0 ] ( "" ) OpInput4 [ 0 locks=0 ] ( "" ) OpInput1 [ 0 locks=0 ] ( "" ) uv [ 0 locks=0 ] ( 0 0 0 ) P [ 0 locks=0 ] ( 0 0 0 ) v [ 0 locks=0 ] ( 0 0 0 ) force [ 0 locks=0 ] ( 0 0 0 ) Cd [ 0 locks=0 ] ( 1 1 1 ) N [ 0 locks=0 ] ( 0 0 0 ) } HouLC1033600bb30620f0e08033c454dfobj/geo1/Convert_Rot.userdata ___Version___19.0.455HouLC1033600b830620f0e080fefc3052obj/geo1/Convert_Rot/__stickynote1.postitinittype = postitnote matchesdef = 0 HouLC1033600b800620f0e080b87e4770obj/geo1/Convert_Rot/__stickynote1.postitdeftext "RotatebyQuaternionはクォータニオンを使ってVectorを回転させるノード。 {1,0,0}のような軸を表せるベクトルを入力すると、それがクォータニオンで回転して今どっちを向いているかを知ることができる。" position 2.8343 -4.53661 size 10.6492 1.15631 flags = minimize off stat { create 1645153722 modify 1645153731 author User1st@X11DPH-T access 0777 } color UT_Color RGB 1 0.969 0.522 end HouLC1033600b830620f0e0807b819ffdobj/geo1/Convert_Rot/__stickynote2.postitinittype = postitnote matchesdef = 0 HouLC1033600b800620f0e0809e98d73bobj/geo1/Convert_Rot/__stickynote2.postitdeftext "Matrix -> Quaternionに変換" position 6.0295 0.40978 size 3.55122 0.795501 flags = minimize off stat { create 1645153738 modify 1645153752 author User1st@X11DPH-T access 0777 } color UT_Color RGB 1 0.969 0.522 end HouLC1033600b800620f0e080649bbdd6obj/geo1/Convert_Rot/geometryvopglobal1.inittype = geometryvopglobal::2.0 matchesdef = 1 HouLC1033600b810620f0e080e954e19fobj/geo1/Convert_Rot/geometryvopglobal1.defcomment "" position 1.90579 1.97631 connectornextid 19 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 lowdetail off mediumdetail off highdetail on material off outputsNamed3 { 0 "P" 1 "v" 2 "force" 3 "age" 4 "life" 5 "id" 6 "Cd" 7 "uv" 8 "N" 9 "Time" 10 "TimeInc" 11 "Frame" 12 "ptnum" 13 "primnum" 14 "vtxnum" 15 "numpt" 16 "numprim" 17 "numvtx" 18 "OpInput1" } inputsNamed3 { } inputs { } stat { create 1645152776 modify 1645152781 author User1st@X11DPH-T access 0777 } color UT_Color RGB 0.8 0.8 0.8 delscript "" exprlanguage hscript end HouLC1033600b800620f0e0806f9c05caobj/geo1/Convert_Rot/geometryvopglobal1.parm{ version 0.8 } HouLC1033600b9c0620f0e08037329abdobj/geo1/Convert_Rot/geometryvopglobal1.userdata ___Version___HouLC1033600b800620f0e0800f87f0acobj/geo1/Convert_Rot/geometryvopoutput1.inittype = geometryvopoutput matchesdef = 1 HouLC1033600b810620f0e080266e10e0obj/geo1/Convert_Rot/geometryvopoutput1.defcomment "" position 12.1835 -0.642642 connectornextid 5 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 lowdetail off mediumdetail off highdetail on material off outputsNamed3 { } inputsNamed3 { 0 "" "" 1 "P" 1 "" "" 1 "v" 2 "" "" 1 "force" 3 "" "" 1 "Cd" 4 qrotate1 2 1 "N" } inputs { 0 "" 0 1 1 "" 0 1 2 "" 0 1 3 "" 0 1 4 qrotate1 0 1 } stat { create 1645152776 modify 1645153510 author User1st@X11DPH-T access 0777 } color UT_Color RGB 0.8 0.8 0.8 delscript "" exprlanguage hscript end HouLC1033600b800620f0e0808f8d4b16obj/geo1/Convert_Rot/geometryvopoutput1.parm{ version 0.8 } HouLC1033600b9c0620f0e0800b6b6363obj/geo1/Convert_Rot/geometryvopoutput1.userdata ___Version___HouLC1033600b840620f0e080fdb0841dobj/geo1/Convert_Rot/primintrinsic1.inittype = primintrinsic matchesdef = 0 HouLC1033600b850620f0e0807406e96cobj/geo1/Convert_Rot/primintrinsic1.defcomment "" position 4.7295 -0.642642 connectornextid 4 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 lowdetail off mediumdetail off highdetail on material off outputsNamed3 { 3 "adata" } inputsNamed3 { 0 geometryvopglobal1 18 1 "file" 1 "" "" 1 "intrinsic" 2 geometryvopglobal1 13 1 "prim" } inputs { 0 geometryvopglobal1 18 1 1 "" 0 1 2 geometryvopglobal1 13 1 } stat { create 1645152793 modify 1645153447 author User1st@X11DPH-T access 0777 } color UT_Color RGB 0.8 0.8 0.8 delscript "" exprlanguage hscript end HouLC1033600b840620f0e080b32b7cf0obj/geo1/Convert_Rot/primintrinsic1.parm{ version 0.8 signature [ 0 locks=0 ] ( m ) opinput [ 0 locks=0 ] ( opinput:0 ) file [ 0 locks=0 ] ( $HH/geo/defgeo.bgeo ) intrinsic [ 0 locks=0 ] ( packedfulltransform ) prim [ 0 locks=0 ] ( 0 ) } HouLC1033600b800620f0e08031a4c48eobj/geo1/Convert_Rot/primintrinsic1.userdata ___Version___HouLC1033600b8b0620f0e0803ec20c79obj/geo1/Convert_Rot/matxtoquat1.inittype = matxtoquat matchesdef = 0 HouLC1033600b880620f0e080478b81ffobj/geo1/Convert_Rot/matxtoquat1.defcomment "" position 6.83001 -0.642642 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 lowdetail off mediumdetail off highdetail on material off outputsNamed3 { 1 "quat" } inputsNamed3 { 0 primintrinsic1 3 1 "matx" } inputs { 0 primintrinsic1 0 1 } stat { create 1645152872 modify 1645153447 author User1st@X11DPH-T access 0777 } color UT_Color RGB 0.8 0.8 0.8 delscript "" exprlanguage hscript end HouLC1033600b8b0620f0e0805ae8694aobj/geo1/Convert_Rot/matxtoquat1.parm{ version 0.8 } HouLC1033600b870620f0e0801dc85e37obj/geo1/Convert_Rot/matxtoquat1.userdata ___Version___HouLC1033600b8e0620f0e0806a579896obj/geo1/Convert_Rot/qrotate1.inittype = qrotate matchesdef = 0 HouLC1033600b8f0620f0e0805d010caaobj/geo1/Convert_Rot/qrotate1.defcomment "" position 9.18355 -0.642642 connectornextid 3 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 lowdetail off mediumdetail off highdetail on material off outputsNamed3 { 2 "result" } inputsNamed3 { 0 matxtoquat1 1 1 "quaternion" 1 const1 0 1 "vec" } inputs { 0 matxtoquat1 0 1 1 const1 0 1 } stat { create 1645152878 modify 1645153447 author User1st@X11DPH-T access 0777 } color UT_Color RGB 0.8 0.8 0.8 delscript "" exprlanguage hscript end HouLC1033600b8e0620f0e080de5412d8obj/geo1/Convert_Rot/qrotate1.parm{ version 0.8 } HouLC1033600b8a0620f0e080bc6bbfb9obj/geo1/Convert_Rot/qrotate1.userdata ___Version___HouLC1033600b8c0620f0e0802382d120obj/geo1/Convert_Rot/const1.inittype = constant matchesdef = 0 HouLC1033600b8d0620f0e0801ed8d6b7obj/geo1/Convert_Rot/const1.defcomment "" position 6.83001 -2.25421 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 lowdetail off mediumdetail off highdetail on material off outputsNamed3 { 0 "Value" } inputsNamed3 { } inputs { } stat { create 1645152882 modify 1645153090 author User1st@X11DPH-T access 0777 } color UT_Color RGB 0 0 0 delscript "" exprlanguage hscript end HouLC1033600b8c0620f0e08028bfd034obj/geo1/Convert_Rot/const1.parm{ version 0.8 consttype [ 0 locks=0 ] ( "vector" ) floatdef [ 0 locks=0 ] ( 0 ) intdef [ 0 locks=0 ] ( 0 ) toggledef [ 0 locks=0 ] ( "off" ) angledef [ 0 locks=0 ] ( 0 ) logfloatdef [ 0 locks=0 ] ( 0 ) float2def [ 0 locks=0 ] ( 0 0 ) float3def [ 0 locks=0 ] ( 0 0 0 ) vectordef [ 0 locks=0 ] ( 1 0 0 ) normaldef [ 0 locks=0 ] ( 0 0 0 ) pointdef [ 0 locks=0 ] ( 0 0 0 ) directiondef [ 0 locks=0 ] ( 1 0 0 ) float4def [ 0 locks=0 ] ( 0 0 0 0 ) floatm2def [ 0 locks=0 ] ( 1 0 0 1 ) float9def [ 0 locks=0 ] ( 1 0 0 0 1 0 0 0 1 ) float16def [ 0 locks=0 ] ( 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 ) stringdef [ 0 locks=0 ] ( "" ) filedef [ 0 locks=0 ] ( "" ) imagedef [ 0 locks=0 ] ( "" ) geometrydef [ 0 locks=0 ] ( "" ) colordef [ 0 locks=0 ] ( 0 0 0 ) color4def [ 0 locks=0 ] ( 0 0 0 0 ) bsdfdef [ 0 locks=0 ] ( "" ) dictdef [ 0 locks=0 ] ( "" ) coshaderdef [ 0 locks=0 ] ( "" ) surfacedef [ 0 locks=0 ] ( "" ) displacementdef [ 0 locks=0 ] ( "" ) atmospheredef [ 0 locks=0 ] ( "" ) floatadef [ 0 locks=0 ] ( ) intadef [ 0 locks=0 ] ( ) vector2adef [ 0 locks=0 ] ( ) vectoradef [ 0 locks=0 ] ( ) pointadef [ 0 locks=0 ] ( ) normaladef [ 0 locks=0 ] ( ) coloradef [ 0 locks=0 ] ( ) floatm2adef [ 0 locks=0 ] ( ) float4adef [ 0 locks=0 ] ( ) float9adef [ 0 locks=0 ] ( ) float16adef [ 0 locks=0 ] ( ) stringadef [ 0 locks=0 ] ( ) dictadef [ 0 locks=0 ] ( ) coshaderadef [ 0 locks=0 ] ( "" ) structdef [ 0 locks=0 ] ( "" ) parmuniform [ 0 locks=0 ] ( "on" ) constname [ 0 locks=0 ] ( Value ) constlabel [ 0 locks=0 ] ( Constant ) } HouLC1033600b880620f0e08081d1b34fobj/geo1/Convert_Rot/const1.userdata ___Version___19.0.455HouLC1033600b890620f0e08078a4002eobj/geo1/testgeometry_pighead1.inittype = testgeometry_pighead matchesdef = 1 HouLC1033600b8e0620f0e080f028f012obj/geo1/testgeometry_pighead1.defsopflags sopflags = comment "" position -2.86918 1.40004 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 1645153176 modify 1645153246 author User1st@X11DPH-T access 0777 } color UT_Color RGB 0.52 0.8 0.9 delscript "" exprlanguage hscript end HouLC1033600b890620f0e08040550d5eobj/geo1/testgeometry_pighead1.parm{ version 0.8 t [ 0 locks=0 ] ( 0 3 0 ) r [ 0 locks=0 ] ( 0 0 0 ) uniformscale [ 0 locks=0 ] ( 1 ) difficulty [ 0 locks=0 ] ( "medium" ) addshader [ 0 locks=0 ] ( "on" ) } HouLC1033600b850620f0e0802838d6ceobj/geo1/testgeometry_pighead1.userdata ___Version______toolcount___1 ___toolid___sop_testgeometry_pigheadHouLC1033600ba50620f0e08006d0ac59vex.defcomment "" position 0 6 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 1645151988 modify 1645151990 author User1st@X11DPH-T access 0777 } color UT_Color RGB 0.8 0.8 0.8 delscript "" exprlanguage hscript end HouLC1033600ba40620f0e0805af56f87vex.parm{ version 0.8 } HouLC1033600ba00620f0e08084719914vex.userdata ___Version___19.0.455HouLC1033600ba50620f0e080061a1f05mat.defcomment "" position 0 3.75 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 1645151988 modify 1645151989 author User1st@X11DPH-T access 0777 } color UT_Color RGB 0.8 0.8 0.8 delscript "" exprlanguage hscript end HouLC1033600ba40620f0e080f7597b92mat.parm{ version 0.8 } HouLC1033600ba00620f0e080d43f5e73mat.userdata ___Version___19.0.455HouLC1033600bb10620f0e0801da17e41obj/geo1/rbdconfigure1.inittype = rbdconfigure matchesdef = 1 HouLC1033600bb60620f0e080002cd5bcobj/geo1/rbdconfigure1.defsopflags sopflags = comment "" position -1.07364 -0.599959 connectornextid 6 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 { 3 "output1" 4 "output2" 5 "output3" } inputsNamed3 { 0 rbdmaterialfracture1 1 1 "input1" 1 rbdmaterialfracture1 2 1 "input2" 2 rbdmaterialfracture1 3 1 "input3" } inputs { 0 rbdmaterialfracture1 0 1 1 rbdmaterialfracture1 1 1 2 rbdmaterialfracture1 2 1 } stat { create 1645152734 modify 1645152764 author User1st@X11DPH-T access 0777 } color UT_Color RGB 0.8 0.8 0.8 delscript "" exprlanguage hscript end HouLC1033600bb60620f0e080bbc45a42obj/geo1/rbdconfigure1.chn{ channel bboxonoff { lefttype = extend righttype = extend flags = 0 segment { length = 0 expr = ch(\"boundingtype\")==0 } } channel shrinkamount1 { lefttype = extend righttype = extend flags = 0 segment { length = 0 expr = ch(\"collisionmargin1\") } } channel density1 { lefttype = extend righttype = extend defaultString = \"\" flags = 0 segment { length = 0 expr = chs(\"material\"+opdigits($CH)) } } } HouLC1033600bb10620f0e080ab082492obj/geo1/rbdconfigure1.parm{ version 0.8 folder0 [ 0 locks=0 ] ( 0 ) visualize [ 0 locks=0 ] ( 0 ) scale [ 0 locks=0 ] ( 0 ) folder1 [ 0 locks=0 ] ( 0 ) unitmass [ 0 locks=0 ] ( 1000 ) unitlength [ 0 locks=0 ] ( 1000 ) folder2 [ 0 locks=0 ] ( 0 ) boundingtype [ 0 locks=0 ] ( 1 ) bboxsize [ 0 locks=0 ] ( 1 1 1 ) bboxcenter [ 0 locks=0 ] ( 0 0 0 ) bboxr [ 0 locks=0 ] ( 0 0 0 ) bboxonoff [ 0 locks=0 ] ( [ bboxonoff 0 ] ) folder3 [ 0 locks=0 ] ( 0 ) nameprefix [ 0 locks=0 ] ( piece ) transfer_attributes [ 0 locks=0 ] ( "v w" ) createpath [ 0 locks=0 ] ( "off" ) path [ 0 locks=0 ] ( op:`opfullpath('.')` ) createpackedfragments [ 0 locks=0 ] ( "on" ) attributes [ 0 locks=0 ] ( 1 ) parm [ 0 locks=0 ] ( "off" ) enable1 [ 0 locks=0 ] ( "on" ) group1 [ 0 locks=0 ] ( "" ) folder0_1_2 [ 0 locks=0 ] ( 0 ) addactive1 [ 0 locks=0 ] ( "off" ) active1 [ 0 locks=0 ] ( 1 ) useactivebounds1 [ 0 locks=0 ] ( "off" ) addanimated1 [ 0 locks=0 ] ( "off" ) animated1 [ 0 locks=0 ] ( 0 ) useanimatedbounds1 [ 0 locks=0 ] ( "off" ) adddeforming1 [ 0 locks=0 ] ( "off" ) deforming1 [ 0 locks=0 ] ( 0 ) usedeformingbounds1 [ 0 locks=0 ] ( "off" ) addsleeping1 [ 0 locks=0 ] ( "off" ) sleeping1 [ 0 locks=0 ] ( 0 ) usesleepingbounds1 [ 0 locks=0 ] ( "off" ) addenablesleeping1 [ 0 locks=0 ] ( "off" ) enablesleeping1 [ 0 locks=0 ] ( 1 ) useenablesleepingbounds1 [ 0 locks=0 ] ( "off" ) addsleeplinearthreshold1 [ 0 locks=0 ] ( "off" ) sleeplinearthreshold1 [ 0 locks=0 ] ( 0.80000000000000004 ) addsleepangularthreshold1 [ 0 locks=0 ] ( "off" ) sleepangularthreshold1 [ 0 locks=0 ] ( 1 ) folder0_1_4 [ 0 locks=0 ] ( 0 ) addgeorep1 [ 0 locks=0 ] ( "off" ) georep1 [ 0 locks=0 ] ( convexhull ) addcollisionmargin1 [ 0 locks=0 ] ( "off" ) collisionmargin1 [ 0 locks=0 ] ( 0.02 ) adjustgeometry1 [ 0 locks=0 ] ( "on" ) shrinkamount1 [ 0 locks=0 ] ( [ shrinkamount1 0 ] ) addgroupconnected1 [ 0 locks=0 ] ( "off" ) groupconnected1 [ 0 locks=0 ] ( 1 ) folder1_1 [ 0 locks=0 ] ( 0 ) addcollisiongroup1 [ 0 locks=0 ] ( "off" ) collisiongroup1 [ 0 locks=0 ] ( "" ) addcollisionignore1 [ 0 locks=0 ] ( "off" ) collisionignore1 [ 0 locks=0 ] ( "" ) addminactivationimpulse1 [ 0 locks=0 ] ( "off" ) minactivationimpulse1 [ 0 locks=0 ] ( 0 ) folder0_1_5 [ 0 locks=0 ] ( 0 ) addspeedmin1 [ 0 locks=0 ] ( "off" ) speedmin1 [ 0 locks=0 ] ( -1 ) addspeedmax1 [ 0 locks=0 ] ( "off" ) speedmax1 [ 0 locks=0 ] ( -1 ) addspinmin1 [ 0 locks=0 ] ( "off" ) spinmin1 [ 0 locks=0 ] ( -1 ) addspinmax1 [ 0 locks=0 ] ( "off" ) spinmax1 [ 0 locks=0 ] ( -1 ) addaccelmax1 [ 0 locks=0 ] ( "off" ) accelmax1 [ 0 locks=0 ] ( -1 ) addangaccelmax1 [ 0 locks=0 ] ( "off" ) angaccelmax1 [ 0 locks=0 ] ( -1 ) folder0_1 [ 0 locks=0 ] ( 0 ) type1 [ 0 locks=0 ] ( "0" ) material1 [ 0 locks=0 ] ( 1000 ) state1 [ 0 locks=0 ] ( 0 ) adddensity1 [ 0 locks=0 ] ( "on" ) density1 [ 0 locks=0 ] ( [ density1 chs(\"material\"+opdigits($CH)) ] ) adduserdensity1 [ 0 locks=0 ] ( "off" ) userdensity1 [ 0 locks=0 ] ( 1000 ) useuserdensityvar1 [ 0 locks=0 ] ( "off" ) userdensityvar1 [ 0 locks=0 ] ( 0.10000000000000001 ) addbounce1 [ 0 locks=0 ] ( "on" ) bounce1 [ 0 locks=0 ] ( 0.25 ) adduserbounce1 [ 0 locks=0 ] ( "off" ) userbounce1 [ 0 locks=0 ] ( 0.5 ) useuserbouncevar1 [ 0 locks=0 ] ( "off" ) userbouncevar1 [ 0 locks=0 ] ( 0.10000000000000001 ) addfriction1 [ 0 locks=0 ] ( "off" ) friction1 [ 0 locks=0 ] ( 1 ) adduserfriction1 [ 0 locks=0 ] ( "off" ) userfriction1 [ 0 locks=0 ] ( 1 ) useuserfrictionvar1 [ 0 locks=0 ] ( "off" ) userfrictionvar1 [ 0 locks=0 ] ( 0.10000000000000001 ) addrotationalstiffness1 [ 0 locks=0 ] ( "off" ) inertialtensorstiffness1 [ 0 locks=0 ] ( 1 ) useinertialtensorstiffnessvar1 [ 0 locks=0 ] ( "off" ) inertialtensorstiffnessvar1 [ 0 locks=0 ] ( 0.10000000000000001 ) folder0_1_3 [ 0 locks=0 ] ( 0 ) addpin1 [ 0 locks=0 ] ( "off" ) pin1 [ 0 locks=0 ] ( 1 ) pintype1 [ 0 locks=0 ] ( "0" ) usepinbounds1 [ 0 locks=0 ] ( "on" ) folder0_1_6 [ 0 locks=0 ] ( 0 ) addrbdbulletemit1 [ 0 locks=0 ] ( "off" ) rbdbulletemit1 [ 0 locks=0 ] ( 1 ) userbdbulletemitbounds1 [ 0 locks=0 ] ( "off" ) } HouLC1033600b8d0620f0e080e709de61obj/geo1/rbdconfigure1.userdata ___Version___2___toolcount___1 ___toolid___bobHouLC1033600b810620f0e080e33cda3fobj/geo1/rbdbulletsolver1/dopnet/forces.defcomment "" position -0.5 13.3375 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 { 0 "output1" 1 "output2" } inputsNamed3 { } inputs { } stat { create 1512510858 modify 1619575075 author nobody@nowhere access 0777 } color UT_Color RGB 0.8 0.8 0.8 delscript "" exprlanguage hscript end HouLC1033600b800620f0e08056076112obj/geo1/rbdbulletsolver1/dopnet/forces.parm{ version 0.8 } HouLC1033600b820620f0e080890f38baobj/geo1/rbdbulletsolver1/dopnet/forces.netbox__netbox3 HouLC1033600b9c0620f0e0808306064eobj/geo1/rbdbulletsolver1/dopnet/forces.userdata ___Version___19.0.455HouLC1033600b810620f0e080ccef3d57obj/geo1/rbdbulletsolver1/dopnet/forces.inp4 0 15.500000011175871 6.9946077377439364 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT" 1 15.500000011175871 5.9946077377439364 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT" 2 15.500000011175871 4.9946077377439355 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT" 3 15.500000011175871 3.9946077377439364 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT" HouLC1033600bec0620f0e080389a545bobj/geo1/rbdbulletsolver1/dopnet/forces/__stickynote1.postitinittype = postitnote matchesdef = 0 HouLC1033600bed0620f0e080a1ab0281obj/geo1/rbdbulletsolver1/dopnet/forces/__stickynote1.postitdeftext "Wire POP Forces into PRESOLVE to apply per-point forces. If scaling the sim, remember to apply scale accordingly." position -15.4827 1 size 8.8619 4.50641 textsize 0.5 flags = minimize off stat { create 1536691291 modify 1619574881 author jlait@andorra.sidefx.com access 0777 } color UT_Color RGB 1 0.969 0.522 end HouLC1033600bec0620f0e080bded156eobj/geo1/rbdbulletsolver1/dopnet/forces/__stickynote2.postitinittype = postitnote matchesdef = 0 HouLC1033600bed0620f0e080d1392e8eobj/geo1/rbdbulletsolver1/dopnet/forces/__stickynote2.postitdeftext "Wire post-solve operations into POSTSOLVE. If scaling the sim, remember to apply scale accordingly." position 4.40323 1 size 8.8619 4.32294 textsize 0.5 flags = minimize off stat { create 1536691291 modify 1619574933 author jlait@andorra.sidefx.com access 0777 } color UT_Color RGB 1 0.969 0.522 end HouLC1033600b9b0620f0e080ed47435dobj/geo1/rbdbulletsolver1/dopnet/forces/PRESOLVE.inittype = subnetoutput matchesdef = 0 HouLC1033600b980620f0e0803758d9e5obj/geo1/rbdbulletsolver1/dopnet/forces/PRESOLVE.defcomment "" position -4.5 -0.15 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 outputsNamed3 { } inputsNamed3 { } inputs { } stat { create 1619574808 modify 1619575103 author nobody@nowhere access 0777 } color UT_Color RGB 0.8 0.8 0.8 delscript "" exprlanguage hscript end HouLC1033600b9b0620f0e08002cb4c0eobj/geo1/rbdbulletsolver1/dopnet/forces/PRESOLVE.parm{ version 0.8 outputidx [ 0 locks=0 ] ( 0 ) } HouLC1033600b970620f0e080aace92b4obj/geo1/rbdbulletsolver1/dopnet/forces/PRESOLVE.userdata ___Version___19.0.455HouLC1033600b9a0620f0e0803abe9abcobj/geo1/rbdbulletsolver1/dopnet/forces/POSTSOLVE.inittype = subnetoutput matchesdef = 0 HouLC1033600b9b0620f0e080244dd335obj/geo1/rbdbulletsolver1/dopnet/forces/POSTSOLVE.defcomment "" position 1.5 -0.15 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 1619574808 modify 1619574951 author nobody@nowhere access 0777 } color UT_Color RGB 0.8 0.8 0.8 delscript "" exprlanguage hscript end HouLC1033600b9a0620f0e0808daad891obj/geo1/rbdbulletsolver1/dopnet/forces/POSTSOLVE.parm{ version 0.8 outputidx [ 0 locks=0 ] ( 1 ) } HouLC1033600b960620f0e0803012260cobj/geo1/rbdbulletsolver1/dopnet/forces/POSTSOLVE.userdata ___Version___19.0.455HouLC1033600b830620f0e0806dad5780obj/geo1/rbdbulletsolver1/dopnet/forces.order2 PRESOLVE POSTSOLVE HouLC1033600b810620f0e0805af5a18bobj/geo1/rbdbulletsolver1/dopnet/forces.net1 HouLC1033600bb60620f0e08003c403dbobj/geo1/Convert_Rot.order6 geometryvopglobal1 geometryvopoutput1 primintrinsic1 matxtoquat1 qrotate1 const1 HouLC1033600bb40620f0e080dd69a2a6obj/geo1/Convert_Rot.net1 HouLC1033600bb50620f0e080157c7039obj/geo1/Visualize.inittype = null matchesdef = 0 HouLC1033600bba0620f0e080c46626b4obj/geo1/Visualize.defsopflags sopflags = comment "" position -1.25364 -7.35866 connectornextid 2 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 { 1 "output1" } inputsNamed3 { 0 merge1 2 1 "input1" } inputs { 0 merge1 0 1 } stat { create 1645152920 modify 1645153610 author User1st@X11DPH-T access 0777 } color UT_Color RGB 0.6 0.7 0.77 delscript "" exprlanguage hscript end HouLC1033600b8d0620f0e0805666eaa3obj/geo1/Visualize.spareparmdef parm { name "copyinput" baseparm label "Copy Input (Note: Input will be still cooked if disabled)" export none } parm { name "cacheinput" baseparm label "Cache Input" export none } parm { name "node_vis_enabled" label "Visualization Enabled" type toggle invisible default { "1" } } multiparm { name "num_visualizers" label "Visualizers" invisible default 0 parmtag { "multistartoffset" "0" } parm { name "vis_active#" label "Active #" type toggle invisible default { "0" } } parm { name "vis_data#" label "Raw Data #" type string invisible nolabel default { "" } parmtag { "editor" "1" } } } HouLC1033600bb50620f0e0803274134dobj/geo1/Visualize.parm{ version 0.8 copyinput [ 0 locks=0 ] ( "on" ) cacheinput [ 0 locks=0 ] ( "off" ) node_vis_enabled [ 0 locks=0 ] ( "on" ) num_visualizers [ 0 locks=0 ] ( 1 ) vis_active0 [ 0 locks=0 ] ( "on" ) vis_data0 [ 0 locks=0 ] ( "{ \"flags\":{ \"type\":\"int\", \"value\":27 }, \"icon\":{ \"type\":\"string\", \"value\":\"VIEW_visualization_marker\" }, \"label\":{ \"type\":\"string\", \"value\":\"Marker 1\" }, \"name\":{ \"type\":\"string\", \"value\":\"vis_marker_1\" }, \"parameters\":{ \"type\":\"string\", \"value\":\"{\\nversion 0.8\\nstyle\\t[ 0\\tlocks=0 ]\\t(\\t\\\"vector\\\"\\t)\\nclass\\t[ 0\\tlocks=0 ]\\t(\\t\\\"point\\\"\\t)\\nattrib\\t[ 0\\tlocks=0 ]\\t(\\tN\\t)\\nvisibility\\t[ 0\\tlocks=0 ]\\t(\\t\\\"always\\\"\\t)\\ndecorradius\\t[ 0\\tlocks=0 ]\\t(\\t0.5\\t)\\ngroup\\t[ 0\\tlocks=0 ]\\t(\\t\\\"\\\"\\t)\\npointsize\\t[ 0\\tlocks=0 ]\\t(\\t3\\t)\\nlengthscale\\t[ 0\\tlocks=0 ]\\t(\\t1\\t)\\nunitlength\\t[ 0\\tlocks=0 ]\\t(\\t0.627\\t)\\nnormalize\\t[ 0\\tlocks=0 ]\\t(\\t\\\"off\\\"\\t)\\narrowheads\\t[ 0\\tlocks=0 ]\\t(\\t\\\"off\\\"\\t)\\nvectorcoloring\\t[ 0\\tlocks=0 ]\\t(\\t\\\"fixed\\\"\\t)\\ncolorattrib\\t[ 0\\tlocks=0 ]\\t(\\tCd\\t)\\nramptype\\t[ 0\\tlocks=0 ]\\t(\\t\\\"false\\\"\\t)\\ncolorramp\\t[ 0\\tlocks=0 ]\\t(\\t2\\t)\\nrangespec\\t[ 0\\tlocks=0 ]\\t(\\t\\\"min-max\\\"\\t)\\nminscalar\\t[ 0\\tlocks=0 ]\\t(\\t0\\t)\\nmaxscalar\\t[ 0\\tlocks=0 ]\\t(\\t1\\t)\\ncenterscalar\\t[ 0\\tlocks=0 ]\\t(\\t0\\t)\\nwidthscalar\\t[ 0\\tlocks=0 ]\\t(\\t1\\t)\\nclamptype\\t[ 0\\tlocks=0 ]\\t(\\t\\\"edge\\\"\\t)\\ntreatasscalar\\t[ 0\\tlocks=0 ]\\t(\\t\\\"off\\\"\\t)\\nusing\\t[ 0\\tlocks=0 ]\\t(\\t\\\"comp\\\"\\t)\\ncomponent\\t[ 0\\tlocks=0 ]\\t(\\t0\\t)\\nrefvec\\t[ 0\\tlocks=0 ]\\t(\\t0\\t1\\t0\\t)\\nmarkercolor\\t[ 0\\tlocks=0 ]\\t(\\t1\\t0\\t0\\t1\\t)\\ntrail\\t[ 0\\tlocks=0 ]\\t(\\t1\\t1\\t0\\t0.5\\t)\\ntextcolor\\t[ 0\\tlocks=0 ]\\t(\\t0.25\\t0.75\\t0.75\\t)\\nfontsize\\t[ 0\\tlocks=0 ]\\t(\\t\\\"guidefont\\\"\\t)\\nxcolor\\t[ 0\\tlocks=0 ]\\t(\\t1\\t0\\t0\\t1\\t)\\nycolor\\t[ 0\\tlocks=0 ]\\t(\\t0\\t1\\t0\\t1\\t)\\nzcolor\\t[ 0\\tlocks=0 ]\\t(\\t0\\t0\\t1\\t1\\t)\\ncolorramp1pos\\t[ 0\\tlocks=0 ]\\t(\\t0\\t)\\ncolorramp1c\\t[ 0\\tlocks=0 ]\\t(\\t0\\t0\\t1\\t)\\ncolorramp1interp\\t[ 0\\tlocks=0 ]\\t(\\t\\\"linear\\\"\\t)\\ncolorramp2pos\\t[ 0\\tlocks=0 ]\\t(\\t1\\t)\\ncolorramp2c\\t[ 0\\tlocks=0 ]\\t(\\t1\\t0\\t0\\t)\\ncolorramp2interp\\t[ 0\\tlocks=0 ]\\t(\\t\\\"linear\\\"\\t)\\n}\\n\" }, \"scope\":{ \"type\":\"int\", \"value\":2 }, \"type\":{ \"type\":\"string\", \"value\":\"vis_marker\" } } " ) } HouLC1033600bb10620f0e0802597f237obj/geo1/Visualize.userdata ___Version___19.0.455HouLC1033600bb00620f0e080863baea8obj/geo1/attribpromote1.inittype = attribpromote matchesdef = 0 HouLC1033600bb10620f0e080211ec620obj/geo1/attribpromote1.defsopflags sopflags = comment "" position -1.07709 -3.59996 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 Convert_Rot 1 1 "input1" } inputs { 0 Convert_Rot 0 1 } stat { create 1645152936 modify 1645153493 author User1st@X11DPH-T access 0777 } color UT_Color RGB 0.8 0.8 0.8 delscript "" exprlanguage hscript end HouLC1033600bb00620f0e08087c323d0obj/geo1/attribpromote1.parm{ version 0.8 inname [ 0 locks=0 ] ( N ) inclass [ 0 locks=0 ] ( "primitive" ) outclass [ 0 locks=0 ] ( "point" ) usepieceattrib [ 0 locks=0 ] ( "off" ) pieceattrib [ 0 locks=0 ] ( name ) method [ 0 locks=0 ] ( "mean" ) useoutname [ 0 locks=0 ] ( "off" ) outname [ 0 locks=0 ] ( "" ) deletein [ 0 locks=0 ] ( "on" ) } HouLC1033600b8c0620f0e080603f973dobj/geo1/attribpromote1.userdata ___Version___19.0.455HouLC1033600bbe0620f0e080458274e4obj/geo1/add1.inittype = add matchesdef = 0 HouLC1033600bbf0620f0e0805735bbd5obj/geo1/add1.defsopflags sopflags = comment "" position -2.70084 -4.58556 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 attribpromote1 1 1 "input1" } inputs { 0 attribpromote1 0 1 } stat { create 1645153056 modify 1645153484 author User1st@X11DPH-T access 0777 } color UT_Color RGB 0.8 0.8 0.8 delscript "" exprlanguage hscript end HouLC1033600bbe0620f0e080a97704c7obj/geo1/add1.parm{ version 0.8 stdswitcher [ 0 locks=0 ] ( 0 0 0 ) keep [ 0 locks=0 ] ( "on" ) points [ 0 locks=0 ] ( 1 ) remove [ 0 locks=0 ] ( "off" ) switcher [ 0 locks=0 ] ( 0 0 ) prims [ 0 locks=0 ] ( 1 ) group [ 0 locks=0 ] ( "" ) add [ 0 locks=0 ] ( "all" ) inc [ 0 locks=0 ] ( 2 ) attrname [ 0 locks=0 ] ( "" ) closedall [ 0 locks=0 ] ( "off" ) addparticlesystem [ 0 locks=0 ] ( "off" ) particlegroup [ 0 locks=0 ] ( "" ) appendunusedtoparticlesystem [ 0 locks=0 ] ( "off" ) usept0 [ 0 locks=0 ] ( "off" ) pt0 [ 0 locks=0 ] ( 0 0 0 ) weight0 [ 0 locks=0 ] ( 1 ) prim0 [ 0 locks=0 ] ( "" ) closed0 [ 0 locks=0 ] ( "off" ) } HouLC1033600bba0620f0e080306f81b7obj/geo1/add1.userdata ___Version___19.0.455HouLC1033600bb80620f0e080133e56bfobj/geo1/merge1.inittype = merge matchesdef = 0 HouLC1033600bb90620f0e080d83f7f6fobj/geo1/merge1.defsopflags sopflags = comment "" position -1.25479 -5.78076 connectornextid 3 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 { 2 "output1" } inputsNamed3 { 0 add1 1 1 "input1" 1 attribpromote1 1 1 "input2" } inputs { 0 add1 0 1 1 attribpromote1 0 1 } stat { create 1645153483 modify 1645153512 author User1st@X11DPH-T access 0777 } color UT_Color RGB 0.8 0.8 0.8 delscript "" exprlanguage hscript end HouLC1033600bb80620f0e08057eb58d3obj/geo1/merge1.parm{ version 0.8 } HouLC1033600bb40620f0e0804ac53d7eobj/geo1/merge1.userdata ___Version___19.0.455HouLC1033600ba20620f0e080fe9f3a75obj/geo1.order10 testgeometry_rubbertoy1 rbdmaterialfracture1 rbdconfigure1 rbdbulletsolver1 Convert_Rot Visualize attribpromote1 add1 testgeometry_pighead1 merge1 HouLC1033600ba00620f0e0804c0702e5obj/geo1.net1 HouLC1033600ba50620f0e080048e5fbeobj.net1 HouLC1033600ba50620f0e0809156a472out.defcomment "" position 0 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 1645151988 modify 1645151989 author User1st@X11DPH-T access 0777 } color UT_Color RGB 0.8 0.8 0.8 delscript "" exprlanguage hscript end HouLC1033600ba40620f0e080d5970f51out.parm{ version 0.8 } HouLC1033600ba00620f0e080009b79cfout.userdata ___Version___19.0.455HouLC1033600ba50620f0e0805f48a655out.net1 HouLC1033600baa0620f0e080563971c7ch.defcomment "" position 0 0.75 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 1645151988 modify 1645151989 author User1st@X11DPH-T access 0777 } color UT_Color RGB 0.8 0.8 0.8 delscript "" exprlanguage hscript end HouLC1033600ba50620f0e08008c4757bch.parm{ version 0.8 } HouLC1033600ba10620f0e08064685c3cch.userdata ___Version___19.0.455HouLC1033600baa0620f0e0801e49fb68ch.net1 HouLC1033600ba40620f0e08076989a54shop.defcomment "" position 0 2.25 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 1645151988 modify 1645151989 author User1st@X11DPH-T access 0777 } color UT_Color RGB 0.8 0.8 0.8 delscript "" exprlanguage hscript end HouLC1033600ba70620f0e0802c7d5db5shop.parm{ version 0.8 } HouLC1033600ba30620f0e080240584c2shop.userdata ___Version___19.0.455HouLC1033600ba40620f0e080ca38512fshop.net1 HouLC1033600ba50620f0e080c132d200img.defcomment "" position 0 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 1645151988 modify 1645151992 author User1st@X11DPH-T access 0777 } color UT_Color RGB 0.8 0.8 0.8 delscript "" exprlanguage hscript end HouLC1033600ba40620f0e0800c04e9b6img.parm{ version 0.8 } HouLC1033600ba00620f0e080c0f67cc3img.userdata ___Version___19.0.455HouLC1033600ba20620f0e0804ae9db06img/comp1.inittype = img matchesdef = 0 HouLC1033600ba30620f0e080e2aa0b24img/comp1.defcomment "" 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 1645151992 modify 1645151992 author User1st@X11DPH-T access 0777 } color UT_Color RGB 0.8 0.8 0.8 delscript "" exprlanguage hscript end HouLC1033600ba20620f0e08027482685img/comp1.parm{ version 0.8 } HouLC1033600bbe0620f0e0803d76e141img/comp1.userdata ___Version___19.0.455HouLC1033600ba30620f0e0804fbca55fimg/comp1.net1 HouLC1033600ba50620f0e080e8f4ceb3img.net1 HouLC1033600ba50620f0e0803d423678vex.net1 HouLC1033600ba50620f0e0804f7fd12dmat.net1 HouLC1033600ba70620f0e080134c5953stage.defcomment "" position 0 4.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 debug off outputsNamed3 { } inputsNamed3 { } inputs { } stat { create 1645151988 modify 1645153803 author User1st@X11DPH-T access 0777 } color UT_Color RGB 0.8 0.8 0.8 delscript "" exprlanguage hscript end HouLC1033600ba60620f0e08089b12200stage.parm{ version 0.8 pinnedprims [ 0 locks=0 ] ( "" ) resolvercontextassetpath [ 0 locks=0 ] ( "" ) insertionpointdescriptor [ 0 locks=0 ] ( "" ) rendergallerysource [ 0 locks=0 ] ( $HIP/galleries/$HIPNAME.$OS/rendergallery.db ) } HouLC1033600ba20620f0e080c521ad85stage.userdata ___Version___19.0.455HouLC1033600bbc0620f0e0806bf67a33stage.datablocks__onload__.expansion expansion{ "expanded":true } __onload__.loadmasks loadmasksg{ "populateall":true, "populatepaths":[ ], "mutelayers":[ ], "loadall":true, "loadpaths":[ ] } HouLC1033600ba70620f0e08085fbb0d4stage.net1 HouLC1033600ba70620f0e0803a684e0atasks.defcomment "" position 0 5.25 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 1645151989 modify 1645151992 author User1st@X11DPH-T access 0777 } color UT_Color RGB 0.8 0.8 0.8 delscript "" exprlanguage hscript end HouLC1033600ba60620f0e0807ddb51d6tasks.parm{ version 0.8 } HouLC1033600ba20620f0e080967a83e6tasks.userdata ___Version___19.0.455HouLC1033600bbe0620f0e0801ea51163tasks/topnet1.inittype = topnet matchesdef = 0 HouLC1033600bbf0620f0e08000d09658tasks/topnet1.defcomment "" 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 off colordefault on exposed on outputsNamed3 { } inputsNamed3 { } inputs { } stat { create 1645151992 modify 1645153803 author User1st@X11DPH-T access 0777 } color UT_Color RGB 0.8 0.8 0.8 delscript "" exprlanguage hscript end HouLC1033600bbe0620f0e080744b4487tasks/topnet1.parm{ version 0.8 cookcontrolssection [ 0 locks=0 ] ( 0 ) generatestatic [ 0 locks=0 ] ( 0 ) cookbutton [ 0 locks=0 ] ( 0 ) dirtybutton [ 0 locks=0 ] ( 0 ) cancelbutton [ 0 locks=0 ] ( 0 ) taskgraphsection [ 0 locks=0 ] ( 0 ) savetaskgraph [ 0 locks=0 ] ( 0 ) loadtaskgraph [ 0 locks=0 ] ( 0 ) taskgraphfile [ 0 locks=0 ] ( $HIP/$HIPNAME.taskgraph.$F.py ) taskgraphautosave [ 0 locks=0 ] ( "off" ) taskgraphsaverate [ 0 locks=0 ] ( 10 ) schedulersection [ 0 locks=0 ] ( 0 ) topscheduler [ 0 locks=0 ] ( localscheduler ) usedefaultlabel [ 0 locks=0 ] ( "off" ) defaultlabel [ 0 locks=0 ] ( $OS.`@pdg_index` ) sep1 [ 0 locks=0 ] ( ) regenerationtype [ 0 locks=0 ] ( "0" ) evaluationtime [ 0 locks=0 ] ( "0" ) customtime [ 0 locks=0 ] ( 0 ) } HouLC1033600bba0620f0e0807f8642fatasks/topnet1.userdata ___Version___19.0.455HouLC1033600b8f0620f0e08025393678tasks/topnet1/localscheduler.inittype = localscheduler matchesdef = 0 HouLC1033600b8c0620f0e080a7224447tasks/topnet1/localscheduler.defcomment "" position 0 0 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 off colordefault on exposed on outputsNamed3 { } inputsNamed3 { } inputs { } stat { create 1645151992 modify 1645153803 author User1st@X11DPH-T access 0777 } color UT_Color RGB 0.478 0.478 0.478 delscript "" exprlanguage hscript end HouLC1033600b8f0620f0e080b3159703tasks/topnet1/localscheduler.parm{ version 0.8 folder0 [ 0 locks=0 ] ( 0 0 ) folder5 [ 0 locks=0 ] ( 0 ) maxprocsmenu [ 0 locks=0 ] ( "0" ) maxprocs [ 0 locks=0 ] ( 1 ) verbose [ 0 locks=0 ] ( "off" ) pdg_waitforfailures [ 0 locks=0 ] ( "off" ) folder4 [ 0 locks=0 ] ( 0 ) pdg_workingdir [ 0 locks=0 ] ( $HIP ) pdg_workitemdatasource [ 0 locks=0 ] ( "0" ) pdg_compressworkitemdata [ 0 locks=0 ] ( "on" ) pdg_validateoutputs [ 0 locks=0 ] ( "on" ) pdg_checkexpectedoutputs [ 0 locks=0 ] ( "on" ) sepparm2 [ 0 locks=0 ] ( ) pdg_mapmode [ 0 locks=0 ] ( "0" ) pdg_usemapzone [ 0 locks=0 ] ( "off" ) pdg_mapzone [ 0 locks=0 ] ( $PDG_PATHMAP_ZONE ) sepparm3 [ 0 locks=0 ] ( ) folder1 [ 0 locks=0 ] ( 0 ) tempdirmenu [ 0 locks=0 ] ( "1" ) tempdirappendpid [ 0 locks=0 ] ( "on" ) tempdircustom [ 0 locks=0 ] ( $HOUDINI_TEMP_DIR/$HIPNAME/pdgtemp ) socketcallbacks [ 0 locks=0 ] ( 1 ) folder0_2 [ 0 locks=0 ] ( 0 ) local_single [ 0 locks=0 ] ( "off" ) local_is_CPU_number_set [ 0 locks=0 ] ( "off" ) local_CPUs_to_use [ 0 locks=0 ] ( 1 ) folder6 [ 0 locks=0 ] ( 0 ) local_useminfreemem [ 0 locks=0 ] ( "0" ) local_minfreemem [ 0 locks=0 ] ( 0 ) local_minfreemempct [ 0 locks=0 ] ( 0 ) folder2 [ 0 locks=0 ] ( 0 ) local_echandleby [ 0 locks=0 ] ( "0" ) local_echandleall [ 0 locks=0 ] ( "on" ) local_eccustomcode [ 0 locks=0 ] ( 1 ) sepparm [ 0 locks=0 ] ( ) local_maximumretries [ 0 locks=0 ] ( 3 ) local_addfailcountattr [ 0 locks=0 ] ( "off" ) local_failcountattr [ 0 locks=0 ] ( failurecount ) sepparm4 [ 0 locks=0 ] ( ) local_enabletimeout [ 0 locks=0 ] ( "off" ) local_maxtime [ 0 locks=0 ] ( 0 ) local_handletimeout [ 0 locks=0 ] ( "0" ) folder3 [ 0 locks=0 ] ( 0 ) local_usehoudinimaxthreads [ 0 locks=0 ] ( "off" ) local_houdinimaxthreads [ 0 locks=0 ] ( 0 ) local_requireswindow [ 0 locks=0 ] ( "off" ) local_envunset [ 0 locks=0 ] ( "" ) local_envmulti [ 0 locks=0 ] ( 0 ) } HouLC1033600b8b0620f0e080270f4441tasks/topnet1/localscheduler.userdata ___Version___1HouLC1033600bbf0620f0e08037bae678tasks/topnet1.net1 HouLC1033600ba70620f0e080cc34da38tasks.net1 HouLC1033600bbb0620f0e08050fced75.scenefilevisualizersHouLC1033600ba00620f0e080babad4e1.applicationnetworkeditor -p '{\n}\n'performance -c on -d on -f on -g off -j on -k on -m off -n on -o on -t off -v on -p on -y on -u on -e off -r absolute -R seconds -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 0 0 -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 viewerstow -b open -x open -l open -m hide -c hide -d open Build.panetab1.world vieweroption -a 2 -h 0 -m 1 -r 'View: Mantra' Build.panetab1.world viewergrouplist -g off -s 0 0 -c on -t matchselect -m '*' -e on -p off -h on Build.panetab1.world vieweroption -p 0 -P '+geo -cam -light -muscle -bone -null -blend -other' Build.panetab1.world viewlayout -s 2 Build.panetab1.world viewerinspect Build.panetab1.world mode ( objects ) object_properties ( ) prim_properties ( ) enable ( 0 ) magnify ( 1 ) viewtype -t perspective Build.panetab1.world.`vpname("Build.panetab1.world",2)` viewtype -t ortho_top Build.panetab1.world.`vpname("Build.panetab1.world",1)` viewtype -t ortho_front Build.panetab1.world.`vpname("Build.panetab1.world",3)` viewtype -t ortho_right Build.panetab1.world.`vpname("Build.panetab1.world",4)` viewname -l on -n aaaa3 Build.panetab1.world.`vpname("Build.panetab1.world",2)` viewname -l on -n aaaa2 Build.panetab1.world.`vpname("Build.panetab1.world",1)` viewname -l on -n aaaa1 Build.panetab1.world.`vpname("Build.panetab1.world",3)` viewname -l on -n aaaa0 Build.panetab1.world.`vpname("Build.panetab1.world",4)` viewname -l off -n persp1 Build.panetab1.world.`vpname("Build.panetab1.world",2)` viewname -l off -n top1 Build.panetab1.world.`vpname("Build.panetab1.world",1)` viewname -l off -n front1 Build.panetab1.world.`vpname("Build.panetab1.world",3)` viewname -l off -n right1 Build.panetab1.world.`vpname("Build.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 off -w off -s shade_wire -F off -l on -L on -G off -B none -d uv -r unique scene Build.panetab1.world.persp1 viewdispset -t off scene Build.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 -w off -s shade_wire -F off -l on -L on -G off -B none -d uv -r scene selectscene Build.panetab1.world.persp1 viewdispset -t off selectscene Build.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 -w off -s shade_wire -F off -l on -L off -G on -B none -d uv -r unique ghostscene Build.panetab1.world.persp1 viewdispset -t off ghostscene Build.panetab1.world.persp1 viewdispset -m off always -n on 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 on always -U off always -h off -P on -p off -f off -o off -w on -s shade_wire -F off -l on -L on -G off -B none -d uv -r unique display Build.panetab1.world.persp1 viewdispset -t on display Build.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 -w off -s wire -F off -l on -L off -G off -B none -d uv -r unique current Build.panetab1.world.persp1 viewdispset -t off current Build.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 -w off -s wire -F on -l on -L off -G on -B none -d uv -r unique template Build.panetab1.world.persp1 viewdispset -t off template Build.panetab1.world.persp1 viewdisplay -B dark -b off -d off -C 2 -e 3 -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 Build.panetab1.world.persp1 viewdisplay -Q on -m on -v on Build.panetab1.world.persp1 viewdisplay -W off 0 0 Build.panetab1.world.persp1 viewdisplay -c on -l1 -K on -P points -p 8.03 Build.panetab1.world.persp1 viewdispopts -a on -A 0.5 -b current -B 0 -c 1 -C 60 -d on -D 1 -g on -i on -n on -N 1000000 -o off -p 10 -P off -r off -R on -S 768 -l 128 -m 0.05 -M 1024 -s on -t 0.5 -u uv -w 0.1 -W 0.9 -x on -X off Build.panetab1.world.persp1 viewdispopts -f off -k 0 -I 1 -O on -T MatCap/OilClay.pic -U uvgrid_grey.pic -v 1 Build.panetab1.world.persp1 vieweffect -a 2 -A 4 -b on -B 1 -d on -D on off -e 0.8 -E -30 -30 -100 -f 1 -F 0 -g 2.2 -G 0 -h 1 -H on -i on -I 1 -j on -J 50 -K 2 -k 1 -l '' -m on -M 2048 -o off -O 3 -p off -P 3 -q 1 -Q 2 -r 2048 2048 -s 2 -t 100 -T 100 -u off -U off -v 256 256 256 -w 0.05 -W on -x 0.4 0.4 0.4 -X 0.4 0.4 0.4 -y 0.4 0.4 0.4 -Y 0.0025 0.0025 0.0025 -z 0.01 -Z 1 Build.panetab1.world.persp1 viewinfotext -m off -s off -t on Build.panetab1.world.persp1 viewlight -a on -d on -e on -h off -l on -n 8 -s on Build.panetab1.world.persp1 viewbackground -b on -e on -q 1 -i off -m 0 0 -M 1 1 Build.panetab1.world.persp1 viewroto -S file -F '' -C '' -a on -o 0 0 -s 1 1 -B 1 -e off persp Build.panetab1.world.persp1 viewroto -S file -F '' -C '' -a on -o 0 0 -s 1 1 -B 1 -e off cam Build.panetab1.world.persp1 viewroto -S file -F '' -C '' -a off -o 0 0 -s 1 1 -B 1 -e off top Build.panetab1.world.persp1 viewroto -S file -F '' -C '' -a off -o 0 0 -s 1 1 -B 1 -e off front Build.panetab1.world.persp1 viewroto -S file -F '' -C '' -a off -o 0 0 -s 1 1 -B 1 -e off right Build.panetab1.world.persp1 viewroto -S file -F '' -C '' -a off -o 0 0 -s 1 1 -B 1 -e off bottom Build.panetab1.world.persp1 viewroto -S file -F '' -C '' -a off -o 0 0 -s 1 1 -B 1 -e off back Build.panetab1.world.persp1 viewroto -S file -F '' -C '' -a off -o 0 0 -s 1 1 -B 1 -e off left Build.panetab1.world.persp1 viewroto -S file -F '$HH/pic/uvgrid_grey.pic' -C '' -a on -o 0 0 -s 1 1 -B 0.2 -e off uv Build.panetab1.world.persp1 viewroto -S file -F '' -C '' -a on -o 0 0 -s 1 1 -B 1 -e off image Build.panetab1.world.persp1 viewforeground -d on -f on -D Pz -s 0 Build.panetab1.world.persp1 viewtransform Build.panetab1.world.persp1 version ( 3 ) flag ( Fx ) orthowidth ( 2.99734 ) focal ( 50 ) aperture ( 50 ) window ( 0 1 0 1 ) winroll ( 0 ) clear ( 1 ) nearfar ( 0.045533 13895.3 ) aspect ( 1.33333 ) pixelaspect ( 1 ) txyz ( -0.112346 0.2317 9.0216 ) pxyz ( 1.98339 0.0982053 -2.25755 ) rotation ( 0.998814 -0.00698506 0.0481913 -2.63583e-08 0.989658 0.143446 -0.0486949 -0.143276 0.988484 ) homedistance ( 4.19969 ) homeadjboxwidth ( 2.99734 ) homeorthowidth ( 2.99734 ) homeradius ( 4.03561 ) homeaxis ( 0 ) homecustom ( 0.707107 -0.353553 0.612372 0 0.866025 0.5 -0.707107 -0.353553 0.612372 ) adjustlimits ( 3 ) fov (90) viewcamera -c '' Build.panetab1.world.persp1 vieworthogrid -d on -o 0 0 0 -s 0.2 0.2 -r 5 5 -R 1 Build.panetab1.world.persp1 viewuvgrid -r on -s 0.1 0.1 -P off -S 64 64 -O 0 0 -C on -t on Build.panetab1.world.persp1 viewagentopts -L on -b 0 -d 1 -l 0 -m 4 -p 1000 -w 1 -B 1 Build.panetab1.world.persp1 viewonionskin -e on -a 4 -b 4 -i 6 -o 0.5 -A 1 1 1 -B 1 1 1 Build.panetab1.world.persp1 viewposteffects -D off -B off -t "" -f off -V off -S on -a 1 -b 5 -F 1 -g 1 -c 1 1 1 -C 1 1 1 -d 1e+06 -h 0 -H 100 10 -i 1 -I 1 -l 1 -n "" -o 1 -O 1 -r 0 1000 -R 1 200 -s 1 1 -u 0 -U 100 10 -v 0 Build.panetab1.world.persp1 viewposteffects -e off -E 10 -T 0.95 -L 1 Build.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 -w off -s shade_wire -F off -l on -L on -G off -B none -d uv -r unique scene Build.panetab1.world.top1 viewdispset -t off scene Build.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 -w off -s shade_wire -F off -l on -L on -G off -B none -d uv -r scene selectscene Build.panetab1.world.top1 viewdispset -t off selectscene Build.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 -w off -s shade_wire -F off -l on -L off -G on -B none -d uv -r unique ghostscene Build.panetab1.world.top1 viewdispset -t off ghostscene Build.panetab1.world.top1 viewdispset -m off always -n on 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 on always -U off always -h off -P on -p off -f off -o off -w on -s shade_wire -F off -l on -L on -G off -B none -d uv -r unique display Build.panetab1.world.top1 viewdispset -t on display Build.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 -w off -s wire -F off -l on -L off -G off -B none -d uv -r unique current Build.panetab1.world.top1 viewdispset -t off current Build.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 -w off -s wire -F on -l on -L off -G on -B none -d uv -r unique template Build.panetab1.world.top1 viewdispset -t off template Build.panetab1.world.top1 viewdisplay -B dark -b off -d off -C 2 -e 3 -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 Build.panetab1.world.top1 viewdisplay -Q on -m on -v on Build.panetab1.world.top1 viewdisplay -W off 0 0 Build.panetab1.world.top1 viewdisplay -c on -l1 -K on -P points -p 8.03 Build.panetab1.world.top1 viewdispopts -a on -A 0.5 -b current -B 0 -c 1 -C 60 -d on -D 1 -g on -i on -n on -N 1000000 -o off -p 10 -P off -r off -R on -S 768 -l 128 -m 0.05 -M 1024 -s on -t 0.5 -u uv -w 0.1 -W 0.9 -x on -X off Build.panetab1.world.top1 viewdispopts -f off -k 0 -I 1 -O on -T MatCap/OilClay.pic -U uvgrid_grey.pic -v 1 Build.panetab1.world.top1 vieweffect -a 2 -A 4 -b on -B 1 -d on -D on off -e 0.8 -E -30 -30 -100 -f 1 -F 0 -g 2.2 -G 0 -h 1 -H on -i on -I 1 -j on -J 50 -K 2 -k 1 -l '' -m on -M 2048 -o off -O 3 -p off -P 3 -q 1 -Q 2 -r 2048 2048 -s 2 -t 100 -T 100 -u off -U off -v 256 256 256 -w 0.05 -W on -x 0.4 0.4 0.4 -X 0.4 0.4 0.4 -y 0.4 0.4 0.4 -Y 0.0025 0.0025 0.0025 -z 0.01 -Z 1 Build.panetab1.world.top1 viewinfotext -m off -s off -t on Build.panetab1.world.top1 viewlight -a on -d on -e on -h off -l on -n 8 -s on Build.panetab1.world.top1 viewbackground -b on -e on -q 1 -i off -m 0 0 -M 1 1 Build.panetab1.world.top1 viewroto -S file -F '' -C '' -a on -o 0 0 -s 1 1 -B 1 -e off persp Build.panetab1.world.top1 viewroto -S file -F '' -C '' -a on -o 0 0 -s 1 1 -B 1 -e off cam Build.panetab1.world.top1 viewroto -S file -F '' -C '' -a off -o 0 0 -s 1 1 -B 1 -e off top Build.panetab1.world.top1 viewroto -S file -F '' -C '' -a off -o 0 0 -s 1 1 -B 1 -e off front Build.panetab1.world.top1 viewroto -S file -F '' -C '' -a off -o 0 0 -s 1 1 -B 1 -e off right Build.panetab1.world.top1 viewroto -S file -F '' -C '' -a off -o 0 0 -s 1 1 -B 1 -e off bottom Build.panetab1.world.top1 viewroto -S file -F '' -C '' -a off -o 0 0 -s 1 1 -B 1 -e off back Build.panetab1.world.top1 viewroto -S file -F '' -C '' -a off -o 0 0 -s 1 1 -B 1 -e off left Build.panetab1.world.top1 viewroto -S file -F '$HH/pic/uvgrid_grey.pic' -C '' -a on -o 0 0 -s 1 1 -B 0.2 -e off uv Build.panetab1.world.top1 viewroto -S file -F '' -C '' -a on -o 0 0 -s 1 1 -B 1 -e off image Build.panetab1.world.top1 viewforeground -d on -f on -D Pz -s 0 Build.panetab1.world.top1 viewtransform Build.panetab1.world.top1 version ( 3 ) flag ( Fox ) orthowidth ( 2.22222 ) focal ( 50 ) aperture ( 50 ) window ( 0 1 0 1 ) winroll ( 0 ) clear ( 1 ) nearfar ( 0.00290032 29003.2 ) aspect ( 1.33333 ) pixelaspect ( 1 ) txyz ( 0 0 3.22222 ) pxyz ( 0 0 0 ) rotation ( 1 0 0 0 1.19209e-07 1 0 -1 1.19209e-07 ) homedistance ( 3.22222 ) homeadjboxwidth ( 2.22222 ) homeorthowidth ( 2.22222 ) homeradius ( 2.9 ) homeaxis ( 0 ) homecustom ( 0.707107 -0.353553 0.612372 0 0.866025 0.5 -0.707107 -0.353553 0.612372 ) adjustlimits ( 3 ) fov (90) vieworthogrid -d on -o 0 0 0 -s 0.2 0.2 -r 5 5 -R 1 Build.panetab1.world.top1 viewuvgrid -r on -s 0.1 0.1 -P off -S 64 64 -O 0 0 -C on -t on Build.panetab1.world.top1 viewagentopts -L on -b 0 -d 1 -l 0 -m 4 -p 1000 -w 1 -B 1 Build.panetab1.world.top1 viewonionskin -e on -a 4 -b 4 -i 6 -o 0.5 -A 1 1 1 -B 1 1 1 Build.panetab1.world.top1 viewposteffects -D off -B off -t "" -f off -V off -S on -a 1 -b 5 -F 1 -g 1 -c 1 1 1 -C 1 1 1 -d 1e+06 -h 0 -H 100 10 -i 1 -I 1 -l 1 -n "" -o 1 -O 1 -r 0 1000 -R 1 200 -s 1 1 -u 0 -U 100 10 -v 0 Build.panetab1.world.top1 viewposteffects -e off -E 10 -T 0.95 -L 1 Build.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 -w off -s shade_wire -F off -l on -L on -G off -B none -d uv -r unique scene Build.panetab1.world.front1 viewdispset -t off scene Build.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 -w off -s shade_wire -F off -l on -L on -G off -B none -d uv -r scene selectscene Build.panetab1.world.front1 viewdispset -t off selectscene Build.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 -w off -s shade_wire -F off -l on -L off -G on -B none -d uv -r unique ghostscene Build.panetab1.world.front1 viewdispset -t off ghostscene Build.panetab1.world.front1 viewdispset -m off always -n on 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 on always -U off always -h off -P on -p off -f off -o off -w on -s shade_wire -F off -l on -L on -G off -B none -d uv -r unique display Build.panetab1.world.front1 viewdispset -t on display Build.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 -w off -s wire -F off -l on -L off -G off -B none -d uv -r unique current Build.panetab1.world.front1 viewdispset -t off current Build.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 -w off -s wire -F on -l on -L off -G on -B none -d uv -r unique template Build.panetab1.world.front1 viewdispset -t off template Build.panetab1.world.front1 viewdisplay -B dark -b off -d off -C 2 -e 3 -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 Build.panetab1.world.front1 viewdisplay -Q on -m on -v on Build.panetab1.world.front1 viewdisplay -W off 0 0 Build.panetab1.world.front1 viewdisplay -c on -l1 -K on -P points -p 8.03 Build.panetab1.world.front1 viewdispopts -a on -A 0.5 -b current -B 0 -c 1 -C 60 -d on -D 1 -g on -i on -n on -N 1000000 -o off -p 10 -P off -r off -R on -S 768 -l 128 -m 0.05 -M 1024 -s on -t 0.5 -u uv -w 0.1 -W 0.9 -x on -X off Build.panetab1.world.front1 viewdispopts -f off -k 0 -I 1 -O on -T MatCap/OilClay.pic -U uvgrid_grey.pic -v 1 Build.panetab1.world.front1 vieweffect -a 2 -A 4 -b on -B 1 -d on -D on off -e 0.8 -E -30 -30 -100 -f 1 -F 0 -g 2.2 -G 0 -h 1 -H on -i on -I 1 -j on -J 50 -K 2 -k 1 -l '' -m on -M 2048 -o off -O 3 -p off -P 3 -q 1 -Q 2 -r 2048 2048 -s 2 -t 100 -T 100 -u off -U off -v 256 256 256 -w 0.05 -W on -x 0.4 0.4 0.4 -X 0.4 0.4 0.4 -y 0.4 0.4 0.4 -Y 0.0025 0.0025 0.0025 -z 0.01 -Z 1 Build.panetab1.world.front1 viewinfotext -m off -s off -t on Build.panetab1.world.front1 viewlight -a on -d on -e on -h off -l on -n 8 -s on Build.panetab1.world.front1 viewbackground -b on -e on -q 1 -i off -m 0 0 -M 1 1 Build.panetab1.world.front1 viewroto -S file -F '' -C '' -a on -o 0 0 -s 1 1 -B 1 -e off persp Build.panetab1.world.front1 viewroto -S file -F '' -C '' -a on -o 0 0 -s 1 1 -B 1 -e off cam Build.panetab1.world.front1 viewroto -S file -F '' -C '' -a off -o 0 0 -s 1 1 -B 1 -e off top Build.panetab1.world.front1 viewroto -S file -F '' -C '' -a off -o 0 0 -s 1 1 -B 1 -e off front Build.panetab1.world.front1 viewroto -S file -F '' -C '' -a off -o 0 0 -s 1 1 -B 1 -e off right Build.panetab1.world.front1 viewroto -S file -F '' -C '' -a off -o 0 0 -s 1 1 -B 1 -e off bottom Build.panetab1.world.front1 viewroto -S file -F '' -C '' -a off -o 0 0 -s 1 1 -B 1 -e off back Build.panetab1.world.front1 viewroto -S file -F '' -C '' -a off -o 0 0 -s 1 1 -B 1 -e off left Build.panetab1.world.front1 viewroto -S file -F '$HH/pic/uvgrid_grey.pic' -C '' -a on -o 0 0 -s 1 1 -B 0.2 -e off uv Build.panetab1.world.front1 viewroto -S file -F '' -C '' -a on -o 0 0 -s 1 1 -B 1 -e off image Build.panetab1.world.front1 viewforeground -d on -f on -D Pz -s 0 Build.panetab1.world.front1 viewtransform Build.panetab1.world.front1 version ( 3 ) flag ( Fox ) orthowidth ( 2.22222 ) focal ( 50 ) aperture ( 50 ) window ( 0 1 0 1 ) winroll ( 0 ) clear ( 1 ) nearfar ( 0.00290032 29003.2 ) aspect ( 1.33333 ) pixelaspect ( 1 ) txyz ( 0 0 3.22222 ) pxyz ( 0 0 0 ) rotation ( 1 0 0 0 1 0 0 0 1 ) homedistance ( 3.22222 ) homeadjboxwidth ( 2.22222 ) homeorthowidth ( 2.22222 ) homeradius ( 2.9 ) homeaxis ( 0 ) homecustom ( 0.707107 -0.353553 0.612372 0 0.866025 0.5 -0.707107 -0.353553 0.612372 ) adjustlimits ( 3 ) fov (90) vieworthogrid -d on -o 0 0 0 -s 0.2 0.2 -r 5 5 -R 1 Build.panetab1.world.front1 viewuvgrid -r on -s 0.1 0.1 -P off -S 64 64 -O 0 0 -C on -t on Build.panetab1.world.front1 viewagentopts -L on -b 0 -d 1 -l 0 -m 4 -p 1000 -w 1 -B 1 Build.panetab1.world.front1 viewonionskin -e on -a 4 -b 4 -i 6 -o 0.5 -A 1 1 1 -B 1 1 1 Build.panetab1.world.front1 viewposteffects -D off -B off -t "" -f off -V off -S on -a 1 -b 5 -F 1 -g 1 -c 1 1 1 -C 1 1 1 -d 1e+06 -h 0 -H 100 10 -i 1 -I 1 -l 1 -n "" -o 1 -O 1 -r 0 1000 -R 1 200 -s 1 1 -u 0 -U 100 10 -v 0 Build.panetab1.world.front1 viewposteffects -e off -E 10 -T 0.95 -L 1 Build.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 -w off -s shade_wire -F off -l on -L on -G off -B none -d uv -r unique scene Build.panetab1.world.right1 viewdispset -t off scene Build.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 -w off -s shade_wire -F off -l on -L on -G off -B none -d uv -r scene selectscene Build.panetab1.world.right1 viewdispset -t off selectscene Build.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 -w off -s shade_wire -F off -l on -L off -G on -B none -d uv -r unique ghostscene Build.panetab1.world.right1 viewdispset -t off ghostscene Build.panetab1.world.right1 viewdispset -m off always -n on 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 on always -U off always -h off -P on -p off -f off -o off -w on -s shade_wire -F off -l on -L on -G off -B none -d uv -r unique display Build.panetab1.world.right1 viewdispset -t on display Build.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 -w off -s wire -F off -l on -L off -G off -B none -d uv -r unique current Build.panetab1.world.right1 viewdispset -t off current Build.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 -w off -s wire -F on -l on -L off -G on -B none -d uv -r unique template Build.panetab1.world.right1 viewdispset -t off template Build.panetab1.world.right1 viewdisplay -B dark -b off -d off -C 2 -e 3 -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 Build.panetab1.world.right1 viewdisplay -Q on -m on -v on Build.panetab1.world.right1 viewdisplay -W off 0 0 Build.panetab1.world.right1 viewdisplay -c on -l1 -K on -P points -p 8.03 Build.panetab1.world.right1 viewdispopts -a on -A 0.5 -b current -B 0 -c 1 -C 60 -d on -D 1 -g on -i on -n on -N 1000000 -o off -p 10 -P off -r off -R on -S 768 -l 128 -m 0.05 -M 1024 -s on -t 0.5 -u uv -w 0.1 -W 0.9 -x on -X off Build.panetab1.world.right1 viewdispopts -f off -k 0 -I 1 -O on -T MatCap/OilClay.pic -U uvgrid_grey.pic -v 1 Build.panetab1.world.right1 vieweffect -a 2 -A 4 -b on -B 1 -d on -D on off -e 0.8 -E -30 -30 -100 -f 1 -F 0 -g 2.2 -G 0 -h 1 -H on -i on -I 1 -j on -J 50 -K 2 -k 1 -l '' -m on -M 2048 -o off -O 3 -p off -P 3 -q 1 -Q 2 -r 2048 2048 -s 2 -t 100 -T 100 -u off -U off -v 256 256 256 -w 0.05 -W on -x 0.4 0.4 0.4 -X 0.4 0.4 0.4 -y 0.4 0.4 0.4 -Y 0.0025 0.0025 0.0025 -z 0.01 -Z 1 Build.panetab1.world.right1 viewinfotext -m off -s off -t on Build.panetab1.world.right1 viewlight -a on -d on -e on -h off -l on -n 8 -s on Build.panetab1.world.right1 viewbackground -b on -e on -q 1 -i off -m 0 0 -M 1 1 Build.panetab1.world.right1 viewroto -S file -F '' -C '' -a on -o 0 0 -s 1 1 -B 1 -e off persp Build.panetab1.world.right1 viewroto -S file -F '' -C '' -a on -o 0 0 -s 1 1 -B 1 -e off cam Build.panetab1.world.right1 viewroto -S file -F '' -C '' -a off -o 0 0 -s 1 1 -B 1 -e off top Build.panetab1.world.right1 viewroto -S file -F '' -C '' -a off -o 0 0 -s 1 1 -B 1 -e off front Build.panetab1.world.right1 viewroto -S file -F '' -C '' -a off -o 0 0 -s 1 1 -B 1 -e off right Build.panetab1.world.right1 viewroto -S file -F '' -C '' -a off -o 0 0 -s 1 1 -B 1 -e off bottom Build.panetab1.world.right1 viewroto -S file -F '' -C '' -a off -o 0 0 -s 1 1 -B 1 -e off back Build.panetab1.world.right1 viewroto -S file -F '' -C '' -a off -o 0 0 -s 1 1 -B 1 -e off left Build.panetab1.world.right1 viewroto -S file -F '$HH/pic/uvgrid_grey.pic' -C '' -a on -o 0 0 -s 1 1 -B 0.2 -e off uv Build.panetab1.world.right1 viewroto -S file -F '' -C '' -a on -o 0 0 -s 1 1 -B 1 -e off image Build.panetab1.world.right1 viewforeground -d on -f on -D Pz -s 0 Build.panetab1.world.right1 viewtransform Build.panetab1.world.right1 version ( 3 ) flag ( Fox ) orthowidth ( 2.22222 ) focal ( 50 ) aperture ( 50 ) window ( 0 1 0 1 ) winroll ( 0 ) clear ( 1 ) nearfar ( 0.00290032 29003.2 ) aspect ( 1.33333 ) pixelaspect ( 1 ) txyz ( 0 0 3.22222 ) pxyz ( 0 0 0 ) rotation ( 6.12323e-17 0 1 0 1 0 -1 0 6.12323e-17 ) homedistance ( 3.22222 ) homeadjboxwidth ( 2.22222 ) homeorthowidth ( 2.22222 ) homeradius ( 2.9 ) homeaxis ( 0 ) homecustom ( 0.707107 -0.353553 0.612372 0 0.866025 0.5 -0.707107 -0.353553 0.612372 ) adjustlimits ( 3 ) fov (90) vieworthogrid -d on -o 0 0 0 -s 0.2 0.2 -r 5 5 -R 1 Build.panetab1.world.right1 viewuvgrid -r on -s 0.1 0.1 -P off -S 64 64 -O 0 0 -C on -t on Build.panetab1.world.right1 viewagentopts -L on -b 0 -d 1 -l 0 -m 4 -p 1000 -w 1 -B 1 Build.panetab1.world.right1 viewonionskin -e on -a 4 -b 4 -i 6 -o 0.5 -A 1 1 1 -B 1 1 1 Build.panetab1.world.right1 viewposteffects -D off -B off -t "" -f off -V off -S on -a 1 -b 5 -F 1 -g 1 -c 1 1 1 -C 1 1 1 -d 1e+06 -h 0 -H 100 10 -i 1 -I 1 -l 1 -n "" -o 1 -O 1 -r 0 1000 -R 1 200 -s 1 1 -u 0 -U 100 10 -v 0 Build.panetab1.world.right1 viewposteffects -e off -E 10 -T 0.95 -L 1 Build.panetab1.world.right1 viewsnapshotoption -s off -h off -a 1 -v '*' -m 0 Build.panetab1.world cplane -o 0 0 0 -n 4.37114e-08 1 -4.37114e-08 -x 1.91069e-15 4.37114e-08 1 -l n -s 0.1 0.1 -c 40 40 -r 10 10 -d off Build.panetab1.world glcache -t 2252 -v 9011 panepath -d Build -f -p panetab14 /obj/geo1/Convert_Rot panepath -d Build -f -p panetab2 /obj/geo1/Convert_Rot panepath -d Build -f -p panetab3 /obj/geo1/Convert_Rot panepath -d Build -f -p panetab11 /obj/geo1/Convert_Rot panepath -d Build -f -p panetab5 /obj/geo1/Convert_Rot panepath -d Build -f -p panetab6 /obj/geo1/Convert_Rot panepath -d Build -f -p panetab12 /obj/ panepath -d Build -f -p panetab7 /obj/geo1/Convert_Rot panepath -d Build -f -p panetab8 /obj/ panepath -d Build -f -p panetab9 /obj/geo1/Convert_Rot panepath -d Build -f -p panetab10 /obj/ panepath -d Build -f -p panetab15 /obj/geo1/Convert_Rot desk set Build radial menu set main 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 -D -A -g 1 -l "" -p -s -v -i -r -c -f compproject -r 1920 1080 -a 1 -d fp16 -p 0 1 -P full -f 0 -F 0 -l on texcache -a off -r 2147483647 2147483647 -m 10000 -M 32678 shopvisible +I3D +VMantra +RIB HouLC1033600baa0620f0e080bf442759.takesHoudiniTakeFile 1.0 take name Main kids 0 e HouLC1033600ba50620f0e0806cd4f6d0.stylesNSJb{}HouLC1033600bbd0620f0e0803504820d.contextoptions[ ] HouLC1033600ba80620f0e08024f702c4.cwdopcf / takeset Main HouLC1033600bb60620f0e080f96ba020LIMITED_COMMERCIAL_FILE!!!