0707070000010000000006660000000000000000010000001155527366000000700000000237.start fplayback -i on -r off -f 1 -e on -h on -t on -a on -k on -s 1
tcur 0
fps 24
tset 0 10
frange 1 240
unitlength 1
unitmass 1
prompt '`strcat(oppwf(), " -> ")`'
0707070000010000000006660000000000000000010000001155527366000001300000001070.variables set -g ACTIVETAKE = 'Main'
set -g E = '2.7182818284590452354'
set -g EYE = 'stereo'
set -g HIP = '/work/training_education_docs/Learn/dop/rbd/fracture_examples'
set -g HIPNAME = 'simple_fracture_from_prebuilt_groups.hip'
set -g JOB = '/Users/jeff_wagner'
set -g PI = '3.1415926535897932384'
set -g POSE = '/Users/jeff_wagner/Library/Preferences/houdini/11.0/poselib'
set -g _HIP_SAVEPLATFORM = 'darwin-x86_64-gcc4.2-MacOSX10.6'
set -g _HIP_SAVETIME = 'Mon Apr 25 09:31:28 2011'
set -g _HIP_SAVEVERSION = '11.0.658'
set -g _HIP_SHELFTOOLCOUNT = '3'
set -g status = '0'
0707070000010000000006660000000000000000010000001155527366000001100000000267.aliases 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'
0707070000010000000006660000000000000000010000001155527366000001400000000021.takeconfig takename -g take
0707070000010000000006660000000000000000010000001155527366000001500000000000.hou.session 0707070000010000000006660000000000000000010000001155527366000001000001015634.defotl INDX       !HIP Internal Operator Definitions   )   INDEX_SECTION      Mw   Dop/null    sMw   
Dop/objpos    hMw   Dop/linktosourceobject  .^  Mw   Dop/voronoifracturesolver  :<  zMw   Dop/rbdfracturedobject    ;GMw   Dop/groundplane :  (JMw   Dop/rigidbodysolver cG  ^Mw   Sop/voronoifracture  Mw   Sop/voronoifracturepoints Ǹ  CvMw   Sop/assemble .  Mw   	Sop/color   /Mw   	Sop/clean .  mMw   Vop/vectofloat M  Mw   	Vop/clamp T  
Mw   
Vop/negate ^  Mw   Vop/vecgetcompon c<  'Mw   Vop/voronoise jc  VMw   
Vop/random v  Mw   Vop/volumesample   Mw   Vop/addgroup   3Mw   Vop/complement "  KMw   Vop/dot m  	9Mw   Vop/neighbour   Mw   Vop/fit   pMw   Vop/importattrib   Mw   Vop/turbnoise   Mw   Vop/bias =  Mw   Vop/inttofloat   Mw   Vop/neighbourcount Ј  iMw   Vop/mulconst   Mw   
Vop/twoway ٕ  Mw   
Vop/smooth   Mw   	Vop/cross   Mw   Vop/addattrib   mMw   Vop/pciterate (  fMw   
Vop/length   FMw   
Vop/pcopen   DMw   Vop/pcimport   Mw   Vop/degtorad 	  Mw   Vop/floattovec   Mw   (      null   Null   oplib:/Dop/null?Dop/null   DOP_null           Dop                       M[i         objpos   OBJ Position   oplib:/Dop/objpos?Dop/objpos   
DOP_objpos           Dop                       M[i         linktosourceobject   Link To Source Object   4oplib:/Dop/linktosourceobject?Dop/linktosourceobject   DOP_linktosourceobject           Dop                       M[i         voronoifracturesolver   Voronoi Fracture Solver   :oplib:/Dop/voronoifracturesolver?Dop/voronoifracturesolver   
DOP_subnet           Dop                       M[i         rbdfracturedobject   RBD Fractured Object   4oplib:/Dop/rbdfracturedobject?Dop/rbdfracturedobject   DOP_rbdfracturedobject           Dop                        M[i         groundplane   Ground Plane   &oplib:/Dop/groundplane?Dop/groundplane   DOP_groundplane           Dop               doptype(object)        M[h        rigidbodysolver   Rigid Body Solver   .oplib:/Dop/rigidbodysolver?Dop/rigidbodysolver   DOP_rbdsolver           Dop                       M[h        voronoifracture   Voronoi Fracture   .oplib:/Sop/voronoifracture?Sop/voronoifracture   
SOP_subnet           Sop                      M[h        voronoifracturepoints   Voronoi Fracture Points   :oplib:/Sop/voronoifracturepoints?Sop/voronoifracturepoints   
SOP_subnet           Sop               guide=./IMPACT_METABALLS       M[h        assemble   Assemble    oplib:/Sop/assemble?Sop/assemble   SOP_assemble           Sop                      M[h        color   Color   oplib:/Sop/color?Sop/color   	SOP_color           Sop                      M[h        clean   Clean   oplib:/Sop/clean?Sop/clean   	SOP_clean           Sop   subnet   SUBsop              M[h        
vectofloat   Vector To Float   $oplib:/Vop/vectofloat?Vop/vectofloat   VOP_vectofloat           Vop   vop   VOPall       *       M[h         clamp   Clamp   oplib:/Vop/clamp?Vop/clamp   	VOP_clamp           Vop   vop   VOPall       *       M[h         negate   Negate   oplib:/Vop/negate?Vop/negate   
VOP_negate           Vop   vop   VOPall       *       M[h         vecgetcompon   Get Vector Component   (oplib:/Vop/vecgetcompon?Vop/vecgetcompon   VOP_vecgetcompon           Vop   vop   VOPall       *       M[h         	voronoise   Voronoi Noise   "oplib:/Vop/voronoise?Vop/voronoise   VOP_voronoise           Vop   vop   VOPall       *       M[h         random   Random   oplib:/Vop/random?Vop/random   
VOP_random           Vop   vop   VOPall       *       M[h         volumesample   Volume Sample   (oplib:/Vop/volumesample?Vop/volumesample   VOP_volumesample           Vop   vop   VOPall       sop pop       M[h         addgroup   Add Point To Group    oplib:/Vop/addgroup?Vop/addgroup   VOP_addgroup           Vop   vop   VOPall       sop pop       M[h         
complement   
Complement   $oplib:/Vop/complement?Vop/complement   VOP_complement           Vop   vop   VOPall       *       M[h         dot   Dot Product   oplib:/Vop/dot?Vop/dot   VOP_dot           Vop   vop   VOPall       *       M[h         	neighbour   	Neighbour   "oplib:/Vop/neighbour?Vop/neighbour   VOP_neighbour           Vop   vop   VOPall       sop pop       M[h         fit   	Fit Range   oplib:/Vop/fit?Vop/fit   VOP_fit           Vop   vop   VOPall       *       M[h         importattrib   Import Attribute   (oplib:/Vop/importattrib?Vop/importattrib   VOP_importattrib           Vop   vop   VOPall       sop pop       M[h         	turbnoise   Turbulent Noise   "oplib:/Vop/turbnoise?Vop/turbnoise   VOP_turbnoise           Vop   vop   VOPall               M[h         bias   Bias   oplib:/Vop/bias?Vop/bias   VOP_bias           Vop   vop   VOPall               M[h         
inttofloat   Integer To Float   $oplib:/Vop/inttofloat?Vop/inttofloat   VOP_inttofloat           Vop   vop   VOPall               M[h         neighbourcount   Neighbour Count   ,oplib:/Vop/neighbourcount?Vop/neighbourcount   VOP_neighbourcount           Vop   vop   VOPall       sop pop       M[h         mulconst   Multiply Constant    oplib:/Vop/mulconst?Vop/mulconst   VOP_mulconst           Vop   vop   VOPall       *       M[h         twoway   Two Way Switch   oplib:/Vop/twoway?Vop/twoway   
VOP_twoway           Vop   vop   VOPall       *       M[h         smooth   Smooth   oplib:/Vop/smooth?Vop/smooth   
VOP_smooth           Vop   vop   VOPall       *       M[h         cross   Cross Product   oplib:/Vop/cross?Vop/cross   	VOP_cross           Vop   vop   VOPall       *       M[h         	addattrib   Add Attribute   "oplib:/Vop/addattrib?Vop/addattrib   VOP_addattrib           Vop   vop   VOPall       sop pop       M[h         	pciterate   Point Cloud Iterate   "oplib:/Vop/pciterate?Vop/pciterate   VOP_pciterate           Vop   vop   VOPall               M[h         length   Length   oplib:/Vop/length?Vop/length   
VOP_length           Vop   vop   VOPall       *       M[h         pcopen   Point Cloud Open   oplib:/Vop/pcopen?Vop/pcopen   
VOP_pcopen           Vop   vop   VOPall               	M[h         pcimport   Point Cloud Import    oplib:/Vop/pcimport?Vop/pcimport   VOP_pcimport           Vop   vop   VOPall               M[h         degtorad   Degrees To Radians    oplib:/Vop/degtorad?Vop/degtorad   VOP_degtorad           Vop   vop   VOPall       *       M[h         
floattovec   Float To Vector   $oplib:/Vop/floattovec?Vop/floattovec   VOP_floattovec           Vop   vop   VOPall       *       M[h   INDX              DialogScript       F   CreateScript     &F   TypePropertiesOptions      F   Help      F   Contents.gz    F   ExtraFileOptions     F# 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"

}
# Automatically generated script: Wednesday September 05, 11:45
\set noalias = 1
#
#  Creation script for null operator
#

if ( "$arg1" == "" ) then
    echo This script is intended as a creation script
    exit
endif

# Node $arg1 (Dop/null)
opspareds "" $arg1
opexprlanguage -s hscript $arg1
ParmsFromVfl := 1;
PrefixDroppedParmName := 1;
UseDSParms := 1;
ForbidOutsideParms := 1;
LockContents := 1;
CheckExternal := 1;
GzipContents := 1;
MakeDefault := 1;
PrefixDroppedParmLabel := 1;
UnlockOnCreate := 0;
      U[o0#ͯu`PbR4$4E&q.ڑT+~c]6psM~<#cx+(LBxYjWs@rNFg3dIMV1Dq؝L.L4Ե@dtdZ;`2dQ%ą;ɰeéanRHiUj;Utojļ@X DΔC8ݾVpIs'jb95MF"v3`	MkPBb(B&'ua`5T;ye3f='I:3ɁqH8a!:Su	f)NEҒ}ptLˤnbp/mJWa-#>F,]_Ntq=Lg_tovїGk,*١{#ٮGw_Z#}<a$H=cbo.8%3g+*f^Qn
)4vk5l[-7 kV4]B+[eb&DtZ*h؏cŔCz]8_Bga[$NztJd`F	a(7ˇ@T;U'>92>`~x1b:?::~R2      INDX              DialogScript      FA   CreateScript    KS   TypePropertiesOptions     FA   Contents.gz    KS   Help      FA   	OnCreated     OECe   ExtraFileOptions  %   nFA# Dialog script for objpos automatically generated 07/30/07 05:15:45

{
    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	{ "oprelative" "." }
	parmtag	{ "opfilter" "!!OBJ!!" }
	parmtag	{ "autoscope" "0000" }
    }
    parm {
	name	"undogeoxform"
	label	"Compensate for Geometry Transform"
	type	toggle
	default	{ "1" }
	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" }
    }
}
# Automatically generated script: Wednesday May 19, 17:09 2010
\set noalias = 1
#
#  Creation script for objpos operator
#

if ( "$arg1" == "" ) then
    echo This script is intended as a creation script
    exit
endif

# Node $arg1 (Dop/objpos)
opexprlanguage -s hscript $arg1
ParmsFromVfl := 1;
PrefixDroppedParmName := 0;
UseDSParms := 1;
ForbidOutsideParms := 1;
LockContents := 1;
CheckExternal := 1;
GzipContents := 1;
MakeDefault := 1;
PrefixDroppedParmLabel := 0;
UnlockOnCreate := 0;
      Zo8kWQ<>TW{lW>hM@!97v@mT3J[+?fW?A/!V7HZUxDas1WVr#PkKyb9(H4}bz:Zk=$
}6PG Ёf	9^_Db-("6G B6@l8DZN\T].@qss<X8u+m|Sf@5=Lar3Na[;~04s*Aj^õZ4 m9cѥmZfųK
#}Z-Pg6{o~:sU6Q4:X}jNnU+f@J FǓ7'_zmTc$Qb0QK9gyFiV%ش'z35[8'bA+:|?Ӽ&WB_59DgE׺g`}Clښq]$>0'xazJ%C0M|ZwS7^Q{Cs!W73d9cCR_VMʔ(U%MA黩S!Աһ]iD+(~
oV!]D+yj~;H)؈~7~'l n1W 0 "!4눲ِ2'ЉS6Qy
1i4+"qO;ҨW+)\+=	FPg't('T2\.:¥=:RKkXvI+94kX<|mN2*3CΌzŬTB/aǧOҁ_VP<D=%>^A߸7I|E0Ԋ|VF|.,Jeҕy\Ry-͆Rl~{ I͏ds5hA2#L{*eURy5tTՂ$b p\<O DH^d<</%~OK	))Rby7:EOµd[p˺3?lg r$3C\|0XJw5ok]b[s[s[s `5\6Љ)5s:+45Mϛ^*Zwx9N.\B3whQ{V!|XRDLĝ.)2>2À~C̍8WÒB|GO)|JqSP;mw|_~GD6}'Se~>t3ȮS6_}kS_~Yo=_ ~3K@K$3t&]UBVTM5,^W^&MyGk褃.3HQkJXw]CAއ7b湘{G\{6WA]Q;WrZW72A!W(=x|[JO|h)!4/ *ָWGIR"\ՁP<aV|O9Tcy*ĕ>|a'OqDl)#2+#4.s%V%Wօ*qGg`*-%C::njb.  chadd -t 0 0 $arg1 activation
chkey -t 0 -v 1 -F 'constant()' $arg1/activation
    OnCreated/IsExpr        OnCreated/IsPython        OnCreated/IsScript       OnCreated/Source     INDX              DialogScript      gFm+   CreateScript  g  AFm+   TypePropertiesOptions     Fm+   Help      Fm+   Contents.gz    Fm+   	OnCreated  
L   OECU   ExtraFileOptions  
   nFm+# Dialog script for linktosourceobject automatically generated 09/13/07 13:02:35

{
    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	{ "oprelative" "." }
	parmtag	{ "opfilter" "!!OBJ!!" }
    }
    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" }
    }
}
# Automatically generated script: Thursday September 13, 13:02
\set noalias = 1
#
#  Creation script for linktosourceobject operator
#

if ( "$arg1" == "" ) then
    echo This script is intended as a creation script
    exit
endif

# Node $arg1 (Dop/linktosourceobject)
opspareds "" $arg1
opexprlanguage -s hscript $arg1
ParmsFromVfl := 1;
PrefixDroppedParmName := 0;
UseDSParms := 1;
ForbidOutsideParms := 1;
LockContents := 1;
CheckExternal := 1;
GzipContents := 1;
MakeDefault := 1;
PrefixDroppedParmLabel := 0;
UnlockOnCreate := 0;
      WnF\&\% /VnUVqM6cf(3DqWyljV],ss>wO]~ O// |WoFrWPG^#Ovۇ|'KVr2'KNY*B}'Tx4Ѐ#yNDe\269ȱ=|3&
UEF :xzr`WEF$՛5(S8ZJӋTy-.)[R/tdpV,dDo wQISbfʊJ
yo
I$,KP9l|:N׻F{ #Lx>q:Ėo-Rҝޔ>G!~ЋOogmBTD\- ,36Pryl=c2cQdwa8&F`(ZDWb6z=FxCo~(w^]#>ryMtϡsgςo03/m;-\m\V񖖯3mnv_q0CE e$-щTuy'Z^|)rHI;{C^Ѝp8D-*upJ^	89lEuc{}#"
хŰ'pmJ^CNBl@ycX_WԀ5`r^8PrƠ-&OW19}	m%vĺtUFEߵ>Ha`$=wMMb=hm3Y@cc7ИI?ZZgKS~8;]Dk>\י-m?3b7bڈiR=uRݟ1@zO~  2965n4JsFQsU9@쟬C㸧ǲ6QXB-)_pG-rXVƣs涟W/iN-4Qit\/ɉ_  chadd -t 0 0 $arg1 activation
chkey -t 0 -v 1 -F 'constant()' $arg1/activation
    OnCreated/IsExpr        OnCreated/IsPython        OnCreated/IsScript       OnCreated/Source     INDX              DialogScript      L<f   CreateScript    3L<f   TypePropertiesOptions     L<f   Help  	    L<f   Tools.shelf  	  hL<f   Contents.gz    L<f   ExtraFileOptions  ğ   L<f# Dialog script for voronoifracturesolver automatically generated 07/13/10 11:21:10

{
    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"

    parm {
	name	"minpiecevol"
	label	"Minimum Piece Volume"
	type	float
	default	{ "1e-07" }
	range	{ 0 10 }
	export	none
    }
    parm {
	name	"clusterfusedist"
	label	"Cluster Fuse Tolerance"
	type	float
	default	{ "0.001" }
	range	{ 0 10 }
	export	none
    }
    parm {
	name	"stampcreation"
	label	"Stamp Interior Primitives With Creation Time"
	type	toggle
	default	{ "0" }
	range	{ 0 1 }
	export	none
    }
    parm {
	name	"feedback"
	label	"Allow Fracturing From Feedback"
	type	toggle
	default	{ "0" }
	range	{ 0! 10 }
	export	none
	parmtag	{ "autoscope" "0000000000000000" }
    }
    parm {
	name	"fractureignoresresting"
	label	"Fracturing Ignores Resting Objects"
	type	toggle
	default	{ "1" }
	range	{ 0 1 }
	export	none
    }
    parm {
	name	"seed"
	label	"Random Seed"
	type	integer
	default	{ "0" }
	range	{ 0 10 }
	export	none
    }
    parm {
	name	"converttopoly"
	label	"Convert To Poly"
	type	toggle
	nolabel
	joinnext
	default	{ "1" }
	range	{ 0 1 }
	export	none
    }
    parm {
	name	"converttopolylod"
	label	"Convert To Poly"
	type	float
	default	{ "1" }
	disablewhen	"{ converttopoly == 0 }"
	range	{ 0! 10 }
	export	none
    }
    parm {
	name	"group"
	label	"Group"
	type	string
	default	{ "*" }
	range	{ 0 1 }
	export	none
    }
    parm {
	name	"dataname"
	label	"Data Name"
	type	string
	default	{ "Solver" }
	range	{ 0 1 }
	export	none
	parmtag	{ "autoscope" "0000000000000000" }
    }
    parm {
	name	"uniquedataname"
	label	"Unique Data Name"
	type	toggle
	default	{ "on" }
	range	{ 0 1 }
	export	none
	parmtag	{ "autoscope" "0000000000000000" }
    }
}
# Automatically generated script: Tuesday July 13, 11:21 2010
\set noalias = 1
#
#  Creation script for voronoifracturesolver operator
#

if ( "$arg1" == "" ) then
    echo This script is intended as a creation script
    exit
endif

# Node $arg1 (Dop/voronoifracturesolver)
opexprlanguage -s hscript $arg1
ParmsFromVfl := 0;
PrefixDroppedParmName := 0;
UseDSParms := 1;
ForbidOutsideParms := 1;
LockContents := 1;
SaveSpareParms := 0;
CheckExternal := 1;
GzipContents := 1;
MakeDefault := 1;
PrefixDroppedParmLabel := 0;
UnlockOnCreate := 0;
<?xml version="1.0" encoding="UTF-8"?>
<shelfDocument>
  <!-- This file contains definitions of shelves, toolbars, and tools.
 It should not be hand-edited when it is being used by the application.
 Note, that two definitions of the same element are not allowed in
 a single file. -->

  <tool name="$HDA_TABLE_$HDA_NAME" label="$HDA_LABEL" icon="DOP_subnet">
    <toolMenuContext name="viewer">
      <contextNetType>DOP</contextNetType>
    </toolMenuContext>
    <toolMenuContext name="pop_viewer">
      <contextNetType>DOP</contextNetType>
    </toolMenuContext>
    <toolMenuContext name="network">
      <contextOpType>$HDA_TABLE/$HDA_NAME</contextOpType>
    </toolMenuContext>
    <toolSubmenu>Solvers</toolSubmenu>
    <script scriptType="python"><![CDATA[import doptoolutils

doptoolutils.genericTool(kwargs, '$HDA_NAME')]]></script>
  </tool>
</shelfDocument>
      [$I =]qgzfvfExE=G59YܼY3t~#U73$, VBb+@>@!Z|@B?"$<=Yfv̎;vαc??z=3Zk-Ӷ\\׷Ϟ?2nG2G'e`܍W`y?<Nt=?GI8F44<zHU_Pj%yu?-բviEl4GԢЏkWZEYը3/Y"ߒTl5G>`$T. KVUTהtQ#d48iMyp'V%$:F~}ԟgi
w7@e&(H-:Yha52u82iEY%[z&I³hl`䏣U;SFR	ΒhO<"̓PFfuE-֓bULYVd`76U=
1cib942BQg.$nV!P:9ͨtc*d5qӇ:7 =xS;|S4[-"CQez{V{H *HַNVVf|#UW4]"Z?	ioeVk_`zMYn~u FsC[7!3DjsV[gPv&ȋֿw	ZkpY7PQLeV/P%($ZBc4dj/b7`j' 7t/oshNt?li7VoD(N$Zׇ[R߽UNj&oMZB7cZ9iik~k"ΌZ`X=aa?t~/9jpַMζ[h.qu*zqO[GϞ<Hm(5Ƿբ}֯?2?F^G69n=(Ň|ǬZi;'9$ed|LSV̸`wGcG뻔~}aJp=CGfK>A~KGw@Y8fe:{ۭ"`
;ERa1 h@$Z 1>G,wi<xhA7X]\&ZU?]Mp1}A镕'p^u:w^^vO.WLQ[ؑ[?|	?VSd{J:Vi{"ILAX!b@;O'[RLBE]=m򡒍Ao[,Z}kd{'b=D{O7qY{CuAbStELn'lQ:R]*!O^P=AixNmAD2U#-x/#F"A[   ʻ'tD:@uѠ1KXP^^P,_N+\,n~	џ-b)	XǄ~57q{z@z4ŢDQIܑ	Z^F+!-&AJhZiDpOofS@ IUI-x~ty- F?	9Z
ߓA"ّHJ'YQx{Y%(RJB.`aC_$]4ijM(zq뇸h^^V& ԙBzMdA$_(<fUe}׶	JN+.y*v>/G>zy|rlͨfH̔2/-e7Yfiבsq:L&2ZE.&N	zNFXM15#ALBzϙ!aO2\~jw76TPE^G/֏ҠS鳞C*f~o`wa:wMec~`>2ܟL-84bdޑ=Oi]#{LGN*!Vq͂dH"<Snwe=8Wiw-0Sc1@<9jn/g;6auڴG
&N.v"=	N4imt:г$E?7hٷ<}79^0+<[~S'88^-OqzMukv,e~49₆M$i<;_b?|l$baB/	&rq?
a0xu2,_PtH2YA-Gg5X+ʉTkjU42%EqƋ)l\c*6D Xς!䠪v<LdZ XoY6pvp!0́#||`x
 ĒcI⢃lӝ>bS
R%4Jɍ6Jd#v61	Qm<ZCC:Bބqǖ֘$| %	1LZ>Ү=x5f'ZH?azᯢ@.W	ydJ(x&c`F92f>>
x+L-a zhލF4ϯ3jQ,wvjC(7TY#++R9HIePt7N)nq,gӳ.<AH*gI1:N@5?VeOɄ=˽AOXU`-mc$n;z 	y.폎Yiߕ"Lr\bZٱU$H<4"BGMK'1l]<!	_mKopHP!hB zx\ԩ%PwfHM.JB6LM32B8X?Vp4m lo:OA,3{cHmk
I4FDڳj6bY3WOMAi$p~7xO3B%7aY8uhA
#] Qzܶ`~9.4b^YMC3l-4 hr	GjRZyK^D1o܎ ;σ4Z~g\9#}4GSK4<hK(iktFN28mEvt=@ٻ?,ą(7܏)>m"ÓrjErN1'EvEESSf~<-q
E`1fac(zg2=7(g2>+#~oCig1Ξ1;?+%J0%@u)4:Y*5"h[y^2bv8NcBO3ڼ ]^ka/#R0P(QE#zm='~!Dh3 :u05n2,sO~dN,ۤ<z=2-x$x9/'aM^Yf!^qV	+Zap74|#C<0s1HbE܀cVsj$d>Z𥞉SިzFJJISzjP;0PF{gUzQ$[b(g|֢`k_Ys?cOhni W-@2u&ڰf|E97
iX;(;r̼Bq̊se\I(ӫn[e|Kqݵw|dxOO'O?{}k/؈䵿XFA|8cV|ܽm	Gؤr`oA6n34m7F3[Źz&@M0ABZq֢2~xg w, 1~	{.$mzs~}n8w3;AGp{tp>ٝ(L#޽	o }*}'=|4O|$(D5>4.
#sE0nþO/P5B(iC%Ӧm~CtBe'tGF&Atۀ&+_.e>yk(FR,i%:*lFKUнt:*Ua7	gs]B^,pDU|-|lg#d{X ĥŜqZ,n.^\ (iVX%p<\+I#d)Zl),EwŘq(lMBv4Է-WA{nRpQ00q(QDn!QK"A!L|=*L|$o!VSK2TZ	SmB">pY 85'87'Ir*dybV:Vs$X$^qe"qe$"1\]~
؊rsf%J-W(7'S;4rEV'7f,i)-i zW~ëI	z=+&'Q1g@,R`MC$Qٔ4_X;M	ny]ϋ8'h7AӷgDV'SĞl'<pɣ0M-ﵸǪbjF	[z01*F"5`:y"++}xgGzPfd( C!ZgmHJ$KHZS(<5Z@Jeƫ΅sK((,R/)
asƅ?>V7LBr:W+z͡^gn>4 	E|8tf`?3؎!wV;J:V6~'i޶7 e7ME!R3.QܞH^1dZKΤ"oȂhFS".00s
`Wv9?yIh mXE`fE?94̮wW-cڿb?>1Cnhv.6ht;А{ylSܖ{=ſS%CLK7qt1ÛDJ0 [ۍ92P7dxIύP(UmQ_<TșLwi8=9Ox
$\e!a7D+q\Чi@z^,`T~6MRoHWCl;/A@'8#p'<=y7	21$A?E{q_мPq{4$#&}U#Grc<r#|:*6li5*G,f9 1ޓ0=b2Sr,֑D:Hk (:yY|3>d۶4<Մ29i>S9#:b?E$Ki]19boX"C!vostY$fƂ|]tHH 	=+w@HPTb@L$OŤ򧊨tXЌ⣳Z?<ij@gS>b̐)L@q<8eAѪ/-4JK!_jI6MThT'
Y-
a	B-&ˁoZF@\uNY(n{n($\edV
:-<5cUz6SSꑼʩQކcSdZTW鮆bS#Őa>rF!yo63g
Xʡ5=ܱ~h7&wIA6}kT  N)`m/v޸oq 3s f:g70#[Wh'[_iO S۫z S9l慢Kx0Z]Sjf[tL;<TD̾
Y i|hXŜ|#`aw	l-;?s?/5g۪NEYR}x	4[6{ ha?_TyKJNhJ'{nG|u0l㶪0p+ȱVzzJ/a+M_6wL2%[!UaX qOD'had߼@`AK6n E:;GhJn!]̟-qD>2[j/noٴv
+(*"ZpЍc|P;:^1dNę!{$y"c_'P41xP6]$<6.U&.X[nf%g0naFn;(n+ R :iT8E)6"aGn @jiw^y B1I	`}e9Sv#("R'9k.BH$%pKuUGj?z?_^ֻnf߰\˓7*nlow?F6SɲrY˲sY.r:/!ewiKv2oӰԬYa+ya7j 7oF[2QG2`g-f2/efC?"T@wr%mQسw-[*(B:'#
5SIf<&C߷Oq eJ?r)BPb85˟S˄P52U)&^36g~jj1d~b~
\L
^1jIkTnԌijth{,ĚzC^JWɲ5J/D['-WՂj5Q#7CIXP̣g!U;15ߴ:mi
eEZ-8P+N;}
GgPX^8o~w.ҕx#>ί6	 4ELĒ2EVnNΨQR(W|P|0!b +{hpgrHL"ʦs49o2.@L;>-iO	gR+,dg\'d<$z?qJ y׏ #R{&TOO?k2ܧ[xr*Ik_+Pu
"Gedvu6ueqG]2<8	I|~W5Y8'HǏXjiw>l5Ӗ ˛lsFߖZ20O*C%YG	~S-ʏL߲lndeM$uCmE?@76\̰_,ܢ(O9!z?(L}lKSr=VF*Q9;A]Yg'>^+No3"e"d$ :X&(S vBKNV.^W|;emSg%TtEU9/˥u /ڥ\ae$Qa'{DT*RY:RXUU5B[UluFk"b#dPV&2i2i9j IIffU	(D)æNt<8E?۬&ύy/^hᡊ< 
ЬʔFHovf<|~Ss{g8')+)h*x
k	ȵ輕Uf$4H"'Q|<&ܩZ7(9G'iCF,!؈Fmb;r%ɞXӕM*O8ty-[Bg&@e	{-
bH"{^V*Yټ2_x
3d+L|lriQ|X;9*Fq+TP]lq[P␖cr(rŮqV 0BxX[dmztk<H8jP2ʐnY0\gt|َc&O1TB
fǘWI$PKBɄrnΖ@_;ha^Fqt$f&)70]쨙W)k-9 օeaC5U6{-	/pO<t'AJ1мQR_ኴҏOH #>Č,3"_Ďxٛ7B=.8`8fdA<V!]T9&s:-'>L!y-AR;$Ktj|SP>BT134y+g/b䆧stMv4q?L降!oog(V>M>NyޔZ
̍x51
M.6YF*RrWi2O[xuLA?SUu{^
6ySM݈ulx&_Npo)?=Q9EϢ+rl1KLQaI=7Vh?FNY2(Iy-5t})"9kQL>̞XBQ<bu QMK...U}!C?_%`c
;(D(Jb''rxp'@ S!i[rJ_ ^ʫadӷ+bZ&6c"}N*"#e4;(ŭ򖐿wmO2{OJNk}E4 I$
x$uҘr˰uAN}Dvbx*e
sG?+:إP_w%ђâs1Ya-y4vQhER[J/z	2$8K?מJi'n(UYgrQ$3X3B-H-U^@ޜ?-sqDw; 8o%EEE%KƛEEKŨ@,6"fFŅ*[Hhk(Ra<QWȦ3!9aѧnaBzU}f0ؖRރRy".2MfS=$WwritJJaY	dJ-xuri_R)G\><,X*ʹ*`N˙XyvZF'ZYwƘCxSVY⟡дȖ1:YT	ithfx\$39"Y13nYi8%"!_8Ұ;e2cKHitӸg+)*@	_Ks$u>g_iV09'Lޟ:O^3HNv*SWpvTL`
Ab!
z{"u\>P|aXi M&	"o@fקHi!5:(z>kmv--#A/z/Q$ݡ
	,$ڦ*uQ%:&q3E|EUڥ9`ԒDRc6}0^
a#ne˨nedm	B˂Ovi$ʹjTZ%1"SZPoѲ(HI>Zk+X	.YOkQ]TԢje%Uô(+Kr?pK`~(gIYI.66tI#3|"b|{-\<=¹yJ2C@+ojuXއ4F^)d]IL%,$d]`̽	ݮv?A6R5}X-n+d~[5o:j~?ئeڴhtӥ?FI4x˾kaX+1)e]"`H1-a0CBiǂ)d)s- Țb
,L)ǵH|qTZf7NWق%c5
/SXLbZMvcE/qj&ּ,V;]$-vd_4E꧐tGu41Fst[$C[J Z ֨EqtCyZo(`"AC',M7%+WYee "mE9ÐjDmh<60^S`0B_YkWlf?`i,\I"XjQEJYJCs	%fId"DĄvEXl9f16xc!Wm)@DD+s=X0f6\8GIǐm4!H=# t.RB{5æYծ\hZm>Mk*M+xLc(ĕ[?T:pՠ˔\v([8݂CgaQmFoPղ2ݐ<N7oҥV]{/gsZuu/!tً`Wn<@	Z|RZA׸rKh&J> e6r۟^g3.Zß\\ϙ6X
Gbd 5VQjRNaKOfOXÂ rHծH)x7P|Xϫ{ K8J^G'itYRrC#иyccz8<,\?7+¢+ľ),CՐJ74@nK<(m4P0`1''X%^`9&L$%"X(6/ttGhĻ-m=gl1/^G,AOI<9"|\yTohKhl~v^\C#ﾐc>!59@z&sf /d!TSV}Tꘉu~nL,ێS&:K~rM_}p[GAO!r49spFG1<oHIt'@*}TVxN'{
KK_(Bݰ!,hC$mCAk*;g]qӾvE|SianAD`+N }ou+iEeF/w[ֿ	ɵ/gg`TdAtS+S_5Ԑ%uǳM1RKʨ!?
O*ߌ QYPL~Al)j0{IzBd,0YYͣ2ڧLz< ~x*bSp*O'Sp"IvL5K453F@^B֓J§.$E$x:\֕J³ǒTZНdIvrUaPt.$*H@\l.ƼD)a4"4<E U "h
,1%J㿘Eßgk]7Z.@
q!P0
QT<1P61h R1G
Y4R(/
1xa<</,<q6bp;HЎ9-3 7ن%kԅU@,_aI(cv*YIJ+,Vup2V0ZXaH69Wl~쯙jV#*Mj6`)jᣫ|l5-7 ~KvNF1*it*)3>|du(Jqś)̰q%;jj-3ido̔-ZjJP`Vq*[M:xMk)3T_2vᥕHw[VI[.:}Qf`y%鸎Rs|e=3f)#!=}Jk"=Md0ҹ]kD>F:[v%Zzjb*B-NqKE3#j^m0ԫMzvueh3gi&Fcӄcy0rL^U@_
.I|uXMb<vpV3d#Z{_dSh!s.\lT,;Mb+=iMK]ROY]*׵fBaG+'Ks!IunzSݿÛ	Hڻ%?7ZqXu]-WaiO)ƅcJ!H86DWebAV^>g'ߥT"]w}SN*(.8*pL칺5%ܞs4 ce*5	|`e:FPZg
2]M\*`΍o,^7	)&D%]=:&Hq*ק+/Pjxn T[":83](?ҥ)APT_S%p0Δej3Ϊ+HVZm]P'F;\maU`'E?`&ڈ*ʰY)y>S2Z<.	ck=ukvܴf"XZ]P	Cd|#CìSg8PNhAv{ >}eN3tϘF/ԘPN$-~Q,hM_o[cuP$/G@95ó)֌~2Mؿ9p^&tBG_ĉ`x ,?r= mGUrT?Bh˥ߍC7]h ~㳗#B/>08.l9I?^77ѦgjoѲogyxzeFO^ً>zǣQ]trXIG-&>_Nt~ns2:1M"YLqVaD`G;\ͅg*|"ez@ood4$WeP3ss{աwaDYh:	<exܒn2WW1!٪(PG`.c&Mc,ɲ=Vx3_cG()ZV1 .~ra
?4?mD^oLe2]^h׉OS#}Qegc):Y3EIT/CduO&>>62Lq)hEmA"qTE-.e)<=E^%}.:^Ur,HF$K,o⫓y4Th$HˇƑj~;7<{?ea}G^y{yI2Cg^itPDS>KNNZ-Um?Kϱ6W@4|J	(Z2?t  6 \z  ^
5=r5bSv{wL"߫i. 0y;np8Fh[f+SU?($7	ß9z|=)40 TRl#^4sʒ{CI  
SßF V4Čmv^6p{O)Q:
6zI`Nb}sveKwM6DH"Q|w.jqM jS"c}&Ws1y$"ňI.|XYD<?:3ݳOgtK5Où@(+<WQ8<AD: |jތk'~dh 9_͒s:8GS:0ְ{#-mɛ`l&1>ƍ?%TͱbWW/,|]I5ox]Q
[\Q
C{uuYɫNHjA+erYYj!"^)db2b"]q/&B)&B{DNHK`憧k$la;U}dd7|k,h
LxlYw~e E_ĸ4rH';Izų8<~ًo֠ 5Am}ְ70{np6H۾u{kdVtz,l.$">GEǣ
\7mEXc-{5$&+qR-&EY,ͮIIKX@X}ϵ{Nprxxxv&߲yҖ,y=Ӄw0}64vlй@IWm]rx.n
75zÞcxa+z$~H0p5PlNtJF۟LjvuMkcm(8v7FD5'A
Ѝߩ,'ͮ#WK+KYaIS7}P(xmsq@dа`zh/Y :ZuXͮ#ngZ\[F6!赺Dܨda7dhA~LKYX:|h5h 5E(U3G.IA b@JA;ڀ Ny0gǙO\X?L!b4nS2qNmN1$zDɣ*h6l\S Q~E%EQ	QT ]\B8®P_)|V+Gf+y	Lj4QP}'#,Cwb]{FHkh^ؖhl҂,k},`ahoJq]gw"$bUaꘔHYV$he\䭃uAjLvvxu
F#ƣe.kXn:vJ'=oavm`>F'bfYz:i5B2iKN)O!};yGI}vXط*ۃZۺ@۷)LrTuT훸;b]Xtt6kz==5qq>¤TEE֧@9)?X cd72oGd,kYȒmz<%rR߇)h2 duBVcBpnKBM݉m zoDg!OfGֱ!*}[$r2U sd̵ }OH
?lev-Y6P4,qWrjI\XڹeZ@B).Rh{@>Ѱ2c[b8iI;cnz=&Lq;fݳ4	ӷ$&~в{\7o{5eyN
ßβ	Ɍ%ҼńDkDtklg2ړ9KmpWY>m]C 74h_qwųk$ڶqdZ$DFYK!ifoGlb]ыk}5¶V@Bؖ"j9E^fTmF[Jqhe(8 ak.8}ݛMtB0|tx]8 KD`35A=Η`1meߍڥjG+=v74YRSY_erЯoGkG愞 GlWV0!c;L;Vg |x8"BXX%,ieAm](m%YGc"A=Laxx
=I'm3;MwW}|Fh6N%k.WT=
0Si|Nc(wu:{x=jF/W:W]#
([WW>\}ʯK6ï95߲*B=F{dQOܞz~
uCO
Z=~\9zݧҪw}/Mmwwu/IH~ɣg$aHz}#'8;%rhӵWՠkwӷjvBm^wlcе@L¡]ÞSYik347ݼc8NsR:un7۾PeY{x
5rxzܵ>9\>\ƗPDs݉|dJB᭏w]P-kwP:9ihHNڣWɮnKLT`X >ħtӕ6Vn'bMPT)u2԰;胸^srs+4mC(=WȂR+(مr|07^17W
Tf#8^nRݬtNI);*UM!_}wh]5	쵸˰wnQB\u77Ca۠P<۳~6p;Py֧u'fq:`p:I;V{@.q[+ą^x
IN5
]\r&RiLa0=ImJ~$X\m@aXVu=g`P=Wwld=2k64vkp| ֆOF:n}X]?D'A$&Nnջ%< U45_\*#=Գj-`84&I`Ҹ>4ѡ$5ԭ<V:HNi4bj®s.5
՞JVF}KD le+Ua4kj5ǡ幪[;-JjHj:L9srZUrԋy? ̬p|211h0A YBSX,@`FA(	W4WEB6 ṥxĨ΍!;(jt}.1dBwAZ-ٗp`ϴ(,ϮDc>I0D\N_}uO-]%Jx<T>R>!!Pe'/~cT#;>)}4Wڹ*ER|fa=]:<T)ַ.<f~6m# Y۫;[s!\@t'ϫ5~	Bj:]9'>έ_H$rпYH쒰)b!k+j ZPl
OsjI8)6\y4.w*~kG"2J(L,HOa` gZ`!#]t}uL Cym/iW(dڶѨP[9k\5SU;¸u='ChW2NJ!v۱bJVOMbݮfs~we7Y{:ZwCG\EWz}BM]	 XE0IRUZZHx肺9t	2uM'UO'po^*6!p HKWQ)*ʩJ,OPRx?ՁaTUx`v ՙ+r>6 16*s)\c-C[y.ή!Y),,#wWZTqb"'i^W]箃sץ;w2;emGIp/:Og:(28ֵܾB٫yFS$"TzZx'8 USB, RDHu.]zw8R[ZCSowܴ q(C\8ѵ0BFXЇ;`Arչ?(6;D}yJQx}o|XqvӮaz/n];躰0IWN,lFtM\vz~Ǝزi~`װU\{ ,ی,r8'6$UȱaRB!T~:irÌuo~xv֠{~{3f;va!^(sILdFtA%k"y*x	2$XvM[8&xC`Gz8&y`<+ !~&
4ylX mͷ&JXEĀEĢĀEĀEĀE$ĀEDĀEdĀE+rtrtP]D9LXD9LXD9LXD9LXD9LXD9LXD9L(G(G(G7q(G(G(G(G(G(G"eb"eb"eb"ebBᦀr"eb"eb"eb"eb"ebѯrtrtrtrtrtP0.rtrtrtrtX/]&,]&,]&,]&,]f}/P)liU[ rV%ڰQo:5=U)!ȻofٷS%a9T+[hΒ_-ٵy1mJqqiM]lڃr*2ꗼ7^~тOZuK؆AߪRgMW	yӏ9ʧ[ʧZ	<;n/H򡶖xnOgjE޽h!-"Ulyh <;(<Av:D//Lxj N\#(ͯrJQ3_Q7DL$\~_Ϭvonv{GdW{%Qaj/}nݪUomUmVnױ]}޾SS#@|!ǁ *LQQ 	80Hz]:X=xĺF0K݂x g#c.QNs/gT`uQ-e[/	/7/*%7E^F"MQRڑ6tjl5a3@|<NF3h}.C<zYԫSܦ1{(GTH(p2-`d[E!?vy,X.Ӭb/.F{ǻUۖfʺ+.Ӵog:[\5qAw}˺/)f2;+/ҿf(hrC><	tWYRzS% 4b-%)uf[0`'=zQ➬haN65! 9P`h]6F*k̏ `n5tv\l^vh"a߼.uq;TCŋF-'vT8\
yU:<:%+q\bXG.ҥbͭgj㎅ALo%LULL};2=2~ ݉hV1v@D{!z?Mu`*"b jS](=%ODv"AD"_ي//m#B Hl2;c<
}d'U_p|#x[
O`I}>'VR2_{}Pl`ӿl!@{nX|lϼYن^;.[rvkh7=![vݳ;nwؿ6owd+C$L۹w.yyy?JAn;g^RYRnPWa7!,mI*hrc&Q $l1L/QmAz[]@%
;p#owW16~0O,?!qaR2%mK%d̝\n!2Mab^z}7QхR{{R{[lYH[QԶ5!hUr-ųEr35SJgE_A[lQv!zApxa=0"y|r8m85/S`1qh`]VD0RbS%`Sݘlc-v!yLVVq,ta՘l]1Jx"V_la绣zawnvكx;c;Pq)OygdmOۭr	EX晄O|oXX}纄͆ɒa(4}3'n׉,O}Vsg*`э,uۿٵnaec\/.j{6Ƿ;)Qs(ؤ1ѫ+%oz.H2;μP#[nn^ћ}RS[݁YZXB .kxM֜͊dmt=SD]kDEPWݚyjB^ܖՏSAَm{} ͊05E3#E#dSML2I2fZ bDwUvıwlwj^(-uv59[]ZEVD[]RK[{qڶ!<P9GW2Ru M/knk.[HQ^(r}\|X!1$;ˇ8K<Ʋ	k?bMҶvbүˣXd(	}嚈JbHw.,?_뾪ɨNj@dn\M\<3T/I@HfY>.Jd7P')u:vQ%֎\b_{oxtӍ7v@=iux/v8lcLRGͽQ7=o3\5o}(%oeXVw`KYglJvWܘNP{+P<:sU^Ȝu CkNd^Ulɓ&&ưjw#Q)JOCH8 A7,":
 ʎΖjNl0aB0]^~'O_a<zrt^2aHW^v.hfլYj[h`ȓxT8H	4&tz@җhUL;0~M,DK)bqU۽{!%쳗w_u?0n<ɭ*94H +TzN'CN}W~'~&oJBTMRN\_jPU[*W}=, `:V7Y2E|rAs6`'D'_9_9]E3 1=!=Vjxh̟L@p!RZmH:b9g迵3-o0uݰO{82._5Kݍ&F;V}:~}U:'JdtЅ	v6!mk`7\$/8I w9^kR5P 1܌=d?P>.?8@o1iGǒ bs'^5W%Tq̌њSlRq8Q_u`\pzW~}+VZuLD.-ʨKC2G _ID$pn%HeSɚ;	FT2@
"cnCϒp'oiw3[Rr,L
4P
5m"oq)"+dM%LMT@Sf[ /}l iQJр3( L86&h˓\~D*DyawCG*pH.kA&gPО\_qKzk.nЌͤM
Ey17<⥐ZWP/I*,ڕQ²eRF6p69xrK	cayipyȟoqOA\BwH	ڔw%uKю!s*Og=pN7"O㛵D:*j2c\S$}6"?7T t<MӤ\
Y[LǆPiC¡XJhqxcxJ(qK_pVP28CRŭ/b]PǕPg8/p)1c/)Zs4o-(X(]bdN,f!*,MY5R%Jlx8o\hGG	h8Qo]v;VEB!D=LX`(;/o!~q*:rZs@[hAߍĩU0Gu籐Գ%F(}kT@D6ud"-<8jcl:\4Ad`;="c!	cS%̮\`/
+slK|-`yæy	j
40lq,%|rc6,㽋#)jf|N/@"迹Jm'Ёqs4J%><j#WE^4-Ʃ	RcwY82BӋʹ4us(Lr%NbDčO85)QVz3u_![@cٓGk2X:fڨ&랉^h2>7t}W*]t*^D9dSyhuIR?L'̞&0'B;/BRt@8Ք2͝XU%Q^sS8`H֏e~	pxlYw~e{'=|˟w"F>~#N@xN?}#5(* LcQ9:ka"'\g}ɺu=g3,r?Ihrr)()DvS)%ɳ	iGT6M&|En	KQKv3V{E"yV]tGҶE-ft^;7]{O3Uɔ?Cbe}<3^K~R{o>vX.k:=Zk>Z%aKi͓-*QP(k6ݡ9>ozgễU_C=lIcD2UW5R?Q1 {<M3 ]) iw]4~<j}!JmrS8hs4Jm|F[2l|־9z{xR KZ[a}'TmUx%w5|-W*=F*^#|pðIW֓8Z̞3kL	?= @fTĔ6K[D<Ur{XQ`B1iS߮V:{K{)qiKxK{K+HM["8щ5#MvzAn*"wTTU$1=cEA\:K%֯t..5flJ-{flxnKiυ&nleTRB(Ut*IN ;dFxp()}W/܄Z	6Eg{ӺXڧu"TD"!T FĨ]QA:Q!p+I_ev#E{^]br\k'wCb_%P5'f[(ŃzՓrAA^j:Q9Ꝗr*U/E['?YVtz(5	OiLxb$oL3SEpJ	M$#A~ڱtC䧃Tm3Xv.?3 hO}F'˴\2o4'@1$@G @ uԕ^6s5,p:_s+Mj]d(xQb0BIJK=l]q Nĩ8u"Nt.B3DKӷ&OkS"Zyߵ\ٮ{.FF,HPb1*Q+y}J:NsR	}ԅ?͋C&,'k?VX2Pu+)}ٜcOez{ˠIXMi0qp$;8R8RH]ǓZ倛LbZgVsfS$kej"Fbj)y2Pd@efynYf
R#,wx)^*ɖX;b+&=Bq*,v,m5};eZF7MTԳ,rҩbW䯾Zvă`G<#6jKbI۞r^N CYk;4V߷ 2rΟdy:Ԁ{Q{E:zd.(]).Fz*]]xS,(D<OXrکʽcwM˻˴4NS;ᩝR`3Hcfv:FhM2Ł6}d~9FxĞ]Cܽ`C2BIF!#s UE~}z	#cg9ؠ: ~^љ,w={6xښB#,p,T9-,=L8с<iMrǢfeʴBA?BSe,U0,uP,>#WAP,>}}4iXy((%(F!"WB@Z_J
*IXN
&WJA%)&kJdj)$dz)pb_1kZOȒ	c6|z2X۳f0f׼:@;d`vA0jC.C2[zd:{v)Hf5|`*z'%35:A;p d&ù;^C*WziVw8z3ga#u\<XB6̅Wzg05!ɛU2{ZwA|;om}_4zǍR0Isszad:uD[`o쿈ƗW\_ײ+GPwTT`Ũ0eGji>DxkO"X]EײןDضZfɓ;f
NZ|=hmك6{^?_߫)Хhk]6.-5O	u=2Bݠ{&	Oy*zDiQGP0$,EzE!!!#;vq͞`r lK|56+(`ҽbl,_>4RI駫81/pb@87
C	R`F87.eb`]uznU%EK2=<r-"6Fh4XvRFJUH2n|}"RO6Q;M$(: ƼkCv5 eڌN'g'_v`<yZ@5ZC_r=%[g,q83^E5ꍓ`[{SojRKH3tr҉?9\7m,glRxtNCJd7w(:34Bhr,nN|c2>Aa`iB7K'#KĭUl088PH8(K(2BN{g/_un/oI9jtf ٮ, "an!|CFJ3:nuan7cGUO|Xc'k6 :uaGb\d)*t~Bܹ|/#,XM@frI<}TL7[~*l۶)Kt~	Exkq<A:2?I1 8$e6BiE!,>JE%K
= پ_ڶlZ@Fvz${]+_5/􆽡ӓCۭwc=}72D8\l53h*9XOA+Pv
M}\$va7F{LskO@yi<_ɓ@ʉ}X,iL}ct:^	 2y8Q:uhD,Ɍóy'%_	)b eS}o8cu,\e\zԾf۽*O<fW5&Ԅ`&½e݆g.IdTh&LW'?8ftN}zY&f%F#gCTX"v1To	V9QTVzNu+VV*r62LJQC4<RUTQeOQ>bEp5-&T%Ӗ|
aTa}$p?!Bf>AK=ݱJuw=}@u|cŃMg9{ٕn?҈ʑ{ŭ/@kP*[G`]-l9˄3ugH}Oڡ:%AOڴ
d.iƮ+ 	$:RdYz5ϷX**SHpn]JFA~;ZK g'؋Pğn5z]۳{{jDWn2,HqxZD<yMf`-'M͞HU	9J4/pnwMe諶h/5\-Cm2.LB G3sxS}l#%~6t|++-Nn!
VT^]3,/֬i+A#)oz/<FB(̀9)P+sR$D<-P>'i9)P_IZ|N
4sjD24*9EUXzPdq0=a(84YLO,'E"IDDYO%,E+`TbDT`z*Qdq0=(8JYLO%,Egz*Qdq0=(8JY`)GO%,ES"DT`z*QdZO%,ES"D
*qT`z*Qdq0=(8JYLO%,.DoEȈyGL?d>^ 8Hy=ǐ3[M9ˊW'ڬ YGzRDi3Q H*X<hQjfnWkG
6&_F-~])zl.lb e=@b'#% עiU픚f)oL xl_7?wݷ~v+mwa֖nm,j٤;f~:im'q2٣mHH9vg{D(2e2M pq_y\$]. ҋBpvjBp.η\pF<=$LY4G4Ɋ	s3,Fe7}"nDDy4޾֢qo*Sÿ9\޽u~wD/;"S?7yW;,]mw]hcL	}cwbI'6;*TjXHc21lzAToO,p|5L3&<5Ӎ'[O8&1Uv_=9Do\`&x}KjV"P=5 )\݉bX/[wXa_[|AoQ3lD$bTu!qɅdZ
2+|kĻg-ūnkn8/͗w>k%o3c~,r*|zfo(08G0ސo\ċ$\6VP|h*F'jS$W<ZNG<xV:r.+r6^&@1ϧw+ʌfALXCi+&&0e~Ub4..3SuM5z{?B%abx6,(]INc6-t|+|;|h?Qh=ZCУ5h5A@ݓ0}w`g|ϋ 5*>a1xomi0~ 5bm><L6A\akS4=	lZaz
sv2M[k`Vh/rQO*;ڐ6ڐ[p aD=+V(i݊\֔{@oh?9\7
iMS2˼aS	xI~35F	|6IjT#Z^u\h&+^6k!jƊ9J̫؈M{eշ^CoVzAx	0XcNES*&b	$mA#rp$Υ˪5~H%/D~'~ad(<nۚjM3	'YgwR[jc;bt	f2rɮRAJ_\(*^Yy!*'a4I@1Ls)9~@ɋoR-:f{W\P/2h¾O'$)ϧFd (1|e
CX@eRJ}Kd*FөpL6E8DTCvLƖ'UbVc0QmCq|`3S􍂥xv??ѕ+)*ܨhۍPV#ٓ|q?gxX&Kq qgff⦮by=&ELo"&:Xs`_APQB'RϞV<&?]VZAYn<n*Y}@J\Vo=mo'"nerS#mۖC]Fst'{hÖ.Aծ,R]1{"VWNhOkخkWn>כk$l nB?et}3T ??ULEBZ4.9i勐eZܚ]W# qI«UjOI]*ixɣOi8Csj15b\~ӔO./BLOhn05D~Sy90xwi0(@ux$HGtc_CB;o?·nS*zTph(28"%tz~uQ8ѦYIs׸.q*$ @;Q`W=)t:cz_<f3.)9G7hƋ8ID17$1p֪yJآ]LepoP"/?K9.EAp]Tձ=QZrblچV5zc^"x]zœOQs/*?duiŀd,^&*?SU9Э3V
[kFQpn7|>|Aܫݺ ,T&=1
ڠU JmmjH{HHAw97xA2c$7NCɯy8F1(~U x w@r+3=zǷ=b鶸Ѽ80;	;KR6oqwqwqd U"9ڋ5eM}?6|E,Z^Ĵ몛V?̃En ppOt}+8<ə:eᖞ#izi;k &܉Cޖd5+++bb;{S+$ؑCb8a4Y<
V=vUmO;՛Zc t[k/#'q[7yL$yMѼ=rLh#uysBK܉o~3@b.ff[A.͌66z=a{ VҊ@G#H|4=61hF|3mGqmĹxϛFYHLĪ嬘-tt,ي=t?7
,ƶنo[mcyFd,7rm;]&
3&7SծWh+̠l4o =6l,g	D1Ͱ	tmFԮ$v=}Ie4,$1N	vOV7sX[_2q<GJv	iVM(gw}u2;ev p_wӓ"EHB
AƴC"[첾
qQApW{40Cr2ڮe;$ OD@"މ*'F㮬Gd9[x1-tRl	k6v8MГ)찹l6Gŧ^MRhvhӺ*D{fB΋O~. T_OIpE6!+0Zf54 C8R2- K8R- G8Rr- O8R򅃪-ls5Vذ
]&6L&6L&6L&6L&6L &6L"&6L$&vXibXibjGb,4ab,4ab,4ab,4ab,4ab,4ab,41-N&N&NVdjc	c	c	c	c	c	k1p01p01p01pذaK,1p01p01p01p01p&N-7,;$jJ =yNi'17U#-h25%aSt}M؈6ōAz
?)l/
¶NfbqJښl1ZCNcCΦ942
jnߔ\`//?
tr5g_t@VR2EN|%|7./}yϹ0 {!8W !8 [.8!y'zP!1uuAf:[1enwE0t'/| Ƚdd޾Bq[GP7?'hO#z鿹_v;,
{* (B{SߛZu<M^A1(c)4E=Ҙt$f6gՓg9"RZTTW47k(3ͭ(s^A4&7`&RxKjS"XXn˛B	sވ"J&J?fq(sI9ŨB+e,T*־xM qyM7vܔC߲mP5@~ُW=N쭝FF 
Oh.kʕKOZECţia^;:%Ѣv::\q[I6~mx h>q315/aNNSTa;,ֻ`Y]]Vn<uE-ucm1սG)Hkى%q ݓ#߹0GORK?jݕ~,J̩X+c؍.7Rp)˰˥8GZ=+e@vu(b%ldfIN_-x-,{0u8&)Zڽ&|^5%ͪ61CTM'a9'05`54]=7zO^*SqR4b*Eay]t$wOG{)s sZn{79uY:g|AT@z=J\O[tbZ!l1@	e9-Mlwoi˶%n$?}-8o,X\|<jj՛lH\LW}ݲrU+@KNT-uZk/xЌ303ݝiJ%;fpVNVi\y~
ss* TJG";?k,:h.Β&yvYO[u+e3qjmel!T!WȜmǜN?"`0%hSq;X8!q1HgTҮڶ`,IWp:k,_b6bj=XCHΜJ1w4xVL3UݴA+Y==m_̏U4:^ۏngnut}f,fkg:-VHF߿:ȁm&:nˢZ:ƿ-83tCUeݞ932GBfhulPhcAk)0\*0T!ZB/E#5<́;N(`+U9jvGؑqlM<Mmwﲒ?Ϲ 3|}vȪ;}4jMժ䠯w^i<TEYI
i	:TAqZboޠTPL-F̀[y 79[_R|úЫWCPA`UuСB+vFX4JGZv˭)nX$;B>) mhJ1.vC8hj_S>H[ԨV;VP@q@z	
3Ł:a-9rpVHG{[1]K :"4 {TG:@˼FJf8q&mOnxq7aDri58nFҼ.+2:	oI	hyUIP3H.A*XCLKށA)hEc>@d.QekޕboF\1')vi6D	/$,!vubgpǲ=z!(3Qi'	nq{޻eKW%ӐdQ 5䨺o16\_n WQ$.#c$׃K4HL߈+;FZP@X<! 1?&5f$/HޮArmlV(U6ZN
QvX}"˨z8)nʙfO:Wh,_Le\uq=ίGWehxKW0䭌ؗ]ѫˠسPKF_Nm|Puu!^n~
E9`4IgUeNtS\P3Ka]7.uBעfFF-PD$!_uMr&yjðxIKA@bG34'%2jN߂`9^L'	LdtYu7	:qpR]bZj]>G.501Z{8Ѵ)]Ushfq}5@oRѮԠ4iZ^>
8&ObHL.^FWTewβ
"!O\630ɦMX> B%aj pS A/c@drLPyw	^npBZiF7_	No~`!`8\aGIj9hw$jPnp@Ӥ8J2Uz8&e@mp:v:<᤹r.ie"KjKd}X)\7t9ä?VVK)T\o`*g6',{ʓ$Y匓E
6
Ƿ$F7L2]R>-!?ƕBIjJgvdv_!Ru/wE"#='e
xi{z 8 $ټ?^8V\ԭjq#u4>[NU>Y`5&Rz&,HiKJ.ґAGtGN|w"F+XW8^]p&|.PƋ|1Z.8
䮎kO.M 3e)*?馀%xӁtJ Zs~.$DPb8녖͔t9hmSN*&1whR~B]IU1ƪh$ƠGWTF|*XJGl|x˅x=^OҠZ8Oyg[Qr=;,FL`a@	p_6{+\P'5t*A)Hi(Ӭ{'PzUNNchVߜx:{FWO<	;wrQ
755#8k`x/;BP' -ĆV@mx	 t?[QX&]aQ ([q{k	xSo_z\g
P|k4tA迦Q
Z܄o5V*71\DM :Y^ 6j6j\F$Å	7ɮAVaEg0_dy_DZnn>H99Uܜ-67׳@׌݈ZWpt:PP/?9|՛h0yxG	Y&N5"+YZju
@4
\EX4]lWXC'jZ=nrMk7AvMwxTu0%yZʮ;*|C$0<dhyeb@1,=`C,"uUP=)_~axRS q;#ǝgrӤImM-&փ8Sn4ޕ|4:nOKV]rФ95cW=uIH@ω,C.mD5o~Û/ϟby5vpVؒ@W{7T5UdRZc-
F,S:}n)n%ޔتkD]w@=Shh	euY&u9Jd|Uͦzyf4(܄;[G)V&T^X^vlNbi* ?=<J,#a'Y0T	u׮V3	enR:9ChoJ<(ij|46q('h8ND	1pD\8A<.D
	9-ش7pmH2۲e#K-nF
[-flnDEMtEMtEMtEMtEMu]qa8<Ɓ2s%~lM+?I¥e#/nF
_ܖn-)ql@m7x><$-r9%f_׈Rސ$%}WhwB+lV+߭v)+N]a#~X./F9 wjc.wD+lV+߭vHF, 7Xۨj"`Uc5vrLswFlçF+0u4?  dMRI0TR΅BвBQ8j } Q?GK^ooF
ìԜ<{%)92e52 d~aZyXtaOI`PDz<vLwLcbcbf,JQ^^h{˙W("#
e1I\i=96~sIEE`7ͮ_Ovg8i6qDH=UџFL%f;m,"@\Y.ڲG|MR)J H|^h& N/J֭d02T_K}S!TĄc0l3R	t/뫺+Y0JH(l]:c@Kk8fL9h!0N@%qŉ] ^.Qo_ݫ/^Ү_}O2'ϳQ[6{j&Ժo1
TZ8hr**jUI01ĈMl@Յ7
;)fVL)υ-I+8xR-R7ooᛗy?߾p'T}[ [<Pձ}Ç6O6I{;.00pE}=Vř,pP*6Z^iYT	jKm߳De1 )}@P<]S
PW5:N	&a2Wo:q6ڼ_@2yc/9˪D*,-˙<0<]?Y>ij;[UA0d=,(R!vk*>۲-Ih+s3-xUeqzyPcnMhŪC!vnu:=-YCFE-=1*O|B\5Lv췢їVqV^"-5Ok)Ǐ]Z]5yRID)Qß`Nh O͟
:gyjXN drU; r*)wղ疕_A4w:e{Q:}>\Gч+?_xqzo9lPZJ \LGIEJcۿĨX#T^wabU/ӃiÄ{~)og*(mNSj&yunє܆!S5ܥb8 [WY' a~WV	P' OOW2W J'>/'B3S42lT5-KQ֝swK6E>g$"؞ e\1犂+8"=u\#7.Y|#Zqu<A}'._Ƿ`tlR_ϵ{VyXZVq@$@GHHYgN'D=eiHO't,T JNkCq8`Ƌ	[ʩvZ'rLWtۺ^UA _ێQ=dGL|^YqwN}8v1vhhG!ׁ#(_*n5rz1->"7Gm{UlRu	X.AU+kފ\f1^Z.Z~<߻>HE.n3}kG:j$O&ih:pM8ÚT*qjSjO8E<[YANkeFRLSԍ}^0=dkoĳa +x-ǽʮ}@x
MtgY ;¹No[FCCDKYj$;;\/!HZ.=Š1MŴID	@"Of"dXs .oL ]*ں}Y4f:
 t~˛j3uy"07Z0U*y6huC2HP/_=Y{7Uks`.ܸUufŪUOZ8&ʘ2 te XhZB+rTV04XFB+rUͷ_Y8n5oYdvRj_8ԕgosMyExQe5o9ǜfџno"k<*RMTLUs,-q$*g4eQ1)Q?*220>!I)d\/~8fWڮ!F|\$MķW	4mR="rp-nˈQIq("Ğd06'@SzUzIАn60"|%@^
 $Dqw3A ]LyY_qS,a9ol<%y~\saA
aOU]ŗgOdr$IEK;kK[5Vt3,_?DϿ}Ou3m4g̡@ݶd_eʵCwV>8074
!DsPe"SIDMy%f7ձaMw$2KP /"15k4cƹv<ӳ$09n,6Q2	=&U$LkI$"&Tq( j/F@$4zTGΛ A&Z	Gb.O\>Rpd7"xh7z"Zk#5Dzg@[cqؘ]m[LIOz|-\3q"F70Nר2ξEk243v7Yt@S6%rčDN?OLSrUGjM*,r0I	ElY射c-5cih,T4D&x
O(YQ4#k
#^KU7!Kﾳݸ:f|P:zPYn:nRx[ǫ*C5j,bh2/OƬk7R+LT(RĉDDQ8"Hao|$'н%	{Ms	hߗEde#$f߳ߎƕqW6+!ԯ!1eSf庾o!R=BVA"iw--HU:g"GqqhC\'/zGy(/~yb2ng?<~!{9#f>px[8{gKHz,eyzoV<W|ͬ5Zѳ@N]T܆u؀-

Vحۍ<S8}+BCyw"и1vJnk'|ף$o#~'y^T,$	1NO)F#ikDMۇO2C*GJqי6FI0FVjIF\IL$iΒ;IJuU6:	#*]SJVȠ0EI(%	h|2i!:R6CS1vp'ucar8Zrѷ,"%TЖp@'WoƔ?--J$WNQ53S5uڿF,]5zxVFVPuԮ'>%c+KLbôkysV=V0I сVtkI|xfA<h8O8IC$_E.wuHn*?h\&EtWMC9]5ܞ+ zEUlPU\QeĖz+gMaPg|Ԛ@'wL_ӯ9p*P^RWzaCud9.17hxgr1Lc$Vv6ĆJ	ZIgTYVN	1l׶z0!q4hfaÓ0$1T]zFWb%A%O/ן~ ݕ:P¹J+i1 nK+ʏtLϑ|bRbx"Kp2$`]U2]J:YN#E/E*W#]+b2Gmmq+Zb\Wd$+#;T~s MA4rU;K+%?zYw9Ax+Gy8^)=U+_'ʩJF^S8ы߾{9"DڝV8ʓ́?ƿ*;}SigeIY9f-..)s,m%*j$_D:N"%w+N=OuǢL݉jk:kf~?$Gx'نo;9y廮=T]w:8p""q4iiw :eᖞ4<va?L+2> IbtAL1֡uq$ڿ}JI]ml!K ;I3N<GKRr-%=촹d"m%G[=VrVRu[ƳF8a-1r}l.1Md.q}u\bfZ\ڎa`[Ol%Ymj2me1okfn2Zx~7Û`(M}T2.]ᡅpZHx>$rCi%]NC(YBx[x!b\CV>$HҚ͛CO!Ơa6nM7H`H"|!7ED{?r%]3w5o޶՞4x6ej8<VnMpՐ,5<=*!)U.6r)ΰy>!0#($L+B`{5م&1.% \!J2E\ho6UkɉijC"'IU#),M}7zM9l{g Gj
چ&\4-*qm	A'٣)k`F[&p49`8ES%)D{U?T
[Nl?ɭGa7c.dQ$*`7/.bZΒ6VTIcs&!70a=×.F*P/]~]<ת&_",-F Sk])k9=V]_Kk|%}Ilղ|4T{+!BŝnMklWmV%OwYW*8gsM.e2kj6{,ݳ]_>[ )3n<)On<ܾ/:\I #l</~'x5۱@E,Sץ:DWZX{W\xG6! #'LAK&TGo(}>po8E~Gc3-OF8d9>]VU{L
[ty63vbxLmG(Bͺ.~k-@2RJ|qggzoA{ÒrZ롼%ulo:e=N<`I:	=?^f7tDyZXȼRG~#zl[K]T+K[[Au͆j1_ ]&tYLt,^ XMpw{EY_m_7xţ2+$*ƦsVYHoxM o4[Z[Y}vh%c{ka^9r3]2uPw8t߲o5uo,1,Ǿ\vr
Q. [#9*F鎣jri*4ؑS.Nܦltusէ?Nbwhr$Yt4L8XZNgjGvby6]&5~1/պ0/!ENF&4Ǖ_
>ǲ˿s/r?8DE%wIс8U]J&KW|92rLx=AwnVfr@b.!GhZqH!tq
Bk{RRkcXX:#נ3<{f7'$Oo6+I`/		:HYLñؑ
asΏ#dYݶTp\Tձ	gN\u]?(}e0쿻.,5[LVTZET_\0#c	ceRa8rok#=2/2޵]9`ZȎh+>k;Xhf&fj35tO#*Uc}>kZ,CoyuC26Y?bA?_ӘOf[վX^uJ)A޽ie&KGO**MPӶzuc3ΰH; tMS@G@-e!-v>fo{-.h@ Lr(s{r$\7{_||w놷9[k|}DE34w|Wr{wRT`54-fC	3Z1{zScMv]4sּ{I^\YkHH x8"\ԉ^8*oʧ쥢UcH  k\Kβ,"vK~Fֱ!x80P@D,Ӭ^eEڎ@%¯=s8Gs8.-ދLW WmSQuh0I55,H{3ςU@k?W@8fbr!ȓt X2kĜDE<`=S8])Ӊ/WncaVҭl<ƞsJŢ`CAA2sG_ECM*ǫsWt[bavM"u:;o M>jZi5n`((ML&dt[
4XNX݋Q%iw hVavU Mru`DcuܕCjP4={Ɋ%F3sS	e$5{+CtGQms-b5iM39 ,NG!V!QXx qFaoWh-4k}xjWw;1ٷX3c_
ESujk}ӶMW%TB4Ży 8bM1Y΁r!2x6v!>Qغ@omj.QW:lM`'nf&aM5t j,XC]uuD(Y~(uԈ'ӀWr V	^x^C?CDK䳩^0{cDyf[8wu٣$KLxh	#;Kuzi52ר(W=XM0fˢAa=0#WrWΠpM0(J:Z^AWVܒZ׾]To`To PopLZ{Eoi>*8&JKхҎ̦>㺡Xkz֐{devu&|r}>z5iwpECì{RMw{4UqXط2vc:n,|Oc*.kj)*֓mC<~`t{s>߂ .4+woR$tܭ}&C[!(LRITNͻdQ,rn;&gƣhx75wR$oխiW`7RS-M.'br6(s#۞:ڠ6(y/`y˽h*-MtP}/e,s\gC음QMRF`.Q]LRO Sz^raL=EX*;tY3o鰑&d>+>d2zx.0Y^ q]a`}2ƅ9X)S*~F=9}7<qgIWxջ<-*0^z4gks5^23[<:bJkr1i|}+u="XY
}h\ٱnS>'$^CPZ{\*J	7x?N5Iʬ	?*;éoi%l	܅d偍z+lg#'rT!0JI0J u=$'c P45jrUO3zjRJ^iTG/〜0!9:9Eed歰JbI#F:$ʿSTW6,9Kic--^-eU/B}qM +x=4Zp=j<C[mi ͸!|.$GԌSQu??/4 (ƻ"	!뜆"&jnBSdrr]ܦvDoR|A2\8<Y噪m[zdVC5C*jsC10JmcY}m%a\0qكm{ZF(@imR^]}ۆ3ҵeO|,@Ц0+feteT	4,ӯL£24Kti<w *[M'u,W?Q/vS"f=ʗK~/G~fe>b+o:e.7. W,9~zF |ʛo&i0yzK iy?j(lKc|i%wk;T}ʊ@W^Ш8rh[u^CIhzmFY6CC8G{rsY@rzCo:gU: SEp*9rѸk az%#0O;c&\Wyc`,I+ R%<qhk4izioa:k,Nz)aJYoJ
2+/$Ge.6 mq$Bh(((n)QtUnb~TcyΗLlښ*#TQHN"\dHmt3 נ 9tYy,DsF	vXNaAvQ8@hih:Ƌ!q'w2'm11<eF/5}T&I݃&Ѿ(߬2f	V80!2r/?9|՛0*
J֒OgA:9&W>no^_<~0x|q>y|ȬU4=Lj ps\  awÛxᘿwjNYz}&1^.`SRd*9Q{F	ـE8>mN)pm`:ʟc֬HA94uW`lZ$Xt0RUohd_]&2;3H6iiP@<_`g:^2F[	R|LQϏ=I/r2|X/N;$`q_yR {[/Jae5.΁.L;a_4+@h	NittLON'3'Pwh/эVJk|e岫#DirLR	!)c2phbPlYkiG}/+^     INDX              DialogScript      'K   CreateScript  '  0K/h   TypePropertiesOptions  (   K   Contents.gz  )  K/h   Help  :    K   ExtraFileOptions  :   K# Dialog script for rbdfracturedobject automatically generated 12/04/09 21:02:04

{
    name	rbdfracturedobject
    script	fractured_object
    label	"RBD Fractured Object"


    help {
	""
    }
    bindhandle rx xform "Transformer" rx ""
    bindhandle ry xform "Transformer" ry ""
    bindhandle rz xform "Transformer" rz ""
    bindhandle tx xform "Transformer" tx ""
    bindhandle ty xform "Transformer" ty ""
    bindhandle tz xform "Transformer" tz ""
    bindhandle tx velocity "Velocity" tx "invisible(1)"
    bindhandle ty velocity "Velocity" ty "invisible(1)"
    bindhandle tz velocity "Velocity" tz "invisible(1)"
    bindhandle velx velocity "Velocity" vx "invisible(1)"
    bindhandle vely velocity "Velocity" vy "invisible(1)"
    bindhandle velz velocity "Velocity" vz "invisible(1)"

    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 }
	export	none
	parmtag	{ "autoscope" "0000" }
    }
    parm {
	name	"createframe"
	label	"Creation Frame"
	type	float
	default	{ "1" }
	range	{ 1 100 }
	export	none
	parmtag	{ "autoscope" "0000" }
    }
    parm {
	name	"solvefirstframe"
	label	"Solve on Creation Frame"
	type	toggle
	default	{ "off" }
	range	{ 0 1 }
	export	none
	parmtag	{ "autoscope" "0000000000000000" }
    }
    parm {
	name	"soppath"
	label	"SOP Path"
	type	oppath
	default	{ "" }
	range	{ 0 1 }
	export	none
	parmtag	{ "oprelative" "." }
	parmtag	{ "opfilter" "!!SOP!!" }
	parmtag	{ "autoscope" "0000" }
    }
    parm {
	name	"groupmask"
	label	"Group Mask"
	type	string
	default	{ "*" }
	range	{ 0 1 }
	export	none
	parmtag	{ "autoscope" "0000" }
    }
    parm {
	name	"animategeo"
	label	"Use Deforming Geometry"
	type	toggle
	default	{ "0" }
	range	{ 0 1 }
	export	none
	parmtag	{ "autoscope" "0000" }
    }
    parm {
	name	"usetransform"
	label	"Use Object Transform"
	type	toggle
	default	{ "0" }
	range	{ 0 1 }
	export	none
	parmtag	{ "autoscope" "0000" }
    }
    parm {
	name	"active"
	label	"Create Active Objects"
	type	toggle
	default	{ "1" }
	range	{ 0 1 }
	export	none
	parmtag	{ "autoscope" "0000" }
    }
    parm {
	name	"display"
	label	"Display Geometry"
	type	toggle
	default	{ "1" }
	range	{ 0 1 }
	export	none
	parmtag	{ "autoscope" "0000000000000000" }
    }
    group {
	name	"std_switcher_0"
	label	"Initial State"

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

    group {
	name	"std_switcher_0_1"
	label	"Glue"

	parm {
	    name	"glueobject"
	    label	"Glue to Object"
	    type	string
	    default	{ "" }
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000" }
	}
	parm {
	    name	"gluethreshold"
	    label	"Glue Strength"
	    type	float
	    default	{ "-1" }
	    range	{ 0 10 }
	    export	none
	    parmtag	{ "autoscope" "0000" }
	}
	parm {
	    name	"glueimpulsehalflife"
	    label	"Glue Impulse HalfLife"
	    type	float
	    default	{ "0.1" }
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000" }
	}
    }

    group {
	name	"std_switcher_0_2"
	label	"Collisions"

	parm {
	    name	"usevolume"
	    label	"Use Volume Based Collision Detection"
	    type	toggle
	    default	{ "1" }
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000" }
	}
	group {
	    name	"std_switcher_3"
	    label	"Volume"

	    parm {
		name	"mode"
		label	"Mode"
		type	ordinal
		default	{ "0" }
		disablewhen	"{ usevolume == 0 }"
		menu	{
		    "rayintersect"	"Ray Intersect"
		    "metafield"	"Meta Balls"
		    "implicitbox"	"Implicit Box"
		    "implicitsphere"	"Implicit Sphere"
		    "implicitplane"	"Implicit Plane"
		}
		range	{ 0 10 }
		export	none
		parmtag	{ "autoscope" "0000" }
	    }
	    parm {
		name	"div"
		label	"Divisions"
		type	integer
		size	3
		default	{ "30" "30" "30" }
		disablewhen	"{ usevolume == 0 }"
		range	{ 2! 50 }
		export	none
		parmtag	{ "autoscope" "0000" }
	    }
	    parm {
		name	"laserscan"
		label	"Laser Scan"
		type	toggle
		default	{ "0" }
		disablewhen	"{ usevolume == 0 }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000" }
	    }
	    parm {
		name	"fixsigns"
		label	"Fix Signs"
		type	toggle
		default	{ "1" }
		disablewhen	"{ usevolume == 0 }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000" }
	    }
	    parm {
		name	"forcebounds"
		label	"Force Bounds"
		type	toggle
		default	{ "1" }
		disablewhen	"{ usevolume == 0 }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000" }
	    }
	    parm {
		name	"invert"
		label	"Invert Sign"
		type	toggle
		default	{ "0" }
		disablewhen	"{ usevolume == 0 }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000" }
	    }
	    parm {
		name	"sweepalpha"
		label	"Sign Sweep Threshold"
		type	float
		default	{ "2" }
		disablewhen	"{ usevolume == 0 }"
		range	{ 0! 10 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"sweepcount"
		label	"Max Sign Sweep Count"
		type	integer
		default	{ "3" }
		disablewhen	"{ usevolume == 0 }"
		range	{ 0! 10 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"offset"
		label	"Offset Surface"
		type	float
		default	{ "0" }
		range	{ 0 10 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"showguide"
		label	"Show Collision Guide Geometry"
		type	toggle
		default	{ "0" }
		disablewhen	"{ usevolume == 0 }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000" }
	    }
	    parm {
		name	"guidecolor"
		label	"Collision Guide Color"
		type	color
		size	3
		default	{ "1" "0" "0" }
		disablewhen	"{ showguide == 0 } { usevolume == 0 }"
		range	{ 0! 1! }
		export	none
		parmtag	{ "autoscope" "0000" }
	    }
	    parm {
		name	"volumefilemode"
		label	"File Mode"
		type	ordinal
		default	{ "3" }
		disablewhen	"{ usevolume == 0 }"
		menu	{
		    "auto"	"Automatic"
		    "read"	"Read Files"
		    "write"	"Write Files"
		    "none"	"No Operation"
		}
		range	{ 0 10 }
		export	none
		parmtag	{ "autoscope" "0000" }
	    }
	    parm {
		name	"volumefile"
		label	"File"
		type	file
		default	{ "" }
		disablewhen	"{ usevolume == 0 }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000" }
	    }
	}

	group {
	    name	"std_switcher_3_1"
	    label	"Surface"

	    parm {
		name	"surfreptype"
		label	"Surface Representation"
		type	ordinal
		default	{ "0" }
		menu	{
		    "0"	"Points"
		    "1"	"Edges"
		}
		range	{ 0 10 }
		export	none
		parmtag	{ "autoscope" "0000" }
	    }
	    parm {
		name	"polyconvert"
		label	"Convert To Poly"
		type	toggle
		default	{ "1" }
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000" }
	    }
	    parm {
		name	"triangulate"
		label	"Triangulate"
		type	toggle
		default	{ "0" }
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000" }
	    }
	    parm {
		name	"polylod"
		label	"LOD"
		type	float
		size	2
		default	{ "1" "1" }
		range	{ 0 10 }
		export	none
		parmtag	{ "autoscope" "0000" }
	    }
	    parm {
		name	"addbarycenter"
		label	"Add Barycenters"
		type	toggle
		default	{ "1" }
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000" }
	    }
	}

    }

    group {
	name	"std_switcher_0_3"
	label	"Physical"

	parm {
	    name	"computecom"
	    label	"Compute Center of Mass"
	    type	toggle
	    default	{ "on" }
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"p"
	    label	"Pivot"
	    type	vector
	    size	3
	    default	{ "0" "0" "0" }
	    range	{ -1 1 }
	    export	none
	    parmtag	{ "units" "m1" }
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"computemass"
	    label	"Compute Mass"
	    type	toggle
	    default	{ "1" }
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000" }
	}
	parm {
	    name	"density"
	    label	"Density"
	    type	float
	    default	{ "1000" }
	    disablewhen	"{ computemass == 0 }"
	    range	{ 0! 10 }
	    export	none
	    parmtag	{ "autoscope" "0000" }
	}
	parm {
	    name	"mass"
	    label	"Mass"
	    type	float
	    default	{ "1" }
	    disablewhen	"{ computemass == 1 }"
	    range	{ 0! 10 }
	    export	none
	    parmtag	{ "autoscope" "0000" }
	}
	parm {
	    name	"inertialtensorstiffness"
	    label	"Rotational Stiffness"
	    type	float
	    default	{ "1" }
	    range	{ 0 10 }
	    export	none
	    parmtag	{ "autoscope" "0000" }
	}
	parm {
	    name	"bounce"
	    label	"Bounce"
	    type	float
	    default	{ "0.5" }
	    range	{ 0! 1 }
	    export	none
	    parmtag	{ "autoscope" "0000" }
	}
	parm {
	    name	"friction"
	    label	"Friction"
	    type	float
	    default	{ "1" }
	    range	{ 0! 10 }
	    export	none
	    parmtag	{ "autoscope" "0000" }
	}
	parm {
	    name	"dynamicfriction"
	    label	"Dynamic Friction Scale"
	    type	float
	    default	{ "1" }
	    range	{ 0! 1 }
	    export	none
	    parmtag	{ "autoscope" "0000" }
	}
	parm {
	    name	"temperature"
	    label	"Temperature"
	    type	float
	    default	{ "0" }
	    range	{ 0 100 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
    }

}
# Automatically generated script: Wednesday March 17, 15:37 2010
\set noalias = 1
#
#  Creation script for rbdfracturedobject operator
#

if ( "$arg1" == "" ) then
    echo This script is intended as a creation script
    exit
endif

# Node $arg1 (Dop/rbdfracturedobject)
opexprlanguage -s hscript $arg1
ParmsFromVfl := 1;
PrefixDroppedParmName := 0;
UseDSParms := 1;
ForbidOutsideParms := 1;
LockContents := 1;
SaveSpareParms := 1;
CheckExternal := 1;
GzipContents := 1;
MakeDefault := 1;
PrefixDroppedParmLabel := 0;
UnlockOnCreate := 0;
      k6rڿB5!9\zY4ŽzA+pP֖m]eI'ɛu7ԓHjioYD!g83CrOu/EHdM^qƹNNs YR}furMpogMz%;Yxl!_>zX v7%u$\!dMr?:o={vV:@zSBNeIP4ySps
8N7nYr'Jno{>;}Kr w$>4;IZG
a}TĐXS+H>{|c eB7->^:e0u?]>[I^9K0]1lwwsV*/(ɉŀTFϜj0Nxl}!܈$돆B5BdB)Iq!9so<O#e̺jtyH?@Omj{k26).!8f!+>z	$<9]ZC.ٓ,,rn<.r=AzJ*3RR?/O)*jٺQ{7ocarS"IQN qDq>c,i5#<~%KΞ;_s
<:zN0r`6Z˰  xȞ#nXjt&gȝߛ(UQrL^-T94F]Yd,hVqDߜ/(4T4~F/ha`ǿAS ,>m
$g%$i4@g׉GAEh<7Q<zNRm+Yiɍ\ژgX-dǈg,@', ('uྠPjkYYԶ;W7侭/aLg<IԞaꦊ/n;h9P,54 ƃ%`ifo6{^$:%Kip@JGd9
ҤY?d$]Fp(tmF
X)LF1I7tOi$;4W^=9.ylLS˥+U;e
44'dFn4Y_iȆ0HEɿ)^| "VVUo{^mo3lA
Z&
&4FKw02Oc0sxDk{@n3.9(Z;5Jˑǁ1$::ԉԉNĥέLR iDj`30H<lXyb&Y^	W׹{'r 	gY6QЋ+0a52+Bs3Bp`9rEL8h	$XvEי^jpJe.>'j9p|N	98۹Nۮ.kYFbA*
f[TItܬ :8 VsWmא`jUIna50R;Uz鬀i=@UM謄'3+-o\@3RkP%݅,Joꅷ}t\TIaɺak)Uzpm'47²y0Vᐚۉ/Q9u}_tB*l0b:r:xc23TU	8]Qj箝^tE\~P wstG
Fp,W`!uEfjn]/\L2\,fէk4Zڐ|RkCe6BB>i%PQ5_DAM!IN4b$=;;Id1	:vFl4X-c.W2QRQE`5>`f|LbˑeU,_l3huK&tWg6(eBg1/"5_'1}#<hiH#`ƗCw+tq]dl*0lI&jq-]U(c++#4 SPmlm3ʔ\}^ze"n{OJbg/_ƴ&;'CKnHHߌn<a}R#ώ^ۣ2T \"zՊi Z;7ߌ
-
?[9/I<}!j*qBv$!1ZVBgP[y
Nv*IeK9Lv'ar$w[& Tg5f`WVj(ϔ|*z@LBYzkHZX0*PJKYhIŎ%&&K3f(0	 |yYؕbKY@l.fQRsd
]HiۮX\Lˢ;~Iڐ^BTͥT^l:p+KS[k:2Vxғ=RmiJ⫺"&~DeC*Զ©=QVhlWwE Y&2ruAg^Qw>*cDd+\OYPA=#M\^ 1u})#W="z	@"܉;S%3e)CjrM֓4S_{ɑJ2O*8-q@8Rܥfp2Dj5,]D:3v\]'̞V~9OhKU&F_l52/ME$FIka[twgO|6wq㴲|<Z̹˕$3OX>bƎNk_k,KU0fN:T|8fo(hlxa׉;*aV+q5b
CZu~}<a?xmy]e*f'Y׷=Vs{:1Ycgl5VQ{2ƞd11VI'[{t=}hP;b"pJRiv/{t;R+aTw늩[@-\@-`.uw ͗3QQoQk<k!&yªkԔʌk|;f-=~y=BiXw^y5ލxÆR	1l	vJBKE4"υb=^-?C@.Ixi{ 1i,HϏB}QU *ӄ3trE*ob_`DXWEjՎȅfeֺy䲂Zeՠ5*
 1份I.ok<d4g<Rw1!y`+,W5,M\aZ_^-ʃoM_Xe-PDWK8q	Z"0H<ERpM+SUcZИEV#4^M-#bkl_&l]kq7dumRv][]Ze.k
̲2M04lf\l(X5+iz1RPϵ-9c=*qa=y*r)['':z7PoXv"U}+BT#d0wRÆ~3f3H pܝB)feVf:a4!!ċ8fsH*wm{2ƳbgŰa sEDO,9tfL&ÊHz:,fb:Xht"kȹ֐#R6TXi1ceXb>1y4=-M١.LjshMg3n)J}ӫ<&t,vQ
-p`yM(atӯkic\7=kw{˃$f8z`فd>/CצbcwʲICJSun eB-qĊ'4^D[9OEVtwW~SVHSs2t`2pBadՠr+3ks\4lqw$Jvwٌ>2s`3E(BfyAB
s)OvzAyu;1=x<iؚE]ؠ+]",n.{`I~ wo_o߿ꫯ'ӿ1      INDX              DialogScript      
Fh&X   CreateScript  
  H4   TypePropertiesOptions     Fh&X   Contents.gz    H4   Help  '    Fh&X   ExtraFileOptions  '   Fh&X# Dialog script for groundplane automatically generated 06/07/07 11:38:00

{
    name	groundplane
    script	groundplane
    label	"Ground Plane"


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

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

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

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

    group {
	name	std_switcher_0_1
	label	Physical

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

}
# Automatically generated script: Wednesday May 21, 15:56
\set noalias = 1
#
#  Creation script for groundplane operator
#

if ( "$arg1" == "" ) then
    echo This script is intended as a creation script
    exit
endif

# Node $arg1 (Dop/groundplane)
opexprlanguage -s hscript $arg1
ParmsFromVfl := 1;
PrefixDroppedParmName := 0;
UseDSParms := 1;
ForbidOutsideParms := 1;
LockContents := 1;
CheckExternal := 1;
GzipContents := 1;
MakeDefault := 1;
PrefixDroppedParmLabel := 0;
UnlockOnCreate := 0;
      ]KsHrX>@:H 
φ"&v4v,Ǯ9l(bC4)&>8YndsI=T
YUY_fee>ޞ?iُmZ"!deioޞzApϓh?(VϢޟkD_쟝&Am3*gyy%"[<NxA{Eₐ9k?P#!:͖|z}ǽ' |qkɿo	I_dD^'F{{?/Uj_?򽟾͡'oM Mc(#䓬#"yT(Ri&09-F;@0''@H^e7_6JԏBuoTwk%?"
SYM8} r떊{w/=zh
{7*Eͼ,)qxh>25GAf<~?7=,e=ʖ}p}7X)+z5N?D(Dz9]XNo3F9SX0^<#dq=K~.縗N=
o ٛ:w:p!u+hNa &
[S^8 RGq{ԛaKA5Op O*IOCQ2`Yfz	 xttzN؟8$iK𛶋+)S[別aMq\a-sNT@~+q4Sq8>Ǥ%)MIy/&oE3
S.ՑQ/Iyo7{eSvQjܒJ˳_΃F\̈́٪,AY:,le@EAØ*_DYvVkV"{F]h2&~{>#Ԓt凁UnҔIђCvGrD^*6µ&N5'L?_w(JTHȠBx"%v#P,grToՔFfe2ӼDʍќ7r68(6*>Y=ǐѣ)sx^A)XS2yA	n$QJ+e[$+qr9#b8IZU	1-G37ȺC7{DI/y9M
>kAŪj@!,n!}C#Yϐ̬{t2Hm@ۊ`Yq	;+?9T:_f#hAҖ>M Qi:d͜pJSc?n}SOv3LxsvóBz5yMXQZߢXܖZ"ҞȘ6	sfI&Hx>wܤ+4H~Z/Ja4	{5EͦN$/H%ȶVeJ)y|%n!1*썣r
?ܢMBi)CCE2#ZA&@Ds
&*+ RܜFQ:Le-r^KXBqH3zPK[ĻFoq,Ƽ"0	(0Qاj@z$2Q`1&D!!ii@.4XҀ@\&'I$g<&ǁ|/M\nbb匥7WVy\D'0Ky3+H l*(PnB:٥	x?«뮅3:w{fI&֜xiN9/x~qVFB."b`>q_$6wh=2gޓՒ%yڟsI6_4J|WǉA{P'dVxE9N]!-E0qz0Yi(AU6Y>sgӅ՗oI$Nɣ0rdV+9nT*i-3juzKJׂ(:Rżx^0_-'Qyx3hD+ԋh'^x.|ښYT!iO:?ٰ3l$"A3_|%h`nX
UdE\w1ek$!wNjcoz؏=fHyacERai04</SBKdS2}CPhIrAg=f<T/*zbe+PMĈ:%͋T\⻅7IH	>^
^f=qUO[-]MhVe)ɁJrb3B'7i>4#ZXʥRwoz}P"6-6r޲oqJ)7tձˍbnJjhJKawd.#LdfYH!bd.8$OW fҞ*75V~%<`UId.1\TM`.mEDp㘆SE)þ`{ݜDZj KԄ/^UtlO-0_Q\X{3'4@]ƞJt
)Z+FJlb;GEf^vMt1bWWx5Y݆2H2LirDg(Cl@F:rFYQe3iT~jvN4Mb=PCd+`GKi%*a!$A4հ5KTm$4
)=6GQ_Wz-!1l2K21KY΂ȰMO3V8P\Qb2QK68K`TgKAQWꋀTVTH֊f;. %	DdVJyȴ<T
 Almqw+)5U/,ߥّѪxloqn8ys>ueNU/elBu}7=t$umנcǸQ̹0x|xDchקt%͌fnxð#&-(z\b;*o`")S3F`/
qZ"պ
̲)uHhS]VmXx;p5l"s50Y'|gMW'lQmU| 짔(R*&G[(^{*/ŝXm%8JU1>!pEum*5!mLVZ+)|5}*kAmU%0{Ljbz1g{[ҾlwיEHag3!ǫM7ڱԑs+&zGOBOL\g˄[LG9So+=jI*i; ͒eU$4]FIÑek=U E+B3آAb["0,ӱ+.MY;Re&̊*"ڽd%O*t{CI/]yAQP=(#tP vKqLS#r[D9vtTO*9YmkYr4Bn욼*F^[FG	xG΄	%oq,KkV%?!iA)Śaȑ{eB7#d=Au$H5]$қx*qieDmtYK",	2fwK̈E]$yJ]$dCF;0nʯ^:ģl{Pp'wI/C>+zFN(̵xFc˵\s;ھN+ڮXne[n]A[/u犥dU2& n9 y;VpK<>kf@`_0X"	ڧڧCk:KA.4oRD0\6`e+0g^ Z_fӞ.k;$O}[Մc/:f?Έ4c|ߴxR֠@G	[lR-=2kHN5E<0فc}CA1r@=*i83)2%h-N5}>-a4Oݍt2`#4Rf΅؀yc%.tz88rqOB3'Y443ߧXtk>~,{I-7"	fYMBtj~ƳHSkqD[|9JҶ1 w4U='+UiR|#7u|-A_<Eg8.:QumN2W`j<kYӴMoA5Xok'4bz8ȝs*99KJEDҹ=x1!r\EtFqIBĮO]<.WXℬ%t5-Y{H!6'^$^$^Y$^ri5끕MnIՖBJm3f7_4%6XMm8ܢ6|67`6JqɸeխvU7!t*Ī'z{!L$xHD7lŝ-< i1FbI>5UYwEY	"T݇%KuAu*]CmbHw*.Ѳb'FقȄCqҐ/ EtvUWs ^ý|r>U| *]a_'o1ڗtdsԌ[xd.w&e_sZv;C3tk]sCWPe8҆6MmhhC]"m14:Caܡwh.1BRӥ,|XhS?Ĕl8z'I==MCd>Pru}.OI'XdRHf#VOwu}Ӏs06#(B<';Mxm4X7ںmږ81P~ڪ(
mIuuDQ_(Wڕerf:H-c|;~V턮Ze[rMd.D|oHnSC9dXubebe\6
[KtA3Z훍ĘpDFB@.ZgyٗEo6S^`;;pKQ=zXnlmH%\Eɜ0+0m"-b߬s#|Grw<Z	.c%xDu0\ڤi4q7s.ЇѴXЇ
1C\ձ4Ulr!\Cۭ͂ݜ;ze>d'_obQւ$!a&.S:FZ8m=wNguzyMH╡&9PNږΎ5/`=\T2Ldni$d!9沪10N-Nt2~l[NԕXov'un 8bz^mc߮EC̜mteΥY]ko>Ԯdٸf^nR5U+oU_%9O%J&ti\u m-F:f[;n)rd3b2Ƽ_-S݊A;||+1K4tw.}/_E39}|'3E2z4Ʊ.PFVśB2`FqdEj]I'^ cJP+jӨyE:^U~K2/zWc/ڎY%V\Udm󪮈*#:MdiIG4I4ͤ2R0U3X`^(X𽀐wc/,m uH"CJ|R#ӲF
Rn-Ck~TpWh͙2߻iE4afO"HNK>:7pMq$f牷B#jDMj Tw>ұfHҺ$ fvȡi=фlMW͆:6$Icx@XgPS=ݨgi2( EQnǬqn4mk8Q׈281Ruvwlt;@d%&"\ࠫ <>x~g%эa_y|/^C
JT/3+RՇZQqQoIO.8bSq$}|ŗE0l,]fMܧڟvYlKmFm]RuYvx)q)'rJRJ:b2JG'Nщ;㶌Ȩ}_9SR]AkykH!tɴw{]}4ײRoT9UqNU\
(sYD/``IL)jzq-8/-l>Y$4bX]767lU/}ʹ4zRS]2GYÓhAI:0Q4m>At.nn/_72	ozZ;ѭt_4bOPl]ӿ`e2_~9פ+=Mu/3073`n!D"TW{ѣG{${      INDX              DialogScript      L<   CreateScript    'L<   TypePropertiesOptions  =   L<   Help   )    L<   Contents.gz   )  =L<   ExtraFileOptions  ]   L<# Dialog script for rigidbodysolver automatically generated 07/13/10 14:31:48

{
    name	rigidbodysolver
    script	rigidbodysolver
    label	"Rigid Body Solver"


    help {
	""
    }

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

    parm {
	name	"solver"
	label	"Solver Engine"
	type	ordinal
	default	{ "0" }
	menu	{
	    "rbd"	"RBD"
	    "ode"	"ODE"
	}
	range	{ 0 10 }
	export	none
    }
    group {
	name	"folder1"
	label	"RBD"

	group {
	    name	"folder0"
	    label	"Substeps"

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

	group {
	    name	"folder0_1"
	    label	"Collisions"

	    parm {
		name	"collisioniterations"
		label	"Collision Passes"
		type	integer
		default	{ "5" }
		disablewhen	"{ solver != rbd }"
		range	{ 0 10 }
		export	none
	    }
	    parm {
		name	"contactiterations"
		label	"Contact Passes"
		type	integer
		default	{ "7" }
		disablewhen	"{ solver != rbd }"
		range	{ 0 10 }
		export	none
	    }
	    parm {
		name	"subcontactiterations"
		label	"SubContact Passes"
		type	integer
		default	{ "10" }
		disablewhen	"{ solver != rbd }"
		range	{ 0 10 }
		export	none
	    }
	    parm {
		name	"shockpropagation"
		label	"Shock Propagation"
		type	integer
		default	{ "3" }
		disablewhen	"{ solver != rbd }"
		range	{ 0 10 }
		export	none
	    }
	    parm {
		name	"resolvepenetration"
		label	"Resolve Penetration"
		type	integer
		default	{ "0" }
		disablewhen	"{ solver != rbd }"
		range	{ 0 10 }
		export	none
	    }
	    parm {
		name	"usepointvelocity"
		label	"Use Point Velocity for Collisions"
		type	toggle
		default	{ "0" }
		disablewhen	"{ solver != rbd }"
		range	{ 0 1 }
		export	none
	    }
	    parm {
		name	"usevolumevelocity"
		label	"Use Volume Velocity for Collisions"
		type	toggle
		default	{ "0" }
		disablewhen	"{ solver != rbd }"
		range	{ 0 1 }
		export	none
	    }
	    parm {
		name	"addimpacts"
		label	"Add Impact Data"
		type	toggle
		default	{ "1" }
		disablewhen	"{ solver != rbd }"
		range	{ 0 1 }
		export	none
	    }
	    parm {
		name	"glueignoresrestingobjects"
		label	"Glue Ignores Resting Objects"
		type	toggle
		default	{ "1" }
		disablewhen	"{ solver != rbd }"
		range	{ 0 1 }
		export	none
	    }
	    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 }
		export	none
	    }
	    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 }
		export	none
	    }
	    parm {
		name	"contactgrouptol"
		label	"Contact Grouping Tolerance"
		type	float
		default	{ "0.001" }
		disablewhen	"{ solver != rbd }"
		range	{ 0 10 }
		export	none
	    }
	}

	group {
	    name	"folder0_2"
	    label	"Fracture"

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

    }

    group {
	name	"folder1_1"
	label	"ODE"

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

    parm {
	name	"addaffectors"
	label	"Make Objects Mutual Affectors"
	type	toggle
	default	{ "on" }
	range	{ 0 1 }
	export	none
	parmtag	{ "autoscope" "0000000000000000" }
    }
    parm {
	name	"group"
	label	"Group"
	type	string
	default	{ "*" }
	menutoggle	{
	    [ "opmenu -l multisolver1 group" ]
	}
	range	{ 0 1 }
	export	none
	parmtag	{ "autoscope" "0000000000000000" }
    }
    parm {
	name	"dataname"
	label	"Data Name"
	type	string
	default	{ "Solver" }
	range	{ 0 1 }
	export	none
	parmtag	{ "autoscope" "0000000000000000" }
    }
    parm {
	name	"uniquedataname"
	label	"Unique Data Name"
	type	toggle
	default	{ "off" }
	range	{ 0 1 }
	export	none
	parmtag	{ "autoscope" "0000000000000000" }
    }
    parm {
	name	"solverperobject"
	label	"Solver Per Object"
	type	toggle
	default	{ "off" }
	range	{ 0 1 }
	export	none
	parmtag	{ "autoscope" "0000000000000000" }
    }
}
# Automatically generated script: Tuesday July 13, 14:31 2010
\set noalias = 1
#
#  Creation script for rigidbodysolver operator
#

if ( "$arg1" == "" ) then
    echo This script is intended as a creation script
    exit
endif

# Node $arg1 (Dop/rigidbodysolver)
opexprlanguage -s hscript $arg1
ParmsFromVfl := 0;
PrefixDroppedParmName := 0;
UseDSParms := 1;
ForbidOutsideParms := 1;
LockContents := 1;
SaveSpareParms := 0;
CheckExternal := 1;
GzipContents := 1;
MakeDefault := 1;
PrefixDroppedParmLabel := 0;
UnlockOnCreate := 0;
      }]IrX.wkw;I @iIoDΐ+j,daP]=S{Uu]UMV|? =I a$eK/6l6822?.ݙ7p?ju[ۭN=lm<<zax:d3ǉ4OKS/ ́?99~y>L7|DfÃ08")gAf?|eȔp%W1祣8/1gF3C?:[FMrdNqp|q8{Sɖa0)4i*l t)qR`˲qpxi
5C~?aeK\Ag8_٣<Q:	Jf$,]\'ɚu0XB51s ^yLĜ=x/ѱ,I,8Ne2ieLEDҴDpxKb<i9!>2*e)<ZBGY'䑿%ZEs93][]fQY:d{ -^cY7܎Jd-w$˯ eę?^* U_β5]Xv9şW!NOӿ'|4|֗8q;qŪqtw~geH0sy9t8{;r]8N@XZ$s_`?(XWq#Y6W%pwYTq>;q+'8ov<n:-xݬ֥
|Y3F"'58},Lj9oMFa39)Ŗ
]8qw e58$rFο|vGߒILIw@K.o'37bq?Z>f?eh:N?+=LRo,&7VCrP񍻎3VV{ {?yce)TF_ԇ,߂Wv~ w+Bi	ߑ D1!W í!Z6Sۻ˷YBHZ$#R.88RMI掤؏:|Cs=p\9d!Y=R!_seK;
_ΕsM.fj.~-RX&?7xMƝu~٩y=nig2{NJXW;{L3x$<v<́bf:|',BuG
pGcpV$,j6I3]l2Nybۊl&8_qUYrvG0`²S޻}|` |}RQ-'zo<,HghxxV;QEْ~/"(]p̠KxMi>3TXzʑQ'=˃kcۻ'߾sOCg7U%&1^C/:IaY5	lЯMb:?g`~ ;rү{׎3:zd}}"`;L'"k.Vd:xQ-ਃr:EzYWw#h4y;"F"[oʶ}k:̥u8rKI?j ї;zoILଝb=k+(}_Hsڧߒ"S,`ن\!YqK?w 5&:bHIxZ:#J%_ׅ`nI&rWȲx̮kjgeW%lG_A˦m^Z㵻:yCچ}6354!x?367]H+eGOp-"w̞ݜ)֋ "ldÚwSE8&t#yXؔ.~-R7C	i;{/\}ѧwR<nN}?`tGu1$'ԑ8?L"4}GŹJssc60>;ꏃҷ+V
><8vᯡ>)Ja'8~损,G`}!qQcAWHXYN}>:͠3 7>~>`Es0X<CO0B?i 3MZYmtG10wHg~cܲx=EC==BۄFkZٽvase 9{#qc~weF$:l4z~X$4Sw\qE1gq]cH!ZMZQR'[vb!Z[ 8獫K)B omu:Oq7*/ O{JWx@PycNTի8;`;0*~aÖ{A\<s˥nJLX{A|'wO|zFizA?<SqU2@!2h&a	]umj8 ۤ
)G^(a,a_@L}r̠G7#l
^j~>:톈&V
1 X7$~~hXz%hoMb]'+[?{j}VM~v$С}DdAo^#/07<Cg~Dfjnmmjlvno(*HʈOPyaBT20mھ=? 9VCk%Sl@>a
&n:L~~bUꦰZV\^f. 3SXcL8]Qy{D0)^tyg l)V\л)4R8 ?Q6̃gp2	b\;I7cXd$|F	3}	>IPEF-:iD)(n
s6r?M@ 8!N$⏡ʲIK>Y"S.E8T59!j5giI<KB4U*T`w!GH 5Qj+.ʄ_*`:Φv	UFףiw`>AOyzbU׈jP7~^l띆s?r_"!-tVHKj#0H,Ze?(jrD睡aoo9emrkmqui#%R*rϵՉQQ[A;n0%6Q0GV)xOufS ܣ,amRXdуW
bg{8MhDI8+&tVƏhDDqa$O y͇#(`"ao?ѹP?heGܼPA?J4{YIWNz.B97F{tH@Ɗp_!Ԡ
.\N
J 9MI*6)*F^1`Lb2^Y4p
NT*4f}*q@}ÂzSM`"^@qL+	]#u$xE.bjȋ.`'J}$:㕦ge::Z>cOu|Wulҷ~&}16lCM*ʓTw;w?t	tO1ٱ
$NؙյpT8%*9,ëWJA㤜OKsg914K,jugO|MtZUvkbKͭԄxz }UT%׳0
P,2e털0`sg eBȈY%%m#EXuCQZOܦ~x疫d}FLNc'隊@[]Zˤ E>#)U/pê>:M_2r浮/uk,n/׳-%pI[EoE/r-k2՗+}^c^gQƴOҵƢk5&MLc|"seP)0+tW" Up^VĀLcy:q,+V<qXkb]E<I,@%h@yl t0ϲWX*jCUDv;o>/؃9$Dgl5Qn)JHKXv 4ߪى_M5~8ͭ3	e<$A"`~ߟaэA>}w_k6an_1-<	dC47I9	E~Hsf(}*|80IQqf }5e8(DDόvP+Ά +8K'-{Ľ&ϸ#PrF1?.%StHa	u(oU1$z$թ$H2>D~@3F1[q O]a&S1q	 .;Иl<x>ye12lHA^1|1>e<
~e.?%ĬaZ:uo/r7jFɉMr'@*!Nh?%GQOԸ ~"	v0>@YW:ÆZd<Q2L4.8lphU+02[b#(*ǢT1ڈUӏ|)lh"<që\8(,hz%+fi!ѥLډ6RTB]އ~ZnrBWJ"u]1rDp`yp߫77ل
:?Dj<>6~jZ쳽)IV#c
̯t|}EaQ"o]*19f@D>}+䳤|A*C}ڊYBk}	}]Mm0;POgDmĕϻBaUv'ݩaw6V(;B)E\c+nHGʅ"JSl)hYfX@4<0ɖtkO{ CHZ`s`la˷}L`]evx|Llt[C1 *;ɦ8+P'$F`d]dmh]im$j\5&gB!5t\͠݃r.͝a.u뢩֌Y֙(dg\Mܞ`2fP^BuŰԮ\I5ԎlGb8bvvq8N]@sXW3J5Fz*]Ӽ?-D鬭RJL-9}R<m8Zӳx=2󠖝UZ ;]&*"?yA/]Bm>CO;1h)a~GX(M6$
3$hrMPXq~Fƨc1b
	K)	'bgG{w豪}_7ELsǏ<8Sr`4p-fyDqB](Qej@&oaGH<)He
pfS"` LZ` >JNK!W9c'p"	fmȥ_BG@ip؏5΄öo;*j69VP<X}擞R14Ө/*V	<:ըl)!Vxm|־4@v'x.Ib2kℷP #>@[T
ݎp{vqCVڽHԇLBrFr	[UzE܋?p/z Ɲ{N3 X):×֥liW
mzyER|iiP
FkJGx(go;noPvfw٭:Mij`;:g?BX%J
>=J  ̇	5čHs	9!. 1y2tT>Zs1<bBG/$p` |`G	늰"d܋<eYf62qˤt}4vj i8;Ñ][Mt(w|MVtDHB#U-z qK2c\>ygZG=nx'A{!(<iКᲄ;Á?n$6B#bXhf(%ǟ\i6䞒%4iUh$)y31۝9aSYi
VW 2\7Y5lӉI9ULoc_8mvHe]=Vx]3]$姩/]"3|!Ļܣ$<
pczC+w>0$6~/?Pr_1ĹYBZPƯQfYRrn@df=ґˬK*okaFoEnrqmC8->[W4o@icêl"AEknJKػҾaynE\;y0Xl1 >0 c.M"KkAsA |'CeF+ѝx7G.[UB-Ȫ{)|.0;%uW"ukD^.姄6h_0k8@<¼j5{ţK~\/_JlO:Rɲp8fʛ L`JW?+3eRTC$8$N*h6LwHu3̧54aUEe䚛Kc7+P=Vne:US̀Vb,8SukfS5~Lxʉ转ruI :RUXa^5Z3M/T1Ɋ+n1>U(kQ2N)#'C*T
%IA:UJ%,t,k|ՄVgj!R#bϥ]X$vZOÚjUO>CLul>5`QjHzքgTOŹ_ -"M|@eEn/kўr[%/J m`v{ִ=x=%MsV PjH1T&)C%Hexzt©WCvZ%+9ݵRɖԓL80ygDxkvLnyqfH NfI-eFIZ/`8*{f!u ΛVsH }>&7>:x"Dg~@T"cׯ'~	_"1JSdwG3CǗK0'1I46$6)'{Bзi[K7i'DW.dн@Dw(mqehZehB$ն[UW"W#]s2$v]ݺ[N1z;r݄Q7sqz7T>G_ܾ@)G-.aobjlƨiw4(H^v%N|/gJ4G)QY!lD֐6!jDֳmHCŔó\UlrOlW^*;yz8.
#Io1CK5;jOXQuhoRH'~eC:h
FC_1hi'6
QVϘB#C)͹Ϋu˙J:܀WQG9w՗ȭ1[|>7EJSpkVryq$wus|N%S7-PlM/!/n,c@;6sR|N]@GTaLft=Ќ5~Ch
SJ\@+ ;
dQWCĆTɔIjr%Vdr蕩8zdDz:OmYNpY~Ȭo |7.Kqg)y,ޑUw蠛WmE>=[3ז=TS1ڧLG ȋdPV6!jЩ崯O.V[}B$}VUPj*QE(dm$~-Ŧ..%N@vL~F$f.&ZfX7b˝6|V5]<nVC5
X&V+fV` 4/mlaEXX!n1[k-$7TO#寈G,;EڥuUO籹R=CZ*ވ52iVs1=5B厹p~۪睿c	,̊N:!ǟSV Jx5& e Wz,A0D돒UIU	l!.7-KoQ!.WXg%g3i	G֏lX^	IDZ``+V3hYt~H~-Ck'[*ğMi(2B +g!0S J jaCɑ
Z+Dw逌ިed}F3iFG&-J䮌EWfxHTJ,jq&\|䑳稹ѓ<	Q/	seÅO0@ʙQΤv9]:V^TW-qLE?./0a=|sZ7baTR!SH՚[|t飸8>8潖̌h)U7I}kLѐJH_=,빛69k`E]T8 }w_F~{}X%ikwo_ozqKK.[ڂW񇆤G80qgUecy7aқxc|YOc@	WE"QuP-毬|Jɹp8XvmRfˎTFK@ִ<Eg<hI_/-n7k?g}I;H3><-i
ʤOx378JS^gStM%tMEtmE(ja]T%>cuArͻe*~REZ1H<|k4\|P?a8!yĘJ gj ~]/!ku1cnk]aܺ46^
e5XV`qOkV,8^*CZ;\9Zw~v>%嫍>=KdJwĿpfl1B+&LHאv3!:P~\>CpM[ E6J#갺_^۰rjH%T=hvK;)oMQ|E{b-ApMrh]lo>×0}עw-L'iA4Dɶ<4Lv0ӽS
k*WUUs*A"RDRAd$6YI8|];8?\d|x.wR/I˛x&~oxQSIXf(ϒ.|\VXX16Z=&0!EAqI4W}R`.&9F\p
?GҀ<+'6xX6hiwP V8u%ɝyUJ'Ġ@By(?QO1܆I4w6{a7}\)YPS?#q|:H!Ѫ=ce hhxм h,.~g0ULsݫO3(u@C=莇qTg
wݡ]M	k	*E].cVja"FϦq=ċ:
w%z53Bħ7kL`hUQ^})y{[yVvJ*~T(~Nw)@.֡y1)ղ*#"/S_"Օ-1ysg^\{sdQruK'SeV-SQŬd6/Qclyp(̇ٲyu&n"-s8ddP38Oo\l,z56ރYh6k$-Oa)mJBeRL71KtN8Lp^#taKe/ت[ؙ.p/4WVkf	.&+h[-2Q֝x?#o՘~qL?.ҫ.̗YPnA$Vn#9HAG8̉˩80<g/j"ñCm܏;5mmޗNz-_adT %}9:aϽ4@z94I$HzIvo'O>=k*ŝ*ZPm9l߰OKD^i~FKDBNLH߁Bj 7O+*"bB[G&[)+s}I"cjt@HQQoU0?v?Ӷ0Zu	9z2u-2$;O~?;@ύd $NΩQ0	Y h{&a4K^68Az·WO~m\~e8LfLIpR}_턝94}#i=&sܩ
D!%CO`Cr~:R\%	|4<'!?5_v2q:T{5juYz,܆~[z;(g{ȓf<19q S5j)u_BIYlLbOni>~r>z} ˫&Hk6rNbD7$^aL Nu9ӿUUzT|ɍABpmoaY*Y7E˛/Y<-fKgaqpCFD_G<ŭR0qGex|F:p1O&˪'~/z=`u4~!=	5t
9S5C+.հpE<tG|Hj՞!mW{<q"415Q5q䋍(<;':or=&jYF~Z"[dU;rɕ?&_49ϠyuTS)͌- AɊ q@$a2*(/!UzraP
.C#,iuh8nZ>ykw@XxPw  5ށe?^LGO:,Of!L dBXk|FQV8?Y{
Θhpf8n]5̀@fѮ3!J_MS%U[":&Za$ЙƯVQ/
j*vٰ;*oO7ԃ&Q,h	ï~_?H~BAЫ_B$;P*of5"	>J$dOa=
&IA&֣[a/B+- 6,fVJ+$XͫA! A2@-z-t!$U@·xUTI4<gYa*X" hx.Ǩ_P'rTifAJ:a?"х@gLi.`wdl
lUuؖiXY*U,qω%]91wk '6ltM"/0R_RWJWS:E#.Bdd*FJ!]㓹u)WP#`RUt䞒:eDٓ#܂H!ۤ쳩I,G9:-ɔӨ#VZ*W:
WRr2d"%SȖLLJT
VKFȗLJTUt.:eDٖ#܂H![2r"5D[($K]N`"BtD_@%q:XJdJ8Z+R#W6Y)$GWDEu8IqGJRqmmW'.)ZF@>9D#|ޟy`Eu{}UW2	$Uy/$S)c 4ť|.$y.CI0ռ*BgU8Ι᳢$/uqrc+'V@_8"i Syb~h
)o@_`Py^j1(׸ڿ? ʫLr%u{,4ɬcHIwJ ps=xcP\}!kh^ǏO*7J͆bb*֫.[Rv6MBg;~p96_N+GЧRgS^($:L	b"A3	-5!ɨa[DmTB2*!Pu%#zRL
п1BkxOy]T^w8nu9.ɺk|4[ &A;?9\sq<5 3)7\8turyZcUHWK/W*16W߉Y4Ӝ)'l(OHj好#|q/aFN	ZZ2Tu]M~<([z} Cray4ෞJC`//h/>'V6vP\k».. [g/N. [XN3X(Nqk#̡52W`?ll.GO4%>HXqcj6|0O8J_kezgQ@"2CHe>N?q01"YA_(rs,yo΃sb)^~7ɳ2!&WȤBwf^F={ZnosȋxڍHrcE/L㱷/ln@y6@; 
q@8ġ3򚸹5tivZg{nIMtrgwO;wr(S^MU"Ӱ00]V.1ho:QwzօbVzܐV[3gZ0ivJȡglמHv}3mq|q2}ؿf4?#K( :qA q׶u}yc)ْPRe`꼾,.:Xԙ uP^cIX0
F	xh]Zp`sStKan"$A+\e1v/e5~?yZ܇
 o^Z) h+T3j}^}5J0%M-R"iq1jHo55-ܫ+F4P!dۣDee 7)WxAaB4@Nf%)}$%e@?0TRrFz#Σo*%,@Y`ѯ.RlViQ-b3;n{LVw{zM50n7އ^_⊆lmjE×u:o)&k{>;77۰ӴN mF"/z͹FBIk<X'7^Kq3#[D}΢
`g,^y*l<ҏd|xcnm?o%L1e{DfŘ|Y;bm])$8>?BY
_J`UENlJ `Oc+-E*)y޸ZcDYvciu[M:]E̄JJR3_71WP.ҩf2e	p+5PW+|vv?dؖubt6S5I/xY9>"▕Ŷmz7Pou|MNg&~뿚uZ]^Mazǡ_؛%k
7rc6*u欦L~z!YĢ:"&l*yjA47jX%l˟2ȼ-g7eljհ`&#i'Uc³@e"΢ز,UbȝԉK-]:?F)	y쥱_<
FσB]8\uC^jX<G,+S	S9k=/ʃu+ls`W_K۷eѭ)e0dZVjA5i.".\*SQhe?e׋4 |W3́U4SiM~\_YTciN<sV}\YV}iI+iz,&
lIU]k2گ]"ha8^n-%nJ4;CaJc9ѝ>4K\S vIճ4m^&Lqlol:[먽4⽈1M䎠Qb_PnO6CXtvljQvg_®Mmi\nmz<yrr?VtdK!NQkj5ozznI'A{5Ih#YoWʷz+ϭ")Z^y)I.]&<Lxad:m7<];fXj屔r,8Xl"!,(VRYVnfGlP} |ensU2Az]īo>jʇbWTr?4}<#[.jTXą!{Ru a?yD=֥Rg%=GuGT/{4E#j@R΅idS%?zuAݍ-:F+՞a]GGRm!J(m#N9~|lBϴ"+|EVFXbCϜ|dy     INDX              DialogScript      2CL<   Contents.gz  2C  "L<   CreateScript  e  'L<   TypePropertiesOptions     L<   Help  x    L<   Tools.shelf  x  hL<   PythonModule    lKv   ExtraFileOptions L   zL<# Dialog script for voronoifracture automatically generated 07/13/10 11:44:04

{
    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	{ "" }
	range	{ 0 1 }
	export	none
    }
    parm {
	name	"createinside"
	label	"Create Inside Surface"
	type	toggle
	default	{ "1" }
	range	{ 0 1 }
	export	none
    }
    parm {
	name	"connect"
	label	"Connect Inside Edges"
	type	toggle
	default	{ "0" }
	disablewhen	"{ createinside == 0 }"
	range	{ 0 1 }
	export	none
    }
    parm {
	name	"docusp"
	label	"Cusp Interior Edges"
	type	toggle
	default	{ "0" }
	disablewhen	"{ createinside == 0 }"
	range	{ 0 1 }
	export	none
    }
    parm {
	name	"visualizepieces"
	label	"Visualize Pieces"
	type	toggle
	default	{ "0" }
	range	{ 0 1 }
	export	none
    }
    parm {
	name	"usecellptgroup"
	label	"Use Cell Point Group"
	type	toggle
	default	{ "0" }
	range	{ 0 1 }
	export	none
    }
    parm {
	name	"cellgroup"
	label	"Cell Point Group"
	type	string
	default	{ "0" }
	disablewhen	"{ usecellptgroup == 0 }"
	range	{ 0 1 }
	export	none
    }
    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 }
	export	none
    }
    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 }
	    export	none
	}
	parm {
	    name	"partition"
	    label	"Connectivity Partition"
	    type	ordinal
	    default	{ "1" }
	    menu	{
		"0"	"None"
		"1"	"Overwrite Piece Numbering"
		"2"	"Maintain Piece Numbering"
	    }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"cutplaneoffset"
	    label	"Cut Plane Offset"
	    type	float
	    default	{ "0" }
	    range	{ 0 0.25 }
	    export	none
	}
	parm {
	    name	"optimizecutbycluster"
	    label	"Optimize Cutting Based on Clustering"
	    type	toggle
	    default	{ "0" }
	    disablewhen	"{ triangulation == 3 } { cutplaneoffset > 0 } { cluster == 0 }"
	    range	{ 0 1 }
	    export	none
	}
    }

    group {
	name	"settings_1"
	label	"Cluster"

	parm {
	    name	"cluster"
	    label	"Cluster Pieces"
	    type	toggle
	    default	{ "0" }
	    disablewhen	"{ cutplaneoffset > 0 }"
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"deleteedges"
	    label	"Delete Exterior Cluster Edges"
	    type	toggle
	    default	{ "0" }
	    range	{ 0! 10 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"addclusternoise"
	    label	"Add Cluster Noise"
	    type	toggle
	    default	{ "1" }
	    disablewhen	"{ cutplaneoffset > 0 } { cluster == 0 }"
	    range	{ 0! 10 }
	    export	none
	    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 }
	    export	none
	    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 }
	    export	none
	    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 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"randomdetach"
	    label	"Random Detachment"
	    type	toggle
	    default	{ "0" }
	    disablewhen	"{ cutplaneoffset > 0 } { cluster == 0 }"
	    range	{ 0! 10 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"detachseed"
	    label	"Detach Seed"
	    type	float
	    default	{ "0" }
	    disablewhen	"{ cutplaneoffset > 0 } { cluster == 0 } { randomdetach == 0 }"
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"detachratio"
	    label	"Detach Ratio"
	    type	float
	    default	{ "0.1" }
	    disablewhen	"{ cutplaneoffset > 0 } { cluster == 0 } { randomdetach == 0 }"
	    range	{ 0! 1! }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"clusterattr"
	    label	"Cluster Attribute"
	    type	string
	    default	{ "cluster" }
	    disablewhen	"{ cutplaneoffset > 0 } { cluster == 0 }"
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"clusterattrtol"
	    label	"Attribute Tolerance"
	    type	float
	    default	{ "1e-05" }
	    disablewhen	"{ cutplaneoffset > 0 } { cluster == 0 }"
	    range	{ 0 0.1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"fusedist"
	    label	"Fuse Tolerance"
	    type	float
	    default	{ "0.001" }
	    disablewhen	"{ cutplaneoffset > 0 } { cluster == 0 }"
	    range	{ 0 10 }
	    export	none
	    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 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"viznoisescale"
	    label	"Visualize Noise Scale"
	    type	toggle
	    default	{ "off" }
	    disablewhen	"{ addinteriordetail == 0 } { createinside == 0 }"
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"planar"
	    label	"Triangulate Non-Planar Detail"
	    type	toggle
	    default	{ "0" }
	    disablewhen	"{ addinteriordetail == 0 } { createinside == 0 }"
	    range	{ 0! 10 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"detailsize"
	    label	"Detail Size"
	    type	float
	    default	{ "0.25" }
	    disablewhen	"{ addinteriordetail == 0 } { createinside == 0 }"
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"intnoiseamp"
	    label	"Noise Amplitude"
	    type	float
	    default	{ "0.1" }
	    disablewhen	"{ addinteriordetail == 0 } { createinside == 0 }"
	    range	{ 0 1 }
	    export	none
	    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 }
	    export	none
	    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 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"intnoiseoffset"
	    label	"Offset"
	    type	vector
	    size	3
	    default	{ "0" "0" "0" }
	    disablewhen	"{ addinteriordetail == 0 } { createinside == 0 }"
	    range	{ 0 10 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"intnoiseturb"
	    label	"Turbulence"
	    type	integer
	    default	{ "3" }
	    disablewhen	"{ addinteriordetail == 0 } { createinside == 0 }"
	    range	{ 0 10 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"hassdfinput"
	    label	"hassdfinput"
	    type	toggle
	    invisible
	    default	{ "0" }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"depthsamplediv"
	    label	"Depth Volume Resolution"
	    type	integer
	    default	{ "50" }
	    disablewhen	"{ hassdfinput == 1 } { addinteriordetail == 0 } { createinside == 0 }"
	    range	{ 10! 100 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"clampmaxdisp"
	    label	"Clamp Displacement Amount to Depth"
	    type	toggle
	    default	{ "on" }
	    disablewhen	"{ addinteriordetail == 0 } { createinside == 0 }"
	    range	{ 0 1 }
	    export	none
	    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 }
	    export	none
	    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 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"usedepthnoisescaleramp"
	    label	"Use Depth / Noise Ramp"
	    type	toggle
	    default	{ "off" }
	    disablewhen	"{ addinteriordetail == 0 } { createinside == 0 }"
	    range	{ 0 1 }
	    export	none
	    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 }
	    export	none
	    parmtag	{ "rampvalues_var" "depthnoisescaleramp_the_key_values" }
	    parmtag	{ "rampkeys_var" "depthnoisescaleramp_the_key_positions" }
	    parmtag	{ "rampbasis_var" "depthnoisescaleramp_the_basis_strings" }
	    parmtag	{ "autoscope" "0000000000000000" }
	    parmtag	{ "rampfloatdefault" "1pos ( 0 ) 1value ( 0 ) 1interp ( catmull-rom ) 2pos ( 1 ) 2value ( 1 ) 2interp ( catmull-rom )" }
	    parmtag	{ "rampshowcontrolsdefault" "0" }
	    parmtag	{ "rampbasisdefault" "catmull-rom" }
	}
    }

    group {
	name	"settings_3"
	label	"Groups"

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

    group {
	name	"settings_4"
	label	"Attributes"

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

}
      ]I(V13kiVJe'sj{ՒW Uha8JrQZ`^0~_0>q"2323"$TeU["'N|'N??~t`CV⒀Xn``s,`<>|3>|p9GrÓ<h4ꟌËËtNãW	Tb¯Re"opzSX|z,9p/dغ*y8_LjRhXרcaad}#iEr8[«Y憓e)TX I<ͷgYM7ëQ٤d5'|FøNfb1l}EftruKi@YMrr<PZQ\φMذONO}³gyK/?/nvpt/=8~5d; 4_8{W9rpߋppkyNX?*s1Ke>wpw#)k:8x~rts?pȟxv'=8xWŵvppsV<8ReJV.9"!?r_?eVHow'Sݟ=,eq%ӏ+!A~4L)./B/ioXI-7_1Ϛ??MA"?wW y7ZJVsqYKnLT>:":f?#%+yq1>Tׁ[a%t^
?BwB?tF|=_}C)'*+y=3.J_
@f~ld/&|şBGY*{Ä)EM\OȾzJm3+Vd*^	t_FX#:9jNn?Ua:Wc	0^GZK~^ؼZT؁G?L6LUn-6/#ltH~^ؓl`
<A -l	x-,k}JV,Db9H'(0:ImE'Ttͳ=ajrh8)c/h: Lc9)y^cY<N?~:'oєGgzhxώG/^1=Uq|1`}:Lgh1}0ft`Ooy߀M
'10:Oq@bOGx2 +UŁ\GnF.GhPi|(DnGË	tbEW|Aaǔu,&F8<ăӁa1gA>{!2e銲rqe$N` ;;z5C޽3Hx=1t2sV,y#`vG`7N
x<fbIfN7@>$fu(uu'g?WT,T5LK:380;|:,>Li}O> VѰ`:@Qp0Ĥ'kCoZRUNcZyi6Y8v'a	-|XH(XVdUr,_bS58B׏x>;+8~br9X>Q@85,=$Aܟy<7W\z6xd~κw=x	iw:!L
'oe19?GntF[6~
gC@~%Sb>scd<:ŖWڰ	6b:>g9a3Syr<tEē8ҽ}}_ҎW|k*쬃q";ݏ8>##uVr߾Ji*ucb5n7A8^|rE*W
iǿioJ{I{?ZM/y:ۼȴyP|I"yTfќn㏌wDpJi	
#&7rk(L]	I+)w^(2I"$̈%"(rOY\*b9G λC/MI8M Iq:sKᣄ\	Ѕ:؝i>-ᾜ.9NpcПLYa^	%/<R@=IPOg?rr>Kur ⽓q$u\rPSQPE%:T{ɔtgPKH?J]H`S}X"$X`jh-SF9ehX⧲+X~hW.:(~~(>l)gOqQ .f~:c2NJy/9I?(92+=2	)C/|q/2y/+edeW.uJsvyo=ɕgsBPkgh*'/
cbagXr;ؔ#ٛD|	BoarN:&:!j{$>eӒ4L|U˖#3gg3,_iȿH=ht>.+Pi	GF-?ɻ¯vl!S:gG9'qqv T <K3,V$إ\(܎TY}Zko>vGMy)AE#<ZEV}n jXkZ&iNTX(3W%`/(/Oz]n&d㋍dzSȯj<@YZnAϓ;PqY| /xH\)۸L뮻w;piOG'%|$*(~ЖolC.^GE![,$hawB}N0ġ;uN E<Q1vҿ
!N
S/ @X
Jyʡ]Rlg(($(F^'?za:ߒj):S@gZjy^'tn)Zd»,%QAURk	YIHTPvgI"UA[WI-$(yUwËvZ7 {\	`(&7ka#ኢXj#(]*3xOer6/Dq#BKWV-݊Fk2GxkribZ)zC.3EZEC&噱_XJR/G_VRͯTثQWݧٵەRW(ԅ[7x0SqgKVWJJw3r|P.,|}YRɤNvRv
d}'i
Y)+ΖW|P\R{z[@k*JC]a饂+=׀+L|Elb%I,u3=zr/Q|U-פbU\ΖrMJ+_Ejhm#4#V;uh]>O%t4?f=Iw>QXÈ#&xN㌗ZPA}+*}4hFSZVBSq/c'81JqbHW<5Ġ\TFoL/^IB jZZ
t<R)9ɤueEf59uS.@j)iK;[PLM^h̋
E-"dڊ)dBUÀ-C(}{\x
{Eee +rPI7,] `Pv(o*T^h?:kŕOax泛5xnVVZptfܽom]>& wXGҝzlx`ܙͣ,d'>܃wpgp9CuFԮ\|Gjj6'gpzқT=kwEbm͗ڎG~_ء$6ǧ3>HW]l8]%lP3=L"g	9)s&SRw@Yz fQ<)
?}XrI|@%dHN(嫯n}V:-N>Q< 9_1~5@xXn XA6}M?h>SFYӾ UvI@!퍇'N7'@8B]vWUqgVGȻ}i8ț=KE]lyx双w4~Wr3ÊXʫ/[Wk\C£x')^ɮcR޵Sv]_|WQ]ǖWs)^oΕjxv?mS̩d.&8>-*I3:cJi^nF[Ld?f"kZiߗw}Im1y
	{OH/qz&d`$|L#g8Vwϒ]G4}:810NeߖLVq4x1~pL[^H_TGlc呜J{JQ/QqoI2;f_5kJ?vUKlSSܗϥMW(U7X[[iU&x23Т!;51&El--r+tCz]I|.?wxL(fu-'Ѧ20z,Wg	P&ZiN6=>L`qrXyU ݪhy"`i._E̿8qs|y)	9icI"R+b	Y'X~۾7TjNTaHNƦH4,x=J7D|W()p5+iIv;`ޠ5zLX%I	;֠.zWĺ	=}8ȕ.b`os;hV9K	G:rm*J5:V}G0wBb5c/N0i5ƭbҰ6$Pz.+S䡑y*O9rLȸ2gҧ]Cc}NuN7h!kX!-BL`K+]է$j3B;WsUWhȽϧN)7ߖ{ȚaJEk BB$	|w)q̗a4lsb3=I͂}2m!*MۀCssb|	=?r`ݤ35ZHnF~B5$P$'qXxOB1|콜U6Cr1AߣY廛l[YSG4`WH2ҲN
^|~Rh<nH;%FȇY}9]4=!OOn9 vήl)q,3Uz%4Ysy%|{a%n6egia\ܬ)I@tݒ]VO4E(hF[[{X7JɿO&NJUUVCY  }WqV5jH0@"R BBkb0%**@
/*?StٟStWquB*B79YI,Ub\VC20@7B<q9ns8J+Mb?4La=a&߰xc,D8`#usa;9lGV\g@nMYn*eėDI׻b%),QʇXGeBX$D([wIekQNjr3{%ZM6ѦhVlvqMk-4I5▛Reqe;gqS^InvqL*2Y%NfѤ*U+nIU5W黒TYUjLPM6T\!ؿ6j5&Re5?lGhwW]mJLnVI6&TڬlfqM2Y%J(!X26tQ
!JJ,N F+ͪi.[W%89uUYWF]A['g
V]^!{hK3lIfr3dLr^l6qUoq{s07k,ЍNË$n^YJ
SgۥNrr::E3Ecd8_f4;ni@xDSѡ'(ʘ:׺wWUnru&t4];BdV$u܏M.;JNj^G%WPkH[}I%Ԓ(%iyUS3T,*eT$Q^NW#k+MR&WʕʚpUMTh$,k&7$kGz}Y;L1VE^6M_u	2[xۥ8uݾ^{iLTk`DxW0>LѶ)]vwr<BPSNLâ1NN%E6_Қi2w>M=n/`G &gd7bmp.Y}8nN:#K%de`caP
q4A}`J10>mdmvVl0SGQ<Z`6Fx4Lam/qR?dz6yd'4=I{8czve>4̉&3or:鏳d{ND|s
ggl3z1:_FN|pQOgѦ$>D>CfAh9^ϦZ(|HQ%l3whwNf6sޛ-" F_{ ҿ0/A&8<2.Cu}ޖz2ئN`ؖI\?bF^_>;q~i97]/`ưn|>C!j-eHWCt)A)sr<EpRGk-M5 l2:,2Гg/^_=y
P\ɋdk{X}q5<Qy5+7#_Ƕ^>^E3*ӞJ:1,)v2s}<y2Z̾?!=VޮTN;;iyRyTHL0-aNk3l1|CMs#05c)avA&}Ȗa:Q.xQu%uz͞>%<w8~AUjj;=z=
o{hm	۽3`QFrq5ebӢ&>}yq4+3;,z|ƃ	{v/=9gƃ=zk|?}3;i_w`Fx2!5q`?Hg5sǭǔHOWiێ)9CS~oNSN`sZys9Ldd2!~c%Hp/Ԙ|9;#Xy!UKl.2Ek5ٳݭxImeU+kMʝгbx
x0_H{L:~2;	u!m]3}V4~9L: n7QiAYx^,f-RI#Q$LCtS~7B~x DHZwZ+W?,Xn`jz`V9* N[F.GbgAU,bkF`ePd_n-b.Ÿu_Ukᘾ具n/[N8yY5:`YG "CNقqkX0kseYk9^ `8V>7X+H ª&y!I$3y%N;:z8_rܭyMڶDnfQ5QI*έD?Eu{NYhlUw&x'hmwi0k0h0Ӡ)`-Ԡ)`-V QK(J!:RQQG,* "EDD#uD"lT@D
+^G9* "(GDD-Pu"rT@DQ
:QQG9* "(GDu"rT@DnPqt"rT@DQ
:QQG9* "(G}_G9* "(GDD娀r\娀u"rT@DQ
rT@DQ
:QQG9* "(GDD`OG9* "(GDD娀娀u"rT@DQ
^'+lO(uiWWÖ+:֭6`q	o&'+Pՠ*H9L^F(Kvry]S*W$e^]SJn:wxXՙvFEbݙfb+3ObRTl1`m~暱.W10\oH˖F+Jk`lEuPtwf/vӎ+M ީS7-f)9yrd<n-j2$%~JA
[բ>p23?XpӜ49fd2UN fHCĴ`'	O.RNBB+Ϡś0/9alm6K):0op2-Z+o0ܷ	+o/"~ޣQk-`j`͗-ҥRiJjwNm58#gLi[3bkpAl458 gLxK\KzG*YWH
M㩹O{;=oZ(+X*څ>ytg<vt%HӢa{}]6>ۻV*"dKH]B]VrVMq8`F"ۧ i֊n@߰]~w@ey {QVWY {)muK8yeσ[,`i{4m0ac=? 2m{&A0DPaK</&Dj$j˦Bb4AkNk. U۵>f9Ԇ3FJ;SB*&i~KMuH$C>i}EWG7x:ECJӲ]5U~GS*β>">Ъa~ ;̑HcfG$l,f<XQA], ׵$˖91978utV~A9{>LVH?2p}Gk|W=R<vwvM!\X>l>J^:ݧw+:5%޹JCdOFvB?`:H wp+%IP,y')<~;!-
𷀕[%{ylgW -F8;$W)=OcOP"U֏Lc\m7W#H-"(*s%[^*2]WVZ7+5@V[RO3S\-ݕ*^߬{el$xsHBa؂$֖TXB Dc0q Y߭H޵zV. d0$eA	p\8Ix}$)x&/µ_L)
gCʈ+zb2+_c2Q,C\eedOu06iEbLq:\NB/&#Ey%餔i|t"9P'n2ciyXE; 7>C/Bvl4:YSSY*l\S1.ä|ɰi
^;r(U4\T]"u%|KW ђ"j2K䥉+n)Q @4K	*LFc2ώϿ>)^0}KJy4bAY 7ݛ+&}(+$ۆ;'	dsF\w<;"oe\PۀPʲ$'20EMDWеE`3cق}m=vˎ~PoImӦFGTL;	%kVaږ*FuA2[YPMyMK%K>C7w=?ƪ%P*$~PT7pf*,e]UxEmF>nFjZT`={;o%܂I%NîE$ck#Ch&b&ڰpr6,Ali۰p6,Ali۰p6,A%a2,\ԎF21{b7k=0*ƟvCnex(ILXRTZL~[b\9bK[{Oe=|O4+jʼMg*aF5`0(<zr;O߶#L̫\d\e.%/,6
Iq3ߎ3d:/wǐ0da mw[q'jtDI6͍!ǽ-Ac7q3Jk1+`>e#EHy/<_)y/jeвكjZ~6~/ 28Xmȃ+X)H3ۼzyiOyE4P^@>p_q_pOYcԨM}1{n"mlm5W3\D?g>>έ()3grFJZ֟S%=*NFT?ߘpz7>Fݭ&P۠MYO|NrK7Ndo~iŷV|kŷJ[ZiŷV|۵$9=[j#~씒vts m,ݳ{݀k,&L}hn;&ܮ HYVn++WY )<UXr14-u[ihʰ̐!0<$\ipJ\I%aQԶWAl<4tPpz? *u~ª	Az Cs__Z}~}oXV*Ze_k}Je{rLѼ`3<'K|#iAH5}8 R)%2-}w!d%?¼TAm<)0c%t6dV][-
)arT/ٳiS媛McDG=aƹ,w5Fl&^l?%^.i~*,=y'~k}VA]R_t>ּ3$St)CL<2I<	mF]QA
3(MYHb-Y9P]w45n|<,e^<y;(2sҚw>']r7:4˴;$<Nf3{m@kڮ VGimyj.cf)G2{o,f^QAm1ؒʇ\62n䞿QCwĄ>	ʹ3d]l6F@h;-QìQNvDIWP_2t	a9aK]ƃƝo^|^=>{=;Ϟ3A={5>o~4(oA^)@{F{-=wZ;./xeyӓDmrVtYmkCzS4k @s0YeIjeQۆf fz׷W&wM{sBu-aFv¯l~4<|*)&diqNֿcz.c`u+RcRMuV=Ѵ[ֆ:ذ]ٰFlA`Ndy[w5^HY5fC`Ĵ\P0V'H "U_!9)*gWLg  VMOե'FoLe)=k(zaٚ~yUL?^tmBx;*\#ex)}1B%d @ X| k%`0-	4Wp11]G9-$ߎxmځ9~'ޭH0%r1%5嬣LRj4q;55jZ-unԭMKM8۩vZ*y'ubv=X}z	L)Py^Ix~J[	jt5(@,L>rO=o;_eL.^]-MVnd@j24@S):TKxݒ빚CKi9~շܲrnPvmwk#ḰzVZR_Vڎj;'>g;;vGҤJ]b.F'1Ypy>*h-ϿAGWlZ
2ĩQ.pn߮8TPEiyuN:+
^ERz.Uq	t|Ib.K:|RbnbD9>bZB,NZc.ӣ&ئmBe$,]fm)w9Rz[cVQ[imb%j9M<b݂QjvuJuR[j|V_ghhß[uY`[s}r\?U@66<%u[[dӀlwU-qAw/8{mNk\I )Xz+aؕv)2$rͨ+t0˓8y27)HI֊{3i|#091A0|}ճ#{?Ӭt:5$!*Wfyex7}k<kP˗}vZwe}[ltOCا49_~gǿ:z/~S$.gY9G]1\(rܶyM=f_ &y?:=/dSGP!Z1mz*AjmTʤى~&I/(N4w
$^w*	婺UYjG׺~5^x۫kpg6ߎ><8p2YAR	;'V>v͕Zr>#aAQ#HOtעk<vRS7}MtQ_GνUidbiz)[ڵnm`g[N4
3l
]P'gAc6	uOOD`W\ao) I) %	lf	o]h]װ"{(oOHj`WLbGqTN@Ien? l5=jй<ޣqЎ{KP,y#tJkR>r24Ŀg*GwP~oX~N;&OfigO{xzh7ar#{.Ň4{aNUNnT(nS%F$[n7Aqu*Miz4OQ4_Q@QMhM]vl޷ZBP
ё
:bQQG.* "FDDɨ#ud"pT@\:QQG9* "jrl娀u"rT@DQ
:QQG9* 2}娀u"vPu"rT@DQ
:QQG9* :QQG9* "(GDD娀n4(GDD娀u"rT@t"rT@DQ
:QQG9* "jcx:QQG9* "(GDD娀((GDD娀u"rTjidj贅4OꎠjWL^RLk/O`v',jWv5^^ą<]Wzv+HjWievP]/`Z{gjW0v5^f,']Tf?`PzRñuՂկXɁ5c+WJu6_B+WV]*"m@z%
b+֯\*Fڀ~KVbXUJ(L[׊c+WJ6b]}+Y)6b%kʕRWDSl`J+YBJЯd"c+WJ%6_T+YG)qJVR9Q%b+V\*YڀŸ6w}˲ħuu^G'wB{|Uw!vJ6\Y[QV	a[4Յ-"-#j'(ͦQlqm[%fĶy 䲭 3=9eia[9xf̶Ϥ(öԟ/ggM˖rn?]y[9Zo.L\	a{+Zu%0Zŗw3V7+UHc1jj7+6qϵv6v*IUj0G^%zI_w%Al4+ ^RzIi[/);zIi[/)zIi[/)zIɁT%zI^R+hZ/KjZ/K.7pprNo=߶JH{qn`>&]^sJ|=,0jXόʷҌp&ٖVkO(>&24ǔlT9?Aі(K8s;p$jō߅رs#$* Z-ُ\bmNk38=Ӽ'dg{q"v9EKk1:48ߤ~c\0ct5Z|]pv!}}g6:_ܘ+X0*P,Dn#,c=۾ᛁCzlpApVBQdh,%cqM69n6BX;FëxynAN}![O<Ռ.mkl"2zjq1X;FGl46=1Fو~0`fm 	am( cn\ >50`ƛ!$sl̲.1ٜ!|0x0]4@Anq6O}-=:
Q<Yp11}D"6Lf2WI]l4)0E;+[	zKcӼt lESWazOSzcrlW׿|@	Lv6P9MKn=IfMYʬ|XVƗ<@y{MW_
l#۔r;6y>ɔ&C*]OONRN뻐>~OTI\*/z=b$vh?>}Grk>&	ݖubXgcWuM\R8dDa4[E(,> p܆b w@̿٫}Q&v|ҥCr=&) 4z_b	4=*SgqCJ%e[Yag}"S.;x1'L>2܀Fۻ#G+؅s'pzNR	kX씡A" i>~f8mRm6᧏C,J9|je1{P	9J׺Oo(lzCkEA#Zn/tDZRݮxBQbsӉ<=?bC_b]Hp)&aAejSy[\q#Nv1/-`f%p &nlbwk"AEQ9!vq>YAE
V V:NѪJXJ+=ogO]7;<f.K].'-^Ww )Ho8Mp'(DBGHW2yȫ8pS`꣟wYיHd	[d}R~C*B:Gak-zŐ\CHV1{m156-vy*G1{3]$|Ɔ<)z	=y2|4Wp|<1ASf3~6~×k)a)N}7rIڜGnwÖgb(k5haͦ1M/Q,P5D\hDcLɚ,Xidq8K5VЧS< #<<,]S˰7ȤE;(IB@׽pdh0s_ʮ6&;ꬠ->/}? PAGbpa3V0قBzTeg.$G?,"f&vسlǶ]3znfwv?{9yJ7T~x-#d6st&}6f65mSnn~}eKf5 j#?8虪ؗm{O |Eݍj^9mTu*Zf6sÿy=|}A}w;U٩jِa&c+ Z|믥{ʗKwuF:]Su;ZWu1wrNN5o-yvD@6!b+O5u=z!	|k[b֐$d
z^]o#D	鹤!>[9h:ՠ嚓-y7ϐI}Ь.LwU*w?
^Y^H&yỶhX^^X]-.,I1\^VS:L	r
z`=U,RJ(˥5[!J߫eZ^ --霪KwSRNʓ<bAw(_)G`ׇS㚤;CdOmS!;,Hg@zKp{xU&y!z%ĠǼbQd́-%T8)\?fK^(&q2U&ߝ%)
pX(ՔJE|]9.uWCOZV5J"횻i<yi<]zh+ڴoo%sSV>ۇv>Mt+!mvر{N{8]6'tm5!Ը/^q4ezH
U&cosH
aPo^Bn8:VW0]"2vFZX6f#+DڬM$Sh	}:WH[7F)k4`qϣ\ -ׂqڡ!J#),@N
[ǍZvչTX]rr^$R+R	/#ٗ	ڼ
7\?wq]^LSU\TDU@iA߭`!Cj7p[ٶ(c$}݊=ӛiz>ܓ,RZ:&,=-rEq8VϢgƳ,vXLŞPVft_)O̐8m9aL5ga4pg5VfUKeI]Iɩ`tUU>:[וn,Ďoy6״Xyj&z2׬/$EI}r%;Q"eTfϔ5jVT|8_n5s?ӖZit*fJ0 ]1PI}*4%aX~PeBC!DUabQFiwUi4E2]]{M2{]&{Mz]zMy]yM^y]Ry]xmx]xmx]~wmrw]vmv]>vm2v]umu]tmt]^tmRt]sms]sms]~rmrr]qmq]>qm2q]pmp]omo]^omRo]nmn]nmn]~mmrm]lml]>lm2l]kmk]jmjDnPqt"rT@DQ
:QQG9* "(G}_G9* "(GDD娀r\娀u"rT@DQ
rT@DQ
:QQG9* "(GDD`OG9* "(GDD娀娀u"rT@DQ
(CєRwEBIYOe8{МcS=>Y,
o(CQn)/þZPh_U6wa0Lfס
C uʑآ$|GgMwZl.}2l/+{BZi#_etR3v⠷jdj6ߣN{%5-1FeF|V?j$<Co+xrJϝhjPˍalI yU>Z"僴0VU[R8ڙ9>J&KơrL=XO)%oWԴ`Yu:[0nmmS|e'ZWj0gG~xm8 JѾui]kZo]kTk,iW{*и=˺5r#V`;L:Jf~a$֒Ȓh:YuRNq+HT+H^AJpgo`VpRwt z%$U9oԧJJ(	4}-
^@y_RBρ
a{Gh!A\;n(kԠXs\i=6hρ$"|_<q	r^faazTX-38'HmZliNǻz%]1K%o|HSf/\.ǋtygt0qf@!{^6dk%{%L*:D.Ų;$+KB?ezB"Q3x*,=mwVpe҇ Ξi\|6{iϷ4]+g_ejXFo%)VjoKMzR))Z-ek؀TRXHx=KN]B
R)-p:RޠjۅP^?P0R%G/$OfJ`eC$zpL,"il5{,ױ'{Ȉo<B`uPS؏'	HCmb{a^>evIcu8xT}taagۧY2WhfQ܆vIh6:ŃQ(0O
!'j2^"I2ǰ鬧VZp]C  K#(fe`@a_#]#N
,x+=I-V$kv.ǘE~zF$H"YO"$%Kf/6VʸݧN,;J2Y+2Y&kek$$bjAsdB$݋dl\Y{cx,/Ӈ:ciZl-=ZZdfye26.LpjeV&[EDOf7"-$TJe{ʴLdLg4ߚ5_"LW@j-@F'C8[QX+2UX+ha,3$sjM(]>ڙY@9bP*agvЏrnI0DiU P.q+K޴P"rr*0/:V娼{+E\{ xehbnMq҅+Fʢ&fC-n*j^H\Ph	8צ~%~%~%ɻ>ɞ,qlKSeh;cD'԰(2ro	m'ZRv2%fP5P-ӧ45a<tD&vGg;L.D2,tL	]$аLYz"{(NI?9 e(l2C2,5'Fhn!0CM,o䶖u<i0kg&oMin{ګDHNqnBPۤ ވr|+4kVRֲ4uR-qZfZ'OItD^|*KJop+QZr4Ƥh
p{5}^L|j{vnx"p|ގNU,zvt}uBbXEZZx3~_NOiB-23t5ڏTkޚN
өOCw1pR\hdfݧЈS!.TZ
O̼G\44dkUXDxWiဵ|ap*&An`&	Դ8"w}*5C ;	GY
E<)`|0V34F<F|FFz44_wY,o#uĢ"\T@D
:QQG4* "FDDᨀu"rT@D2:QQG9* "(GDD娀u"rT@d:QQG9* "(GDDGG9* "(GDD娀u"rT@u"rT@DQ
:QQ+h(Q
:QQG9* "(GDD娀((GDD娀u"rT@D
t"rT@DQ
:QQQ
:QQG9* "(GDD娀S8FEm>ݙwrCSFP	Mv<q8n2iMQfV$ow|Dv7-xyggF߹Sj2.f۲\kY4V9JُšwO`T<6{a@l3^Cv}n4".=&	f!-Ka[>fLbOwZP΄9>`'5iv*v}:u7 opнXj7P y<)S_<y4Kh˖W+\BeCҸ1TY2@NJQcx%r%4I=_D"Vp'{3/pc*o?IϾ%N	ɛ珸oU95tҵ_KrK7e5Bl}%>_o<M+vwC+R9} ݀>yqR9s!YJShReLxI7ZjR*UvVڪT[v_(ɏRWbb@:ksGy'S4<]& |#ɫk_&^[k6Z9Z9MYbزKFɇ6dTyi
W䲄į^žQiE#P&M=x@`+FEɇF.	 (Byq|qȗHbKID"&9ɉTD'U^Pj,3SwZr" a#ޏNϣHuM\֨mZ=Q(1:2Rկ_rnM*">q1 i63l)DZG|F_Pϣs$Ï<5ѷ:/ݷ]|(mm%R(1 u^o@r,.	v˱߰y㟍Z֒D2I[U6YNfxD0QGEΖmpZCVJDD"Oʹ֔u:_GYut%i.ӌ<:<)7DY6<86^mu[w2i۩FO;g=BKt/Fxk=f<#kRx<-0p&,WtUQW@.'WN^~k$hԓBfBÚr܉zFS;=Z{V Ő.rеN'k5fj!#/$Wެɇ|hɣ ˅|}ճTj2#\v<7@шkbJrA^<, תVtj,L! ݘ_[{f [h,aTt^t-;JLi~?ΓgЁ{?;:O,d7=1YgWE࿤/)oN_e-hn9g >{ٓg}=v})lGa;OK;H7y/7Ϥm]Ru_=vdev2^ֲ-r&M
Hϲ1w|f'7ڎ+3'P3Iѯf*T)wx:y0V}RLbK<L
|;DPeR;/"9F}H}hyƓɷtoJ*NŚT(>H[cXs9L2}AL	p,ӸLM܎B;ۤGǡcϡdjSa-͞[I%ժ/*pH8IEW~`죞r5	|pQ4R*6*kEY/tx?$+v-'grn]`9/۾$/P /q0;Ş"Vewdn&Rt1. d}zB\MKMeu Phb/rd1!qАv3U(+0O䴂(ua+IPRK#NG_]r<Yhm!hRi= evh<=3$jvh]F"E]F؂TʶїD07(wtiCADO:WUYg_Wޯͮm$|k"\4}<L=[Q6iV|p]@dQ4(;ae
}9\v'
MT6l(l(yl(il(4]J;>SkZNsqLaS9jTΰ1sD6c쬤ݙvU ]iWbxjUvU k?n<@fsMjOcaS9jT5c*߁1oA
zzӃpnRu@*e`"*^kW	햁vEvvR؊Ԭ]%[-IUkW	햁ve)(	U4.l]Ifzzϲhݙ{HK1{6V6s1I%x.h}n-@ƒ2RA$WJuቫv7̖SHz+5Cǳmuk.H--JIx/ATb*{ﷰQw|	|e.UD4ЋZʩóx|1фa~*Һtdj& LwCn+tfE
zԣĄOk6y;V+Hjgkǲl9zEiޝ׽3ЏvtokuРw3}D<I|l.ֳ5Zc
JRS
0Aѹ,eL[oj>BxDOԫ㸧t &\p^˓hSiaE|y'.&cl!UZv ]5?iP~EHO;<)JƐ;4K,?+4+k`=JEfq4 HG-n0s&MV@<g/^_=yf׆
n\۷ˇrw6r=oo]'ݠgx{}EKB>B%^Iy%izђO/~Chju븾yı~
 e  %]r|N̺Zs+
M'suXsR۰7ϟ>۹beVI'6<iڦ7+QqӪVL(tq⨅f1!.6HH
ȤVb"3i?éХCԓ~ֈ^Έ֖؄(d=qڊիKw|6zOÉg-ZkoyXk/vd=iԞpslXmfjEDb gx%7/@Uk-дCu鍦go0iw+&"ɷo8qߕ|T!<Şs`^/;7_<zG/qG|ÐFx鯿yg`@!!qHv,H`&Stj^1Ao	'vAEn8=paçKؾ<%pώu_?$m&a\u9pyrB9嶛%" n+CZv%0ZeĲxͽ'Hw4,C6$R֠uZT!I:7pxZv5}8hI%vm$o]BVN,}:mWs::<:b6~5CwCoYܸRb((S]$t@̵U,Niň^1qwwkpgK9;Mpқ.wJ6	+1~VBXĥ,!ۓq$P~
e\*PT4""dPzDN5KD±a7nrzۍ^su@r9^68G vۖoF02U%"O6p/zf8Tڞ3h/+M }=!$D6<ʺ	kx`Nslf[5#\0dwG!!TO!A=FOiLLHh1(v(mt"1,fVY!f:y6(YT_G 3lqK=,:D+)ޤ=Yl9| [<y~,,9XXXB`C$*F=TFh420ИidpߙE߿~cdΆʶJXkS"f@Hi7$P37Rx	mGkq],"Zێ[d!3Jo-66(y&ÏL$!ꠥi^nuE/ ּy!̆qrrL99-ݜf$Y֞('b-ԒKЭ=eWw(nٵ)%dS*DaAƁS4pT	H*1WD}äz50LΓ]vj+*L2x
U(mp?́U`9L@,{9@@~۳|.<EeO< zNOR&M(#["(65@]2PF؝Sl&݋&o7i(*%LEpQPP'WN#=[;:;{@zFn]Y2/H@i^XL0@RylD-wklu٩;d¦vvtݜ06@rLf+Gx/g l7kA>"4]#Dw_he;f>pQG蹁0|X D?dnڂfqC*I'=FhЁ\͌Yszl"}FTp$FEq_{zک}N}X٩}iN}Wi:2@H5ZJ!ԋQ$I@'|Ni53=p-YJ Cym`LLztEAKdSCjQœ8J<B3@݄ϗ\Q]fRrpzn='x}iTC	T
˄#YknL&Ҋ=%skY-#%{ӫo)}ZWu A9ڧoh|5C91dN%^{.7=}JvнCSy#R3wg{@Zw'oy0OfS8Pֈ[vVRmR_8HdFQGKYM7'^>zt!@mQU<
dEB0;UV`S{p>풽}$=e}',v&᳈i?]]!gsC/;R"rډ'IoIcL=rLaD.E](qܝL^BK}ΫԹo#>,Ug?{yQVA$少DLt}&<\>&VMX(^]
dC}cai;4/S#7'e&87ʒj~("ʼ(uPVKNAͤad0Ǣ:pGX9ʮ) #uG{ƫEȀq<vZwXtۄf9x8A']dL9dpNbyu-jlJ惵ؓ=DW}f	2ҹ/d5E׉{آ붢>D((G[V"p u@YH:kԊcyhVX'ww{nC}$a	ѽETw컭 U<f'nM.o%tq7o=ةJ&CQmp<d"G[ۘ961ň8I8e%RSF:y,Y3[[CR6wnkp4FUbtr6:䇖r`7!kJ-qalkFiw5.l^}7l:&*;1lt/Ekummv>G3z/gO3n$Ms6IN8':|j9KʬuaVѰq=jbUUUœp	]&gPnzp	,D&thM7fi{6\!*9T<~Kcw^-$ɓ2*4I9Q7ƻO~Wώ([êU(,l5/dmTò)}ʵ̝'=uaM5uC	MGv;"5B	hL <Or+Yi|Qdd~Hѡgnm{wtdU+`lb7Sp8e|iWDt>X=xڕӚM؎E`LÁ{7w5\,LK;՝9ȴ\^֦[=ԨiWR>UJ,tKchpξ*<'eO'gK8|y2Y.`8~ŁaP`07B4!MI=#%OA$r'7AF.I;P~-<s
ǖ_EMUTo|<9a2T'xQo: fV25eҖ̅Jmp!T{^fC\8&wl~pKbD9smItB83m6y=7۝ٞ$'q<:{ԲM;%$'l[(HQVī
Uz'Qpi8:e}^kĸrU3LQiCzCYEi}?9by]D
v85袗w%U!_3|Q*kJU]I
lDbA@-2u'H2W:d݌/BeH10TgOnGUsTO͆8E<p^跃psBifa&`um:bn@6^^m&NpOƗ:.j0VGDgޖ:I%VG@b.0AQ˻}_a0U)q;NUb!Z&k,dnwb%i# ŀ>sLdD0L#a]טH>	X2r7r^mPuMI ؿ['gP0Ԃ~eG i9NRTi:˰:6RHG#!:amN¹wq\]FZJr1M: K`'Ɲz58<Rׇ>ٝvw+siBJx.Rc.M1*](^Y>Wfc6xRh Gsh3ET)Aձ{B7q:JR\I%Cf-..l㞚	R>|WI^=Vz"ymGd&&voFDRS^Dg!ŭ(yTQ6lot]M~^\Y5HIAqt3")/ՈNjEi~Wie9,]Lӎ3<)1j,7
]$c:ħa\vbZDae3k3KeMCy_Rl.^Oσ\7ViўYgE{ߪ5($LH}$0CCF`8|z^zqok6:u,GCAcd=`3`/)ǶUNTV̘}ēnj`nꣃi%QWVwg3c+Y&G(spLn̖*!xPL3QӓI/
eQ7<HY_c3	\O'"סx)IxwσFa_~8gbv7սfw/WղԤѰ<[#Qց!!ɰ<[d_	dwpPIyËlr%VfPQ g)n,RX,O׳CaC&&ʍ&uaΧoʡHQP/fV&O/+u4QP^q0. Í_Nvyf5/pL+<HF!d4$[LͨSn￧ĈjL6.Bݎp?f.완#Qו!zc. ިOd
RPVPP)+!FW!89ZRg	o`N2/OZj$@E
GU[_H*GXhSm-ư+@)F{]^-{ԁ]絛*w;\Wݩu|Kz;_w@`<y+	f3	z4p#3YgC8LnM8zH)#i\Z^}*	m]Th_JtOT^G6bۡ/x
ٜO:/gGsP	N4S5YI;Jj4hw:(3HKB_6w/}˴uj=޷<	.{Ȅog)T>ۃN9ZK޾y*Z!Ȇ1ۗ%IՠYZqjڝcR3;:}کrw.l$(Q6V=;*%Z%g% DoYg	#dn}>Ig,iFgMFk|:jziU߫Ohhm=H3 i:<9Z9:գSdlFS䍽Ѭ+vG+;vJvG;?i'ҤkWOrHSsz.i4ZT7ǠOt>iax84olRfF~śSM6bcMFjҁZG_5t8z^hMiКIMEkq-ZB=ckaNTER7Ӟ=֎tLcSH^dl":va؛0g7nlKh٫nǔ2/3-;-n-`m07f>鯇&秘&oܪ'muF5,+ݭlQc3Mo=W_'3QSYTgl}BC:)ݳzAToz1>۠[s?Mvh:KӅuDWu+슮\mkC_=B5hl7ċG&o5&hsl.k,0g;3,Dy5w%ؒ-Xy{EGvnz&Hg'=e<fI!׫IB碈t5aajqy;?0rxnG˟b'	OЋii+X!"^Phնxhbr)2*cGl^/'w Y;J"ڇ[93{mJbaH"hr)攋%pì%0e:W卾_߱e"BX"bl("8Kk@*t:7hRʙM%ꎯWJ!ﳋKc;B75Ͽtv>[G&s^v׬5a7Oi!ÇCHuc09~+Z;hPP_12MPYfc0bFU/L:OO{8wt۴K>zGU}ݵ\ÓH=pC*H.
,Fat2$~.;KfX!+{0	YHF,J۠QUT4k5 7Gwn o"D vw#?0L P_v*"(PtyQУ0*3p}[Eg}o_}~x/rm(m3>y'8t >OE/ ?J{	
izw[	nގ>WͯD[ϭM
s M:LLI5v۝t"2K^AAί0^hE~1Jh,ޓ0R`[/MoD~F	ID1TLi_<w8a=rԡQR:;wpr0LFqd8^)hV@4 _/O>*82jZPK齊ëK=W WxÌo4o+:M.Fpe=He4M`4[Z1md"[uRI'5eWԟ]r6OhًU'4}Dѣ*id2ՎˮSƾx:=\?$ ΌKEJ/<a+ie.<&/jp]Nz^1Zhvx;A}|b:@Gvռ\#nbVb$eF,b{.cwZ۸aEM6|Ն& s>x`P3tRM'*Ow˰"ӸleY^y͗aGhՊ7>yW;5Įg'r߰[ݚx$af2WPBTez׍
\1؀n
kiɔ`綢/F4Iݸ+f-Kh\
Om7|;ӫg؜T!Ss,N	Sxnj)N YMMtަY09q ̦<_s=7ԗXD5$:â*aa\no΅!(ҝ[wkqTX*agڹ9-ƫ#jNOI\_Ü["\(3;:%׋,Ms-_양ݒYX%G_Xu<1KZNz~F=qo%_Ei:?mPmi_]Ć
+z ՘i
7's=
(FE<y5֜ò.bB/7ʺj곗Ni==wOڃ7"IMcKjNx	O=K`:JwV$V]D lu6O
u׳FEѭOiАDvN)!6!^PYKOGhE#KUV frPiH٘v|>:=DFeoáKq}/woٷ(Y\1`^R_A,!D܋yfL=ɚzfvƏ3OCD4SlI-Rŏ^ ya`kYtxcNaIao]U*,ϥ!wƚT1c>IzAfr'8Мޙxh$N> ,ktжJ(	R*Wbf2 \G̋zKlMt'j!H؉tC#
	d|l^1NEڎNUv9bw֮-eV{œh:WK]p k_Ms`jtn$q4 Isw_|3|w^z6~y(HE94]R.^OσRSޞZE{f՞}~7Խw.=-(aTV.r#y!0qA,x.!G'ԅ#4AsՖ%o.H^S;ZpC `";
j'*[1mydaZY' 2UvxNܠS[V"x޵ӡBltW`>l/^d}3R'4d.^ >cѣ%r|=kgRU[mU҈dw+[MSaj&`hAI5Ad5BՒk 5ǻ1A*''rRKaԳ;L(r+@1%A[wF+ym3nV
x/Lw'/khXq#_z2W(܉Re.xtOJv"]Pxu]umbĻfaL|cjIg#"qgU)Nn/8D@E検1Ӽ)|0HWnVkCƏl?	WNQxϾ(]/恬 JI,Gf|kNqFxh>*O։7ezq1\s-)b.%9Lz)lrWIN lq;2g;.X1p	hK)#s:.!Z _%뱷*FHu?xY|X{7]~m5B=KIz1&R\>X斥@]Ecjnb䘚J1BSs[#T15ʘ9RՑ}:\-sG=X[|wV8yxdG>~F2n/<-H2oc14ߝ``$	zFb"@D`A&X#yd@1u,.VODSToǐd ,D=Q`8+c̳óƬlyu8ZGZ&Dɥjxi:+8$N8p- nDbIyxanӄU<!KzF׊N֚Ht9Y`!f=,x0,ZQqGQ6BhzP&l ߥ4

I8x[σ1m'Xr#qؿަ irr	f p"t%I7jD:PZsf+0ُߦ)?q1TfEW9_`cj?Ǥ2@\1)44MU7Qsj2^NDVϹ41>H83Ų??aSt,ڍy;>@ͅ@Ax8'bmbd_J<&<މe£Lx	2	8NvED*CۛqK^S~KQe|ja'{#)ee)Ňh)Қ,(^SҜo^E
b&6eE\b~̰=%Vh|"Q:@GR%Bv@$i'׏LT2V _ }|=41O	5i*|ugiYw߅	4OQuz!ѤtMV[a=-=QqoGQhJRm(2*AUfl=N̬gU}ǇQ˸@Z:l(F"mx֨O;(4|pз4 bnsQ(dSNSWu;HoWqbݷ"!>Jj.A@P oy&aCvJ	j)J>%<<}+"zVXrl'8*x.vC_<.^@cjQ>1lFf)m2JJB;=U燼Qx`	!u&)|02ٜ=3^ysCFfigjN	;v:Խs>172-az5bY:nDݹkf6<_űٖOq#[6 $<r$I"KY)5(noh?<&~(|~?MDUf 5Mo`Tp:;(hKuz7'0,qȔZ1 R.wj-aWM:%huͥljXjӁEzRLE<Dzw!yk@!/qdmfd2ڐ.aDaoAi˻>צ
_
OcBIM'QV}<w/)Nt_}/ϿE~:ݎ?>vTE6
NjZݎ>WڳTP+S=At8%VF1;$e~38v:vY}hxdwڌ{k%=8?d&>!{chģ߅AۃNw^߸w2pސFڤQbpAvw,"JO"? tͧ [tҴh 3KCE~[E88xBaaMfh=<^>}r .^_JU^EMN7Jnw6=jKi1b^iNT&D
&qޏŴegHeh4;t2L-U	׳lJuV,s(4}Dѣ*hd2!EO2aWp+OX&Z18<+GbXuTe5	1d;+Ӯu̯Ľmï3ף;%η|=Ǟв?=`}s>-,U;|-(=6,|&OG,0Rhz\uǳcW	VbX&vW_x3-I{u)ιA/gl2ݽ9_b6݌XipYĮt4]Ġo 4`U/u!%'fF^FTيXk9]卲_51T*?=F٧ Exej;&Ӹ
# 5J[hz{&Eb+6%&bz75zECX۰/}iAL;d 8M@/($J[_?ͅt0A
 + ΋Mh .܏)=Rtq05>]ضw=̐TK՚޲&#r(dQ蕊vtHݍG8ku!Uv&'v7ݲi@zOx1吇.߭, 7D|JX[n@#]pGE:!ê}bv|L(W!X%`?CgȂU!
3T~*P5__X^iy?>\4.i\cs]Ӹ溬quP[i^'m߅MUMUMUMUMUxXa
_&%6e=lz\4..i\jsl@ᠺoǯO[w0Ò¹QWRoGxk b^c%[[mRkb^c%[̫6k@1VV5XV++Vx䥗BQ5DCw)ړINRCة.9\^L0\V&YӃJ!U?qX~?Mip4+X䂳r2C,7q( d=yU)^/mT[]qh==%uQvXZ'څJsS}yi7axp1R0ag,pҩL k2P*)Sk˛t5.fwevC;7hBloVJ-e-_(j孁˖M]cf\PcU-ɺJ\&*eM0{pkx}")=۾HS0 0,
=5$,x*bO1|\?]Jj#1J(PzsEO~OSA//_;TGf-<|OOGʧᚄs@s@e-99<P97&Z;-順CImjin3C)biȫGt,8Qy[]ؿB;Q*.VRi IIn.=iuz8 W3	t_hӥm
@sf|\f	e<zX+cl3 	U8JS}v4`A	Ue)6H@)x5OI{Q"˒Fj-X@;2Qg2UP^-mgfoTZ֙x1 o;ahs8,Y#!GH!,1}%Bϋ{o_!FV.%d;;b~ûPqJooZ<Quɺm`u䅁:Dn (J=kuz93h<AppzE^7Uݭxz5r綤MU=-q${k=\		G`K*Qy٣ԃltem,2;40L"k,,ѪhUr[ѦhSiƧ֤<|dX[O60n:`˽֖R@A={9*=1觷Cm;pug>[mVM$,JدXYg=oLگ=-qjK	^SL)Ƕ"f~2$w(?Q4/(e+óLa1n0=Er?u(kUhqKAU`ς1%HVD/6~B}f\9"`r^r6X&î))[}d3t0 Tt`%j)#uC9[YS
@F8
(#.7d,17}	ݹS(*'g@g?zBmZܟfkWu?\2OޯJOOx
}yKxg7,ע4 <IplpqN|5:N<r"I<l.FɴNy|yrFxg4}z3_ 3߇ p0වGX4G,1bg?lE1N('>`4`!B `0|	qX"rF",P(0,1N( qD X̻êĞ(0<1SQ<[+fˊİx!L`L`'M`҄W%g9LY(<aY60qӈ`@\1`F
^@qR\W~d3I"
*˧[P	TကXW/{ 8 B|  ⼀+U+!6yBhb=ϘhO" 8  EP@ĸ10 f8I^am'B^Ba,Bʲ~/* \4І|@'8[ចuq { |1\:3(`/,p#b`N 	{1|>) Epx/HlPeNB|wlߝ/B@ ׇo@<,$g<A+.PBp ـXHW8b)"h5^\t2IV@r  !B(DXB>}"m~'8!o^C!BU>#k ~ya62WxY[H"=a</ JoM"BC(x80a jyGNX6 Xėp,!Q0J)@v!jogn'/P4'q-K<Ds B,PCSx7~dO <"@1
 .+O0+ &oyUtDxBȻäVEv#eLڼ/pXF JF4`mG+|?KTQOB?] 
1 \@'"$|D!~'DL?bDFQY,&|@O9Q@c#kt])`w1~BPuc<bYp@1
`HT1~*e@)^U	"(DXp#'@ >X	G9+~F%
vx +OU6 yl y1ʋ]çI^$YH>q)P&!"n|OEr~b3@*EE>Ev9^/~ | rfY<ТnO㓢's$MQ<-HߗE>S,ƢUܺ| ,!_ ?	+h/@D>%`!ـļ-GF<>zހApAIPq6D^H"Apn [	?"qC9 Ml+1/ѓ&h<ŶTx݄㈘#^DI#-CL"zrD*lE,ۉsnv㻐tȊxEB!1.JY>^@,"ˊx^|"Ls"ˋ	)/R,Bρ̊|6(\Q"||.A(emQ9}݂Xf'Fp6ʶ0EXdEƋ'B+n嗺4B!KyU"!q^d6ݛ'nDAz/aR؏b\{nf6\$pʪKg?`NTB9xkzlg=Fh}=%szi]86=s(&QN,_&vp6 8&M0rb_/!`R }xtjK<Z`ͼk\Ӡ_ :.r+w|FLYsii$ŉVY1gswY7uZS:pÑtN(-O7ª*FW3E/rAZTr[Hz=yڇ8ր+U]w
daoՁv9\:\BP@'˻/򗬒7.-.$qPă8!oIv˿;vTN[,B_
dO[8=&"erOyW<u;'8a?4`OO#7	Yb|Ǌ_^{rѨ3wyȷ"~-N7%	ɾE6d@K@x!Xzt6,jӵ*;b19]V2Bifa@k,gvx.n!Zafx=^,0<$	W1&ͪvuhRw!y.6(cX-*!ԟb^^s7DvoDC'y#!
ޒRB층[rF6pbcsZ|zw8G۰J?k:*d{c<gz1/5a&B<?gk;B^g>K]i}:PZ\G8?]uwZE]oL!MmPH>βsv /lcdE%7])9M`Okvw36o!SzEk*wߢRC_O)3"UpnWbt5'j磪/ruۓOǒ|j-:Hp˗\_eZ*-%gTvZc=hxc%$Ad\u8ft6~'ewc'3үxI
*3Z]݄,,w(Eb
Zw՚w	ez<|2>P72rvJ_˫krEtXRsZ&{`[ڈr(&d@]/bq&ll0HbE%$0ώJh1Dq +t6ڼ:M\ױ6$Є^PlUō?4@H߅]l32\S	qn:F+j%(YQ+#q^aeDVzz6apԛ+;RbpC[M3B1Qc_"25/G,#TLDȗM]@-L}4&j챼 NC9k-~	;r|'CAXo^9};a`GKеb@`QG@fw[i'
uw8s
:[f%9Pd&S&$+W-x[I$Wϔ51&Ro^RjHm>tr><;lṁ*t2L(c!YCNDA(iuȌ'SN(Ogs>)ƈF/ȳgx']($Ch`:r牔$5vP eV^ݵUIOc(M"hBSZgE\闂TȍMJ$LiLKh>؛2H nY$vsnw}^sIsE%0傰Lm0b=6d^iNlMAL~ޤ@1-ktm>SNWThIEvآt@1gU/g0mO˶apU=S~EWR-z<ro;m>U
v<vؾ$!ek,{RZ*V,bׯ

to]mU_>Ti$rovF Fc/L-I)L8e+VC 
 
5tFf==.	V}>9@
X%ra?CgȣU!W3T~|hP5ٰ*ݍquYO벞E6e=lz\5ubF^T%T%T%T%T|ǆu7jb\Xs]Ӹ溬qquYO벞6A͆v
9ȷsd_A%j%l5+Nj/AļJZYڤ9żJZYW8׀b^c%[̫Kk@%1VV6xI~(b́^Q\4Tl(a(aCj;ƟҤ׃SR-@g/_@Q9wbINJ~RҲVy.%nى 7"i%P4?zK,"$Ju0闺V>s=*u
3)
}a&㡆CݓM@#5lp#:{R\"X;I6<iNbl=ev=l#+^VҘ/+#9dN͝*(򦣳wTJ,ɊکZ0hGsT=T+$ı[ [))J'nNq7|iU]l`j,9*o^f9AWC%x\G2~R%lTAxbnS(|d9[DƓc|JЪdHO eg<-skFն?kÙ#Iſ?ųt*XΓfO{vcY.H->9<\XV}DN8d_wΎR!CLDF!Y0	IBr݅R5dYH9hمХST,vRHԐ%VFb7*[Υ4M9\NRh+&h~j}Kq8$D9}!,L0{QQIR<0H/딯HӘ<%_lj*k*QT{`ԃ ]aqY05:MSCAGYqOG\3#<^;FT)841B}JO$"Ѩ؄H=ȦwKqnN#.BEku"HG]55iK( RFniӭHЊfƉG%Q:O=<:!ٽW_N)eNrX	Rњi'77b\1aMXKzKqp+/ZlVh4Ƞ9/'(M-jbpvxVvms{[iy]us|,7 S{sp"f<V;Ctr]C}C$qh:nHY>$63q7TleP}J5lJ@Mj=
N1~1&Px_љtyTy.NPl]Yfx:7tʘO99nPx1.r9ye
'W˪i&kQOcv|{/V"<<tѼ{Yy&Y3i߂trUZ|<;B=7$*wӡXJ0yV9%4A[| uFP<:<XCxb
!6SZCCJkҘUWm_>Yʨ/飀(rʘ    > J*1݋&c:lFƌƽ)tMF1§z槐%F#
tuq01ڟO$jeg_q5qh3Az/R*aѦ''RztQ9J:tDۗ_fWv?EU3@C7ڜD8
=Y4EhQ>A5?ntg_o)C̽L:綏/_$D$[
Wk_EI~GTōQ&HZ]yibLnt-uw,J66"U>"F<={5y'X$1%ӻ[nNp렭:<-n.ǁlįl@L[Uל"IOWW<LU}7s;a|Y:o?<Au;Zj,ըUu6F9f=Jh'2+8^L?	/~chHhW}o!B:]"څvt"s;6bsm7TmK%Vy:gdÜ,>]B`ywudzϚ4d1_q ɶR=`*#?05TSM f"\=cK\B~LZI=[0E Zl3{ߣE%#gI@/*j"BMN7Jpu/MVKYVb\ΩӜ,"~vHm-dI('TeMdݢYcs,VqBcF(|,;#	<aV1J~2DlM|Be|
3d
Sn0-3k'e?2&VoЈqg.a^X'e95g%PO s+@Д(zsKtB9E+Bnᛗ/~Uo /w_\zx^nE1(dAj^[-{֥FZ9#Z܊~)]Ot=
qNk9~DN#"(,&B(!1 d8 
|)>0~<eJ]^ovon}e?]Oe-˙zy~QmK)GX	'X'yr1Z\	FQrW	+uxiΓ2$+%/O}_mfơu3|ft߻I	=qf|'`r?b|f&%v".#grGsN(f=>@y_x197c{n4@͍{=^r@+3g|=V9)|4`.$ 5tlU/R't쫯`48ҷȩ-spM/_0}JQkɠ԰pLߴA
FjkcT퐗[ilߴvC27zhq#/ntv7ٵ[K4d]Gm./YaۻϿMTԆ;6ጸ!^]ZTq}<D*DTLD۴66KwhHϋmstH;!8#Fqif`2גƕ֪LbBGz( Tb':u<S%7Q]Z@vI}m.qf߂HD$>^IimcT7*(ooO"=~=6m&LاdQاvW[j@Jm8&!I&mX1dL>1ЃJ;O$}Ӫ|1yY{9yLm8b=fVS[1I=-@R*_/Q[q学 R6<tc[	KUIX>{> w[$7ڈk,rWФ^<^0^l̸3c==ʃi5)	;
ب-8&n, |; ;e<0f&4]tYekL%xu?j @dP.rT]Z!!2aHC@7<C!#8A*2:S7:!X7ߒKLJ":Wo]붘RŪR*p_%,Ýs8LhMسHy
*jtU7TqO)CgRҷ1"P'n wc]ޭbc!q0N@cRT5Ep?9.V@CrcO7\tv镖$OzF	QK(R1G.C20s)qRjfq1{I젶=%ovI4Χ}x$:Ҳg¥x/D"D ԃ~sr-y&Pp}^ݤn4et"r.R	g|6/Up9t"0\#Y8?\dyDUMlu}F:BPwe1sFWWޫt5Ow/yfXS"CԠJ ap*^M1SNZkkut栂:_U%K\K [itRUF]{.Mm[pti7Zކwd)+3@d\GM.MjG%Jz:uN)tyvtyk ]nT)M>݋O>A\S # Automatically generated script: Tuesday July 13, 11:44 2010
\set noalias = 1
#
#  Creation script for voronoifracture operator
#

if ( "$arg1" == "" ) then
    echo This script is intended as a creation script
    exit
endif

# Node $arg1 (Sop/voronoifracture)
opexprlanguage -s hscript $arg1
ParmsFromVfl := 0;
PrefixDroppedParmName := 1;
UseDSParms := 1;
ForbidOutsideParms := 1;
LockContents := 1;
SaveSpareParms := 0;
CheckExternal := 1;
GzipContents := 1;
MakeDefault := 1;
PrefixDroppedParmLabel := 1;
UnlockOnCreate := 0;
<?xml version="1.0" encoding="UTF-8"?>
<shelfDocument>
  <!-- This file contains definitions of shelves, toolbars, and tools.
 It should not be hand-edited when it is being used by the application.
 Note, that two definitions of the same element are not allowed in
 a single file. -->

  <tool name="$HDA_TABLE_$HDA_NAME" label="$HDA_LABEL" icon="SOP_subnet">
    <toolMenuContext name="viewer">
      <contextNetType>SOP</contextNetType>
    </toolMenuContext>
    <toolMenuContext name="pop_viewer">
      <contextNetType>SOP</contextNetType>
    </toolMenuContext>
    <toolMenuContext name="network">
      <contextOpType>$HDA_TABLE/$HDA_NAME</contextOpType>
    </toolMenuContext>
    <toolSubmenu>Polygon</toolSubmenu>
    <script scriptType="python"><![CDATA[import soptoolutils

soptoolutils.genericTool(kwargs, '$HDA_NAME')]]></script>
  </tool>
</shelfDocument>
from collections import defaultdict

# This function builds two dictionaries with point number as the key: one with all original
# fracture pieces each point belonged to before clustering as its values, the other with 
# all original primitive numbers each point belonged to before fracturing.
# It assumes the following primitive attributes exist:
#     __origpt - the original Voronoi cell point that created the primitive - set by VoronoiSplit
#     __origprim - the original primitive number before fracturing, just set to $PR
#     __outside - whether the primitive is exterior or not - maintained within Fracture
def buildDicts(geo):
    origpieces = defaultdict(set)
    origprims = defaultdict(set)

    # the attribute that holds the original piece number (pre-clustering)
    origpieceattr = geo.findPrimAttrib('__origpt')
    # the attribute that holds the original primitive (created pre-fracturing)
    origprimattr = geo.findPrimAttrib('__origprim')
    
    # set of all outside primitives, only points on these are interesting for edge cleanup
    outsideprims = frozenset(geo.globPrims('@__outside==1'))
    # set of all cluster primitives, created by converting the clusterpts group to prims in SOPs
    clusterprims = frozenset(geo.globPrims('__clusterprims'))

    # loop through each primitive and put its attr values into the dictionary for all its points
    for pr in (outsideprims & clusterprims):
        origpiece = pr.intAttribValue(origpieceattr)
        origprim = pr.intAttribValue(origprimattr)
        for pt in (v.point().number() for v in pr.vertices()):
            origpieces[pt].add(origpiece)
            origprims[pt].add(origprim)

    return (origpieces, origprims)


# This function returns a list of edges (as a list of 2-tuples of int) that can be Dissolved
# to remove all extraneous external edges after a cluster operation in the Fracture SOP.
# 
#
# It assumes that these groups have been created in SOPs:
#     __clusterpts - group comprised of all external points where pieces have been fused
#     __unsharedpts - any points belonging to an unshared edge
#                     (this will always be empty when "Create Inside Surfaces" is off)
# and attributes:
#     __insidept - whether the point has any interior primitives as well
#     __neighbours - a one-based multi-valued attribute of the point's neighbours
def findClusterEdges(geo):
    origpieces, origprims = buildDicts(geo)

    # create sets representing the various groups
    unsharedpts = frozenset(p for p in geo.globPoints('__unsharedpts'))
    # unshared points are ineligible for dissolving their edges
    clusterpts = [p for p in geo.globPoints('__clusterpts') if p not in unsharedpts]
    clusterptnums = frozenset(p.number() for p in clusterpts)
    insideptnums = frozenset(p.number() for p in geo.globPoints('@__insidept==1'))
    nbrattr = geo.findPointAttrib('__neighbours')    
    edges = []

    for p in clusterpts:
        ptnum = p.number()
        origpiecespt = origpieces[ptnum]
        origprimspt = origprims[ptnum]
        inside = ptnum in insideptnums
        # The get_neighbours VOP SOP stores neighbour ptnums+1 to get around lack of default values
        # in VEX addattribute function (so zero is used as padding in the neighbours array.)
        nbrs = [int(n-1) for n in p.floatListAttribValue(nbrattr) if n > 0]
        # For each point neighbour, check if the edge can be dissolved. The various conditions
        # should ensure that the Dissolve will not end up deleting any necessary polys.
        for n in nbrs:
            if (n > ptnum and                                    #only consider each edge once, when ptnum < n
                n in clusterptnums and                           #neighbour pt in clusterpts group                
                len(origpiecespt & origpieces[n]) >= 2 and       #points are along edge combining at least two pieces
                len(origprimspt & origprims[n]) == 1 and         #points are not along an edge of original polygon
                not (inside and n in insideptnums)):             #not between two points on an inside/outside edge
                edges.append((ptnum, n))

    return edges
    PythonModule/IsExpr        PythonModule/IsPython       PythonModule/IsScript       PythonModule/Source     INDX              DialogScript      gL<   CreateScript  g  3L<   TypePropertiesOptions     L<   Help      L<   Tools.shelf    hL<   Contents.gz    -L<   ExtraFileOptions  B   L<# Dialog script for voronoifracturepoints automatically generated 07/13/10 11:44:35

{
    name	voronoifracturepoints
    script	voronoifracturepoints
    label	"Voronoi Fracture Points"

    help {
	""
    }

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

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

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

    group {
	name	"folder0_1_1"
	label	"Interior"

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

    group {
	name	"folder0_1_2"
	label	"Exterior"

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

}
# Automatically generated script: Tuesday July 13, 11:44 2010
\set noalias = 1
#
#  Creation script for voronoifracturepoints operator
#

if ( "$arg1" == "" ) then
    echo This script is intended as a creation script
    exit
endif

# Node $arg1 (Sop/voronoifracturepoints)
opexprlanguage -s hscript $arg1
ParmsFromVfl := 0;
PrefixDroppedParmName := 0;
UseDSParms := 1;
ForbidOutsideParms := 1;
LockContents := 1;
SaveSpareParms := 0;
CheckExternal := 1;
GzipContents := 1;
MakeDefault := 1;
PrefixDroppedParmLabel := 0;
UnlockOnCreate := 0;
<?xml version="1.0" encoding="UTF-8"?>
<shelfDocument>
  <!-- This file contains definitions of shelves, toolbars, and tools.
 It should not be hand-edited when it is being used by the application.
 Note, that two definitions of the same element are not allowed in
 a single file. -->

  <tool name="$HDA_TABLE_$HDA_NAME" label="$HDA_LABEL" icon="SOP_subnet">
    <toolMenuContext name="viewer">
      <contextNetType>SOP</contextNetType>
    </toolMenuContext>
    <toolMenuContext name="pop_viewer">
      <contextNetType>SOP</contextNetType>
    </toolMenuContext>
    <toolMenuContext name="network">
      <contextOpType>$HDA_TABLE/$HDA_NAME</contextOpType>
    </toolMenuContext>
    <toolSubmenu>Utility</toolSubmenu>
    <script scriptType="python"><![CDATA[import soptoolutils

soptoolutils.genericTool(kwargs, '$HDA_NAME')]]></script>
  </tool>
</shelfDocument>
      }ےFXM~h$֫یtw{.i"*HV~GO#|2@ X Ъ('L<y6GX2(!j؆ξДfs-Lvϗ&gϓΏ^>~|_/.6{:y~WA<MMp6wiA4C_ەN|⫿<?
_7/_dNQҋO?}/1L~~jZ<ig|@/04ɮ9ڿ*6eRzɓ~_ѫ;w}Oa8Kgkxz4ziԹ]{sb<W!Ujtt?'/oX.̈́]7|ξ¯nd2xOFo(dd^oIivhgHs>o|qͧskz'It7|ӜlrO>ю^=I{:^x	g{7(N'a	R]ז,?~+2WAʿ'Ip+J|d^OYͼЂ݄}W8JgM^ZFONtK͋L<Mmmgo5K?Z,q˽$s;[v'cs6S1Kvk7+![vip:Tߜͳ-r%X/hUYl`_YїgRy>7I?glU`zJsڙ|}C8.g_D7umO;ڴq
:IwD̋̋0UxN?ϊ՚}%%m*wJ+1zyŴ\m~Μ&Zatúuh`QQe}N|YLd
O`z1dL'I[odV|l6 1.JDQ[5] >Ś.=:^]gNhma7Shܜ~[v$}r+?fڰ~ۇ+1TR}XgwH S.$2"2htTD]U7Æk0`}[\-8ydo/H8$ջQyrIڶ,8_T)Oa]2o`sKvůOaw}Vuyϓ~H W,}~z0Tզ,d_WRfQ`\yf)XaX&n04A< 6XWׅ"_(8,bg8mp_m1,L+`9}?no] 2;֛zqG,8m
Z+]pTu5+(k:mKN\aqEgZǢ7|9QhY%⨖jvy	5':qt|UXn஢ڮ,6ϵTt=vO:0tgFLESmB~%?ŋwu˿,S
mSg=BC140xqW|u7DWfUO*,@jS*Iz?+dakm?쀡ٶv\GsyF{LYPay>Ả p34fJ[a:S+ $Iv%G5~@KDqm^-W0Wvýa"}P}2wu廙)^4mUű
~PkJi:'Lud^ON3p*-g=!wiڸ=1e'yl:l +~s y'y!: VWze(:Y6vp:Tt	qEl!&(SX7xo^fCM׉:ga>8+!I]>PvARmsϣvb	K┑1)ݼRcO$#'lɕUqmԘ=C^S 0~|3Csy3͛Ы̢/{V[0(boKXkRtNMHIG;5!E'ԄLSRtNMHF;5!E'Ԅ\S"^&HtkA 8ZH@膣$!n8zH@ 膣$H"݌c$X"n-ģK4K$ 	HtñDp,D7K$ 	HtñD	HtñDp,DCKtK$ 	HtñDp,D7K$ 	H8H@%c$X"n-H8H@%c$X"n8H@AñDVMf>gy`р/r~kSm~#yJ(ȧBDNgOCy(>uz>Q<Qڋ`EwVBc FBߖ,պ	f`)4@j>^ M![3C]]3Gz~mGWp|D
00iH<ܸ
P1ZuS5uo}xԋ=NLfeYOtqsY{aG㧜jut:y&%0XGDg0ʚIS/`YR_N|T_UbE`qʎT|\]PF\V-A؀=#/ٓ8aiT^@Nlg5mPe[^+!u`E!Mc]y0#t6/Ge8ZH1Yy73$R?Qn7RnKi./ʑ-C >PzP_Q:/
#.-:/|~j)\W5])oN,씗bfY8MMّM@>,9X	&~\K)ߧrsQĩ`as"-¥SUΤ͆	֒BQs\^s*?`t"m?'ZNz~KI{B_ι743o/eflWA*DK243Ń#?kAOf+*k󐎶Vsn4P%6lvw6Ux<񥠍u7:-
y/t(j)phhO-fdϩmj`#p]vdYfqY%pEJS$wQ{mDkcnmd*D>hۨ!mFVxW6pCqgKw<wճ0|$X*1\8#>>R{RM5G-#w2,c$zzx,R2Z1#cHk#FHM=e=qSLQa+UEC|a4&=pwU\jc$41	~KxA8򽫛fMO旮T%QL~tɡK?؈<rj6p*qNhrnI&cafBcz5En!)<E%'牡h2.HTZ>,	:i@ĿTfMx@Dҥ9nnao=\
qtXn2U4oDRLQ>lѺ-vCL"xs8-oq7HIb/8p'UA̢\ymvX0-:FTNtvO{KJ\!aFqO1J8;{"PRqɧÒh=*B-\rFv{U
zκ 4[*n9qtON:A)KP&]bp/ܳ,Su$NdJMVQwT	~xFT6Lj}[S//e8m6WQaOB|vz 4boU/`*6َ>^]IY`z7 7/^NnU*)Ʊ,k
<DQǻ?Tuul[sǵߍI.JnOb&B%%QZvOuDw-u
N֑E;<xE'aяaU{b%]{	e]z&2EYV~PEcHcHcH|חDL',yn	U#P7/mu
1TQi8S)-8kSuG@/-Х@!UǢ(
Z.>hJ-ma)ytOJ!	Q['	&c_NA=uQ7ѾB8t:}uo(9 4>rۉ)Б{"hH:ԃQ!tg^Z7||>:dkz?-+?b l[D;TJ9G-8Mt.(ABWEF'znj N	Y;>S9oyúN!d,k(ǹ8ILmU/nJBo'R)n%kxj6G/!iG{0^+UU|qQ&>~eؖ͞Z#[_$[ә,V˳l4CS[_53PU+$R,D*.Mv::sCmw|auo}fV11+Yi*͊O'XT}O|Y0ezD;k@:d|QQ'+*weAűEZVs˙I=7
ܝސ]vh߻%BĕHYu^n=Oڝ'+.6TRmeRL&䇲bLrkA]fAohɲhE f-M9cW;e%kibs]>W(Yݵꊩ5{ÀL3k+:CZD$btyP,qb7gYx2ز$??0L٧3̆8ɗqg9(rZYpE]uGa0!G0	Pj]nYkBQ|@鎄@Xq<hg^/ҁucٳgDUtT/_xiB]YhP:h rF!g&)!G> )#Q㎆*2&ӍOq;9︅0f<xv-qWUG%e.ߞ՟oA۬lAC5MǱGKHdi?F&XxI'[Yf6BP*,Dw֏*&`hu{սir֕.n=[^%).?^TEu\f`(8)6 
ÆoPY\j$Ȣ_qwF%F5;XYG[yjn_G)%rgaur?SfusN"P3%\7XQMRCIMCnЀ4`DP.ԧDn42wc6}pHTLu@Rh>P (L~{_!3P	67n8S]{*64|*>Tq e!k{DùReum쇊]W$3x6Iƛ>Eb͌KE*f\U~-\<ͤm\k#lP uDEZ0TF]Pl1jbheVu}gQ<V]'bJf}BMW.Nfˆw(Ȋ-8^1Jm7QR$΁CIJIUL _#l&昞[Җb8$Jo c
~r(v䳋FTZ~n8ŲEKAl:/Wl-N
ǦlmIҪddh`MSaɺ'dP^hW^|'|as~RjE湸g_bV;HpYKU&Kѧb#ZBs?o) hbao#']!eܔ dp	Q_"u%ΰxjײ5t:R摾w:Kmtw}u|oɬh9z.OZr8:Zwy%r0[
{drqq޲"ΟM:#yKai_W*JnXBgbӨxIu|4ܑ&u[!I	 W>
=a>ս幷v)$0/4zJNDſ)kn8e$3e0Gxqņ7Q*չ&}s4>B<9_MK%=H	^W7z${bx@p8nCG7lGqU׵3	"B^ il<+|lG4w>7)Fr^vh^ cvОD2]2{}qzd dRG8r
L%rVyjh2W)2zזlsL3CuK(u[I{@u@}9$;uEkQƈפC{VT)ryͽ͆'oXJ.㬍k@3ZƿO]6aI3OH$[K]G޽YDuHtO
eeΉ|wPC9j񊼈\ee4GNYjvj*ڪ`JI{"ޏB%pA7oGk]C9rGgea°%C;PLG_Q~,9b|szKI0z`ӠUKux6ػ[wER}[˔A	-k\.eKkNW-Runm Nom4c|cT*Rl&JciOQFc(hp;E)1Y1v`Ft0zݟa)%>Z
$rSKQ8X~Cv
O6`j?M1mסi[#Ntp}]wfSCI):S$, _LRnÅZD^;cI,xV27DZZ
N;ko$kXp[gt+/۩rW(c\J2ē1FsWGut\E%⎖$	kYx)b_LyyEJNWXcvTMy;~ӂO?S3XOa{.M5_^~
4ëϿ|(Kրݡmfg\*OZKY5Nc&sP9%Ґ%KwZwwB21{zUrM샳X}+a8Zn:UZrsxQKlkRlGSaZ#;gI[=tGwj,E9QW4wr=q	qG>Bݗε?НXj_bhdzB>#Zxվu+C	5CF0CEd1)ŠKQִm~пj)f+5#ydgR b"_~{!il&d.;FDihV~<uΝ/ib(knVNj6$`S4T`&-P&jZ,jo=\#
ڣ~;	$أ5eݑY>&5=v>^wZ<22F?*#-Y!3	\a 3z'K!`i:`g4֢gvGzx,-BuvՊUَc2:&5OLU,dr]7lK3m]~1W@D4 lUmipQP?0gtH*X<icDV6PI'eœ'p8KaS&k)g}=ca4왨#$DVa#:)EtpUF!D?_[Ki7ʺ`JfSꞤwlS(HfW^~bŷ\tCgq>F&\80uOI$@Fd<ܳIsJ =%={J@F=%2]m9߽fGۖ0ZNUҨ7f6UzC&3KRԏ[YC+;kIGܤ#^E'Tz +PӽfmfNx6D>&Z:~қE7jd۵Gl
ِhhdnX|z4PD+{GqkԸѺ>>|ZpmsNDKWu<MU̦'Xx	t3Z#y0%:W_M(*D;ܬ&EUU-亂h2<$Ցp|=$z=jDZICOT;O'2`bJnlJ!fc/ATM3:&{^bqAA.UhjL%L%PWSav4(5IԠi4+(9nBIe EDk5rSZEmmxu0%y:.>n@j$ֻ)uN	<DҕkgW	lK_\-}`yeK_M[Eˍmܙm{7%a˚}kCS|f)*l}NcA#A3D8ZN:N6];EM'hiuSE~tÝ+\Ü}L@aJͻ'q6JKw*cwGhP<UЪbT`,VxGqd##7Su7Z4!VoKSO0Lȵ
s%`,]8q}2pKtHAUϿPuEՎiU;K
&cF V0U;N>3FF*x"`@٢qE"AE=;ބe4Y;!)u>
r:LdtHq(D+xђRutyDTX(BTԀCO:TzNVѡwfC,C~Sr"-i8X:Ǥp\I7>=qDyxMuϱYV?Ut2mm SԔajȤE rhb9<}fiMz$(*JYhf9tN+-u/ՋdMM{V9r*m8|Hhto3vZaYn+J^
"JTԿ{؜Fx[`sE]u%#%GɌn2I=%ŁhEsxjuI<rKke(1mHѰFw9fE?A\VUlJI[*e&%Fۓ$Y5ժ͆b̿AH-[!-N0eahԤYC:H%&O?UĂ ;[DF7DF5<xF1)غ83=)>@)P4@dJ)cvhv(b	TJ~0mI1akeXSzP3BR5kZE\ Q
H\>eY}ٯgگNvL!-y7hZ5 Z£D0ֽ$QYR?={# '+x6>QMdruQI)Y+xv&;1$L)[ʷw7~Y5U)9cqpFJW܈es&UGOd ,<?!i6^S6Z7Ip%/`M:2mf4uڌM};oj*ٵ,xl_y0Bd%	Du}@?G=&BU
77ӅϣXC6Z.PmS1o$Kxj㒽\z*
UdCoG7$IABlҡvIQ-ט j7AEV3h5M`8Eb6_+挬X@Ei`[PiwȽJ⨦crccXTJ%bEhu<G'5fB8x/@vH$×"8MU%鑑aZCy
=<j:H3P=TB||*!RR	3rVQ	i@UBFQ#;}Ge㟪ThJf+=e[ u9'h`ĲF!Ma	U:n8Jn6"wb+wOB>b:nь~nb$粋=4 %,Wkj)8ZjHR^Y} u4/Z6mi]x&Q|˂d=$x&#B쭂$"CUIĄ(l.$dk@Ӎ<SW8UA!DJ<<A
#"mnW2E5VMf/L&5$vd1#c<hx.k"2G9:<dzIԁLn !tK^ .R8_l*K6~^[NeqtZ)^2$(
W8d	^3m$}FMXߖLi$(%G.{@OJ)@r*¿Ʋ]Zm)mk:b+QF6goЦ66,gR`iT&6=#i-RQS"Ch:$xsT1 0շ(XIVɒ=ȚHǓǱGTУQ>5 a]U dtIG(]Ĳ'^67; nɴx1zO)qS;zzJ ^s>3Q7/^)c|-QXj _&b>SUw0JOBɚb)Ju'PiZzvgڌ">ȔO^n|M\ŃVh{&{xwϗśɜͳҚŭ5K%h	24GV3mZ*)vf몏Z9dOl$f21.r{<;ZBfif(V^\v5Q	䋨m2BM!Ӳf*NQ7S31ZڝPHH =:YNJR|7~݇~-     INDX              DialogScript      HQ   CreateScript    (HQ   TypePropertiesOptions     HQ   Help      HQ   Contents.gz    	;HQ   PreFirstCreate     G   ExtraFileOptions  _   HQ# Dialog script for assemble automatically generated 06/12/08 18:52:17

{
    name	assemble
    script	Reassemble
    label	Assemble

    help {
	""
    }

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

    parm {
	name	"group"
	label	"Group"
	type	string
	default	{ "" }
	menutoggle	{
	    [ "opmenu -l delete__no_change group" ]
	}
	range	{ 0 1 }
	export	none
	bindselector prims "Primitives to Finalize"
	    "Select the geometry to finalize and right click to complete"
	    0 1 poly 0 "" 0
    }
    parm {
	name	"inside_group"
	label	"Inside Group"
	type	string
	default	{ "inside" }
	menutoggle	{
	    [ "opmenu -l delete__no_change group" ]
	}
	range	{ 0 1 }
	export	none
    }
    parm {
	name	"outside_group"
	label	"Output Prefix"
	type	string
	default	{ "piece" }
	range	{ 0 1 }
	export	none
    }
    parm {
	name	"connect"
	label	"Connect Inside Edges"
	type	toggle
	default	{ "0" }
	range	{ 0 1 }
	export	none
    }
    parm {
	name	"doCusp"
	label	"Cusp Edges"
	type	toggle
	default	{ "0" }
	range	{ 0 1 }
	export	none
    }
}
# Automatically generated script: Thursday June 12, 18:52
\set noalias = 1
#
#  Creation script for assemble operator
#

if ( "$arg1" == "" ) then
    echo This script is intended as a creation script
    exit
endif

# Node $arg1 (Sop/assemble)
opspareds "" $arg1
opexprlanguage -s hscript $arg1
ParmsFromVfl := 1;
PrefixDroppedParmName := 1;
UseDSParms := 1;
ForbidOutsideParms := 1;
LockContents := 1;
SaveSpareParms := 1;
CheckExternal := 1;
GzipContents := 1;
MakeDefault := 1;
PrefixDroppedParmLabel := 1;
UnlockOnCreate := 0;
      [o6#`ZKz?XWð!{nʤ&Q~ߟ$KrH1sѤ)dy:^(W
_}tbx8t.3MFGxf=te ATtuR<NX"Frk"/i1s<s;F<ѢۋՊ2a[/pf?G`2qg1
|7HCmlmEl>+0]Z]	HÜs	.?ѦdWu9K
`oh^].2Zd)fe,Q4rڌDoA{
\JXVh}
	8R+`v	G܋J乽WYfFRX΅ col4أ$
ieoN* xBَO0/xs^C:Ȣ\Tn*Yi`4-NG]L0w?9M ,X$DlpG(s)hCAs([
03UOٸHc߉΁߽ a5hi^0*{e/^"ϳgg@Ae`W0J*W$Nvw+
6_߆۫Wzջwac|z褳>/{q`{ThO߳]'yЋ+m%z>qԽzN>'7zJ`KFBV*9*|\\EMV)C K;Ȯ	~aR	[xN]Iۏ&Ƴp|p6%)=Sba:<b'w==ې]k6l-/_`ʻc&O`;hhA??8$JOV@T(4JR'`W@wB+ŶhJzYd͂twR)jxl'ЋC#n|2pOx=5<a|hTJa:*݃yZ?ְn4be#~Ů˚t7%`+3sB<-8ݓg몮(ÎshXYm;+yiYa
ۜή9*H_n$r,g rY@Y@\	p=sȪkqk4Hk5FӚiѸfZ#i4&67T˙Dnk"rf5j9ۚH2k鹳{3n5FifZ#i4HoS{Y;]%ײ*j,&̽(K琯EYeAyRk$yU2kXz^#QΫyUv^3r^̫\HDe^Uort9gN^Ӈ.۶'~]ݩk{IH?Eϴ/^A຺Wr_@]LBd#i02bVtAA	K\z+z\.|.r0[$uS&ื._TJR눺h>`FDIY2h^̓TT#"^q>&έF#u3q?mqOi{D^ތeAonmo,z<u;*T@D<rhxT3DC.#Rc3t޶U0?,yFݒM;wg++\aJ\d"f~n.2ʐo٩^ܩC%'|NfN7tm|˼[!}{+wݯy]#W` "Nέ(\ G[I@[֦['ڐk{+=yٙlFLIK=Ps$?P?!2Ar=}Ǜ!:xѽc82HyӔ(8Y0Gj[T.P2=>WHVJ~~_ېRizt23	O0<L sO|;  }lƚDӍ-?"u`z27%>ߥ)gn[
MsOX05^#<xӍ4uNEmaujxo<:g,h8V+`w*ǟ=Gv+$p䋊tP`n.ҝ;Vq󯨯f5h4tyX^s<juՋ4A<0_,QS{q74;mC	}3uMQ!IOzOA  omsbind -t sop assemble:group prims "Primitives to Finalize" "Select the geometry to finalize and right click to complete" 0 1 poly 0 "" 0
    PreFirstCreate/IsExpr        PreFirstCreate/IsPython        PreFirstCreate/IsScript       PreFirstCreate/Source     INDX              DialogScript      FqX   CreateScript    "F6   TypePropertiesOptions     FqX   Contents.gz    KF6   Help  A    FqX   PreFirstCreate  A   C   ExtraFileOptions     FqX# Dialog script for color automatically generated 06/14/07 11:03:29

{
    name	color
    script	color
    label	Color

    help {
	""
    }

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

    parm {
	name	"group"
	label	"Group"
	type	string
	default	{ "" }
	menutoggle	{
	    [ "opmenu -l constant group" ]
	}
	range	{ 0 1 }
	export	none
	parmtag	{ "autoscope" "0000000000000000" }
	bindselector uveditselect "Assign Colors"
	    "Select the geometry to apply colors to and right click to complete"
	    0 1 all 0 grouptype 0
    }
    parm {
	name	"grouptype"
	label	"Group Type"
	type	integer
	default	{ "0" }
	menu	{
	    "guess"	"Guess from Group"
	    "vertices"	"Vertices"
	    "edges"	"Edges"
	    "points"	"Points"
	    "prims"	"Primitives"
	}
	range	{ 0 10 }
	export	none
	parmtag	{ "autoscope" "0000" }
    }
    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"
	}
	range	{ 0 10 }
	export	all
	parmtag	{ "autoscope" "0000" }
    }
    parm {
	name	"color"
	label	"Color"
	type	color
	size	3
	default	{ "1" "1" "1" }
	disablewhen	"{ colortype == 1 } { colortype == 2 }"
	range	{ 0 1 }
	export	all
	parmtag	{ "autoscope" "0000" }
    }
    parm {
	name	"seed"
	label	"Seed"
	type	float
	default	{ "0" }
	disablewhen	"{ colortype == 0 } { colortype == 1 }"
	range	{ 0 10 }
	export	none
	parmtag	{ "autoscope" "0000" }
    }
}
# Automatically generated script: Monday August 20, 18:09
\set noalias = 1
#
#  Creation script for color operator
#

if ( "$arg1" == "" ) then
    echo This script is intended as a creation script
    exit
endif

# Node $arg1 (Sop/color)
opspareds "" $arg1
opexprlanguage -s hscript $arg1
ParmsFromVfl := 1;
PrefixDroppedParmName := 1;
UseDSParms := 1;
ForbidOutsideParms := 1;
LockContents := 1;
CheckExternal := 1;
GzipContents := 1;
MakeDefault := 1;
PrefixDroppedParmLabel := 1;
UnlockOnCreate := 0;
      ko6I芡@(IekvpYʒ i"},Y6S̍kImH|IsR?`[ŋ˲,"/ˢFQк'`oҠ[j٨
0O$#z#@ϑLҦ'A>F&~C̲M'(9#O $yDya%GFh
c#L<%	Ogיw#.oR/0̡x0$O"?Qa]C{YP\ JZ3k[-,ql˰mׁ4PniތO,?'xS=aĮuhQ}*m#~?'N`dr?S92x<sL"穗ޘaUvvơbی![.`4ޞN_=289S*`JI+yge1z-J5Z?mNu0#a:dp70\?	Iʌ#:ݞxq3Gb4`KPSgbU`B,L˔)<Җ>COD򢙨[abP[&{L{;BۆrYzKĉ;X؎]ޥn%T6m.mL^HA=pɫ Fw4ᮈsv?|A'h=*+؅coZrLABEE:-Vj LsQJ62RتD_+D9 6we*_&xM.m~aSc=3Z޻dx_:1V+r\
 V˴:[TlX|Mcl}N0y0$ޖ~Dc-dĤm<MդBP1;>8}sޮro=EB|!ת¢nz5,Mdoܓ{;ErMo}e`{Q
YLwM뚄={3r[1h~z20lGu	fW!᦭Ҋ5XNxW8]Jz;ed~sK\^W>BB!g
ymUt:n![tܥתt}0^bMBֻ[uӡ̄4~Ť6ҔZioWwm-zF7UQ·@K ,fyM
yi}ߖ5(B즟LϦ˗kB7ce`mFj:M}Xu^\鹛&-0=btm-h.púW=ڤZKr aH/c5l!|2[.3`l7 q?"r,>UGÃe+wCe԰}Ah-An(H
1d`Gla5&4K;/?~Жw6Z1>O<eȻ{;  omsbind -t sop color:group uveditselect "Assign Colors" "Select the geometry to apply colors to and right click to complete" 0 1 all 0 grouptype 0    PreFirstCreate/IsExpr        PreFirstCreate/IsPython        PreFirstCreate/IsScript       PreFirstCreate/Source     INDX              DialogScript      7KaB   CreateScript  7  Ka   TypePropertiesOptions  I   KaB   Help  5    KaB   Contents.gz  5  xKa   ExtraFileOptions     KaB# Dialog script for clean automatically generated 01/28/10 14:57:54

{
    name	clean
    script	clean
    label	Clean

    help {
	""
    }

    parm {
	name	"delunusedpts"
	label	"Remove Unused Points"
	type	toggle
	default	{ "1" }
	range	{ 0 1 }
	export	all
    }
    parm {
	name	"deldegengeo"
	label	"Remove Degenerate Primitives"
	type	toggle
	default	{ "1" }
	range	{ 0 1 }
	export	all
    }
    parm {
	name	"fusepts"
	label	"Consolidate Points"
	type	toggle
	default	{ "0" }
	range	{ 0 1 }
	export	all
    }
    parm {
	name	"orientpoly"
	label	"Orient Polygons"
	type	toggle
	default	{ "0" }
	range	{ 0 1 }
	export	all
    }
    parm {
	name	"dodelattribs"
	label	"Remove Attributes"
	type	toggle
	nolabel
	joinnext
	default	{ "0" }
	range	{ 0 1 }
	export	none
    }
    parm {
	name	"delattribs"
	label	"Remove Attribs"
	type	string
	default	{ "*" }
	disablewhen	"{ dodelattribs == 0 }"
	range	{ 0 1 }
	export	none
    }
    parm {
	name	"dodelgroups"
	label	"Remove Groups"
	type	toggle
	nolabel
	joinnext
	default	{ "0" }
	range	{ 0 1 }
	export	none
    }
    parm {
	name	"delgroups"
	label	"Remove Groups"
	type	string
	default	{ "*" }
	disablewhen	"{ dodelgroups == 0 }"
	range	{ 0 1 }
	export	none
    }
    parm {
	name	"delnans"
	label	"Remove NANs"
	type	toggle
	default	{ "1" }
	range	{ 0 1 }
	export	none
    }
}
# Automatically generated script: Thursday January 28, 14:59
\set noalias = 1
#
#  Creation script for clean operator
#

if ( "$arg1" == "" ) then
    echo This script is intended as a creation script
    exit
endif

# Node $arg1 (Sop/clean)
opexprlanguage -s hscript $arg1
ParmsFromVfl := 0;
PrefixDroppedParmName := 1;
UseDSParms := 1;
ForbidOutsideParms := 1;
LockContents := 1;
SaveSpareParms := 0;
CheckExternal := 1;
GzipContents := 1;
MakeDefault := 1;
PrefixDroppedParmLabel := 1;
UnlockOnCreate := 0;
      =rGpx³@xgyhc 9DOñL*HZg@>(qz}جϪA@@eeYYYG:&ǲ,à麪[Fs [9L~L:hיNqEnEn<stI\dwꞍYxa'/}J^$18}vί^+G<s'i8C'zE64&@c2͖;K:Ͼ?{OOhGI;G%2'@~_U;S|_Ǭ+TyzAW,U	# F|Ym|<>\$(̳~		SW'C;`^:Y@ʯK-پ,Shɿ]-}.nEL?bL,^)E/뤇&UR.լv~sp~</w?)+/_<>7e71d%JN*9(ԉϕ4Uf3hwdPq)F
2+P4Ӈ7 Yzi
 K&~ %F4U^8c4/$` e2/{W$4l[9&e;NA	wnbIA>T衇}Q٤d혪3mnY>g>IK멾sIn,̠{Qd{E!=---bCzA$`%xnHr 2XwI
A<ucFg"mkd""'^Jz]ׯhGyOo>ɍڛFqmyqiBݽVVQJhO Y~͉o`gP(n<&UUI*1fIu)#	3#/Y]x="`S?_Ay!ڃvOb^9~*,dVҲAIrhy"4%
d9$F&74dUgRwyfKgtLT@MUGʹ[):9v7QX{K/P@@EÁ>!'ϞPO9i2P(˨h<e|Pы2:/c@Rjw6`~[R
S A5ЅFx$ІbSJ!KʥPΩ>EP~e2ԟb_LPN>eMY`Q	&}gDk]AOcP?	<TbK&?	+ŤNeRmg)v'㗏OC)?C*ssA^O*^g_=>Ss?	
L]# d(O_T{1
Dծy_f=*ȡb) h`u.uV)$r[\¿a>iՂ/R1d5Ot"i师q6ka:dl}&.(ne.|ܐ[pCL3)'sۍ[ŷ/_Q)t|wv=5ԅZ;izPl.0pܩhdʙD~iN9z_OҕjB<PG EUA+FQ;\辚5ʮWW3)H:T2gJ՟*U `	TܪnvձΌދW=	SsW-@%8R)tt/0G`2hc0 ~wW^ЊF lq]d#Ϡu4/퐘#$1,+ש8buBѝ$f3S,HM+~	쨃jıI㸊N~TLY|)u.2o({/pz9IB>!9:7|E)8gI.+}52$0Jw.HRy8]8Yi>4h7;'i:F*9X"cgD?{3qWڶPdLe':= {1̙ʂw0s^:67CǇN;<zuU:{w
F$`uUx3fL hCFCe ?|7' 	YZ" c"PnO37=n|~3L?(jiHUԽ8Ȗ6MyI>0}Ɖ&e'Vv~Rp1_>>Ҵ'{z|ŞҤ#B~{tE3RkR2]yf,/\|Ӵ˷^ȷi4˹HՁ9<GhEoόz=u<ڞ;e)ο-e"_p(Bm*,qID!@V"bNL:&D:UѢi'Zh!l.FCMi	2פ,	ƣ $XE#T4g7"dE/T@
Zaa3
V4H&pFCRmg o`2=.!֊^ι!2xʌ""R,#öD`5r$Vh
m/9;kלW뾲>)JHHacf`Ub[
)LUJzZE3U"[@LMܟ@-ɷNFBBZD&$5?`k"c"lc[ڈ*uQUV}k]ۂ[nEUfUMJrҪZ0/˦VVm]a3v7)¸7-m#C Zd٦":Ԑyw&Ԡ"YEFY|i\<!O0@U<*v2ټz Zۂz騪Mr$[	n@C~ ѡuP	Tm[E`]qTcR'c&neiEhڵJ,˝P*KZƢǂʐ\ĺiá\1ְy:k=.~E(zsUDUVŊz[lȪ0"EIBxUɧ5%\Xc%ZBKpquEW7/[0G["@m@e]WRnj]R9"CXC*T}Kgtôl"9B4
g [NBr>Do	AdHwE`%G!WCo7砻rMm^22y1yLC#nV[v&Յd@o	#p46z+HuD+Ŵ
O1z4mӛK;Zkm\a<-TjYWoYCZt
YNh]c"C}0b1Zߝ?7)nM` T=q焗BQ<]`k}JlNiZ/R :$pM.áo^zބ/Ar\s?EN4F
:9iӹ))bXx'0G{sm)Rp:<~~&x?NJbe{z!e.W~%Ʉ,mL7ɤQ !bOݹ@>oQju:"s"a6- .k&nwXK]7"&f\]K.z̙M$iSg,NVfNm`ΜL7sL37 e\π%ĜZWCXs/Jk?+IIk@55WF2MX?p"0t6W_(t,hY tL5e}-npa5cC6BCB񑞭ZXZ:L7x7yPQOMh8>b[0Țfi*>E(BϦSkdAN*0ZQ\:Kӄ#FLAEU^ݸ+`'gϚm)6r$+H+^Ӳ-7hmՆV>XӪת<LͨzF݊p5WXT@y`TpFl+2;7"˙;:FF \Rh<$pgDB09՛ʺN\i t"y&N.e
_<=IH"y&UЇ|>~%
[eh(|\,"z0.H^YZMkQEq+M]|tVmnHf]׷v([ŹD'dqfQZ"	3'u~`4J|AQ`+_K5閶B	+lZNApr7$PڕڐK9irX/$KBBkltm!bPZǳ`b9_TeMbܼoԼZk7:>ڦjnB@!?K/Ȯq{gtc6>:Bƍj
^CY6ķkh]	AWֳzw@g8ow:(¢7>1n3kfVm04Gu^4`k]01j|ЍM]K$
M$-/S7c͕h8ac4?1Xj{q m榜=amMziZCFq임x=|ɡRCr<	5|s<	5OxkX$(
yHr;PiYFJl9aJ-1L)0)%0D B>\J,.Q<9@O2œD,.msԗ[cRaSJr9aJ.1L)0\fG~;<NCUT{$)m&DsL_	.ګW
6zYz%LqM`^^	z@\oب%W`^)6AlNu&\tyMY^%}~c023a|~跦on{1ߺEAvvkWX5/NT[	(6~6F!ub[Il!]v_nyZ%衑X+Da-j\qy+ظaG	{&< &ZIP/pMAtFIP}/ [u۹c!w
tŝECxOBq{9cEE$M	=I-URMF,6Y!,Tl[z+S&:S&tJwQt3gH" ߒe
ԢL 2gQ3ERǲ(Sur,9WXd
I ?7n*GNB+壖se?)p3T?qc?BlzHmV%h{ 5y7qD_H5|i|pkՖSC_%7Gћ?Dwt5AjW~{}{:,ǯgX_rAֳz$]Nvu_0nm(4t-0-OLpWObne&5Nh@hn?	+)B>B|բ[d[o llKe^zаw+vnXv[?9xV?????W6Qf<`E1zpLKGpf\;Zcg',d+|FخJ"c/VO;:*B      INDX              DialogScript      ZLt/*
 * PROPRIETARY INFORMATION.  This software is proprietary to
 * Side Effects Software Inc., and is not to be reproduced,
 * transmitted, or disclosed in any way without written permission.
 *
 * Produced by:
 *	Side Effects Software Inc
 *	477 Richmond Street West
 *	Toronto, Ontario
 *	Canada   M5V 3E7
 *	416-504-9876
 *
 */

#include <parameter.ds>

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

    outercode {
	INCLUDE_VOPLIB
    }

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

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

    VOP_VEC_PARM(vec, "Input Vector",   0, 0, 0)
    VOP_VEC_PARM(vec_p, "Input Point",  0, 0, 0)
    VOP_VEC_PARM(vec_n, "Input Normal", 0, 0, 0)
    VOP_VEC_PARM(vec_c, "Input Color",  0, 0, 0)

    VOP_VEC_PARM(vec_uv, "Uniform Vector", 0, 0, 0)
    VOP_VEC_PARM(vec_up, "Uniform Point",  0, 0, 0)
    VOP_VEC_PARM(vec_un, "Uniform Normal", 0, 0, 0)
    VOP_VEC_PARM(vec_uc, "Uniform Color",  0, 0, 0)

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

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

#include <parameter.ds>

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


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

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

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

    group {
	name 	"gs"
	label	"Scalar Defaults"

	VOP_FLT_PARM(min, "1D Float Min", 0)
	VOP_FLT_PARM(max, "1D Float Max", 1)
	VOP_INT_PARM(min_i, "1D Integer Min", 0)
	VOP_INT_PARM(max_i, "1D Integer Max", 1)
    }

    group {
	name 	"gv"
	label	"Vector Defaults"

	VOP_VEC_PARM(min_v, "3D Vector Min", 0, 0, 0)
	VOP_VEC_PARM(max_v, "3D Vector Max", 1, 1, 1)
	VOP_VEC_PARM(min_p, "3D Point Min", 0, 0, 0)
	VOP_VEC_PARM(max_p, "3D Point Max", 1, 1, 1)
	VOP_VEC_PARM(min_n, "3D Normal Min", 0, 0, 0)
	VOP_VEC_PARM(max_n, "3D Normal Max", 1, 1, 1)
	VOP_CLR_PARM(min_c, "3D Color Min", 0, 0, 0)
	VOP_CLR_PARM(max_c, "3D Color Max", 1, 1, 1)
	VOP_CLR4_PARM(min_v4, "4D Color Min", 0, 0, 0, 0)
	VOP_CLR4_PARM(max_v4, "4D Color Max", 1, 1, 1, 1)
    }

    group {
	name 	"gu"
	label	"Uniform Defaults"
	VOP_FLT_PARM(min_uf, "1D Float Min", 0)
	VOP_FLT_PARM(max_uf, "1D Float Max", 1)
	VOP_VEC_PARM(min_uv, "3D Vector Min", 0, 0, 0)
	VOP_VEC_PARM(max_uv, "3D Vector Max", 1, 1, 1)
	VOP_VEC_PARM(min_up, "3D Point Min", 0, 0, 0)
	VOP_VEC_PARM(max_up, "3D Point Max", 1, 1, 1)
	VOP_VEC_PARM(min_un, "3D Normal Min", 0, 0, 0)
	VOP_VEC_PARM(max_un, "3D Normal Max", 1, 1, 1)
	VOP_CLR_PARM(min_uc, "3D Color Min", 0, 0, 0)
	VOP_CLR_PARM(max_uc, "3D Color Max", 1, 1, 1)
    }
}
INDX              DialogScript      qLt/*
 * 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	"1D Integer Values"	default	{ }
    signature	"1D Float Values"	f	{ float float }
    signature	"3D Vector Values"	v	{ vector vector }
    signature	"3D Point Values"	p	{ point point }
    signature	"3D Normal Values"	n	{ normal normal }
    signature	"3D Color Values"	c	{ color color }
    signature	"4D Values"		v4	{ vector4 vector4 }

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

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

#include <parameter.ds>

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

    outercode {
	INCLUDE_VOPLIB
    }

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

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

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

    signature	"3D Uniform Vector"    uv	{ uvector float }
    signature	"3D Uniform Point"     up       { upoint float }
    signature   "3D Uniform Normal"    un       { unormal float }
    signature	"3D Uniform 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, "3D Vector Input", 0, 0, 0)
    VOP_VEC_PARM(vec_p, "3D Point Input", 0, 0, 0)
    VOP_VEC_PARM(vec_n, "3D Normal Input", 0, 0, 0)
    VOP_VEC_PARM(vec_c, "3D Color Input", 0, 0, 0)
    VOP_VEC4_PARM(vec_v4, "4D Values Input", 0, 0, 0, 0)

    VOP_VEC_PARM(vec_uv, "3D Uniform Vector Input", 0, 0, 0)
    VOP_VEC_PARM(vec_up, "3D Uniform Point Input", 0, 0, 0)
    VOP_VEC_PARM(vec_un, "3D Uniform Normal Input", 0, 0, 0)
    VOP_VEC_PARM(vec_uc, "3D Uniform Color Input", 0, 0, 0)
}

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

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

    outercode {
	INCLUDE_VOPLIB
    }

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

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

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


    group {
	name	"gp"
	label   "Position"
	VOP_FLT_PARM(pos,	  "1D Position", 0)
	VOP_VEC_PARM(pos_v,   "3D Vector", 0, 0, 0)
	VOP_VEC_PARM(pos_p,   "3D Point", 0, 0, 0)
	VOP_VEC_PARM(pos_n,   "3D Normal", 0, 0, 0)
	VOP_VEC_PARM(pos_c,   "3D Color", 0, 0, 0)
	VOP_VEC4_PARM(pos_v4, "4D Position", 0, 0, 0, 0)
    }

    group {
	name	"gf"
	label	"Frequency"
	VOP_FLT_PARM(freq,    "1D Frequency", 1)
	VOP_VEC_PARM(freq_v,  "3D Vector Frequency", 1, 1, 1)
	VOP_VEC_PARM(freq_p,  "3D Point Frequency", 1, 1, 1)
	VOP_VEC_PARM(freq_n,  "3D Normal Frequency", 1, 1, 1)
	VOP_VEC_PARM(freq_c,  "3D Color Frequency", 1, 1, 1)
	VOP_VEC4_PARM(freq_v4, "4D Frequency", 1, 1, 1, 1)
    }

    group {
	name	"go"
	label	"Offset"

	VOP_FLT_PARM(offset,    "1D Offset", 0)
	VOP_VEC_PARM(offset_v,  "3D Vector Offset", 0, 0, 0)
	VOP_VEC_PARM(offset_p,   "3D Point Offset", 0, 0, 0)
	VOP_VEC_PARM(offset_n,   "3D Normal Offset", 0, 0, 0)
	VOP_VEC_PARM(offset_c,   "3D Color Offset", 0, 0, 0)
	VOP_VEC4_PARM(offset_v4, "4D Offset", 0, 0, 0, 0)
    }

    group {
	name	"gj"
	label	"Jitter"

	VOP_FLT_PARM(jitter,    "1D Jitter", 1)
	VOP_VEC_PARM(jitter_v,  "3D Vector Jitter", 1, 1, 1)
	VOP_VEC_PARM(jitter_p,  "3D Point Jitter", 1, 1, 1)
	VOP_VEC_PARM(jitter_n,  "3D Normal Jitter", 1, 1, 1)
	VOP_VEC_PARM(jitter_c,  "3D Color Jitter", 1, 1, 1)
	VOP_VEC4_PARM(jitter_v4, "4D Jitter", 1, 1, 1, 1)
    }
}
INDX              DialogScript      Lt/*
 * PROPRIETARY INFORMATION.  This software is proprietary to
 * Side Effects Software Inc., and is not to be reproduced,
 * transmitted, or disclosed in any way without written permission.
 *
 * Produced by:
 *	Side Effects Software Inc
 *	477 Richmond Street West
 *	Toronto, Ontario
 *	Canada   M5V 3E7
 *	416-504-9876
 *
 */

#include <parameter.ds>

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


    code {
	"#ifdef __vex"
	"    $rand = random($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"	i1d	{ 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"	uuf	{ 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  }


    group {
	name	"gv"
	label	"Default Position"
	VOP_FLT_PARM(pos,     "1D Float Position", 0)
	VOP_FLT_PARM(pos_i,   "1D Integer Position", 0)
	VOP_VEC_PARM(pos_v1d, "3D Vector Values", 0, 0, 0)
	VOP_VEC_PARM(pos_p1d, "3D Point Values", 0, 0, 0)
	VOP_VEC_PARM(pos_n1d, "3D Normal Values", 0, 0, 0)
	VOP_CLR_PARM(pos_c1d, "3D Color Values", 0, 0, 0)
	VOP_VEC4_PARM(pos_v41d, "4D Position", 0, 0, 0, 0)
    }
    group {
	name	"gu"
	label	"Uniform Defaults"
	VOP_FLT_PARM(pos_uf1d, "1D Float Position", 0)
	VOP_VEC_PARM(pos_uv1d, "3D Vector Values", 0, 0, 0)
	VOP_VEC_PARM(pos_up1d, "3D Point Values", 0, 0, 0)
	VOP_VEC_PARM(pos_un1d, "3D Normal Values", 0, 0, 0)
	VOP_CLR_PARM(pos_uc1d, "3D Color Values", 0, 0, 0)
    }
}
INDX              DialogScript      Lt/*
 * PROPRIETARY INFORMATION.  This software is proprietary to
 * Side Effects Software Inc., and is not to be reproduced,
 * transmitted, or disclosed in any way without written permission.
 *
 * Produced by:
 *	Side Effects Software Inc
 *	477 Richmond Street West
 *	Toronto, Ontario
 *	Canada   M5V 3E7
 *	416-504-9876
 *
 */

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


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

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

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

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

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

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


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

    forcecode

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

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

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

#include <parameter.ds>

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

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

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

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

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

    group {
	name 	"gv"
	label	"Defaults"
	VOP_FLT_PARM(val,   "1D Float Input", 1)
	VOP_INT_PARM(val_i, "1D Integer Input", 1)
	VOP_VEC_PARM(val_v, "3D Vector", 1, 1, 1)
	VOP_VEC_PARM(val_p, "3D Point", 1, 1, 1)
	VOP_VEC_PARM(val_n, "3D Normal", 1, 1, 1)
	VOP_CLR_PARM(val_c, "3D Color", 1, 1, 1)
	VOP_VEC4_PARM(val_v4,"4D Vector", 1, 1, 1, 1)
    }
    group {
	name 	"gu"
	label	"Uniform Defaults"
	VOP_FLT_PARM(val_uf, "1D Float", 1)
	VOP_VEC_PARM(val_uv, "3D Vector", 1, 1, 1)
	VOP_VEC_PARM(val_up, "3D Point", 1, 1, 1)
	VOP_VEC_PARM(val_un, "3D Normal", 1, 1, 1)
	VOP_CLR_PARM(val_uc, "3D Color", 1, 1, 1)
    }
}
INDX              DialogScript      	Lt/*
 * PROPRIETARY INFORMATION.  This software is proprietary to
 * Side Effects Software Inc., and is not to be reproduced,
 * transmitted, or disclosed in any way without written permission.
 *
 * Produced by:
 *	Side Effects Software Inc
 *	477 Richmond Street West
 *	Toronto, Ontario
 *	Canada   M5V 3E7
 *	416-504-9876
 *
 */

#include <parameter.ds>

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

    outercode {
	INCLUDE_VOPLIB
    }

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

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

    group {
	name 	"gv"
	label	"Defaults"

	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)
    }
    group {
	name 	"gu"
	label	"Uniform Defaults"

	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 Values"	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	"3D Color Values"	c	{ color color float }

    signature	"3D Uniform Vector"	   uv	{ uvector uvector ufloat }
    signature	"3D Uniform Vector/Point"  vp	{ uvector upoint ufloat }
    signature	"3D Uniform Vector/Normal" vn	{ uvector unormal ufloat }
    signature	"3D Uniform Point/Vector"  pv	{ upoint uvector ufloat }
    signature	"3D Uniform Point/Point"   pp	{ upoint upoint ufloat }
    signature	"3D Uniform Point/Normal"  pn	{ upoint unormal ufloat }
    signature	"3D Uniform Normal/Vector" nv	{ unormal uvector ufloat }
    signature	"3D Uniform Normal/Point"  np	{ unormal upoint ufloat }
    signature	"3D Uniform Normal/Normal" nn	{ unormal unormal ufloat }
    signature	"3D Uniform Color"	uc	{ ucolor ucolor ufloat }
}
INDX              DialogScript      Lt/*
 * 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 = getneighbour($ptnum, $neighnum, $input_index);"
    }

    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      DLt/*
 * PROPRIETARY INFORMATION.  This software is proprietary to
 * Side Effects Software Inc., and is not to be reproduced,
 * transmitted, or disclosed in any way without written permission.
 *
 * Produced by:
 *	Side Effects Software Inc
 *	477 Richmond Street West
 *	Toronto, Ontario
 *	Canada   M5V 3E7
 *	416-504-9876
 *
 */

#include <parameter.ds>

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

    outercode {
	INCLUDE_VOPLIB
    }

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

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

    signature	"1D Values" default { }
    signature	"3D Values" v	 { vector vector vector vector vector vector }
    signature	"4D Values" v4	 { vector4 vector4 vector4 vector4 vector4 vector4 }
    signature	"1D Float Values"		default	{ }
    signature	"3D Vector Values"	v	{ vector vector vector vector vector vector }
    signature	"3D Point Values"	p	{ point point point point point point }
    signature	"3D Normal Values"	n	{ normal normal normal normal normal normal }
    signature	"3D Color Values"	c	{ color color color color color color }
    signature	"4D Values"		v4	{ vector4 vector4 vector4 vector4 vector4 vector4 }

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

    group {
	name	"gs"
	label	"1D Defaults"

	VOP_FLT_PARM(srcmin,	"1D Src Min", 0)
	VOP_FLT_PARM(srcmax,	"1D Src Max", 1)
	VOP_FLT_PARM(destmin,	"1D Dest Min", 0)
	VOP_FLT_PARM(destmax,	"1D Dest Max", 1)
    }
    group {
	name	"gv"
	label	"3D Defaults"

	VOP_VEC_PARM(srcmin_v,	"3D Vector Src Min", 0, 0, 0)
	VOP_VEC_PARM(srcmax_v,	"3D Vector Src Max", 1, 1, 1)
	VOP_VEC_PARM(destmin_v,	"3D Vector Dest Min", 0, 0, 0)
	VOP_VEC_PARM(destmax_v,	"3D Vector Dest Max", 1, 1, 1)

	VOP_VEC_PARM(srcmin_p,	"3D Point Src Min", 0, 0, 0)
	VOP_VEC_PARM(srcmax_p,	"3D Point Src Max", 1, 1, 1)
	VOP_VEC_PARM(destmin_p,	"3D Point Dest Min", 0, 0, 0)
	VOP_VEC_PARM(destmax_p,	"3D Point Dest Max", 1, 1, 1)

	VOP_VEC_PARM(srcmin_n,	"3D Normal Src Min", 0, 0, 0)
	VOP_VEC_PARM(srcmax_n,	"3D Normal Src Max", 1, 1, 1)
	VOP_VEC_PARM(destmin_n,	"3D Normal Dest Min", 0, 0, 0)
	VOP_VEC_PARM(destmax_n,	"3D Normal Dest Max", 1, 1, 1)

	VOP_CLR_PARM(srcmin_c,	"3D Color Src Min", 0, 0, 0)
	VOP_CLR_PARM(srcmax_c,	"3D Color Src Max", 1, 1, 1)
	VOP_CLR_PARM(destmin_c,	"3D Color Dest Min", 0, 0, 0)
	VOP_CLR_PARM(destmax_c,	"3D Color Dest Max", 1, 1, 1)
    }

    group {
	name	"gv4"
	label	"4D Defaults"

	VOP_VEC4_PARM(srcmin_v4, "4D Src Min", 0, 0, 0, 0)
	VOP_VEC4_PARM(srcmax_v4, "4D Src Max", 1, 1, 1, 1)
	VOP_VEC4_PARM(destmin_v4, "4D Dest Min", 0, 0, 0, 0)
	VOP_VEC4_PARM(destmax_v4, "4D Dest Max", 1, 1, 1, 1)
    }
    group {
	name	"gu"
	label	"Uniform Defaults"

	VOP_FLT_PARM(srcmin_uf,	"1D Src Min", 0)
	VOP_FLT_PARM(srcmax_uf,	"1D Src Max", 1)
	VOP_FLT_PARM(destmin_uf, "1D Dest Min", 0)
	VOP_FLT_PARM(destmax_uf, "1D Dest Max", 1)

	VOP_VEC_PARM(srcmin_uv,	"3D Vector Src Min", 0, 0, 0)
	VOP_VEC_PARM(srcmax_uv,	"3D Vector Src Max", 1, 1, 1)
	VOP_VEC_PARM(destmin_uv, "3D Vector Dest Min", 0, 0, 0)
	VOP_VEC_PARM(destmax_uv, "3D Vector Dest Max", 1, 1, 1)

	VOP_VEC_PARM(srcmin_up,	"3D Point Src Min", 0, 0, 0)
	VOP_VEC_PARM(srcmax_up,	"3D Point Src Max", 1, 1, 1)
	VOP_VEC_PARM(destmin_up, "3D Point Dest Min", 0, 0, 0)
	VOP_VEC_PARM(destmax_up, "3D Point Dest Max", 1, 1, 1)

	VOP_VEC_PARM(srcmin_un,	"3D Normal Src Min", 0, 0, 0)
	VOP_VEC_PARM(srcmax_un,	"3D Normal Src Max", 1, 1, 1)
	VOP_VEC_PARM(destmin_un, "3D Normal Dest Min", 0, 0, 0)
	VOP_VEC_PARM(destmax_un, "3D Normal Dest Max", 1, 1, 1)

	VOP_CLR_PARM(srcmin_uc,	"3D Color Src Min", 0, 0, 0)
	VOP_CLR_PARM(srcmax_uc,	"3D Color Src Max", 1, 1, 1)
	VOP_CLR_PARM(destmin_uc, "3D Color Dest Min", 0, 0, 0)
	VOP_CLR_PARM(destmax_uc, "3D Color Dest Max", 1, 1, 1)
    }

}

INDX              DialogScript      tLt/*
 * 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 {
	"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      fLt/*
 * PROPRIETARY INFORMATION.  This software is proprietary to
 * Side Effects Software Inc., and is not to be reproduced,
 * transmitted, or disclosed in any way without written permission.
 *
 * Produced by:
 *	Side Effects Software Inc
 *	477 Richmond Street West
 *	Toronto, Ontario
 *	Canada   M5V 3E7
 *	416-504-9876
 *
 */

#include <parameter.ds>

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


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

    code {
	"if ($type == \"onoise\")"
	"{"
	"    $noise = onoise($pos*$freq - $offset, $turb, $rough, $atten) * $amp;"
	"}"
	"else if ($type == \"snoise\")"
	"{"
	"    $noise = snoise($pos*$freq - $offset, $turb, $rough, $atten) * $amp;"
	"}"
	"else if ($type == \"anoise\")"
	"{"
	"    $noise = anoise($pos*$freq - $offset, $turb, $rough, $atten) * $amp;"
	"}"
	"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"
	}
        default { "anoise" }
    }
    VOP_VEC_INPUT  (	pos,	"Position",	0, 0, 0)
    VOP_VEC_INPUT  (	freq,	"Frequency",	1, 1, 1)
    VOP_VEC_INPUT  (	offset,	"Offset",	0, 0, 0)
    VOP_FLT_INPUT_R(	amp,	"Amplitude",	1, -1, 1)
    VOP_FLT_INPUT  (	rough,	"Roughness",	.5)
    VOP_FLT_INPUT  (	atten,	"Attenuation",	1)
    VOP_INT_INPUT_R(	turb,	"Turbulence",	5, 0, 10)
    output	float	noise	"Noise"

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

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

#include <parameter.ds>

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


    outercode {
    INCLUDE_VOPLIB
    }

    code {
        ""
        "#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);"
        ""
        "#else"
        "   $bias = vop_bias($val, $amount);"
        "#endif"
    }

    input  float   val       "Input"
    input  float   amount    "Bias"
    output float   bias      "Result"
    
    signature   "1D Values"  default   { float float float }
    signature   "3D Colors"  c   { color   color   color   }
    signature   "3D Vector"  v   { vector  vector  vector  }
    signature   "4D Vector"  v4  { vector4 vector4 vector4 }

    VOP_FLT_PARM(val,       "1D Input", 1)
    VOP_FLT_PARM(amount,    "1D Gain",  0.5)

    VOP_CLR_PARM(val_c,     "3D Input", 1, 1, 1)
    VOP_VEC_PARM(amount_c,  "3D Gain", 0.5, 0.5, 0.5)

    VOP_VEC_PARM(val_v,     "3D Input", 1, 1, 1)
    VOP_VEC_PARM(amount_v,  "3D Gain", 0.5, 0.5, 0.5)

    VOP_VEC4_PARM(val_v4,   "4D Input", 1, 1, 1, 1)
    VOP_VEC4_PARM(amount_v4,"4D Gain", 0.5, 0.5, 0.5, 0.5)
  
}
INDX              DialogScript      YLt/*
 * 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 = $ival;"
    }

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

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

INDX              DialogScript      =Lt/*
 * 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 = getneighbourcount($ptnum, $input_index);"
    }

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

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

    parm {
	name	ptnum
	label	"Point Number"
	type	int
	size	1
	default	{ 0 }
    }	    
}
INDX              DialogScript      xLt/*
 * 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;"
    }

    input	float	val		"Input Value"
    output	float	scaled		"Input Value * Constant"
    signature	"1D Float Values"	default	{ }
    signature	"1D Integer Values"	i	{ int int }
    signature	"3D Vector Values"	v	{ vector vector }
    signature	"3D Point Values"	p	{ point point }
    signature	"3D Normal Values"	n	{ normal normal }
    signature	"3D Color Values"	c	{ color color }
    signature	"3D BSDF Values"	b	{ bsdf bsdf }
    signature	"4D Values"		v4	{ vector4 vector4 }
    signature	"3x3 Matrix "		m3	{ matrix3 matrix3 }
    signature	"4x4 Matrix "		m4	{ matrix matrix }

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

    parm {
	name	mulconst
	label	"Multiplier"
	type	float
	size	1
	default	{ 1.0 }
    }
}

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

#include <parameter.ds>

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


    code {
	"$result = ($condtype != 0 ? ($condition != 0 ? $input2 : $input1)"
	"                          : ($condition != 0 ? $input1 : $input2));"
    }

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

    signature	"Float Values"	 	default { }
    signature	"Integer Values"	i	{ int int int int }
    signature	"String Values"		s	{ int string string string }
    signature	"Vector Values" 	v 	{ int vector vector vector }
    signature	"Point Values" 		p 	{ int point point point }
    signature	"Normal Values" 	n 	{ int normal normal normal }
    signature	"Color Values"	 	c 	{ int color color color }
    signature	"BSDF Values"	 	b 	{ int bsdf bsdf bsdf }
    signature	"Vector4 Values" 	v4 	{ int vector4 vector4 vector4 }
    signature	"Matrix3 Values" 	m3 	{ int matrix3 matrix3 matrix3 }
    signature	"Matrix Values" 	m 	{ int matrix matrix matrix }

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


    parm {
	name	condtype
	label	Condition
	type	int
	menu	{
	    "true"	"True    ( != 0 )"
	    "false"	"False   ( == 0 )"
	}
	default	{ 0 }
    }

    group {
	name 	"g0"
	label	"Defaults"

	VOP_FLT_PARM(input2, "Float Input 2", 0)
	VOP_INT_PARM(input2_i, "Integer Input 2", 0)
	VOP_STR_PARM(input2_s, "String Input 2", "")
	VOP_VEC_PARM(input2_v, "Vector Input 2", 0, 0, 0)
	VOP_VEC_PARM(input2_p, "Point Input 2", 0, 0, 0)
	VOP_VEC_PARM(input2_n, "Normal Input 2", 0, 0, 0)
	VOP_CLR_PARM(input2_c, "Color Input 2", 1, 1, 1)
	VOP_VEC4_PARM(input2_v4, "Vector4 Input 2", 0, 0, 0, 0)
    }

    group {
	name	"g1"
	label	"Matrix Defaults"

	parm {
	    name	input2_m3
	    label	"Matrix3 Input 2"
	    type	float
	    size	9
	    default	{ 1 0 0 0 1 0 0 0 1 }
	}
	parm {
	    name	input2_m
	    label	"Matrix 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	"g2"
	label	"Uniform Defaults"

	VOP_FLT_PARM(input2_uf, "Float Input 2", 0)
	VOP_VEC_PARM(input2_uv, "Vector Input 2", 0, 0, 0)
	VOP_VEC_PARM(input2_up, "Point Input 2", 0, 0, 0)
	VOP_VEC_PARM(input2_un, "Normal Input 2", 0, 0, 0)
	VOP_VEC_PARM(input2_uc, "Color Input 2", 0, 0, 0)
	parm {
	    name	input2_um
	    label	"Matrix Input 2"
	    type	float
	    size	16
	    default	{ 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 }
	}
    }
}

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

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

    outercode {
	INCLUDE_VOPLIB
    }

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

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

    signature	"Float Values"	default	{ }
    signature	"Uniform Floats"	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,     "Uniform Range Bottom", 0)
    VOP_FLT_PARM(max_uf,     "Uniform Range Top",  1)
    VOP_FLT_PARM(amount_uf,  "Uniform Amount",	  0.5)
    VOP_FLT_PARM(rolloff_uf, "Uniform Rolloff",	  1)
}

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

#include <parameter.ds>

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

    outercode {
	INCLUDE_VOPLIB
    }

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

    output	vector	crossprod	"Cross Product"

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

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

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


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

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

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

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

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

#include <parameter.ds>

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

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

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

#include <parameter.ds>

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


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

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

    group {
	name	"g0"
	label	"Defaults"
	VOP_VEC_PARM(vec,		"3D Vector", 1, 1, 1)
	VOP_VEC_PARM(vec_p,		"3D Point", 1, 1, 1)
	VOP_VEC_PARM(vec_n,		"3D Normal", 1, 1, 1)
	VOP_VEC4_PARM(vec_v4,	"4D Vector", 1, 1, 1, 1)
    }
    group {
	name	"g0"
	label	"Uniform Defaults"
	VOP_VEC_PARM(vec_uv,	"3D Uniform Vector", 1, 1, 1)
	VOP_VEC_PARM(vec_up,	"3D Uniform Point", 1, 1, 1)
	VOP_VEC_PARM(vec_un,	"3D Uniform Normal", 1, 1, 1)
    }
}
INDX              DialogScript      Lt/*
 * PROPRIETARY INFORMATION.  This software is proprietary to
 * Side Effects Software Inc., and is not to be reproduced,
 * transmitted, or disclosed in any way without written permission.
 *
 * Produced by:
 *	Side Effects Software Inc
 *	477 Richmond Street West
 *	Toronto, Ontario
 *	Canada   M5V 3E7
 *	416-504-9876
 *
 */

#include <parameter.ds>

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

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

    code {
	"VOPpoint $pcP = $isconnected_P != 0 ? $P : P;"
	"if ($nchannel != \"\") {"
	"    $handle = pcopen($file, $pchannel, $pcP, $nchannel, $N, $radius, $maxpoints, \"ndot\", cos(radians($cone)), \"preload\", $preload);"
	"} else {"
	"    $handle = pcopen($file, $pchannel, $pcP, $radius, $maxpoints, \"preload\", $preload);"
	"}"
    }

    output	int	handle		"Texture Handle"

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

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

INDX              DialogScript      Lt/*
 * 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 }

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

#include <parameter.ds>

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

    outercode {
	INCLUDE_VOPLIB
    }

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

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

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

    group {
	name 	"gv"
	label	"Defaults"
	VOP_FLT_PARM(deg,   "1D Float Input", 1)
	VOP_VEC_PARM(deg_v, "3D Vector", 1, 1, 1)
	VOP_VEC_PARM(deg_p, "3D Point", 1, 1, 1)
	VOP_VEC_PARM(deg_n, "3D Normal", 1, 1, 1)
	VOP_CLR_PARM(deg_c, "3D Color", 1, 1, 1)
	VOP_VEC4_PARM(deg_v4,"4D Integer", 1, 1, 1, 1)
    }
    group {
	name 	"gu"
	label	"Uniform Defaults"
	VOP_FLT_PARM(deg_uf, "1D Float", 1)
	VOP_VEC_PARM(deg_uv, "3D Vector", 1, 1, 1)
	VOP_VEC_PARM(deg_up, "3D Point", 1, 1, 1)
	VOP_VEC_PARM(deg_un, "3D Normal", 1, 1, 1)
	VOP_CLR_PARM(deg_uc, "3D Color", 1, 1, 1)
    }
}
INDX              DialogScript      Lt/*
 * PROPRIETARY INFORMATION.  This software is proprietary to
 * Side Effects Software Inc., and is not to be reproduced,
 * transmitted, or disclosed in any way without written permission.
 *
 * Produced by:
 *	Side Effects Software Inc
 *	477 Richmond Street West
 *	Toronto, Ontario
 *	Canada   M5V 3E7
 *	416-504-9876
 *
 */

#include <parameter.ds>

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

    outercode {
	INCLUDE_VOPLIB
    }

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

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

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

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

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

    signature	"3D Uniform Vector"	uv { ufloat ufloat ufloat uvector }
    signature	"3D Uniform Point"	up { ufloat ufloat ufloat upoint }
    signature	"3D Uniform Normal"	un { ufloat ufloat ufloat unormal }
    signature	"3D Uniform Color"	uc { ufloat ufloat ufloat ucolor }
}
0707070000010000000006660000000000000000010000001155527366000001500000000000.OPlibraries 0707070000010000000006660000000000000000010000001155527366000001700000000000.OPpreferences 0707070000010000000006660000000000000000010000001155527366000001500000012644.OPfallbacks Vop/floattovec /Library/Frameworks/Houdini.framework/Versions/11.0.658/Resources/houdini/otls/OPlibVop.otl
Vop/floattovec otls/OPlibVop.otl
Vop/twoway /Library/Frameworks/Houdini.framework/Versions/11.0.658/Resources/houdini/otls/OPlibVop.otl
Vop/twoway otls/OPlibVop.otl
Vop/negate /Library/Frameworks/Houdini.framework/Versions/11.0.658/Resources/houdini/otls/OPlibVop.otl
Vop/negate otls/OPlibVop.otl
Vop/addgroup /Library/Frameworks/Houdini.framework/Versions/11.0.658/Resources/houdini/otls/OPlibVop.otl
Vop/addgroup otls/OPlibVop.otl
Vop/inttofloat /Library/Frameworks/Houdini.framework/Versions/11.0.658/Resources/houdini/otls/OPlibVop.otl
Vop/inttofloat otls/OPlibVop.otl
Vop/turbnoise /Library/Frameworks/Houdini.framework/Versions/11.0.658/Resources/houdini/otls/OPlibVop.otl
Vop/turbnoise otls/OPlibVop.otl
Vop/pcopen /Library/Frameworks/Houdini.framework/Versions/11.0.658/Resources/houdini/otls/OPlibVop.otl
Vop/pcopen otls/OPlibVop.otl
Vop/voronoise /Library/Frameworks/Houdini.framework/Versions/11.0.658/Resources/houdini/otls/OPlibVop.otl
Vop/voronoise otls/OPlibVop.otl
Dop/objpos /Library/Frameworks/Houdini.framework/Versions/11.0.658/Resources/houdini/otls/OPlibDop.otl
Dop/objpos otls/OPlibDop.otl
Sop/clean /Library/Frameworks/Houdini.framework/Versions/11.0.658/Resources/houdini/otls/OPlibSop.otl
Sop/clean otls/OPlibSop.otl
Vop/vectofloat /Library/Frameworks/Houdini.framework/Versions/11.0.658/Resources/houdini/otls/OPlibVop.otl
Vop/vectofloat otls/OPlibVop.otl
Vop/neighbourcount /Library/Frameworks/Houdini.framework/Versions/11.0.658/Resources/houdini/otls/OPlibVop.otl
Vop/neighbourcount otls/OPlibVop.otl
Vop/clamp /Library/Frameworks/Houdini.framework/Versions/11.0.658/Resources/houdini/otls/OPlibVop.otl
Vop/clamp otls/OPlibVop.otl
Vop/vecgetcompon /Library/Frameworks/Houdini.framework/Versions/11.0.658/Resources/houdini/otls/OPlibVop.otl
Vop/vecgetcompon otls/OPlibVop.otl
Vop/pciterate /Library/Frameworks/Houdini.framework/Versions/11.0.658/Resources/houdini/otls/OPlibVop.otl
Vop/pciterate otls/OPlibVop.otl
Dop/null /Library/Frameworks/Houdini.framework/Versions/11.0.658/Resources/houdini/otls/OPlibDop.otl
Dop/null otls/OPlibDop.otl
Dop/groundplane /Library/Frameworks/Houdini.framework/Versions/11.0.658/Resources/houdini/otls/OPlibDop.otl
Dop/groundplane otls/OPlibDop.otl
Vop/fit /Library/Frameworks/Houdini.framework/Versions/11.0.658/Resources/houdini/otls/OPlibVop.otl
Vop/fit otls/OPlibVop.otl
Vop/bias /Library/Frameworks/Houdini.framework/Versions/11.0.658/Resources/houdini/otls/OPlibVop.otl
Vop/bias otls/OPlibVop.otl
Vop/addattrib /Library/Frameworks/Houdini.framework/Versions/11.0.658/Resources/houdini/otls/OPlibVop.otl
Vop/addattrib otls/OPlibVop.otl
Vop/cross /Library/Frameworks/Houdini.framework/Versions/11.0.658/Resources/houdini/otls/OPlibVop.otl
Vop/cross otls/OPlibVop.otl
Vop/mulconst /Library/Frameworks/Houdini.framework/Versions/11.0.658/Resources/houdini/otls/OPlibVop.otl
Vop/mulconst otls/OPlibVop.otl
Vop/importattrib /Library/Frameworks/Houdini.framework/Versions/11.0.658/Resources/houdini/otls/OPlibVop.otl
Vop/importattrib otls/OPlibVop.otl
Sop/voronoifracturepoints /Library/Frameworks/Houdini.framework/Versions/11.0.658/Resources/houdini/otls/OPlibSop.otl
Sop/voronoifracturepoints otls/OPlibSop.otl
Sop/color /Library/Frameworks/Houdini.framework/Versions/11.0.658/Resources/houdini/otls/OPlibSop.otl
Sop/color otls/OPlibSop.otl
Vop/neighbour /Library/Frameworks/Houdini.framework/Versions/11.0.658/Resources/houdini/otls/OPlibVop.otl
Vop/neighbour otls/OPlibVop.otl
Vop/pcimport /Library/Frameworks/Houdini.framework/Versions/11.0.658/Resources/houdini/otls/OPlibVop.otl
Vop/pcimport otls/OPlibVop.otl
Dop/rbdfracturedobject /Library/Frameworks/Houdini.framework/Versions/11.0.658/Resources/houdini/otls/OPlibDop.otl
Dop/rbdfracturedobject otls/OPlibDop.otl
Vop/dot /Library/Frameworks/Houdini.framework/Versions/11.0.658/Resources/houdini/otls/OPlibVop.otl
Vop/dot otls/OPlibVop.otl
Dop/rigidbodysolver /Library/Frameworks/Houdini.framework/Versions/11.0.658/Resources/houdini/otls/OPlibDop.otl
Dop/rigidbodysolver otls/OPlibDop.otl
Vop/degtorad /Library/Frameworks/Houdini.framework/Versions/11.0.658/Resources/houdini/otls/OPlibVop.otl
Vop/degtorad otls/OPlibVop.otl
Vop/random /Library/Frameworks/Houdini.framework/Versions/11.0.658/Resources/houdini/otls/OPlibVop.otl
Vop/random otls/OPlibVop.otl
Sop/voronoifracture /Library/Frameworks/Houdini.framework/Versions/11.0.658/Resources/houdini/otls/OPlibSop.otl
Sop/voronoifracture otls/OPlibSop.otl
Dop/linktosourceobject /Library/Frameworks/Houdini.framework/Versions/11.0.658/Resources/houdini/otls/OPlibDop.otl
Dop/linktosourceobject otls/OPlibDop.otl
Vop/smooth /Library/Frameworks/Houdini.framework/Versions/11.0.658/Resources/houdini/otls/OPlibVop.otl
Vop/smooth otls/OPlibVop.otl
Vop/length /Library/Frameworks/Houdini.framework/Versions/11.0.658/Resources/houdini/otls/OPlibVop.otl
Vop/length otls/OPlibVop.otl
Sop/assemble /Library/Frameworks/Houdini.framework/Versions/11.0.658/Resources/houdini/otls/OPlibSop.otl
Sop/assemble otls/OPlibSop.otl
Vop/complement /Library/Frameworks/Houdini.framework/Versions/11.0.658/Resources/houdini/otls/OPlibVop.otl
Vop/complement otls/OPlibVop.otl
Vop/volumesample /Library/Frameworks/Houdini.framework/Versions/11.0.658/Resources/houdini/otls/OPlibVop.otl
Vop/volumesample otls/OPlibVop.otl
Dop/voronoifracturesolver /Library/Frameworks/Houdini.framework/Versions/11.0.658/Resources/houdini/otls/OPlibDop.otl
Dop/voronoifracturesolver otls/OPlibDop.otl
0707070000010000000006660000000000000000010000001155527366000001500000321135.OPdummydefs INDX           )   INDEX_SECTION      Mw   Vop/floattovec    Mv   
Vop/twoway  y  Mv   
Vop/negate  )   Mv   Vop/addgroup  -  3Mv   Vop/inttofloat  0  Mv   Vop/turbnoise  3U  Mv   
Vop/pcopen  :  DMv   Vop/voronoise  @+  VMv   
Dop/objpos  L  Mvw   	Sop/clean  T  Mv   Vop/vectofloat  Y  Mv   Vop/neighbourcount  `c  iMv   	Vop/clamp  c  
Mv   Vop/vecgetcompon  n`  'Mv   Vop/pciterate  u  fMv   Dop/null  w  Mv   Dop/groundplane  y  \Mvw   Vop/fit    pMv   Vop/bias  N  Mv   Vop/addattrib    mMv   	Vop/cross    Mv   Vop/mulconst  8  Mv   Vop/importattrib    Mv   Sop/voronoifracturepoints  |  Mv   	Sop/color  ~  Mvw   Vop/neighbour    Mv   Vop/pcimport    Mv   Dop/rbdfracturedobject    ('Mv   Vop/dot    	9Mv   Dop/rigidbodysolver /  Mv   Vop/degtorad &  Mv   
Vop/random -  Mv   Sop/voronoifracture B  2Mv   Dop/linktosourceobject u  Mvw   
Vop/smooth z  Mv   
Vop/length   FMv   Sop/assemble    Mv   Vop/complement   KMv   Vop/volumesample ]  Mv   Dop/voronoifracturesolver y  %Mv   (      
floattovec   Float To Vector   $oplib:/Vop/floattovec?Vop/floattovec   VOP_floattovec           Vop   vop   VOPall       *        Mw        twoway   Two Way Switch   oplib:/Vop/twoway?Vop/twoway   
VOP_twoway           Vop   vop   VOPall       *        Mw        negate   Negate   oplib:/Vop/negate?Vop/negate   
VOP_negate           Vop   vop   VOPall       *        Mw        addgroup   Add Point To Group    oplib:/Vop/addgroup?Vop/addgroup   VOP_addgroup           Vop   vop   VOPall       sop pop        Mw        
inttofloat   Integer To Float   $oplib:/Vop/inttofloat?Vop/inttofloat   VOP_inttofloat           Vop   vop   VOPall                Mw        	turbnoise   Turbulent Noise   "oplib:/Vop/turbnoise?Vop/turbnoise   VOP_turbnoise           Vop   vop   VOPall                Mw        pcopen   Point Cloud Open   oplib:/Vop/pcopen?Vop/pcopen   
VOP_pcopen           Vop   vop   VOPall                Mw        	voronoise   Voronoi Noise   "oplib:/Vop/voronoise?Vop/voronoise   VOP_voronoise           Vop   vop   VOPall       *        Mw        objpos   OBJ Position   oplib:/Dop/objpos?Dop/objpos   
DOP_objpos           Dop                       Mw       clean   Clean   oplib:/Sop/clean?Sop/clean   	SOP_clean           Sop   subnet   SUBsop              Mw       
vectofloat   Vector To Float   $oplib:/Vop/vectofloat?Vop/vectofloat   VOP_vectofloat           Vop   vop   VOPall       *        Mw        neighbourcount   Neighbour Count   ,oplib:/Vop/neighbourcount?Vop/neighbourcount   VOP_neighbourcount           Vop   vop   VOPall       sop pop        Mw        clamp   Clamp   oplib:/Vop/clamp?Vop/clamp   	VOP_clamp           Vop   vop   VOPall       *        Mw        vecgetcompon   Get Vector Component   (oplib:/Vop/vecgetcompon?Vop/vecgetcompon   VOP_vecgetcompon           Vop   vop   VOPall       *        Mw        	pciterate   Point Cloud Iterate   "oplib:/Vop/pciterate?Vop/pciterate   VOP_pciterate           Vop   vop   VOPall                Mw        null   Null   oplib:/Dop/null?Dop/null   DOP_null           Dop                       Mw       groundplane   Ground Plane   &oplib:/Dop/groundplane?Dop/groundplane   DOP_groundplane           Dop               doptype(object)        Mw       fit   	Fit Range   oplib:/Vop/fit?Vop/fit   VOP_fit           Vop   vop   VOPall       *        Mw        bias   Bias   oplib:/Vop/bias?Vop/bias   VOP_bias           Vop   vop   VOPall                Mw        	addattrib   Add Attribute   "oplib:/Vop/addattrib?Vop/addattrib   VOP_addattrib           Vop   vop   VOPall       sop pop        Mw        cross   Cross Product   oplib:/Vop/cross?Vop/cross   	VOP_cross           Vop   vop   VOPall       *        Mw        mulconst   Multiply Constant    oplib:/Vop/mulconst?Vop/mulconst   VOP_mulconst           Vop   vop   VOPall       *        Mw        importattrib   Import Attribute   (oplib:/Vop/importattrib?Vop/importattrib   VOP_importattrib           Vop   vop   VOPall       sop pop        Mw        voronoifracturepoints   Voronoi Fracture Points   :oplib:/Sop/voronoifracturepoints?Sop/voronoifracturepoints   
SOP_subnet           Sop               guide=./IMPACT_METABALLS       Mw       color   Color   oplib:/Sop/color?Sop/color   	SOP_color           Sop                      Mw       	neighbour   	Neighbour   "oplib:/Vop/neighbour?Vop/neighbour   VOP_neighbour           Vop   vop   VOPall       sop pop        Mw        pcimport   Point Cloud Import    oplib:/Vop/pcimport?Vop/pcimport   VOP_pcimport           Vop   vop   VOPall                Mw        rbdfracturedobject   RBD Fractured Object   4oplib:/Dop/rbdfracturedobject?Dop/rbdfracturedobject   DOP_rbdfracturedobject           Dop                        Mw       dot   Dot Product   oplib:/Vop/dot?Vop/dot   VOP_dot           Vop   vop   VOPall       *        Mw        rigidbodysolver   Rigid Body Solver   .oplib:/Dop/rigidbodysolver?Dop/rigidbodysolver   DOP_rbdsolver           Dop                       Mw       degtorad   Degrees To Radians    oplib:/Vop/degtorad?Vop/degtorad   VOP_degtorad           Vop   vop   VOPall       *        Mw        random   Random   oplib:/Vop/random?Vop/random   
VOP_random           Vop   vop   VOPall       *        Mw        voronoifracture   Voronoi Fracture   .oplib:/Sop/voronoifracture?Sop/voronoifracture   
SOP_subnet           Sop                      Mw       linktosourceobject   Link To Source Object   4oplib:/Dop/linktosourceobject?Dop/linktosourceobject   DOP_linktosourceobject           Dop                       Mw       smooth   Smooth   oplib:/Vop/smooth?Vop/smooth   
VOP_smooth           Vop   vop   VOPall       *        Mw        length   Length   oplib:/Vop/length?Vop/length   
VOP_length           Vop   vop   VOPall       *        Mw        assemble   Assemble    oplib:/Sop/assemble?Sop/assemble   SOP_assemble           Sop                      Mw       
complement   
Complement   $oplib:/Vop/complement?Vop/complement   VOP_complement           Vop   vop   VOPall       *        Mw        volumesample   Volume Sample   (oplib:/Vop/volumesample?Vop/volumesample   VOP_volumesample           Vop   vop   VOPall       sop pop        Mw        voronoifracturesolver   Voronoi Fracture Solver   :oplib:/Dop/voronoifracturesolver?Dop/voronoifracturesolver   
DOP_subnet           Dop                       Mw INDX              DialogScript      Lt/*
 * PROPRIETARY INFORMATION.  This software is proprietary to
 * Side Effects Software Inc., and is not to be reproduced,
 * transmitted, or disclosed in any way without written permission.
 *
 * Produced by:
 *	Side Effects Software Inc
 *	477 Richmond Street West
 *	Toronto, Ontario
 *	Canada   M5V 3E7
 *	416-504-9876
 *
 */

#include <parameter.ds>

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

    outercode {
	INCLUDE_VOPLIB
    }

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

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

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

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

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

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

#include <parameter.ds>

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


    code {
	"$result = ($condtype != 0 ? ($condition != 0 ? $input2 : $input1)"
	"                          : ($condition != 0 ? $input1 : $input2));"
    }

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

    signature	"Float Values"	 	default { }
    signature	"Integer Values"	i	{ int int int int }
    signature	"String Values"		s	{ int string string string }
    signature	"Vector Values" 	v 	{ int vector vector vector }
    signature	"Point Values" 		p 	{ int point point point }
    signature	"Normal Values" 	n 	{ int normal normal normal }
    signature	"Color Values"	 	c 	{ int color color color }
    signature	"BSDF Values"	 	b 	{ int bsdf bsdf bsdf }
    signature	"Vector4 Values" 	v4 	{ int vector4 vector4 vector4 }
    signature	"Matrix3 Values" 	m3 	{ int matrix3 matrix3 matrix3 }
    signature	"Matrix Values" 	m 	{ int matrix matrix matrix }

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


    parm {
	name	condtype
	label	Condition
	type	int
	menu	{
	    "true"	"True    ( != 0 )"
	    "false"	"False   ( == 0 )"
	}
	default	{ 0 }
    }

    group {
	name 	"g0"
	label	"Defaults"

	VOP_FLT_PARM(input2, "Float Input 2", 0)
	VOP_INT_PARM(input2_i, "Integer Input 2", 0)
	VOP_STR_PARM(input2_s, "String Input 2", "")
	VOP_VEC_PARM(input2_v, "Vector Input 2", 0, 0, 0)
	VOP_VEC_PARM(input2_p, "Point Input 2", 0, 0, 0)
	VOP_VEC_PARM(input2_n, "Normal Input 2", 0, 0, 0)
	VOP_CLR_PARM(input2_c, "Color Input 2", 1, 1, 1)
	VOP_VEC4_PARM(input2_v4, "Vector4 Input 2", 0, 0, 0, 0)
    }

    group {
	name	"g1"
	label	"Matrix Defaults"

	parm {
	    name	input2_m3
	    label	"Matrix3 Input 2"
	    type	float
	    size	9
	    default	{ 1 0 0 0 1 0 0 0 1 }
	}
	parm {
	    name	input2_m
	    label	"Matrix 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	"g2"
	label	"Uniform Defaults"

	VOP_FLT_PARM(input2_uf, "Float Input 2", 0)
	VOP_VEC_PARM(input2_uv, "Vector Input 2", 0, 0, 0)
	VOP_VEC_PARM(input2_up, "Point Input 2", 0, 0, 0)
	VOP_VEC_PARM(input2_un, "Normal Input 2", 0, 0, 0)
	VOP_VEC_PARM(input2_uc, "Color Input 2", 0, 0, 0)
	parm {
	    name	input2_um
	    label	"Matrix Input 2"
	    type	float
	    size	16
	    default	{ 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 }
	}
    }
}

INDX              DialogScript      qLt/*
 * 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	"1D Integer Values"	default	{ }
    signature	"1D Float Values"	f	{ float float }
    signature	"3D Vector Values"	v	{ vector vector }
    signature	"3D Point Values"	p	{ point point }
    signature	"3D Normal Values"	n	{ normal normal }
    signature	"3D Color Values"	c	{ color color }
    signature	"4D Values"		v4	{ vector4 vector4 }

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

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

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


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

    forcecode

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

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

INDX              DialogScript      YLt/*
 * 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 = $ival;"
    }

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

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

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

#include <parameter.ds>

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


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

    code {
	"if ($type == \"onoise\")"
	"{"
	"    $noise = onoise($pos*$freq - $offset, $turb, $rough, $atten) * $amp;"
	"}"
	"else if ($type == \"snoise\")"
	"{"
	"    $noise = snoise($pos*$freq - $offset, $turb, $rough, $atten) * $amp;"
	"}"
	"else if ($type == \"anoise\")"
	"{"
	"    $noise = anoise($pos*$freq - $offset, $turb, $rough, $atten) * $amp;"
	"}"
	"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"
	}
        default { "anoise" }
    }
    VOP_VEC_INPUT  (	pos,	"Position",	0, 0, 0)
    VOP_VEC_INPUT  (	freq,	"Frequency",	1, 1, 1)
    VOP_VEC_INPUT  (	offset,	"Offset",	0, 0, 0)
    VOP_FLT_INPUT_R(	amp,	"Amplitude",	1, -1, 1)
    VOP_FLT_INPUT  (	rough,	"Roughness",	.5)
    VOP_FLT_INPUT  (	atten,	"Attenuation",	1)
    VOP_INT_INPUT_R(	turb,	"Turbulence",	5, 0, 10)
    output	float	noise	"Noise"

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

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

#include <parameter.ds>

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

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

    code {
	"VOPpoint $pcP = $isconnected_P != 0 ? $P : P;"
	"if ($nchannel != \"\") {"
	"    $handle = pcopen($file, $pchannel, $pcP, $nchannel, $N, $radius, $maxpoints, \"ndot\", cos(radians($cone)), \"preload\", $preload);"
	"} else {"
	"    $handle = pcopen($file, $pchannel, $pcP, $radius, $maxpoints, \"preload\", $preload);"
	"}"
    }

    output	int	handle		"Texture Handle"

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

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

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

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

    outercode {
	INCLUDE_VOPLIB
    }

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

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

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


    group {
	name	"gp"
	label   "Position"
	VOP_FLT_PARM(pos,	  "1D Position", 0)
	VOP_VEC_PARM(pos_v,   "3D Vector", 0, 0, 0)
	VOP_VEC_PARM(pos_p,   "3D Point", 0, 0, 0)
	VOP_VEC_PARM(pos_n,   "3D Normal", 0, 0, 0)
	VOP_VEC_PARM(pos_c,   "3D Color", 0, 0, 0)
	VOP_VEC4_PARM(pos_v4, "4D Position", 0, 0, 0, 0)
    }

    group {
	name	"gf"
	label	"Frequency"
	VOP_FLT_PARM(freq,    "1D Frequency", 1)
	VOP_VEC_PARM(freq_v,  "3D Vector Frequency", 1, 1, 1)
	VOP_VEC_PARM(freq_p,  "3D Point Frequency", 1, 1, 1)
	VOP_VEC_PARM(freq_n,  "3D Normal Frequency", 1, 1, 1)
	VOP_VEC_PARM(freq_c,  "3D Color Frequency", 1, 1, 1)
	VOP_VEC4_PARM(freq_v4, "4D Frequency", 1, 1, 1, 1)
    }

    group {
	name	"go"
	label	"Offset"

	VOP_FLT_PARM(offset,    "1D Offset", 0)
	VOP_VEC_PARM(offset_v,  "3D Vector Offset", 0, 0, 0)
	VOP_VEC_PARM(offset_p,   "3D Point Offset", 0, 0, 0)
	VOP_VEC_PARM(offset_n,   "3D Normal Offset", 0, 0, 0)
	VOP_VEC_PARM(offset_c,   "3D Color Offset", 0, 0, 0)
	VOP_VEC4_PARM(offset_v4, "4D Offset", 0, 0, 0, 0)
    }

    group {
	name	"gj"
	label	"Jitter"

	VOP_FLT_PARM(jitter,    "1D Jitter", 1)
	VOP_VEC_PARM(jitter_v,  "3D Vector Jitter", 1, 1, 1)
	VOP_VEC_PARM(jitter_p,  "3D Point Jitter", 1, 1, 1)
	VOP_VEC_PARM(jitter_n,  "3D Normal Jitter", 1, 1, 1)
	VOP_VEC_PARM(jitter_c,  "3D Color Jitter", 1, 1, 1)
	VOP_VEC4_PARM(jitter_v4, "4D Jitter", 1, 1, 1, 1)
    }
}
INDX              Contents       WMvw   DialogScript   W  FA0707070000010000000006660000000000000000010000001155527316700001300000000000TRAILER!!! # Dialog script for objpos automatically generated 07/30/07 05:15:45

{
    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	{ "oprelative" "." }
	parmtag	{ "opfilter" "!!OBJ!!" }
	parmtag	{ "autoscope" "0000" }
    }
    parm {
	name	"undogeoxform"
	label	"Compensate for Geometry Transform"
	type	toggle
	default	{ "1" }
	range	{ 0 1 }
	export	none
    }
    parm {
	name	"defaultparmop"
	label	"Default Operation"
	type	integer
	default	{ "1" }
	menu	{
	    "initial"	"Set Initial"
	    "always"	"Set Always"
	    "never"	"Set Never"
	}
	range	{ 0 10 }
	export	none
	parmtag	{ "autoscope" "0000" }
    }
    parm {
	name	"sharedata"
	label	"Data Sharing"
	type	integer
	default	{ "0" }
	menu	{
	    "off"	"Do Not Share Data"
	    "on"	"Share Data Across All Time"
	    "onestep"	"Share Data In One Timestep"
	}
	range	{ 0 10 }
	export	none
	parmtag	{ "autoscope" "0000" }
    }
    parm {
	name	"activation"
	label	"Activation"
	type	integer
	default	{ "1" }
	range	{ 0 10 }
	export	none
	parmtag	{ "autoscope" "0000" }
    }
    parm {
	name	"group"
	label	"Group"
	type	string
	default	{ "*" }
	menutoggle	{
	    [ "opmenu -l motion1 group" ]
	}
	range	{ 0 1 }
	export	none
	parmtag	{ "autoscope" "0000" }
    }
    parm {
	name	"dataname"
	label	"Data Name"
	type	string
	default	{ "Position" }
	range	{ 0 1 }
	export	none
	parmtag	{ "autoscope" "0000" }
    }
    parm {
	name	"uniquedataname"
	label	"Unique Data Name"
	type	toggle
	default	{ "0" }
	range	{ 0 1 }
	export	none
	parmtag	{ "autoscope" "0000" }
    }
}
INDX              Contents       WMv   DialogScript   W  7KaB0707070000010000000006660000000000000000010000001155527325000001300000000000TRAILER!!! # Dialog script for clean automatically generated 01/28/10 14:57:54

{
    name	clean
    script	clean
    label	Clean

    help {
	""
    }

    parm {
	name	"delunusedpts"
	label	"Remove Unused Points"
	type	toggle
	default	{ "1" }
	range	{ 0 1 }
	export	all
    }
    parm {
	name	"deldegengeo"
	label	"Remove Degenerate Primitives"
	type	toggle
	default	{ "1" }
	range	{ 0 1 }
	export	all
    }
    parm {
	name	"fusepts"
	label	"Consolidate Points"
	type	toggle
	default	{ "0" }
	range	{ 0 1 }
	export	all
    }
    parm {
	name	"orientpoly"
	label	"Orient Polygons"
	type	toggle
	default	{ "0" }
	range	{ 0 1 }
	export	all
    }
    parm {
	name	"dodelattribs"
	label	"Remove Attributes"
	type	toggle
	nolabel
	joinnext
	default	{ "0" }
	range	{ 0 1 }
	export	none
    }
    parm {
	name	"delattribs"
	label	"Remove Attribs"
	type	string
	default	{ "*" }
	disablewhen	"{ dodelattribs == 0 }"
	range	{ 0 1 }
	export	none
    }
    parm {
	name	"dodelgroups"
	label	"Remove Groups"
	type	toggle
	nolabel
	joinnext
	default	{ "0" }
	range	{ 0 1 }
	export	none
    }
    parm {
	name	"delgroups"
	label	"Remove Groups"
	type	string
	default	{ "*" }
	disablewhen	"{ dodelgroups == 0 }"
	range	{ 0 1 }
	export	none
    }
    parm {
	name	"delnans"
	label	"Remove NANs"
	type	toggle
	default	{ "1" }
	range	{ 0 1 }
	export	none
    }
}
INDX              DialogScript      ZLt/*
 * PROPRIETARY INFORMATION.  This software is proprietary to
 * Side Effects Software Inc., and is not to be reproduced,
 * transmitted, or disclosed in any way without written permission.
 *
 * Produced by:
 *	Side Effects Software Inc
 *	477 Richmond Street West
 *	Toronto, Ontario
 *	Canada   M5V 3E7
 *	416-504-9876
 *
 */

#include <parameter.ds>

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

    outercode {
	INCLUDE_VOPLIB
    }

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

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

    VOP_VEC_PARM(vec, "Input Vector",   0, 0, 0)
    VOP_VEC_PARM(vec_p, "Input Point",  0, 0, 0)
    VOP_VEC_PARM(vec_n, "Input Normal", 0, 0, 0)
    VOP_VEC_PARM(vec_c, "Input Color",  0, 0, 0)

    VOP_VEC_PARM(vec_uv, "Uniform Vector", 0, 0, 0)
    VOP_VEC_PARM(vec_up, "Uniform Point",  0, 0, 0)
    VOP_VEC_PARM(vec_un, "Uniform Normal", 0, 0, 0)
    VOP_VEC_PARM(vec_uc, "Uniform Color",  0, 0, 0)

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

    signature	"3D Uniform Vector"	uv	{ uvector ufloat ufloat ufloat }
    signature	"3D Uniform Point"	up	{ upoint ufloat ufloat ufloat }
    signature	"3D Uniform Normal"	un	{ unormal ufloat ufloat ufloat }
    signature	"3D Uniform Color"	uc	{ ucolor ufloat ufloat ufloat }
}
INDX              DialogScript      =Lt/*
 * 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 = getneighbourcount($ptnum, $input_index);"
    }

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

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

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

#include <parameter.ds>

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


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

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

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

    group {
	name 	"gs"
	label	"Scalar Defaults"

	VOP_FLT_PARM(min, "1D Float Min", 0)
	VOP_FLT_PARM(max, "1D Float Max", 1)
	VOP_INT_PARM(min_i, "1D Integer Min", 0)
	VOP_INT_PARM(max_i, "1D Integer Max", 1)
    }

    group {
	name 	"gv"
	label	"Vector Defaults"

	VOP_VEC_PARM(min_v, "3D Vector Min", 0, 0, 0)
	VOP_VEC_PARM(max_v, "3D Vector Max", 1, 1, 1)
	VOP_VEC_PARM(min_p, "3D Point Min", 0, 0, 0)
	VOP_VEC_PARM(max_p, "3D Point Max", 1, 1, 1)
	VOP_VEC_PARM(min_n, "3D Normal Min", 0, 0, 0)
	VOP_VEC_PARM(max_n, "3D Normal Max", 1, 1, 1)
	VOP_CLR_PARM(min_c, "3D Color Min", 0, 0, 0)
	VOP_CLR_PARM(max_c, "3D Color Max", 1, 1, 1)
	VOP_CLR4_PARM(min_v4, "4D Color Min", 0, 0, 0, 0)
	VOP_CLR4_PARM(max_v4, "4D Color Max", 1, 1, 1, 1)
    }

    group {
	name 	"gu"
	label	"Uniform Defaults"
	VOP_FLT_PARM(min_uf, "1D Float Min", 0)
	VOP_FLT_PARM(max_uf, "1D Float Max", 1)
	VOP_VEC_PARM(min_uv, "3D Vector Min", 0, 0, 0)
	VOP_VEC_PARM(max_uv, "3D Vector Max", 1, 1, 1)
	VOP_VEC_PARM(min_up, "3D Point Min", 0, 0, 0)
	VOP_VEC_PARM(max_up, "3D Point Max", 1, 1, 1)
	VOP_VEC_PARM(min_un, "3D Normal Min", 0, 0, 0)
	VOP_VEC_PARM(max_un, "3D Normal Max", 1, 1, 1)
	VOP_CLR_PARM(min_uc, "3D Color Min", 0, 0, 0)
	VOP_CLR_PARM(max_uc, "3D Color Max", 1, 1, 1)
    }
}
INDX              DialogScript      Lt/*
 * PROPRIETARY INFORMATION.  This software is proprietary to
 * Side Effects Software Inc., and is not to be reproduced,
 * transmitted, or disclosed in any way without written permission.
 *
 * Produced by:
 *	Side Effects Software Inc
 *	477 Richmond Street West
 *	Toronto, Ontario
 *	Canada   M5V 3E7
 *	416-504-9876
 *
 */

#include <parameter.ds>

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

    outercode {
	INCLUDE_VOPLIB
    }

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

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

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

    signature	"3D Uniform Vector"    uv	{ uvector float }
    signature	"3D Uniform Point"     up       { upoint float }
    signature   "3D Uniform Normal"    un       { unormal float }
    signature	"3D Uniform 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, "3D Vector Input", 0, 0, 0)
    VOP_VEC_PARM(vec_p, "3D Point Input", 0, 0, 0)
    VOP_VEC_PARM(vec_n, "3D Normal Input", 0, 0, 0)
    VOP_VEC_PARM(vec_c, "3D Color Input", 0, 0, 0)
    VOP_VEC4_PARM(vec_v4, "4D Values Input", 0, 0, 0, 0)

    VOP_VEC_PARM(vec_uv, "3D Uniform Vector Input", 0, 0, 0)
    VOP_VEC_PARM(vec_up, "3D Uniform Point Input", 0, 0, 0)
    VOP_VEC_PARM(vec_un, "3D Uniform Normal Input", 0, 0, 0)
    VOP_VEC_PARM(vec_uc, "3D Uniform Color Input", 0, 0, 0)
}

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

#include <parameter.ds>

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

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

    output	int	success		"Found Point"
    VOP_INT_INPUT(handle, "Handle from pcopen", -1)
}
INDX              Contents       WMv   DialogScript   W   F0707070000010000000006660000000000000000010000001155527325000001300000000000TRAILER!!! # Dialog script for null automatically generated 09/05/07 11:45:15

{
    name	null
    script	null
    label	Null


    help {
	""
    }

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

}
INDX              Contents       WMvw   DialogScript   W  
Fh&X0707070000010000000006660000000000000000010000001155527316700001300000000000TRAILER!!! # Dialog script for groundplane automatically generated 06/07/07 11:38:00

{
    name	groundplane
    script	groundplane
    label	"Ground Plane"


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

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

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

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

    group {
	name	std_switcher_0_1
	label	Physical

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

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

#include <parameter.ds>

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

    outercode {
	INCLUDE_VOPLIB
    }

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

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

    signature	"1D Values" default { }
    signature	"3D Values" v	 { vector vector vector vector vector vector }
    signature	"4D Values" v4	 { vector4 vector4 vector4 vector4 vector4 vector4 }
    signature	"1D Float Values"		default	{ }
    signature	"3D Vector Values"	v	{ vector vector vector vector vector vector }
    signature	"3D Point Values"	p	{ point point point point point point }
    signature	"3D Normal Values"	n	{ normal normal normal normal normal normal }
    signature	"3D Color Values"	c	{ color color color color color color }
    signature	"4D Values"		v4	{ vector4 vector4 vector4 vector4 vector4 vector4 }

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

    group {
	name	"gs"
	label	"1D Defaults"

	VOP_FLT_PARM(srcmin,	"1D Src Min", 0)
	VOP_FLT_PARM(srcmax,	"1D Src Max", 1)
	VOP_FLT_PARM(destmin,	"1D Dest Min", 0)
	VOP_FLT_PARM(destmax,	"1D Dest Max", 1)
    }
    group {
	name	"gv"
	label	"3D Defaults"

	VOP_VEC_PARM(srcmin_v,	"3D Vector Src Min", 0, 0, 0)
	VOP_VEC_PARM(srcmax_v,	"3D Vector Src Max", 1, 1, 1)
	VOP_VEC_PARM(destmin_v,	"3D Vector Dest Min", 0, 0, 0)
	VOP_VEC_PARM(destmax_v,	"3D Vector Dest Max", 1, 1, 1)

	VOP_VEC_PARM(srcmin_p,	"3D Point Src Min", 0, 0, 0)
	VOP_VEC_PARM(srcmax_p,	"3D Point Src Max", 1, 1, 1)
	VOP_VEC_PARM(destmin_p,	"3D Point Dest Min", 0, 0, 0)
	VOP_VEC_PARM(destmax_p,	"3D Point Dest Max", 1, 1, 1)

	VOP_VEC_PARM(srcmin_n,	"3D Normal Src Min", 0, 0, 0)
	VOP_VEC_PARM(srcmax_n,	"3D Normal Src Max", 1, 1, 1)
	VOP_VEC_PARM(destmin_n,	"3D Normal Dest Min", 0, 0, 0)
	VOP_VEC_PARM(destmax_n,	"3D Normal Dest Max", 1, 1, 1)

	VOP_CLR_PARM(srcmin_c,	"3D Color Src Min", 0, 0, 0)
	VOP_CLR_PARM(srcmax_c,	"3D Color Src Max", 1, 1, 1)
	VOP_CLR_PARM(destmin_c,	"3D Color Dest Min", 0, 0, 0)
	VOP_CLR_PARM(destmax_c,	"3D Color Dest Max", 1, 1, 1)
    }

    group {
	name	"gv4"
	label	"4D Defaults"

	VOP_VEC4_PARM(srcmin_v4, "4D Src Min", 0, 0, 0, 0)
	VOP_VEC4_PARM(srcmax_v4, "4D Src Max", 1, 1, 1, 1)
	VOP_VEC4_PARM(destmin_v4, "4D Dest Min", 0, 0, 0, 0)
	VOP_VEC4_PARM(destmax_v4, "4D Dest Max", 1, 1, 1, 1)
    }
    group {
	name	"gu"
	label	"Uniform Defaults"

	VOP_FLT_PARM(srcmin_uf,	"1D Src Min", 0)
	VOP_FLT_PARM(srcmax_uf,	"1D Src Max", 1)
	VOP_FLT_PARM(destmin_uf, "1D Dest Min", 0)
	VOP_FLT_PARM(destmax_uf, "1D Dest Max", 1)

	VOP_VEC_PARM(srcmin_uv,	"3D Vector Src Min", 0, 0, 0)
	VOP_VEC_PARM(srcmax_uv,	"3D Vector Src Max", 1, 1, 1)
	VOP_VEC_PARM(destmin_uv, "3D Vector Dest Min", 0, 0, 0)
	VOP_VEC_PARM(destmax_uv, "3D Vector Dest Max", 1, 1, 1)

	VOP_VEC_PARM(srcmin_up,	"3D Point Src Min", 0, 0, 0)
	VOP_VEC_PARM(srcmax_up,	"3D Point Src Max", 1, 1, 1)
	VOP_VEC_PARM(destmin_up, "3D Point Dest Min", 0, 0, 0)
	VOP_VEC_PARM(destmax_up, "3D Point Dest Max", 1, 1, 1)

	VOP_VEC_PARM(srcmin_un,	"3D Normal Src Min", 0, 0, 0)
	VOP_VEC_PARM(srcmax_un,	"3D Normal Src Max", 1, 1, 1)
	VOP_VEC_PARM(destmin_un, "3D Normal Dest Min", 0, 0, 0)
	VOP_VEC_PARM(destmax_un, "3D Normal Dest Max", 1, 1, 1)

	VOP_CLR_PARM(srcmin_uc,	"3D Color Src Min", 0, 0, 0)
	VOP_CLR_PARM(srcmax_uc,	"3D Color Src Max", 1, 1, 1)
	VOP_CLR_PARM(destmin_uc, "3D Color Dest Min", 0, 0, 0)
	VOP_CLR_PARM(destmax_uc, "3D Color Dest Max", 1, 1, 1)
    }

}

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

#include <parameter.ds>

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


    outercode {
    INCLUDE_VOPLIB
    }

    code {
        ""
        "#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);"
        ""
        "#else"
        "   $bias = vop_bias($val, $amount);"
        "#endif"
    }

    input  float   val       "Input"
    input  float   amount    "Bias"
    output float   bias      "Result"
    
    signature   "1D Values"  default   { float float float }
    signature   "3D Colors"  c   { color   color   color   }
    signature   "3D Vector"  v   { vector  vector  vector  }
    signature   "4D Vector"  v4  { vector4 vector4 vector4 }

    VOP_FLT_PARM(val,       "1D Input", 1)
    VOP_FLT_PARM(amount,    "1D Gain",  0.5)

    VOP_CLR_PARM(val_c,     "3D Input", 1, 1, 1)
    VOP_VEC_PARM(amount_c,  "3D Gain", 0.5, 0.5, 0.5)

    VOP_VEC_PARM(val_v,     "3D Input", 1, 1, 1)
    VOP_VEC_PARM(amount_v,  "3D Gain", 0.5, 0.5, 0.5)

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

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


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

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

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

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

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

#include <parameter.ds>

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

    outercode {
	INCLUDE_VOPLIB
    }

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

    output	vector	crossprod	"Cross Product"

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

    signature	"3D Vector Values"	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	"3D Uniform Vector"	   uv	{ uvector uvector uvector }
    signature	"3D Uniform Vector/Normal" vn	{ uvector unormal uvector }
    signature	"3D Uniform Normal/Vector" nv	{ unormal uvector uvector }
    signature	"3D Uniform Normal/Normal" nn	{ unormal unormal uvector }
}
INDX              DialogScript      xLt/*
 * 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;"
    }

    input	float	val		"Input Value"
    output	float	scaled		"Input Value * Constant"
    signature	"1D Float Values"	default	{ }
    signature	"1D Integer Values"	i	{ int int }
    signature	"3D Vector Values"	v	{ vector vector }
    signature	"3D Point Values"	p	{ point point }
    signature	"3D Normal Values"	n	{ normal normal }
    signature	"3D Color Values"	c	{ color color }
    signature	"3D BSDF Values"	b	{ bsdf bsdf }
    signature	"4D Values"		v4	{ vector4 vector4 }
    signature	"3x3 Matrix "		m3	{ matrix3 matrix3 }
    signature	"4x4 Matrix "		m4	{ matrix matrix }

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

    parm {
	name	mulconst
	label	"Multiplier"
	type	float
	size	1
	default	{ 1.0 }
    }
}

INDX              DialogScript      tLt/*
 * 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 {
	"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              Contents       WMv   DialogScript   W  gL<0707070000010000000006660000000000000000010000001155527325000001300000000000TRAILER!!! # Dialog script for voronoifracturepoints automatically generated 07/13/10 11:44:35

{
    name	voronoifracturepoints
    script	voronoifracturepoints
    label	"Voronoi Fracture Points"

    help {
	""
    }

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

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

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

    group {
	name	"folder0_1_1"
	label	"Interior"

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

    group {
	name	"folder0_1_2"
	label	"Exterior"

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

}
INDX              Contents       WMvw   DialogScript   W  FqX0707070000010000000006660000000000000000010000001155527316700001300000000000TRAILER!!! # Dialog script for color automatically generated 06/14/07 11:03:29

{
    name	color
    script	color
    label	Color

    help {
	""
    }

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

    parm {
	name	"group"
	label	"Group"
	type	string
	default	{ "" }
	menutoggle	{
	    [ "opmenu -l constant group" ]
	}
	range	{ 0 1 }
	export	none
	parmtag	{ "autoscope" "0000000000000000" }
	bindselector uveditselect "Assign Colors"
	    "Select the geometry to apply colors to and right click to complete"
	    0 1 all 0 grouptype 0
    }
    parm {
	name	"grouptype"
	label	"Group Type"
	type	integer
	default	{ "0" }
	menu	{
	    "guess"	"Guess from Group"
	    "vertices"	"Vertices"
	    "edges"	"Edges"
	    "points"	"Points"
	    "prims"	"Primitives"
	}
	range	{ 0 10 }
	export	none
	parmtag	{ "autoscope" "0000" }
    }
    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"
	}
	range	{ 0 10 }
	export	all
	parmtag	{ "autoscope" "0000" }
    }
    parm {
	name	"color"
	label	"Color"
	type	color
	size	3
	default	{ "1" "1" "1" }
	disablewhen	"{ colortype == 1 } { colortype == 2 }"
	range	{ 0 1 }
	export	all
	parmtag	{ "autoscope" "0000" }
    }
    parm {
	name	"seed"
	label	"Seed"
	type	float
	default	{ "0" }
	disablewhen	"{ colortype == 0 } { colortype == 1 }"
	range	{ 0 10 }
	export	none
	parmtag	{ "autoscope" "0000" }
    }
}
INDX              DialogScript      Lt/*
 * 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 = getneighbour($ptnum, $neighnum, $input_index);"
    }

    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      Lt/*
 * 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 }

    parm {
	name	handle
	label	"PCOpen Handle"
	type	int
        size    1
        default { -1 }
    }
    parm {
	name	channel
	label	"Channel"
	type	string
	default	{ "P" }
    }
}
INDX              Contents       WMv   DialogScript   W  'K0707070000010000000006660000000000000000010000001155527325000001300000000000TRAILER!!! # Dialog script for rbdfracturedobject automatically generated 12/04/09 21:02:04

{
    name	rbdfracturedobject
    script	fractured_object
    label	"RBD Fractured Object"


    help {
	""
    }
    bindhandle rx xform "Transformer" rx ""
    bindhandle ry xform "Transformer" ry ""
    bindhandle rz xform "Transformer" rz ""
    bindhandle tx xform "Transformer" tx ""
    bindhandle ty xform "Transformer" ty ""
    bindhandle tz xform "Transformer" tz ""
    bindhandle tx velocity "Velocity" tx "invisible(1)"
    bindhandle ty velocity "Velocity" ty "invisible(1)"
    bindhandle tz velocity "Velocity" tz "invisible(1)"
    bindhandle velx velocity "Velocity" vx "invisible(1)"
    bindhandle vely velocity "Velocity" vy "invisible(1)"
    bindhandle velz velocity "Velocity" vz "invisible(1)"

    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 }
	export	none
	parmtag	{ "autoscope" "0000" }
    }
    parm {
	name	"createframe"
	label	"Creation Frame"
	type	float
	default	{ "1" }
	range	{ 1 100 }
	export	none
	parmtag	{ "autoscope" "0000" }
    }
    parm {
	name	"solvefirstframe"
	label	"Solve on Creation Frame"
	type	toggle
	default	{ "off" }
	range	{ 0 1 }
	export	none
	parmtag	{ "autoscope" "0000000000000000" }
    }
    parm {
	name	"soppath"
	label	"SOP Path"
	type	oppath
	default	{ "" }
	range	{ 0 1 }
	export	none
	parmtag	{ "oprelative" "." }
	parmtag	{ "opfilter" "!!SOP!!" }
	parmtag	{ "autoscope" "0000" }
    }
    parm {
	name	"groupmask"
	label	"Group Mask"
	type	string
	default	{ "*" }
	range	{ 0 1 }
	export	none
	parmtag	{ "autoscope" "0000" }
    }
    parm {
	name	"animategeo"
	label	"Use Deforming Geometry"
	type	toggle
	default	{ "0" }
	range	{ 0 1 }
	export	none
	parmtag	{ "autoscope" "0000" }
    }
    parm {
	name	"usetransform"
	label	"Use Object Transform"
	type	toggle
	default	{ "0" }
	range	{ 0 1 }
	export	none
	parmtag	{ "autoscope" "0000" }
    }
    parm {
	name	"active"
	label	"Create Active Objects"
	type	toggle
	default	{ "1" }
	range	{ 0 1 }
	export	none
	parmtag	{ "autoscope" "0000" }
    }
    parm {
	name	"display"
	label	"Display Geometry"
	type	toggle
	default	{ "1" }
	range	{ 0 1 }
	export	none
	parmtag	{ "autoscope" "0000000000000000" }
    }
    group {
	name	"std_switcher_0"
	label	"Initial State"

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

    group {
	name	"std_switcher_0_1"
	label	"Glue"

	parm {
	    name	"glueobject"
	    label	"Glue to Object"
	    type	string
	    default	{ "" }
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000" }
	}
	parm {
	    name	"gluethreshold"
	    label	"Glue Strength"
	    type	float
	    default	{ "-1" }
	    range	{ 0 10 }
	    export	none
	    parmtag	{ "autoscope" "0000" }
	}
	parm {
	    name	"glueimpulsehalflife"
	    label	"Glue Impulse HalfLife"
	    type	float
	    default	{ "0.1" }
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000" }
	}
    }

    group {
	name	"std_switcher_0_2"
	label	"Collisions"

	parm {
	    name	"usevolume"
	    label	"Use Volume Based Collision Detection"
	    type	toggle
	    default	{ "1" }
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000" }
	}
	group {
	    name	"std_switcher_3"
	    label	"Volume"

	    parm {
		name	"mode"
		label	"Mode"
		type	ordinal
		default	{ "0" }
		disablewhen	"{ usevolume == 0 }"
		menu	{
		    "rayintersect"	"Ray Intersect"
		    "metafield"	"Meta Balls"
		    "implicitbox"	"Implicit Box"
		    "implicitsphere"	"Implicit Sphere"
		    "implicitplane"	"Implicit Plane"
		}
		range	{ 0 10 }
		export	none
		parmtag	{ "autoscope" "0000" }
	    }
	    parm {
		name	"div"
		label	"Divisions"
		type	integer
		size	3
		default	{ "30" "30" "30" }
		disablewhen	"{ usevolume == 0 }"
		range	{ 2! 50 }
		export	none
		parmtag	{ "autoscope" "0000" }
	    }
	    parm {
		name	"laserscan"
		label	"Laser Scan"
		type	toggle
		default	{ "0" }
		disablewhen	"{ usevolume == 0 }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000" }
	    }
	    parm {
		name	"fixsigns"
		label	"Fix Signs"
		type	toggle
		default	{ "1" }
		disablewhen	"{ usevolume == 0 }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000" }
	    }
	    parm {
		name	"forcebounds"
		label	"Force Bounds"
		type	toggle
		default	{ "1" }
		disablewhen	"{ usevolume == 0 }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000" }
	    }
	    parm {
		name	"invert"
		label	"Invert Sign"
		type	toggle
		default	{ "0" }
		disablewhen	"{ usevolume == 0 }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000" }
	    }
	    parm {
		name	"sweepalpha"
		label	"Sign Sweep Threshold"
		type	float
		default	{ "2" }
		disablewhen	"{ usevolume == 0 }"
		range	{ 0! 10 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"sweepcount"
		label	"Max Sign Sweep Count"
		type	integer
		default	{ "3" }
		disablewhen	"{ usevolume == 0 }"
		range	{ 0! 10 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"offset"
		label	"Offset Surface"
		type	float
		default	{ "0" }
		range	{ 0 10 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"showguide"
		label	"Show Collision Guide Geometry"
		type	toggle
		default	{ "0" }
		disablewhen	"{ usevolume == 0 }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000" }
	    }
	    parm {
		name	"guidecolor"
		label	"Collision Guide Color"
		type	color
		size	3
		default	{ "1" "0" "0" }
		disablewhen	"{ showguide == 0 } { usevolume == 0 }"
		range	{ 0! 1! }
		export	none
		parmtag	{ "autoscope" "0000" }
	    }
	    parm {
		name	"volumefilemode"
		label	"File Mode"
		type	ordinal
		default	{ "3" }
		disablewhen	"{ usevolume == 0 }"
		menu	{
		    "auto"	"Automatic"
		    "read"	"Read Files"
		    "write"	"Write Files"
		    "none"	"No Operation"
		}
		range	{ 0 10 }
		export	none
		parmtag	{ "autoscope" "0000" }
	    }
	    parm {
		name	"volumefile"
		label	"File"
		type	file
		default	{ "" }
		disablewhen	"{ usevolume == 0 }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000" }
	    }
	}

	group {
	    name	"std_switcher_3_1"
	    label	"Surface"

	    parm {
		name	"surfreptype"
		label	"Surface Representation"
		type	ordinal
		default	{ "0" }
		menu	{
		    "0"	"Points"
		    "1"	"Edges"
		}
		range	{ 0 10 }
		export	none
		parmtag	{ "autoscope" "0000" }
	    }
	    parm {
		name	"polyconvert"
		label	"Convert To Poly"
		type	toggle
		default	{ "1" }
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000" }
	    }
	    parm {
		name	"triangulate"
		label	"Triangulate"
		type	toggle
		default	{ "0" }
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000" }
	    }
	    parm {
		name	"polylod"
		label	"LOD"
		type	float
		size	2
		default	{ "1" "1" }
		range	{ 0 10 }
		export	none
		parmtag	{ "autoscope" "0000" }
	    }
	    parm {
		name	"addbarycenter"
		label	"Add Barycenters"
		type	toggle
		default	{ "1" }
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000" }
	    }
	}

    }

    group {
	name	"std_switcher_0_3"
	label	"Physical"

	parm {
	    name	"computecom"
	    label	"Compute Center of Mass"
	    type	toggle
	    default	{ "on" }
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"p"
	    label	"Pivot"
	    type	vector
	    size	3
	    default	{ "0" "0" "0" }
	    range	{ -1 1 }
	    export	none
	    parmtag	{ "units" "m1" }
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"computemass"
	    label	"Compute Mass"
	    type	toggle
	    default	{ "1" }
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000" }
	}
	parm {
	    name	"density"
	    label	"Density"
	    type	float
	    default	{ "1000" }
	    disablewhen	"{ computemass == 0 }"
	    range	{ 0! 10 }
	    export	none
	    parmtag	{ "autoscope" "0000" }
	}
	parm {
	    name	"mass"
	    label	"Mass"
	    type	float
	    default	{ "1" }
	    disablewhen	"{ computemass == 1 }"
	    range	{ 0! 10 }
	    export	none
	    parmtag	{ "autoscope" "0000" }
	}
	parm {
	    name	"inertialtensorstiffness"
	    label	"Rotational Stiffness"
	    type	float
	    default	{ "1" }
	    range	{ 0 10 }
	    export	none
	    parmtag	{ "autoscope" "0000" }
	}
	parm {
	    name	"bounce"
	    label	"Bounce"
	    type	float
	    default	{ "0.5" }
	    range	{ 0! 1 }
	    export	none
	    parmtag	{ "autoscope" "0000" }
	}
	parm {
	    name	"friction"
	    label	"Friction"
	    type	float
	    default	{ "1" }
	    range	{ 0! 10 }
	    export	none
	    parmtag	{ "autoscope" "0000" }
	}
	parm {
	    name	"dynamicfriction"
	    label	"Dynamic Friction Scale"
	    type	float
	    default	{ "1" }
	    range	{ 0! 1 }
	    export	none
	    parmtag	{ "autoscope" "0000" }
	}
	parm {
	    name	"temperature"
	    label	"Temperature"
	    type	float
	    default	{ "0" }
	    range	{ 0 100 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
    }

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

#include <parameter.ds>

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

    outercode {
	INCLUDE_VOPLIB
    }

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

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

    group {
	name 	"gv"
	label	"Defaults"

	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)
    }
    group {
	name 	"gu"
	label	"Uniform Defaults"

	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 Values"	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	"3D Color Values"	c	{ color color float }

    signature	"3D Uniform Vector"	   uv	{ uvector uvector ufloat }
    signature	"3D Uniform Vector/Point"  vp	{ uvector upoint ufloat }
    signature	"3D Uniform Vector/Normal" vn	{ uvector unormal ufloat }
    signature	"3D Uniform Point/Vector"  pv	{ upoint uvector ufloat }
    signature	"3D Uniform Point/Point"   pp	{ upoint upoint ufloat }
    signature	"3D Uniform Point/Normal"  pn	{ upoint unormal ufloat }
    signature	"3D Uniform Normal/Vector" nv	{ unormal uvector ufloat }
    signature	"3D Uniform Normal/Point"  np	{ unormal upoint ufloat }
    signature	"3D Uniform Normal/Normal" nn	{ unormal unormal ufloat }
    signature	"3D Uniform Color"	uc	{ ucolor ucolor ufloat }
}
INDX              Contents       WMv   DialogScript   W  L<0707070000010000000006660000000000000000010000001155527325000001300000000000TRAILER!!! # Dialog script for rigidbodysolver automatically generated 07/13/10 14:31:48

{
    name	rigidbodysolver
    script	rigidbodysolver
    label	"Rigid Body Solver"


    help {
	""
    }

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

    parm {
	name	"solver"
	label	"Solver Engine"
	type	ordinal
	default	{ "0" }
	menu	{
	    "rbd"	"RBD"
	    "ode"	"ODE"
	}
	range	{ 0 10 }
	export	none
    }
    group {
	name	"folder1"
	label	"RBD"

	group {
	    name	"folder0"
	    label	"Substeps"

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

	group {
	    name	"folder0_1"
	    label	"Collisions"

	    parm {
		name	"collisioniterations"
		label	"Collision Passes"
		type	integer
		default	{ "5" }
		disablewhen	"{ solver != rbd }"
		range	{ 0 10 }
		export	none
	    }
	    parm {
		name	"contactiterations"
		label	"Contact Passes"
		type	integer
		default	{ "7" }
		disablewhen	"{ solver != rbd }"
		range	{ 0 10 }
		export	none
	    }
	    parm {
		name	"subcontactiterations"
		label	"SubContact Passes"
		type	integer
		default	{ "10" }
		disablewhen	"{ solver != rbd }"
		range	{ 0 10 }
		export	none
	    }
	    parm {
		name	"shockpropagation"
		label	"Shock Propagation"
		type	integer
		default	{ "3" }
		disablewhen	"{ solver != rbd }"
		range	{ 0 10 }
		export	none
	    }
	    parm {
		name	"resolvepenetration"
		label	"Resolve Penetration"
		type	integer
		default	{ "0" }
		disablewhen	"{ solver != rbd }"
		range	{ 0 10 }
		export	none
	    }
	    parm {
		name	"usepointvelocity"
		label	"Use Point Velocity for Collisions"
		type	toggle
		default	{ "0" }
		disablewhen	"{ solver != rbd }"
		range	{ 0 1 }
		export	none
	    }
	    parm {
		name	"usevolumevelocity"
		label	"Use Volume Velocity for Collisions"
		type	toggle
		default	{ "0" }
		disablewhen	"{ solver != rbd }"
		range	{ 0 1 }
		export	none
	    }
	    parm {
		name	"addimpacts"
		label	"Add Impact Data"
		type	toggle
		default	{ "1" }
		disablewhen	"{ solver != rbd }"
		range	{ 0 1 }
		export	none
	    }
	    parm {
		name	"glueignoresrestingobjects"
		label	"Glue Ignores Resting Objects"
		type	toggle
		default	{ "1" }
		disablewhen	"{ solver != rbd }"
		range	{ 0 1 }
		export	none
	    }
	    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 }
		export	none
	    }
	    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 }
		export	none
	    }
	    parm {
		name	"contactgrouptol"
		label	"Contact Grouping Tolerance"
		type	float
		default	{ "0.001" }
		disablewhen	"{ solver != rbd }"
		range	{ 0 10 }
		export	none
	    }
	}

	group {
	    name	"folder0_2"
	    label	"Fracture"

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

    }

    group {
	name	"folder1_1"
	label	"ODE"

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

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

#include <parameter.ds>

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

    outercode {
	INCLUDE_VOPLIB
    }

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

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

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

    group {
	name 	"gv"
	label	"Defaults"
	VOP_FLT_PARM(deg,   "1D Float Input", 1)
	VOP_VEC_PARM(deg_v, "3D Vector", 1, 1, 1)
	VOP_VEC_PARM(deg_p, "3D Point", 1, 1, 1)
	VOP_VEC_PARM(deg_n, "3D Normal", 1, 1, 1)
	VOP_CLR_PARM(deg_c, "3D Color", 1, 1, 1)
	VOP_VEC4_PARM(deg_v4,"4D Integer", 1, 1, 1, 1)
    }
    group {
	name 	"gu"
	label	"Uniform Defaults"
	VOP_FLT_PARM(deg_uf, "1D Float", 1)
	VOP_VEC_PARM(deg_uv, "3D Vector", 1, 1, 1)
	VOP_VEC_PARM(deg_up, "3D Point", 1, 1, 1)
	VOP_VEC_PARM(deg_un, "3D Normal", 1, 1, 1)
	VOP_CLR_PARM(deg_uc, "3D Color", 1, 1, 1)
    }
}
INDX              DialogScript      Lt/*
 * PROPRIETARY INFORMATION.  This software is proprietary to
 * Side Effects Software Inc., and is not to be reproduced,
 * transmitted, or disclosed in any way without written permission.
 *
 * Produced by:
 *	Side Effects Software Inc
 *	477 Richmond Street West
 *	Toronto, Ontario
 *	Canada   M5V 3E7
 *	416-504-9876
 *
 */

#include <parameter.ds>

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


    code {
	"#ifdef __vex"
	"    $rand = random($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"	i1d	{ 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"	uuf	{ 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  }


    group {
	name	"gv"
	label	"Default Position"
	VOP_FLT_PARM(pos,     "1D Float Position", 0)
	VOP_FLT_PARM(pos_i,   "1D Integer Position", 0)
	VOP_VEC_PARM(pos_v1d, "3D Vector Values", 0, 0, 0)
	VOP_VEC_PARM(pos_p1d, "3D Point Values", 0, 0, 0)
	VOP_VEC_PARM(pos_n1d, "3D Normal Values", 0, 0, 0)
	VOP_CLR_PARM(pos_c1d, "3D Color Values", 0, 0, 0)
	VOP_VEC4_PARM(pos_v41d, "4D Position", 0, 0, 0, 0)
    }
    group {
	name	"gu"
	label	"Uniform Defaults"
	VOP_FLT_PARM(pos_uf1d, "1D Float Position", 0)
	VOP_VEC_PARM(pos_uv1d, "3D Vector Values", 0, 0, 0)
	VOP_VEC_PARM(pos_up1d, "3D Point Values", 0, 0, 0)
	VOP_VEC_PARM(pos_un1d, "3D Normal Values", 0, 0, 0)
	VOP_CLR_PARM(pos_uc1d, "3D Color Values", 0, 0, 0)
    }
}
INDX              Contents       WMv   DialogScript   W  2CL<0707070000010000000006660000000000000000010000001155527325000001300000000000TRAILER!!! # Dialog script for voronoifracture automatically generated 07/13/10 11:44:04

{
    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	{ "" }
	range	{ 0 1 }
	export	none
    }
    parm {
	name	"createinside"
	label	"Create Inside Surface"
	type	toggle
	default	{ "1" }
	range	{ 0 1 }
	export	none
    }
    parm {
	name	"connect"
	label	"Connect Inside Edges"
	type	toggle
	default	{ "0" }
	disablewhen	"{ createinside == 0 }"
	range	{ 0 1 }
	export	none
    }
    parm {
	name	"docusp"
	label	"Cusp Interior Edges"
	type	toggle
	default	{ "0" }
	disablewhen	"{ createinside == 0 }"
	range	{ 0 1 }
	export	none
    }
    parm {
	name	"visualizepieces"
	label	"Visualize Pieces"
	type	toggle
	default	{ "0" }
	range	{ 0 1 }
	export	none
    }
    parm {
	name	"usecellptgroup"
	label	"Use Cell Point Group"
	type	toggle
	default	{ "0" }
	range	{ 0 1 }
	export	none
    }
    parm {
	name	"cellgroup"
	label	"Cell Point Group"
	type	string
	default	{ "0" }
	disablewhen	"{ usecellptgroup == 0 }"
	range	{ 0 1 }
	export	none
    }
    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 }
	export	none
    }
    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 }
	    export	none
	}
	parm {
	    name	"partition"
	    label	"Connectivity Partition"
	    type	ordinal
	    default	{ "1" }
	    menu	{
		"0"	"None"
		"1"	"Overwrite Piece Numbering"
		"2"	"Maintain Piece Numbering"
	    }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"cutplaneoffset"
	    label	"Cut Plane Offset"
	    type	float
	    default	{ "0" }
	    range	{ 0 0.25 }
	    export	none
	}
	parm {
	    name	"optimizecutbycluster"
	    label	"Optimize Cutting Based on Clustering"
	    type	toggle
	    default	{ "0" }
	    disablewhen	"{ triangulation == 3 } { cutplaneoffset > 0 } { cluster == 0 }"
	    range	{ 0 1 }
	    export	none
	}
    }

    group {
	name	"settings_1"
	label	"Cluster"

	parm {
	    name	"cluster"
	    label	"Cluster Pieces"
	    type	toggle
	    default	{ "0" }
	    disablewhen	"{ cutplaneoffset > 0 }"
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"deleteedges"
	    label	"Delete Exterior Cluster Edges"
	    type	toggle
	    default	{ "0" }
	    range	{ 0! 10 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"addclusternoise"
	    label	"Add Cluster Noise"
	    type	toggle
	    default	{ "1" }
	    disablewhen	"{ cutplaneoffset > 0 } { cluster == 0 }"
	    range	{ 0! 10 }
	    export	none
	    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 }
	    export	none
	    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 }
	    export	none
	    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 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"randomdetach"
	    label	"Random Detachment"
	    type	toggle
	    default	{ "0" }
	    disablewhen	"{ cutplaneoffset > 0 } { cluster == 0 }"
	    range	{ 0! 10 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"detachseed"
	    label	"Detach Seed"
	    type	float
	    default	{ "0" }
	    disablewhen	"{ cutplaneoffset > 0 } { cluster == 0 } { randomdetach == 0 }"
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"detachratio"
	    label	"Detach Ratio"
	    type	float
	    default	{ "0.1" }
	    disablewhen	"{ cutplaneoffset > 0 } { cluster == 0 } { randomdetach == 0 }"
	    range	{ 0! 1! }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"clusterattr"
	    label	"Cluster Attribute"
	    type	string
	    default	{ "cluster" }
	    disablewhen	"{ cutplaneoffset > 0 } { cluster == 0 }"
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"clusterattrtol"
	    label	"Attribute Tolerance"
	    type	float
	    default	{ "1e-05" }
	    disablewhen	"{ cutplaneoffset > 0 } { cluster == 0 }"
	    range	{ 0 0.1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"fusedist"
	    label	"Fuse Tolerance"
	    type	float
	    default	{ "0.001" }
	    disablewhen	"{ cutplaneoffset > 0 } { cluster == 0 }"
	    range	{ 0 10 }
	    export	none
	    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 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"viznoisescale"
	    label	"Visualize Noise Scale"
	    type	toggle
	    default	{ "off" }
	    disablewhen	"{ addinteriordetail == 0 } { createinside == 0 }"
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"planar"
	    label	"Triangulate Non-Planar Detail"
	    type	toggle
	    default	{ "0" }
	    disablewhen	"{ addinteriordetail == 0 } { createinside == 0 }"
	    range	{ 0! 10 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"detailsize"
	    label	"Detail Size"
	    type	float
	    default	{ "0.25" }
	    disablewhen	"{ addinteriordetail == 0 } { createinside == 0 }"
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"intnoiseamp"
	    label	"Noise Amplitude"
	    type	float
	    default	{ "0.1" }
	    disablewhen	"{ addinteriordetail == 0 } { createinside == 0 }"
	    range	{ 0 1 }
	    export	none
	    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 }
	    export	none
	    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 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"intnoiseoffset"
	    label	"Offset"
	    type	vector
	    size	3
	    default	{ "0" "0" "0" }
	    disablewhen	"{ addinteriordetail == 0 } { createinside == 0 }"
	    range	{ 0 10 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"intnoiseturb"
	    label	"Turbulence"
	    type	integer
	    default	{ "3" }
	    disablewhen	"{ addinteriordetail == 0 } { createinside == 0 }"
	    range	{ 0 10 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"hassdfinput"
	    label	"hassdfinput"
	    type	toggle
	    invisible
	    default	{ "0" }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"depthsamplediv"
	    label	"Depth Volume Resolution"
	    type	integer
	    default	{ "50" }
	    disablewhen	"{ hassdfinput == 1 } { addinteriordetail == 0 } { createinside == 0 }"
	    range	{ 10! 100 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"clampmaxdisp"
	    label	"Clamp Displacement Amount to Depth"
	    type	toggle
	    default	{ "on" }
	    disablewhen	"{ addinteriordetail == 0 } { createinside == 0 }"
	    range	{ 0 1 }
	    export	none
	    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 }
	    export	none
	    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 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"usedepthnoisescaleramp"
	    label	"Use Depth / Noise Ramp"
	    type	toggle
	    default	{ "off" }
	    disablewhen	"{ addinteriordetail == 0 } { createinside == 0 }"
	    range	{ 0 1 }
	    export	none
	    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 }
	    export	none
	    parmtag	{ "rampvalues_var" "depthnoisescaleramp_the_key_values" }
	    parmtag	{ "rampkeys_var" "depthnoisescaleramp_the_key_positions" }
	    parmtag	{ "rampbasis_var" "depthnoisescaleramp_the_basis_strings" }
	    parmtag	{ "autoscope" "0000000000000000" }
	    parmtag	{ "rampfloatdefault" "1pos ( 0 ) 1value ( 0 ) 1interp ( catmull-rom ) 2pos ( 1 ) 2value ( 1 ) 2interp ( catmull-rom )" }
	    parmtag	{ "rampshowcontrolsdefault" "0" }
	    parmtag	{ "rampbasisdefault" "catmull-rom" }
	}
    }

    group {
	name	"settings_3"
	label	"Groups"

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

    group {
	name	"settings_4"
	label	"Attributes"

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

}
INDX              Contents       WMvw   DialogScript   W  gFm+0707070000010000000006660000000000000000010000001155527316700001300000000000TRAILER!!! # Dialog script for linktosourceobject automatically generated 09/13/07 13:02:35

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

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

    outercode {
	INCLUDE_VOPLIB
    }

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

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

    signature	"Float Values"	default	{ }
    signature	"Uniform Floats"	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,     "Uniform Range Bottom", 0)
    VOP_FLT_PARM(max_uf,     "Uniform Range Top",  1)
    VOP_FLT_PARM(amount_uf,  "Uniform Amount",	  0.5)
    VOP_FLT_PARM(rolloff_uf, "Uniform Rolloff",	  1)
}

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

#include <parameter.ds>

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


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

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

    group {
	name	"g0"
	label	"Defaults"
	VOP_VEC_PARM(vec,		"3D Vector", 1, 1, 1)
	VOP_VEC_PARM(vec_p,		"3D Point", 1, 1, 1)
	VOP_VEC_PARM(vec_n,		"3D Normal", 1, 1, 1)
	VOP_VEC4_PARM(vec_v4,	"4D Vector", 1, 1, 1, 1)
    }
    group {
	name	"g0"
	label	"Uniform Defaults"
	VOP_VEC_PARM(vec_uv,	"3D Uniform Vector", 1, 1, 1)
	VOP_VEC_PARM(vec_up,	"3D Uniform Point", 1, 1, 1)
	VOP_VEC_PARM(vec_un,	"3D Uniform Normal", 1, 1, 1)
    }
}
INDX              Contents       WMv   DialogScript   W  HQ0707070000010000000006660000000000000000010000001155527325000001300000000000TRAILER!!! # Dialog script for assemble automatically generated 06/12/08 18:52:17

{
    name	assemble
    script	Reassemble
    label	Assemble

    help {
	""
    }

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

    parm {
	name	"group"
	label	"Group"
	type	string
	default	{ "" }
	menutoggle	{
	    [ "opmenu -l delete__no_change group" ]
	}
	range	{ 0 1 }
	export	none
	bindselector prims "Primitives to Finalize"
	    "Select the geometry to finalize and right click to complete"
	    0 1 poly 0 "" 0
    }
    parm {
	name	"inside_group"
	label	"Inside Group"
	type	string
	default	{ "inside" }
	menutoggle	{
	    [ "opmenu -l delete__no_change group" ]
	}
	range	{ 0 1 }
	export	none
    }
    parm {
	name	"outside_group"
	label	"Output Prefix"
	type	string
	default	{ "piece" }
	range	{ 0 1 }
	export	none
    }
    parm {
	name	"connect"
	label	"Connect Inside Edges"
	type	toggle
	default	{ "0" }
	range	{ 0 1 }
	export	none
    }
    parm {
	name	"doCusp"
	label	"Cusp Edges"
	type	toggle
	default	{ "0" }
	range	{ 0 1 }
	export	none
    }
}
INDX              DialogScript      Lt/*
 * PROPRIETARY INFORMATION.  This software is proprietary to
 * Side Effects Software Inc., and is not to be reproduced,
 * transmitted, or disclosed in any way without written permission.
 *
 * Produced by:
 *	Side Effects Software Inc
 *	477 Richmond Street West
 *	Toronto, Ontario
 *	Canada   M5V 3E7
 *	416-504-9876
 *
 */

#include <parameter.ds>

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

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

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

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

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

    group {
	name 	"gv"
	label	"Defaults"
	VOP_FLT_PARM(val,   "1D Float Input", 1)
	VOP_INT_PARM(val_i, "1D Integer Input", 1)
	VOP_VEC_PARM(val_v, "3D Vector", 1, 1, 1)
	VOP_VEC_PARM(val_p, "3D Point", 1, 1, 1)
	VOP_VEC_PARM(val_n, "3D Normal", 1, 1, 1)
	VOP_CLR_PARM(val_c, "3D Color", 1, 1, 1)
	VOP_VEC4_PARM(val_v4,"4D Vector", 1, 1, 1, 1)
    }
    group {
	name 	"gu"
	label	"Uniform Defaults"
	VOP_FLT_PARM(val_uf, "1D Float", 1)
	VOP_VEC_PARM(val_uv, "3D Vector", 1, 1, 1)
	VOP_VEC_PARM(val_up, "3D Point", 1, 1, 1)
	VOP_VEC_PARM(val_un, "3D Normal", 1, 1, 1)
	VOP_CLR_PARM(val_uc, "3D Color", 1, 1, 1)
    }
}
INDX              DialogScript      Lt/*
 * PROPRIETARY INFORMATION.  This software is proprietary to
 * Side Effects Software Inc., and is not to be reproduced,
 * transmitted, or disclosed in any way without written permission.
 *
 * Produced by:
 *	Side Effects Software Inc
 *	477 Richmond Street West
 *	Toronto, Ontario
 *	Canada   M5V 3E7
 *	416-504-9876
 *
 */

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


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

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

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

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

    parm {
	name	samplepos
	label	"Sample Position"
	type	float
	size	3
	default { 0 0 0 }
    }
}
INDX              Contents       WMv   DialogScript   W  L<f0707070000010000000006660000000000000000010000001155527325000001300000000000TRAILER!!! # Dialog script for voronoifracturesolver automatically generated 07/13/10 11:21:10

{
    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"

    parm {
	name	"minpiecevol"
	label	"Minimum Piece Volume"
	type	float
	default	{ "1e-07" }
	range	{ 0 10 }
	export	none
    }
    parm {
	name	"clusterfusedist"
	label	"Cluster Fuse Tolerance"
	type	float
	default	{ "0.001" }
	range	{ 0 10 }
	export	none
    }
    parm {
	name	"stampcreation"
	label	"Stamp Interior Primitives With Creation Time"
	type	toggle
	default	{ "0" }
	range	{ 0 1 }
	export	none
    }
    parm {
	name	"feedback"
	label	"Allow Fracturing From Feedback"
	type	toggle
	default	{ "0" }
	range	{ 0! 10 }
	export	none
	parmtag	{ "autoscope" "0000000000000000" }
    }
    parm {
	name	"fractureignoresresting"
	label	"Fracturing Ignores Resting Objects"
	type	toggle
	default	{ "1" }
	range	{ 0 1 }
	export	none
    }
    parm {
	name	"seed"
	label	"Random Seed"
	type	integer
	default	{ "0" }
	range	{ 0 10 }
	export	none
    }
    parm {
	name	"converttopoly"
	label	"Convert To Poly"
	type	toggle
	nolabel
	joinnext
	default	{ "1" }
	range	{ 0 1 }
	export	none
    }
    parm {
	name	"converttopolylod"
	label	"Convert To Poly"
	type	float
	default	{ "1" }
	disablewhen	"{ converttopoly == 0 }"
	range	{ 0! 10 }
	export	none
    }
    parm {
	name	"group"
	label	"Group"
	type	string
	default	{ "*" }
	range	{ 0 1 }
	export	none
    }
    parm {
	name	"dataname"
	label	"Data Name"
	type	string
	default	{ "Solver" }
	range	{ 0 1 }
	export	none
	parmtag	{ "autoscope" "0000000000000000" }
    }
    parm {
	name	"uniquedataname"
	label	"Unique Data Name"
	type	toggle
	default	{ "on" }
	range	{ 0 1 }
	export	none
	parmtag	{ "autoscope" "0000000000000000" }
    }
}
0707070000010000000006660000000000000000010000001155527366000002000000000012expression.func # 0 bytes
0707070000010000000006660000000000000000010000001155527366000001000000000567obj.def comment ""
position 5 2
cachesize 1
flags =  lock off model off template off footprint off xray off bypass off display on render on highlight off unload off savedata off compress off exposed on
inputs
{
}
stat
{
  create 1303737888
  modify 1303737976
  author jeff_wagner@lorient-3.local
  access 0777
}
color UT_Color RGB 0.8 0.8 0.8 
delscript ""
exprlanguage hscript
end
0707070000010000000006660000000000000000010000001155527366000001100000000020obj.parm {
version 0.8
}
0707070000010000000006660000000000000000010000001155527366000003000000000035obj/AutoDopNetwork.init type = dopnet
matchesdef = 0
0707070000010000000006660000000000000000010000001155527366000002700000000755obj/AutoDopNetwork.def objflags objflags =  origin off
pretransform UT_DMatrix4 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1
comment ""
position -1.6944 0.866518
cachesize 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 off exposed on selectable on
inputs
{
}
stat
{
  create 1303737975
  modify 1303738278
  author jeff_wagner@lorient-3.local
  access 0777
}
color UT_Color RGB 0.8 0.8 0.8 
delscript ""
exprlanguage hscript
end
0707070000010000000006660000000000000000010000001155527366000002700000000521obj/AutoDopNetwork.chn {
    channel timestep {
      lefttype = extend
      righttype = extend
      flags = 0
      segment { length = 0 expr = ch(\"timescale\")/(ch(\"substep\")*$FPS) }
    }
    channel timeoffset {
      lefttype = extend
      righttype = extend
      flags = 0
      segment { length = 0 expr = (ch(\"startframe\")-1)/$FPS }
    }
  }
0707070000010000000006660000000000000000010000001155527366000003000000003151obj/AutoDopNetwork.parm {
version 0.8
stdswitcher	[ 0	locks=0 ]	(	0	0	)
resimulate	[ 0	locks=0 ]	(	0	)
tdisplay	[ 0	locks=0 ]	(	"off"	)
display	[ 0	locks=0 ]	(	1	)
initialstate	[ 0	locks=0 ]	(	""	)
timestep	[ 0	locks=0 ]	(	[ timestep	0.0416666679 ] 	)
substep	[ 0	locks=0 ]	(	1	)
timeoffset	[ 0	locks=0 ]	(	[ timeoffset	0 ] 	)
startframe	[ 0	locks=0 ]	(	1	)
timescale	[ 0	locks=0 ]	(	1	)
maxfeedback	[ 0	locks=0 ]	(	2	)
autoresim	[ 0	locks=0 ]	(	"on"	)
datahints	[ 0	locks=0 ]	(	"on"	)
interpolate	[ 0	locks=0 ]	(	"on"	)
cacheenabled	[ 0	locks=0 ]	(	"on"	)
compresssims	[ 0	locks=0 ]	(	"off"	)
cachemaxsize	[ 0	locks=0 ]	(	500	)
cachetodisk	[ 0	locks=0 ]	(	"on"	)
cachetodisknoninteractive	[ 0	locks=0 ]	(	"off"	)
cachesubsteps	[ 0	locks=0 ]	(	"off"	)
timeless	[ 0	locks=0 ]	(	"off"	)
explicitcache	[ 0	locks=0 ]	(	"off"	)
explicitcachename	[ 0	locks=0 ]	(	$HIP/cache_${OS}_$SF.sim	)
explicitcachensteps	[ 0	locks=0 ]	(	0	)
keeppos	[ 0	locks=0 ]	(	"off"	)
pre_xform	[ 0	locks=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	)
scale	[ 0	locks=0 ]	(	1	)
lookatpath	[ 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	)
forceresim	[ 0	locks=0 ]	(	"off"	)
displayfilter	[ 0	locks=0 ]	(	*	)
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 ]	(	"off"	)
}
0707070000010000000006660000000000000000010000001155527366000003400000000077obj/AutoDopNetwork.userdata     ___toolcount___    2 ___toolid___    dop_groundplane0707070000010000000006660000000000000000010000001155527366000005100000000046obj/AutoDopNetwork/rigidbodysolver1.init type = rigidbodysolver
matchesdef = 1
0707070000010000000006660000000000000000010000001155527366000005000000000620obj/AutoDopNetwork/rigidbodysolver1.def comment ""
position 1.412 2.1084
cachesize 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 off exposed on
inputs
{
0 	merge3 0 1
}
stat
{
  create 1303738024
  modify 1303738250
  author jeff_wagner@lorient-3.local
  access 0777
}
color UT_Color RGB 0.8 0.8 0.8 
delscript ""
exprlanguage hscript
end
0707070000010000000006660000000000000000010000001155527366000005100000002713obj/AutoDopNetwork/rigidbodysolver1.parm {
version 0.8
solver	[ 0	locks=0 ]	(	"rbd"	)
folder1	[ 0	locks=0 ]	(	0	0	)
folder0	[ 0	locks=0 ]	(	0	0	0	)
minimumsubsteps	[ 0	locks=0 ]	(	1	)
maximumsubsteps	[ 0	locks=0 ]	(	1	)
cflcond	[ 0	locks=0 ]	(	1	)
collisioniterations	[ 0	locks=0 ]	(	5	)
contactiterations	[ 0	locks=0 ]	(	7	)
subcontactiterations	[ 0	locks=0 ]	(	10	)
shockpropagation	[ 0	locks=0 ]	(	3	)
resolvepenetration	[ 0	locks=0 ]	(	0	)
usepointvelocity	[ 0	locks=0 ]	(	"off"	)
usevolumevelocity	[ 0	locks=0 ]	(	"off"	)
addimpacts	[ 0	locks=0 ]	(	"on"	)
glueignoresrestingobjects	[ 0	locks=0 ]	(	"on"	)
cullmode	[ 0	locks=0 ]	(	1	)
contactgroupmethod	[ 0	locks=0 ]	(	0	)
contactgrouptol	[ 0	locks=0 ]	(	0.00100000005	)
labelparm	[ 0	locks=0 ]	(	"Requires a Voronoi Fracture Configure Object"	)
fractureminpiecevol	[ 0	locks=0 ]	(	1.00000001e-07	)
fractureclusterfusedist	[ 0	locks=0 ]	(	0.00100000005	)
fracturestampcreation	[ 0	locks=0 ]	(	"off"	)
fracturefeedback	[ 0	locks=0 ]	(	"off"	)
fractureignoresresting	[ 0	locks=0 ]	(	"on"	)
fractureseed	[ 0	locks=0 ]	(	0	)
converttopoly	[ 0	locks=0 ]	(	"on"	)
converttopolylod	[ 0	locks=0 ]	(	1	)
erp	[ 0	locks=0 ]	(	0.200000003	)
cfm	[ 0	locks=0 ]	(	1.00000001e-07	)
oversample	[ 0	locks=0 ]	(	10	)
rand	[ 0	locks=0 ]	(	0	)
usemaxomega	[ 0	locks=0 ]	(	"on"	)
maxomega	[ 0	locks=0 ]	(	100000	)
addaffectors	[ 0	locks=0 ]	(	"on"	)
group	[ 0	locks=0 ]	(	*	)
dataname	[ 0	locks=0 ]	(	Solver	)
uniquedataname	[ 0	locks=0 ]	(	"off"	)
solverperobject	[ 0	locks=0 ]	(	"off"	)
}
0707070000010000000006660000000000000000010000001155527366000005500000000106obj/AutoDopNetwork/rigidbodysolver1.userdata     ___toolcount___    3 ___toolid___    dop_rbdfracturedobject0707070000010000000006660000000000000000010000001155527366000001000000000575vex.def comment ""
position 5.5 2.5
cachesize 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 off exposed on
inputs
{
}
stat
{
  create 1303737889
  modify 1303737890
  author jeff_wagner@lorient-3.local
  access 0777
}
color UT_Color RGB 0.8 0.8 0.8 
delscript ""
exprlanguage hscript
end
0707070000010000000006660000000000000000010000001155527366000001100000000020vex.parm {
version 0.8
}
0707070000010000000006660000000000000000010000001155527366000002500000000032obj/box_object1.init type = geo
matchesdef = 0
0707070000010000000006660000000000000000010000001155527366000002400000000752obj/box_object1.def objflags objflags =  origin off
pretransform UT_DMatrix4 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1
comment ""
position -3.3888 1.7884
cachesize 1
flags =  lock off model off template off footprint off xray off bypass off display on render off highlight off unload off savedata off compress off exposed on selectable on
inputs
{
}
stat
{
  create 1303737893
  modify 1303738155
  author jeff_wagner@lorient-3.local
  access 0777
}
color UT_Color RGB 0.8 0.8 0.8 
delscript ""
exprlanguage hscript
end
0707070000010000000006660000000000000000010000001155527366000003500000020166obj/box_object1.spareparmdef     group {
	name	"stdswitcher5"
	label	"Transform"

	parm {
	    name	"keeppos"
	    baseparm
	    joinnext
	    export	none
	}
	parm {
	    name	"pre_xform"
	    baseparm
	    export	none
	}
	parm {
	    name	"xOrd"
	    baseparm
	    joinnext
	    export	none
	}
	parm {
	    name	"rOrd"
	    baseparm
	    export	none
	}
	parm {
	    name	"t"
	    baseparm
	    export	all
	}
	parm {
	    name	"r"
	    baseparm
	    export	all
	}
	parm {
	    name	"s"
	    baseparm
	    export	none
	}
	parm {
	    name	"p"
	    baseparm
	    export	none
	}
	parm {
	    name	"scale"
	    baseparm
	    export	none
	}
	parm {
	    name	"lookatpath"
	    baseparm
	    export	none
	}
	parm {
	    name	"lookup"
	    baseparm
	    export	none
	}
	parm {
	    name	"pathobjpath"
	    baseparm
	    export	none
	}
	parm {
	    name	"roll"
	    baseparm
	    export	none
	}
	parm {
	    name	"pos"
	    baseparm
	    export	none
	}
	parm {
	    name	"uparmtype"
	    baseparm
	    export	none
	}
	parm {
	    name	"pathorient"
	    baseparm
	    export	none
	}
	parm {
	    name	"up"
	    baseparm
	    export	none
	}
	parm {
	    name	"bank"
	    baseparm
	    export	none
	}
    }

    group {
	name	"stdswitcher5_1"
	label	"Material"

	parm {
	    name	"shop_materialpath"
	    baseparm
	    joinnext
	    export	none
	}
	parm {
	    name	"shop_materialopts"
	    baseparm
	    export	none
	}
    }

    group {
	name	"stdswitcher5_2"
	label	"Render"

	parm {
	    name	"tdisplay"
	    baseparm
	    joinnext
	    export	none
	}
	parm {
	    name	"display"
	    baseparm
	    export	none
	}
	parm {
	    name	"vm_phantom"
	    label	"Phantom"
	    type	toggle
	    default	{ "0" }
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "spare_category" "Render" }
	}
	parm {
	    name	"vm_renderable"
	    label	"Renderable"
	    type	toggle
	    default	{ "1" }
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "spare_category" "Render" }
	}
	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"
		range	{ 0 1 }
		export	none
		parmtag	{ "spare_category" "Shading" }
	    }
	    parm {
		name	"reflectmask"
		label	"Reflection Mask"
		type	oplist
		default	{ "*" }
		help	"Objects that will be reflected on this object."
		range	{ 0 1 }
		export	none
		parmtag	{ "oprelative" "/obj" }
		parmtag	{ "opfilter" "!!OBJ/GEOMETRY!!" }
		parmtag	{ "spare_category" "Shading" }
		parmtag	{ "opexpand" "1" }
	    }
	    parm {
		name	"refractmask"
		label	"Refraction Mask"
		type	oplist
		default	{ "*" }
		help	"Objects that will be refracted on this object."
		range	{ 0 1 }
		export	none
		parmtag	{ "oprelative" "/obj" }
		parmtag	{ "opfilter" "!!OBJ/GEOMETRY!!" }
		parmtag	{ "spare_category" "Shading" }
		parmtag	{ "opexpand" "1" }
	    }
	    parm {
		name	"lightmask"
		label	"Light Mask"
		type	oplist
		default	{ "*" }
		help	"Lights that illuminate this object."
		range	{ 0 1 }
		export	none
		parmtag	{ "oprelative" "/obj" }
		parmtag	{ "opfilter" "!!OBJ/LIGHT!!" }
		parmtag	{ "spare_category" "Shading" }
		parmtag	{ "opexpand" "1" }
	    }
	    parm {
		name	"vm_volumefilter"
		label	"Volume Filter"
		type	string
		default	{ "gaussian" }
		menu	{
		    "box"	"Box Filter"
		    "gaussian"	"Gaussian"
		    "bartlett"	"Bartlett (triangle)"
		    "catrom"	"Catmull-Rom"
		    "hanning"	"Hanning"
		    "blackman"	"Blackman"
		    "sinc"	"Sinc (sharpening)"
		}
		range	{ 0 1 }
		export	none
		parmtag	{ "spare_category" "Shading" }
	    }
	    parm {
		name	"vm_volumefilterwidth"
		label	"Volume Filter Width"
		type	float
		default	{ "1.5" }
		range	{ 0.001 5 }
		export	none
		parmtag	{ "spare_category" "Shading" }
	    }
	    parm {
		name	"vm_matte"
		label	"Matte shading"
		type	toggle
		default	{ "0" }
		range	{ 0 1 }
		export	none
		parmtag	{ "spare_category" "Shading" }
	    }
	    parm {
		name	"vm_rayshade"
		label	"Raytrace Shading"
		type	toggle
		default	{ "0" }
		help	"Shade every sample rather than shading micropolygon vertices.  This setting enables the raytrace rendering engine on a per-object basis."
		range	{ 0 1 }
		export	none
		parmtag	{ "spare_category" "Shading" }
	    }
	}

	group {
	    name	"folder0_1"
	    label	"Sampling"

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

	group {
	    name	"folder0_2"
	    label	"Dicing"

	    parm {
		name	"vm_shadingquality"
		label	"Shading Quality"
		type	float
		default	{ "1" }
		disablewhen	"{ vm_renderengine != micropoly vm_renderengine != pbrmicropoly }"
		range	{ 0 10 }
		export	none
		parmtag	{ "spare_category" "Dicing" }
	    }
	    parm {
		name	"vm_rayshadingquality"
		label	"Ray Shading Quality"
		type	float
		default	{ "1" }
		range	{ 0 10 }
		export	none
		parmtag	{ "spare_category" "Dicing" }
	    }
	    parm {
		name	"vm_flatness"
		label	"Dicing Flatness"
		type	float
		default	{ "0.05" }
		range	{ 0 1 }
		export	none
		parmtag	{ "spare_category" "Dicing" }
	    }
	    parm {
		name	"vm_raypredice"
		label	"Ray Predicing"
		type	integer
		default	{ "0" }
		menu	{
		    "off"	"Disable Predicing"
		    "on"	"Full Predicing"
		    "bounds"	"Precompute Bounds"
		}
		range	{ 0 10 }
		export	none
		parmtag	{ "spare_category" "Dicing" }
	    }
	    parm {
		name	"vm_curvesurface"
		label	"Shade Curves As Surfaces"
		type	toggle
		default	{ "0" }
		range	{ 0 1 }
		export	none
		parmtag	{ "spare_category" "Dicing" }
	    }
	}

	group {
	    name	"folder0_3"
	    label	"Geometry"

	    parm {
		name	"vm_rmbackface"
		label	"Backface Removal (Mantra)"
		type	toggle
		default	{ "0" }
		range	{ 0 1 }
		export	none
		parmtag	{ "spare_category" "Geometry" }
	    }
	    parm {
		name	"shop_geometrypath"
		label	"Procedural Shader"
		type	oppath
		default	{ "" }
		range	{ 0 1 }
		export	none
		parmtag	{ "oprelative" "." }
		parmtag	{ "opfilter" "!!SHOP/GEOMETRY!!" }
		parmtag	{ "spare_category" "Geometry" }
	    }
	    parm {
		name	"vm_forcegeometry"
		label	"Force Procedural Geometry Output"
		type	toggle
		default	{ "1" }
		range	{ 0 1 }
		export	none
		parmtag	{ "spare_category" "Geometry" }
	    }
	    parm {
		name	"vm_rendersubd"
		label	"Polygons As Subdivision (Mantra)"
		type	toggle
		default	{ "0" }
		range	{ 0 1 }
		export	none
		parmtag	{ "spare_category" "Geometry" }
	    }
	    parm {
		name	"vm_renderpoints"
		label	"Render As Points (Mantra)"
		type	toggle
		default	{ "0" }
		range	{ 0 1 }
		export	none
		parmtag	{ "spare_category" "Geometry" }
	    }
	    parm {
		name	"vm_usenforpoints"
		label	"Use N For Point Rendering"
		type	toggle
		default	{ "0" }
		disablewhen	"{ vm_renderpoints == 0 }"
		range	{ 0 1 }
		export	none
		parmtag	{ "spare_category" "Geometry" }
	    }
	    parm {
		name	"vm_metavolume"
		label	"Metaballs as Volume"
		type	toggle
		default	{ "0" }
		range	{ 0 1 }
		export	none
		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 }
		export	none
		parmtag	{ "spare_category" "Geometry" }
	    }
	    parm {
		name	"vm_computeN"
		label	"Automatically Compute Normals"
		type	toggle
		default	{ "1" }
		range	{ 0 1 }
		export	none
		parmtag	{ "spare_category" "Geometry" }
	    }
	    parm {
		name	"vm_overridedetail"
		label	"Ignore Geometry Attribute Shaders"
		type	toggle
		default	{ "0" }
		range	{ 0 1 }
		export	none
		parmtag	{ "spare_category" "Geometry" }
	    }
	}

    }

    group {
	name	"stdswitcher5_3"
	label	"Misc"

	parm {
	    name	"use_dcolor"
	    baseparm
	    export	none
	}
	parm {
	    name	"dcolor"
	    baseparm
	    export	none
	}
	parm {
	    name	"picking"
	    baseparm
	    export	none
	}
	parm {
	    name	"pickscript"
	    baseparm
	    export	none
	}
	parm {
	    name	"caching"
	    baseparm
	    export	none
	}
	parm {
	    name	"vport_shadeopen"
	    baseparm
	    export	none
	}
	parm {
	    name	"vport_displayassubdiv"
	    baseparm
	    invisible
	    export	none
	}
    }

0707070000010000000006660000000000000000010000001155527366000002500000003721obj/box_object1.parm {
version 0.8
stdswitcher	[ 0	locks=0 ]	(	0	0	0	0	)
keeppos	[ 0	locks=0 ]	(	"off"	)
pre_xform	[ 0	locks=0 ]	(	0	)
xOrd	[ 0	locks=0 ]	(	"srt"	)
rOrd	[ 0	locks=0 ]	(	"xyz"	)
t	[ 0	locks=0 ]	(	0	7.99108505	0	)
r	[ 0	locks=0 ]	(	0	0	0	)
s	[ 0	locks=0 ]	(	1	1	1	)
p	[ 0	locks=0 ]	(	0	0	0	)
scale	[ 0	locks=0 ]	(	1	)
lookatpath	[ 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 ]	(	"off"	)
vport_shadeopen	[ 0	locks=0 ]	(	"off"	)
vport_displayassubdiv	[ 0	locks=0 ]	(	"off"	)
stdswitcher5	[ 0	locks=0 ]	(	0	0	0	0	)
vm_phantom	[ 0	locks=0 ]	(	"off"	)
vm_renderable	[ 0	locks=0 ]	(	"on"	)
folder0	[ 0	locks=0 ]	(	0	0	0	0	)
categories	[ 0	locks=0 ]	(	""	)
reflectmask	[ 0	locks=0 ]	(	*	)
refractmask	[ 0	locks=0 ]	(	*	)
lightmask	[ 0	locks=0 ]	(	*	)
vm_volumefilter	[ 0	locks=0 ]	(	gaussian	)
vm_volumefilterwidth	[ 0	locks=0 ]	(	1.5	)
vm_matte	[ 0	locks=0 ]	(	"off"	)
vm_rayshade	[ 0	locks=0 ]	(	"off"	)
geo_velocityblur	[ 0	locks=0 ]	(	"off"	)
vm_shadingquality	[ 0	locks=0 ]	(	1	)
vm_rayshadingquality	[ 0	locks=0 ]	(	1	)
vm_flatness	[ 0	locks=0 ]	(	0.0500000007	)
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_rendersubd	[ 0	locks=0 ]	(	"off"	)
vm_renderpoints	[ 0	locks=0 ]	(	"off"	)
vm_usenforpoints	[ 0	locks=0 ]	(	"off"	)
vm_metavolume	[ 0	locks=0 ]	(	"off"	)
vm_coving	[ 0	locks=0 ]	(	1	)
vm_computeN	[ 0	locks=0 ]	(	"on"	)
vm_overridedetail	[ 0	locks=0 ]	(	"off"	)
}
0707070000010000000006660000000000000000010000001155527366000003100000000067obj/box_object1.userdata     ___toolcount___    1 ___toolid___    sop_box0707070000010000000006660000000000000000010000001155527366000004100000000041obj/box_object1/Notes.postitinit type = postitnote
matchesdef = 0
0707070000010000000006660000000000000000010000001155527366000004000000000515obj/box_object1/Notes.postitdef text "bypass the Assemble SOP called create_fractured_groups after using the shelf tool to bring your groups as RBD objects in to DOPs."
position 2.05837 -0.968714
size 2.5 2.5
flags =  minimize off
stat
{
  create 1303738155
  modify 1303738199
  author jeff_wagner@lorient-3.local
  access 0777
}
color UT_Color RGB 0 0.267 0 
end
0707070000010000000006660000000000000000010000001155527366000003200000000032obj/box_object1/box1.init type = box
matchesdef = 0
0707070000010000000006660000000000000000010000001155527366000003100000000632obj/box_object1/box1.def sopflags sopflags = 
comment ""
position -3.00028 4.63562
cachesize 1
flags =  lock off model off template off footprint off xray off bypass off display off render off highlight on unload off savedata off compress off exposed on
inputs
{
}
stat
{
  create 1303737893
  modify 1303738028
  author jeff_wagner@lorient-3.local
  access 0777
}
color UT_Color RGB 0.8 0.8 0.8 
delscript ""
exprlanguage hscript
end
0707070000010000000006660000000000000000010000001155527366000003200000000557obj/box_object1/box1.parm {
version 0.8
type	[ 0	locks=0 ]	(	"poly"	)
surftype	[ 0	locks=0 ]	(	"quads"	)
size	[ 0	locks=0 ]	(	1	1	1	)
t	[ 0	locks=0 ]	(	0	0	0	)
divrate	[ 0	locks=0 ]	(	4	4	4	)
orderrate	[ 0	locks=0 ]	(	4	4	4	)
dodivs	[ 0	locks=0 ]	(	"off"	)
divs	[ 0	locks=0 ]	(	3	3	3	)
rebar	[ 0	locks=0 ]	(	"off"	)
consolidatepts	[ 0	locks=0 ]	(	"on"	)
orientedbbox	[ 0	locks=0 ]	(	"off"	)
}
0707070000010000000006660000000000000000010000001155527366000003600000000067obj/box_object1/box1.userdata     ___toolcount___    1 ___toolid___    sop_box0707070000010000000006660000000000000000010000001155527366000003500000000035obj/box_object1/sphere1.init type = sphere
matchesdef = 0
0707070000010000000006660000000000000000010000001155527366000003400000000633obj/box_object1/sphere1.def sopflags sopflags = 
comment ""
position -0.37087 5.31798
cachesize 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 off exposed on
inputs
{
}
stat
{
  create 1303737906
  modify 1303738028
  author jeff_wagner@lorient-3.local
  access 0777
}
color UT_Color RGB 0.8 0.8 0.8 
delscript ""
exprlanguage hscript
end
0707070000010000000006660000000000000000010000001155527366000003500000000636obj/box_object1/sphere1.parm {
version 0.8
type	[ 0	locks=0 ]	(	"poly"	)
surftype	[ 0	locks=0 ]	(	"quads"	)
rad	[ 0	locks=0 ]	(	3.5999999	3.5999999	3.5999999	)
t	[ 0	locks=0 ]	(	0	0	0	)
orient	[ 0	locks=0 ]	(	"y"	)
freq	[ 0	locks=0 ]	(	2	)
rows	[ 0	locks=0 ]	(	10	)
cols	[ 0	locks=0 ]	(	10	)
orderu	[ 0	locks=0 ]	(	4	)
orderv	[ 0	locks=0 ]	(	4	)
imperfect	[ 0	locks=0 ]	(	"on"	)
upole	[ 0	locks=0 ]	(	"off"	)
accurate	[ 0	locks=0 ]	(	"on"	)
}
0707070000010000000006660000000000000000010000001155527366000003300000000033obj/box_object1/copy1.init type = copy
matchesdef = 0
0707070000010000000006660000000000000000010000001155527366000003200000000665obj/box_object1/copy1.def sopflags sopflags = 
comment ""
position -1.67675 3.34151
cachesize 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 off exposed on
inputs
{
0 	box1 0 1
1 	point1 0 1
}
stat
{
  create 1303737929
  modify 1303738028
  author jeff_wagner@lorient-3.local
  access 0777
}
color UT_Color RGB 0.8 0.8 0.8 
delscript ""
exprlanguage hscript
end
0707070000010000000006660000000000000000010000001155527366000003300000007323obj/box_object1/copy1.parm {
version 0.8
sourceGrp	[ 0	locks=0 ]	(	""	)
templateGrp	[ 0	locks=0 ]	(	""	)
stdswitcher	[ 0	locks=0 ]	(	0	0	0	)
ncy	[ 0	locks=0 ]	(	1	)
nml	[ 0	locks=0 ]	(	"on"	)
cum	[ 0	locks=0 ]	(	"on"	)
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	)
shear	[ 0	locks=0 ]	(	0	0	0	)
p	[ 0	locks=0 ]	(	0	0	0	)
scale	[ 0	locks=0 ]	(	1	)
vlength	[ 0	locks=0 ]	(	"on"	)
newg	[ 0	locks=0 ]	(	"off"	)
preservegroups	[ 0	locks=0 ]	(	"off"	)
copyg	[ 0	locks=0 ]	(	copyGroup$CY	)
stamp	[ 0	locks=0 ]	(	"off"	)
stampswitch	[ 0	locks=0 ]	(	0	0	0	0	0	)
param1	[ 0	locks=0 ]	(	""	)
val1	[ 0	locks=0 ]	(	0	)
param2	[ 0	locks=0 ]	(	""	)
val2	[ 0	locks=0 ]	(	0	)
param3	[ 0	locks=0 ]	(	""	)
val3	[ 0	locks=0 ]	(	0	)
param4	[ 0	locks=0 ]	(	""	)
val4	[ 0	locks=0 ]	(	0	)
param5	[ 0	locks=0 ]	(	""	)
val5	[ 0	locks=0 ]	(	0	)
param6	[ 0	locks=0 ]	(	""	)
val6	[ 0	locks=0 ]	(	0	)
param7	[ 0	locks=0 ]	(	""	)
val7	[ 0	locks=0 ]	(	0	)
param8	[ 0	locks=0 ]	(	""	)
val8	[ 0	locks=0 ]	(	0	)
param9	[ 0	locks=0 ]	(	""	)
val9	[ 0	locks=0 ]	(	0	)
param10	[ 0	locks=0 ]	(	""	)
val10	[ 0	locks=0 ]	(	0	)
param11	[ 0	locks=0 ]	(	""	)
val11	[ 0	locks=0 ]	(	0	)
param12	[ 0	locks=0 ]	(	""	)
val12	[ 0	locks=0 ]	(	0	)
param13	[ 0	locks=0 ]	(	""	)
val13	[ 0	locks=0 ]	(	0	)
param14	[ 0	locks=0 ]	(	""	)
val14	[ 0	locks=0 ]	(	0	)
param15	[ 0	locks=0 ]	(	""	)
val15	[ 0	locks=0 ]	(	0	)
param16	[ 0	locks=0 ]	(	""	)
val16	[ 0	locks=0 ]	(	0	)
param17	[ 0	locks=0 ]	(	""	)
val17	[ 0	locks=0 ]	(	0	)
param18	[ 0	locks=0 ]	(	""	)
val18	[ 0	locks=0 ]	(	0	)
param19	[ 0	locks=0 ]	(	""	)
val19	[ 0	locks=0 ]	(	0	)
param20	[ 0	locks=0 ]	(	""	)
val20	[ 0	locks=0 ]	(	0	)
param21	[ 0	locks=0 ]	(	""	)
val21	[ 0	locks=0 ]	(	0	)
param22	[ 0	locks=0 ]	(	""	)
val22	[ 0	locks=0 ]	(	0	)
param23	[ 0	locks=0 ]	(	""	)
val23	[ 0	locks=0 ]	(	0	)
param24	[ 0	locks=0 ]	(	""	)
val24	[ 0	locks=0 ]	(	0	)
param25	[ 0	locks=0 ]	(	""	)
val25	[ 0	locks=0 ]	(	0	)
param26	[ 0	locks=0 ]	(	""	)
val26	[ 0	locks=0 ]	(	0	)
param27	[ 0	locks=0 ]	(	""	)
val27	[ 0	locks=0 ]	(	0	)
param28	[ 0	locks=0 ]	(	""	)
val28	[ 0	locks=0 ]	(	0	)
param29	[ 0	locks=0 ]	(	""	)
val29	[ 0	locks=0 ]	(	0	)
param30	[ 0	locks=0 ]	(	""	)
val30	[ 0	locks=0 ]	(	0	)
param31	[ 0	locks=0 ]	(	""	)
val31	[ 0	locks=0 ]	(	0	)
param32	[ 0	locks=0 ]	(	""	)
val32	[ 0	locks=0 ]	(	0	)
param33	[ 0	locks=0 ]	(	""	)
val33	[ 0	locks=0 ]	(	0	)
param34	[ 0	locks=0 ]	(	""	)
val34	[ 0	locks=0 ]	(	0	)
param35	[ 0	locks=0 ]	(	""	)
val35	[ 0	locks=0 ]	(	0	)
param36	[ 0	locks=0 ]	(	""	)
val36	[ 0	locks=0 ]	(	0	)
param37	[ 0	locks=0 ]	(	""	)
val37	[ 0	locks=0 ]	(	0	)
param38	[ 0	locks=0 ]	(	""	)
val38	[ 0	locks=0 ]	(	0	)
param39	[ 0	locks=0 ]	(	""	)
val39	[ 0	locks=0 ]	(	0	)
param40	[ 0	locks=0 ]	(	""	)
val40	[ 0	locks=0 ]	(	0	)
param41	[ 0	locks=0 ]	(	""	)
val41	[ 0	locks=0 ]	(	0	)
param42	[ 0	locks=0 ]	(	""	)
val42	[ 0	locks=0 ]	(	0	)
param43	[ 0	locks=0 ]	(	""	)
val43	[ 0	locks=0 ]	(	0	)
param44	[ 0	locks=0 ]	(	""	)
val44	[ 0	locks=0 ]	(	0	)
param45	[ 0	locks=0 ]	(	""	)
val45	[ 0	locks=0 ]	(	0	)
param46	[ 0	locks=0 ]	(	""	)
val46	[ 0	locks=0 ]	(	0	)
param47	[ 0	locks=0 ]	(	""	)
val47	[ 0	locks=0 ]	(	0	)
param48	[ 0	locks=0 ]	(	""	)
val48	[ 0	locks=0 ]	(	0	)
param49	[ 0	locks=0 ]	(	""	)
val49	[ 0	locks=0 ]	(	0	)
param50	[ 0	locks=0 ]	(	""	)
val50	[ 0	locks=0 ]	(	0	)
doattr	[ 0	locks=0 ]	(	"off"	)
_label_	[ 0	locks=0 ]	(	Set	Mult	Add	Sub	)
setpt	[ 0	locks=0 ]	(	*	)
mulpt	[ 0	locks=0 ]	(	""	)
addpt	[ 0	locks=0 ]	(	""	)
subpt	[ 0	locks=0 ]	(	""	)
setprim	[ 0	locks=0 ]	(	""	)
mulprim	[ 0	locks=0 ]	(	""	)
addprim	[ 0	locks=0 ]	(	""	)
subprim	[ 0	locks=0 ]	(	""	)
setvtx	[ 0	locks=0 ]	(	""	)
mulvtx	[ 0	locks=0 ]	(	""	)
addvtx	[ 0	locks=0 ]	(	""	)
subvtx	[ 0	locks=0 ]	(	""	)
copyvariable	[ 0	locks=0 ]	(	"on"	)
}
0707070000010000000006660000000000000000010000001155527366000003400000000034obj/box_object1/point1.init type = point
matchesdef = 0
0707070000010000000006660000000000000000010000001155527366000003300000000652obj/box_object1/point1.def sopflags sopflags = 
comment ""
position -0.37087 4.62386
cachesize 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 off exposed on
inputs
{
0 	sphere1 0 1
}
stat
{
  create 1303737937
  modify 1303738028
  author jeff_wagner@lorient-3.local
  access 0777
}
color UT_Color RGB 0.8 0.8 0.8 
delscript ""
exprlanguage hscript
end
0707070000010000000006660000000000000000010000001155527366000003300000006273obj/box_object1/point1.chn {
    channel tx {
      lefttype = extend
      righttype = extend
      flags = 0
      segment { length = 0 expr = $TX }
    }
    channel ty {
      lefttype = extend
      righttype = extend
      flags = 0
      segment { length = 0 expr = $TY }
    }
    channel tz {
      lefttype = extend
      righttype = extend
      flags = 0
      segment { length = 0 expr = $TZ }
    }
    channel weight {
      lefttype = extend
      righttype = extend
      default = 1
      flags = 0
      segment { length = 0 value = 1 1 expr = $WEIGHT }
    }
    channel diffr {
      lefttype = extend
      righttype = extend
      default = 1
      flags = 0
      segment { length = 0 value = 1 1 expr = $CR }
    }
    channel diffg {
      lefttype = extend
      righttype = extend
      default = 1
      flags = 0
      segment { length = 0 value = 1 1 expr = $CG }
    }
    channel diffb {
      lefttype = extend
      righttype = extend
      default = 1
      flags = 0
      segment { length = 0 value = 1 1 expr = $CB }
    }
    channel alpha {
      lefttype = extend
      righttype = extend
      default = 1
      flags = 0
      segment { length = 0 value = 1 1 expr = $CA }
    }
    channel nx {
      lefttype = extend
      righttype = extend
      flags = 0
      segment { length = 0 expr = $NX }
    }
    channel ny {
      lefttype = extend
      righttype = extend
      flags = 0
      segment { length = 0 expr = $NY }
    }
    channel nz {
      lefttype = extend
      righttype = extend
      flags = 0
      segment { length = 0 expr = $NZ }
    }
    channel mapu {
      lefttype = extend
      righttype = extend
      flags = 0
      segment { length = 0 expr = $MAPU }
    }
    channel mapv {
      lefttype = extend
      righttype = extend
      flags = 0
      segment { length = 0 expr = $MAPV }
    }
    channel mapw {
      lefttype = extend
      righttype = extend
      flags = 0
      segment { length = 0 expr = $MAPW }
    }
    channel tension {
      lefttype = extend
      righttype = extend
      default = 1
      flags = 0
      segment { length = 0 value = 1 1 expr = $TENSION }
    }
    channel springk {
      lefttype = extend
      righttype = extend
      default = 30
      flags = 0
      segment { length = 0 value = 30 30 expr = $SPRINGK }
    }
    channel vx {
      lefttype = extend
      righttype = extend
      flags = 0
      segment { length = 0 expr = $VX }
    }
    channel vy {
      lefttype = extend
      righttype = extend
      flags = 0
      segment { length = 0 expr = $VY }
    }
    channel vz {
      lefttype = extend
      righttype = extend
      flags = 0
      segment { length = 0 expr = $VZ }
    }
    channel upx {
      lefttype = extend
      righttype = extend
      flags = 0
      segment { length = 0 expr = $UPX }
    }
    channel upy {
      lefttype = extend
      righttype = extend
      flags = 0
      segment { length = 0 expr = $UPY }
    }
    channel upz {
      lefttype = extend
      righttype = extend
      flags = 0
      segment { length = 0 expr = $UPZ }
    }
    channel pscale {
      lefttype = extend
      righttype = extend
      default = 1
      flags = 0
      segment { length = 0 value = 1 1 expr = $PSCALE }
    }
  }
0707070000010000000006660000000000000000010000001155527366000003400000003225obj/box_object1/point1.parm {
version 0.8
group	[ 0	locks=0 ]	(	""	)
matchbyattribute	[ 0	locks=0 ]	(	"off"	)
attributetomatch	[ 0	locks=0 ]	(	id	)
stdswitcher	[ 0	locks=0 ]	(	0	0	0	0	)
t	[ 8	locks=0 ]	(	[ tx	0 ] 	[ ty	0 ] 	[ tz	0 ] 	)
doweight	[ 0	locks=0 ]	(	"off"	)
weight	[ 8	locks=0 ]	(	[ weight	0 ] 	)
doclr	[ 0	locks=0 ]	(	"off"	)
diff	[ 8	locks=0 ]	(	[ diffr	0 ] 	[ diffg	0 ] 	[ diffb	0 ] 	)
doalpha	[ 0	locks=0 ]	(	"off"	)
alpha	[ 8	locks=0 ]	(	[ alpha	0 ] 	)
donml	[ 0	locks=0 ]	(	"on"	)
n	[ 8	locks=0 ]	(	[ nx	-0.500000119 ] 	[ ny	-0.162460148 ] 	[ nz	0.850650668 ] 	)
douvw	[ 0	locks=0 ]	(	"off"	)
map	[ 8	locks=0 ]	(	[ mapu	0 ] 	[ mapv	0 ] 	[ mapw	0 ] 	)
domass	[ 0	locks=0 ]	(	"off"	)
mass	[ 0	locks=0 ]	(	1	)
drag	[ 0	locks=0 ]	(	1	)
dotension	[ 0	locks=0 ]	(	"off"	)
tension	[ 8	locks=0 ]	(	[ tension	0 ] 	)
dospringk	[ 0	locks=0 ]	(	"off"	)
springk	[ 8	locks=0 ]	(	[ springk	0 ] 	)
dovel	[ 0	locks=0 ]	(	"off"	)
v	[ 8	locks=0 ]	(	[ vx	0 ] 	[ vy	0 ] 	[ vz	0 ] 	)
doup	[ 0	locks=0 ]	(	"off"	)
up	[ 8	locks=0 ]	(	[ upx	0 ] 	[ upy	0 ] 	[ upz	0 ] 	)
dopscale	[ 0	locks=0 ]	(	"off"	)
pscale	[ 8	locks=0 ]	(	[ pscale	0 ] 	)
doinstance	[ 0	locks=0 ]	(	"off"	)
instancepath	[ 0	locks=0 ]	(	""	)
doradius	[ 0	locks=0 ]	(	"off"	)
radiusf	[ 0	locks=0 ]	(	1	)
doscale	[ 0	locks=0 ]	(	"off"	)
scalef	[ 0	locks=0 ]	(	1	)
doradialf	[ 0	locks=0 ]	(	"off"	)
radialf	[ 0	locks=0 ]	(	0	)
donormalf	[ 0	locks=0 ]	(	"off"	)
normalf	[ 0	locks=0 ]	(	0	)
doedgef	[ 0	locks=0 ]	(	"off"	)
edgef	[ 0	locks=0 ]	(	0	)
dodirf	[ 0	locks=0 ]	(	"off"	)
dirf	[ 0	locks=0 ]	(	0	0	0	)
numcustom	[ 0	locks=0 ]	(	1	)
apply1	[ 0	locks=0 ]	(	"on"	)
name1	[ 0	locks=0 ]	(	""	)
val1i	[ 0	locks=0 ]	(	0	0	0	0	)
sval1	[ 0	locks=0 ]	(	""	)
}
0707070000010000000006660000000000000000010000001155527366000004000000000040obj/box_object1/partition1.init type = partition
matchesdef = 0
0707070000010000000006660000000000000000010000001155527366000003700000000660obj/box_object1/partition1.def sopflags sopflags = 
comment ""
position -1.67675 1.76504
cachesize 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 off exposed on
inputs
{
0 	connectivity1 0 1
}
stat
{
  create 1303737986
  modify 1303738028
  author jeff_wagner@lorient-3.local
  access 0777
}
color UT_Color RGB 0.8 0.8 0.8 
delscript ""
exprlanguage hscript
end
0707070000010000000006660000000000000000010000001155527366000004000000000224obj/box_object1/partition1.parm {
version 0.8
group	[ 0	locks=0 ]	(	""	)
entity	[ 0	locks=0 ]	(	"primitive"	)
geotype	[ 0	locks=0 ]	(	"all"	)
rule	[ 0	locks=0 ]	(	piece_$CLASS	)
}
0707070000010000000006660000000000000000010000001155527366000004300000000043obj/box_object1/connectivity1.init type = connectivity
matchesdef = 0
0707070000010000000006660000000000000000010000001155527366000004200000000650obj/box_object1/connectivity1.def sopflags sopflags = 
comment ""
position -1.67675 2.54151
cachesize 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 off exposed on
inputs
{
0 	copy1 0 1
}
stat
{
  create 1303737990
  modify 1303738028
  author jeff_wagner@lorient-3.local
  access 0777
}
color UT_Color RGB 0.8 0.8 0.8 
delscript ""
exprlanguage hscript
end
0707070000010000000006660000000000000000010000001155527366000004300000000223obj/box_object1/connectivity1.parm {
version 0.8
connecttype	[ 0	locks=0 ]	(	"point"	)
attribname	[ 0	locks=0 ]	(	class	)
varname	[ 0	locks=0 ]	(	""	)
byuv	[ 0	locks=0 ]	(	"off"	)
}
0707070000010000000006660000000000000000010000001155527366000004100000000033obj/box_object1/OUT__pieces.init type = null
matchesdef = 0
0707070000010000000006660000000000000000010000001155527366000004000000000656obj/box_object1/OUT__pieces.def sopflags sopflags = 
comment ""
position -1.67675 0.894447
cachesize 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 off exposed on
inputs
{
0 	partition1 0 1
}
stat
{
  create 1303738007
  modify 1303738032
  author jeff_wagner@lorient-3.local
  access 0777
}
color UT_Color RGB 0.8 0.8 0.8 
delscript ""
exprlanguage hscript
end
0707070000010000000006660000000000000000010000001155527366000004100000000063obj/box_object1/OUT__pieces.parm {
version 0.8
cacheinput	[ 0	locks=0 ]	(	"off"	)
}
0707070000010000000006660000000000000000010000001155527366000005500000000037obj/box_object1/create_fractured_groups.init type = assemble
matchesdef = 1
0707070000010000000006660000000000000000010000001155527366000005400000000731obj/box_object1/create_fractured_groups.def sopflags sopflags = 
comment ""
position -1.67675 0.000247121
cachesize 1
flags =  lock off model off template off footprint off xray off bypass on display off render off highlight off unload off savedata off compress off exposed on
inputs
{
0 	OUT__pieces 0 1
}
stat
{
  create 1303738024
  modify 1303738188
  author jeff_wagner@lorient-3.local
  access 0777
}
color UT_Color RGB 0 0.267 0 
creator dop_rbdfracturedobject
explicit 1
delscript ""
exprlanguage hscript
end
0707070000010000000006660000000000000000010000001155527366000005500000000266obj/box_object1/create_fractured_groups.parm {
version 0.8
group	[ 0	locks=0 ]	(	""	)
inside_group	[ 0	locks=0 ]	(	inside	)
outside_group	[ 0	locks=0 ]	(	piece	)
connect	[ 0	locks=0 ]	(	"off"	)
doCusp	[ 0	locks=0 ]	(	"off"	)
}
0707070000010000000006660000000000000000010000001155527366000006100000000106obj/box_object1/create_fractured_groups.userdata     ___toolcount___    3 ___toolid___    dop_rbdfracturedobject0707070000010000000006660000000000000000010000001155527366000004000000000040obj/box_object1/dopimport1.init type = dopimport
matchesdef = 0
0707070000010000000006660000000000000000010000001155527366000003700000000647obj/box_object1/dopimport1.def sopflags sopflags = 
comment ""
position -1.67675 -1.78815
cachesize 1
flags =  lock off model off template off footprint off xray off bypass off display on render on highlight off unload off savedata off compress off exposed on
inputs
{
0 	rest1 0 1
}
stat
{
  create 1303738024
  modify 1303738047
  author jeff_wagner@lorient-3.local
  access 0777
}
color UT_Color RGB 0.8 0.8 0.8 
delscript ""
exprlanguage hscript
end
0707070000010000000006660000000000000000010000001155527366000003700000000230obj/box_object1/dopimport1.chn {
    channel integrateovertime {
      lefttype = extend
      righttype = extend
      flags = 0
      segment { length = 0 expr = 1/$FPS }
    }
  }
0707070000010000000006660000000000000000010000001155527366000004000000001330obj/box_object1/dopimport1.parm {
version 0.8
doppath	[ 0	locks=0 ]	(	/obj/AutoDopNetwork	)
objpattern	[ 0	locks=0 ]	(	`dopobjscreatedby(\"/obj/AutoDopNetwork/box_object1\")`	)
singleobject	[ 0	locks=0 ]	(	"off"	)
importstyle	[ 0	locks=0 ]	(	"xform"	)
useobjidgroups	[ 0	locks=0 ]	(	"off"	)
geodatapath	[ 0	locks=0 ]	(	""	)
inverseop	[ 0	locks=0 ]	(	"off"	)
doposxform	[ 0	locks=0 ]	(	"on"	)
doxform	[ 0	locks=0 ]	(	"on"	)
keepworldspacepos	[ 0	locks=0 ]	(	"on"	)
adddopobjectname	[ 0	locks=0 ]	(	"on"	)
addtoexistingvel	[ 0	locks=0 ]	(	"off"	)
deleteabandoned	[ 0	locks=0 ]	(	"on"	)
pointvels	[ 0	locks=0 ]	(	"instant"	)
integrateovertime	[ 0	locks=0 ]	(	[ integrateovertime	0.0416666679 ] 	)
attribslabel	[ 0	locks=0 ]	(	)
xformattribs	[ 0	locks=0 ]	(	N	)
}
0707070000010000000006660000000000000000010000001155527366000004400000000106obj/box_object1/dopimport1.userdata     ___toolcount___    3 ___toolid___    dop_rbdfracturedobject0707070000010000000006660000000000000000010000001155527366000003300000000033obj/box_object1/rest1.init type = rest
matchesdef = 0
0707070000010000000006660000000000000000010000001155527366000003200000000746obj/box_object1/rest1.def sopflags sopflags = 
comment ""
position -1.67675 -0.893953
cachesize 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 off exposed on
inputs
{
0 	create_fractured_groups 0 1
}
stat
{
  create 1303738024
  modify 1303738044
  author jeff_wagner@lorient-3.local
  access 0777
}
color UT_Color RGB 0.8 0.8 0.8 
creator dop_rbdfracturedobject
explicit 1
delscript ""
exprlanguage hscript
end
0707070000010000000006660000000000000000010000001155527366000003300000000147obj/box_object1/rest1.parm {
version 0.8
file	[ 0	locks=0 ]	(	""	)
nml	[ 0	locks=0 ]	(	"off"	)
quadric	[ 0	locks=0 ]	(	"poly"	)
}
0707070000010000000006660000000000000000010000001155527366000003700000000106obj/box_object1/rest1.userdata     ___toolcount___    3 ___toolid___    dop_rbdfracturedobject0707070000010000000006660000000000000000010000001155527366000002600000000153obj/box_object1.order 10
box1
sphere1
copy1
point1
partition1
connectivity1
OUT__pieces
create_fractured_groups
dopimport1
rest1
0707070000010000000006660000000000000000010000001155527366000002400000000002obj/box_object1.net 1
0707070000010000000006660000000000000000010000001155527366000004100000000036obj/AutoDopNetwork/gravity1.init type = gravity
matchesdef = 0
0707070000010000000006660000000000000000010000001155527366000004000000000606obj/AutoDopNetwork/gravity1.def comment ""
position 0 0
cachesize 1
flags =  lock off model off template off footprint off xray off bypass off display on render off highlight off unload off savedata off compress off exposed on
inputs
{
0 	merge1 0 1
}
stat
{
  create 1303737975
  modify 1303737978
  author jeff_wagner@lorient-3.local
  access 0777
}
color UT_Color RGB 0.8 0.8 0.8 
delscript ""
exprlanguage hscript
end
0707070000010000000006660000000000000000010000001155527366000004000000000263obj/AutoDopNetwork/gravity1.chn {
    channel activation {
      lefttype = extend
      righttype = extend
      default = 1
      flags = 0
      segment { length = 0 value = 1 1 expr = constant() }
    }
  }
0707070000010000000006660000000000000000010000001155527366000004100000001012obj/AutoDopNetwork/gravity1.parm {
version 0.8
parmop_force	[ 0	locks=0 ]	(	"default"	)
force	[ 0	locks=0 ]	(	0	-9.80665016	0	)
parmop_handlepos	[ 0	locks=0 ]	(	"default"	)
handlepos	[ 0	locks=0 ]	(	0	3	0	)
parmop_samplemode	[ 0	locks=0 ]	(	"default"	)
samplemode	[ 0	locks=0 ]	(	"def"	)
defaultparmop	[ 0	locks=0 ]	(	"initial"	)
sharedata	[ 0	locks=0 ]	(	"off"	)
activation	[ 0	locks=0 ]	(	[ activation	1 ] 	)
activationrules	[ 0	locks=0 ]	(	0	)
group	[ 0	locks=0 ]	(	*	)
dataname	[ 0	locks=0 ]	(	Forces/Gravity	)
uniquedataname	[ 0	locks=0 ]	(	"on"	)
}
0707070000010000000006660000000000000000010000001155527366000004500000000077obj/AutoDopNetwork/gravity1.userdata     ___toolcount___    2 ___toolid___    dop_groundplane0707070000010000000006660000000000000000010000001155527366000003700000000034obj/AutoDopNetwork/merge1.init type = merge
matchesdef = 0
0707070000010000000006660000000000000000010000001155527366000003600000000653obj/AutoDopNetwork/merge1.def comment ""
position 0 1.1295
cachesize 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 off exposed on
inputs
{
0 	staticsolver1 0 1
1 	rigidbodysolver1 0 1
}
stat
{
  create 1303737975
  modify 1303738250
  author jeff_wagner@lorient-3.local
  access 0777
}
color UT_Color RGB 0.8 0.8 0.8 
delscript ""
exprlanguage hscript
end
0707070000010000000006660000000000000000010000001155527366000003600000000263obj/AutoDopNetwork/merge1.chn {
    channel activation {
      lefttype = extend
      righttype = extend
      default = 1
      flags = 0
      segment { length = 0 value = 1 1 expr = constant() }
    }
  }
0707070000010000000006660000000000000000010000001155527366000003700000000302obj/AutoDopNetwork/merge1.parm {
version 0.8
activation	[ 0	locks=0 ]	(	[ activation	1 ] 	)
activationrules	[ 0	locks=0 ]	(	0	)
affectortype	[ 0	locks=0 ]	(	"mutual"	)
relationship	[ 0	locks=0 ]	(	SIM_RelationshipCollide	)
}
0707070000010000000006660000000000000000010000001155527366000004300000000077obj/AutoDopNetwork/merge1.userdata     ___toolcount___    2 ___toolid___    dop_groundplane0707070000010000000006660000000000000000010000001155527366000004500000000042obj/AutoDopNetwork/groundplane1.init type = groundplane
matchesdef = 1
0707070000010000000006660000000000000000010000001155527366000004400000000603obj/AutoDopNetwork/groundplane1.def comment ""
position -1.412 4.8192
cachesize 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 off exposed on
inputs
{
}
stat
{
  create 1303737975
  modify 1303738250
  author jeff_wagner@lorient-3.local
  access 0777
}
color UT_Color RGB 0.8 0.8 0.8 
delscript ""
exprlanguage hscript
end
0707070000010000000006660000000000000000010000001155527366000004500000000627obj/AutoDopNetwork/groundplane1.parm {
version 0.8
objname	[ 0	locks=0 ]	(	$OS	)
display	[ 0	locks=0 ]	(	"on"	)
color	[ 0	locks=0 ]	(	1	1	1	)
grid_size	[ 0	locks=0 ]	(	20	20	)
std_switcher_0	[ 0	locks=0 ]	(	0	0	)
objpath	[ 0	locks=0 ]	(	/obj/groundplane_object1	)
t	[ 0	locks=0 ]	(	0	0	0	)
r	[ 0	locks=0 ]	(	0	0	0	)
bounce	[ 0	locks=0 ]	(	0.5	)
friction	[ 0	locks=0 ]	(	1	)
dynamicfriction	[ 0	locks=0 ]	(	1	)
temperature	[ 0	locks=0 ]	(	0	)
}
0707070000010000000006660000000000000000010000001155527366000005100000000077obj/AutoDopNetwork/groundplane1.userdata     ___toolcount___    2 ___toolid___    dop_groundplane0707070000010000000006660000000000000000010000001155527366000004600000000043obj/AutoDopNetwork/staticsolver1.init type = staticsolver
matchesdef = 0
0707070000010000000006660000000000000000010000001155527366000004500000000621obj/AutoDopNetwork/staticsolver1.def comment ""
position -1.412 2.5602
cachesize 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 off exposed on
inputs
{
0 	merge2 0 1
}
stat
{
  create 1303737975
  modify 1303738250
  author jeff_wagner@lorient-3.local
  access 0777
}
color UT_Color RGB 0.8 0.8 0.8 
delscript ""
exprlanguage hscript
end
0707070000010000000006660000000000000000010000001155527366000004600000000277obj/AutoDopNetwork/staticsolver1.parm {
version 0.8
addaffectors	[ 0	locks=0 ]	(	"on"	)
group	[ 0	locks=0 ]	(	*	)
dataname	[ 0	locks=0 ]	(	Solver	)
uniquedataname	[ 0	locks=0 ]	(	"off"	)
solverperobject	[ 0	locks=0 ]	(	"off"	)
}
0707070000010000000006660000000000000000010000001155527366000005200000000077obj/AutoDopNetwork/staticsolver1.userdata     ___toolcount___    2 ___toolid___    dop_groundplane0707070000010000000006660000000000000000010000001155527366000003700000000034obj/AutoDopNetwork/merge2.init type = merge
matchesdef = 0
0707070000010000000006660000000000000000010000001155527366000003600000000627obj/AutoDopNetwork/merge2.def comment ""
position -1.412 3.6897
cachesize 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 off exposed on
inputs
{
0 	groundplane1 0 1
}
stat
{
  create 1303737975
  modify 1303738250
  author jeff_wagner@lorient-3.local
  access 0777
}
color UT_Color RGB 0.8 0.8 0.8 
delscript ""
exprlanguage hscript
end
0707070000010000000006660000000000000000010000001155527366000003600000000263obj/AutoDopNetwork/merge2.chn {
    channel activation {
      lefttype = extend
      righttype = extend
      default = 1
      flags = 0
      segment { length = 0 value = 1 1 expr = constant() }
    }
  }
0707070000010000000006660000000000000000010000001155527366000003700000000303obj/AutoDopNetwork/merge2.parm {
version 0.8
activation	[ 0	locks=0 ]	(	[ activation	1 ] 	)
activationrules	[ 0	locks=0 ]	(	0	)
affectortype	[ 0	locks=0 ]	(	"ordered"	)
relationship	[ 0	locks=0 ]	(	SIM_RelationshipCollide	)
}
0707070000010000000006660000000000000000010000001155527366000004300000000077obj/AutoDopNetwork/merge2.userdata     ___toolcount___    2 ___toolid___    dop_groundplane0707070000010000000006660000000000000000010000001155527366000004400000000051obj/AutoDopNetwork/box_object1.init type = rbdfracturedobject
matchesdef = 1
0707070000010000000006660000000000000000010000001155527366000004300000000602obj/AutoDopNetwork/box_object1.def comment ""
position 1.412 4.3674
cachesize 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 off exposed on
inputs
{
}
stat
{
  create 1303738024
  modify 1303738278
  author jeff_wagner@lorient-3.local
  access 0777
}
color UT_Color RGB 0.8 0.8 0.8 
delscript ""
exprlanguage hscript
end
0707070000010000000006660000000000000000010000001155527366000004300000004034obj/AutoDopNetwork/box_object1.chn {
    channel px {
      lefttype = extend
      righttype = extend
      flags = 0
      segment { options = {	   untie  is os ia oa }

	 length = 0 expr = "obj = hou.node(hou.parm(\"soppath\").eval())
dopnet = hou.pwd().creator()
if dopnet and dopnet.type().category() != hou.objNodeTypeCategory():
    dopnet = None
if obj is None:
    return 0
if obj.type().category() != hou.objNodeTypeCategory():
    obj = obj.creator()
p = hou.Vector3(obj.parm(\"px\").eval(),
                obj.parm(\"py\").eval(),
                obj.parm(\"pz\").eval())
tp = p * obj.worldTransform()
if dopnet is not None:
    tp = tp * dopnet.worldTransform().inverted()
return tp[0]" language = python }
    }
    channel py {
      lefttype = extend
      righttype = extend
      flags = 0
      segment { options = {	   untie  is os ia oa }

	 length = 0 expr = "obj = hou.node(hou.parm(\"soppath\").eval())
dopnet = hou.pwd().creator()
if dopnet and dopnet.type().category() != hou.objNodeTypeCategory():
    dopnet = None
if obj is None:
    return 0
if obj.type().category() != hou.objNodeTypeCategory():
    obj = obj.creator()
p = hou.Vector3(obj.parm(\"px\").eval(),
                obj.parm(\"py\").eval(),
                obj.parm(\"pz\").eval())
tp = p * obj.worldTransform()
if dopnet is not None:
    tp = tp * dopnet.worldTransform().inverted()
return tp[1]" language = python }
    }
    channel pz {
      lefttype = extend
      righttype = extend
      flags = 0
      segment { options = {	   untie  is os ia oa }

	 length = 0 expr = "obj = hou.node(hou.parm(\"soppath\").eval())
dopnet = hou.pwd().creator()
if dopnet and dopnet.type().category() != hou.objNodeTypeCategory():
    dopnet = None
if obj is None:
    return 0
if obj.type().category() != hou.objNodeTypeCategory():
    obj = obj.creator()
p = hou.Vector3(obj.parm(\"px\").eval(),
                obj.parm(\"py\").eval(),
                obj.parm(\"pz\").eval())
tp = p * obj.worldTransform()
if dopnet is not None:
    tp = tp * dopnet.worldTransform().inverted()
return tp[2]" language = python }
    }
  }
0707070000010000000006660000000000000000010000001155527366000004400000003251obj/AutoDopNetwork/box_object1.parm {
version 0.8
usesimframe	[ 0	locks=0 ]	(	"off"	)
createframe	[ 0	locks=0 ]	(	1	)
solvefirstframe	[ 0	locks=0 ]	(	"off"	)
soppath	[ 0	locks=0 ]	(	"`opinputpath(\"/obj/box_object1/dopimport1\", 0)`"	)
groupmask	[ 0	locks=0 ]	(	piece*	)
animategeo	[ 0	locks=0 ]	(	"off"	)
usetransform	[ 0	locks=0 ]	(	"on"	)
active	[ 0	locks=0 ]	(	"on"	)
display	[ 0	locks=0 ]	(	"on"	)
std_switcher_0	[ 0	locks=0 ]	(	2	2	2	2	)
t	[ 0	locks=0 ]	(	0	0	0	)
r	[ 0	locks=0 ]	(	0	0	0	)
vel	[ 0	locks=0 ]	(	0	0	0	)
angvel	[ 0	locks=0 ]	(	0	0	0	)
inheritvelocity	[ 0	locks=0 ]	(	"off"	)
glueobject	[ 0	locks=0 ]	(	""	)
gluethreshold	[ 0	locks=0 ]	(	-1	)
glueimpulsehalflife	[ 0	locks=0 ]	(	0.100000001	)
usevolume	[ 0	locks=0 ]	(	"on"	)
std_switcher_3	[ 0	locks=0 ]	(	0	0	)
mode	[ 0	locks=0 ]	(	"rayintersect"	)
div	[ 0	locks=0 ]	(	30	30	30	)
laserscan	[ 0	locks=0 ]	(	"off"	)
fixsigns	[ 0	locks=0 ]	(	"on"	)
forcebounds	[ 0	locks=0 ]	(	"on"	)
invert	[ 0	locks=0 ]	(	"off"	)
sweepalpha	[ 0	locks=0 ]	(	2	)
sweepcount	[ 0	locks=0 ]	(	3	)
offset	[ 0	locks=0 ]	(	0	)
showguide	[ 0	locks=0 ]	(	"off"	)
guidecolor	[ 0	locks=0 ]	(	1	0	0	)
volumefilemode	[ 0	locks=0 ]	(	"none"	)
volumefile	[ 0	locks=0 ]	(	""	)
surfreptype	[ 0	locks=0 ]	(	"0"	)
polyconvert	[ 0	locks=0 ]	(	"on"	)
triangulate	[ 0	locks=0 ]	(	"off"	)
polylod	[ 0	locks=0 ]	(	1	1	)
addbarycenter	[ 0	locks=0 ]	(	"on"	)
computecom	[ 0	locks=0 ]	(	"on"	)
p	[ 0	locks=0 ]	(	[ px	0 ] 	[ py	7.99108505 ] 	[ pz	0 ] 	)
computemass	[ 0	locks=0 ]	(	"on"	)
density	[ 0	locks=0 ]	(	1000	)
mass	[ 0	locks=0 ]	(	1	)
inertialtensorstiffness	[ 0	locks=0 ]	(	1	)
bounce	[ 0	locks=0 ]	(	0.5	)
friction	[ 0	locks=0 ]	(	1	)
dynamicfriction	[ 0	locks=0 ]	(	1	)
temperature	[ 0	locks=0 ]	(	0	)
}
0707070000010000000006660000000000000000010000001155527366000005000000000106obj/AutoDopNetwork/box_object1.userdata     ___toolcount___    3 ___toolid___    dop_rbdfracturedobject0707070000010000000006660000000000000000010000001155527366000003700000000034obj/AutoDopNetwork/merge3.init type = merge
matchesdef = 0
0707070000010000000006660000000000000000010000001155527366000003600000000625obj/AutoDopNetwork/merge3.def comment ""
position 1.412 3.2379
cachesize 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 off exposed on
inputs
{
0 	box_object1 0 1
}
stat
{
  create 1303738024
  modify 1303738250
  author jeff_wagner@lorient-3.local
  access 0777
}
color UT_Color RGB 0.8 0.8 0.8 
delscript ""
exprlanguage hscript
end
0707070000010000000006660000000000000000010000001155527366000003600000000263obj/AutoDopNetwork/merge3.chn {
    channel activation {
      lefttype = extend
      righttype = extend
      default = 1
      flags = 0
      segment { length = 0 value = 1 1 expr = constant() }
    }
  }
0707070000010000000006660000000000000000010000001155527366000003700000000303obj/AutoDopNetwork/merge3.parm {
version 0.8
activation	[ 0	locks=0 ]	(	[ activation	1 ] 	)
activationrules	[ 0	locks=0 ]	(	0	)
affectortype	[ 0	locks=0 ]	(	"ordered"	)
relationship	[ 0	locks=0 ]	(	SIM_RelationshipCollide	)
}
0707070000010000000006660000000000000000010000001155527366000004300000000106obj/AutoDopNetwork/merge3.userdata     ___toolcount___    3 ___toolid___    dop_rbdfracturedobject0707070000010000000006660000000000000000010000001155527366000003100000000130obj/AutoDopNetwork.order 8
gravity1
merge1
groundplane1
staticsolver1
merge2
rigidbodysolver1
box_object1
merge3
0707070000010000000006660000000000000000010000001155527366000002700000000002obj/AutoDopNetwork.net 1
0707070000010000000006660000000000000000010000001155527366000003500000000032obj/groundplane_object1.init type = geo
matchesdef = 0
0707070000010000000006660000000000000000010000001155527366000003400000000737obj/groundplane_object1.def objflags objflags =  origin off
pretransform UT_DMatrix4 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1
comment ""
position 0 0
cachesize 1
flags =  lock off model off template off footprint off xray off bypass off display on render off highlight off unload off savedata off compress off exposed on selectable on
inputs
{
}
stat
{
  create 1303737975
  modify 1303737976
  author jeff_wagner@lorient-3.local
  access 0777
}
color UT_Color RGB 0.8 0.8 0.8 
delscript ""
exprlanguage hscript
end
0707070000010000000006660000000000000000010000001155527366000003500000001663obj/groundplane_object1.parm {
version 0.8
stdswitcher	[ 0	locks=0 ]	(	0	0	0	0	)
keeppos	[ 0	locks=0 ]	(	"off"	)
pre_xform	[ 0	locks=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	)
scale	[ 0	locks=0 ]	(	1	)
lookatpath	[ 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 ]	(	"on"	)
dcolor	[ 0	locks=0 ]	(	1	1	1	)
picking	[ 0	locks=0 ]	(	"on"	)
pickscript	[ 0	locks=0 ]	(	""	)
caching	[ 0	locks=0 ]	(	"off"	)
vport_shadeopen	[ 0	locks=0 ]	(	"off"	)
vport_displayassubdiv	[ 0	locks=0 ]	(	"off"	)
}
0707070000010000000006660000000000000000010000001155527366000004100000000077obj/groundplane_object1.userdata     ___toolcount___    2 ___toolid___    dop_groundplane0707070000010000000006660000000000000000010000001155527366000005000000000040obj/groundplane_object1/dopimport1.init type = dopimport
matchesdef = 0
0707070000010000000006660000000000000000010000001155527366000004700000000614obj/groundplane_object1/dopimport1.def sopflags sopflags = 
comment ""
position 0 0
cachesize 1
flags =  lock off model off template off footprint off xray off bypass off display on render on highlight off unload off savedata off compress off exposed on
inputs
{
}
stat
{
  create 1303737975
  modify 1303737984
  author jeff_wagner@lorient-3.local
  access 0777
}
color UT_Color RGB 0.8 0.8 0.8 
delscript ""
exprlanguage hscript
end
0707070000010000000006660000000000000000010000001155527366000004700000000230obj/groundplane_object1/dopimport1.chn {
    channel integrateovertime {
      lefttype = extend
      righttype = extend
      flags = 0
      segment { length = 0 expr = 1/$FPS }
    }
  }
0707070000010000000006660000000000000000010000001155527366000005000000001346obj/groundplane_object1/dopimport1.parm {
version 0.8
doppath	[ 0	locks=0 ]	(	/obj/AutoDopNetwork	)
objpattern	[ 0	locks=0 ]	(	`dopobjscreatedby(\"/obj/AutoDopNetwork/groundplane1\")`	)
singleobject	[ 0	locks=0 ]	(	"off"	)
importstyle	[ 0	locks=0 ]	(	"fetch"	)
useobjidgroups	[ 0	locks=0 ]	(	"off"	)
geodatapath	[ 0	locks=0 ]	(	DisplayGeometry	)
inverseop	[ 0	locks=0 ]	(	"off"	)
doposxform	[ 0	locks=0 ]	(	"on"	)
doxform	[ 0	locks=0 ]	(	"on"	)
keepworldspacepos	[ 0	locks=0 ]	(	"on"	)
adddopobjectname	[ 0	locks=0 ]	(	"on"	)
addtoexistingvel	[ 0	locks=0 ]	(	"off"	)
deleteabandoned	[ 0	locks=0 ]	(	"on"	)
pointvels	[ 0	locks=0 ]	(	"instant"	)
integrateovertime	[ 0	locks=0 ]	(	[ integrateovertime	0.0416666679 ] 	)
attribslabel	[ 0	locks=0 ]	(	)
xformattribs	[ 0	locks=0 ]	(	N	)
}
0707070000010000000006660000000000000000010000001155527366000005400000000077obj/groundplane_object1/dopimport1.userdata     ___toolcount___    2 ___toolid___    dop_groundplane0707070000010000000006660000000000000000010000001155527366000003400000000002obj/groundplane_object1.net 1
0707070000010000000006660000000000000000010000001155527366000001200000000061obj.order 3
box_object1
AutoDopNetwork
groundplane_object1
0707070000010000000006660000000000000000010000001155527366000001000000000002obj.net 1
0707070000010000000006660000000000000000010000001155527366000001000000000573out.def comment ""
position 5 0.5
cachesize 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 off exposed on
inputs
{
}
stat
{
  create 1303737888
  modify 1303737889
  author jeff_wagner@lorient-3.local
  access 0777
}
color UT_Color RGB 0.8 0.8 0.8 
delscript ""
exprlanguage hscript
end
0707070000010000000006660000000000000000010000001155527366000001100000000020out.parm {
version 0.8
}
0707070000010000000006660000000000000000010000001155527366000001000000000002out.net 1
0707070000010000000006660000000000000000010000001155527366000001100000000575part.def comment ""
position 5.5 1.5
cachesize 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 off exposed on
inputs
{
}
stat
{
  create 1303737888
  modify 1303737889
  author jeff_wagner@lorient-3.local
  access 0777
}
color UT_Color RGB 0.8 0.8 0.8 
delscript ""
exprlanguage hscript
end
0707070000010000000006660000000000000000010000001155527366000001200000000020part.parm {
version 0.8
}
0707070000010000000006660000000000000000010000001155527366000001100000000002part.net 1
0707070000010000000006660000000000000000010000001155527366000000700000000573ch.def comment ""
position 4.5 1
cachesize 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 off exposed on
inputs
{
}
stat
{
  create 1303737888
  modify 1303737889
  author jeff_wagner@lorient-3.local
  access 0777
}
color UT_Color RGB 0.8 0.8 0.8 
delscript ""
exprlanguage hscript
end
0707070000010000000006660000000000000000010000001155527366000001000000000020ch.parm {
version 0.8
}
0707070000010000000006660000000000000000010000001155527366000000700000000002ch.net 1
0707070000010000000006660000000000000000010000001155527366000001100000000571shop.def comment ""
position 5 3
cachesize 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 off exposed on
inputs
{
}
stat
{
  create 1303737888
  modify 1303737889
  author jeff_wagner@lorient-3.local
  access 0777
}
color UT_Color RGB 0.8 0.8 0.8 
delscript ""
exprlanguage hscript
end
0707070000010000000006660000000000000000010000001155527366000001200000000020shop.parm {
version 0.8
}
0707070000010000000006660000000000000000010000001155527366000001100000000002shop.net 1
0707070000010000000006660000000000000000010000001155527366000001000000000575img.def comment ""
position 4.5 2.5
cachesize 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 off exposed on
inputs
{
}
stat
{
  create 1303737889
  modify 1303737891
  author jeff_wagner@lorient-3.local
  access 0777
}
color UT_Color RGB 0.8 0.8 0.8 
delscript ""
exprlanguage hscript
end
0707070000010000000006660000000000000000010000001155527366000001100000000020img.parm {
version 0.8
}
0707070000010000000006660000000000000000010000001155527366000001700000000032img/comp1.init type = img
matchesdef = 0
0707070000010000000006660000000000000000010000001155527366000001600000000571img/comp1.def comment ""
position 0 0
cachesize 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 off exposed on
inputs
{
}
stat
{
  create 1303737889
  modify 1303737889
  author jeff_wagner@lorient-3.local
  access 0777
}
color UT_Color RGB 0.8 0.8 0.8 
delscript ""
exprlanguage hscript
end
0707070000010000000006660000000000000000010000001155527366000001700000000020img/comp1.parm {
version 0.8
}
0707070000010000000006660000000000000000010000001155527366000001600000000002img/comp1.net 1
0707070000010000000006660000000000000000010000001155527366000001000000000002img.net 1
0707070000010000000006660000000000000000010000001155527366000001000000000002vex.net 1
0707070000010000000006660000000000000000010000001155527366000002400000000610.userdisplayoptions viewoptadd -r vector velocity
viewoptset velocity attrib ( v ) class ( point ) color ( 0.7 0.35 0 ) fade ( 1 ) icon ( SI_pointNormal ) label ( Velocity ) overridecolor ( 1 ) scale ( 1 ) selcolor ( 1 0.5 0 )
viewoptadd -r vector up
viewoptset up attrib ( up ) class ( point ) color ( 0 0.7 0 ) fade ( 1 ) icon ( SI_pointNormal ) label ( UP ) overridecolor ( 1 ) scale ( 1 ) selcolor ( 0 1 0 )
0707070000010000000006660000000000000000010000001155527366000001500000050664.application neteditor -d Technical -b 0 -l 0 -f '' -q 1.000000 -v /obj -4.67128  -1.93772 0.85 panetab11
neteditor -d Technical -b 0 -l 0 -f '' -q 1.000000 -v /obj/AutoDopNetwork -3.20177  -0.737763 0.745621 panetab11
neteditor -d Technical -b 0 -l 0 -f '' -q 1.000000 -v /obj/box_object1 -5.32444  -2.18009 0.556097 panetab11
chopview -a 0 -c "" -k 0 -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 Technical.panetab14
imgdispopt -m 10 -P on -M on -A on -g 1 -G C -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 off
imgview -z 1 -p (none) 0 -c 0 -l on -s off -i imgview3
imgview2d  -V on -L on -G on -H on -P off -m 0 -p 0 1 -b 1 1 0 -g 1 -d "" -c -1 -t off -i on -X on imgview3 1
imgview2d  -V on -L on -G on -H on -P off -m 0 -p 0 1 -b 1 1 0 -g 1 -d "" -c -1 -t off -i on -X on imgview3 2
imgview2d  -V on -L on -G on -H on -P off -m 0 -p 0 1 -b 1 1 0 -g 1 -d "" -c -1 -t off -i on -X on imgview3 3
imgview2d  -V on -L on -G on -H on -P off -m 0 -p 0 1 -b 1 1 0 -g 1 -d "" -c -1 -t off -i on -X on imgview3 4
imgview2d  -V on -L on -G on -H on -P off -m 0 -p 0 1 -b 1 1 0 -g 1 -d "" -c -1 -t off -i on -X on imgview3 5
imgview2d  -V on -L on -G on -H on -P off -m 0 -p 0 1 -b 1 1 0 -g 1 -d "" -c -1 -t off -i on -X on imgview3 6
imgview2d  -V on -L on -G on -H on -P off -m 0 -p 0 1 -b 1 1 0 -g 1 -d "" -c -1 -t off -i on -X on imgview3 7
imgview2d  -V on -L on -G on -H on -P off -m 0 -p 0 1 -b 1 1 0 -g 1 -d "" -c -1 -t off -i on -X on imgview3 8
imgview2d  -V on -L on -G on -H on -P off -m 0 -p 0 1 -b 1 1 0 -g 1 -d "" -c -1 -t off -i on -X on imgview3 9
imgview2d  -V on -L on -G on -H on -P off -m 0 -p 0 1 -b 1 1 0 -g 1 -d "" -c -1 -t off -i on -X on imgview3 10
imgview2d  -V on -L on -G on -H on -P off -m 0 -p 0 1 -b 1 1 0 -g 1 -d "" -c -1 -t off -i on -X on imgview3 11
imgview2d  -V on -L on -G on -H on -P off -m 0 -p 0 1 -b 1 1 0 -g 1 -d "" -c -1 -t off -i on -X on imgview3 12
imgview2d  -V on -L on -G on -H on -P off -m 0 -p 0 1 -b 1 1 0 -g 1 -d "" -c -1 -t off -i on -X on imgview3 13
imgview2d  -V on -L on -G on -H on -P off -m 0 -p 0 1 -b 1 1 0 -g 1 -d "" -c -1 -t off -i on -X on imgview3 14
imgview2d  -V on -L on -G on -H on -P off -m 0 -p 0 1 -b 1 1 0 -g 1 -d "" -c -1 -t off -i on -X on imgview3 15
imgview2d  -V on -L on -G on -H on -P off -m 0 -p 0 1 -b 1 1 0 -g 1 -d "" -c -1 -t off -i on -X on imgview3 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 imgview3
imgviewhist -V on -L on -G on -H on -P off -c -1 -h 0 -i on imgview3 1
imgviewhist -V on -L on -G on -H on -P off -c -1 -h 0 -i on imgview3 2
imgviewhist -V on -L on -G on -H on -P off -c -1 -h 0 -i on imgview3 3
imgviewhist -V on -L on -G on -H on -P off -c -1 -h 0 -i on imgview3 4
imgviewhist -V on -L on -G on -H on -P off -c -1 -h 0 -i on imgview3 5
imgviewhist -V on -L on -G on -H on -P off -c -1 -h 0 -i on imgview3 6
imgviewhist -V on -L on -G on -H on -P off -c -1 -h 0 -i on imgview3 7
imgviewhist -V on -L on -G on -H on -P off -c -1 -h 0 -i on imgview3 8
imgviewhist -V on -L on -G on -H on -P off -c -1 -h 0 -i on imgview3 9
imgviewhist -V on -L on -G on -H on -P off -c -1 -h 0 -i on imgview3 10
imgviewhist -V on -L on -G on -H on -P off -c -1 -h 0 -i on imgview3 11
imgviewhist -V on -L on -G on -H on -P off -c -1 -h 0 -i on imgview3 12
imgviewhist -V on -L on -G on -H on -P off -c -1 -h 0 -i on imgview3 13
imgviewhist -V on -L on -G on -H on -P off -c -1 -h 0 -i on imgview3 14
imgviewhist -V on -L on -G on -H on -P off -c -1 -h 0 -i on imgview3 15
imgviewhist -V on -L on -G on -H on -P off -c -1 -h 0 -i on imgview3 16
viewerstow -b open -x open -l open -m hide -c hide -d open Technical.panetab2.world
vieweroption -a 0 -h 0 -m 1 -r 'View: Mantra' Technical.panetab2.world
viewlayout -s 2 Technical.panetab2.world
viewtype -t perspective Technical.panetab2.world.`vpname("Technical.panetab2.world",2)`
viewtype -t ortho_top Technical.panetab2.world.`vpname("Technical.panetab2.world",1)`
viewtype -t ortho_front Technical.panetab2.world.`vpname("Technical.panetab2.world",3)`
viewtype -t ortho_right Technical.panetab2.world.`vpname("Technical.panetab2.world",4)`
viewname -l on -n aaaa3 Technical.panetab2.world.`vpname("Technical.panetab2.world",2)`
viewname -l on -n aaaa2 Technical.panetab2.world.`vpname("Technical.panetab2.world",1)`
viewname -l on -n aaaa1 Technical.panetab2.world.`vpname("Technical.panetab2.world",3)`
viewname -l on -n aaaa0 Technical.panetab2.world.`vpname("Technical.panetab2.world",4)`
viewname -l off -n persp1 Technical.panetab2.world.`vpname("Technical.panetab2.world",2)`
viewname -l off -n top1 Technical.panetab2.world.`vpname("Technical.panetab2.world",1)`
viewname -l off -n front1 Technical.panetab2.world.`vpname("Technical.panetab2.world",3)`
viewname -l off -n right1 Technical.panetab2.world.`vpname("Technical.panetab2.world",4)`
viewdisplay -a on Technical.panetab2.world.persp1
viewdisplay -M unsel shade -N unsel n off -E unsel n off -I unsel n off Technical.panetab2.world.persp1
viewdisplay -N unsel t off -E unsel t off -I unsel t on Technical.panetab2.world.persp1
viewdisplay -N unsel l off -E unsel g off -I unsel l off Technical.panetab2.world.persp1
viewdisplay -N unsel p off -I unsel p off Technical.panetab2.world.persp1
viewdisplay -N unsel m off -I unsel h off Technical.panetab2.world.persp1
viewdisplay -I unsel b off Technical.panetab2.world.persp1
viewdisplay -I unsel f off Technical.panetab2.world.persp1
viewdisplay -M templ wire -N templ n off -E templ n off -I templ n off Technical.panetab2.world.persp1
viewdisplay -N templ t off -E templ t off -I templ t off Technical.panetab2.world.persp1
viewdisplay -N templ l off -E templ g off -I templ l off Technical.panetab2.world.persp1
viewdisplay -N templ p off -I templ p off Technical.panetab2.world.persp1
viewdisplay -N templ m off -I templ h off Technical.panetab2.world.persp1
viewdisplay -I templ b off Technical.panetab2.world.persp1
viewdisplay -I templ f off Technical.panetab2.world.persp1
viewdisplay -M curr_unsel wire -N curr_unsel n off -E curr_unsel n off -I curr_unsel n off Technical.panetab2.world.persp1
viewdisplay -N curr_unsel t off -E curr_unsel t off -I curr_unsel t on Technical.panetab2.world.persp1
viewdisplay -N curr_unsel l off -E curr_unsel g off -I curr_unsel l off Technical.panetab2.world.persp1
viewdisplay -N curr_unsel p off -I curr_unsel p off Technical.panetab2.world.persp1
viewdisplay -N curr_unsel m off -I curr_unsel h off Technical.panetab2.world.persp1
viewdisplay -I curr_unsel b off Technical.panetab2.world.persp1
viewdisplay -I curr_unsel f off Technical.panetab2.world.persp1
viewdisplay -A templ on -B bw -b off -d off -C 0 -e 1 -F off -f off -g on -G '*' -h off -H on -j off -J off Technical.panetab2.world.persp1
viewdisplay -A curr_all on -l 1 -L on -n 0.2 -o on -O on -q on -r on -s off -S on -t on Technical.panetab2.world.persp1
viewdisplay -V 2 -z off -y off -x off -X off -U 4 -Y 4 -T on -R on -i on -D on -k off Technical.panetab2.world.persp1
viewdisplay -Q on -m on -v on Technical.panetab2.world.persp1
viewdisplay -W  off bound_box_wire 0 Technical.panetab2.world.persp1
viewdisplay -c off -K on -P points -p 3 Technical.panetab2.world.persp1
vieweffect -a 0 -A 4 -b on -B 0 -d on -D on off -g 1 -h 1 -H off -L off -l '' -m on -M 512 -o off -n 8 -O 2 -q 1 -Q 2 -r 1024 1024 -s 1 -S off -t 100 -T 100 -u off -U off -v 128 128 128 Technical.panetab2.world.persp1
viewbackground -b off -q 1 -S file -F '' -O off -r 1 1 -C '' -p '(Default Color)' 0 -t on -a on -o 0 0 -s 1 1 -i off -m 0 0 -M 1 1 Technical.panetab2.world.persp1
viewtransform Technical.panetab2.world.persp1 version ( 3 )  flag ( F )  orthowidth ( 25.1416 )  focal ( 50 )  aperture ( 41.4214 )  window ( 0 1 0 1 )  winroll ( 0 )  clear ( 1 )  nearfar ( 0.1 32025 )  resxy ( 1 1 )  aspect ( 1.33333 )  pixelaspect ( 1 )  txyz ( 0 9.53675e-07 39.6777 )  pxyz ( 0 0 0 )  rotation ( 0.717057 -0.343497 0.606498 0.101712 0.912388 0.396488 -0.689554 -0.222617 0.689172  )  homedistance ( 24.9722 )  homeadjboxwidth ( 12.5708 )  homeorthowidth ( 25.1416 )  homeradius ( 32 )  homeaxis ( 0 )  homecustom ( 0.707107 -0.353553 0.612372 0 0.866025 0.5 -0.707107 -0.353553 0.612372  )  adjustlimits ( 3 )  
viewcamera -c '' Technical.panetab2.world.persp1
vieworthogrid -d on -o 0 0 0 -s 0.5 0.5 -r 8 8 Technical.panetab2.world.persp1
viewuvgrid -r off -s 0.1 0.1 -P on -S 1 1 -O 0 0 -C on -t on Technical.panetab2.world.persp1
viewdisplay -a on Technical.panetab2.world.top1
viewdisplay -M unsel shade -N unsel n off -E unsel n off -I unsel n off Technical.panetab2.world.top1
viewdisplay -N unsel t off -E unsel t off -I unsel t on Technical.panetab2.world.top1
viewdisplay -N unsel l off -E unsel g off -I unsel l off Technical.panetab2.world.top1
viewdisplay -N unsel p off -I unsel p off Technical.panetab2.world.top1
viewdisplay -N unsel m off -I unsel h off Technical.panetab2.world.top1
viewdisplay -I unsel b off Technical.panetab2.world.top1
viewdisplay -I unsel f off Technical.panetab2.world.top1
viewdisplay -M templ wire -N templ n off -E templ n off -I templ n off Technical.panetab2.world.top1
viewdisplay -N templ t off -E templ t off -I templ t off Technical.panetab2.world.top1
viewdisplay -N templ l off -E templ g off -I templ l off Technical.panetab2.world.top1
viewdisplay -N templ p off -I templ p off Technical.panetab2.world.top1
viewdisplay -N templ m off -I templ h off Technical.panetab2.world.top1
viewdisplay -I templ b off Technical.panetab2.world.top1
viewdisplay -I templ f off Technical.panetab2.world.top1
viewdisplay -M curr_unsel wire -N curr_unsel n off -E curr_unsel n off -I curr_unsel n off Technical.panetab2.world.top1
viewdisplay -N curr_unsel t off -E curr_unsel t off -I curr_unsel t on Technical.panetab2.world.top1
viewdisplay -N curr_unsel l off -E curr_unsel g off -I curr_unsel l off Technical.panetab2.world.top1
viewdisplay -N curr_unsel p off -I curr_unsel p off Technical.panetab2.world.top1
viewdisplay -N curr_unsel m off -I curr_unsel h off Technical.panetab2.world.top1
viewdisplay -I curr_unsel b off Technical.panetab2.world.top1
viewdisplay -I curr_unsel f off Technical.panetab2.world.top1
viewdisplay -A templ on -B bw -b off -d off -C 0 -e 1 -F off -f off -g on -G '*' -h off -H on -j off -J off Technical.panetab2.world.top1
viewdisplay -A curr_all on -l 1 -L on -n 0.2 -o on -O on -q on -r on -s off -S on -t on Technical.panetab2.world.top1
viewdisplay -V 2 -z off -y off -x off -X off -U 4 -Y 4 -T on -R on -i on -D on -k off Technical.panetab2.world.top1
viewdisplay -Q on -m on -v on Technical.panetab2.world.top1
viewdisplay -W  off bound_box_wire 0 Technical.panetab2.world.top1
viewdisplay -c off -K on -P points -p 3 Technical.panetab2.world.top1
vieweffect -a 0 -A 4 -b on -B 0 -d on -D on off -g 1 -h 1 -H off -L off -l '' -m on -M 512 -o off -n 8 -O 2 -q 1 -Q 2 -r 1024 1024 -s 1 -S off -t 100 -T 100 -u off -U off -v 128 128 128 Technical.panetab2.world.top1
viewbackground -b off -q 1 -S file -F '' -O off -r 1 1 -C '' -p '(Default Color)' 0 -t on -a on -o 0 0 -s 1 1 -i off -m 0 0 -M 1 1 Technical.panetab2.world.top1
viewtransform Technical.panetab2.world.top1 version ( 3 )  flag ( Fo )  orthowidth ( 2.22222 )  focal ( 50 )  aperture ( 41.4214 )  window ( 0 1 0 1 )  winroll ( 0 )  clear ( 1 )  nearfar ( 0.1 3467.78 )  resxy ( 1 1 )  aspect ( 1.33333 )  pixelaspect ( 1 )  txyz ( 0 0 3.68246 )  pxyz ( 0 0 0 )  rotation ( 1 0 0 0 7.54979e-08 1 0 -1 7.54979e-08  )  homedistance ( 3.68246 )  homeadjboxwidth ( 2.22222 )  homeorthowidth ( 2.22222 )  homeradius ( 3.4641 )  homeaxis ( 0 )  homecustom ( 0.707107 -0.353553 0.612372 0 0.866025 0.5 -0.707107 -0.353553 0.612372  )  adjustlimits ( 3 )  
vieworthogrid -d on -o 0 0 0 -s 0.5 0.5 -r 8 8 Technical.panetab2.world.top1
viewuvgrid -r off -s 0.1 0.1 -P on -S 1 1 -O 0 0 -C on -t on Technical.panetab2.world.top1
viewdisplay -a on Technical.panetab2.world.front1
viewdisplay -M unsel shade -N unsel n off -E unsel n off -I unsel n off Technical.panetab2.world.front1
viewdisplay -N unsel t off -E unsel t off -I unsel t on Technical.panetab2.world.front1
viewdisplay -N unsel l off -E unsel g off -I unsel l off Technical.panetab2.world.front1
viewdisplay -N unsel p off -I unsel p off Technical.panetab2.world.front1
viewdisplay -N unsel m off -I unsel h off Technical.panetab2.world.front1
viewdisplay -I unsel b off Technical.panetab2.world.front1
viewdisplay -I unsel f off Technical.panetab2.world.front1
viewdisplay -M templ wire -N templ n off -E templ n off -I templ n off Technical.panetab2.world.front1
viewdisplay -N templ t off -E templ t off -I templ t off Technical.panetab2.world.front1
viewdisplay -N templ l off -E templ g off -I templ l off Technical.panetab2.world.front1
viewdisplay -N templ p off -I templ p off Technical.panetab2.world.front1
viewdisplay -N templ m off -I templ h off Technical.panetab2.world.front1
viewdisplay -I templ b off Technical.panetab2.world.front1
viewdisplay -I templ f off Technical.panetab2.world.front1
viewdisplay -M curr_unsel wire -N curr_unsel n off -E curr_unsel n off -I curr_unsel n off Technical.panetab2.world.front1
viewdisplay -N curr_unsel t off -E curr_unsel t off -I curr_unsel t on Technical.panetab2.world.front1
viewdisplay -N curr_unsel l off -E curr_unsel g off -I curr_unsel l off Technical.panetab2.world.front1
viewdisplay -N curr_unsel p off -I curr_unsel p off Technical.panetab2.world.front1
viewdisplay -N curr_unsel m off -I curr_unsel h off Technical.panetab2.world.front1
viewdisplay -I curr_unsel b off Technical.panetab2.world.front1
viewdisplay -I curr_unsel f off Technical.panetab2.world.front1
viewdisplay -A templ on -B bw -b off -d off -C 0 -e 1 -F off -f off -g on -G '*' -h off -H on -j off -J off Technical.panetab2.world.front1
viewdisplay -A curr_all on -l 1 -L on -n 0.2 -o on -O on -q on -r on -s off -S on -t on Technical.panetab2.world.front1
viewdisplay -V 2 -z off -y off -x off -X off -U 4 -Y 4 -T on -R on -i on -D on -k off Technical.panetab2.world.front1
viewdisplay -Q on -m on -v on Technical.panetab2.world.front1
viewdisplay -W  off bound_box_wire 0 Technical.panetab2.world.front1
viewdisplay -c off -K on -P points -p 3 Technical.panetab2.world.front1
vieweffect -a 0 -A 4 -b on -B 0 -d on -D on off -g 1 -h 1 -H off -L off -l '' -m on -M 512 -o off -n 8 -O 2 -q 1 -Q 2 -r 1024 1024 -s 1 -S off -t 100 -T 100 -u off -U off -v 128 128 128 Technical.panetab2.world.front1
viewbackground -b off -q 1 -S file -F '' -O off -r 1 1 -C '' -p '(Default Color)' 0 -t on -a on -o 0 0 -s 1 1 -i off -m 0 0 -M 1 1 Technical.panetab2.world.front1
viewtransform Technical.panetab2.world.front1 version ( 3 )  flag ( Fo )  orthowidth ( 2.22222 )  focal ( 50 )  aperture ( 41.4214 )  window ( 0 1 0 1 )  winroll ( 0 )  clear ( 1 )  nearfar ( 0.1 3467.78 )  resxy ( 1 1 )  aspect ( 1.33333 )  pixelaspect ( 1 )  txyz ( 0 0 3.68246 )  pxyz ( 0 0 0 )  rotation ( 1 0 0 0 1 0 0 0 1  )  homedistance ( 3.68246 )  homeadjboxwidth ( 2.22222 )  homeorthowidth ( 2.22222 )  homeradius ( 3.4641 )  homeaxis ( 0 )  homecustom ( 0.707107 -0.353553 0.612372 0 0.866025 0.5 -0.707107 -0.353553 0.612372  )  adjustlimits ( 3 )  
vieworthogrid -d on -o 0 0 0 -s 0.5 0.5 -r 8 8 Technical.panetab2.world.front1
viewuvgrid -r off -s 0.1 0.1 -P on -S 1 1 -O 0 0 -C on -t on Technical.panetab2.world.front1
viewdisplay -a on Technical.panetab2.world.right1
viewdisplay -M unsel shade -N unsel n off -E unsel n off -I unsel n off Technical.panetab2.world.right1
viewdisplay -N unsel t off -E unsel t off -I unsel t on Technical.panetab2.world.right1
viewdisplay -N unsel l off -E unsel g off -I unsel l off Technical.panetab2.world.right1
viewdisplay -N unsel p off -I unsel p off Technical.panetab2.world.right1
viewdisplay -N unsel m off -I unsel h off Technical.panetab2.world.right1
viewdisplay -I unsel b off Technical.panetab2.world.right1
viewdisplay -I unsel f off Technical.panetab2.world.right1
viewdisplay -M templ wire -N templ n off -E templ n off -I templ n off Technical.panetab2.world.right1
viewdisplay -N templ t off -E templ t off -I templ t off Technical.panetab2.world.right1
viewdisplay -N templ l off -E templ g off -I templ l off Technical.panetab2.world.right1
viewdisplay -N templ p off -I templ p off Technical.panetab2.world.right1
viewdisplay -N templ m off -I templ h off Technical.panetab2.world.right1
viewdisplay -I templ b off Technical.panetab2.world.right1
viewdisplay -I templ f off Technical.panetab2.world.right1
viewdisplay -M curr_unsel wire -N curr_unsel n off -E curr_unsel n off -I curr_unsel n off Technical.panetab2.world.right1
viewdisplay -N curr_unsel t off -E curr_unsel t off -I curr_unsel t on Technical.panetab2.world.right1
viewdisplay -N curr_unsel l off -E curr_unsel g off -I curr_unsel l off Technical.panetab2.world.right1
viewdisplay -N curr_unsel p off -I curr_unsel p off Technical.panetab2.world.right1
viewdisplay -N curr_unsel m off -I curr_unsel h off Technical.panetab2.world.right1
viewdisplay -I curr_unsel b off Technical.panetab2.world.right1
viewdisplay -I curr_unsel f off Technical.panetab2.world.right1
viewdisplay -A templ on -B bw -b off -d off -C 0 -e 1 -F off -f off -g on -G '*' -h off -H on -j off -J off Technical.panetab2.world.right1
viewdisplay -A curr_all on -l 1 -L on -n 0.2 -o on -O on -q on -r on -s off -S on -t on Technical.panetab2.world.right1
viewdisplay -V 2 -z off -y off -x off -X off -U 4 -Y 4 -T on -R on -i on -D on -k off Technical.panetab2.world.right1
viewdisplay -Q on -m on -v on Technical.panetab2.world.right1
viewdisplay -W  off bound_box_wire 0 Technical.panetab2.world.right1
viewdisplay -c off -K on -P points -p 3 Technical.panetab2.world.right1
vieweffect -a 0 -A 4 -b on -B 0 -d on -D on off -g 1 -h 1 -H off -L off -l '' -m on -M 512 -o off -n 8 -O 2 -q 1 -Q 2 -r 1024 1024 -s 1 -S off -t 100 -T 100 -u off -U off -v 128 128 128 Technical.panetab2.world.right1
viewbackground -b off -q 1 -S file -F '' -O off -r 1 1 -C '' -p '(Default Color)' 0 -t on -a on -o 0 0 -s 1 1 -i off -m 0 0 -M 1 1 Technical.panetab2.world.right1
viewtransform Technical.panetab2.world.right1 version ( 3 )  flag ( Fo )  orthowidth ( 2.22222 )  focal ( 50 )  aperture ( 41.4214 )  window ( 0 1 0 1 )  winroll ( 0 )  clear ( 1 )  nearfar ( 0.1 3467.78 )  resxy ( 1 1 )  aspect ( 1.33333 )  pixelaspect ( 1 )  txyz ( 0 0 3.68246 )  pxyz ( 0 0 0 )  rotation ( -4.37114e-08 0 1 0 1 0 -1 0 -4.37114e-08  )  homedistance ( 3.68246 )  homeadjboxwidth ( 2.22222 )  homeorthowidth ( 2.22222 )  homeradius ( 3.4641 )  homeaxis ( 0 )  homecustom ( 0.707107 -0.353553 0.612372 0 0.866025 0.5 -0.707107 -0.353553 0.612372  )  adjustlimits ( 3 )  
vieworthogrid -d on -o 0 0 0 -s 0.5 0.5 -r 8 8 Technical.panetab2.world.right1
viewuvgrid -r off -s 0.1 0.1 -P on -S 1 1 -O 0 0 -C on -t on Technical.panetab2.world.right1
viewsnapshotoption -s off -h off -a 1 -v '*' Technical.panetab2.world
cplane -o -8 0 -8 -n 0 1 0 -x 0 0 1 -l n -s 0.5 0.5 -c 32 32 -r 8 8 -d on Technical.panetab2.world
glcache -M 1024
omparm "Follow Path" followpath /obj/AutoDopNetwork "invisible(1)"
omparm "Follow Path" followpath /obj/box_object1 "invisible(1)"
omparm "Follow Path" followpath /obj/groundplane_object1 "invisible(1)"
panepath -d Technical -f -p panetab1 /obj/AutoDopNetwork/box_object1
panepath -d Technical -f -p panetab15 /obj/AutoDopNetwork/box_object1
panepath -d Technical -f -p panetab2 /obj/AutoDopNetwork/box_object1
panepath -d Technical -f -p panetab3 /obj/AutoDopNetwork/box_object1
panepath -d Technical -f -p panetab4 /obj/AutoDopNetwork/box_object1
panepath -d Technical -f -p panetab5 /img/comp1/
panepath -d Technical -f -p panetab14 /ch/
panepath -d Technical -f -p panetab6 /obj/AutoDopNetwork/box_object1
panepath -d Technical -f -p panetab7 /obj/AutoDopNetwork/box_object1
panepath -d Technical -f -p panetab13 /obj/
panepath -d Technical -f -p panetab11 /obj/AutoDopNetwork/box_object1
panepath -d Technical -f -p panetab12 /obj/
panepath -d Technical -f -p panetab8 /obj/AutoDopNetwork/box_object1
panepath -d Technical -f -p panetab9 /obj/
panepath -d Technical -f -p panetab10 /obj/
desk set Technical
performance -l window -c on -g off -o on -v on -f on -m off -r on -i on -h off -p off -s off -e off -F off -U ms -T 500
viewupdate -u always
audiopanel -s p ''
audiopanel -s r off
audiopanel -s s 1
audiopanel -s f 45
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 ""
compproject -r 640 480 -a 1 -d i8 -p 0 255 -P full -f 0 -F 0 -l on
texcache  -a off -r 2048 2048 -m 10000 -M 1
shopvisible +OGL +OGL2 +I3D +VMantra +MI +RIB
0707070000010000000006660000000000000000010000001155527366000000700000000060.takes HoudiniTakeFile 1.0
take name Main kids 0
   e
0707070000010000000006660000000000000000010000001155527366000000500000000024.cwd opcf /
takeset Main
0707070000010000000006660000000000000000010000001155527366000001600000000000.custompanels 0707070000010000000006660000000000000000010000001155527366000001300000000000TRAILER!!! 