diff --git a/VERSION.txt b/VERSION.txt
index ba20fe61..eae948a3 100644
--- a/VERSION.txt
+++ b/VERSION.txt
@@ -1 +1 @@
-v1.0.6 Stable
\ No newline at end of file
+v1.0.16 Stable
\ No newline at end of file
diff --git a/examples/animated_instances.hip b/examples/animated_instances.hip
index d3ce704d..8ae2bb63 100644
Binary files a/examples/animated_instances.hip and b/examples/animated_instances.hip differ
diff --git a/examples/explode_and_curl.hip b/examples/explode_and_curl.hip
index 3d4e82f3..0f57eb87 100644
Binary files a/examples/explode_and_curl.hip and b/examples/explode_and_curl.hip differ
diff --git a/examples/instancing_indexes_01.hip b/examples/instancing_indexes_01.hip
index 9a94435f..8a021225 100644
Binary files a/examples/instancing_indexes_01.hip and b/examples/instancing_indexes_01.hip differ
diff --git a/examples/motion_instancer_example.hip b/examples/motion_instancer_example.hip
new file mode 100644
index 00000000..0c94af82
Binary files /dev/null and b/examples/motion_instancer_example.hip differ
diff --git a/examples/spread_falloff_01.hip b/examples/spread_falloff_01.hip
index ae725781..07ecc16a 100644
Binary files a/examples/spread_falloff_01.hip and b/examples/spread_falloff_01.hip differ
diff --git a/examples/trails.hip b/examples/trails.hip
new file mode 100644
index 00000000..f66940ab
Binary files /dev/null and b/examples/trails.hip differ
diff --git a/otls/MOPS_Align.hda/INDEX__SECTION b/otls/MOPS_Align.hda/INDEX__SECTION
index 53e4bd65..8e24de25 100644
--- a/otls/MOPS_Align.hda/INDEX__SECTION
+++ b/otls/MOPS_Align.hda/INDEX__SECTION
@@ -10,7 +10,7 @@ Inputs: 1 to 1
Subnet: true
Python: false
Empty: false
-Modified: Thu Nov 14 21:51:29 2019
+Modified: Sun Nov 10 20:51:29 2019
Operator: MOPS::Align::1.1
Label: MOPs Align
@@ -24,5 +24,19 @@ Inputs: 1 to 1
Subnet: true
Python: false
Empty: false
-Modified: Thu Dec 5 21:20:14 2019
+Modified: Sun Dec 1 20:13:21 2019
+
+Operator: MOPS::Align::1.2
+Label: MOPs Align
+Path: oplib:/MOPS::Sop/Align::1.2?MOPS::Sop/Align::1.2
+Icon: opdef:/MOPS::Sop/Align::1.2?IconSVG
+Table: Sop
+License:
+Extra:
+User:
+Inputs: 1 to 1
+Subnet: true
+Python: false
+Empty: false
+Modified: Thu Mar 19 21:40:41 2020
diff --git a/otls/MOPS_Align.hda/MOPS_8_8Sop_1Align_8_81.1/Contents.dir/.OPdummydefs b/otls/MOPS_Align.hda/MOPS_8_8Sop_1Align_8_81.1/Contents.dir/.OPdummydefs
index 561c2e58..3b4513a1 100644
Binary files a/otls/MOPS_Align.hda/MOPS_8_8Sop_1Align_8_81.1/Contents.dir/.OPdummydefs and b/otls/MOPS_Align.hda/MOPS_8_8Sop_1Align_8_81.1/Contents.dir/.OPdummydefs differ
diff --git a/otls/MOPS_Align.hda/MOPS_8_8Sop_1Align_8_81.1/Contents.dir/.OPfallbacks b/otls/MOPS_Align.hda/MOPS_8_8Sop_1Align_8_81.1/Contents.dir/.OPfallbacks
index 4ec63fbb..15866eba 100644
--- a/otls/MOPS_Align.hda/MOPS_8_8Sop_1Align_8_81.1/Contents.dir/.OPfallbacks
+++ b/otls/MOPS_Align.hda/MOPS_8_8Sop_1Align_8_81.1/Contents.dir/.OPfallbacks
@@ -1,6 +1,6 @@
-MOPS::Sop/Extract_Attributes::1.0 C:/Users/Henry/Projects/VFX/MOPS/otls/MOPS_extractAttributes.hda
+MOPS::Sop/Extract_Attributes::1.0 C:/Users/Henry/Projects/VFX/MOPS_Prime/otls/MOPS_extractAttributes.hda
MOPS::Sop/Extract_Attributes::1.0 otls/MOPS_extractAttributes.hda
-Sop/attribdelete C:/PROGRA~1/SIDEEF~1/HOUDIN~1.229/houdini/otls/OPlibSop.hda
+Sop/attribdelete C:/PROGRA~1/SIDEEF~1/HOUDIN~1.287/houdini/otls/OPlibSop.hda
Sop/attribdelete otls/OPlibSop.hda
-Sop/attribwrangle C:/PROGRA~1/SIDEEF~1/HOUDIN~1.229/houdini/otls/OPlibSop.hda
+Sop/attribwrangle C:/PROGRA~1/SIDEEF~1/HOUDIN~1.287/houdini/otls/OPlibSop.hda
Sop/attribwrangle otls/OPlibSop.hda
diff --git a/otls/MOPS_Align.hda/MOPS_8_8Sop_1Align_8_81.1/Contents.dir/Contents.mime b/otls/MOPS_Align.hda/MOPS_8_8Sop_1Align_8_81.1/Contents.dir/Contents.mime
index 7dfcb8e5..f893e18b 100644
--- a/otls/MOPS_Align.hda/MOPS_8_8Sop_1Align_8_81.1/Contents.dir/Contents.mime
+++ b/otls/MOPS_Align.hda/MOPS_8_8Sop_1Align_8_81.1/Contents.dir/Contents.mime
@@ -32,9 +32,9 @@ Content-Type: text/plain
sopflags sopflags =
comment ""
-position -3.09016 1.21885
+position -7.243 3.62388
connectornextid 0
-flags = lock off model off template off footprint off xray off bypass off display on render on highlight off unload off savedata off compress on colordefault on exposed on
+flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
outputsNamed3
{
}
@@ -46,8 +46,8 @@ inputs
}
stat
{
- create 1575609598
- modify 1575609606
+ create 1575608772
+ modify 1575609200
author Henry@LAPPY586
access 0777
}
@@ -107,7 +107,7 @@ inputs
stat
{
create 1555384760
- modify 1575609599
+ modify 1575608772
author Henry@LAPPY586
access 0777
}
@@ -340,6 +340,12 @@ Content-Type: text/plain
parmtag { "editor" "1" }
parmtag { "editorlang" "vex" }
}
+ parm {
+ name "vex_precision"
+ baseparm
+ label "VEX Precision"
+ export none
+ }
--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
Content-Disposition: attachment; filename="hdaroot/align_pivots.chn"
@@ -531,6 +537,7 @@ vex_updatenmls [ 0 locks=0 ] ( "off" )
vex_matchattrib [ 0 locks=0 ] ( id )
vex_inplace [ 0 locks=0 ] ( "off" )
vex_selectiongroup [ 0 locks=0 ] ( "" )
+vex_precision [ 0 locks=0 ] ( auto )
folder1 [ 0 locks=0 ] ( 0 0 )
mode [ 0 locks=0 ] ( [ mode 9 ] )
do_falloff [ 0 locks=0 ] ( [ do_falloff 0 ] )
@@ -672,7 +679,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"17.5.229"
+ "value":"18.0.287"
}
}
@@ -731,7 +738,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"17.5.229"
+ "value":"18.0.287"
}
}
diff --git a/otls/MOPS_Align.hda/MOPS_8_8Sop_1Align_8_81.1/ExtraFileOptions b/otls/MOPS_Align.hda/MOPS_8_8Sop_1Align_8_81.1/ExtraFileOptions
index 5dde6aad..e8838258 100644
--- a/otls/MOPS_Align.hda/MOPS_8_8Sop_1Align_8_81.1/ExtraFileOptions
+++ b/otls/MOPS_Align.hda/MOPS_8_8Sop_1Align_8_81.1/ExtraFileOptions
@@ -1,7 +1,7 @@
{
"OnCreated/Cursor":{
"type":"intarray",
- "value":[1,1]
+ "value":[13,38]
},
"OnCreated/IsExpr":{
"type":"bool",
@@ -19,6 +19,10 @@
"type":"string",
"value":""
},
+ "ViewerStateModule/CodeGenInput":{
+ "type":"string",
+ "value":"{\n\t\"state_name\":\"\",\n\t\"state_label\":\"\",\n\t\"state_descr\":\"\",\n\t\"state_icon\":\"$HH/config/Icons\",\n\t\"state_sample\":0,\n\t\"state_handler_indices\":[]\n}\n"
+ },
"mops_modifier_02.svg/Cursor":{
"type":"intarray",
"value":[1,1]
diff --git a/otls/MOPS_Align.hda/MOPS_8_8Sop_1Align_8_81.1/OnCreated b/otls/MOPS_Align.hda/MOPS_8_8Sop_1Align_8_81.1/OnCreated
index 5d5cae19..bf097f36 100644
--- a/otls/MOPS_Align.hda/MOPS_8_8Sop_1Align_8_81.1/OnCreated
+++ b/otls/MOPS_Align.hda/MOPS_8_8Sop_1Align_8_81.1/OnCreated
@@ -7,4 +7,7 @@ try:
import mops_tools
mops_tools.send_on_create_analytics(me)
except:
- pass
\ No newline at end of file
+ pass
+
+import mops_tools
+mops_tools.viewport_selection(kwargs)
\ No newline at end of file
diff --git a/otls/MOPS_Align.hda/MOPS_8_8Sop_1Align_8_81.1/TypePropertiesOptions b/otls/MOPS_Align.hda/MOPS_8_8Sop_1Align_8_81.1/TypePropertiesOptions
index b4811492..a6d52acf 100644
--- a/otls/MOPS_Align.hda/MOPS_8_8Sop_1Align_8_81.1/TypePropertiesOptions
+++ b/otls/MOPS_Align.hda/MOPS_8_8Sop_1Align_8_81.1/TypePropertiesOptions
@@ -1,14 +1,14 @@
-SaveSpareParms := 0;
CheckExternal := 1;
-SaveIcon := 1;
-GzipContents := 1;
ContentsCompressionType := 1;
-UnlockOnCreate := 0;
-SaveCachedCode := 0;
+ForbidOutsideParms := 1;
+GzipContents := 1;
LockContents := 1;
MakeDefault := 1;
-UseDSParms := 1;
-ForbidOutsideParms := 1;
+ParmsFromVfl := 0;
PrefixDroppedParmLabel := 0;
PrefixDroppedParmName := 0;
-ParmsFromVfl := 0;
+SaveCachedCode := 0;
+SaveIcon := 1;
+SaveSpareParms := 0;
+UnlockOnCreate := 0;
+UseDSParms := 1;
diff --git a/otls/MOPS_Align.hda/MOPS_8_8Sop_1Align_8_81.2/Contents.dir/.OPdummydefs b/otls/MOPS_Align.hda/MOPS_8_8Sop_1Align_8_81.2/Contents.dir/.OPdummydefs
new file mode 100644
index 00000000..2bef8f89
Binary files /dev/null and b/otls/MOPS_Align.hda/MOPS_8_8Sop_1Align_8_81.2/Contents.dir/.OPdummydefs differ
diff --git a/otls/MOPS_Align.hda/MOPS_8_8Sop_1Align_8_81.2/Contents.dir/.OPfallbacks b/otls/MOPS_Align.hda/MOPS_8_8Sop_1Align_8_81.2/Contents.dir/.OPfallbacks
new file mode 100644
index 00000000..77d05cba
--- /dev/null
+++ b/otls/MOPS_Align.hda/MOPS_8_8Sop_1Align_8_81.2/Contents.dir/.OPfallbacks
@@ -0,0 +1,4 @@
+Sop/attribdelete C:/PROGRA~1/SIDEEF~1/HOUDIN~1.391/houdini/otls/OPlibSop.hda
+Sop/attribdelete otls/OPlibSop.hda
+Sop/attribwrangle C:/PROGRA~1/SIDEEF~1/HOUDIN~1.391/houdini/otls/OPlibSop.hda
+Sop/attribwrangle otls/OPlibSop.hda
diff --git a/otls/MOPS_Align.hda/MOPS_8_8Sop_1Align_8_81.2/Contents.dir/Contents.mime b/otls/MOPS_Align.hda/MOPS_8_8Sop_1Align_8_81.2/Contents.dir/Contents.mime
new file mode 100644
index 00000000..c033a577
--- /dev/null
+++ b/otls/MOPS_Align.hda/MOPS_8_8Sop_1Align_8_81.2/Contents.dir/Contents.mime
@@ -0,0 +1,3056 @@
+MIME-Version: 1.0
+Content-Type: multipart/mixed; boundary="HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY"
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename=".OPfallbacks"
+Content-Type: application/external-reference
+
+.OPfallbacks
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename=".OPdummydefs"
+Content-Type: application/external-reference
+
+.OPdummydefs
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="node_type"
+Content-Type: text/plain
+
+Sop
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot.init"
+Content-Type: text/plain
+
+type = MOPS::Align::1.2
+matchesdef = 0
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot.def"
+Content-Type: text/plain
+
+sopflags sopflags =
+comment ""
+position 8.796 -2.95349
+connectornextid 1
+flags = lock off model off template off footprint off xray off bypass off display on render on highlight off unload off savedata off compress on colordefault on exposed on
+outputsNamed3
+{
+}
+inputsNamed3
+{
+0 MOPs_Instancer 3 1 "input1"
+}
+inputs
+{
+0 MOPs_Instancer 0 1
+}
+stat
+{
+ create 1584678610
+ modify 1584679241
+ author Henry@LAPPY586
+ access 0777
+}
+color UT_Color RGB 0.8 0.8 0.8
+delscript ""
+exprlanguage hscript
+end
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot.userdata"
+Content-Type: text/plain
+
+{
+ "___Version___":{
+ "type":"string",
+ "value":""
+ }
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot.inp"
+Content-Type: text/plain
+
+1
+0 -4.3967336955224088 9.4503295562118499 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/__stickynote1.postitinit"
+Content-Type: text/plain
+
+type = postitnote
+matchesdef = 0
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/__stickynote1.postitdef"
+Content-Type: text/plain
+
+text "align to bbox needs a WORLD vs LOCAL space mode!"
+position -10.2781 2.27813
+size 3.99278 3.75777
+flags = minimize off
+stat
+{
+ create 1584678986
+ modify 1584679001
+ author Henry@LAPPY586
+ access 0777
+}
+color UT_Color RGB 1 0.969 0.522
+end
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/centroid.init"
+Content-Type: text/plain
+
+type = attribwrangle
+matchesdef = 1
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/centroid.def"
+Content-Type: text/plain
+
+sopflags sopflags =
+comment ""
+position -4.05068 3.58284
+connectornextid 2
+flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
+outputsNamed3
+{
+1 "output1"
+}
+inputsNamed3
+{
+0 attribpromote1 1 1 "input1"
+}
+inputs
+{
+0 attribpromote1 0 1
+}
+stat
+{
+ create 1584071885
+ modify 1584679113
+ author Henry@LAPPY586
+ access 0777
+}
+color UT_Color RGB 0.8 0.8 0.8
+delscript ""
+exprlanguage hscript
+end
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/centroid.spareparmdef"
+Content-Type: text/plain
+
+ group {
+ name "folder1"
+ label "Code"
+
+ parm {
+ name "group"
+ baseparm
+ label "Group"
+ export none
+ bindselector points "Modify Points"
+ "Select the points to affect and press Enter to complete."
+ 0 1 0xffffffff 0 grouptype 0
+ }
+ parm {
+ name "grouptype"
+ baseparm
+ label "Group Type"
+ export none
+ }
+ parm {
+ name "class"
+ baseparm
+ label "Run Over"
+ export none
+ }
+ parm {
+ name "vex_numcount"
+ baseparm
+ label "Number Count"
+ export none
+ }
+ parm {
+ name "vex_threadjobsize"
+ baseparm
+ label "Thread Job Size"
+ export none
+ }
+ parm {
+ name "snippet"
+ baseparm
+ label "VEXpression"
+ export all
+ }
+ parm {
+ name "exportlist"
+ baseparm
+ label "Attributes to Create"
+ export none
+ }
+ parm {
+ name "vex_strict"
+ baseparm
+ label "Enforce Prototypes"
+ export none
+ }
+ }
+
+ group {
+ name "folder1_1"
+ label "Bindings"
+
+ parm {
+ name "autobind"
+ baseparm
+ label "Autobind by Name"
+ export none
+ }
+ multiparm {
+ name "bindings"
+ label "Number of Bindings"
+ baseparm
+ default 0
+ parmtag { "autoscope" "0000000000000000" }
+ parmtag { "multistartoffset" "1" }
+
+ parm {
+ name "bindname#"
+ baseparm
+ label "Attribute Name"
+ export none
+ }
+ parm {
+ name "bindparm#"
+ baseparm
+ label "VEX Parameter"
+ export none
+ }
+ }
+
+ parm {
+ name "groupautobind"
+ baseparm
+ label "Autobind Groups by Name"
+ export none
+ }
+ multiparm {
+ name "groupbindings"
+ label "Group Bindings"
+ baseparm
+ default 0
+ parmtag { "autoscope" "0000000000000000" }
+ parmtag { "multistartoffset" "1" }
+
+ parm {
+ name "bindgroupname#"
+ baseparm
+ label "Group Name"
+ export none
+ }
+ parm {
+ name "bindgroupparm#"
+ baseparm
+ label "VEX Parameter"
+ export none
+ }
+ }
+
+ parm {
+ name "vex_cwdpath"
+ baseparm
+ label "Evaluation Node Path"
+ export none
+ }
+ parm {
+ name "vex_outputmask"
+ baseparm
+ label "Export Parameters"
+ export none
+ }
+ parm {
+ name "vex_updatenmls"
+ baseparm
+ label "Update Normals If Displaced"
+ export none
+ }
+ parm {
+ name "vex_matchattrib"
+ baseparm
+ label "Attribute to Match"
+ export none
+ }
+ parm {
+ name "vex_inplace"
+ baseparm
+ label "Compute Results In Place"
+ export none
+ }
+ parm {
+ name "vex_selectiongroup"
+ baseparm
+ label "Output Selection Group"
+ export none
+ }
+ parm {
+ name "vex_precision"
+ baseparm
+ label "VEX Precision"
+ export none
+ }
+ }
+
+ parm {
+ name "move"
+ label "Move"
+ type integer
+ default { "0" }
+ range { 0 10 }
+ }
+ parm {
+ name "do_falloff"
+ label "Do Falloff"
+ type integer
+ default { "0" }
+ range { 0 10 }
+ }
+ parm {
+ name "do_vexpression"
+ label "Do Vexpression"
+ type toggle
+ default { "0" }
+ range { 0 1 }
+ }
+ parm {
+ name "vexpression"
+ label "Vexpression"
+ type string
+ default { "" }
+ parmtag { "editor" "1" }
+ parmtag { "editorlang" "vex" }
+ }
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/centroid.chn"
+Content-Type: text/plain
+
+{
+ channel do_falloff {
+ lefttype = extend
+ righttype = extend
+ flags = 0
+ segment { length = 0 expr = ch(\"../do_falloff\") }
+ }
+ channel bindname1 {
+ lefttype = extend
+ righttype = extend
+ defaultString = \"mops_falloff\"
+ flags = 0
+ segment { length = 0 expr = chs(\"../falloff_attribute\") }
+ }
+ channel group {
+ lefttype = extend
+ righttype = extend
+ defaultString = \"\"
+ flags = 0
+ segment { length = 0 expr = chs(\"../group\") }
+ }
+ channel grouptype {
+ lefttype = extend
+ righttype = extend
+ flags = 0
+ segment { length = 0 expr = ch(\"../grouptype\") }
+ }
+ channel do_vexpression {
+ lefttype = extend
+ righttype = extend
+ flags = 0
+ segment { length = 0 expr = ch(\"../do_vexpression\") }
+ }
+ channel vexpression {
+ lefttype = extend
+ righttype = extend
+ defaultString = \"\"
+ flags = 0
+ segment { length = 0 expr = chs(\"../vexpression\") }
+ }
+ channel move {
+ lefttype = extend
+ righttype = extend
+ default = 1
+ flags = 0
+ segment { length = 0 value = 1 1 expr = ch(\"../pivots_only\") }
+ }
+ }
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/centroid.parm"
+Content-Type: text/plain
+
+{
+version 0.8
+folder0 [ 0 locks=0 ] ( 0 0 )
+group [ 0 locks=0 ] ( [ group "" ] )
+grouptype [ 0 locks=0 ] ( [ grouptype 0 ] )
+class [ 0 locks=0 ] ( "point" )
+vex_numcount [ 0 locks=0 ] ( 10 )
+vex_threadjobsize [ 0 locks=0 ] ( 1024 )
+snippet [ 0 locks=0 ] ( "int move = chi(\"move\");
+float weight = @attr;
+if(!chi(\"do_falloff\")) {
+ weight = 1;
+}
+matrix3 xform = matrix3(4@__xform);
+vector old_pivot = v@__pivot;
+float bounds[] = f[]@__bounds;
+vector bounds_min = set(bounds[0], bounds[2], bounds[4]);
+vector bounds_max = set(bounds[1], bounds[3], bounds[5]);
+vector pivot = set((bounds_max.x + bounds_min.x)/2, (bounds_max.y + bounds_min.y)/2, (bounds_max.z + bounds_min.z)/2);
+
+pivot = lerp(old_pivot, pivot, weight);
+vector offset = pivot - old_pivot;
+
+v@__pivot = pivot;
+if(move) {
+ @P += (offset * xform);
+}" )
+exportlist [ 0 locks=0 ] ( * )
+vex_strict [ 0 locks=0 ] ( "off" )
+autobind [ 0 locks=0 ] ( "on" )
+bindings [ 0 locks=0 ] ( 1 )
+groupautobind [ 0 locks=0 ] ( "on" )
+groupbindings [ 0 locks=0 ] ( 0 )
+vex_cwdpath [ 0 locks=0 ] ( . )
+vex_outputmask [ 0 locks=0 ] ( * )
+vex_updatenmls [ 0 locks=0 ] ( "off" )
+vex_matchattrib [ 0 locks=0 ] ( id )
+vex_inplace [ 0 locks=0 ] ( "off" )
+vex_selectiongroup [ 0 locks=0 ] ( "" )
+vex_precision [ 0 locks=0 ] ( auto )
+folder1 [ 0 locks=0 ] ( 0 0 )
+move [ 0 locks=0 ] ( [ move 1 ] )
+do_falloff [ 0 locks=0 ] ( [ do_falloff 0 ] )
+do_vexpression [ 0 locks=0 ] ( [ do_vexpression 0 ] )
+vexpression [ 0 locks=0 ] ( [ vexpression "// pivot = {0,0,0};" ] )
+bindname1 [ 0 locks=0 ] ( [ bindname1 mops_falloff ] )
+bindparm1 [ 0 locks=0 ] ( attr )
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/centroid.userdata"
+Content-Type: text/plain
+
+{
+ "___Version___":{
+ "type":"string",
+ "value":""
+ }
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/local_pivot.init"
+Content-Type: text/plain
+
+type = attribwrangle
+matchesdef = 1
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/local_pivot.def"
+Content-Type: text/plain
+
+sopflags sopflags =
+comment ""
+position 9.5617 3.00728
+connectornextid 2
+flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
+outputsNamed3
+{
+1 "output1"
+}
+inputsNamed3
+{
+0 attribpromote1 1 1 "input1"
+}
+inputs
+{
+0 attribpromote1 0 1
+}
+stat
+{
+ create 1584071885
+ modify 1584676834
+ author Henry@LAPPY586
+ access 0777
+}
+color UT_Color RGB 0.8 0.8 0.8
+delscript ""
+exprlanguage hscript
+end
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/local_pivot.spareparmdef"
+Content-Type: text/plain
+
+ group {
+ name "folder1"
+ label "Code"
+
+ parm {
+ name "group"
+ baseparm
+ label "Group"
+ export none
+ bindselector points "Modify Points"
+ "Select the points to affect and press Enter to complete."
+ 0 1 0xffffffff 0 grouptype 0
+ }
+ parm {
+ name "grouptype"
+ baseparm
+ label "Group Type"
+ export none
+ }
+ parm {
+ name "class"
+ baseparm
+ label "Run Over"
+ export none
+ }
+ parm {
+ name "vex_numcount"
+ baseparm
+ label "Number Count"
+ export none
+ }
+ parm {
+ name "vex_threadjobsize"
+ baseparm
+ label "Thread Job Size"
+ export none
+ }
+ parm {
+ name "snippet"
+ baseparm
+ label "VEXpression"
+ export all
+ }
+ parm {
+ name "exportlist"
+ baseparm
+ label "Attributes to Create"
+ export none
+ }
+ parm {
+ name "vex_strict"
+ baseparm
+ label "Enforce Prototypes"
+ export none
+ }
+ }
+
+ group {
+ name "folder1_1"
+ label "Bindings"
+
+ parm {
+ name "autobind"
+ baseparm
+ label "Autobind by Name"
+ export none
+ }
+ multiparm {
+ name "bindings"
+ label "Number of Bindings"
+ baseparm
+ default 0
+ parmtag { "autoscope" "0000000000000000" }
+ parmtag { "multistartoffset" "1" }
+
+ parm {
+ name "bindname#"
+ baseparm
+ label "Attribute Name"
+ export none
+ }
+ parm {
+ name "bindparm#"
+ baseparm
+ label "VEX Parameter"
+ export none
+ }
+ }
+
+ parm {
+ name "groupautobind"
+ baseparm
+ label "Autobind Groups by Name"
+ export none
+ }
+ multiparm {
+ name "groupbindings"
+ label "Group Bindings"
+ baseparm
+ default 0
+ parmtag { "autoscope" "0000000000000000" }
+ parmtag { "multistartoffset" "1" }
+
+ parm {
+ name "bindgroupname#"
+ baseparm
+ label "Group Name"
+ export none
+ }
+ parm {
+ name "bindgroupparm#"
+ baseparm
+ label "VEX Parameter"
+ export none
+ }
+ }
+
+ parm {
+ name "vex_cwdpath"
+ baseparm
+ label "Evaluation Node Path"
+ export none
+ }
+ parm {
+ name "vex_outputmask"
+ baseparm
+ label "Export Parameters"
+ export none
+ }
+ parm {
+ name "vex_updatenmls"
+ baseparm
+ label "Update Normals If Displaced"
+ export none
+ }
+ parm {
+ name "vex_matchattrib"
+ baseparm
+ label "Attribute to Match"
+ export none
+ }
+ parm {
+ name "vex_inplace"
+ baseparm
+ label "Compute Results In Place"
+ export none
+ }
+ parm {
+ name "vex_selectiongroup"
+ baseparm
+ label "Output Selection Group"
+ export none
+ }
+ parm {
+ name "vex_precision"
+ baseparm
+ label "VEX Precision"
+ export none
+ }
+ }
+
+ parm {
+ name "pivot"
+ label "Pivot"
+ type vector
+ size 3
+ default { "0" "0" "0" }
+ range { 0 1 }
+ }
+ parm {
+ name "move"
+ label "Move"
+ type integer
+ default { "0" }
+ range { 0 10 }
+ }
+ parm {
+ name "do_falloff"
+ label "Do Falloff"
+ type integer
+ default { "0" }
+ range { 0 10 }
+ }
+ parm {
+ name "do_vexpression"
+ label "Do Vexpression"
+ type toggle
+ default { "0" }
+ range { 0 1 }
+ }
+ parm {
+ name "vexpression"
+ label "Vexpression"
+ type string
+ default { "" }
+ parmtag { "editor" "1" }
+ parmtag { "editorlang" "vex" }
+ }
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/local_pivot.chn"
+Content-Type: text/plain
+
+{
+ channel do_falloff {
+ lefttype = extend
+ righttype = extend
+ flags = 0
+ segment { length = 0 expr = ch(\"../do_falloff\") }
+ }
+ channel bindname1 {
+ lefttype = extend
+ righttype = extend
+ defaultString = \"mops_falloff\"
+ flags = 0
+ segment { length = 0 expr = chs(\"../falloff_attribute\") }
+ }
+ channel move {
+ lefttype = extend
+ righttype = extend
+ default = 1
+ flags = 0
+ segment { length = 0 value = 1 1 expr = ch(\"../pivots_only\") }
+ }
+ channel pivotx {
+ lefttype = extend
+ righttype = extend
+ flags = 0
+ segment { length = 0 expr = ch(\"../pivotx\") }
+ }
+ channel pivoty {
+ lefttype = extend
+ righttype = extend
+ flags = 0
+ segment { length = 0 expr = ch(\"../pivoty\") }
+ }
+ channel pivotz {
+ lefttype = extend
+ righttype = extend
+ flags = 0
+ segment { length = 0 expr = ch(\"../pivotz\") }
+ }
+ channel group {
+ lefttype = extend
+ righttype = extend
+ defaultString = \"\"
+ flags = 0
+ segment { length = 0 expr = chs(\"../group\") }
+ }
+ channel grouptype {
+ lefttype = extend
+ righttype = extend
+ flags = 0
+ segment { length = 0 expr = ch(\"../grouptype\") }
+ }
+ channel do_vexpression {
+ lefttype = extend
+ righttype = extend
+ flags = 0
+ segment { length = 0 expr = ch(\"../do_vexpression\") }
+ }
+ channel vexpression {
+ lefttype = extend
+ righttype = extend
+ defaultString = \"\"
+ flags = 0
+ segment { length = 0 expr = chs(\"../vexpression\") }
+ }
+ }
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/local_pivot.parm"
+Content-Type: text/plain
+
+{
+version 0.8
+folder0 [ 0 locks=0 ] ( 0 0 )
+group [ 0 locks=0 ] ( [ group "" ] )
+grouptype [ 0 locks=0 ] ( [ grouptype 0 ] )
+class [ 0 locks=0 ] ( "point" )
+vex_numcount [ 0 locks=0 ] ( 10 )
+vex_threadjobsize [ 0 locks=0 ] ( 1024 )
+snippet [ 0 locks=0 ] ( "int move = chi(\"move\");
+float weight = @attr;
+if(!chi(\"do_falloff\")) {
+ weight = 1;
+}
+vector old_pivot = v@__pivot;
+vector pivot = chv(\"pivot\");
+
+// vexpression
+`ifs(ch(\"do_vexpression\"), chs(\"vexpression\"), \"\")`
+
+pivot = lerp(old_pivot, pivot, weight);
+vector offset = pivot - old_pivot;
+matrix xform = 4@__xform;
+// setprimintrinsic(0, \"pivot\", @ptnum, new_pivot, \"set\");
+v@__pivot = pivot;
+if(move) {
+ @P = offset * xform;
+}" )
+exportlist [ 0 locks=0 ] ( * )
+vex_strict [ 0 locks=0 ] ( "off" )
+autobind [ 0 locks=0 ] ( "on" )
+bindings [ 0 locks=0 ] ( 1 )
+groupautobind [ 0 locks=0 ] ( "on" )
+groupbindings [ 0 locks=0 ] ( 0 )
+vex_cwdpath [ 0 locks=0 ] ( . )
+vex_outputmask [ 0 locks=0 ] ( * )
+vex_updatenmls [ 0 locks=0 ] ( "off" )
+vex_matchattrib [ 0 locks=0 ] ( id )
+vex_inplace [ 0 locks=0 ] ( "off" )
+vex_selectiongroup [ 0 locks=0 ] ( "" )
+vex_precision [ 0 locks=0 ] ( auto )
+folder1 [ 0 locks=0 ] ( 0 0 )
+pivot [ 0 locks=0 ] ( [ pivotx 0 ] [ pivoty 0 ] [ pivotz 0 ] )
+move [ 0 locks=0 ] ( [ move 1 ] )
+do_falloff [ 0 locks=0 ] ( [ do_falloff 0 ] )
+do_vexpression [ 0 locks=0 ] ( [ do_vexpression 0 ] )
+vexpression [ 0 locks=0 ] ( [ vexpression "// pivot = {0,0,0};" ] )
+bindname1 [ 0 locks=0 ] ( [ bindname1 mops_falloff ] )
+bindparm1 [ 0 locks=0 ] ( attr )
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/local_pivot.userdata"
+Content-Type: text/plain
+
+{
+ "___Version___":{
+ "type":"string",
+ "value":""
+ }
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/pivot_shift.init"
+Content-Type: text/plain
+
+type = attribwrangle
+matchesdef = 1
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/pivot_shift.def"
+Content-Type: text/plain
+
+sopflags sopflags =
+comment ""
+position 5.67995 2.75374
+connectornextid 2
+flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
+outputsNamed3
+{
+1 "output1"
+}
+inputsNamed3
+{
+0 attribpromote1 1 1 "input1"
+}
+inputs
+{
+0 attribpromote1 0 1
+}
+stat
+{
+ create 1584071885
+ modify 1584676834
+ author Henry@LAPPY586
+ access 0777
+}
+color UT_Color RGB 0.8 0.8 0.8
+delscript ""
+exprlanguage hscript
+end
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/pivot_shift.spareparmdef"
+Content-Type: text/plain
+
+ group {
+ name "folder1"
+ label "Code"
+
+ parm {
+ name "group"
+ baseparm
+ label "Group"
+ export none
+ bindselector points "Modify Points"
+ "Select the points to affect and press Enter to complete."
+ 0 1 0xffffffff 0 grouptype 0
+ }
+ parm {
+ name "grouptype"
+ baseparm
+ label "Group Type"
+ export none
+ }
+ parm {
+ name "class"
+ baseparm
+ label "Run Over"
+ export none
+ }
+ parm {
+ name "vex_numcount"
+ baseparm
+ label "Number Count"
+ export none
+ }
+ parm {
+ name "vex_threadjobsize"
+ baseparm
+ label "Thread Job Size"
+ export none
+ }
+ parm {
+ name "snippet"
+ baseparm
+ label "VEXpression"
+ export all
+ }
+ parm {
+ name "exportlist"
+ baseparm
+ label "Attributes to Create"
+ export none
+ }
+ parm {
+ name "vex_strict"
+ baseparm
+ label "Enforce Prototypes"
+ export none
+ }
+ }
+
+ group {
+ name "folder1_1"
+ label "Bindings"
+
+ parm {
+ name "autobind"
+ baseparm
+ label "Autobind by Name"
+ export none
+ }
+ multiparm {
+ name "bindings"
+ label "Number of Bindings"
+ baseparm
+ default 0
+ parmtag { "autoscope" "0000000000000000" }
+ parmtag { "multistartoffset" "1" }
+
+ parm {
+ name "bindname#"
+ baseparm
+ label "Attribute Name"
+ export none
+ }
+ parm {
+ name "bindparm#"
+ baseparm
+ label "VEX Parameter"
+ export none
+ }
+ }
+
+ parm {
+ name "groupautobind"
+ baseparm
+ label "Autobind Groups by Name"
+ export none
+ }
+ multiparm {
+ name "groupbindings"
+ label "Group Bindings"
+ baseparm
+ default 0
+ parmtag { "autoscope" "0000000000000000" }
+ parmtag { "multistartoffset" "1" }
+
+ parm {
+ name "bindgroupname#"
+ baseparm
+ label "Group Name"
+ export none
+ }
+ parm {
+ name "bindgroupparm#"
+ baseparm
+ label "VEX Parameter"
+ export none
+ }
+ }
+
+ parm {
+ name "vex_cwdpath"
+ baseparm
+ label "Evaluation Node Path"
+ export none
+ }
+ parm {
+ name "vex_outputmask"
+ baseparm
+ label "Export Parameters"
+ export none
+ }
+ parm {
+ name "vex_updatenmls"
+ baseparm
+ label "Update Normals If Displaced"
+ export none
+ }
+ parm {
+ name "vex_matchattrib"
+ baseparm
+ label "Attribute to Match"
+ export none
+ }
+ parm {
+ name "vex_inplace"
+ baseparm
+ label "Compute Results In Place"
+ export none
+ }
+ parm {
+ name "vex_selectiongroup"
+ baseparm
+ label "Output Selection Group"
+ export none
+ }
+ parm {
+ name "vex_precision"
+ baseparm
+ label "VEX Precision"
+ export none
+ }
+ }
+
+ parm {
+ name "pivot"
+ label "Pivot"
+ type vector
+ size 3
+ default { "0" "0" "0" }
+ range { 0 1 }
+ }
+ parm {
+ name "local"
+ label "Local"
+ type integer
+ default { "0" }
+ range { 0 10 }
+ }
+ parm {
+ name "move"
+ label "Move"
+ type integer
+ default { "0" }
+ range { 0 10 }
+ }
+ parm {
+ name "do_falloff"
+ label "Do Falloff"
+ type integer
+ default { "0" }
+ range { 0 10 }
+ }
+ parm {
+ name "do_vexpression"
+ label "Do Vexpression"
+ type toggle
+ default { "0" }
+ range { 0 1 }
+ }
+ parm {
+ name "vexpression"
+ label "Vexpression"
+ type string
+ default { "" }
+ parmtag { "editor" "1" }
+ parmtag { "editorlang" "vex" }
+ }
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/pivot_shift.chn"
+Content-Type: text/plain
+
+{
+ channel bindname1 {
+ lefttype = extend
+ righttype = extend
+ defaultString = \"mops_falloff\"
+ flags = 0
+ segment { length = 0 expr = chs(\"../falloff_attribute\") }
+ }
+ channel do_falloff {
+ lefttype = extend
+ righttype = extend
+ flags = 0
+ segment { length = 0 expr = ch(\"../do_falloff\") }
+ }
+ channel move {
+ lefttype = extend
+ righttype = extend
+ default = 1
+ flags = 0
+ segment { length = 0 value = 1 1 expr = ch(\"../pivots_only\") }
+ }
+ channel pivotx {
+ lefttype = extend
+ righttype = extend
+ flags = 0
+ segment { length = 0 expr = ch(\"../shift_amountx\") }
+ }
+ channel pivoty {
+ lefttype = extend
+ righttype = extend
+ flags = 0
+ segment { length = 0 expr = ch(\"../shift_amounty\") }
+ }
+ channel pivotz {
+ lefttype = extend
+ righttype = extend
+ flags = 0
+ segment { length = 0 expr = ch(\"../shift_amountz\") }
+ }
+ channel local {
+ lefttype = extend
+ righttype = extend
+ default = 1
+ flags = 0
+ segment { length = 0 value = 1 1 expr = ch(\"../local\") }
+ }
+ channel group {
+ lefttype = extend
+ righttype = extend
+ defaultString = \"\"
+ flags = 0
+ segment { length = 0 expr = chs(\"../group\") }
+ }
+ channel grouptype {
+ lefttype = extend
+ righttype = extend
+ flags = 0
+ segment { length = 0 expr = ch(\"../grouptype\") }
+ }
+ channel do_vexpression {
+ lefttype = extend
+ righttype = extend
+ flags = 0
+ segment { length = 0 expr = ch(\"../do_vexpression\") }
+ }
+ channel vexpression {
+ lefttype = extend
+ righttype = extend
+ defaultString = \"\"
+ flags = 0
+ segment { length = 0 expr = chs(\"../vexpression\") }
+ }
+ }
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/pivot_shift.parm"
+Content-Type: text/plain
+
+{
+version 0.8
+folder0 [ 0 locks=0 ] ( 0 0 )
+group [ 0 locks=0 ] ( [ group "" ] )
+grouptype [ 0 locks=0 ] ( [ grouptype 0 ] )
+class [ 0 locks=0 ] ( "point" )
+vex_numcount [ 0 locks=0 ] ( 10 )
+vex_threadjobsize [ 0 locks=0 ] ( 1024 )
+snippet [ 0 locks=0 ] ( "int local = chi(\"local\");
+int move = chi(\"move\");
+float weight = @attr;
+if(!chi(\"do_falloff\")) {
+ weight = 1;
+}
+vector pivot = chv(\"pivot\");
+pivot = lerp(set(0,0,0), pivot, weight);
+
+// vexpression
+`ifs(ch(\"do_vexpression\"), chs(\"vexpression\"), \"\")`
+
+matrix3 xform = matrix3(4@__xform);
+if(!local) {
+ pivot = invert(xform) * pivot;
+}
+// setprimintrinsic(0, \"pivot\", @ptnum, offset, \"add\");
+v@__pivot += pivot;
+if(move) {
+ @P += (pivot * xform);
+}" )
+exportlist [ 0 locks=0 ] ( * )
+vex_strict [ 0 locks=0 ] ( "off" )
+autobind [ 0 locks=0 ] ( "on" )
+bindings [ 0 locks=0 ] ( 1 )
+groupautobind [ 0 locks=0 ] ( "on" )
+groupbindings [ 0 locks=0 ] ( 0 )
+vex_cwdpath [ 0 locks=0 ] ( . )
+vex_outputmask [ 0 locks=0 ] ( * )
+vex_updatenmls [ 0 locks=0 ] ( "off" )
+vex_matchattrib [ 0 locks=0 ] ( id )
+vex_inplace [ 0 locks=0 ] ( "off" )
+vex_selectiongroup [ 0 locks=0 ] ( "" )
+vex_precision [ 0 locks=0 ] ( auto )
+folder1 [ 0 locks=0 ] ( 0 0 )
+pivot [ 0 locks=0 ] ( [ pivotx 0 ] [ pivoty 0 ] [ pivotz 0 ] )
+local [ 0 locks=0 ] ( [ local 1 ] )
+move [ 0 locks=0 ] ( [ move 1 ] )
+do_falloff [ 0 locks=0 ] ( [ do_falloff 0 ] )
+do_vexpression [ 0 locks=0 ] ( [ do_vexpression 0 ] )
+vexpression [ 0 locks=0 ] ( [ vexpression "// pivot = {0,0,0};" ] )
+bindname1 [ 0 locks=0 ] ( [ bindname1 mops_falloff ] )
+bindparm1 [ 0 locks=0 ] ( attr )
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/pivot_shift.userdata"
+Content-Type: text/plain
+
+{
+ "___Version___":{
+ "type":"string",
+ "value":""
+ }
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/world_pivot.init"
+Content-Type: text/plain
+
+type = attribwrangle
+matchesdef = 1
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/world_pivot.def"
+Content-Type: text/plain
+
+sopflags sopflags =
+comment ""
+position 5.83641 -0.213922
+connectornextid 2
+flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
+outputsNamed3
+{
+1 "output1"
+}
+inputsNamed3
+{
+0 attribpromote1 1 1 "input1"
+}
+inputs
+{
+0 attribpromote1 0 1
+}
+stat
+{
+ create 1584071885
+ modify 1584676834
+ author Henry@LAPPY586
+ access 0777
+}
+color UT_Color RGB 0.8 0.8 0.8
+delscript ""
+exprlanguage hscript
+end
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/world_pivot.spareparmdef"
+Content-Type: text/plain
+
+ group {
+ name "folder1"
+ label "Code"
+
+ parm {
+ name "group"
+ baseparm
+ label "Group"
+ export none
+ bindselector points "Modify Points"
+ "Select the points to affect and press Enter to complete."
+ 0 1 0xffffffff 0 grouptype 0
+ }
+ parm {
+ name "grouptype"
+ baseparm
+ label "Group Type"
+ export none
+ }
+ parm {
+ name "class"
+ baseparm
+ label "Run Over"
+ export none
+ }
+ parm {
+ name "vex_numcount"
+ baseparm
+ label "Number Count"
+ export none
+ }
+ parm {
+ name "vex_threadjobsize"
+ baseparm
+ label "Thread Job Size"
+ export none
+ }
+ parm {
+ name "snippet"
+ baseparm
+ label "VEXpression"
+ export all
+ }
+ parm {
+ name "exportlist"
+ baseparm
+ label "Attributes to Create"
+ export none
+ }
+ parm {
+ name "vex_strict"
+ baseparm
+ label "Enforce Prototypes"
+ export none
+ }
+ }
+
+ group {
+ name "folder1_1"
+ label "Bindings"
+
+ parm {
+ name "autobind"
+ baseparm
+ label "Autobind by Name"
+ export none
+ }
+ multiparm {
+ name "bindings"
+ label "Number of Bindings"
+ baseparm
+ default 0
+ parmtag { "autoscope" "0000000000000000" }
+ parmtag { "multistartoffset" "1" }
+
+ parm {
+ name "bindname#"
+ baseparm
+ label "Attribute Name"
+ export none
+ }
+ parm {
+ name "bindparm#"
+ baseparm
+ label "VEX Parameter"
+ export none
+ }
+ }
+
+ parm {
+ name "groupautobind"
+ baseparm
+ label "Autobind Groups by Name"
+ export none
+ }
+ multiparm {
+ name "groupbindings"
+ label "Group Bindings"
+ baseparm
+ default 0
+ parmtag { "autoscope" "0000000000000000" }
+ parmtag { "multistartoffset" "1" }
+
+ parm {
+ name "bindgroupname#"
+ baseparm
+ label "Group Name"
+ export none
+ }
+ parm {
+ name "bindgroupparm#"
+ baseparm
+ label "VEX Parameter"
+ export none
+ }
+ }
+
+ parm {
+ name "vex_cwdpath"
+ baseparm
+ label "Evaluation Node Path"
+ export none
+ }
+ parm {
+ name "vex_outputmask"
+ baseparm
+ label "Export Parameters"
+ export none
+ }
+ parm {
+ name "vex_updatenmls"
+ baseparm
+ label "Update Normals If Displaced"
+ export none
+ }
+ parm {
+ name "vex_matchattrib"
+ baseparm
+ label "Attribute to Match"
+ export none
+ }
+ parm {
+ name "vex_inplace"
+ baseparm
+ label "Compute Results In Place"
+ export none
+ }
+ parm {
+ name "vex_selectiongroup"
+ baseparm
+ label "Output Selection Group"
+ export none
+ }
+ parm {
+ name "vex_precision"
+ baseparm
+ label "VEX Precision"
+ export none
+ }
+ }
+
+ parm {
+ name "pivot"
+ label "Pivot"
+ type vector
+ size 3
+ default { "0" "0" "0" }
+ range { 0 1 }
+ }
+ parm {
+ name "do_falloff"
+ label "Do Falloff"
+ type integer
+ default { "0" }
+ range { 0 10 }
+ }
+ parm {
+ name "do_vexpression"
+ label "Do Vexpression"
+ type toggle
+ default { "0" }
+ range { 0 1 }
+ }
+ parm {
+ name "vexpression"
+ label "Vexpression"
+ type string
+ default { "" }
+ parmtag { "editor" "1" }
+ parmtag { "editorlang" "vex" }
+ }
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/world_pivot.chn"
+Content-Type: text/plain
+
+{
+ channel bindname1 {
+ lefttype = extend
+ righttype = extend
+ defaultString = \"mops_falloff\"
+ flags = 0
+ segment { length = 0 expr = chs(\"../falloff_attribute\") }
+ }
+ channel pivotx {
+ lefttype = extend
+ righttype = extend
+ flags = 0
+ segment { length = 0 expr = ch(\"../pivotx\") }
+ }
+ channel pivoty {
+ lefttype = extend
+ righttype = extend
+ flags = 0
+ segment { length = 0 expr = ch(\"../pivoty\") }
+ }
+ channel pivotz {
+ lefttype = extend
+ righttype = extend
+ flags = 0
+ segment { length = 0 expr = ch(\"../pivotz\") }
+ }
+ channel group {
+ lefttype = extend
+ righttype = extend
+ defaultString = \"\"
+ flags = 0
+ segment { length = 0 expr = chs(\"../group\") }
+ }
+ channel grouptype {
+ lefttype = extend
+ righttype = extend
+ flags = 0
+ segment { length = 0 expr = ch(\"../grouptype\") }
+ }
+ channel do_falloff {
+ lefttype = extend
+ righttype = extend
+ default = 1
+ flags = 0
+ segment { length = 0 value = 1 1 expr = ch(\"../do_falloff\") }
+ }
+ channel do_vexpression {
+ lefttype = extend
+ righttype = extend
+ flags = 0
+ segment { length = 0 expr = ch(\"../do_vexpression\") }
+ }
+ channel vexpression {
+ lefttype = extend
+ righttype = extend
+ defaultString = \"\"
+ flags = 0
+ segment { length = 0 expr = chs(\"../vexpression\") }
+ }
+ }
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/world_pivot.parm"
+Content-Type: text/plain
+
+{
+version 0.8
+folder0 [ 0 locks=0 ] ( 0 0 )
+group [ 0 locks=0 ] ( [ group "" ] )
+grouptype [ 0 locks=0 ] ( [ grouptype 0 ] )
+class [ 0 locks=0 ] ( "point" )
+vex_numcount [ 0 locks=0 ] ( 10 )
+vex_threadjobsize [ 0 locks=0 ] ( 1024 )
+snippet [ 0 locks=0 ] ( "vector old_pivot = v@__pivot;
+float weight = @attr;
+if(!chi(\"do_falloff\")) {
+ weight = 1;
+}
+vector pivot = chv(\"pivot\");
+// we don't really want to lerp between \"pivot\" and \"new pivot\" in this case,
+// because our pivot is in local space.
+
+// vexpression
+`ifs(ch(\"do_vexpression\"), chs(\"vexpression\"), \"\")`
+
+matrix3 xform = matrix3(4@__xform);
+vector world_pivot = @P - (xform * old_pivot);
+pivot = lerp(world_pivot, pivot, weight);
+vector offset = pivot - world_pivot;
+
+// setprimintrinsic(0, \"pivot\", @ptnum, offset * invert(xform), \"set\");
+v@__pivot = offset * invert(xform);
+@P = pivot;" )
+exportlist [ 0 locks=0 ] ( * )
+vex_strict [ 0 locks=0 ] ( "off" )
+autobind [ 0 locks=0 ] ( "on" )
+bindings [ 0 locks=0 ] ( 1 )
+groupautobind [ 0 locks=0 ] ( "on" )
+groupbindings [ 0 locks=0 ] ( 0 )
+vex_cwdpath [ 0 locks=0 ] ( . )
+vex_outputmask [ 0 locks=0 ] ( * )
+vex_updatenmls [ 0 locks=0 ] ( "off" )
+vex_matchattrib [ 0 locks=0 ] ( id )
+vex_inplace [ 0 locks=0 ] ( "off" )
+vex_selectiongroup [ 0 locks=0 ] ( "" )
+vex_precision [ 0 locks=0 ] ( auto )
+folder1 [ 0 locks=0 ] ( 0 0 )
+pivot [ 0 locks=0 ] ( [ pivotx 0 ] [ pivoty 0 ] [ pivotz 0 ] )
+do_falloff [ 0 locks=0 ] ( [ do_falloff 0 ] )
+do_vexpression [ 0 locks=0 ] ( [ do_vexpression 0 ] )
+vexpression [ 0 locks=0 ] ( [ vexpression "// pivot = {0,0,0};" ] )
+bindname1 [ 0 locks=0 ] ( [ bindname1 mops_falloff ] )
+bindparm1 [ 0 locks=0 ] ( attr )
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/world_pivot.userdata"
+Content-Type: text/plain
+
+{
+ "___Version___":{
+ "type":"string",
+ "value":""
+ }
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/primitivewrangle1.init"
+Content-Type: text/plain
+
+type = attribwrangle
+matchesdef = 1
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/primitivewrangle1.def"
+Content-Type: text/plain
+
+sopflags sopflags =
+comment ""
+position 0.0927704 6.2988
+connectornextid 2
+flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
+outputsNamed3
+{
+1 "output1"
+}
+inputsNamed3
+{
+0 MOPS_IN 1 1 "input1"
+}
+inputs
+{
+0 MOPS_IN 0 1
+}
+stat
+{
+ create 1584078517
+ modify 1584677908
+ author Henry@LAPPY586
+ access 0777
+}
+color UT_Color RGB 0.8 0.8 0.8
+delscript ""
+exprlanguage hscript
+end
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/primitivewrangle1.parm"
+Content-Type: text/plain
+
+{
+version 0.8
+folder0 [ 0 locks=0 ] ( 0 0 )
+group [ 0 locks=0 ] ( "" )
+grouptype [ 0 locks=0 ] ( "guess" )
+class [ 0 locks=0 ] ( "primitive" )
+vex_numcount [ 0 locks=0 ] ( 10 )
+vex_threadjobsize [ 0 locks=0 ] ( 1024 )
+snippet [ 0 locks=0 ] ( "v@__pivot = primintrinsic(0, \"pivot\", @elemnum);
+4@__xform = getpackedtransform(0, @elemnum);
+f[]@__bounds = primintrinsic(0, \"packedbounds\", @elemnum);" )
+exportlist [ 0 locks=0 ] ( * )
+vex_strict [ 0 locks=0 ] ( "off" )
+autobind [ 0 locks=0 ] ( "on" )
+bindings [ 0 locks=0 ] ( 0 )
+groupautobind [ 0 locks=0 ] ( "on" )
+groupbindings [ 0 locks=0 ] ( 0 )
+vex_cwdpath [ 0 locks=0 ] ( . )
+vex_outputmask [ 0 locks=0 ] ( * )
+vex_updatenmls [ 0 locks=0 ] ( "off" )
+vex_matchattrib [ 0 locks=0 ] ( id )
+vex_inplace [ 0 locks=0 ] ( "off" )
+vex_selectiongroup [ 0 locks=0 ] ( "" )
+vex_precision [ 0 locks=0 ] ( auto )
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/primitivewrangle1.userdata"
+Content-Type: text/plain
+
+{
+ "___Version___":{
+ "type":"string",
+ "value":""
+ }
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/primitivewrangle2.init"
+Content-Type: text/plain
+
+type = attribwrangle
+matchesdef = 1
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/primitivewrangle2.def"
+Content-Type: text/plain
+
+sopflags sopflags =
+comment ""
+position -2.18648 -4.8438
+connectornextid 2
+flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
+outputsNamed3
+{
+1 "output1"
+}
+inputsNamed3
+{
+0 attribpromote2 1 1 "input1"
+}
+inputs
+{
+0 attribpromote2 0 1
+}
+stat
+{
+ create 1584078821
+ modify 1584676834
+ author Henry@LAPPY586
+ access 0777
+}
+color UT_Color RGB 0.8 0.8 0.8
+delscript ""
+exprlanguage hscript
+end
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/primitivewrangle2.chn"
+Content-Type: text/plain
+
+{
+ channel group {
+ lefttype = extend
+ righttype = extend
+ defaultString = \"\"
+ flags = 0
+ segment { length = 0 expr = chs(\"../group\") }
+ }
+ channel grouptype {
+ lefttype = extend
+ righttype = extend
+ flags = 0
+ segment { length = 0 expr = ch(\"../grouptype\") }
+ }
+ }
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/primitivewrangle2.parm"
+Content-Type: text/plain
+
+{
+version 0.8
+folder0 [ 0 locks=0 ] ( 0 0 )
+group [ 0 locks=0 ] ( [ group "" ] )
+grouptype [ 0 locks=0 ] ( [ grouptype 0 ] )
+class [ 0 locks=0 ] ( "primitive" )
+vex_numcount [ 0 locks=0 ] ( 10 )
+vex_threadjobsize [ 0 locks=0 ] ( 1024 )
+snippet [ 0 locks=0 ] ( "setprimintrinsic(0, \"pivot\", @elemnum, v@__pivot, \"set\");" )
+exportlist [ 0 locks=0 ] ( * )
+vex_strict [ 0 locks=0 ] ( "off" )
+autobind [ 0 locks=0 ] ( "on" )
+bindings [ 0 locks=0 ] ( 0 )
+groupautobind [ 0 locks=0 ] ( "on" )
+groupbindings [ 0 locks=0 ] ( 0 )
+vex_cwdpath [ 0 locks=0 ] ( . )
+vex_outputmask [ 0 locks=0 ] ( * )
+vex_updatenmls [ 0 locks=0 ] ( "off" )
+vex_matchattrib [ 0 locks=0 ] ( id )
+vex_inplace [ 0 locks=0 ] ( "off" )
+vex_selectiongroup [ 0 locks=0 ] ( "" )
+vex_precision [ 0 locks=0 ] ( auto )
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/primitivewrangle2.userdata"
+Content-Type: text/plain
+
+{
+ "___Version___":{
+ "type":"string",
+ "value":""
+ }
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/align_local.init"
+Content-Type: text/plain
+
+type = attribwrangle
+matchesdef = 1
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/align_local.def"
+Content-Type: text/plain
+
+sopflags sopflags =
+comment ""
+position 0.192041 1.93823
+connectornextid 2
+flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
+outputsNamed3
+{
+1 "output1"
+}
+inputsNamed3
+{
+0 attribpromote1 1 1 "input1"
+}
+inputs
+{
+0 attribpromote1 0 1
+}
+stat
+{
+ create 1584071885
+ modify 1584679235
+ author Henry@LAPPY586
+ access 0777
+}
+color UT_Color RGB 0.8 0.8 0.8
+delscript ""
+exprlanguage hscript
+end
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/align_local.spareparmdef"
+Content-Type: text/plain
+
+ group {
+ name "folder1"
+ label "Code"
+
+ parm {
+ name "group"
+ baseparm
+ label "Group"
+ export none
+ bindselector points "Modify Points"
+ "Select the points to affect and press Enter to complete."
+ 0 1 0xffffffff 0 grouptype 0
+ }
+ parm {
+ name "grouptype"
+ baseparm
+ label "Group Type"
+ export none
+ }
+ parm {
+ name "class"
+ baseparm
+ label "Run Over"
+ export none
+ }
+ parm {
+ name "vex_numcount"
+ baseparm
+ label "Number Count"
+ export none
+ }
+ parm {
+ name "vex_threadjobsize"
+ baseparm
+ label "Thread Job Size"
+ export none
+ }
+ parm {
+ name "snippet"
+ baseparm
+ label "VEXpression"
+ export all
+ }
+ parm {
+ name "exportlist"
+ baseparm
+ label "Attributes to Create"
+ export none
+ }
+ parm {
+ name "vex_strict"
+ baseparm
+ label "Enforce Prototypes"
+ export none
+ }
+ }
+
+ group {
+ name "folder1_1"
+ label "Bindings"
+
+ parm {
+ name "autobind"
+ baseparm
+ label "Autobind by Name"
+ export none
+ }
+ multiparm {
+ name "bindings"
+ label "Number of Bindings"
+ baseparm
+ default 0
+ parmtag { "autoscope" "0000000000000000" }
+ parmtag { "multistartoffset" "1" }
+
+ parm {
+ name "bindname#"
+ baseparm
+ label "Attribute Name"
+ export none
+ }
+ parm {
+ name "bindparm#"
+ baseparm
+ label "VEX Parameter"
+ export none
+ }
+ }
+
+ parm {
+ name "groupautobind"
+ baseparm
+ label "Autobind Groups by Name"
+ export none
+ }
+ multiparm {
+ name "groupbindings"
+ label "Group Bindings"
+ baseparm
+ default 0
+ parmtag { "autoscope" "0000000000000000" }
+ parmtag { "multistartoffset" "1" }
+
+ parm {
+ name "bindgroupname#"
+ baseparm
+ label "Group Name"
+ export none
+ }
+ parm {
+ name "bindgroupparm#"
+ baseparm
+ label "VEX Parameter"
+ export none
+ }
+ }
+
+ parm {
+ name "vex_cwdpath"
+ baseparm
+ label "Evaluation Node Path"
+ export none
+ }
+ parm {
+ name "vex_outputmask"
+ baseparm
+ label "Export Parameters"
+ export none
+ }
+ parm {
+ name "vex_updatenmls"
+ baseparm
+ label "Update Normals If Displaced"
+ export none
+ }
+ parm {
+ name "vex_matchattrib"
+ baseparm
+ label "Attribute to Match"
+ export none
+ }
+ parm {
+ name "vex_inplace"
+ baseparm
+ label "Compute Results In Place"
+ export none
+ }
+ parm {
+ name "vex_selectiongroup"
+ baseparm
+ label "Output Selection Group"
+ export none
+ }
+ parm {
+ name "vex_precision"
+ baseparm
+ label "VEX Precision"
+ export none
+ }
+ }
+
+ parm {
+ name "mode"
+ label "Mode"
+ type integer
+ default { "0" }
+ range { 0 10 }
+ }
+ parm {
+ name "move"
+ label "Move"
+ type integer
+ default { "0" }
+ range { 0 10 }
+ }
+ parm {
+ name "do_falloff"
+ label "Do Falloff"
+ type integer
+ default { "0" }
+ range { 0 10 }
+ }
+ parm {
+ name "do_vexpression"
+ label "Do Vexpression"
+ type toggle
+ default { "0" }
+ }
+ parm {
+ name "vexpression"
+ label "Vexpression"
+ type string
+ default { "" }
+ parmtag { "editor" "1" }
+ parmtag { "editorlang" "vex" }
+ }
+ parm {
+ name "do_center"
+ label "Do Center"
+ type integer
+ default { "0" }
+ range { 0 10 }
+ }
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/align_local.chn"
+Content-Type: text/plain
+
+{
+ channel do_falloff {
+ lefttype = extend
+ righttype = extend
+ default = 1
+ flags = 0
+ segment { length = 0 value = 1 1 expr = ch(\"../do_falloff\") }
+ }
+ channel move {
+ lefttype = extend
+ righttype = extend
+ default = 1
+ flags = 0
+ segment { length = 0 value = 1 1 expr = ch(\"../pivots_only\") }
+ }
+ channel bindname1 {
+ lefttype = extend
+ righttype = extend
+ defaultString = \"mops_falloff\"
+ flags = 0
+ segment { length = 0 expr = chs(\"../falloff_attribute\") }
+ }
+ channel mode {
+ lefttype = extend
+ righttype = extend
+ flags = 0
+ segment { length = 0 expr = ch(\"../align\") }
+ }
+ channel group {
+ lefttype = extend
+ righttype = extend
+ defaultString = \"\"
+ flags = 0
+ segment { length = 0 expr = chs(\"../group\") }
+ }
+ channel grouptype {
+ lefttype = extend
+ righttype = extend
+ flags = 0
+ segment { length = 0 expr = ch(\"../grouptype\") }
+ }
+ channel do_vexpression {
+ lefttype = extend
+ righttype = extend
+ flags = 0
+ segment { length = 0 expr = ch(\"../do_vexpression\") }
+ }
+ channel vexpression {
+ lefttype = extend
+ righttype = extend
+ defaultString = \"\"
+ flags = 0
+ segment { length = 0 expr = chs(\"../vexpression\") }
+ }
+ }
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/align_local.parm"
+Content-Type: text/plain
+
+{
+version 0.8
+folder0 [ 0 locks=0 ] ( 0 0 )
+group [ 0 locks=0 ] ( [ group "" ] )
+grouptype [ 0 locks=0 ] ( [ grouptype 0 ] )
+class [ 0 locks=0 ] ( "point" )
+vex_numcount [ 0 locks=0 ] ( 10 )
+vex_threadjobsize [ 0 locks=0 ] ( 1024 )
+snippet [ 0 locks=0 ] ( "vector old_pivot = v@__pivot;
+float weight = @attr;
+if(!chi(\"do_falloff\")) {
+ weight = 1;
+}
+float bounds[] = f[]@__bounds;
+int mode = chi(\"mode\"); // -X, +X, -Y, +Y, -Z, +Z
+int index = floor(mode / 2);
+matrix3 xform = matrix3(4@__xform);
+int move = chi(\"move\");
+vector pivot = old_pivot;
+
+pivot[index] = bounds[mode];
+
+pivot = lerp(old_pivot, pivot, weight);
+
+v@__pivot = pivot;
+vector offset = pivot - old_pivot;
+
+if(move) {
+ @P += (offset * xform);
+}" )
+exportlist [ 0 locks=0 ] ( * )
+vex_strict [ 0 locks=0 ] ( "off" )
+autobind [ 0 locks=0 ] ( "on" )
+bindings [ 0 locks=0 ] ( 1 )
+groupautobind [ 0 locks=0 ] ( "on" )
+groupbindings [ 0 locks=0 ] ( 0 )
+vex_cwdpath [ 0 locks=0 ] ( . )
+vex_outputmask [ 0 locks=0 ] ( * )
+vex_updatenmls [ 0 locks=0 ] ( "off" )
+vex_matchattrib [ 0 locks=0 ] ( id )
+vex_inplace [ 0 locks=0 ] ( "off" )
+vex_selectiongroup [ 0 locks=0 ] ( "" )
+vex_precision [ 0 locks=0 ] ( auto )
+folder1 [ 0 locks=0 ] ( 0 0 )
+mode [ 0 locks=0 ] ( [ mode 2 ] )
+move [ 0 locks=0 ] ( [ move 1 ] )
+do_falloff [ 0 locks=0 ] ( [ do_falloff 0 ] )
+do_vexpression [ 0 locks=0 ] ( [ do_vexpression 0 ] )
+vexpression [ 0 locks=0 ] ( [ vexpression "// pivot = {0,0,0};" ] )
+do_center [ 0 locks=0 ] ( 1 )
+bindname1 [ 0 locks=0 ] ( [ bindname1 mops_falloff ] )
+bindparm1 [ 0 locks=0 ] ( attr )
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/align_local.userdata"
+Content-Type: text/plain
+
+{
+ "___Version___":{
+ "type":"string",
+ "value":""
+ }
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/align_world.init"
+Content-Type: text/plain
+
+type = attribwrangle
+matchesdef = 1
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/align_world.def"
+Content-Type: text/plain
+
+sopflags sopflags =
+comment ""
+position -1.77833 2.07429
+connectornextid 2
+flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
+outputsNamed3
+{
+1 "output1"
+}
+inputsNamed3
+{
+0 attribpromote1 1 1 "input1"
+}
+inputs
+{
+0 attribpromote1 0 1
+}
+stat
+{
+ create 1584071885
+ modify 1584679236
+ author Henry@LAPPY586
+ access 0777
+}
+color UT_Color RGB 0.8 0.8 0.8
+delscript ""
+exprlanguage hscript
+end
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/align_world.spareparmdef"
+Content-Type: text/plain
+
+ group {
+ name "folder1"
+ label "Code"
+
+ parm {
+ name "group"
+ baseparm
+ label "Group"
+ export none
+ bindselector points "Modify Points"
+ "Select the points to affect and press Enter to complete."
+ 0 1 0xffffffff 0 grouptype 0
+ }
+ parm {
+ name "grouptype"
+ baseparm
+ label "Group Type"
+ export none
+ }
+ parm {
+ name "class"
+ baseparm
+ label "Run Over"
+ export none
+ }
+ parm {
+ name "vex_numcount"
+ baseparm
+ label "Number Count"
+ export none
+ }
+ parm {
+ name "vex_threadjobsize"
+ baseparm
+ label "Thread Job Size"
+ export none
+ }
+ parm {
+ name "snippet"
+ baseparm
+ label "VEXpression"
+ export all
+ }
+ parm {
+ name "exportlist"
+ baseparm
+ label "Attributes to Create"
+ export none
+ }
+ parm {
+ name "vex_strict"
+ baseparm
+ label "Enforce Prototypes"
+ export none
+ }
+ }
+
+ group {
+ name "folder1_1"
+ label "Bindings"
+
+ parm {
+ name "autobind"
+ baseparm
+ label "Autobind by Name"
+ export none
+ }
+ multiparm {
+ name "bindings"
+ label "Number of Bindings"
+ baseparm
+ default 0
+ parmtag { "autoscope" "0000000000000000" }
+ parmtag { "multistartoffset" "1" }
+
+ parm {
+ name "bindname#"
+ baseparm
+ label "Attribute Name"
+ export none
+ }
+ parm {
+ name "bindparm#"
+ baseparm
+ label "VEX Parameter"
+ export none
+ }
+ }
+
+ parm {
+ name "groupautobind"
+ baseparm
+ label "Autobind Groups by Name"
+ export none
+ }
+ multiparm {
+ name "groupbindings"
+ label "Group Bindings"
+ baseparm
+ default 0
+ parmtag { "autoscope" "0000000000000000" }
+ parmtag { "multistartoffset" "1" }
+
+ parm {
+ name "bindgroupname#"
+ baseparm
+ label "Group Name"
+ export none
+ }
+ parm {
+ name "bindgroupparm#"
+ baseparm
+ label "VEX Parameter"
+ export none
+ }
+ }
+
+ parm {
+ name "vex_cwdpath"
+ baseparm
+ label "Evaluation Node Path"
+ export none
+ }
+ parm {
+ name "vex_outputmask"
+ baseparm
+ label "Export Parameters"
+ export none
+ }
+ parm {
+ name "vex_updatenmls"
+ baseparm
+ label "Update Normals If Displaced"
+ export none
+ }
+ parm {
+ name "vex_matchattrib"
+ baseparm
+ label "Attribute to Match"
+ export none
+ }
+ parm {
+ name "vex_inplace"
+ baseparm
+ label "Compute Results In Place"
+ export none
+ }
+ parm {
+ name "vex_selectiongroup"
+ baseparm
+ label "Output Selection Group"
+ export none
+ }
+ parm {
+ name "vex_precision"
+ baseparm
+ label "VEX Precision"
+ export none
+ }
+ }
+
+ parm {
+ name "mode"
+ label "Mode"
+ type integer
+ default { "0" }
+ range { 0 10 }
+ }
+ parm {
+ name "move"
+ label "Move"
+ type integer
+ default { "0" }
+ range { 0 10 }
+ }
+ parm {
+ name "do_falloff"
+ label "Do Falloff"
+ type integer
+ default { "0" }
+ range { 0 10 }
+ }
+ parm {
+ name "do_vexpression"
+ label "Do Vexpression"
+ type toggle
+ default { "0" }
+ }
+ parm {
+ name "vexpression"
+ label "Vexpression"
+ type string
+ default { "" }
+ parmtag { "editor" "1" }
+ parmtag { "editorlang" "vex" }
+ }
+ parm {
+ name "do_center"
+ label "Do Center"
+ type integer
+ default { "0" }
+ range { 0 10 }
+ }
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/align_world.chn"
+Content-Type: text/plain
+
+{
+ channel do_falloff {
+ lefttype = extend
+ righttype = extend
+ default = 1
+ flags = 0
+ segment { length = 0 value = 1 1 expr = ch(\"../do_falloff\") }
+ }
+ channel move {
+ lefttype = extend
+ righttype = extend
+ default = 1
+ flags = 0
+ segment { length = 0 value = 1 1 expr = ch(\"../pivots_only\") }
+ }
+ channel bindname1 {
+ lefttype = extend
+ righttype = extend
+ defaultString = \"mops_falloff\"
+ flags = 0
+ segment { length = 0 expr = chs(\"../falloff_attribute\") }
+ }
+ channel mode {
+ lefttype = extend
+ righttype = extend
+ flags = 0
+ segment { length = 0 expr = ch(\"../align\") }
+ }
+ channel group {
+ lefttype = extend
+ righttype = extend
+ defaultString = \"\"
+ flags = 0
+ segment { length = 0 expr = chs(\"../group\") }
+ }
+ channel grouptype {
+ lefttype = extend
+ righttype = extend
+ flags = 0
+ segment { length = 0 expr = ch(\"../grouptype\") }
+ }
+ channel do_vexpression {
+ lefttype = extend
+ righttype = extend
+ flags = 0
+ segment { length = 0 expr = ch(\"../do_vexpression\") }
+ }
+ channel vexpression {
+ lefttype = extend
+ righttype = extend
+ defaultString = \"\"
+ flags = 0
+ segment { length = 0 expr = chs(\"../vexpression\") }
+ }
+ }
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/align_world.parm"
+Content-Type: text/plain
+
+{
+version 0.8
+folder0 [ 0 locks=0 ] ( 0 0 )
+group [ 0 locks=0 ] ( [ group "" ] )
+grouptype [ 0 locks=0 ] ( [ grouptype 0 ] )
+class [ 0 locks=0 ] ( "point" )
+vex_numcount [ 0 locks=0 ] ( 10 )
+vex_threadjobsize [ 0 locks=0 ] ( 1024 )
+snippet [ 0 locks=0 ] ( "vector old_pivot = v@__pivot;
+float weight = @attr;
+if(!chi(\"do_falloff\")) {
+ weight = 1;
+}
+float bounds[] = f[]@__bounds;
+int mode = chi(\"mode\"); // -X, +X, -Y, +Y, -Z, +Z
+int index = floor(mode / 2);
+matrix3 xform = matrix3(4@__xform);
+vector bounds_min = set(bounds[0], bounds[2], bounds[4]);
+vector bounds_max = set(bounds[1], bounds[3], bounds[5]);
+int move = chi(\"move\");
+vector pivot = old_pivot;
+
+// convert our bounding box to world space.
+bounds_min *= xform;
+bounds_max *= xform;
+float world_bounds[];
+push(world_bounds, bounds_min.x);
+push(world_bounds, bounds_max.x);
+push(world_bounds, bounds_min.y);
+push(world_bounds, bounds_max.y);
+push(world_bounds, bounds_min.z);
+push(world_bounds, bounds_max.z);
+
+pivot *= xform;
+pivot[index] = world_bounds[mode];
+
+pivot *= invert(xform);
+
+// vexpression
+`ifs(ch(\"do_vexpression\"), chs(\"vexpression\"), \"\")`
+
+pivot = lerp(old_pivot, pivot, weight);
+
+v@__pivot = pivot;
+vector offset = pivot - old_pivot;
+
+if(move) {
+ @P += (offset * xform);
+}" )
+exportlist [ 0 locks=0 ] ( * )
+vex_strict [ 0 locks=0 ] ( "off" )
+autobind [ 0 locks=0 ] ( "on" )
+bindings [ 0 locks=0 ] ( 1 )
+groupautobind [ 0 locks=0 ] ( "on" )
+groupbindings [ 0 locks=0 ] ( 0 )
+vex_cwdpath [ 0 locks=0 ] ( . )
+vex_outputmask [ 0 locks=0 ] ( * )
+vex_updatenmls [ 0 locks=0 ] ( "off" )
+vex_matchattrib [ 0 locks=0 ] ( id )
+vex_inplace [ 0 locks=0 ] ( "off" )
+vex_selectiongroup [ 0 locks=0 ] ( "" )
+vex_precision [ 0 locks=0 ] ( auto )
+folder1 [ 0 locks=0 ] ( 0 0 )
+mode [ 0 locks=0 ] ( [ mode 2 ] )
+move [ 0 locks=0 ] ( [ move 1 ] )
+do_falloff [ 0 locks=0 ] ( [ do_falloff 0 ] )
+do_vexpression [ 0 locks=0 ] ( [ do_vexpression 0 ] )
+vexpression [ 0 locks=0 ] ( [ vexpression "// pivot = {0,0,0};" ] )
+do_center [ 0 locks=0 ] ( 1 )
+bindname1 [ 0 locks=0 ] ( [ bindname1 mops_falloff ] )
+bindparm1 [ 0 locks=0 ] ( attr )
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/align_world.userdata"
+Content-Type: text/plain
+
+{
+ "___Version___":{
+ "type":"string",
+ "value":""
+ }
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/MOPS_IN.init"
+Content-Type: text/plain
+
+type = null
+matchesdef = 0
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/MOPS_IN.def"
+Content-Type: text/plain
+
+sopflags sopflags =
+comment ""
+position -4.62662 7.87021
+connectornextid 2
+flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
+outputsNamed3
+{
+1 "output1"
+}
+inputsNamed3
+{
+0 (0) "" 1 "input1"
+}
+inputs
+{
+0 (0) 0 1
+}
+stat
+{
+ create 1555386448
+ modify 1584676834
+ author Henry@LAPPY586
+ access 0777
+}
+color UT_Color RGB 0.6 0.7 0.77
+delscript ""
+exprlanguage hscript
+end
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/MOPS_IN.parm"
+Content-Type: text/plain
+
+{
+version 0.8
+copyinput [ 0 locks=0 ] ( "on" )
+cacheinput [ 0 locks=0 ] ( "off" )
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/MOPS_IN.userdata"
+Content-Type: text/plain
+
+{
+ "___Version___":{
+ "type":"string",
+ "value":"18.0.391"
+ }
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/output0.init"
+Content-Type: text/plain
+
+type = output
+matchesdef = 0
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/output0.def"
+Content-Type: text/plain
+
+sopflags sopflags =
+comment ""
+position -2.18348 -6.8817
+connectornextid 2
+flags = lock off model off template off footprint off xray off bypass off display on render on highlight off unload off savedata off compress on colordefault on exposed on
+outputsNamed3
+{
+1 "output1"
+}
+inputsNamed3
+{
+0 attribdelete1 1 1 "input1"
+}
+inputs
+{
+0 attribdelete1 0 1
+}
+stat
+{
+ create 1555387829
+ modify 1584678356
+ author Henry@LAPPY586
+ access 0777
+}
+color UT_Color RGB 0.8 0.8 0.8
+delscript ""
+exprlanguage hscript
+end
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/output0.parm"
+Content-Type: text/plain
+
+{
+version 0.8
+outputidx [ 0 locks=0 ] ( 0 )
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/output0.userdata"
+Content-Type: text/plain
+
+{
+ "___Version___":{
+ "type":"string",
+ "value":"18.0.391"
+ }
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/switch1.init"
+Content-Type: text/plain
+
+type = switch
+matchesdef = 0
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/switch1.def"
+Content-Type: text/plain
+
+sopflags sopflags =
+comment ""
+position -2.18693 -0.866262
+connectornextid 6
+flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
+outputsNamed3
+{
+5 "output1"
+}
+inputsNamed3
+{
+1 centroid 1 1 "input1"
+0 switch_align_space 1 1 "input2"
+2 pivot_shift 1 1 "input3"
+3 local_pivot 1 1 "input4"
+4 world_pivot 1 1 "input5"
+}
+inputs
+{
+0 centroid 0 1
+1 switch_align_space 0 1
+2 pivot_shift 0 1
+3 local_pivot 0 1
+4 world_pivot 0 1
+}
+stat
+{
+ create 1584077764
+ modify 1584679030
+ author Henry@LAPPY586
+ access 0777
+}
+color UT_Color RGB 0.8 1 0.7
+delscript ""
+exprlanguage hscript
+end
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/switch1.chn"
+Content-Type: text/plain
+
+{
+ channel input {
+ lefttype = extend
+ righttype = extend
+ default = 1
+ flags = 0
+ segment { length = 0 value = 1 1 expr = ch(\"../mode\") }
+ }
+ }
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/switch1.parm"
+Content-Type: text/plain
+
+{
+version 0.8
+input [ 0 locks=0 ] ( [ input 1 ] )
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/switch1.userdata"
+Content-Type: text/plain
+
+{
+ "___Version___":{
+ "type":"string",
+ "value":"18.0.391"
+ }
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/attribpromote1.init"
+Content-Type: text/plain
+
+type = attribpromote
+matchesdef = 0
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/attribpromote1.def"
+Content-Type: text/plain
+
+sopflags sopflags =
+comment ""
+position -0.0668721 4.85958
+connectornextid 2
+flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
+outputsNamed3
+{
+1 "output1"
+}
+inputsNamed3
+{
+0 primitivewrangle1 1 1 "input1"
+}
+inputs
+{
+0 primitivewrangle1 0 1
+}
+stat
+{
+ create 1584078559
+ modify 1584678356
+ author Henry@LAPPY586
+ access 0777
+}
+color UT_Color RGB 0.8 0.8 0.8
+delscript ""
+exprlanguage hscript
+end
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/attribpromote1.parm"
+Content-Type: text/plain
+
+{
+version 0.8
+inname [ 0 locks=0 ] ( "__pivot __xform __bounds" )
+inclass [ 0 locks=0 ] ( "primitive" )
+outclass [ 0 locks=0 ] ( "point" )
+usepieceattrib [ 0 locks=0 ] ( "off" )
+pieceattrib [ 0 locks=0 ] ( name )
+method [ 0 locks=0 ] ( "first" )
+useoutname [ 0 locks=0 ] ( "off" )
+outname [ 0 locks=0 ] ( "" )
+deletein [ 0 locks=0 ] ( "on" )
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/attribpromote1.userdata"
+Content-Type: text/plain
+
+{
+ "___Version___":{
+ "type":"string",
+ "value":"18.0.391"
+ }
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/attribpromote2.init"
+Content-Type: text/plain
+
+type = attribpromote
+matchesdef = 0
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/attribpromote2.def"
+Content-Type: text/plain
+
+sopflags sopflags =
+comment ""
+position -2.19038 -3.22961
+connectornextid 2
+flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
+outputsNamed3
+{
+1 "output1"
+}
+inputsNamed3
+{
+0 switch1 5 1 "input1"
+}
+inputs
+{
+0 switch1 0 1
+}
+stat
+{
+ create 1584078793
+ modify 1584676834
+ author Henry@LAPPY586
+ access 0777
+}
+color UT_Color RGB 0.8 0.8 0.8
+delscript ""
+exprlanguage hscript
+end
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/attribpromote2.parm"
+Content-Type: text/plain
+
+{
+version 0.8
+inname [ 0 locks=0 ] ( "__pivot __xform" )
+inclass [ 0 locks=0 ] ( "point" )
+outclass [ 0 locks=0 ] ( "primitive" )
+usepieceattrib [ 0 locks=0 ] ( "off" )
+pieceattrib [ 0 locks=0 ] ( name )
+method [ 0 locks=0 ] ( "first" )
+useoutname [ 0 locks=0 ] ( "off" )
+outname [ 0 locks=0 ] ( "" )
+deletein [ 0 locks=0 ] ( "off" )
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/attribpromote2.userdata"
+Content-Type: text/plain
+
+{
+ "___Version___":{
+ "type":"string",
+ "value":"18.0.391"
+ }
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/attribdelete1.init"
+Content-Type: text/plain
+
+type = attribdelete
+matchesdef = 1
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/attribdelete1.def"
+Content-Type: text/plain
+
+sopflags sopflags =
+comment ""
+position -2.18348 -5.8817
+connectornextid 2
+flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
+outputsNamed3
+{
+1 "output1"
+}
+inputsNamed3
+{
+0 primitivewrangle2 1 1 "input1"
+}
+inputs
+{
+0 primitivewrangle2 0 1
+}
+stat
+{
+ create 1584083062
+ modify 1584676834
+ author Henry@LAPPY586
+ access 0777
+}
+color UT_Color RGB 0.8 0.8 0.8
+delscript ""
+exprlanguage hscript
+end
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/attribdelete1.parm"
+Content-Type: text/plain
+
+{
+version 0.8
+ptdel [ 0 locks=0 ] ( "__pivot __xform" )
+vtxdel [ 0 locks=0 ] ( "" )
+primdel [ 0 locks=0 ] ( "__orig_pivot __pivot __xform" )
+dtldel [ 0 locks=0 ] ( "" )
+updatevar [ 0 locks=0 ] ( "on" )
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/attribdelete1.userdata"
+Content-Type: text/plain
+
+{
+ "___Version___":{
+ "type":"string",
+ "value":""
+ }
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/switch_align_space.init"
+Content-Type: text/plain
+
+type = switch
+matchesdef = 0
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/switch_align_space.def"
+Content-Type: text/plain
+
+sopflags sopflags =
+comment ""
+position -1.77533 0.835571
+connectornextid 3
+flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
+outputsNamed3
+{
+1 "output1"
+}
+inputsNamed3
+{
+2 align_world 1 1 "input1"
+0 align_local 1 1 "input2"
+}
+inputs
+{
+0 align_world 0 1
+1 align_local 0 1
+}
+stat
+{
+ create 1584679030
+ modify 1584679232
+ author Henry@LAPPY586
+ access 0777
+}
+color UT_Color RGB 0.8 1 0.7
+delscript ""
+exprlanguage hscript
+end
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/switch_align_space.chn"
+Content-Type: text/plain
+
+{
+ channel input {
+ lefttype = extend
+ righttype = extend
+ default = 1
+ flags = 0
+ segment { length = 0 value = 1 1 expr = ch(\"../align_local\") }
+ }
+ }
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/switch_align_space.parm"
+Content-Type: text/plain
+
+{
+version 0.8
+input [ 0 locks=0 ] ( [ input 0 ] )
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/switch_align_space.userdata"
+Content-Type: text/plain
+
+{
+ "___Version___":{
+ "type":"string",
+ "value":"18.0.391"
+ }
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot.order"
+Content-Type: text/plain
+
+15
+MOPS_IN
+output0
+centroid
+local_pivot
+pivot_shift
+world_pivot
+switch1
+primitivewrangle1
+attribpromote1
+attribpromote2
+primitivewrangle2
+attribdelete1
+align_local
+switch_align_space
+align_world
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot.net"
+Content-Type: text/plain
+
+1
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY--
diff --git a/otls/MOPS_Align.hda/MOPS_8_8Sop_1Align_8_81.2/Contents.dir/Sections.list b/otls/MOPS_Align.hda/MOPS_8_8Sop_1Align_8_81.2/Contents.dir/Sections.list
new file mode 100644
index 00000000..49f2c152
--- /dev/null
+++ b/otls/MOPS_Align.hda/MOPS_8_8Sop_1Align_8_81.2/Contents.dir/Sections.list
@@ -0,0 +1,2 @@
+""
+Contents.mime Contents.mime
diff --git a/otls/MOPS_Align.hda/MOPS_8_8Sop_1Align_8_81.2/CreateScript b/otls/MOPS_Align.hda/MOPS_8_8Sop_1Align_8_81.2/CreateScript
new file mode 100644
index 00000000..ddc66e2e
--- /dev/null
+++ b/otls/MOPS_Align.hda/MOPS_8_8Sop_1Align_8_81.2/CreateScript
@@ -0,0 +1,14 @@
+# Automatically generated script
+\set noalias = 1
+#
+# Creation script for MOPS::Align::1.2 operator
+#
+
+if ( "$arg1" == "" ) then
+ echo This script is intended as a creation script
+ exit
+endif
+
+# Node $arg1 (MOPS::Sop/Align::1.2)
+opexprlanguage -s hscript $arg1
+opuserdata -n '___Version___' -v '' $arg1
diff --git a/otls/MOPS_Align.hda/MOPS_8_8Sop_1Align_8_81.2/DialogScript b/otls/MOPS_Align.hda/MOPS_8_8Sop_1Align_8_81.2/DialogScript
new file mode 100644
index 00000000..c24dcb99
--- /dev/null
+++ b/otls/MOPS_Align.hda/MOPS_8_8Sop_1Align_8_81.2/DialogScript
@@ -0,0 +1,198 @@
+# Dialog script for MOPS::Align::1.2 automatically generated
+
+{
+ name MOPS::Align::1.2
+ script MOPS::Align::1.2
+ label "MOPs Align"
+
+ help {
+ ""
+ }
+
+ inputlabel 1 "Packed Primitives"
+ 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 align_pivots group" ]
+ }
+ range { 0 1 }
+ parmtag { "autoscope" "0000000000000000" }
+ parmtag { "script_action" "import soputils\nkwargs['geometrytype'] = kwargs['node'].parmTuple('grouptype')\nkwargs['inputindex'] = 0\nsoputils.selectGroupParm(kwargs)" }
+ parmtag { "script_action_help" "Select geometry from an available viewport." }
+ parmtag { "script_action_icon" "BUTTONS_reselect" }
+ }
+ parm {
+ name "grouptype"
+ label "Group Type"
+ type ordinal
+ default { "guess" }
+ menu {
+ "guess" "Guess from Group"
+ "vertices" "Vertices"
+ "edges" "Edges"
+ "points" "Points"
+ "prims" "Primitives"
+ }
+ range { 0 1 }
+ parmtag { "autoscope" "0000000000000000" }
+ }
+ parm {
+ name "sepparm"
+ label "Separator"
+ type separator
+ default { "" }
+ }
+ parm {
+ name "do_falloff"
+ label "Use Falloff"
+ type toggle
+ default { "0" }
+ range { 0 10 }
+ parmtag { "autoscope" "0000000000000000" }
+ }
+ parm {
+ name "falloff_attribute"
+ label "Falloff Attribute"
+ type string
+ default { "mops_falloff" }
+ disablewhen "{ do_falloff == 0 }"
+ parmtag { "autoscope" "0000000000000000" }
+ }
+ parm {
+ name "sepparm2"
+ label "Separator"
+ type separator
+ default { "" }
+ }
+ parm {
+ name "mode"
+ label "Mode"
+ type ordinal
+ default { "0" }
+ menu {
+ "0" "Center Pivot"
+ "1" "Align to BBox"
+ "2" "Shift Pivot"
+ "3" "Set Pivot (Local)"
+ "4" "Set Pivot (World)"
+ }
+ parmtag { "script_callback_language" "python" }
+ }
+ parm {
+ name "pivots_only"
+ label "Pivots Only (Do Not Move)"
+ type toggle
+ default { "1" }
+ disablewhen "{ mode == 4 }"
+ range { 0 10 }
+ parmtag { "autoscope" "0000000000000000" }
+ }
+ parm {
+ name "show_offset"
+ label "Label"
+ type integer
+ invisible
+ default { "0" }
+ range { 0 10 }
+ }
+ groupsimple {
+ name "folder2"
+ label "Align"
+ hidewhentab "{ mode != 1 }"
+
+ parm {
+ name "align"
+ label "Alignment Side"
+ type buttonstrip
+ default { "2" }
+ menu {
+ "0" "-X"
+ "1" "+X"
+ "2" "-Y"
+ "3" "+Y"
+ "4" "-Z"
+ "5" "+Z"
+ }
+ parmtag { "script_callback_language" "python" }
+ }
+ parm {
+ name "align_local"
+ label "Local Space"
+ type toggle
+ default { "0" }
+ range { 0! 10 }
+ parmtag { "autoscope" "0000000000000000" }
+ parmtag { "script_callback_language" "python" }
+ }
+ }
+
+ groupsimple {
+ name "folder0"
+ label "Shift Pivot"
+ hidewhentab "{ mode != 2 }"
+
+ parm {
+ name "shift_amount"
+ label "Shift Amount"
+ type vector
+ size 3
+ default { "0" "0" "0" }
+ range { 0 1 }
+ parmtag { "autoscope" "0000000000000000" }
+ parmtag { "script_callback_language" "python" }
+ }
+ parm {
+ name "local"
+ label "Local Space"
+ type toggle
+ default { "1" }
+ range { 0 10 }
+ parmtag { "autoscope" "0000000000000000" }
+ parmtag { "script_callback_language" "python" }
+ }
+ }
+
+ groupsimple {
+ name "folder1"
+ label "Set Pivot"
+ hidewhentab "{ mode < 3 }"
+
+ parm {
+ name "pivot"
+ label "Pivot"
+ type vector
+ size 3
+ default { "0" "0" "0" }
+ range { 0 1 }
+ parmtag { "autoscope" "0000000000000000" }
+ parmtag { "script_callback_language" "python" }
+ }
+ }
+
+ parm {
+ name "do_vexpression"
+ label "Do Vexpression"
+ type toggle
+ default { "off" }
+ range { 0 1 }
+ parmtag { "autoscope" "0000000000000000" }
+ parmtag { "script_callback_language" "python" }
+ }
+ parm {
+ name "vexpression"
+ label "Vexpression"
+ type string
+ default { "// pivot = {0,0,0};" }
+ disablewhen "{ do_vexpression == 0 }"
+ parmtag { "autoscope" "0000000000000000" }
+ parmtag { "editor" "1" }
+ parmtag { "editorlang" "vex" }
+ }
+}
diff --git a/otls/MOPS_Align.hda/MOPS_8_8Sop_1Align_8_81.2/ExtraFileOptions b/otls/MOPS_Align.hda/MOPS_8_8Sop_1Align_8_81.2/ExtraFileOptions
new file mode 100644
index 00000000..50e13e9f
--- /dev/null
+++ b/otls/MOPS_Align.hda/MOPS_8_8Sop_1Align_8_81.2/ExtraFileOptions
@@ -0,0 +1,46 @@
+{
+ "OnCreated/Cursor":{
+ "type":"intarray",
+ "value":[13,1]
+ },
+ "OnCreated/IsExpr":{
+ "type":"bool",
+ "value":false
+ },
+ "OnCreated/IsPython":{
+ "type":"bool",
+ "value":true
+ },
+ "OnCreated/IsScript":{
+ "type":"bool",
+ "value":true
+ },
+ "OnCreated/Source":{
+ "type":"string",
+ "value":""
+ },
+ "ViewerStateModule/CodeGenInput":{
+ "type":"string",
+ "value":"{\n\t\"state_name\":\"\",\n\t\"state_label\":\"\",\n\t\"state_descr\":\"\",\n\t\"state_icon\":\"$HH/config/Icons\",\n\t\"state_debug_menu\":0,\n\t\"state_sample\":0,\n\t\"state_handler_indices\":[]\n}\n"
+ },
+ "mops_modifier_02.svg/Cursor":{
+ "type":"intarray",
+ "value":[1,1]
+ },
+ "mops_modifier_02.svg/IsExpr":{
+ "type":"bool",
+ "value":false
+ },
+ "mops_modifier_02.svg/IsPython":{
+ "type":"bool",
+ "value":false
+ },
+ "mops_modifier_02.svg/IsScript":{
+ "type":"bool",
+ "value":false
+ },
+ "mops_modifier_02.svg/Source":{
+ "type":"string",
+ "value":"C:/Users/Henry/Projects/VFX/MOPS/icons/mops_modifier_02.svg"
+ }
+}
diff --git a/otls/MOPS_Align.hda/MOPS_8_8Sop_1Align_8_81.2/Help b/otls/MOPS_Align.hda/MOPS_8_8Sop_1Align_8_81.2/Help
new file mode 100644
index 00000000..5483e00c
--- /dev/null
+++ b/otls/MOPS_Align.hda/MOPS_8_8Sop_1Align_8_81.2/Help
@@ -0,0 +1,57 @@
+= MOPs Align =
+
+#icon: opdef:.?mops_modifier_02.svg
+
+"""Aligns packed primitives and modifies pivot points."""
+
+MOPs Align can modify the positions and pivots of packed primitives to align them based on their underlying bounding boxes. This means you can have them all scale up from their lowest point in Y, for example, without having to manually set the pivots of each of the instances in the MOPs Instancer. You can also set the pivot point manually to any position in space via a channel or a VEXpression, allowing for more complex transformations or FK-like behavior.
+
+== Overview ==
+
+@inputs
+
+Packed Primitives:
+ The packed primitives to transform.
+
+@parameters
+
+== General ==
+
+Use Falloff:
+ #id: do_falloff
+ Enable the `mops_falloff` attribute. This means that any adjustments you make to pivots or positions will be influenced by the falloff value.
+
+Falloff Attribute:
+ #id: falloff_attr
+ The name of the point attribute to use as the falloff attribute.
+
+Mode:
+ #id: mode
+ The method by which the pivots should be adjusted.
+ * Center Pivot: The pivot points are reset to the original packed center of each packed primitive.
+ * Align to BBox: The pivot point is moved to the center of one of the faces of each primitive's bounding box.
+ * Shift Pivot: An offset is added to the existing pivot of each packed primitive, in local or world space.
+ * Set Pivot (Local): The pivot is set to an exact specified location, relative to each packed primitive.
+ * Set Pivot (World): The pivot is set to an exact specified location in world space.
+
+Pivots Only:
+ #id: pivots_only
+ If enabled, the pivots of the packed primitives will be adjusted without modifying their positions in space.
+
+Alignment Side:
+ #id: align
+ Align to BBox mode only. The face of the bounding box of each primitive to snap the pivot to.
+
+Shift Amount:
+ #id: shift_amount
+ Shift Pivot mode only. The value to add to the existing pivot point of each packed primitive.
+
+Local Space:
+ #id: local
+ Shift Pivot mode only. If enabled, the specified Shift Amount will be applied in the local space of each packed primitive. Otherwise the shift will be in world space.
+
+Pivot:
+ #id: pivot
+ Set Pivot mode only. The new pivot point for each packed primitive. In Local mode, this is relative to the original packed center of each primitive. In World mode, this is a single position in world space.
+
+
diff --git a/otls/MOPS_Align.hda/MOPS_8_8Sop_1Align_8_81.2/IconSVG b/otls/MOPS_Align.hda/MOPS_8_8Sop_1Align_8_81.2/IconSVG
new file mode 100644
index 00000000..9eb0bcd6
--- /dev/null
+++ b/otls/MOPS_Align.hda/MOPS_8_8Sop_1Align_8_81.2/IconSVG
@@ -0,0 +1,22 @@
+
+
+
+
diff --git a/otls/MOPS_Align.hda/MOPS_8_8Sop_1Align_8_81.2/InternalFileOptions b/otls/MOPS_Align.hda/MOPS_8_8Sop_1Align_8_81.2/InternalFileOptions
new file mode 100644
index 00000000..222988aa
--- /dev/null
+++ b/otls/MOPS_Align.hda/MOPS_8_8Sop_1Align_8_81.2/InternalFileOptions
@@ -0,0 +1,10 @@
+{
+ "nodeconntype":{
+ "type":"bool",
+ "value":false
+ },
+ "nodeparmtype":{
+ "type":"bool",
+ "value":false
+ }
+}
diff --git a/otls/MOPS_Align.hda/MOPS_8_8Sop_1Align_8_81.2/OnCreated b/otls/MOPS_Align.hda/MOPS_8_8Sop_1Align_8_81.2/OnCreated
new file mode 100644
index 00000000..bf097f36
--- /dev/null
+++ b/otls/MOPS_Align.hda/MOPS_8_8Sop_1Align_8_81.2/OnCreated
@@ -0,0 +1,13 @@
+me = kwargs['node']
+me.setName('MOPs_Align', True)
+
+# send anonymous statistics if enabled.
+# see README.md for more information.
+try:
+ import mops_tools
+ mops_tools.send_on_create_analytics(me)
+except:
+ pass
+
+import mops_tools
+mops_tools.viewport_selection(kwargs)
\ No newline at end of file
diff --git a/otls/MOPS_Align.hda/MOPS_8_8Sop_1Align_8_81.2/Sections.list b/otls/MOPS_Align.hda/MOPS_8_8Sop_1Align_8_81.2/Sections.list
new file mode 100644
index 00000000..44115c8c
--- /dev/null
+++ b/otls/MOPS_Align.hda/MOPS_8_8Sop_1Align_8_81.2/Sections.list
@@ -0,0 +1,12 @@
+""
+DialogScript DialogScript
+CreateScript CreateScript
+TypePropertiesOptions TypePropertiesOptions
+Help Help
+Tools.shelf Tools.shelf
+InternalFileOptions InternalFileOptions
+Contents.gz Contents.gz
+IconSVG IconSVG
+OnCreated OnCreated
+ExtraFileOptions ExtraFileOptions
+mops__modifier__02.svg mops_modifier_02.svg
diff --git a/otls/MOPS_Align.hda/MOPS_8_8Sop_1Align_8_81.2/Tools.shelf b/otls/MOPS_Align.hda/MOPS_8_8Sop_1Align_8_81.2/Tools.shelf
new file mode 100644
index 00000000..3755daff
--- /dev/null
+++ b/otls/MOPS_Align.hda/MOPS_8_8Sop_1Align_8_81.2/Tools.shelf
@@ -0,0 +1,20 @@
+
+
+
+
+
+
+ SOP
+
+
+ $HDA_TABLE_AND_NAME
+
+ MOPs/Modifiers
+
+
+
diff --git a/otls/MOPS_Align.hda/MOPS_8_8Sop_1Align_8_81.2/TypePropertiesOptions b/otls/MOPS_Align.hda/MOPS_8_8Sop_1Align_8_81.2/TypePropertiesOptions
new file mode 100644
index 00000000..a6d52acf
--- /dev/null
+++ b/otls/MOPS_Align.hda/MOPS_8_8Sop_1Align_8_81.2/TypePropertiesOptions
@@ -0,0 +1,14 @@
+CheckExternal := 1;
+ContentsCompressionType := 1;
+ForbidOutsideParms := 1;
+GzipContents := 1;
+LockContents := 1;
+MakeDefault := 1;
+ParmsFromVfl := 0;
+PrefixDroppedParmLabel := 0;
+PrefixDroppedParmName := 0;
+SaveCachedCode := 0;
+SaveIcon := 1;
+SaveSpareParms := 0;
+UnlockOnCreate := 0;
+UseDSParms := 1;
diff --git a/otls/MOPS_Align.hda/MOPS_8_8Sop_1Align_8_81.2/mops__modifier__02.svg b/otls/MOPS_Align.hda/MOPS_8_8Sop_1Align_8_81.2/mops__modifier__02.svg
new file mode 100644
index 00000000..9eb0bcd6
--- /dev/null
+++ b/otls/MOPS_Align.hda/MOPS_8_8Sop_1Align_8_81.2/mops__modifier__02.svg
@@ -0,0 +1,22 @@
+
+
+
+
diff --git a/otls/MOPS_Align.hda/Sections.list b/otls/MOPS_Align.hda/Sections.list
index 285fb80d..29af9c88 100644
--- a/otls/MOPS_Align.hda/Sections.list
+++ b/otls/MOPS_Align.hda/Sections.list
@@ -3,3 +3,4 @@ INDEX__SECTION INDEX_SECTION
houdini.hdalibrary houdini.hdalibrary
MOPS_8_8Sop_1Align_8_81.0 MOPS::Sop/Align::1.0
MOPS_8_8Sop_1Align_8_81.1 MOPS::Sop/Align::1.1
+MOPS_8_8Sop_1Align_8_81.2 MOPS::Sop/Align::1.2
diff --git a/otls/MOPS_Combine_Falloffs.hda/INDEX__SECTION b/otls/MOPS_Combine_Falloffs.hda/INDEX__SECTION
index be9bdd12..ead6d359 100644
--- a/otls/MOPS_Combine_Falloffs.hda/INDEX__SECTION
+++ b/otls/MOPS_Combine_Falloffs.hda/INDEX__SECTION
@@ -10,5 +10,5 @@ Inputs: 2 to 2
Subnet: true
Python: false
Empty: false
-Modified: Fri Nov 8 19:36:44 2019
+Modified: Sun Feb 9 11:59:19 2020
diff --git a/otls/MOPS_Combine_Falloffs.hda/MOPS_8_8Sop_1Combine__Falloffs_8_81.0/Contents.dir/.OPdummydefs b/otls/MOPS_Combine_Falloffs.hda/MOPS_8_8Sop_1Combine__Falloffs_8_81.0/Contents.dir/.OPdummydefs
index d44a4c05..528ce7e9 100644
Binary files a/otls/MOPS_Combine_Falloffs.hda/MOPS_8_8Sop_1Combine__Falloffs_8_81.0/Contents.dir/.OPdummydefs and b/otls/MOPS_Combine_Falloffs.hda/MOPS_8_8Sop_1Combine__Falloffs_8_81.0/Contents.dir/.OPdummydefs differ
diff --git a/otls/MOPS_Combine_Falloffs.hda/MOPS_8_8Sop_1Combine__Falloffs_8_81.0/Contents.dir/.OPfallbacks b/otls/MOPS_Combine_Falloffs.hda/MOPS_8_8Sop_1Combine__Falloffs_8_81.0/Contents.dir/.OPfallbacks
index 4a1208ac..5243b912 100644
--- a/otls/MOPS_Combine_Falloffs.hda/MOPS_8_8Sop_1Combine__Falloffs_8_81.0/Contents.dir/.OPfallbacks
+++ b/otls/MOPS_Combine_Falloffs.hda/MOPS_8_8Sop_1Combine__Falloffs_8_81.0/Contents.dir/.OPfallbacks
@@ -1,48 +1,48 @@
-MOPS::Sop/Extract_Attributes::1.0 C:/Users/Henry/Projects/VFX/MOPS/otls/MOPS_extractAttributes.hda
+MOPS::Sop/Extract_Attributes::1.0 C:/Users/Henry/Projects/VFX/MOPS_Prime/otls/MOPS_extractAttributes.hda
MOPS::Sop/Extract_Attributes::1.0 otls/MOPS_extractAttributes.hda
-MOPS::Sop/Preview_Falloff::1.1 C:/Users/Henry/Projects/VFX/MOPS/otls/MOPS_Preview_Falloff.hda
+MOPS::Sop/Preview_Falloff::1.1 C:/Users/Henry/Projects/VFX/MOPS_Prime/otls/MOPS_Preview_Falloff.hda
MOPS::Sop/Preview_Falloff::1.1 otls/MOPS_Preview_Falloff.hda
-Sop/attribdelete C:/PROGRA~1/SIDEEF~1/HOUDIN~1.229/houdini/otls/OPlibSop.hda
+Sop/attribdelete C:/PROGRA~1/SIDEEF~1/HOUDIN~1.348/houdini/otls/OPlibSop.hda
Sop/attribdelete otls/OPlibSop.hda
-Sop/attribwrangle C:/PROGRA~1/SIDEEF~1/HOUDIN~1.229/houdini/otls/OPlibSop.hda
+Sop/attribwrangle C:/PROGRA~1/SIDEEF~1/HOUDIN~1.348/houdini/otls/OPlibSop.hda
Sop/attribwrangle otls/OPlibSop.hda
-Vop/avgcomp C:/PROGRA~1/SIDEEF~1/HOUDIN~1.229/houdini/otls/OPlibScripted.hda
+Vop/avgcomp C:/PROGRA~1/SIDEEF~1/HOUDIN~1.348/houdini/otls/OPlibScripted.hda
Vop/avgcomp otls/OPlibScripted.hda
-Vop/clamp C:/PROGRA~1/SIDEEF~1/HOUDIN~1.229/houdini/otls/OPlibScripted.hda
+Vop/clamp C:/PROGRA~1/SIDEEF~1/HOUDIN~1.348/houdini/otls/OPlibScripted.hda
Vop/clamp otls/OPlibScripted.hda
-Vop/floattohvec C:/PROGRA~1/SIDEEF~1/HOUDIN~1.229/houdini/otls/OPlibScripted.hda
+Vop/floattohvec C:/PROGRA~1/SIDEEF~1/HOUDIN~1.348/houdini/otls/OPlibScripted.hda
Vop/floattohvec otls/OPlibScripted.hda
-Vop/floattovec C:/PROGRA~1/SIDEEF~1/HOUDIN~1.229/houdini/otls/OPlibScripted.hda
+Vop/floattovec C:/PROGRA~1/SIDEEF~1/HOUDIN~1.348/houdini/otls/OPlibScripted.hda
Vop/floattovec otls/OPlibScripted.hda
-Vop/hvectovec C:/PROGRA~1/SIDEEF~1/HOUDIN~1.229/houdini/otls/OPlibScripted.hda
+Vop/hvectovec C:/PROGRA~1/SIDEEF~1/HOUDIN~1.348/houdini/otls/OPlibScripted.hda
Vop/hvectovec otls/OPlibScripted.hda
-Vop/inttofloat C:/PROGRA~1/SIDEEF~1/HOUDIN~1.229/houdini/otls/OPlibScripted.hda
+Vop/inttofloat C:/PROGRA~1/SIDEEF~1/HOUDIN~1.348/houdini/otls/OPlibScripted.hda
Vop/inttofloat otls/OPlibScripted.hda
-Vop/invert C:/PROGRA~1/SIDEEF~1/HOUDIN~1.229/houdini/otls/OPlibScripted.hda
+Vop/invert C:/PROGRA~1/SIDEEF~1/HOUDIN~1.348/houdini/otls/OPlibScripted.hda
Vop/invert otls/OPlibScripted.hda
-Vop/isconnected C:/PROGRA~1/SIDEEF~1/HOUDIN~1.229/houdini/otls/OPlibScripted.hda
+Vop/isconnected C:/PROGRA~1/SIDEEF~1/HOUDIN~1.348/houdini/otls/OPlibScripted.hda
Vop/isconnected otls/OPlibScripted.hda
-Vop/lighting C:/PROGRA~1/SIDEEF~1/HOUDIN~1.229/houdini/otls/OPlibScripted.hda
+Vop/lighting C:/PROGRA~1/SIDEEF~1/HOUDIN~1.348/houdini/otls/OPlibScripted.hda
Vop/lighting otls/OPlibScripted.hda
-Vop/mix C:/PROGRA~1/SIDEEF~1/HOUDIN~1.229/houdini/otls/OPlibScripted.hda
+Vop/mix C:/PROGRA~1/SIDEEF~1/HOUDIN~1.348/houdini/otls/OPlibScripted.hda
Vop/mix otls/OPlibScripted.hda
-Vop/modulo C:/PROGRA~1/SIDEEF~1/HOUDIN~1.229/houdini/otls/OPlibScripted.hda
+Vop/modulo C:/PROGRA~1/SIDEEF~1/HOUDIN~1.348/houdini/otls/OPlibScripted.hda
Vop/modulo otls/OPlibScripted.hda
-Vop/renderstate C:/PROGRA~1/SIDEEF~1/HOUDIN~1.229/houdini/otls/OPlibScripted.hda
+Vop/renderstate C:/PROGRA~1/SIDEEF~1/HOUDIN~1.348/houdini/otls/OPlibScripted.hda
Vop/renderstate otls/OPlibScripted.hda
-Sop/sprite C:/PROGRA~1/SIDEEF~1/HOUDIN~1.229/houdini/otls/OPlibSop.hda
-Sop/sprite otls/OPlibSop.hda
-Vop/sprite C:/PROGRA~1/SIDEEF~1/HOUDIN~1.229/houdini/otls/OPlibScripted.hda
+Vop/sprite C:/PROGRA~1/SIDEEF~1/HOUDIN~1.348/houdini/otls/OPlibScripted.hda
Vop/sprite otls/OPlibScripted.hda
-Vop/subconst C:/PROGRA~1/SIDEEF~1/HOUDIN~1.229/houdini/otls/OPlibScripted.hda
+Sop/sprite C:/PROGRA~1/SIDEEF~1/HOUDIN~1.348/houdini/otls/OPlibSop.hda
+Sop/sprite otls/OPlibSop.hda
+Vop/subconst C:/PROGRA~1/SIDEEF~1/HOUDIN~1.348/houdini/otls/OPlibScripted.hda
Vop/subconst otls/OPlibScripted.hda
-Vop/surfacecolor C:/PROGRA~1/SIDEEF~1/HOUDIN~1.229/houdini/otls/OPlibVop.hda
+Vop/surfacecolor C:/PROGRA~1/SIDEEF~1/HOUDIN~1.348/houdini/otls/OPlibVop.hda
Vop/surfacecolor otls/OPlibVop.hda
-Vop/texture C:/PROGRA~1/SIDEEF~1/HOUDIN~1.229/houdini/otls/OPlibScripted.hda
+Vop/texture C:/PROGRA~1/SIDEEF~1/HOUDIN~1.348/houdini/otls/OPlibScripted.hda
Vop/texture otls/OPlibScripted.hda
-Vop/twoway C:/PROGRA~1/SIDEEF~1/HOUDIN~1.229/houdini/otls/OPlibScripted.hda
+Vop/twoway C:/PROGRA~1/SIDEEF~1/HOUDIN~1.348/houdini/otls/OPlibScripted.hda
Vop/twoway otls/OPlibScripted.hda
-Vop/uvcoords C:/PROGRA~1/SIDEEF~1/HOUDIN~1.229/houdini/otls/OPlibVop.hda
+Vop/uvcoords C:/PROGRA~1/SIDEEF~1/HOUDIN~1.348/houdini/otls/OPlibVop.hda
Vop/uvcoords otls/OPlibVop.hda
-Vop/vectofloat C:/PROGRA~1/SIDEEF~1/HOUDIN~1.229/houdini/otls/OPlibScripted.hda
+Vop/vectofloat C:/PROGRA~1/SIDEEF~1/HOUDIN~1.348/houdini/otls/OPlibScripted.hda
Vop/vectofloat otls/OPlibScripted.hda
diff --git a/otls/MOPS_Combine_Falloffs.hda/MOPS_8_8Sop_1Combine__Falloffs_8_81.0/Contents.dir/Contents.mime b/otls/MOPS_Combine_Falloffs.hda/MOPS_8_8Sop_1Combine__Falloffs_8_81.0/Contents.dir/Contents.mime
index ff57e2f1..a0377b26 100644
--- a/otls/MOPS_Combine_Falloffs.hda/MOPS_8_8Sop_1Combine__Falloffs_8_81.0/Contents.dir/Contents.mime
+++ b/otls/MOPS_Combine_Falloffs.hda/MOPS_8_8Sop_1Combine__Falloffs_8_81.0/Contents.dir/Contents.mime
@@ -32,22 +32,27 @@ Content-Type: text/plain
sopflags sopflags =
comment ""
-position -64.2799 72.436
-connectornextid 0
+position 0.798842 -1.61267
+connectornextid 3
flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
outputsNamed3
{
+2 "output1"
}
inputsNamed3
{
+0 apply_transform 1 1 "input1"
+1 MOPs_Remap_Falloff 1 1 "input2"
}
inputs
{
+0 apply_transform 0 1
+1 MOPs_Remap_Falloff 0 1
}
stat
{
- create 1573270439
- modify 1573270491
+ create 1524060463
+ modify 1581278354
author Henry@LAPPY586
access 0777
}
@@ -108,7 +113,7 @@ inputs
stat
{
create 1524060262
- modify 1573270439
+ modify 1581278264
author Henry@LAPPY586
access 0777
}
@@ -130,7 +135,7 @@ Content-Type: text/plain
baseparm
label "Group"
export none
- bindselector uvselect "Modify Points"
+ bindselector points "Modify Points"
"Select the points to affect and press Enter to complete."
0 1 0xffffffff 0 grouptype 0
}
@@ -283,23 +288,30 @@ Content-Type: text/plain
default { "0" }
range { 0 1 }
}
+ parm {
+ name "vex_precision"
+ baseparm
+ label "VEX Precision"
+ export none
+ }
--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
Content-Disposition: attachment; filename="hdaroot/add.chn"
Content-Type: text/plain
{
- channel group {
+ channel amp {
lefttype = extend
righttype = extend
flags = 0
- segment { length = 0 expr = chs(\"../group\") }
+ segment { length = 0 expr = ch(\"../strength\") }
}
- channel amp {
+ channel group {
lefttype = extend
righttype = extend
+ defaultString = \"\"
flags = 0
- segment { length = 0 expr = ch(\"../strength\") }
+ segment { length = 0 expr = chs(\"../group\") }
}
channel grouptype {
lefttype = extend
@@ -336,6 +348,7 @@ vex_updatenmls [ 0 locks=0 autoscope=0 ] ( "off" )
vex_matchattrib [ 0 locks=0 autoscope=0 ] ( id )
vex_inplace [ 0 locks=0 autoscope=0 ] ( "off" )
vex_selectiongroup [ 0 locks=0 autoscope=0 ] ( "" )
+vex_precision [ 0 locks=0 ] ( auto )
folder1 [ 0 locks=0 autoscope=0 ] ( 0 0 )
amp [ 0 locks=0 autoscope=0 ] ( [ amp 1 ] )
}
@@ -384,7 +397,7 @@ inputs
stat
{
create 1524060262
- modify 1573270439
+ modify 1581278264
author Henry@LAPPY586
access 0777
}
@@ -406,7 +419,7 @@ Content-Type: text/plain
baseparm
label "Group"
export none
- bindselector uvselect "Modify Points"
+ bindselector points "Modify Points"
"Select the points to affect and press Enter to complete."
0 1 0xffffffff 0 grouptype 0
}
@@ -559,6 +572,12 @@ Content-Type: text/plain
default { "0" }
range { 0 1 }
}
+ parm {
+ name "vex_precision"
+ baseparm
+ label "VEX Precision"
+ export none
+ }
--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
Content-Disposition: attachment; filename="hdaroot/subtract.chn"
@@ -571,11 +590,18 @@ Content-Type: text/plain
flags = 0
segment { length = 0 expr = ch(\"../strength\") }
}
+ channel group {
+ lefttype = extend
+ righttype = extend
+ defaultString = chs(\"../add/group\")
+ flags = 0
+ segment { length = 0 expr = chs(\"../group\") }
+ }
channel grouptype {
lefttype = extend
righttype = extend
flags = 0
- segment { length = 0 expr = ch(\"../add/grouptype\") }
+ segment { length = 0 expr = ch(\"../grouptype\") }
}
}
@@ -586,7 +612,7 @@ Content-Type: text/plain
{
version 0.8
folder0 [ 0 locks=0 autoscope=0 ] ( 0 0 )
-group [ 0 locks=0 autoscope=0 ] ( `chs(\"../add/group\")` )
+group [ 0 locks=0 autoscope=0 ] ( [ group "" ] )
grouptype [ 8 locks=0 autoscope=0 ] ( [ grouptype 0 ] )
class [ 0 locks=0 autoscope=0 ] ( "point" )
vex_numcount [ 0 locks=0 autoscope=0 ] ( 10 )
@@ -606,6 +632,7 @@ vex_updatenmls [ 0 locks=0 autoscope=0 ] ( "off" )
vex_matchattrib [ 0 locks=0 autoscope=0 ] ( id )
vex_inplace [ 0 locks=0 autoscope=0 ] ( "off" )
vex_selectiongroup [ 0 locks=0 autoscope=0 ] ( "" )
+vex_precision [ 0 locks=0 ] ( auto )
folder1 [ 0 locks=0 autoscope=0 ] ( 0 0 )
amp [ 0 locks=0 autoscope=0 ] ( [ amp 1 ] )
}
@@ -654,7 +681,7 @@ inputs
stat
{
create 1524060262
- modify 1573270439
+ modify 1581278264
author Henry@LAPPY586
access 0777
}
@@ -676,7 +703,7 @@ Content-Type: text/plain
baseparm
label "Group"
export none
- bindselector uvselect "Modify Points"
+ bindselector points "Modify Points"
"Select the points to affect and press Enter to complete."
0 1 0xffffffff 0 grouptype 0
}
@@ -829,6 +856,12 @@ Content-Type: text/plain
default { "0" }
range { 0 1 }
}
+ parm {
+ name "vex_precision"
+ baseparm
+ label "VEX Precision"
+ export none
+ }
--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
Content-Disposition: attachment; filename="hdaroot/multiply.chn"
@@ -841,11 +874,18 @@ Content-Type: text/plain
flags = 0
segment { length = 0 expr = ch(\"../strength\") }
}
+ channel group {
+ lefttype = extend
+ righttype = extend
+ defaultString = chs(\"../add/group\")
+ flags = 0
+ segment { length = 0 expr = chs(\"../group\") }
+ }
channel grouptype {
lefttype = extend
righttype = extend
flags = 0
- segment { length = 0 expr = ch(\"../add/grouptype\") }
+ segment { length = 0 expr = ch(\"../grouptype\") }
}
}
@@ -856,7 +896,7 @@ Content-Type: text/plain
{
version 0.8
folder0 [ 0 locks=0 autoscope=0 ] ( 0 0 )
-group [ 0 locks=0 autoscope=0 ] ( `chs(\"../add/group\")` )
+group [ 0 locks=0 autoscope=0 ] ( [ group "" ] )
grouptype [ 8 locks=0 autoscope=0 ] ( [ grouptype 0 ] )
class [ 0 locks=0 autoscope=0 ] ( "point" )
vex_numcount [ 0 locks=0 autoscope=0 ] ( 10 )
@@ -878,6 +918,7 @@ vex_updatenmls [ 0 locks=0 autoscope=0 ] ( "off" )
vex_matchattrib [ 0 locks=0 autoscope=0 ] ( id )
vex_inplace [ 0 locks=0 autoscope=0 ] ( "off" )
vex_selectiongroup [ 0 locks=0 autoscope=0 ] ( "" )
+vex_precision [ 0 locks=0 ] ( auto )
folder1 [ 0 locks=0 autoscope=0 ] ( 0 0 )
amp [ 0 locks=0 autoscope=0 ] ( [ amp 1 ] )
}
@@ -926,7 +967,7 @@ inputs
stat
{
create 1524060262
- modify 1573270439
+ modify 1581278264
author Henry@LAPPY586
access 0777
}
@@ -948,7 +989,7 @@ Content-Type: text/plain
baseparm
label "Group"
export none
- bindselector uvselect "Modify Points"
+ bindselector points "Modify Points"
"Select the points to affect and press Enter to complete."
0 1 0xffffffff 0 grouptype 0
}
@@ -1101,6 +1142,12 @@ Content-Type: text/plain
default { "0" }
range { 0 1 }
}
+ parm {
+ name "vex_precision"
+ baseparm
+ label "VEX Precision"
+ export none
+ }
--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
Content-Disposition: attachment; filename="hdaroot/divide.chn"
@@ -1113,11 +1160,18 @@ Content-Type: text/plain
flags = 0
segment { length = 0 expr = ch(\"../strength\") }
}
+ channel group {
+ lefttype = extend
+ righttype = extend
+ defaultString = chs(\"../add/group\")
+ flags = 0
+ segment { length = 0 expr = chs(\"../group\") }
+ }
channel grouptype {
lefttype = extend
righttype = extend
flags = 0
- segment { length = 0 expr = ch(\"../add/grouptype\") }
+ segment { length = 0 expr = ch(\"../grouptype\") }
}
}
@@ -1128,7 +1182,7 @@ Content-Type: text/plain
{
version 0.8
folder0 [ 0 locks=0 autoscope=0 ] ( 0 0 )
-group [ 0 locks=0 autoscope=0 ] ( `chs(\"../add/group\")` )
+group [ 0 locks=0 autoscope=0 ] ( [ group "" ] )
grouptype [ 8 locks=0 autoscope=0 ] ( [ grouptype 0 ] )
class [ 0 locks=0 autoscope=0 ] ( "point" )
vex_numcount [ 0 locks=0 autoscope=0 ] ( 10 )
@@ -1150,6 +1204,7 @@ vex_updatenmls [ 0 locks=0 autoscope=0 ] ( "off" )
vex_matchattrib [ 0 locks=0 autoscope=0 ] ( id )
vex_inplace [ 0 locks=0 autoscope=0 ] ( "off" )
vex_selectiongroup [ 0 locks=0 autoscope=0 ] ( "" )
+vex_precision [ 0 locks=0 ] ( auto )
folder1 [ 0 locks=0 autoscope=0 ] ( 0 0 )
amp [ 0 locks=0 autoscope=0 ] ( [ amp 1 ] )
}
@@ -1198,7 +1253,7 @@ inputs
stat
{
create 1524060262
- modify 1573270439
+ modify 1581278264
author Henry@LAPPY586
access 0777
}
@@ -1231,7 +1286,7 @@ Content-Type: text/plain
baseparm
label "Group"
export none
- bindselector uvselect "Modify Points"
+ bindselector points "Modify Points"
"Select the points to affect and press Enter to complete."
0 1 0xffffffff 0 grouptype 0
}
@@ -1384,6 +1439,12 @@ Content-Type: text/plain
default { "0" }
range { 0 1 }
}
+ parm {
+ name "vex_precision"
+ baseparm
+ label "VEX Precision"
+ export none
+ }
--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
Content-Disposition: attachment; filename="hdaroot/Screen.chn"
@@ -1396,11 +1457,18 @@ Content-Type: text/plain
flags = 0
segment { length = 0 expr = ch(\"../strength\") }
}
+ channel group {
+ lefttype = extend
+ righttype = extend
+ defaultString = chs(\"../add/group\")
+ flags = 0
+ segment { length = 0 expr = chs(\"../group\") }
+ }
channel grouptype {
lefttype = extend
righttype = extend
flags = 0
- segment { length = 0 expr = ch(\"../add/grouptype\") }
+ segment { length = 0 expr = ch(\"../grouptype\") }
}
}
@@ -1411,7 +1479,7 @@ Content-Type: text/plain
{
version 0.8
folder0 [ 0 locks=0 autoscope=0 ] ( 0 0 )
-group [ 0 locks=0 autoscope=0 ] ( `chs(\"../add/group\")` )
+group [ 0 locks=0 autoscope=0 ] ( [ group "" ] )
grouptype [ 8 locks=0 autoscope=0 ] ( [ grouptype 0 ] )
class [ 0 locks=0 autoscope=0 ] ( "point" )
vex_numcount [ 0 locks=0 autoscope=0 ] ( 10 )
@@ -1437,6 +1505,7 @@ vex_updatenmls [ 0 locks=0 autoscope=0 ] ( "off" )
vex_matchattrib [ 0 locks=0 autoscope=0 ] ( id )
vex_inplace [ 0 locks=0 autoscope=0 ] ( "off" )
vex_selectiongroup [ 0 locks=0 autoscope=0 ] ( "" )
+vex_precision [ 0 locks=0 ] ( auto )
folder1 [ 0 locks=0 autoscope=0 ] ( 0 0 )
amp [ 0 locks=0 autoscope=0 ] ( [ amp 1 ] )
}
@@ -1485,7 +1554,7 @@ inputs
stat
{
create 1524060262
- modify 1573270439
+ modify 1581278264
author Henry@LAPPY586
access 0777
}
@@ -1518,7 +1587,7 @@ Content-Type: text/plain
baseparm
label "Group"
export none
- bindselector uvselect "Modify Points"
+ bindselector points "Modify Points"
"Select the points to affect and press Enter to complete."
0 1 0xffffffff 0 grouptype 0
}
@@ -1671,6 +1740,12 @@ Content-Type: text/plain
default { "0" }
range { 0 1 }
}
+ parm {
+ name "vex_precision"
+ baseparm
+ label "VEX Precision"
+ export none
+ }
--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
Content-Disposition: attachment; filename="hdaroot/Overlay.chn"
@@ -1683,11 +1758,18 @@ Content-Type: text/plain
flags = 0
segment { length = 0 expr = ch(\"../strength\") }
}
+ channel group {
+ lefttype = extend
+ righttype = extend
+ defaultString = chs(\"../add/group\")
+ flags = 0
+ segment { length = 0 expr = chs(\"../group\") }
+ }
channel grouptype {
lefttype = extend
righttype = extend
flags = 0
- segment { length = 0 expr = ch(\"../add/grouptype\") }
+ segment { length = 0 expr = ch(\"../grouptype\") }
}
}
@@ -1698,7 +1780,7 @@ Content-Type: text/plain
{
version 0.8
folder0 [ 0 locks=0 autoscope=0 ] ( 0 0 )
-group [ 0 locks=0 autoscope=0 ] ( `chs(\"../add/group\")` )
+group [ 0 locks=0 autoscope=0 ] ( [ group "" ] )
grouptype [ 8 locks=0 autoscope=0 ] ( [ grouptype 0 ] )
class [ 0 locks=0 autoscope=0 ] ( "point" )
vex_numcount [ 0 locks=0 autoscope=0 ] ( 10 )
@@ -1728,6 +1810,7 @@ vex_updatenmls [ 0 locks=0 autoscope=0 ] ( "off" )
vex_matchattrib [ 0 locks=0 autoscope=0 ] ( id )
vex_inplace [ 0 locks=0 autoscope=0 ] ( "off" )
vex_selectiongroup [ 0 locks=0 autoscope=0 ] ( "" )
+vex_precision [ 0 locks=0 ] ( auto )
folder1 [ 0 locks=0 autoscope=0 ] ( 0 0 )
amp [ 0 locks=0 autoscope=0 ] ( [ amp 1 ] )
}
@@ -1776,7 +1859,7 @@ inputs
stat
{
create 1524060262
- modify 1573270439
+ modify 1581278264
author Henry@LAPPY586
access 0777
}
@@ -1809,7 +1892,7 @@ Content-Type: text/plain
baseparm
label "Group"
export none
- bindselector uvselect "Modify Points"
+ bindselector points "Modify Points"
"Select the points to affect and press Enter to complete."
0 1 0xffffffff 0 grouptype 0
}
@@ -1962,6 +2045,12 @@ Content-Type: text/plain
default { "0" }
range { 0 1 }
}
+ parm {
+ name "vex_precision"
+ baseparm
+ label "VEX Precision"
+ export none
+ }
--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
Content-Disposition: attachment; filename="hdaroot/Max.chn"
@@ -1974,11 +2063,18 @@ Content-Type: text/plain
flags = 0
segment { length = 0 expr = ch(\"../strength\") }
}
+ channel group {
+ lefttype = extend
+ righttype = extend
+ defaultString = chs(\"../add/group\")
+ flags = 0
+ segment { length = 0 expr = chs(\"../group\") }
+ }
channel grouptype {
lefttype = extend
righttype = extend
flags = 0
- segment { length = 0 expr = ch(\"../add/grouptype\") }
+ segment { length = 0 expr = ch(\"../grouptype\") }
}
}
@@ -1989,7 +2085,7 @@ Content-Type: text/plain
{
version 0.8
folder0 [ 0 locks=0 autoscope=0 ] ( 0 0 )
-group [ 0 locks=0 autoscope=0 ] ( `chs(\"../add/group\")` )
+group [ 0 locks=0 autoscope=0 ] ( [ group "" ] )
grouptype [ 8 locks=0 autoscope=0 ] ( [ grouptype 0 ] )
class [ 0 locks=0 autoscope=0 ] ( "point" )
vex_numcount [ 0 locks=0 autoscope=0 ] ( 10 )
@@ -2012,6 +2108,7 @@ vex_updatenmls [ 0 locks=0 autoscope=0 ] ( "off" )
vex_matchattrib [ 0 locks=0 autoscope=0 ] ( id )
vex_inplace [ 0 locks=0 autoscope=0 ] ( "off" )
vex_selectiongroup [ 0 locks=0 autoscope=0 ] ( "" )
+vex_precision [ 0 locks=0 ] ( auto )
folder1 [ 0 locks=0 autoscope=0 ] ( 0 0 )
amp [ 0 locks=0 autoscope=0 ] ( [ amp 1 ] )
}
@@ -2060,7 +2157,7 @@ inputs
stat
{
create 1524060262
- modify 1573270439
+ modify 1581278264
author Henry@LAPPY586
access 0777
}
@@ -2093,7 +2190,7 @@ Content-Type: text/plain
baseparm
label "Group"
export none
- bindselector uvselect "Modify Points"
+ bindselector points "Modify Points"
"Select the points to affect and press Enter to complete."
0 1 0xffffffff 0 grouptype 0
}
@@ -2246,6 +2343,12 @@ Content-Type: text/plain
default { "0" }
range { 0 1 }
}
+ parm {
+ name "vex_precision"
+ baseparm
+ label "VEX Precision"
+ export none
+ }
--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
Content-Disposition: attachment; filename="hdaroot/Min.chn"
@@ -2258,11 +2361,18 @@ Content-Type: text/plain
flags = 0
segment { length = 0 expr = ch(\"../strength\") }
}
+ channel group {
+ lefttype = extend
+ righttype = extend
+ defaultString = chs(\"../add/group\")
+ flags = 0
+ segment { length = 0 expr = chs(\"../group\") }
+ }
channel grouptype {
lefttype = extend
righttype = extend
flags = 0
- segment { length = 0 expr = ch(\"../add/grouptype\") }
+ segment { length = 0 expr = ch(\"../grouptype\") }
}
}
@@ -2273,7 +2383,7 @@ Content-Type: text/plain
{
version 0.8
folder0 [ 0 locks=0 autoscope=0 ] ( 0 0 )
-group [ 0 locks=0 autoscope=0 ] ( `chs(\"../add/group\")` )
+group [ 0 locks=0 autoscope=0 ] ( [ group "" ] )
grouptype [ 8 locks=0 autoscope=0 ] ( [ grouptype 0 ] )
class [ 0 locks=0 autoscope=0 ] ( "point" )
vex_numcount [ 0 locks=0 autoscope=0 ] ( 10 )
@@ -2296,6 +2406,7 @@ vex_updatenmls [ 0 locks=0 autoscope=0 ] ( "off" )
vex_matchattrib [ 0 locks=0 autoscope=0 ] ( id )
vex_inplace [ 0 locks=0 autoscope=0 ] ( "off" )
vex_selectiongroup [ 0 locks=0 autoscope=0 ] ( "" )
+vex_precision [ 0 locks=0 ] ( auto )
folder1 [ 0 locks=0 autoscope=0 ] ( 0 0 )
amp [ 0 locks=0 autoscope=0 ] ( [ amp 1 ] )
}
@@ -2342,7 +2453,7 @@ inputs
stat
{
create 1524060262
- modify 1573270439
+ modify 1581277979
author Henry@LAPPY586
access 0777
}
@@ -2389,6 +2500,7 @@ vex_updatenmls [ 0 locks=0 autoscope=0 ] ( "off" )
vex_matchattrib [ 0 locks=0 autoscope=0 ] ( id )
vex_inplace [ 0 locks=0 autoscope=0 ] ( "off" )
vex_selectiongroup [ 0 locks=0 autoscope=0 ] ( "" )
+vex_precision [ 0 locks=0 ] ( auto )
}
--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
@@ -2435,7 +2547,7 @@ inputs
stat
{
create 1524060262
- modify 1573270439
+ modify 1581278264
author Henry@LAPPY586
access 0777
}
@@ -2457,7 +2569,7 @@ Content-Type: text/plain
baseparm
label "Group"
export none
- bindselector uvselect "Modify Points"
+ bindselector points "Modify Points"
"Select the points to affect and press Enter to complete."
0 1 0xffffffff 0 grouptype 0
}
@@ -2610,6 +2722,12 @@ Content-Type: text/plain
default { "0" }
range { 0 1 }
}
+ parm {
+ name "vex_precision"
+ baseparm
+ label "VEX Precision"
+ export none
+ }
--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
Content-Disposition: attachment; filename="hdaroot/set.chn"
@@ -2622,11 +2740,18 @@ Content-Type: text/plain
flags = 0
segment { length = 0 expr = ch(\"../strength\") }
}
+ channel group {
+ lefttype = extend
+ righttype = extend
+ defaultString = chs(\"../add/group\")
+ flags = 0
+ segment { length = 0 expr = chs(\"../group\") }
+ }
channel grouptype {
lefttype = extend
righttype = extend
flags = 0
- segment { length = 0 expr = ch(\"../add/grouptype\") }
+ segment { length = 0 expr = ch(\"../grouptype\") }
}
}
@@ -2637,7 +2762,7 @@ Content-Type: text/plain
{
version 0.8
folder0 [ 0 locks=0 autoscope=0 ] ( 0 0 )
-group [ 0 locks=0 autoscope=0 ] ( `chs(\"../add/group\")` )
+group [ 0 locks=0 autoscope=0 ] ( [ group "" ] )
grouptype [ 8 locks=0 autoscope=0 ] ( [ grouptype 0 ] )
class [ 0 locks=0 autoscope=0 ] ( "point" )
vex_numcount [ 0 locks=0 autoscope=0 ] ( 10 )
@@ -2658,6 +2783,7 @@ vex_updatenmls [ 0 locks=0 autoscope=0 ] ( "off" )
vex_matchattrib [ 0 locks=0 autoscope=0 ] ( id )
vex_inplace [ 0 locks=0 autoscope=0 ] ( "off" )
vex_selectiongroup [ 0 locks=0 autoscope=0 ] ( "" )
+vex_precision [ 0 locks=0 ] ( auto )
folder1 [ 0 locks=0 autoscope=0 ] ( 0 0 )
bias [ 0 locks=0 autoscope=0 ] ( [ bias 1 ] )
}
@@ -2704,7 +2830,7 @@ inputs
stat
{
create 1524060262
- modify 1573270439
+ modify 1581277979
author Henry@LAPPY586
access 0777
}
@@ -2743,6 +2869,7 @@ vex_updatenmls [ 0 locks=0 autoscope=0 ] ( "off" )
vex_matchattrib [ 0 locks=0 autoscope=0 ] ( id )
vex_inplace [ 0 locks=0 autoscope=0 ] ( "off" )
vex_selectiongroup [ 0 locks=0 autoscope=0 ] ( "" )
+vex_precision [ 0 locks=0 ] ( auto )
}
--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
@@ -2787,7 +2914,7 @@ inputs
stat
{
create 1536023239
- modify 1573270439
+ modify 1581277979
author Henry@LAPPY586
access 0777
}
@@ -2836,7 +2963,7 @@ Content-Type: text/plain
{
version 0.8
do_preview [ 0 locks=0 ] ( [ do_preview 0 ] )
-do_sprite [ 0 locks=0 ] ( [ do_sprite 0 ] )
+do_sprite [ 0 locks=0 ] ( [ do_sprite 1 ] )
spritemap [ 0 locks=0 ] ( sphere_matte.pic )
spritescale [ 0 locks=0 ] ( [ spritescale 1 ] )
override_scale [ 0 locks=0 ] ( [ override_scale 0 ] )
@@ -2927,7 +3054,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"17.5.229"
+ "value":"18.0.348"
}
}
@@ -2988,7 +3115,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"17.5.229"
+ "value":"18.0.348"
}
}
@@ -3039,7 +3166,7 @@ inputs
stat
{
create 1524060262
- modify 1573270439
+ modify 1581277979
author Henry@LAPPY586
access 0777
}
@@ -3067,7 +3194,7 @@ Content-Type: text/plain
{
version 0.8
-input [ 0 locks=0 autoscope=0 ] ( [ input 0 ] )
+input [ 0 locks=0 autoscope=0 ] ( [ input 8 ] )
}
--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
@@ -3077,7 +3204,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"17.5.229"
+ "value":"18.0.348"
}
}
@@ -3114,7 +3241,7 @@ inputs
stat
{
create 1524060262
- modify 1573270439
+ modify 1581277979
author Henry@LAPPY586
access 0777
}
@@ -3152,7 +3279,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"17.5.229"
+ "value":"18.0.348"
}
}
@@ -3211,7 +3338,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"17.5.229"
+ "value":"18.0.348"
}
}
@@ -3246,7 +3373,7 @@ inputs
stat
{
create 1565318708
- modify 1573270439
+ modify 1581277979
author Henry@LAPPY586
access 0777
}
@@ -3291,7 +3418,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"17.5.229"
+ "value":"18.0.348"
}
}
@@ -3326,7 +3453,7 @@ inputs
stat
{
create 1565318742
- modify 1573270439
+ modify 1581277979
author Henry@LAPPY586
access 0777
}
@@ -3357,7 +3484,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"17.5.229"
+ "value":"18.0.348"
}
}
@@ -3392,7 +3519,7 @@ inputs
stat
{
create 1565318708
- modify 1573270439
+ modify 1581277979
author Henry@LAPPY586
access 0777
}
@@ -3437,7 +3564,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"17.5.229"
+ "value":"18.0.348"
}
}
diff --git a/otls/MOPS_Combine_Falloffs.hda/MOPS_8_8Sop_1Combine__Falloffs_8_81.0/ExtraFileOptions b/otls/MOPS_Combine_Falloffs.hda/MOPS_8_8Sop_1Combine__Falloffs_8_81.0/ExtraFileOptions
index cd6e27f4..06951791 100644
--- a/otls/MOPS_Combine_Falloffs.hda/MOPS_8_8Sop_1Combine__Falloffs_8_81.0/ExtraFileOptions
+++ b/otls/MOPS_Combine_Falloffs.hda/MOPS_8_8Sop_1Combine__Falloffs_8_81.0/ExtraFileOptions
@@ -39,6 +39,10 @@
"type":"string",
"value":""
},
+ "ViewerStateModule/CodeGenInput":{
+ "type":"string",
+ "value":"{\n\t\"state_name\":\"\",\n\t\"state_label\":\"\",\n\t\"state_descr\":\"\",\n\t\"state_icon\":\"$HH/config/Icons\",\n\t\"state_sample\":0,\n\t\"state_handler_indices\":[]\n}\n"
+ },
"mops_falloff_04.svg/Cursor":{
"type":"intarray",
"value":[1,1]
diff --git a/otls/MOPS_Combine_Falloffs.hda/MOPS_8_8Sop_1Combine__Falloffs_8_81.0/TypePropertiesOptions b/otls/MOPS_Combine_Falloffs.hda/MOPS_8_8Sop_1Combine__Falloffs_8_81.0/TypePropertiesOptions
index b4811492..a6d52acf 100644
--- a/otls/MOPS_Combine_Falloffs.hda/MOPS_8_8Sop_1Combine__Falloffs_8_81.0/TypePropertiesOptions
+++ b/otls/MOPS_Combine_Falloffs.hda/MOPS_8_8Sop_1Combine__Falloffs_8_81.0/TypePropertiesOptions
@@ -1,14 +1,14 @@
-SaveSpareParms := 0;
CheckExternal := 1;
-SaveIcon := 1;
-GzipContents := 1;
ContentsCompressionType := 1;
-UnlockOnCreate := 0;
-SaveCachedCode := 0;
+ForbidOutsideParms := 1;
+GzipContents := 1;
LockContents := 1;
MakeDefault := 1;
-UseDSParms := 1;
-ForbidOutsideParms := 1;
+ParmsFromVfl := 0;
PrefixDroppedParmLabel := 0;
PrefixDroppedParmName := 0;
-ParmsFromVfl := 0;
+SaveCachedCode := 0;
+SaveIcon := 1;
+SaveSpareParms := 0;
+UnlockOnCreate := 0;
+UseDSParms := 1;
diff --git a/otls/MOPS_FalloffFromAttribute.hda/INDEX__SECTION b/otls/MOPS_FalloffFromAttribute.hda/INDEX__SECTION
index be32cb9f..0ab3eb1a 100644
--- a/otls/MOPS_FalloffFromAttribute.hda/INDEX__SECTION
+++ b/otls/MOPS_FalloffFromAttribute.hda/INDEX__SECTION
@@ -10,5 +10,5 @@ Inputs: 1 to 1
Subnet: true
Python: false
Empty: false
-Modified: Thu Feb 28 21:39:27 2019
+Modified: Mon Feb 24 18:25:55 2020
diff --git a/otls/MOPS_FalloffFromAttribute.hda/MOPS_8_8Sop_1Falloff__From__Attribute_8_81.0/Contents.dir/.OPdummydefs b/otls/MOPS_FalloffFromAttribute.hda/MOPS_8_8Sop_1Falloff__From__Attribute_8_81.0/Contents.dir/.OPdummydefs
index 71782ba5..e180c370 100644
Binary files a/otls/MOPS_FalloffFromAttribute.hda/MOPS_8_8Sop_1Falloff__From__Attribute_8_81.0/Contents.dir/.OPdummydefs and b/otls/MOPS_FalloffFromAttribute.hda/MOPS_8_8Sop_1Falloff__From__Attribute_8_81.0/Contents.dir/.OPdummydefs differ
diff --git a/otls/MOPS_FalloffFromAttribute.hda/MOPS_8_8Sop_1Falloff__From__Attribute_8_81.0/Contents.dir/.OPfallbacks b/otls/MOPS_FalloffFromAttribute.hda/MOPS_8_8Sop_1Falloff__From__Attribute_8_81.0/Contents.dir/.OPfallbacks
index d19720b7..b0b0980d 100644
--- a/otls/MOPS_FalloffFromAttribute.hda/MOPS_8_8Sop_1Falloff__From__Attribute_8_81.0/Contents.dir/.OPfallbacks
+++ b/otls/MOPS_FalloffFromAttribute.hda/MOPS_8_8Sop_1Falloff__From__Attribute_8_81.0/Contents.dir/.OPfallbacks
@@ -1,50 +1,50 @@
-MOPS::Sop/Combine_Falloffs::1.0 C:/Users/Henry/Projects/VFX/MOPS/otls/MOPS_Combine_Falloffs.hda
+MOPS::Sop/Combine_Falloffs::1.0 C:/Users/Henry/Projects/VFX/MOPS_Prime/otls/MOPS_Combine_Falloffs.hda
MOPS::Sop/Combine_Falloffs::1.0 otls/MOPS_Combine_Falloffs.hda
-MOPS::Sop/Extract_Attributes::1.0 C:/Users/Henry/Projects/VFX/MOPS/otls/MOPS_extractAttributes.hda
+MOPS::Sop/Extract_Attributes::1.0 C:/Users/Henry/Projects/VFX/MOPS_Prime/otls/MOPS_extractAttributes.hda
MOPS::Sop/Extract_Attributes::1.0 otls/MOPS_extractAttributes.hda
-MOPS::Sop/Preview_Falloff::1.1 C:/Users/Henry/Projects/VFX/MOPS/otls/MOPS_Preview_Falloff.hda
+MOPS::Sop/Preview_Falloff::1.1 C:/Users/Henry/Projects/VFX/MOPS_Prime/otls/MOPS_Preview_Falloff.hda
MOPS::Sop/Preview_Falloff::1.1 otls/MOPS_Preview_Falloff.hda
-Sop/attribdelete C:/PROGRA~1/SIDEEF~1/HOUDIN~1.498/houdini/otls/OPlibSop.hda
+Sop/attribdelete C:/PROGRA~1/SIDEEF~1/HOUDIN~1.348/houdini/otls/OPlibSop.hda
Sop/attribdelete otls/OPlibSop.hda
-Sop/attribwrangle C:/PROGRA~1/SIDEEF~1/HOUDIN~1.498/houdini/otls/OPlibSop.hda
+Sop/attribwrangle C:/PROGRA~1/SIDEEF~1/HOUDIN~1.348/houdini/otls/OPlibSop.hda
Sop/attribwrangle otls/OPlibSop.hda
-Vop/avgcomp C:/PROGRA~1/SIDEEF~1/HOUDIN~1.498/houdini/otls/OPlibScripted.hda
+Vop/avgcomp C:/PROGRA~1/SIDEEF~1/HOUDIN~1.348/houdini/otls/OPlibScripted.hda
Vop/avgcomp otls/OPlibScripted.hda
-Vop/clamp C:/PROGRA~1/SIDEEF~1/HOUDIN~1.498/houdini/otls/OPlibScripted.hda
+Vop/clamp C:/PROGRA~1/SIDEEF~1/HOUDIN~1.348/houdini/otls/OPlibScripted.hda
Vop/clamp otls/OPlibScripted.hda
-Vop/floattohvec C:/PROGRA~1/SIDEEF~1/HOUDIN~1.498/houdini/otls/OPlibScripted.hda
+Vop/floattohvec C:/PROGRA~1/SIDEEF~1/HOUDIN~1.348/houdini/otls/OPlibScripted.hda
Vop/floattohvec otls/OPlibScripted.hda
-Vop/floattovec C:/PROGRA~1/SIDEEF~1/HOUDIN~1.498/houdini/otls/OPlibScripted.hda
+Vop/floattovec C:/PROGRA~1/SIDEEF~1/HOUDIN~1.348/houdini/otls/OPlibScripted.hda
Vop/floattovec otls/OPlibScripted.hda
-Vop/hvectovec C:/PROGRA~1/SIDEEF~1/HOUDIN~1.498/houdini/otls/OPlibScripted.hda
+Vop/hvectovec C:/PROGRA~1/SIDEEF~1/HOUDIN~1.348/houdini/otls/OPlibScripted.hda
Vop/hvectovec otls/OPlibScripted.hda
-Vop/inttofloat C:/PROGRA~1/SIDEEF~1/HOUDIN~1.498/houdini/otls/OPlibScripted.hda
+Vop/inttofloat C:/PROGRA~1/SIDEEF~1/HOUDIN~1.348/houdini/otls/OPlibScripted.hda
Vop/inttofloat otls/OPlibScripted.hda
-Vop/invert C:/PROGRA~1/SIDEEF~1/HOUDIN~1.498/houdini/otls/OPlibScripted.hda
+Vop/invert C:/PROGRA~1/SIDEEF~1/HOUDIN~1.348/houdini/otls/OPlibScripted.hda
Vop/invert otls/OPlibScripted.hda
-Vop/isconnected C:/PROGRA~1/SIDEEF~1/HOUDIN~1.498/houdini/otls/OPlibScripted.hda
+Vop/isconnected C:/PROGRA~1/SIDEEF~1/HOUDIN~1.348/houdini/otls/OPlibScripted.hda
Vop/isconnected otls/OPlibScripted.hda
-Vop/lighting C:/PROGRA~1/SIDEEF~1/HOUDIN~1.498/houdini/otls/OPlibScripted.hda
+Vop/lighting C:/PROGRA~1/SIDEEF~1/HOUDIN~1.348/houdini/otls/OPlibScripted.hda
Vop/lighting otls/OPlibScripted.hda
-Vop/mix C:/PROGRA~1/SIDEEF~1/HOUDIN~1.498/houdini/otls/OPlibScripted.hda
+Vop/mix C:/PROGRA~1/SIDEEF~1/HOUDIN~1.348/houdini/otls/OPlibScripted.hda
Vop/mix otls/OPlibScripted.hda
-Vop/modulo C:/PROGRA~1/SIDEEF~1/HOUDIN~1.498/houdini/otls/OPlibScripted.hda
+Vop/modulo C:/PROGRA~1/SIDEEF~1/HOUDIN~1.348/houdini/otls/OPlibScripted.hda
Vop/modulo otls/OPlibScripted.hda
-Vop/renderstate C:/PROGRA~1/SIDEEF~1/HOUDIN~1.498/houdini/otls/OPlibScripted.hda
+Vop/renderstate C:/PROGRA~1/SIDEEF~1/HOUDIN~1.348/houdini/otls/OPlibScripted.hda
Vop/renderstate otls/OPlibScripted.hda
-Vop/sprite C:/PROGRA~1/SIDEEF~1/HOUDIN~1.498/houdini/otls/OPlibScripted.hda
+Vop/sprite C:/PROGRA~1/SIDEEF~1/HOUDIN~1.348/houdini/otls/OPlibScripted.hda
Vop/sprite otls/OPlibScripted.hda
-Sop/sprite C:/PROGRA~1/SIDEEF~1/HOUDIN~1.498/houdini/otls/OPlibSop.hda
+Sop/sprite C:/PROGRA~1/SIDEEF~1/HOUDIN~1.348/houdini/otls/OPlibSop.hda
Sop/sprite otls/OPlibSop.hda
-Vop/subconst C:/PROGRA~1/SIDEEF~1/HOUDIN~1.498/houdini/otls/OPlibScripted.hda
+Vop/subconst C:/PROGRA~1/SIDEEF~1/HOUDIN~1.348/houdini/otls/OPlibScripted.hda
Vop/subconst otls/OPlibScripted.hda
-Vop/surfacecolor C:/PROGRA~1/SIDEEF~1/HOUDIN~1.498/houdini/otls/OPlibVop.hda
+Vop/surfacecolor C:/PROGRA~1/SIDEEF~1/HOUDIN~1.348/houdini/otls/OPlibVop.hda
Vop/surfacecolor otls/OPlibVop.hda
-Vop/texture C:/PROGRA~1/SIDEEF~1/HOUDIN~1.498/houdini/otls/OPlibScripted.hda
+Vop/texture C:/PROGRA~1/SIDEEF~1/HOUDIN~1.348/houdini/otls/OPlibScripted.hda
Vop/texture otls/OPlibScripted.hda
-Vop/twoway C:/PROGRA~1/SIDEEF~1/HOUDIN~1.498/houdini/otls/OPlibScripted.hda
+Vop/twoway C:/PROGRA~1/SIDEEF~1/HOUDIN~1.348/houdini/otls/OPlibScripted.hda
Vop/twoway otls/OPlibScripted.hda
-Vop/uvcoords C:/PROGRA~1/SIDEEF~1/HOUDIN~1.498/houdini/otls/OPlibVop.hda
+Vop/uvcoords C:/PROGRA~1/SIDEEF~1/HOUDIN~1.348/houdini/otls/OPlibVop.hda
Vop/uvcoords otls/OPlibVop.hda
-Vop/vectofloat C:/PROGRA~1/SIDEEF~1/HOUDIN~1.498/houdini/otls/OPlibScripted.hda
+Vop/vectofloat C:/PROGRA~1/SIDEEF~1/HOUDIN~1.348/houdini/otls/OPlibScripted.hda
Vop/vectofloat otls/OPlibScripted.hda
diff --git a/otls/MOPS_FalloffFromAttribute.hda/MOPS_8_8Sop_1Falloff__From__Attribute_8_81.0/Contents.dir/Contents.mime b/otls/MOPS_FalloffFromAttribute.hda/MOPS_8_8Sop_1Falloff__From__Attribute_8_81.0/Contents.dir/Contents.mime
index f1c4d4e7..0834d5b5 100644
--- a/otls/MOPS_FalloffFromAttribute.hda/MOPS_8_8Sop_1Falloff__From__Attribute_8_81.0/Contents.dir/Contents.mime
+++ b/otls/MOPS_FalloffFromAttribute.hda/MOPS_8_8Sop_1Falloff__From__Attribute_8_81.0/Contents.dir/Contents.mime
@@ -32,22 +32,24 @@ Content-Type: text/plain
sopflags sopflags =
comment ""
-position -10.3903 -1.21471
-connectornextid 0
-flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
+position -6.98747 -1.19745
+connectornextid 1
+flags = lock off model off template off footprint off xray off bypass off display on render on highlight off unload off savedata off compress on colordefault on exposed on
outputsNamed3
{
}
inputsNamed3
{
+0 MOPs_Instancer 0 1 "input1"
}
inputs
{
+0 MOPs_Instancer 0 1
}
stat
{
- create 1551418748
- modify 1551418754
+ create 1582595802
+ modify 1582597549
author Henry@LAPPY586
access 0777
}
@@ -87,7 +89,7 @@ Content-Type: text/plain
sopflags sopflags =
comment ""
-position -0.136261 1.84387
+position -0.136261 0.84466
connectornextid 3
flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
outputsNamed3
@@ -96,18 +98,18 @@ outputsNamed3
}
inputsNamed3
{
-0 null1 1 1 "input1"
+0 bind_channel_to_attr 1 1 "input1"
1 attribpromote2 1 1 "input2"
}
inputs
{
-0 null1 0 1
+0 bind_channel_to_attr 0 1
1 attribpromote2 0 1
}
stat
{
create 1521001039
- modify 1551418748
+ modify 1582597543
author Henry@LAPPY586
access 0777
}
@@ -318,6 +320,12 @@ Content-Type: text/plain
default { "2" }
range { 1! 10 }
}
+ parm {
+ name "vex_precision"
+ baseparm
+ label "VEX Precision"
+ export none
+ }
--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
Content-Disposition: attachment; filename="hdaroot/falloff_from_attribute.chn"
@@ -453,9 +461,10 @@ vex_updatenmls [ 0 locks=0 ] ( "off" )
vex_matchattrib [ 0 locks=0 ] ( id )
vex_inplace [ 0 locks=0 ] ( "off" )
vex_selectiongroup [ 0 locks=0 ] ( "" )
-folder1 [ 0 locks=0 ] ( 1 1 )
+vex_precision [ 0 locks=0 ] ( auto )
+folder1 [ 0 locks=0 ] ( 0 0 )
min [ 0 locks=0 ] ( [ min 0 ] )
-max [ 0 locks=0 ] ( [ max 1 ] )
+max [ 0 locks=0 ] ( [ max 100 ] )
auto_range [ 0 locks=0 ] ( [ auto_range 1 ] )
do_remap [ 0 locks=0 ] ( [ do_remap 0 ] )
remap_ramp [ 0 locks=0 ] ( [ remap_ramp 2 ] )
@@ -465,7 +474,7 @@ remap_ramp1interp [ 0 locks=0 ] ( [ remap_ramp1interp 1 ] )
remap_ramp2pos [ 0 locks=0 ] ( [ remap_ramp2pos 1 ] )
remap_ramp2value [ 0 locks=0 ] ( [ remap_ramp2value 1 ] )
remap_ramp2interp [ 0 locks=0 ] ( [ remap_ramp2interp 1 ] )
-bindname1 [ 0 locks=0 ] ( __attr )
+bindname1 [ 0 locks=0 ] ( `chs(\"../bind_channel_to_attr/bindname1\")` )
bindparm1 [ 0 locks=0 ] ( attribute )
}
@@ -493,7 +502,7 @@ Content-Type: text/plain
sopflags sopflags =
comment ""
-position -0.637607 -1.69872
+position -0.637607 -2.69793
connectornextid 2
flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
outputsNamed3
@@ -511,7 +520,7 @@ inputs
stat
{
create 1536026656
- modify 1551418748
+ modify 1582597108
author Henry@LAPPY586
access 0777
}
@@ -733,11 +742,11 @@ Content-Type: text/plain
{
version 0.8
-do_preview [ 0 locks=0 autoscope=0 ] ( [ do_preview 0 ] )
+do_preview [ 0 locks=0 autoscope=0 ] ( [ do_preview 1 ] )
do_sprite [ 0 locks=0 ] ( [ do_sprite 1 ] )
spritemap [ 0 locks=0 ] ( sphere_matte.pic )
-spritescale [ 0 locks=0 ] ( [ spritescale 1 ] )
-override_scale [ 0 locks=0 ] ( [ override_scale 0 ] )
+spritescale [ 0 locks=0 ] ( [ spritescale 0.070000000000000007 ] )
+override_scale [ 0 locks=0 ] ( [ override_scale 1 ] )
ramp_preset [ 0 locks=0 autoscope=0 ] ( [ ramp_preset 0 ] )
falloff_heatmap [ 0 locks=0 autoscope=0 ] ( [ falloff_heatmap 5 ] )
falloff_heatmap1pos [ 0 locks=0 autoscope=0 ] ( [ falloff_heatmap1pos 0 ] )
@@ -781,7 +790,7 @@ Content-Type: text/plain
sopflags sopflags =
comment ""
-position -1.98096 0.123683
+position -1.98096 -0.875527
connectornextid 3
flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
outputsNamed3
@@ -801,7 +810,7 @@ inputs
stat
{
create 1523748762
- modify 1551418748
+ modify 1582597108
author henry@GlaDOS
access 0777
}
@@ -850,6 +859,7 @@ Content-Type: text/plain
version 0.8
group [ 0 locks=0 ] ( `chs(\"../falloff_from_attribute/group\")` )
grouptype [ 0 locks=0 ] ( [ grouptype 0 ] )
+falloff_attr [ 0 locks=0 ] ( mops_falloff )
input [ 0 locks=0 ] ( [ input 8 ] )
strength [ 0 locks=0 ] ( [ strength 1 ] )
switchclamp [ 0 locks=0 ] ( [ switchclamp 0 ] )
@@ -902,7 +912,7 @@ Content-Type: text/plain
sopflags sopflags =
comment ""
-position -0.761603 7.12397
+position 0.198594 5.38211
connectornextid 2
flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
outputsNamed3
@@ -911,16 +921,16 @@ outputsNamed3
}
inputsNamed3
{
-0 (0) "" 1 "input1"
+0 python1 1 1 "input1"
}
inputs
{
-0 (0) 0 1
+0 python1 0 1
}
stat
{
create 1527557574
- modify 1551418748
+ modify 1582597533
author Henry@LAPPY586
access 0777
}
@@ -1089,10 +1099,10 @@ Content-Type: text/plain
}
parm {
- name "attribute"
- label "Attribute"
- type string
- default { "" }
+ name "vex_precision"
+ baseparm
+ label "VEX Precision"
+ export none
}
--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
@@ -1100,19 +1110,12 @@ Content-Disposition: attachment; filename="hdaroot/bind_channel_to_attr.chn"
Content-Type: text/plain
{
- channel snippet {
+ channel bindname1 {
lefttype = extend
righttype = extend
- defaultString = "\"string attr = chs(\\\"../attribute\\\");
-\""
+ defaultString = \"mops_falloff\"
flags = 0
- start = 4.458333333333333
- segment { options = { autoslope ai ao }
-
- length = 0 accel = 0.33333333333333331 0.33333333333333331 expr = "in_parm = hou.pwd().parm('attribute').eval()
-if not in_parm.startswith('@'):
- in_parm = '@'+in_parm
-return \"@__attr = {};\".format(in_parm)" language = python }
+ segment { length = 0 expr = chs(\"../falloff_attr\") }
}
}
@@ -1128,11 +1131,11 @@ grouptype [ 0 locks=0 ] ( "guess" )
class [ 0 locks=0 ] ( "point" )
vex_numcount [ 0 locks=0 ] ( 10 )
vex_threadjobsize [ 0 locks=0 ] ( 1024 )
-snippet [ 0 locks=0 autoscope=1 ] ( [ snippet "@__attr = @id;" ] )
+snippet [ 0 locks=0 autoscope=1 autosel=4294967295 ] ( "`details(0, \"__attr\")`" )
exportlist [ 0 locks=0 ] ( * )
vex_strict [ 0 locks=0 ] ( "off" )
autobind [ 0 locks=0 ] ( "on" )
-bindings [ 0 locks=0 ] ( 0 )
+bindings [ 0 locks=0 ] ( 1 )
groupautobind [ 0 locks=0 ] ( "on" )
groupbindings [ 0 locks=0 ] ( 0 )
vex_cwdpath [ 0 locks=0 ] ( . )
@@ -1141,8 +1144,10 @@ vex_updatenmls [ 0 locks=0 ] ( "off" )
vex_matchattrib [ 0 locks=0 ] ( id )
vex_inplace [ 0 locks=0 ] ( "off" )
vex_selectiongroup [ 0 locks=0 ] ( "" )
+vex_precision [ 0 locks=0 ] ( auto )
+bindname1 [ 0 locks=0 ] ( [ bindname1 mops_falloff ] )
+bindparm1 [ 0 locks=0 ] ( attr )
folder1 [ 0 locks=0 ] ( 0 0 )
-attribute [ 0 locks=0 ] ( `chs(\"../attrname\")` )
}
--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
@@ -1169,7 +1174,7 @@ Content-Type: text/plain
sopflags sopflags =
comment ""
-position 2.10757 4.49419
+position 2.10757 3.49498
connectornextid 2
flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
outputsNamed3
@@ -1187,7 +1192,7 @@ inputs
stat
{
create 1521001572
- modify 1527559136
+ modify 1582597108
author Henry@LAPPY586
access 0777
}
@@ -1202,7 +1207,7 @@ Content-Type: text/plain
{
version 0.8
-inname [ 0 locks=0 ] ( __attr )
+inname [ 0 locks=0 ] ( `chs(\"../bind_channel_to_attr/bindname1\")` )
inclass [ 0 locks=0 ] ( "point" )
outclass [ 0 locks=0 ] ( "detail" )
usepieceattrib [ 0 locks=0 ] ( "off" )
@@ -1220,7 +1225,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"17.0.498"
+ "value":"18.0.348"
}
}
@@ -1237,7 +1242,7 @@ Content-Type: text/plain
sopflags sopflags =
comment ""
-position 2.10757 3.71556
+position 2.10757 2.71635
connectornextid 2
flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
outputsNamed3
@@ -1255,7 +1260,7 @@ inputs
stat
{
create 1521001572
- modify 1527559141
+ modify 1582597108
author Henry@LAPPY586
access 0777
}
@@ -1270,7 +1275,7 @@ Content-Type: text/plain
{
version 0.8
-inname [ 0 locks=0 ] ( __attr )
+inname [ 0 locks=0 ] ( `chs(\"../bind_channel_to_attr/bindname1\")` )
inclass [ 0 locks=0 ] ( "point" )
outclass [ 0 locks=0 ] ( "detail" )
usepieceattrib [ 0 locks=0 ] ( "off" )
@@ -1288,7 +1293,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"17.0.498"
+ "value":"18.0.348"
}
}
@@ -1305,7 +1310,7 @@ Content-Type: text/plain
sopflags sopflags =
comment ""
-position 2.11102 5.3351
+position 2.11102 4.33589
connectornextid 2
flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
outputsNamed3
@@ -1314,16 +1319,16 @@ outputsNamed3
}
inputsNamed3
{
-0 null1 1 1 "input1"
+0 bind_channel_to_attr 1 1 "input1"
}
inputs
{
-0 null1 0 1
+0 bind_channel_to_attr 0 1
}
stat
{
create 1522551540
- modify 1551418748
+ modify 1582597108
author henry@GlaDOS
access 0777
}
@@ -1398,7 +1403,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"17.0.498"
+ "value":"18.0.348"
}
}
@@ -1415,7 +1420,7 @@ Content-Type: text/plain
sopflags sopflags =
comment ""
-position -0.637607 -3.69872
+position -0.637607 -4.69793
connectornextid 1
flags = lock off model off template off footprint off xray off bypass off display on render on highlight off unload off savedata off compress on colordefault on exposed on
outputsNamed3
@@ -1432,7 +1437,7 @@ inputs
stat
{
create 1522551563
- modify 1546922185
+ modify 1582597394
author henry@GlaDOS
access 0777
}
@@ -1457,7 +1462,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"17.0.498"
+ "value":"18.0.348"
}
}
@@ -1474,7 +1479,7 @@ Content-Type: text/plain
sopflags sopflags =
comment ""
-position -0.761603 5.98337
+position -0.811398 7.19506
connectornextid 2
flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
outputsNamed3
@@ -1483,16 +1488,16 @@ outputsNamed3
}
inputsNamed3
{
-0 bind_channel_to_attr 1 1 "input1"
+0 (0) "" 1 "input1"
}
inputs
{
-0 bind_channel_to_attr 0 1
+0 (0) 0 1
}
stat
{
create 1523748800
- modify 1527557575
+ modify 1582597394
author henry@GlaDOS
access 0777
}
@@ -1518,7 +1523,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"17.0.498"
+ "value":"18.0.348"
}
}
@@ -1535,7 +1540,7 @@ Content-Type: text/plain
sopflags sopflags =
comment ""
-position -0.637607 -2.69872
+position -0.637607 -3.69793
connectornextid 2
flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
outputsNamed3
@@ -1553,7 +1558,7 @@ inputs
stat
{
create 1546922184
- modify 1546922190
+ modify 1582597108
author Henry@LAPPY586
access 0777
}
@@ -1586,11 +1591,92 @@ Content-Type: text/plain
}
}
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/python1.init"
+Content-Type: text/plain
+
+type = python
+matchesdef = 0
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/python1.def"
+Content-Type: text/plain
+
+sopflags sopflags =
+comment ""
+position 0.201594 6.24766
+connectornextid 2
+flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
+outputsNamed3
+{
+1 "output1"
+}
+inputsNamed3
+{
+0 null1 1 1 "input1"
+}
+inputs
+{
+0 null1 0 1
+}
+stat
+{
+ create 1582597108
+ modify 1582597536
+ author Henry@LAPPY586
+ access 0777
+}
+color UT_Color RGB 0.8 0.8 0.8
+delscript ""
+exprlanguage hscript
+end
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/python1.parm"
+Content-Type: text/plain
+
+{
+version 0.8
+python [ 0 locks=0 ] ( "node = hou.pwd()
+geo = node.geometry()
+
+# Add code to modify contents of geo.
+# Use drop down menu to select examples.
+
+in_parm = node.node(\"..\").evalParm('attrname')
+parm_formatted = in_parm.split('.')[0]
+attr = geo.findPointAttrib(parm_formatted)
+prefix = \"f\"
+if attr.dataType() == hou.attribData.Int:
+ prefix = \"i\"
+elif attr.size() == 2:
+ prefix = \"u\"
+elif attr.size() == 3:
+ prefix = \"v\"
+elif attr.size() == 4:
+ prefix = \"p\"
+in_parm = prefix + \"@\" + in_parm
+out = \"@attr = {};\".format(in_parm)
+geo.addAttrib(hou.attribType.Global, \"__attr\", out)
+geo.setGlobalAttribValue(\"__attr\", out)" )
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/python1.userdata"
+Content-Type: text/plain
+
+{
+ "___Version___":{
+ "type":"string",
+ "value":"18.0.348"
+ }
+}
+
--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
Content-Disposition: attachment; filename="hdaroot.order"
Content-Type: text/plain
-10
+11
falloff_from_attribute
attribpromote1
attribpromote2
@@ -1601,6 +1687,7 @@ Combine_Falloffs1
null1
bind_channel_to_attr
attribdelete1
+python1
--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
Content-Disposition: attachment; filename="hdaroot.net"
diff --git a/otls/MOPS_FalloffFromAttribute.hda/MOPS_8_8Sop_1Falloff__From__Attribute_8_81.0/DialogScript b/otls/MOPS_FalloffFromAttribute.hda/MOPS_8_8Sop_1Falloff__From__Attribute_8_81.0/DialogScript
index 1732e6dc..3b9863a0 100644
--- a/otls/MOPS_FalloffFromAttribute.hda/MOPS_8_8Sop_1Falloff__From__Attribute_8_81.0/DialogScript
+++ b/otls/MOPS_FalloffFromAttribute.hda/MOPS_8_8Sop_1Falloff__From__Attribute_8_81.0/DialogScript
@@ -43,6 +43,15 @@
range { 0 1 }
parmtag { "autoscope" "0000000000000000" }
}
+ parm {
+ name "falloff_attr"
+ label "Falloff Attribute"
+ type string
+ default { "mops_falloff" }
+ range { 0 1 }
+ parmtag { "autoscope" "0000000000000000" }
+ parmtag { "script_callback_language" "python" }
+ }
parm {
name "input"
label "Blend Mode"
diff --git a/otls/MOPS_FalloffFromAttribute.hda/MOPS_8_8Sop_1Falloff__From__Attribute_8_81.0/ExtraFileOptions b/otls/MOPS_FalloffFromAttribute.hda/MOPS_8_8Sop_1Falloff__From__Attribute_8_81.0/ExtraFileOptions
index e1c4742a..5f21dca5 100644
--- a/otls/MOPS_FalloffFromAttribute.hda/MOPS_8_8Sop_1Falloff__From__Attribute_8_81.0/ExtraFileOptions
+++ b/otls/MOPS_FalloffFromAttribute.hda/MOPS_8_8Sop_1Falloff__From__Attribute_8_81.0/ExtraFileOptions
@@ -19,6 +19,10 @@
"type":"string",
"value":""
},
+ "ViewerStateModule/CodeGenInput":{
+ "type":"string",
+ "value":"{\n\t\"state_name\":\"\",\n\t\"state_label\":\"\",\n\t\"state_descr\":\"\",\n\t\"state_icon\":\"$HH/config/Icons\",\n\t\"state_sample\":0,\n\t\"state_handler_indices\":[]\n}\n"
+ },
"mops_falloff_04.svg/Cursor":{
"type":"intarray",
"value":[1,1]
diff --git a/otls/MOPS_FalloffFromAttribute.hda/MOPS_8_8Sop_1Falloff__From__Attribute_8_81.0/Help b/otls/MOPS_FalloffFromAttribute.hda/MOPS_8_8Sop_1Falloff__From__Attribute_8_81.0/Help
index 6b8bc4cc..cbe2f0bc 100644
--- a/otls/MOPS_FalloffFromAttribute.hda/MOPS_8_8Sop_1Falloff__From__Attribute_8_81.0/Help
+++ b/otls/MOPS_FalloffFromAttribute.hda/MOPS_8_8Sop_1Falloff__From__Attribute_8_81.0/Help
@@ -32,7 +32,7 @@ Clamp:
Attribute Name:
#id: attrname
- The attribute to use for creating the @mops_falloff attribute.
+ The attribute to use for creating the @mops_falloff attribute. This can be an attribute name "pscale" or an attribute component "uv.x".
Min:
#id: min
diff --git a/otls/MOPS_FalloffFromAttribute.hda/MOPS_8_8Sop_1Falloff__From__Attribute_8_81.0/TypePropertiesOptions b/otls/MOPS_FalloffFromAttribute.hda/MOPS_8_8Sop_1Falloff__From__Attribute_8_81.0/TypePropertiesOptions
index b4811492..a6d52acf 100644
--- a/otls/MOPS_FalloffFromAttribute.hda/MOPS_8_8Sop_1Falloff__From__Attribute_8_81.0/TypePropertiesOptions
+++ b/otls/MOPS_FalloffFromAttribute.hda/MOPS_8_8Sop_1Falloff__From__Attribute_8_81.0/TypePropertiesOptions
@@ -1,14 +1,14 @@
-SaveSpareParms := 0;
CheckExternal := 1;
-SaveIcon := 1;
-GzipContents := 1;
ContentsCompressionType := 1;
-UnlockOnCreate := 0;
-SaveCachedCode := 0;
+ForbidOutsideParms := 1;
+GzipContents := 1;
LockContents := 1;
MakeDefault := 1;
-UseDSParms := 1;
-ForbidOutsideParms := 1;
+ParmsFromVfl := 0;
PrefixDroppedParmLabel := 0;
PrefixDroppedParmName := 0;
-ParmsFromVfl := 0;
+SaveCachedCode := 0;
+SaveIcon := 1;
+SaveSpareParms := 0;
+UnlockOnCreate := 0;
+UseDSParms := 1;
diff --git a/otls/MOPS_Flocking_Modifier.hda/INDEX__SECTION b/otls/MOPS_Flocking_Modifier.hda/INDEX__SECTION
index c06e2902..8a36dfe7 100644
--- a/otls/MOPS_Flocking_Modifier.hda/INDEX__SECTION
+++ b/otls/MOPS_Flocking_Modifier.hda/INDEX__SECTION
@@ -10,5 +10,5 @@ Inputs: 1 to 2
Subnet: true
Python: false
Empty: false
-Modified: Tue Oct 15 10:53:01 2019
+Modified: Mon Oct 14 19:58:18 2019
diff --git a/otls/MOPS_Flocking_Modifier.hda/MOPS_8_8Sop_1Flocking_8_81.0/Contents.dir/.OPdummydefs b/otls/MOPS_Flocking_Modifier.hda/MOPS_8_8Sop_1Flocking_8_81.0/Contents.dir/.OPdummydefs
new file mode 100644
index 00000000..f94d495a
Binary files /dev/null and b/otls/MOPS_Flocking_Modifier.hda/MOPS_8_8Sop_1Flocking_8_81.0/Contents.dir/.OPdummydefs differ
diff --git a/otls/MOPS_Flocking_Modifier.hda/MOPS_8_8Sop_1Flocking_8_81.0/Contents.dir/.OPfallbacks b/otls/MOPS_Flocking_Modifier.hda/MOPS_8_8Sop_1Flocking_8_81.0/Contents.dir/.OPfallbacks
new file mode 100644
index 00000000..16bea416
--- /dev/null
+++ b/otls/MOPS_Flocking_Modifier.hda/MOPS_8_8Sop_1Flocking_8_81.0/Contents.dir/.OPfallbacks
@@ -0,0 +1,10 @@
+MOPS::Sop/Apply_Attributes::1.0 C:/Users/Henry/Projects/VFX/MOPS/otls/MOPS_applyAttributes.hda
+MOPS::Sop/Apply_Attributes::1.0 otls/MOPS_applyAttributes.hda
+Sop/attribdelete C:/PROGRA~1/SIDEEF~1/HOUDIN~1.229/houdini/otls/OPlibSop.hda
+Sop/attribdelete otls/OPlibSop.hda
+Sop/attribwrangle C:/PROGRA~1/SIDEEF~1/HOUDIN~1.229/houdini/otls/OPlibSop.hda
+Sop/attribwrangle otls/OPlibSop.hda
+Sop/solver C:/PROGRA~1/SIDEEF~1/HOUDIN~1.229/houdini/otls/OPlibSop.hda
+Sop/solver otls/OPlibSop.hda
+Sop/split C:/PROGRA~1/SIDEEF~1/HOUDIN~1.229/houdini/otls/OPlibSop.hda
+Sop/split otls/OPlibSop.hda
diff --git a/otls/MOPS_Flocking_Modifier.hda/MOPS_8_8Sop_1Flocking_8_81.0/Contents.dir/Contents.mime b/otls/MOPS_Flocking_Modifier.hda/MOPS_8_8Sop_1Flocking_8_81.0/Contents.dir/Contents.mime
index e69de29b..1f5b6e4d 100644
--- a/otls/MOPS_Flocking_Modifier.hda/MOPS_8_8Sop_1Flocking_8_81.0/Contents.dir/Contents.mime
+++ b/otls/MOPS_Flocking_Modifier.hda/MOPS_8_8Sop_1Flocking_8_81.0/Contents.dir/Contents.mime
@@ -0,0 +1,5108 @@
+MIME-Version: 1.0
+Content-Type: multipart/mixed; boundary="HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY"
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename=".OPfallbacks"
+Content-Type: application/external-reference
+
+.OPfallbacks
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename=".OPdummydefs"
+Content-Type: application/external-reference
+
+.OPdummydefs
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="node_type"
+Content-Type: text/plain
+
+Sop
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot.init"
+Content-Type: text/plain
+
+type = MOPS::Flocking::1.0
+matchesdef = 0
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot.def"
+Content-Type: text/plain
+
+sopflags sopflags =
+comment ""
+position -13.9221 11.6855
+connectornextid 0
+flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
+outputsNamed3
+{
+}
+inputsNamed3
+{
+}
+inputs
+{
+}
+stat
+{
+ create 1571107997
+ modify 1571108310
+ author Henry@LAPPY586
+ access 0777
+}
+color UT_Color RGB 0.8 0.8 0.8
+delscript ""
+exprlanguage hscript
+end
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot.userdata"
+Content-Type: text/plain
+
+{
+ "___Version___":{
+ "type":"string",
+ "value":""
+ }
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot.inp"
+Content-Type: text/plain
+
+2
+0 -2.9165371780923106 6.9094334912439699 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+1 3 6.5 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/init_vel.init"
+Content-Type: text/plain
+
+type = attribwrangle
+matchesdef = 1
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/init_vel.def"
+Content-Type: text/plain
+
+sopflags sopflags =
+comment ""
+position -0.003 2.52123
+connectornextid 2
+flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
+outputsNamed3
+{
+1 "output1"
+}
+inputsNamed3
+{
+0 store_sequence_index 1 1 "input1"
+}
+inputs
+{
+0 store_sequence_index 0 1
+}
+stat
+{
+ create 1528499320
+ modify 1571107997
+ author Henry@LAPPY586
+ access 0777
+}
+color UT_Color RGB 0.8 0.8 0.8
+delscript ""
+exprlanguage hscript
+end
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/init_vel.parm"
+Content-Type: text/plain
+
+{
+version 0.8
+folder0 [ 0 locks=0 autoscope=0 ] ( 0 0 )
+group [ 0 locks=0 autoscope=0 ] ( "" )
+grouptype [ 0 locks=0 autoscope=0 ] ( "guess" )
+class [ 0 locks=0 autoscope=0 ] ( "point" )
+vex_numcount [ 0 locks=0 autoscope=0 ] ( 10 )
+vex_threadjobsize [ 0 locks=0 autoscope=0 ] ( 1024 )
+snippet [ 0 locks=0 autoscope=0 ] ( "v@mops_v = {0,0,0};
+v@mops_N = {0,0,1};
+v@mops_steer = {0,0,0};" )
+exportlist [ 0 locks=0 autoscope=0 ] ( * )
+vex_strict [ 0 locks=0 autoscope=0 ] ( "off" )
+autobind [ 0 locks=0 autoscope=0 ] ( "on" )
+bindings [ 0 locks=0 autoscope=0 ] ( 0 )
+groupautobind [ 0 locks=0 autoscope=0 ] ( "on" )
+groupbindings [ 0 locks=0 autoscope=0 ] ( 0 )
+vex_cwdpath [ 0 locks=0 autoscope=0 ] ( . )
+vex_outputmask [ 0 locks=0 autoscope=0 ] ( * )
+vex_updatenmls [ 0 locks=0 autoscope=0 ] ( "off" )
+vex_matchattrib [ 0 locks=0 autoscope=0 ] ( id )
+vex_inplace [ 0 locks=0 autoscope=0 ] ( "off" )
+vex_selectiongroup [ 0 locks=0 autoscope=0 ] ( "" )
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/init_vel.userdata"
+Content-Type: text/plain
+
+{
+ "___Version___":{
+ "type":"string",
+ "value":""
+ }
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/solver1.init"
+Content-Type: text/plain
+
+type = solver
+matchesdef = 1
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/solver1.def"
+Content-Type: text/plain
+
+sopflags sopflags =
+comment ""
+position -3.46638e-09 1.27749
+connectornextid 3
+flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
+outputsNamed3
+{
+2 "output1"
+}
+inputsNamed3
+{
+0 init_vel 1 1 "input1"
+1 extract_tgt_point 0 1 "input2"
+}
+inputs
+{
+0 init_vel 0 1
+1 extract_tgt_point 0 1
+}
+stat
+{
+ create 1528499320
+ modify 1571107997
+ author Henry@LAPPY586
+ access 0777
+}
+color UT_Color RGB 0.8 0.8 0.8
+delscript ""
+exprlanguage hscript
+end
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/solver1.spareparmdef"
+Content-Type: text/plain
+
+ parm {
+ name "resimulate"
+ baseparm
+ label "Reset Simulation"
+ export none
+ }
+ parm {
+ name "useinitialsop"
+ baseparm
+ label "Use Initial SOP"
+ nolabel
+ joinnext
+ export none
+ }
+ parm {
+ name "initialsop"
+ baseparm
+ label "Initial State"
+ export none
+ }
+ parm {
+ name "startframe"
+ baseparm
+ label "Start Frame"
+ export none
+ }
+ parm {
+ name "substep"
+ baseparm
+ label "Sub Steps"
+ export none
+ }
+ parm {
+ name "cacheenabled"
+ baseparm
+ label "Cache Simulation"
+ export none
+ }
+ parm {
+ name "cachetodisk"
+ baseparm
+ label "Allow Caching To Disk"
+ export none
+ }
+ parm {
+ name "cachemaxsize"
+ baseparm
+ label "Cache Memory (MB)"
+ export none
+ }
+ groupsimple {
+ name "boidssettings"
+ label "Boids Settings"
+
+ parm {
+ name "Weight_Move_To_Center"
+ label "Move To Center"
+ type float
+ default { "0.02" }
+ range { 0 1 }
+ parmtag { "autoscope" "0000000000000000" }
+ }
+ parm {
+ name "sepparm"
+ label "Separator"
+ type separator
+ default { "" }
+ }
+ parm {
+ name "repell_weight"
+ label "Repell"
+ type float
+ default { "1" }
+ range { 0 1 }
+ parmtag { "autoscope" "0000000000000000" }
+ }
+ parm {
+ name "repelldist"
+ label "Repell Distance"
+ type float
+ default { "0.1" }
+ range { 0 1 }
+ parmtag { "autoscope" "0000000000000000" }
+ }
+ parm {
+ name "angle_of_influence"
+ label "Angle Of Influence"
+ type float
+ default { "90" }
+ range { 0 180 }
+ parmtag { "autoscope" "0000000000000000" }
+ }
+ parm {
+ name "sepparm2"
+ label "Separator"
+ type separator
+ default { "" }
+ }
+ parm {
+ name "match_vel_weight"
+ label "Match Velocities"
+ type float
+ default { "0.125" }
+ range { 0 1 }
+ parmtag { "autoscope" "0000000000000000" }
+ }
+ parm {
+ name "matchvel_distance"
+ label "Distance"
+ type float
+ default { "0.3" }
+ range { 0 1 }
+ parmtag { "autoscope" "0000000000000000" }
+ }
+ parm {
+ name "matchvel_angle_of_influence"
+ label "Angle Of Influence"
+ type float
+ default { "90" }
+ range { 0 1 }
+ parmtag { "autoscope" "0000000000000000" }
+ }
+ parm {
+ name "sepparm3"
+ label "Separator"
+ type separator
+ default { "" }
+ }
+ parm {
+ name "Max_Vel"
+ label "Max Velocity"
+ type float
+ default { "0.1" }
+ range { 0 1 }
+ parmtag { "autoscope" "0000000000000000" }
+ }
+ parm {
+ name "sepparm4"
+ label "Separator"
+ type separator
+ default { "" }
+ }
+ parm {
+ name "noise_strength"
+ label "Noise Strength"
+ type float
+ default { "0" }
+ range { 0 1 }
+ parmtag { "autoscope" "0000000000000000" }
+ }
+ parm {
+ name "freq"
+ label "Freq"
+ type vector
+ size 3
+ default { "5" "5" "5" }
+ range { 0 1 }
+ parmtag { "autoscope" "0000000000000000" }
+ }
+ parm {
+ name "offset"
+ label "Offset"
+ type vector
+ size 3
+ default { "0" "0" "0" }
+ range { 0 1 }
+ parmtag { "autoscope" "0000000000000000" }
+ }
+ parm {
+ name "amp"
+ label "Amp"
+ type vector
+ size 3
+ default { "1" "1" "1" }
+ range { 0 1 }
+ parmtag { "autoscope" "0000000000000000" }
+ }
+ }
+
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/solver1.chn"
+Content-Type: text/plain
+
+{
+ channel resimulate {
+ lefttype = extend
+ righttype = extend
+ flags = 0
+ segment { length = 0 expr = ch(\"../resimulate\") }
+ }
+ channel useinitialsop {
+ lefttype = extend
+ righttype = extend
+ flags = 0
+ segment { length = 0 expr = ch(\"../useinitialsop\") }
+ }
+ channel initialsop {
+ lefttype = extend
+ righttype = extend
+ flags = 0
+ segment { length = 0 expr = chsop(\"../initialsop\") }
+ }
+ channel startframe {
+ lefttype = extend
+ righttype = extend
+ flags = 0
+ segment { length = 0 value = 1 1 expr = ch(\"../startframe\") }
+ }
+ channel substep {
+ lefttype = extend
+ righttype = extend
+ flags = 0
+ segment { length = 0 value = 1 1 expr = ch(\"../substep\") }
+ }
+ channel cacheenabled {
+ lefttype = extend
+ righttype = extend
+ flags = 0
+ segment { length = 0 value = 1 1 expr = ch(\"../cacheenabled\") }
+ }
+ channel cachetodisk {
+ lefttype = extend
+ righttype = extend
+ flags = 0
+ segment { length = 0 expr = ch(\"../cachetodisk\") }
+ }
+ channel cachemaxsize {
+ lefttype = extend
+ righttype = extend
+ flags = 0
+ segment { length = 0 value = 5000 5000 expr = ch(\"../cachemaxsize\") }
+ }
+ channel Weight_Move_To_Center {
+ lefttype = extend
+ righttype = extend
+ flags = 0
+ segment { length = 0 value = 0.01 0.01 expr = ch(\"../Weight_Move_To_Center\") }
+ }
+ channel repell_weight {
+ lefttype = extend
+ righttype = extend
+ flags = 0
+ segment { length = 0 value = 0.10000000000000001 0.10000000000000001 expr = ch(\"../repell_weight\") }
+ }
+ channel repelldist {
+ lefttype = extend
+ righttype = extend
+ flags = 0
+ segment { length = 0 value = 0.10000000000000001 0.10000000000000001 expr = ch(\"../repelldist\") }
+ }
+ channel angle_of_influence {
+ lefttype = extend
+ righttype = extend
+ flags = 0
+ segment { length = 0 value = 90 90 expr = ch(\"../angle_of_influence\") }
+ }
+ channel match_vel_weight {
+ lefttype = extend
+ righttype = extend
+ flags = 0
+ segment { length = 0 value = 0.125 0.125 expr = ch(\"../match_vel_weight\") }
+ }
+ channel matchvel_distance {
+ lefttype = extend
+ righttype = extend
+ flags = 0
+ segment { length = 0 value = 0.30000000000000004 0.30000000000000004 expr = ch(\"../matchvel_distance\") }
+ }
+ channel matchvel_angle_of_influence {
+ lefttype = extend
+ righttype = extend
+ flags = 0
+ segment { length = 0 value = 120 120 expr = ch(\"../matchvel_angle_of_influence\") }
+ }
+ channel Max_Vel {
+ lefttype = extend
+ righttype = extend
+ flags = 0
+ segment { length = 0 value = 0.14999999999999999 0.14999999999999999 expr = ch(\"../Max_Vel\") }
+ }
+ channel noise_strength {
+ lefttype = extend
+ righttype = extend
+ flags = 0
+ segment { length = 0 value = 0.0050000000000000001 0.0050000000000000001 expr = ch(\"../noise_strength\") }
+ }
+ channel freqx {
+ lefttype = extend
+ righttype = extend
+ flags = 0
+ segment { length = 0 value = 1 1 expr = ch(\"../freqx\") }
+ }
+ channel freqy {
+ lefttype = extend
+ righttype = extend
+ flags = 0
+ segment { length = 0 value = 1 1 expr = ch(\"../freqy\") }
+ }
+ channel freqz {
+ lefttype = extend
+ righttype = extend
+ flags = 0
+ segment { length = 0 value = 1 1 expr = ch(\"../freqz\") }
+ }
+ channel offsetx {
+ lefttype = extend
+ righttype = extend
+ flags = 0
+ segment { length = 0 expr = ch(\"../offsetx\") }
+ }
+ channel offsety {
+ lefttype = extend
+ righttype = extend
+ flags = 0
+ segment { length = 0 expr = ch(\"../offsety\") }
+ }
+ channel offsetz {
+ lefttype = extend
+ righttype = extend
+ flags = 0
+ segment { length = 0 expr = ch(\"../offsetz\") }
+ }
+ channel ampx {
+ lefttype = extend
+ righttype = extend
+ flags = 0
+ segment { length = 0 value = 1 1 expr = ch(\"../ampx\") }
+ }
+ channel ampy {
+ lefttype = extend
+ righttype = extend
+ flags = 0
+ segment { length = 0 value = 1 1 expr = ch(\"../ampy\") }
+ }
+ channel ampz {
+ lefttype = extend
+ righttype = extend
+ flags = 0
+ segment { length = 0 value = 1 1 expr = ch(\"../ampz\") }
+ }
+ }
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/solver1.parm"
+Content-Type: text/plain
+
+{
+version 0.8
+resimulate [ 0 locks=0 ] ( [ resimulate 0 ] )
+useinitialsop [ 0 locks=0 autoscope=0 ] ( [ useinitialsop 0 ] )
+initialsop [ 0 locks=0 autoscope=0 ] ( [ initialsop "" ] )
+startframe [ 0 locks=0 autoscope=0 ] ( [ startframe 1 ] )
+substep [ 0 locks=0 autoscope=0 ] ( [ substep 1 ] )
+cacheenabled [ 0 locks=0 autoscope=0 ] ( [ cacheenabled 1 ] )
+cachetodisk [ 0 locks=0 autoscope=0 ] ( [ cachetodisk 0 ] )
+cachemaxsize [ 0 locks=0 autoscope=0 ] ( [ cachemaxsize 5000 ] )
+boidssettings [ 0 locks=0 autoscope=0 ] ( 0 )
+Weight_Move_To_Center [ 0 locks=0 autoscope=0 ] ( [ Weight_Move_To_Center 0.001 ] )
+sepparm [ 0 locks=0 ] ( )
+repell_weight [ 0 locks=0 autoscope=0 ] ( [ repell_weight 0.050000000000000003 ] )
+repelldist [ 0 locks=0 autoscope=0 ] ( [ repelldist 0.10000000000000001 ] )
+angle_of_influence [ 0 locks=0 autoscope=0 ] ( [ angle_of_influence 180 ] )
+sepparm2 [ 0 locks=0 ] ( )
+match_vel_weight [ 0 locks=0 autoscope=0 ] ( [ match_vel_weight 0.050000000000000003 ] )
+matchvel_distance [ 0 locks=0 autoscope=0 ] ( [ matchvel_distance 0.25 ] )
+matchvel_angle_of_influence [ 0 locks=0 autoscope=0 ] ( [ matchvel_angle_of_influence 180 ] )
+sepparm3 [ 0 locks=0 ] ( )
+Max_Vel [ 0 locks=0 autoscope=0 ] ( [ Max_Vel 0.14999999999999999 ] )
+sepparm4 [ 0 locks=0 ] ( )
+noise_strength [ 0 locks=0 autoscope=0 ] ( [ noise_strength 0 ] )
+freq [ 0 locks=0 autoscope=0 ] ( [ freqx 1 ] [ freqy 1 ] [ freqz 1 ] )
+offset [ 0 locks=0 autoscope=0 ] ( [ offsetx 0 ] [ offsety 0 ] [ offsetz 0 ] )
+amp [ 0 locks=0 autoscope=0 ] ( [ ampx 1 ] [ ampy 1 ] [ ampz 1 ] )
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/solver1.userdata"
+Content-Type: text/plain
+
+{
+ "___Version___":{
+ "type":"string",
+ "value":""
+ }
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/solver1/d/s.def"
+Content-Type: text/plain
+
+comment ""
+position 1.88226 0.517618
+connectornextid 2
+flags = lock off model off template off footprint off xray off bypass off display on render off highlight off unload off savedata off compress on colordefault off exposed on
+outputsNamed3
+{
+1 "output1"
+}
+inputsNamed3
+{
+0 sopgeo1 1 1 "input1"
+}
+inputs
+{
+0 sopgeo1 0 1
+}
+stat
+{
+ create 1324348265
+ modify 1530241953
+ author jlait@andorra.sidefx.com
+ access 0777
+}
+color UT_Color RGB 0.8 0.8 0.8
+delscript ""
+exprlanguage hscript
+end
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/solver1/d/s.parm"
+Content-Type: text/plain
+
+{
+version 0.8
+parmop_usesoppath [ 0 locks=0 autoscope=0 ] ( "default" )
+usesoppath [ 0 locks=0 autoscope=0 ] ( "off" )
+parmop_soppath [ 0 locks=0 autoscope=0 ] ( "default" )
+soppath [ 0 locks=0 autoscope=0 ] ( "" )
+parmop_datapath [ 0 locks=0 autoscope=0 ] ( "default" )
+datapath [ 0 locks=0 autoscope=0 ] ( Geometry )
+parmop_doinvoke [ 0 locks=0 autoscope=0 ] ( "default" )
+doinvoke [ 0 locks=0 autoscope=0 ] ( "off" )
+parmop_primaryinputname [ 0 locks=0 ] ( "default" )
+primaryinputname [ 0 locks=0 ] ( data )
+parmop_numinputs [ 0 locks=0 autoscope=0 ] ( "default" )
+numinputs [ 0 locks=0 autoscope=0 ] ( 0 )
+parmop_numoutputs [ 0 locks=0 ] ( "default" )
+numoutputs [ 0 locks=0 ] ( 0 )
+parmop_transformsopoutput [ 0 locks=0 autoscope=0 ] ( "default" )
+transformsopoutput [ 0 locks=0 autoscope=0 ] ( "on" )
+parmop_solveinitframe [ 0 locks=0 autoscope=0 ] ( "default" )
+solveinitframe [ 0 locks=0 autoscope=0 ] ( "on" )
+parmop_usetimestep [ 0 locks=0 autoscope=0 ] ( "default" )
+usetimestep [ 0 locks=0 autoscope=0 ] ( "on" )
+parmop_timescale [ 0 locks=0 autoscope=0 ] ( "default" )
+timescale [ 0 locks=0 autoscope=0 ] ( 1 )
+defaultparmop [ 0 locks=0 autoscope=0 ] ( "initial" )
+addaffectors [ 0 locks=0 autoscope=0 ] ( "on" )
+group [ 0 locks=0 autoscope=0 ] ( * )
+dataname [ 0 locks=0 autoscope=0 ] ( $OS )
+uniquedataname [ 0 locks=0 autoscope=0 ] ( "on" )
+solverperobject [ 0 locks=0 autoscope=0 ] ( "off" )
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/solver1/d/s.userdata"
+Content-Type: text/plain
+
+{
+ "___Version___":{
+ "type":"string",
+ "value":"17.5.229"
+ }
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/solver1/d/s/fly_towards_CoM.init"
+Content-Type: text/plain
+
+type = attribwrangle
+matchesdef = 1
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/solver1/d/s/fly_towards_CoM.def"
+Content-Type: text/plain
+
+sopflags sopflags =
+comment ""
+position 3.59574 -8.82864
+connectornextid 2
+flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
+outputsNamed3
+{
+1 "output1"
+}
+inputsNamed3
+{
+0 attribpromote1 0 1 "input1"
+}
+inputs
+{
+0 attribpromote1 0 1
+}
+stat
+{
+ create 1528499508
+ modify 1571107997
+ author Henry@LAPPY586
+ access 0777
+}
+color UT_Color RGB 0.8 0.8 0.8
+delscript ""
+exprlanguage hscript
+end
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/solver1/d/s/fly_towards_CoM.spareparmdef"
+Content-Type: text/plain
+
+ group {
+ name "folder1"
+ label "Code"
+
+ parm {
+ name "group"
+ baseparm
+ label "Group"
+ export none
+ bindselector points "Modify Points"
+ "Select the points to affect and press Enter to complete."
+ 0 1 0xffffffff 0 grouptype 0
+ }
+ parm {
+ name "grouptype"
+ baseparm
+ label "Group Type"
+ export none
+ }
+ parm {
+ name "class"
+ baseparm
+ label "Run Over"
+ export none
+ }
+ parm {
+ name "vex_numcount"
+ baseparm
+ label "Number Count"
+ export none
+ }
+ parm {
+ name "vex_threadjobsize"
+ baseparm
+ label "Thread Job Size"
+ export none
+ }
+ parm {
+ name "snippet"
+ baseparm
+ label "VEXpression"
+ export all
+ }
+ parm {
+ name "exportlist"
+ baseparm
+ label "Attributes to Create"
+ export none
+ }
+ parm {
+ name "vex_strict"
+ baseparm
+ label "Enforce Prototypes"
+ export none
+ }
+ }
+
+ group {
+ name "folder1_1"
+ label "Bindings"
+
+ parm {
+ name "autobind"
+ baseparm
+ label "Autobind by Name"
+ export none
+ }
+ multiparm {
+ name "bindings"
+ label "Number of Bindings"
+ baseparm
+ default 0
+ parmtag { "autoscope" "0000000000000000" }
+ parmtag { "multistartoffset" "1" }
+
+ parm {
+ name "bindname#"
+ baseparm
+ label "Attribute Name"
+ export none
+ }
+ parm {
+ name "bindparm#"
+ baseparm
+ label "VEX Parameter"
+ export none
+ }
+ }
+
+ parm {
+ name "groupautobind"
+ baseparm
+ label "Autobind Groups by Name"
+ export none
+ }
+ multiparm {
+ name "groupbindings"
+ label "Group Bindings"
+ baseparm
+ default 0
+ parmtag { "autoscope" "0000000000000000" }
+ parmtag { "multistartoffset" "1" }
+
+ parm {
+ name "bindgroupname#"
+ baseparm
+ label "Group Name"
+ export none
+ }
+ parm {
+ name "bindgroupparm#"
+ baseparm
+ label "VEX Parameter"
+ export none
+ }
+ }
+
+ parm {
+ name "vex_cwdpath"
+ baseparm
+ label "Evaluation Node Path"
+ export none
+ }
+ parm {
+ name "vex_outputmask"
+ baseparm
+ label "Export Parameters"
+ export none
+ }
+ parm {
+ name "vex_updatenmls"
+ baseparm
+ label "Update Normals If Displaced"
+ export none
+ }
+ parm {
+ name "vex_matchattrib"
+ baseparm
+ label "Attribute to Match"
+ export none
+ }
+ parm {
+ name "vex_inplace"
+ baseparm
+ label "Compute Results In Place"
+ export none
+ }
+ parm {
+ name "vex_selectiongroup"
+ baseparm
+ label "Output Selection Group"
+ export none
+ }
+ }
+
+ parm {
+ name "Weight_Move_To_Center"
+ label "Weight Move To Center"
+ type float
+ default { "0" }
+ range { 0 1 }
+ }
+ parm {
+ name "Max_Vel"
+ label "Max Vel"
+ type float
+ default { "0" }
+ range { 0 1 }
+ }
+ parm {
+ name "use_tgt_falloff"
+ label "Use Tgt Falloff"
+ type integer
+ default { "0" }
+ range { 0 10 }
+ }
+ parm {
+ name "do_vexpression"
+ label "Use VEXpression"
+ type toggle
+ default { "0" }
+ }
+ parm {
+ name "vexpression"
+ label "VEXpression"
+ type string
+ default { "" }
+ parmtag { "editor" "1" }
+ parmtag { "editorlang" "vex" }
+ }
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/solver1/d/s/fly_towards_CoM.chn"
+Content-Type: text/plain
+
+{
+ channel Weight_Move_To_Center {
+ lefttype = extend
+ righttype = extend
+ flags = 0
+ segment { length = 0 value = 0.02 0.02 expr = ch(\"../../../Weight_Move_To_Center\") }
+ }
+ channel Max_Vel {
+ lefttype = extend
+ righttype = extend
+ flags = 0
+ segment { length = 0 value = 0.14999999999999999 0.14999999999999999 expr = ch(\"../limit_vel/Max_Vel\") }
+ }
+ channel use_tgt_falloff {
+ lefttype = extend
+ righttype = extend
+ flags = 0
+ segment { length = 0 expr = ch(\"../../../../mve_ctr_use_falloff\") }
+ }
+ channel do_vexpression {
+ lefttype = extend
+ righttype = extend
+ flags = 0
+ segment { length = 0 expr = ch(\"../../../../do_vexpression\") }
+ }
+ channel vexpression {
+ lefttype = extend
+ righttype = extend
+ defaultString = "\"// weight = 0.001;
+// maxvel = 0.15;\""
+ flags = 0
+ segment { length = 0 expr = chs(\"../../../../vexpression\") }
+ }
+ }
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/solver1/d/s/fly_towards_CoM.parm"
+Content-Type: text/plain
+
+{
+version 0.8
+folder0 [ 0 locks=0 autoscope=0 ] ( 0 0 )
+group [ 0 locks=0 autoscope=0 ] ( "" )
+grouptype [ 0 locks=0 autoscope=0 ] ( "guess" )
+class [ 0 locks=0 autoscope=0 ] ( "point" )
+vex_numcount [ 0 locks=0 autoscope=0 ] ( 10 )
+vex_threadjobsize [ 0 locks=0 autoscope=0 ] ( 1024 )
+snippet [ 0 locks=0 autoscope=0 ] ( "vector ctr = detail(0, \"mops_center\");
+float weight = chf(\"Weight_Move_To_Center\");
+float maxvel = chf(\"Max_Vel\");
+
+`ifs(ch(\"do_vexpression\"), chs(\"vexpression\"), \"\")`
+
+if(chi(\"use_tgt_falloff\"))
+ weight *= f@mops_falloff;
+
+vector move_ctr = (ctr - v@P) * weight;
+
+
+if(length(move_ctr) > maxvel){
+ move_ctr = (normalize(move_ctr) * maxvel);
+}
+
+
+v@mops_steer += move_ctr;" )
+exportlist [ 0 locks=0 autoscope=0 ] ( * )
+vex_strict [ 0 locks=0 autoscope=0 ] ( "off" )
+autobind [ 0 locks=0 autoscope=0 ] ( "on" )
+bindings [ 0 locks=0 autoscope=0 ] ( 0 )
+groupautobind [ 0 locks=0 autoscope=0 ] ( "on" )
+groupbindings [ 0 locks=0 autoscope=0 ] ( 0 )
+vex_cwdpath [ 0 locks=0 autoscope=0 ] ( . )
+vex_outputmask [ 0 locks=0 autoscope=0 ] ( * )
+vex_updatenmls [ 0 locks=0 autoscope=0 ] ( "off" )
+vex_matchattrib [ 0 locks=0 autoscope=0 ] ( id )
+vex_inplace [ 0 locks=0 autoscope=0 ] ( "off" )
+vex_selectiongroup [ 0 locks=0 autoscope=0 ] ( "" )
+folder1 [ 0 locks=0 ] ( 0 0 )
+Weight_Move_To_Center [ 0 locks=0 autoscope=0 ] ( [ Weight_Move_To_Center 0.001 ] )
+Max_Vel [ 0 locks=0 autoscope=0 ] ( [ Max_Vel 0.14999999999999999 ] )
+use_tgt_falloff [ 0 locks=0 ] ( [ use_tgt_falloff 1 ] )
+do_vexpression [ 0 locks=0 ] ( [ do_vexpression 0 ] )
+vexpression [ 0 locks=0 ] ( [ vexpression "// weight = 0.001;
+// maxvel = 0.15;" ] )
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/solver1/d/s/fly_towards_CoM.userdata"
+Content-Type: text/plain
+
+{
+ "___Version___":{
+ "type":"string",
+ "value":""
+ }
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/solver1/d/s/repell_each_other.init"
+Content-Type: text/plain
+
+type = attribwrangle
+matchesdef = 1
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/solver1/d/s/repell_each_other.def"
+Content-Type: text/plain
+
+sopflags sopflags =
+comment ""
+position 3.59574 -9.95814
+connectornextid 2
+flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
+outputsNamed3
+{
+1 "output1"
+}
+inputsNamed3
+{
+0 fly_towards_CoM 1 1 "input1"
+}
+inputs
+{
+0 fly_towards_CoM 0 1
+}
+stat
+{
+ create 1528499508
+ modify 1571107997
+ author Henry@LAPPY586
+ access 0777
+}
+color UT_Color RGB 0.8 0.8 0.8
+delscript ""
+exprlanguage hscript
+end
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/solver1/d/s/repell_each_other.spareparmdef"
+Content-Type: text/plain
+
+ group {
+ name "folder1"
+ label "Code"
+
+ parm {
+ name "group"
+ baseparm
+ label "Group"
+ export none
+ bindselector points "Modify Points"
+ "Select the points to affect and press Enter to complete."
+ 0 1 0xffffffff 0 grouptype 0
+ }
+ parm {
+ name "grouptype"
+ baseparm
+ label "Group Type"
+ export none
+ }
+ parm {
+ name "class"
+ baseparm
+ label "Run Over"
+ export none
+ }
+ parm {
+ name "vex_numcount"
+ baseparm
+ label "Number Count"
+ export none
+ }
+ parm {
+ name "vex_threadjobsize"
+ baseparm
+ label "Thread Job Size"
+ export none
+ }
+ parm {
+ name "snippet"
+ baseparm
+ label "VEXpression"
+ export all
+ }
+ parm {
+ name "exportlist"
+ baseparm
+ label "Attributes to Create"
+ export none
+ }
+ parm {
+ name "vex_strict"
+ baseparm
+ label "Enforce Prototypes"
+ export none
+ }
+ }
+
+ group {
+ name "folder1_1"
+ label "Bindings"
+
+ parm {
+ name "autobind"
+ baseparm
+ label "Autobind by Name"
+ export none
+ }
+ multiparm {
+ name "bindings"
+ label "Number of Bindings"
+ baseparm
+ default 0
+ parmtag { "autoscope" "0000000000000000" }
+ parmtag { "multistartoffset" "1" }
+
+ parm {
+ name "bindname#"
+ baseparm
+ label "Attribute Name"
+ export none
+ }
+ parm {
+ name "bindparm#"
+ baseparm
+ label "VEX Parameter"
+ export none
+ }
+ }
+
+ parm {
+ name "groupautobind"
+ baseparm
+ label "Autobind Groups by Name"
+ export none
+ }
+ multiparm {
+ name "groupbindings"
+ label "Group Bindings"
+ baseparm
+ default 0
+ parmtag { "autoscope" "0000000000000000" }
+ parmtag { "multistartoffset" "1" }
+
+ parm {
+ name "bindgroupname#"
+ baseparm
+ label "Group Name"
+ export none
+ }
+ parm {
+ name "bindgroupparm#"
+ baseparm
+ label "VEX Parameter"
+ export none
+ }
+ }
+
+ parm {
+ name "vex_cwdpath"
+ baseparm
+ label "Evaluation Node Path"
+ export none
+ }
+ parm {
+ name "vex_outputmask"
+ baseparm
+ label "Export Parameters"
+ export none
+ }
+ parm {
+ name "vex_updatenmls"
+ baseparm
+ label "Update Normals If Displaced"
+ export none
+ }
+ parm {
+ name "vex_matchattrib"
+ baseparm
+ label "Attribute to Match"
+ export none
+ }
+ parm {
+ name "vex_inplace"
+ baseparm
+ label "Compute Results In Place"
+ export none
+ }
+ parm {
+ name "vex_selectiongroup"
+ baseparm
+ label "Output Selection Group"
+ export none
+ }
+ }
+
+ parm {
+ name "distance"
+ label "Distance"
+ type float
+ default { "0" }
+ range { 0 1 }
+ }
+ parm {
+ name "repell_weight"
+ label "Repell Weight"
+ type float
+ default { "0" }
+ range { 0 1 }
+ }
+ parm {
+ name "angle_of_influence"
+ label "Angle Of Influence"
+ type float
+ default { "0" }
+ range { 0 180 }
+ }
+ parm {
+ name "Max_Vel"
+ label "Max Vel"
+ type float
+ default { "0" }
+ range { 0 1 }
+ }
+ parm {
+ name "use_repell_falloff"
+ label "Use Repell Falloff"
+ type integer
+ default { "0" }
+ range { 0 10 }
+ }
+ parm {
+ name "do_vexpression"
+ label "Use VEXpression"
+ type toggle
+ default { "0" }
+ }
+ parm {
+ name "vexpression"
+ label "VEXpression"
+ type string
+ default { "" }
+ parmtag { "editor" "1" }
+ parmtag { "editorlang" "vex" }
+ }
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/solver1/d/s/repell_each_other.chn"
+Content-Type: text/plain
+
+{
+ channel distance {
+ lefttype = extend
+ righttype = extend
+ flags = 0
+ segment { length = 0 value = 0.10000000000000001 0.10000000000000001 expr = ch(\"../../../repelldist\") }
+ }
+ channel repell_weight {
+ lefttype = extend
+ righttype = extend
+ flags = 0
+ segment { length = 0 value = 1 1 expr = ch(\"../../../repell_weight\") }
+ }
+ channel angle_of_influence {
+ lefttype = extend
+ righttype = extend
+ flags = 0
+ segment { length = 0 value = 90 90 expr = ch(\"../../../angle_of_influence\") }
+ }
+ channel Max_Vel {
+ lefttype = extend
+ righttype = extend
+ flags = 0
+ segment { length = 0 value = 0.14999999999999999 0.14999999999999999 expr = ch(\"../limit_vel/Max_Vel\") }
+ }
+ channel use_repell_falloff {
+ lefttype = extend
+ righttype = extend
+ flags = 0
+ segment { length = 0 expr = ch(\"../../../../avoid_use_falloff\") }
+ }
+ channel do_vexpression {
+ lefttype = extend
+ righttype = extend
+ flags = 0
+ segment { length = 0 expr = ch(\"../../../../do_vexpression2\") }
+ }
+ channel vexpression {
+ lefttype = extend
+ righttype = extend
+ defaultString = "\"// maxdist = 0.1;
+// repel_weight = 0.05;
+// angle_of_influence = 180;
+// maxvel = 0.15;\""
+ flags = 0
+ segment { length = 0 expr = chs(\"../../../../vexpression2\") }
+ }
+ }
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/solver1/d/s/repell_each_other.parm"
+Content-Type: text/plain
+
+{
+version 0.8
+folder0 [ 0 locks=0 autoscope=0 ] ( 0 0 )
+group [ 0 locks=0 autoscope=0 ] ( "" )
+grouptype [ 0 locks=0 autoscope=0 ] ( "guess" )
+class [ 0 locks=0 autoscope=0 ] ( "point" )
+vex_numcount [ 0 locks=0 autoscope=0 ] ( 10 )
+vex_threadjobsize [ 0 locks=0 autoscope=0 ] ( 1024 )
+snippet [ 0 locks=0 autoscope=0 ] ( "float maxdist = chf(\"distance\");
+string grp = \"!\"+itoa(@ptnum);
+int npts[] = nearpoints(0, grp, v@P, maxdist);
+int num = len(npts);
+
+vector repell = {0,0,0};
+float maxvel = chf(\"Max_Vel\");
+float angle_of_influence = chf(\"angle_of_influence\");
+float repel_weight = ch(\"repell_weight\");
+
+`ifs(ch(\"do_vexpression\"), chs(\"vexpression\"), \"\")`
+
+foreach(int npt; npts){
+ vector nv = point(0, \"mops_v\", npt);
+ float angle = acos(dot(normalize(v@mops_v), normalize(nv)));
+
+ if(angle < radians(angle_of_influence)){
+ vector npos = point(0, \"P\", npt);
+ vector nrepell = (npos - v@P);
+ nrepell = normalize(nrepell);
+ nrepell *= fit(distance(v@P, npos), 0.0, maxdist, 1.0, 0.0);
+ repell += nrepell;
+ }
+}
+
+if(num > 0)
+ repell /= float(num);
+
+
+
+if(length(repell) > maxvel){
+ repell = (normalize(repell) * maxvel) - v@mops_v;
+}
+
+if(chi(\"use_repell_falloff\"))
+ repell *= f@mops_falloff;
+
+v@mops_steer += repell * repel_weight;" )
+exportlist [ 0 locks=0 autoscope=0 ] ( * )
+vex_strict [ 0 locks=0 autoscope=0 ] ( "off" )
+autobind [ 0 locks=0 autoscope=0 ] ( "on" )
+bindings [ 0 locks=0 autoscope=0 ] ( 0 )
+groupautobind [ 0 locks=0 autoscope=0 ] ( "on" )
+groupbindings [ 0 locks=0 autoscope=0 ] ( 0 )
+vex_cwdpath [ 0 locks=0 autoscope=0 ] ( . )
+vex_outputmask [ 0 locks=0 autoscope=0 ] ( * )
+vex_updatenmls [ 0 locks=0 autoscope=0 ] ( "off" )
+vex_matchattrib [ 0 locks=0 autoscope=0 ] ( id )
+vex_inplace [ 0 locks=0 autoscope=0 ] ( "off" )
+vex_selectiongroup [ 0 locks=0 autoscope=0 ] ( "" )
+folder1 [ 0 locks=0 ] ( 0 0 )
+distance [ 0 locks=0 autoscope=0 ] ( [ distance 0.10000000000000001 ] )
+repell_weight [ 0 locks=0 autoscope=0 ] ( [ repell_weight 0.050000000000000003 ] )
+angle_of_influence [ 0 locks=0 autoscope=0 ] ( [ angle_of_influence 180 ] )
+Max_Vel [ 0 locks=0 autoscope=0 ] ( [ Max_Vel 0.14999999999999999 ] )
+use_repell_falloff [ 0 locks=0 ] ( [ use_repell_falloff 1 ] )
+do_vexpression [ 0 locks=0 ] ( [ do_vexpression 0 ] )
+vexpression [ 0 locks=0 ] ( [ vexpression "// maxdist = 0.1;
+// repel_weight = 0.05;
+// angle_of_influence = 180;
+// maxvel = 0.15;" ] )
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/solver1/d/s/repell_each_other.userdata"
+Content-Type: text/plain
+
+{
+ "___Version___":{
+ "type":"string",
+ "value":""
+ }
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/solver1/d/s/move_boids.init"
+Content-Type: text/plain
+
+type = attribwrangle
+matchesdef = 1
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/solver1/d/s/move_boids.def"
+Content-Type: text/plain
+
+sopflags sopflags =
+comment ""
+position 5.29014 -15.9069
+connectornextid 2
+flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
+outputsNamed3
+{
+1 "output1"
+}
+inputsNamed3
+{
+0 limit_vel 0 1 "input1"
+}
+inputs
+{
+0 limit_vel 0 1
+}
+stat
+{
+ create 1528499508
+ modify 1571107997
+ author Henry@LAPPY586
+ access 0777
+}
+color UT_Color RGB 0.8 0.8 0.8
+delscript ""
+exprlanguage hscript
+end
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/solver1/d/s/move_boids.parm"
+Content-Type: text/plain
+
+{
+version 0.8
+folder0 [ 0 locks=0 autoscope=0 ] ( 0 0 )
+group [ 0 locks=0 autoscope=0 ] ( "" )
+grouptype [ 0 locks=0 autoscope=0 ] ( "guess" )
+class [ 0 locks=0 autoscope=0 ] ( "point" )
+vex_numcount [ 0 locks=0 autoscope=0 ] ( 10 )
+vex_threadjobsize [ 0 locks=0 autoscope=0 ] ( 1024 )
+snippet [ 0 locks=0 autoscope=0 ] ( "v@mops_v += v@mops_steer;
+v@P += v@mops_v;" )
+exportlist [ 0 locks=0 autoscope=0 ] ( * )
+vex_strict [ 0 locks=0 autoscope=0 ] ( "off" )
+autobind [ 0 locks=0 autoscope=0 ] ( "on" )
+bindings [ 0 locks=0 autoscope=0 ] ( 0 )
+groupautobind [ 0 locks=0 autoscope=0 ] ( "on" )
+groupbindings [ 0 locks=0 autoscope=0 ] ( 0 )
+vex_cwdpath [ 0 locks=0 autoscope=0 ] ( . )
+vex_outputmask [ 0 locks=0 autoscope=0 ] ( * )
+vex_updatenmls [ 0 locks=0 autoscope=0 ] ( "off" )
+vex_matchattrib [ 0 locks=0 autoscope=0 ] ( id )
+vex_inplace [ 0 locks=0 autoscope=0 ] ( "off" )
+vex_selectiongroup [ 0 locks=0 autoscope=0 ] ( "" )
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/solver1/d/s/move_boids.userdata"
+Content-Type: text/plain
+
+{
+ "___Version___":{
+ "type":"string",
+ "value":""
+ }
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/solver1/d/s/limit_vel.init"
+Content-Type: text/plain
+
+type = attribwrangle
+matchesdef = 1
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/solver1/d/s/limit_vel.def"
+Content-Type: text/plain
+
+sopflags sopflags =
+comment ""
+position 5.29014 -14.7774
+connectornextid 2
+flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
+outputsNamed3
+{
+0 "output1"
+}
+inputsNamed3
+{
+1 move_to_tgt 0 1 "input1"
+}
+inputs
+{
+0 move_to_tgt 0 1
+}
+stat
+{
+ create 1528499508
+ modify 1571107997
+ author Henry@LAPPY586
+ access 0777
+}
+color UT_Color RGB 0.8 0.8 0.8
+delscript ""
+exprlanguage hscript
+end
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/solver1/d/s/limit_vel.spareparmdef"
+Content-Type: text/plain
+
+ group {
+ name "folder1"
+ label "Code"
+
+ parm {
+ name "group"
+ baseparm
+ label "Group"
+ export none
+ bindselector points "Modify Points"
+ "Select the points to affect and press Enter to complete."
+ 0 1 0xffffffff 0 grouptype 0
+ }
+ parm {
+ name "grouptype"
+ baseparm
+ label "Group Type"
+ export none
+ }
+ parm {
+ name "class"
+ baseparm
+ label "Run Over"
+ export none
+ }
+ parm {
+ name "vex_numcount"
+ baseparm
+ label "Number Count"
+ export none
+ }
+ parm {
+ name "vex_threadjobsize"
+ baseparm
+ label "Thread Job Size"
+ export none
+ }
+ parm {
+ name "snippet"
+ baseparm
+ label "VEXpression"
+ export all
+ }
+ parm {
+ name "exportlist"
+ baseparm
+ label "Attributes to Create"
+ export none
+ }
+ parm {
+ name "vex_strict"
+ baseparm
+ label "Enforce Prototypes"
+ export none
+ }
+ }
+
+ group {
+ name "folder1_1"
+ label "Bindings"
+
+ parm {
+ name "autobind"
+ baseparm
+ label "Autobind by Name"
+ export none
+ }
+ multiparm {
+ name "bindings"
+ label "Number of Bindings"
+ baseparm
+ default 0
+ parmtag { "autoscope" "0000000000000000" }
+ parmtag { "multistartoffset" "1" }
+
+ parm {
+ name "bindname#"
+ baseparm
+ label "Attribute Name"
+ export none
+ }
+ parm {
+ name "bindparm#"
+ baseparm
+ label "VEX Parameter"
+ export none
+ }
+ }
+
+ parm {
+ name "groupautobind"
+ baseparm
+ label "Autobind Groups by Name"
+ export none
+ }
+ multiparm {
+ name "groupbindings"
+ label "Group Bindings"
+ baseparm
+ default 0
+ parmtag { "autoscope" "0000000000000000" }
+ parmtag { "multistartoffset" "1" }
+
+ parm {
+ name "bindgroupname#"
+ baseparm
+ label "Group Name"
+ export none
+ }
+ parm {
+ name "bindgroupparm#"
+ baseparm
+ label "VEX Parameter"
+ export none
+ }
+ }
+
+ parm {
+ name "vex_cwdpath"
+ baseparm
+ label "Evaluation Node Path"
+ export none
+ }
+ parm {
+ name "vex_outputmask"
+ baseparm
+ label "Export Parameters"
+ export none
+ }
+ parm {
+ name "vex_updatenmls"
+ baseparm
+ label "Update Normals If Displaced"
+ export none
+ }
+ parm {
+ name "vex_matchattrib"
+ baseparm
+ label "Attribute to Match"
+ export none
+ }
+ parm {
+ name "vex_inplace"
+ baseparm
+ label "Compute Results In Place"
+ export none
+ }
+ parm {
+ name "vex_selectiongroup"
+ baseparm
+ label "Output Selection Group"
+ export none
+ }
+ }
+
+ parm {
+ name "Max_Vel"
+ label "Max Vel"
+ type float
+ default { "0" }
+ range { 0 1 }
+ }
+ parm {
+ name "do_vexpression"
+ label "Use VEXpression"
+ type toggle
+ default { "0" }
+ }
+ parm {
+ name "vexpression"
+ label "VEXpression"
+ type string
+ default { "" }
+ parmtag { "editor" "1" }
+ parmtag { "editorlang" "vex" }
+ }
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/solver1/d/s/limit_vel.chn"
+Content-Type: text/plain
+
+{
+ channel Max_Vel {
+ lefttype = extend
+ righttype = extend
+ flags = 0
+ segment { length = 0 value = 0.10000000000000001 0.10000000000000001 expr = ch(\"../../../Max_Vel\") }
+ }
+ channel do_vexpression {
+ lefttype = extend
+ righttype = extend
+ flags = 0
+ segment { length = 0 expr = ch(\"../../../../do_vexpression5\") }
+ }
+ channel vexpression {
+ lefttype = extend
+ righttype = extend
+ defaultString = "\"// maxvel = 0.15;\""
+ flags = 0
+ segment { length = 0 expr = chs(\"../../../../vexpression5\") }
+ }
+ }
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/solver1/d/s/limit_vel.parm"
+Content-Type: text/plain
+
+{
+version 0.8
+folder0 [ 0 locks=0 autoscope=0 ] ( 0 0 )
+group [ 0 locks=0 autoscope=0 ] ( "" )
+grouptype [ 0 locks=0 autoscope=0 ] ( "guess" )
+class [ 0 locks=0 autoscope=0 ] ( "point" )
+vex_numcount [ 0 locks=0 autoscope=0 ] ( 10 )
+vex_threadjobsize [ 0 locks=0 autoscope=0 ] ( 1024 )
+snippet [ 0 locks=0 autoscope=0 ] ( "vector steer = v@mops_steer + v@mops_v;
+float maxvel = chf(\"Max_Vel\");
+
+`ifs(ch(\"do_vexpression\"), chs(\"vexpression\"), \"\")`
+
+if(length(steer) > maxvel){
+ v@mops_steer = (normalize(steer) * maxvel) - v@mops_v;
+ //v@mops_steer = (normalize(steer) * maxvel);
+}
+
+//v@mops_steer -= v@mops_v;" )
+exportlist [ 0 locks=0 autoscope=0 ] ( * )
+vex_strict [ 0 locks=0 autoscope=0 ] ( "off" )
+autobind [ 0 locks=0 autoscope=0 ] ( "on" )
+bindings [ 0 locks=0 autoscope=0 ] ( 0 )
+groupautobind [ 0 locks=0 autoscope=0 ] ( "on" )
+groupbindings [ 0 locks=0 autoscope=0 ] ( 0 )
+vex_cwdpath [ 0 locks=0 autoscope=0 ] ( . )
+vex_outputmask [ 0 locks=0 autoscope=0 ] ( * )
+vex_updatenmls [ 0 locks=0 autoscope=0 ] ( "off" )
+vex_matchattrib [ 0 locks=0 autoscope=0 ] ( id )
+vex_inplace [ 0 locks=0 autoscope=0 ] ( "off" )
+vex_selectiongroup [ 0 locks=0 autoscope=0 ] ( "" )
+folder1 [ 0 locks=0 ] ( 0 0 )
+Max_Vel [ 0 locks=0 autoscope=0 ] ( [ Max_Vel 0.14999999999999999 ] )
+do_vexpression [ 0 locks=0 ] ( [ do_vexpression 0 ] )
+vexpression [ 0 locks=0 ] ( [ vexpression "// maxvel = 0.15;" ] )
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/solver1/d/s/limit_vel.userdata"
+Content-Type: text/plain
+
+{
+ "___Version___":{
+ "type":"string",
+ "value":""
+ }
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/solver1/d/s/init_steer.init"
+Content-Type: text/plain
+
+type = attribwrangle
+matchesdef = 1
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/solver1/d/s/init_steer.def"
+Content-Type: text/plain
+
+sopflags sopflags =
+comment ""
+position 3.59574 -6.56964
+connectornextid 2
+flags = lock off model off template off footprint off xray off bypass on display off render off highlight off unload off savedata off compress on colordefault on exposed on
+outputsNamed3
+{
+0 "output1"
+}
+inputsNamed3
+{
+1 pointwrangle2 1 1 "input1"
+}
+inputs
+{
+0 pointwrangle2 0 1
+}
+stat
+{
+ create 1528499508
+ modify 1571107997
+ author Henry@LAPPY586
+ access 0777
+}
+color UT_Color RGB 0.8 0.8 0.8
+delscript ""
+exprlanguage hscript
+end
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/solver1/d/s/init_steer.parm"
+Content-Type: text/plain
+
+{
+version 0.8
+folder0 [ 0 locks=0 autoscope=0 ] ( 0 0 )
+group [ 0 locks=0 autoscope=0 ] ( "" )
+grouptype [ 0 locks=0 autoscope=0 ] ( "guess" )
+class [ 0 locks=0 autoscope=0 ] ( "point" )
+vex_numcount [ 0 locks=0 autoscope=0 ] ( 10 )
+vex_threadjobsize [ 0 locks=0 autoscope=0 ] ( 1024 )
+snippet [ 0 locks=0 autoscope=0 ] ( "v@mops_steer = {0,0,0};" )
+exportlist [ 0 locks=0 autoscope=0 ] ( * )
+vex_strict [ 0 locks=0 autoscope=0 ] ( "off" )
+autobind [ 0 locks=0 autoscope=0 ] ( "on" )
+bindings [ 0 locks=0 autoscope=0 ] ( 0 )
+groupautobind [ 0 locks=0 autoscope=0 ] ( "on" )
+groupbindings [ 0 locks=0 autoscope=0 ] ( 0 )
+vex_cwdpath [ 0 locks=0 autoscope=0 ] ( . )
+vex_outputmask [ 0 locks=0 autoscope=0 ] ( * )
+vex_updatenmls [ 0 locks=0 autoscope=0 ] ( "off" )
+vex_matchattrib [ 0 locks=0 autoscope=0 ] ( id )
+vex_inplace [ 0 locks=0 autoscope=0 ] ( "off" )
+vex_selectiongroup [ 0 locks=0 autoscope=0 ] ( "" )
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/solver1/d/s/init_steer.userdata"
+Content-Type: text/plain
+
+{
+ "___Version___":{
+ "type":"string",
+ "value":""
+ }
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/solver1/d/s/match_velocities1.init"
+Content-Type: text/plain
+
+type = attribwrangle
+matchesdef = 1
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/solver1/d/s/match_velocities1.def"
+Content-Type: text/plain
+
+sopflags sopflags =
+comment ""
+position 3.59574 -11.0876
+connectornextid 2
+flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
+outputsNamed3
+{
+1 "output1"
+}
+inputsNamed3
+{
+0 repell_each_other 1 1 "input1"
+}
+inputs
+{
+0 repell_each_other 0 1
+}
+stat
+{
+ create 1528499508
+ modify 1571107997
+ author Henry@LAPPY586
+ access 0777
+}
+color UT_Color RGB 0.8 0.8 0.8
+delscript ""
+exprlanguage hscript
+end
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/solver1/d/s/match_velocities1.spareparmdef"
+Content-Type: text/plain
+
+ group {
+ name "folder1"
+ label "Code"
+
+ parm {
+ name "group"
+ baseparm
+ label "Group"
+ export none
+ bindselector points "Modify Points"
+ "Select the points to affect and press Enter to complete."
+ 0 1 0xffffffff 0 grouptype 0
+ }
+ parm {
+ name "grouptype"
+ baseparm
+ label "Group Type"
+ export none
+ }
+ parm {
+ name "class"
+ baseparm
+ label "Run Over"
+ export none
+ }
+ parm {
+ name "vex_numcount"
+ baseparm
+ label "Number Count"
+ export none
+ }
+ parm {
+ name "vex_threadjobsize"
+ baseparm
+ label "Thread Job Size"
+ export none
+ }
+ parm {
+ name "snippet"
+ baseparm
+ label "VEXpression"
+ export all
+ }
+ parm {
+ name "exportlist"
+ baseparm
+ label "Attributes to Create"
+ export none
+ }
+ parm {
+ name "vex_strict"
+ baseparm
+ label "Enforce Prototypes"
+ export none
+ }
+ }
+
+ group {
+ name "folder1_1"
+ label "Bindings"
+
+ parm {
+ name "autobind"
+ baseparm
+ label "Autobind by Name"
+ export none
+ }
+ multiparm {
+ name "bindings"
+ label "Number of Bindings"
+ baseparm
+ default 0
+ parmtag { "autoscope" "0000000000000000" }
+ parmtag { "multistartoffset" "1" }
+
+ parm {
+ name "bindname#"
+ baseparm
+ label "Attribute Name"
+ export none
+ }
+ parm {
+ name "bindparm#"
+ baseparm
+ label "VEX Parameter"
+ export none
+ }
+ }
+
+ parm {
+ name "groupautobind"
+ baseparm
+ label "Autobind Groups by Name"
+ export none
+ }
+ multiparm {
+ name "groupbindings"
+ label "Group Bindings"
+ baseparm
+ default 0
+ parmtag { "autoscope" "0000000000000000" }
+ parmtag { "multistartoffset" "1" }
+
+ parm {
+ name "bindgroupname#"
+ baseparm
+ label "Group Name"
+ export none
+ }
+ parm {
+ name "bindgroupparm#"
+ baseparm
+ label "VEX Parameter"
+ export none
+ }
+ }
+
+ parm {
+ name "vex_cwdpath"
+ baseparm
+ label "Evaluation Node Path"
+ export none
+ }
+ parm {
+ name "vex_outputmask"
+ baseparm
+ label "Export Parameters"
+ export none
+ }
+ parm {
+ name "vex_updatenmls"
+ baseparm
+ label "Update Normals If Displaced"
+ export none
+ }
+ parm {
+ name "vex_matchattrib"
+ baseparm
+ label "Attribute to Match"
+ export none
+ }
+ parm {
+ name "vex_inplace"
+ baseparm
+ label "Compute Results In Place"
+ export none
+ }
+ parm {
+ name "vex_selectiongroup"
+ baseparm
+ label "Output Selection Group"
+ export none
+ }
+ }
+
+ parm {
+ name "match_vel_weight"
+ label "Match Vel Weight"
+ type float
+ default { "0" }
+ range { 0 1 }
+ }
+ parm {
+ name "Max_Vel"
+ label "Max Vel"
+ type float
+ default { "0" }
+ range { 0 1 }
+ }
+ parm {
+ name "distance"
+ label "Distance"
+ type float
+ default { "0" }
+ range { 0 1 }
+ }
+ parm {
+ name "angle_of_influence"
+ label "Angle Of Influence"
+ type float
+ default { "0" }
+ range { 0 1 }
+ }
+ parm {
+ name "use_vel_falloff"
+ label "Use Vel Falloff"
+ type integer
+ default { "0" }
+ range { 0 10 }
+ }
+ parm {
+ name "do_vexpression"
+ label "Use VEXpression"
+ type toggle
+ default { "0" }
+ }
+ parm {
+ name "vexpression"
+ label "VEXpression"
+ type string
+ default { "" }
+ parmtag { "editor" "1" }
+ parmtag { "editorlang" "vex" }
+ }
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/solver1/d/s/match_velocities1.chn"
+Content-Type: text/plain
+
+{
+ channel match_vel_weight {
+ lefttype = extend
+ righttype = extend
+ flags = 0
+ segment { length = 0 value = 0.125 0.125 expr = ch(\"../../../match_vel_weight\") }
+ }
+ channel Max_Vel {
+ lefttype = extend
+ righttype = extend
+ flags = 0
+ segment { length = 0 value = 0.14999999999999999 0.14999999999999999 expr = ch(\"../limit_vel/Max_Vel\") }
+ }
+ channel distance {
+ lefttype = extend
+ righttype = extend
+ flags = 0
+ segment { length = 0 value = 0.30000000447034836 0.30000000447034836 expr = ch(\"../../../matchvel_distance\") }
+ }
+ channel angle_of_influence {
+ lefttype = extend
+ righttype = extend
+ flags = 0
+ segment { length = 0 value = 90 90 expr = ch(\"../../../matchvel_angle_of_influence\") }
+ }
+ channel use_vel_falloff {
+ lefttype = extend
+ righttype = extend
+ flags = 0
+ segment { length = 0 expr = ch(\"../../../../vel_match_use_falloff\") }
+ }
+ channel do_vexpression {
+ lefttype = extend
+ righttype = extend
+ flags = 0
+ segment { length = 0 expr = ch(\"../../../../do_vexpression3\") }
+ }
+ channel vexpression {
+ lefttype = extend
+ righttype = extend
+ defaultString = "\"// maxdist = 0.25;
+// angle_of_influence = 180;
+// maxvel = 0.15;
+// match_vel_weight = 0.05;\""
+ flags = 0
+ segment { length = 0 expr = chs(\"../../../../vexpression3\") }
+ }
+ }
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/solver1/d/s/match_velocities1.parm"
+Content-Type: text/plain
+
+{
+version 0.8
+folder0 [ 0 locks=0 autoscope=0 ] ( 0 0 )
+group [ 0 locks=0 autoscope=0 ] ( "" )
+grouptype [ 0 locks=0 autoscope=0 ] ( "guess" )
+class [ 0 locks=0 autoscope=0 ] ( "point" )
+vex_numcount [ 0 locks=0 autoscope=0 ] ( 10 )
+vex_threadjobsize [ 0 locks=0 autoscope=0 ] ( 1024 )
+snippet [ 0 locks=0 autoscope=0 ] ( "vector vel = {0,0,0};
+
+float maxdist = chf(\"distance\");
+string grp = \"!\"+itoa(@ptnum);
+int npts[] = nearpoints(0, grp, v@P, maxdist);
+int num = len(npts);
+float angle_of_influence = ch(\"angle_of_influence\");
+float maxvel = chf(\"Max_Vel\");
+float match_vel_weight = ch(\"match_vel_weight\");
+
+`ifs(ch(\"do_vexpression\"), chs(\"vexpression\"), \"\")`
+
+foreach(int i; npts){
+ vector nv = point(0, \"mops_v\", i);
+ float angle = acos(dot(normalize(v@mops_v), normalize(nv)));
+
+ if(angle < radians(angle_of_influence)){
+ vector nvel = point(0, \"mops_v\", i);
+ if(i != @ptnum)
+ vel += nvel;
+ }
+}
+
+vel /= num;
+
+vector out = (vel - v@mops_v) * match_vel_weight;
+
+if(chi(\"use_vel_falloff\"))
+ out *= f@mops_falloff;
+
+
+if(length(out) > maxvel){
+ out = (normalize(out) * maxvel);
+}
+
+
+v@mops_steer += out;" )
+exportlist [ 0 locks=0 autoscope=0 ] ( * )
+vex_strict [ 0 locks=0 autoscope=0 ] ( "off" )
+autobind [ 0 locks=0 autoscope=0 ] ( "on" )
+bindings [ 0 locks=0 autoscope=0 ] ( 0 )
+groupautobind [ 0 locks=0 autoscope=0 ] ( "on" )
+groupbindings [ 0 locks=0 autoscope=0 ] ( 0 )
+vex_cwdpath [ 0 locks=0 autoscope=0 ] ( . )
+vex_outputmask [ 0 locks=0 autoscope=0 ] ( * )
+vex_updatenmls [ 0 locks=0 autoscope=0 ] ( "off" )
+vex_matchattrib [ 0 locks=0 autoscope=0 ] ( id )
+vex_inplace [ 0 locks=0 autoscope=0 ] ( "off" )
+vex_selectiongroup [ 0 locks=0 autoscope=0 ] ( "" )
+folder1 [ 0 locks=0 ] ( 0 0 )
+match_vel_weight [ 0 locks=0 autoscope=0 ] ( [ match_vel_weight 0.050000000000000003 ] )
+Max_Vel [ 0 locks=0 autoscope=0 ] ( [ Max_Vel 0.14999999999999999 ] )
+distance [ 0 locks=0 autoscope=0 ] ( [ distance 0.25 ] )
+angle_of_influence [ 0 locks=0 autoscope=0 ] ( [ angle_of_influence 180 ] )
+use_vel_falloff [ 0 locks=0 ] ( [ use_vel_falloff 1 ] )
+do_vexpression [ 0 locks=0 ] ( [ do_vexpression 0 ] )
+vexpression [ 0 locks=0 ] ( [ vexpression "// maxdist = 0.25;
+// angle_of_influence = 180;
+// maxvel = 0.15;
+// match_vel_weight = 0.05;" ] )
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/solver1/d/s/match_velocities1.userdata"
+Content-Type: text/plain
+
+{
+ "___Version___":{
+ "type":"string",
+ "value":""
+ }
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/solver1/d/s/add_noise.init"
+Content-Type: text/plain
+
+type = attribwrangle
+matchesdef = 1
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/solver1/d/s/add_noise.def"
+Content-Type: text/plain
+
+sopflags sopflags =
+comment ""
+position 3.59574 -12.2171
+connectornextid 2
+flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
+outputsNamed3
+{
+1 "output1"
+}
+inputsNamed3
+{
+0 match_velocities1 1 1 "input1"
+}
+inputs
+{
+0 match_velocities1 0 1
+}
+stat
+{
+ create 1528499508
+ modify 1571107997
+ author Henry@LAPPY586
+ access 0777
+}
+color UT_Color RGB 0.8 0.8 0.8
+delscript ""
+exprlanguage hscript
+end
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/solver1/d/s/add_noise.spareparmdef"
+Content-Type: text/plain
+
+ group {
+ name "folder1"
+ label "Code"
+
+ parm {
+ name "group"
+ baseparm
+ label "Group"
+ export none
+ bindselector points "Modify Points"
+ "Select the points to affect and press Enter to complete."
+ 0 1 0xffffffff 0 grouptype 0
+ }
+ parm {
+ name "grouptype"
+ baseparm
+ label "Group Type"
+ export none
+ }
+ parm {
+ name "class"
+ baseparm
+ label "Run Over"
+ export none
+ }
+ parm {
+ name "vex_numcount"
+ baseparm
+ label "Number Count"
+ export none
+ }
+ parm {
+ name "vex_threadjobsize"
+ baseparm
+ label "Thread Job Size"
+ export none
+ }
+ parm {
+ name "snippet"
+ baseparm
+ label "VEXpression"
+ export all
+ }
+ parm {
+ name "exportlist"
+ baseparm
+ label "Attributes to Create"
+ export none
+ }
+ parm {
+ name "vex_strict"
+ baseparm
+ label "Enforce Prototypes"
+ export none
+ }
+ }
+
+ group {
+ name "folder1_1"
+ label "Bindings"
+
+ parm {
+ name "autobind"
+ baseparm
+ label "Autobind by Name"
+ export none
+ }
+ multiparm {
+ name "bindings"
+ label "Number of Bindings"
+ baseparm
+ default 0
+ parmtag { "autoscope" "0000000000000000" }
+ parmtag { "multistartoffset" "1" }
+
+ parm {
+ name "bindname#"
+ baseparm
+ label "Attribute Name"
+ export none
+ }
+ parm {
+ name "bindparm#"
+ baseparm
+ label "VEX Parameter"
+ export none
+ }
+ }
+
+ parm {
+ name "groupautobind"
+ baseparm
+ label "Autobind Groups by Name"
+ export none
+ }
+ multiparm {
+ name "groupbindings"
+ label "Group Bindings"
+ baseparm
+ default 0
+ parmtag { "autoscope" "0000000000000000" }
+ parmtag { "multistartoffset" "1" }
+
+ parm {
+ name "bindgroupname#"
+ baseparm
+ label "Group Name"
+ export none
+ }
+ parm {
+ name "bindgroupparm#"
+ baseparm
+ label "VEX Parameter"
+ export none
+ }
+ }
+
+ parm {
+ name "vex_cwdpath"
+ baseparm
+ label "Evaluation Node Path"
+ export none
+ }
+ parm {
+ name "vex_outputmask"
+ baseparm
+ label "Export Parameters"
+ export none
+ }
+ parm {
+ name "vex_updatenmls"
+ baseparm
+ label "Update Normals If Displaced"
+ export none
+ }
+ parm {
+ name "vex_matchattrib"
+ baseparm
+ label "Attribute to Match"
+ export none
+ }
+ parm {
+ name "vex_inplace"
+ baseparm
+ label "Compute Results In Place"
+ export none
+ }
+ parm {
+ name "vex_selectiongroup"
+ baseparm
+ label "Output Selection Group"
+ export none
+ }
+ }
+
+ parm {
+ name "freq"
+ label "Freq"
+ type vector
+ size 3
+ default { "0" "0" "0" }
+ range { 0 1 }
+ }
+ parm {
+ name "offset"
+ label "Offset"
+ type vector
+ size 3
+ default { "0" "0" "0" }
+ range { 0 1 }
+ }
+ parm {
+ name "amp"
+ label "Amp"
+ type vector
+ size 3
+ default { "0" "0" "0" }
+ range { 0 1 }
+ }
+ parm {
+ name "noise_strength"
+ label "Noise Strength"
+ type float
+ default { "0" }
+ range { 0 1 }
+ }
+ parm {
+ name "use_curl_falloff"
+ label "Use Curl Falloff"
+ type integer
+ default { "0" }
+ range { 0 10 }
+ }
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/solver1/d/s/add_noise.chn"
+Content-Type: text/plain
+
+{
+ channel freqx {
+ lefttype = extend
+ righttype = extend
+ flags = 0
+ segment { length = 0 value = 5 5 expr = ch(\"../../../freqx\") }
+ }
+ channel freqy {
+ lefttype = extend
+ righttype = extend
+ flags = 0
+ segment { length = 0 value = 5 5 expr = ch(\"../../../freqy\") }
+ }
+ channel freqz {
+ lefttype = extend
+ righttype = extend
+ flags = 0
+ segment { length = 0 value = 5 5 expr = ch(\"../../../freqz\") }
+ }
+ channel offsetx {
+ lefttype = extend
+ righttype = extend
+ flags = 0
+ segment { length = 0 expr = ch(\"../../../offsetx\") }
+ }
+ channel offsety {
+ lefttype = extend
+ righttype = extend
+ flags = 0
+ segment { length = 0 expr = ch(\"../../../offsety\") }
+ }
+ channel offsetz {
+ lefttype = extend
+ righttype = extend
+ flags = 0
+ segment { length = 0 expr = ch(\"../../../offsetz\") }
+ }
+ channel ampx {
+ lefttype = extend
+ righttype = extend
+ flags = 0
+ segment { length = 0 value = 1 1 expr = ch(\"../../../ampx\") }
+ }
+ channel ampy {
+ lefttype = extend
+ righttype = extend
+ flags = 0
+ segment { length = 0 value = 1 1 expr = ch(\"../../../ampy\") }
+ }
+ channel ampz {
+ lefttype = extend
+ righttype = extend
+ flags = 0
+ segment { length = 0 value = 1 1 expr = ch(\"../../../ampz\") }
+ }
+ channel noise_strength {
+ lefttype = extend
+ righttype = extend
+ flags = 0
+ segment { length = 0 expr = ch(\"../../../noise_strength\") }
+ }
+ channel use_curl_falloff {
+ lefttype = extend
+ righttype = extend
+ flags = 0
+ segment { length = 0 expr = ch(\"../../../../curl_use_falloff\") }
+ }
+ }
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/solver1/d/s/add_noise.parm"
+Content-Type: text/plain
+
+{
+version 0.8
+folder0 [ 0 locks=0 autoscope=0 ] ( 0 0 )
+group [ 0 locks=0 autoscope=0 ] ( "" )
+grouptype [ 0 locks=0 autoscope=0 ] ( "guess" )
+class [ 0 locks=0 autoscope=0 ] ( "point" )
+vex_numcount [ 0 locks=0 autoscope=0 ] ( 10 )
+vex_threadjobsize [ 0 locks=0 autoscope=0 ] ( 1024 )
+snippet [ 0 locks=0 autoscope=0 ] ( "vector noise = curlxnoise(v@P * chv(\"freq\") + chv(\"offset\")) * chv(\"amp\");
+
+if(chi(\"use_curl_falloff\"))
+ noise *= f@mops_falloff;
+
+v@mops_steer += noise * chf(\"noise_strength\");" )
+exportlist [ 0 locks=0 autoscope=0 ] ( * )
+vex_strict [ 0 locks=0 autoscope=0 ] ( "off" )
+autobind [ 0 locks=0 autoscope=0 ] ( "on" )
+bindings [ 0 locks=0 autoscope=0 ] ( 0 )
+groupautobind [ 0 locks=0 autoscope=0 ] ( "on" )
+groupbindings [ 0 locks=0 autoscope=0 ] ( 0 )
+vex_cwdpath [ 0 locks=0 autoscope=0 ] ( . )
+vex_outputmask [ 0 locks=0 autoscope=0 ] ( * )
+vex_updatenmls [ 0 locks=0 autoscope=0 ] ( "off" )
+vex_matchattrib [ 0 locks=0 autoscope=0 ] ( id )
+vex_inplace [ 0 locks=0 autoscope=0 ] ( "off" )
+vex_selectiongroup [ 0 locks=0 autoscope=0 ] ( "" )
+folder1 [ 0 locks=0 ] ( 0 0 )
+freq [ 0 locks=0 autoscope=0 ] ( [ freqx 1 ] [ freqy 1 ] [ freqz 1 ] )
+offset [ 0 locks=0 autoscope=0 ] ( [ offsetx 0 ] [ offsety 0 ] [ offsetz 0 ] )
+amp [ 0 locks=0 autoscope=0 ] ( [ ampx 1 ] [ ampy 1 ] [ ampz 1 ] )
+noise_strength [ 0 locks=0 autoscope=0 ] ( [ noise_strength 0 ] )
+use_curl_falloff [ 0 locks=0 ] ( [ use_curl_falloff 1 ] )
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/solver1/d/s/add_noise.userdata"
+Content-Type: text/plain
+
+{
+ "___Version___":{
+ "type":"string",
+ "value":""
+ }
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/solver1/d/s/move_to_tgt.init"
+Content-Type: text/plain
+
+type = attribwrangle
+matchesdef = 1
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/solver1/d/s/move_to_tgt.def"
+Content-Type: text/plain
+
+sopflags sopflags =
+comment ""
+position 5.29014 -13.6479
+connectornextid 3
+flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
+outputsNamed3
+{
+0 "output1"
+}
+inputsNamed3
+{
+1 add_noise 1 1 "input1"
+2 Input_2 0 1 "input2"
+}
+inputs
+{
+0 add_noise 0 1
+1 Input_2 0 1
+}
+stat
+{
+ create 1528499508
+ modify 1571107997
+ author Henry@LAPPY586
+ access 0777
+}
+color UT_Color RGB 0.8 0.8 0.8
+delscript ""
+exprlanguage hscript
+end
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/solver1/d/s/move_to_tgt.spareparmdef"
+Content-Type: text/plain
+
+ group {
+ name "folder1"
+ label "Code"
+
+ parm {
+ name "group"
+ baseparm
+ label "Group"
+ export none
+ bindselector points "Modify Points"
+ "Select the points to affect and press Enter to complete."
+ 0 1 0xffffffff 0 grouptype 0
+ }
+ parm {
+ name "grouptype"
+ baseparm
+ label "Group Type"
+ export none
+ }
+ parm {
+ name "class"
+ baseparm
+ label "Run Over"
+ export none
+ }
+ parm {
+ name "vex_numcount"
+ baseparm
+ label "Number Count"
+ export none
+ }
+ parm {
+ name "vex_threadjobsize"
+ baseparm
+ label "Thread Job Size"
+ export none
+ }
+ parm {
+ name "snippet"
+ baseparm
+ label "VEXpression"
+ export all
+ }
+ parm {
+ name "exportlist"
+ baseparm
+ label "Attributes to Create"
+ export none
+ }
+ parm {
+ name "vex_strict"
+ baseparm
+ label "Enforce Prototypes"
+ export none
+ }
+ }
+
+ group {
+ name "folder1_1"
+ label "Bindings"
+
+ parm {
+ name "autobind"
+ baseparm
+ label "Autobind by Name"
+ export none
+ }
+ multiparm {
+ name "bindings"
+ label "Number of Bindings"
+ baseparm
+ default 0
+ parmtag { "autoscope" "0000000000000000" }
+ parmtag { "multistartoffset" "1" }
+
+ parm {
+ name "bindname#"
+ baseparm
+ label "Attribute Name"
+ export none
+ }
+ parm {
+ name "bindparm#"
+ baseparm
+ label "VEX Parameter"
+ export none
+ }
+ }
+
+ parm {
+ name "groupautobind"
+ baseparm
+ label "Autobind Groups by Name"
+ export none
+ }
+ multiparm {
+ name "groupbindings"
+ label "Group Bindings"
+ baseparm
+ default 0
+ parmtag { "autoscope" "0000000000000000" }
+ parmtag { "multistartoffset" "1" }
+
+ parm {
+ name "bindgroupname#"
+ baseparm
+ label "Group Name"
+ export none
+ }
+ parm {
+ name "bindgroupparm#"
+ baseparm
+ label "VEX Parameter"
+ export none
+ }
+ }
+
+ parm {
+ name "vex_cwdpath"
+ baseparm
+ label "Evaluation Node Path"
+ export none
+ }
+ parm {
+ name "vex_outputmask"
+ baseparm
+ label "Export Parameters"
+ export none
+ }
+ parm {
+ name "vex_updatenmls"
+ baseparm
+ label "Update Normals If Displaced"
+ export none
+ }
+ parm {
+ name "vex_matchattrib"
+ baseparm
+ label "Attribute to Match"
+ export none
+ }
+ parm {
+ name "vex_inplace"
+ baseparm
+ label "Compute Results In Place"
+ export none
+ }
+ parm {
+ name "vex_selectiongroup"
+ baseparm
+ label "Output Selection Group"
+ export none
+ }
+ }
+
+ parm {
+ name "follow_target_strength"
+ label "Follow Target Strength"
+ type float
+ default { "0" }
+ range { 0 1 }
+ }
+ parm {
+ name "Max_Vel"
+ label "Max Vel"
+ type float
+ default { "0" }
+ range { 0 1 }
+ }
+ parm {
+ name "use_tgt_falloff"
+ label "Use Tgt Falloff"
+ type integer
+ default { "0" }
+ range { 0 10 }
+ }
+ parm {
+ name "do_vexpression"
+ label "Use VEXpression"
+ type toggle
+ default { "0" }
+ }
+ parm {
+ name "vexpression"
+ label "VEXpression"
+ type string
+ default { "" }
+ parmtag { "editor" "1" }
+ parmtag { "editorlang" "vex" }
+ }
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/solver1/d/s/move_to_tgt.chn"
+Content-Type: text/plain
+
+{
+ channel follow_target_strength {
+ lefttype = extend
+ righttype = extend
+ flags = 0
+ segment { length = 0 value = 0.01 0.01 expr = ch(\"../../../../follow_target_strength\") }
+ }
+ channel Max_Vel {
+ lefttype = extend
+ righttype = extend
+ flags = 0
+ segment { length = 0 expr = ch(\"../limit_vel/Max_Vel\") }
+ }
+ channel use_tgt_falloff {
+ lefttype = extend
+ righttype = extend
+ flags = 0
+ segment { length = 0 expr = ch(\"../../../../tgt_follow_use_falloff\") }
+ }
+ channel do_vexpression {
+ lefttype = extend
+ righttype = extend
+ flags = 0
+ segment { length = 0 expr = ch(\"../../../../do_vexpression4\") }
+ }
+ channel vexpression {
+ lefttype = extend
+ righttype = extend
+ defaultString = "\"// amp = 0;
+// maxvel = 0.15;\""
+ flags = 0
+ segment { length = 0 expr = chs(\"../../../../vexpression4\") }
+ }
+ }
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/solver1/d/s/move_to_tgt.parm"
+Content-Type: text/plain
+
+{
+version 0.8
+folder0 [ 0 locks=0 autoscope=0 ] ( 0 0 )
+group [ 0 locks=0 autoscope=0 ] ( "" )
+grouptype [ 0 locks=0 autoscope=0 ] ( "guess" )
+class [ 0 locks=0 autoscope=0 ] ( "point" )
+vex_numcount [ 0 locks=0 autoscope=0 ] ( 10 )
+vex_threadjobsize [ 0 locks=0 autoscope=0 ] ( 1024 )
+snippet [ 0 locks=0 autoscope=0 ] ( "float amp = chf(\"follow_target_strength\");
+float maxvel = chf(\"Max_Vel\");
+
+`ifs(ch(\"do_vexpression\"), chs(\"vexpression\"), \"\")`
+
+vector tgtpos = point(1, \"P\", 0);
+vector out = (tgtpos - v@P) * amp;
+
+
+if(length(out) > maxvel){
+ out = (normalize(out) * maxvel);
+}
+
+if(chi(\"use_tgt_falloff\"))
+ out *= f@mops_falloff;
+
+v@mops_steer += out;" )
+exportlist [ 0 locks=0 autoscope=0 ] ( * )
+vex_strict [ 0 locks=0 autoscope=0 ] ( "off" )
+autobind [ 0 locks=0 autoscope=0 ] ( "on" )
+bindings [ 0 locks=0 autoscope=0 ] ( 0 )
+groupautobind [ 0 locks=0 autoscope=0 ] ( "on" )
+groupbindings [ 0 locks=0 autoscope=0 ] ( 0 )
+vex_cwdpath [ 0 locks=0 autoscope=0 ] ( . )
+vex_outputmask [ 0 locks=0 autoscope=0 ] ( * )
+vex_updatenmls [ 0 locks=0 autoscope=0 ] ( "off" )
+vex_matchattrib [ 0 locks=0 autoscope=0 ] ( id )
+vex_inplace [ 0 locks=0 autoscope=0 ] ( "off" )
+vex_selectiongroup [ 0 locks=0 autoscope=0 ] ( "" )
+folder1 [ 0 locks=0 ] ( 0 0 )
+follow_target_strength [ 0 locks=0 autoscope=0 ] ( [ follow_target_strength 0 ] )
+Max_Vel [ 0 locks=0 autoscope=0 ] ( [ Max_Vel 0.14999999999999999 ] )
+use_tgt_falloff [ 0 locks=0 ] ( [ use_tgt_falloff 1 ] )
+do_vexpression [ 0 locks=0 ] ( [ do_vexpression 0 ] )
+vexpression [ 0 locks=0 ] ( [ vexpression "// amp = 0;
+// maxvel = 0.15;" ] )
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/solver1/d/s/move_to_tgt.userdata"
+Content-Type: text/plain
+
+{
+ "___Version___":{
+ "type":"string",
+ "value":""
+ }
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/solver1/d/s/Apply_Attributes1.init"
+Content-Type: text/plain
+
+type = MOPS::Apply_Attributes::1.0
+matchesdef = 1
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/solver1/d/s/Apply_Attributes1.def"
+Content-Type: text/plain
+
+sopflags sopflags =
+comment ""
+position 8.17776 -18.7494
+connectornextid 3
+flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
+outputsNamed3
+{
+0 "output1"
+}
+inputsNamed3
+{
+1 move_boids 1 1 "input1"
+2 Do_transform1 0 1 "input2"
+}
+inputs
+{
+0 move_boids 0 1
+1 Do_transform1 0 1
+}
+stat
+{
+ create 1528499508
+ modify 1528730623
+ author Henry@LAPPY586
+ access 0777
+}
+color UT_Color RGB 0.8 0.8 0.8
+delscript ""
+exprlanguage hscript
+end
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/solver1/d/s/Apply_Attributes1.parm"
+Content-Type: text/plain
+
+{
+version 0.8
+group [ 0 locks=0 autoscope=0 ] ( "" )
+grouptype [ 0 locks=0 ] ( "guess" )
+do_translate [ 0 locks=0 autoscope=0 ] ( "off" )
+do_rotate [ 0 locks=0 autoscope=0 ] ( "on" )
+do_scale [ 0 locks=0 autoscope=0 ] ( "off" )
+do_falloff [ 0 locks=0 autoscope=0 ] ( "off" )
+ignore_no_falloff [ 0 locks=0 autoscope=0 ] ( "off" )
+rotate_mode [ 0 locks=0 autoscope=0 ] ( 1 )
+scale_mode [ 0 locks=0 autoscope=0 ] ( 1 )
+rotate_order [ 0 locks=0 autoscope=0 ] ( 0 )
+local_space [ 0 locks=0 autoscope=0 ] ( "on" )
+do_make_id [ 0 locks=0 autoscope=0 ] ( "on" )
+do_copy_attrs [ 0 locks=0 ] ( "off" )
+attribname [ 0 locks=0 autoscope=0 ] ( "" )
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/solver1/d/s/Apply_Attributes1.userdata"
+Content-Type: text/plain
+
+{
+ "___Version___":{
+ "type":"string",
+ "value":""
+ }
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/solver1/d/s/pointwrangle1.init"
+Content-Type: text/plain
+
+type = attribwrangle
+matchesdef = 1
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/solver1/d/s/pointwrangle1.def"
+Content-Type: text/plain
+
+sopflags sopflags =
+comment ""
+position 2.46914 -1.08748
+connectornextid 2
+flags = lock off model off template off footprint off xray off bypass on display off render off highlight off unload off savedata off compress on colordefault on exposed on
+outputsNamed3
+{
+0 "output1"
+}
+inputsNamed3
+{
+1 Input_1 0 1 "input1"
+}
+inputs
+{
+0 Input_1 0 1
+}
+stat
+{
+ create 1528499508
+ modify 1571107997
+ author Henry@LAPPY586
+ access 0777
+}
+color UT_Color RGB 0.8 0.8 0.8
+delscript ""
+exprlanguage hscript
+end
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/solver1/d/s/pointwrangle1.parm"
+Content-Type: text/plain
+
+{
+version 0.8
+folder0 [ 0 locks=0 autoscope=0 ] ( 0 0 )
+group [ 0 locks=0 autoscope=0 ] ( "" )
+grouptype [ 0 locks=0 autoscope=0 ] ( "guess" )
+class [ 0 locks=0 autoscope=0 ] ( "point" )
+vex_numcount [ 0 locks=0 autoscope=0 ] ( 10 )
+vex_threadjobsize [ 0 locks=0 autoscope=0 ] ( 1024 )
+snippet [ 0 locks=0 autoscope=0 ] ( "v@mops_steer = {0,0,0};" )
+exportlist [ 0 locks=0 autoscope=0 ] ( * )
+vex_strict [ 0 locks=0 autoscope=0 ] ( "off" )
+autobind [ 0 locks=0 autoscope=0 ] ( "on" )
+bindings [ 0 locks=0 autoscope=0 ] ( 0 )
+groupautobind [ 0 locks=0 autoscope=0 ] ( "on" )
+groupbindings [ 0 locks=0 autoscope=0 ] ( 0 )
+vex_cwdpath [ 0 locks=0 autoscope=0 ] ( . )
+vex_outputmask [ 0 locks=0 autoscope=0 ] ( * )
+vex_updatenmls [ 0 locks=0 autoscope=0 ] ( "off" )
+vex_matchattrib [ 0 locks=0 autoscope=0 ] ( id )
+vex_inplace [ 0 locks=0 autoscope=0 ] ( "off" )
+vex_selectiongroup [ 0 locks=0 autoscope=0 ] ( "" )
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/solver1/d/s/pointwrangle1.userdata"
+Content-Type: text/plain
+
+{
+ "___Version___":{
+ "type":"string",
+ "value":""
+ }
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/solver1/d/s/Do_transform1.init"
+Content-Type: text/plain
+
+type = attribwrangle
+matchesdef = 1
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/solver1/d/s/Do_transform1.def"
+Content-Type: text/plain
+
+sopflags sopflags =
+comment ""
+position 9.23856 -16.9926
+connectornextid 3
+flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
+outputsNamed3
+{
+0 "output1"
+}
+inputsNamed3
+{
+1 move_boids 1 1 "input1"
+2 (__dot1) "" 1 "input2"
+}
+inputs
+{
+0 move_boids 0 1
+1 (__dot1) 0 1
+}
+stat
+{
+ create 1528499508
+ modify 1571107997
+ author Henry@LAPPY586
+ access 0777
+}
+color UT_Color RGB 0.8 0.8 0.8
+delscript ""
+exprlanguage hscript
+end
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/solver1/d/s/Do_transform1.spareparmdef"
+Content-Type: text/plain
+
+ group {
+ name "folder1"
+ label "Code"
+
+ parm {
+ name "group"
+ baseparm
+ label "Group"
+ export none
+ bindselector points "Modify Points"
+ "Select the points to affect and press Enter to complete."
+ 0 1 0xffffffff 0 grouptype 0
+ }
+ parm {
+ name "grouptype"
+ baseparm
+ label "Group Type"
+ export none
+ }
+ parm {
+ name "class"
+ baseparm
+ label "Run Over"
+ export none
+ }
+ parm {
+ name "vex_numcount"
+ baseparm
+ label "Number Count"
+ export none
+ }
+ parm {
+ name "vex_threadjobsize"
+ baseparm
+ label "Thread Job Size"
+ export none
+ }
+ parm {
+ name "snippet"
+ baseparm
+ label "VEXpression"
+ export all
+ }
+ parm {
+ name "exportlist"
+ baseparm
+ label "Attributes to Create"
+ export none
+ }
+ parm {
+ name "vex_strict"
+ baseparm
+ label "Enforce Prototypes"
+ export none
+ }
+ }
+
+ group {
+ name "folder1_1"
+ label "Bindings"
+
+ parm {
+ name "autobind"
+ baseparm
+ label "Autobind by Name"
+ export none
+ }
+ multiparm {
+ name "bindings"
+ label "Number of Bindings"
+ baseparm
+ default 0
+ parmtag { "autoscope" "0000000000000000" }
+ parmtag { "multistartoffset" "1" }
+
+ parm {
+ name "bindname#"
+ baseparm
+ label "Attribute Name"
+ export none
+ }
+ parm {
+ name "bindparm#"
+ baseparm
+ label "VEX Parameter"
+ export none
+ }
+ }
+
+ parm {
+ name "groupautobind"
+ baseparm
+ label "Autobind Groups by Name"
+ export none
+ }
+ multiparm {
+ name "groupbindings"
+ label "Group Bindings"
+ baseparm
+ default 0
+ parmtag { "autoscope" "0000000000000000" }
+ parmtag { "multistartoffset" "1" }
+
+ parm {
+ name "bindgroupname#"
+ baseparm
+ label "Group Name"
+ export none
+ }
+ parm {
+ name "bindgroupparm#"
+ baseparm
+ label "VEX Parameter"
+ export none
+ }
+ }
+
+ parm {
+ name "vex_cwdpath"
+ baseparm
+ label "Evaluation Node Path"
+ export none
+ }
+ parm {
+ name "vex_outputmask"
+ baseparm
+ label "Export Parameters"
+ export none
+ }
+ parm {
+ name "vex_updatenmls"
+ baseparm
+ label "Update Normals If Displaced"
+ export none
+ }
+ parm {
+ name "vex_matchattrib"
+ baseparm
+ label "Attribute to Match"
+ export none
+ }
+ parm {
+ name "vex_inplace"
+ baseparm
+ label "Compute Results In Place"
+ export none
+ }
+ parm {
+ name "vex_selectiongroup"
+ baseparm
+ label "Output Selection Group"
+ export none
+ }
+ }
+
+ parm {
+ name "add_transform"
+ label "Add Transform"
+ type integer
+ default { "0" }
+ range { 0 10 }
+ }
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/solver1/d/s/Do_transform1.parm"
+Content-Type: text/plain
+
+{
+version 0.8
+folder0 [ 0 locks=0 autoscope=0 ] ( 0 0 )
+group [ 0 locks=0 autoscope=0 ] ( "" )
+grouptype [ 0 locks=0 autoscope=0 ] ( "guess" )
+class [ 0 locks=0 autoscope=0 ] ( "point" )
+vex_numcount [ 0 locks=0 autoscope=0 ] ( 10 )
+vex_threadjobsize [ 0 locks=0 autoscope=0 ] ( 1024 )
+snippet [ 0 locks=0 autoscope=0 ] ( "float pi = 3.14159265;
+float halfpi = 1.5707963;
+
+//get old and new N
+vector newN = v@mops_v;
+vector oldN = point(1, \"mops_v\", @ptnum);
+if(oldN == {0,0,0})
+ oldN = {0,0,1};
+
+newN = normalize(newN);
+oldN = normalize(oldN);
+
+//get axis via (double) cross product
+vector crossprod = cross(newN, oldN);
+//vector crossprod = cross(oldN, newN);
+vector doublecross = cross(crossprod, newN);
+
+//calculate new transform matrix and convert to quaternion
+matrix3 mNew = maketransform(newN, crossprod);
+//rotate(mNew, -halfpi, crossprod);
+vector4 orientNew = quaternion(mNew);
+
+p@orient = orientNew;" )
+exportlist [ 0 locks=0 autoscope=0 ] ( * )
+vex_strict [ 0 locks=0 autoscope=0 ] ( "off" )
+autobind [ 0 locks=0 autoscope=0 ] ( "on" )
+bindings [ 0 locks=0 autoscope=0 ] ( 0 )
+groupautobind [ 0 locks=0 autoscope=0 ] ( "on" )
+groupbindings [ 0 locks=0 autoscope=0 ] ( 0 )
+vex_cwdpath [ 0 locks=0 autoscope=0 ] ( . )
+vex_outputmask [ 0 locks=0 autoscope=0 ] ( * )
+vex_updatenmls [ 0 locks=0 autoscope=0 ] ( "off" )
+vex_matchattrib [ 0 locks=0 autoscope=0 ] ( id )
+vex_inplace [ 0 locks=0 autoscope=0 ] ( "off" )
+vex_selectiongroup [ 0 locks=0 autoscope=0 ] ( "" )
+folder1 [ 0 locks=0 autoscope=0 ] ( 0 0 )
+add_transform [ 0 locks=0 autoscope=0 ] ( 0 )
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/solver1/d/s/Do_transform1.userdata"
+Content-Type: text/plain
+
+{
+ "___Version___":{
+ "type":"string",
+ "value":""
+ }
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/solver1/d/s/pointwrangle2.init"
+Content-Type: text/plain
+
+type = attribwrangle
+matchesdef = 1
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/solver1/d/s/pointwrangle2.def"
+Content-Type: text/plain
+
+sopflags sopflags =
+comment ""
+position 3.59574 -4.71444
+connectornextid 3
+flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
+outputsNamed3
+{
+1 "output1"
+}
+inputsNamed3
+{
+0 switch1 2 1 "input1"
+2 Input_1 0 1 "input2"
+}
+inputs
+{
+0 switch1 0 1
+1 Input_1 0 1
+}
+stat
+{
+ create 1528730646
+ modify 1571107997
+ author Mo@Mo-PC
+ access 0777
+}
+color UT_Color RGB 0.8 0.8 0.8
+delscript ""
+exprlanguage hscript
+end
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/solver1/d/s/pointwrangle2.parm"
+Content-Type: text/plain
+
+{
+version 0.8
+folder0 [ 0 locks=0 ] ( 0 0 )
+group [ 0 locks=0 ] ( "" )
+grouptype [ 0 locks=0 ] ( "guess" )
+class [ 0 locks=0 ] ( "point" )
+vex_numcount [ 0 locks=0 ] ( 10 )
+vex_threadjobsize [ 0 locks=0 ] ( 1024 )
+snippet [ 0 locks=0 ] ( "f@mops_falloff = point(1, \"mops_falloff\", @ptnum);" )
+exportlist [ 0 locks=0 ] ( * )
+vex_strict [ 0 locks=0 ] ( "off" )
+autobind [ 0 locks=0 ] ( "on" )
+bindings [ 0 locks=0 ] ( 0 )
+groupautobind [ 0 locks=0 ] ( "on" )
+groupbindings [ 0 locks=0 ] ( 0 )
+vex_cwdpath [ 0 locks=0 ] ( . )
+vex_outputmask [ 0 locks=0 ] ( * )
+vex_updatenmls [ 0 locks=0 ] ( "off" )
+vex_matchattrib [ 0 locks=0 ] ( id )
+vex_inplace [ 0 locks=0 ] ( "off" )
+vex_selectiongroup [ 0 locks=0 ] ( "" )
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/solver1/d/s/pointwrangle2.userdata"
+Content-Type: text/plain
+
+{
+ "___Version___":{
+ "type":"string",
+ "value":""
+ }
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/Curveu.init"
+Content-Type: text/plain
+
+type = attribwrangle
+matchesdef = 1
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/Curveu.def"
+Content-Type: text/plain
+
+sopflags sopflags =
+comment ""
+position 3.52316 4.13475
+connectornextid 2
+flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
+outputsNamed3
+{
+1 "output1"
+}
+inputsNamed3
+{
+0 IN_tgt_spline 1 1 "input1"
+}
+inputs
+{
+0 IN_tgt_spline 0 1
+}
+stat
+{
+ create 1528499320
+ modify 1571107997
+ author Henry@LAPPY586
+ access 0777
+}
+color UT_Color RGB 0.8 0.8 0.8
+delscript ""
+exprlanguage hscript
+end
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/Curveu.parm"
+Content-Type: text/plain
+
+{
+version 0.8
+folder0 [ 0 locks=0 autoscope=0 ] ( 0 0 )
+group [ 0 locks=0 autoscope=0 ] ( "" )
+grouptype [ 0 locks=0 autoscope=0 ] ( "guess" )
+class [ 0 locks=0 autoscope=0 ] ( "primitive" )
+vex_numcount [ 0 locks=0 autoscope=0 ] ( 10 )
+vex_threadjobsize [ 0 locks=0 autoscope=0 ] ( 1024 )
+snippet [ 0 locks=0 autoscope=0 ] ( "int pts[] = primpoints(0, @primnum);
+float total = len(pts) - 1.0;
+float n = 0.0;
+
+foreach(int pt; pts){
+ float curveu = n / total;
+ setpointattrib(0, \"mops_curveu\", pt, curveu);
+ n++;
+}" )
+exportlist [ 0 locks=0 autoscope=0 ] ( * )
+vex_strict [ 0 locks=0 autoscope=0 ] ( "off" )
+autobind [ 0 locks=0 autoscope=0 ] ( "on" )
+bindings [ 0 locks=0 autoscope=0 ] ( 0 )
+groupautobind [ 0 locks=0 autoscope=0 ] ( "on" )
+groupbindings [ 0 locks=0 autoscope=0 ] ( 0 )
+vex_cwdpath [ 0 locks=0 autoscope=0 ] ( . )
+vex_outputmask [ 0 locks=0 autoscope=0 ] ( * )
+vex_updatenmls [ 0 locks=0 autoscope=0 ] ( "off" )
+vex_matchattrib [ 0 locks=0 autoscope=0 ] ( id )
+vex_inplace [ 0 locks=0 autoscope=0 ] ( "off" )
+vex_selectiongroup [ 0 locks=0 autoscope=0 ] ( "" )
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/Curveu.userdata"
+Content-Type: text/plain
+
+{
+ "___Version___":{
+ "type":"string",
+ "value":""
+ }
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/extract_tgt_point.init"
+Content-Type: text/plain
+
+type = attribwrangle
+matchesdef = 1
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/extract_tgt_point.def"
+Content-Type: text/plain
+
+sopflags sopflags =
+comment ""
+position 3.52316 3.15262
+connectornextid 2
+flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
+outputsNamed3
+{
+0 "output1"
+}
+inputsNamed3
+{
+1 Curveu 1 1 "input1"
+}
+inputs
+{
+0 Curveu 0 1
+}
+stat
+{
+ create 1528499320
+ modify 1571107997
+ author Henry@LAPPY586
+ access 0777
+}
+color UT_Color RGB 0.8 0.8 0.8
+delscript ""
+exprlanguage hscript
+end
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/extract_tgt_point.spareparmdef"
+Content-Type: text/plain
+
+ group {
+ name "folder1"
+ label "Code"
+
+ parm {
+ name "group"
+ baseparm
+ label "Group"
+ export none
+ bindselector points "Modify Points"
+ "Select the points to affect and press Enter to complete."
+ 0 1 0xffffffff 0 grouptype 0
+ }
+ parm {
+ name "grouptype"
+ baseparm
+ label "Group Type"
+ export none
+ }
+ parm {
+ name "class"
+ baseparm
+ label "Run Over"
+ export none
+ }
+ parm {
+ name "vex_numcount"
+ baseparm
+ label "Number Count"
+ export none
+ }
+ parm {
+ name "vex_threadjobsize"
+ baseparm
+ label "Thread Job Size"
+ export none
+ }
+ parm {
+ name "snippet"
+ baseparm
+ label "VEXpression"
+ export all
+ }
+ parm {
+ name "exportlist"
+ baseparm
+ label "Attributes to Create"
+ export none
+ }
+ parm {
+ name "vex_strict"
+ baseparm
+ label "Enforce Prototypes"
+ export none
+ }
+ }
+
+ group {
+ name "folder1_1"
+ label "Bindings"
+
+ parm {
+ name "autobind"
+ baseparm
+ label "Autobind by Name"
+ export none
+ }
+ multiparm {
+ name "bindings"
+ label "Number of Bindings"
+ baseparm
+ default 0
+ parmtag { "autoscope" "0000000000000000" }
+ parmtag { "multistartoffset" "1" }
+
+ parm {
+ name "bindname#"
+ baseparm
+ label "Attribute Name"
+ export none
+ }
+ parm {
+ name "bindparm#"
+ baseparm
+ label "VEX Parameter"
+ export none
+ }
+ }
+
+ parm {
+ name "groupautobind"
+ baseparm
+ label "Autobind Groups by Name"
+ export none
+ }
+ multiparm {
+ name "groupbindings"
+ label "Group Bindings"
+ baseparm
+ default 0
+ parmtag { "autoscope" "0000000000000000" }
+ parmtag { "multistartoffset" "1" }
+
+ parm {
+ name "bindgroupname#"
+ baseparm
+ label "Group Name"
+ export none
+ }
+ parm {
+ name "bindgroupparm#"
+ baseparm
+ label "VEX Parameter"
+ export none
+ }
+ }
+
+ parm {
+ name "vex_cwdpath"
+ baseparm
+ label "Evaluation Node Path"
+ export none
+ }
+ parm {
+ name "vex_outputmask"
+ baseparm
+ label "Export Parameters"
+ export none
+ }
+ parm {
+ name "vex_updatenmls"
+ baseparm
+ label "Update Normals If Displaced"
+ export none
+ }
+ parm {
+ name "vex_matchattrib"
+ baseparm
+ label "Attribute to Match"
+ export none
+ }
+ parm {
+ name "vex_inplace"
+ baseparm
+ label "Compute Results In Place"
+ export none
+ }
+ parm {
+ name "vex_selectiongroup"
+ baseparm
+ label "Output Selection Group"
+ export none
+ }
+ }
+
+ parm {
+ name "position_on_spline"
+ label "Position On Spline"
+ type float
+ default { "0" }
+ range { 0 1 }
+ }
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/extract_tgt_point.chn"
+Content-Type: text/plain
+
+{
+ channel position_on_spline {
+ lefttype = extend
+ righttype = extend
+ flags = 0
+ segment { length = 0 expr = ch(\"../position_on_spline\") }
+ }
+ }
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/extract_tgt_point.parm"
+Content-Type: text/plain
+
+{
+version 0.8
+folder0 [ 0 locks=0 autoscope=0 ] ( 0 0 )
+group [ 0 locks=0 autoscope=0 ] ( "" )
+grouptype [ 0 locks=0 autoscope=0 ] ( "guess" )
+class [ 0 locks=0 autoscope=0 ] ( "primitive" )
+vex_numcount [ 0 locks=0 autoscope=0 ] ( 10 )
+vex_threadjobsize [ 0 locks=0 autoscope=0 ] ( 1024 )
+snippet [ 0 locks=0 autoscope=0 ] ( "float splinepos = chf(\"position_on_spline\");
+vector pos = primuv(0, \"P\", 0, splinepos);
+
+removeprim(0, @primnum, 1);
+
+addpoint(0, pos);
+
+" )
+exportlist [ 0 locks=0 autoscope=0 ] ( * )
+vex_strict [ 0 locks=0 autoscope=0 ] ( "off" )
+autobind [ 0 locks=0 autoscope=0 ] ( "on" )
+bindings [ 0 locks=0 autoscope=0 ] ( 0 )
+groupautobind [ 0 locks=0 autoscope=0 ] ( "on" )
+groupbindings [ 0 locks=0 autoscope=0 ] ( 0 )
+vex_cwdpath [ 0 locks=0 autoscope=0 ] ( . )
+vex_outputmask [ 0 locks=0 autoscope=0 ] ( * )
+vex_updatenmls [ 0 locks=0 autoscope=0 ] ( "off" )
+vex_matchattrib [ 0 locks=0 autoscope=0 ] ( id )
+vex_inplace [ 0 locks=0 autoscope=0 ] ( "off" )
+vex_selectiongroup [ 0 locks=0 autoscope=0 ] ( "" )
+folder1 [ 0 locks=0 autoscope=0 ] ( 0 0 )
+position_on_spline [ 0 locks=0 autoscope=0 ] ( [ position_on_spline 0.25 ] )
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/extract_tgt_point.userdata"
+Content-Type: text/plain
+
+{
+ "___Version___":{
+ "type":"string",
+ "value":""
+ }
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/restore_original_index.init"
+Content-Type: text/plain
+
+type = attribwrangle
+matchesdef = 1
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/restore_original_index.def"
+Content-Type: text/plain
+
+sopflags sopflags =
+comment ""
+position 0.000449994 -3.06835
+connectornextid 2
+flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
+outputsNamed3
+{
+1 "output1"
+}
+inputsNamed3
+{
+0 copy_frame_index 1 1 "input1"
+}
+inputs
+{
+0 copy_frame_index 0 1
+}
+stat
+{
+ create 1531969324
+ modify 1571107997
+ author Henry@LAPPY586
+ access 0777
+}
+color UT_Color RGB 0.8 0.8 0.8
+delscript ""
+exprlanguage hscript
+end
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/restore_original_index.parm"
+Content-Type: text/plain
+
+{
+version 0.8
+folder0 [ 0 locks=0 ] ( 0 0 )
+group [ 0 locks=0 ] ( "" )
+grouptype [ 0 locks=0 ] ( "guess" )
+class [ 0 locks=0 ] ( "point" )
+vex_numcount [ 0 locks=0 ] ( 10 )
+vex_threadjobsize [ 0 locks=0 ] ( 1024 )
+snippet [ 0 locks=0 ] ( "float index = @__index;
+if(i@__ispackedsequence) {
+ setprimintrinsic(0, \"index\", @ptnum, index, \"set\");
+
+} else if(i@__isabc) {
+ setprimintrinsic(0, \"abcframe\", @ptnum, index, \"set\");
+ string wrap = point(0, \"mops_abc_wrap\", @ptnum);
+ if(wrap == \"strict\") {
+ float start = point(0, \"mops_abc_start\", @ptnum);
+ float end = point(0, \"mops_abc_end\", @ptnum);
+ if((index < start) || (index > end)) {
+ removeprim(0, @ptnum, 1);
+ }
+ }
+}" )
+exportlist [ 0 locks=0 ] ( * )
+vex_strict [ 0 locks=0 ] ( "off" )
+autobind [ 0 locks=0 ] ( "on" )
+bindings [ 0 locks=0 ] ( 0 )
+groupautobind [ 0 locks=0 ] ( "on" )
+groupbindings [ 0 locks=0 ] ( 0 )
+vex_cwdpath [ 0 locks=0 ] ( . )
+vex_outputmask [ 0 locks=0 ] ( * )
+vex_updatenmls [ 0 locks=0 ] ( "off" )
+vex_matchattrib [ 0 locks=0 ] ( id )
+vex_inplace [ 0 locks=0 ] ( "off" )
+vex_selectiongroup [ 0 locks=0 ] ( "" )
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/restore_original_index.userdata"
+Content-Type: text/plain
+
+{
+ "___Version___":{
+ "type":"string",
+ "value":""
+ }
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/store_sequence_index.init"
+Content-Type: text/plain
+
+type = attribwrangle
+matchesdef = 1
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/store_sequence_index.def"
+Content-Type: text/plain
+
+sopflags sopflags =
+comment ""
+position -1.45635 3.59903
+connectornextid 2
+flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
+outputsNamed3
+{
+1 "output1"
+}
+inputsNamed3
+{
+0 split1 0 1 "input1"
+}
+inputs
+{
+0 split1 0 1
+}
+stat
+{
+ create 1531965466
+ modify 1571107997
+ author Henry@LAPPY586
+ access 0777
+}
+color UT_Color RGB 0.8 0.8 0.8
+delscript ""
+exprlanguage hscript
+end
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/store_sequence_index.parm"
+Content-Type: text/plain
+
+{
+version 0.8
+folder0 [ 0 locks=0 ] ( 0 0 )
+group [ 0 locks=0 ] ( "" )
+grouptype [ 8 locks=0 ] ( "guess" )
+class [ 0 locks=0 ] ( "point" )
+vex_numcount [ 0 locks=0 ] ( 10 )
+vex_threadjobsize [ 0 locks=0 ] ( 1024 )
+snippet [ 0 locks=0 ] ( "float index;
+
+if(i@__ispackedsequence) {
+ index = primintrinsic(0, \"index\", @ptnum);
+
+} else if(i@__isabc) {
+ index = primintrinsic(0, \"abcframe\", @ptnum);
+
+}
+f@__index = index;" )
+exportlist [ 0 locks=0 ] ( * )
+vex_strict [ 0 locks=0 ] ( "off" )
+autobind [ 0 locks=0 ] ( "on" )
+bindings [ 0 locks=0 ] ( 0 )
+groupautobind [ 0 locks=0 ] ( "on" )
+groupbindings [ 0 locks=0 ] ( 0 )
+vex_cwdpath [ 0 locks=0 ] ( . )
+vex_outputmask [ 0 locks=0 ] ( * )
+vex_updatenmls [ 0 locks=0 ] ( "off" )
+vex_matchattrib [ 0 locks=0 ] ( id )
+vex_inplace [ 0 locks=0 ] ( "off" )
+vex_selectiongroup [ 0 locks=0 ] ( "" )
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/store_sequence_index.userdata"
+Content-Type: text/plain
+
+{
+ "___Version___":{
+ "type":"string",
+ "value":""
+ }
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/solver1/d/s/Prev_Frame.init"
+Content-Type: text/plain
+
+type = dopimport
+matchesdef = 0
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/solver1/d/s/Prev_Frame.def"
+Content-Type: text/plain
+
+sopflags sopflags =
+comment ""
+position 4.72834 -1.53928
+connectornextid 0
+flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault off exposed on
+outputsNamed3
+{
+1 "output1"
+}
+inputsNamed3
+{
+}
+inputs
+{
+}
+stat
+{
+ create 1324348265
+ modify 1571107997
+ author jlait@andorra.sidefx.com
+ access 0777
+}
+color UT_Color RGB 0.6 0.4 1
+delscript ""
+exprlanguage hscript
+end
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/solver1/d/s/Prev_Frame.chn"
+Content-Type: text/plain
+
+{
+ channel integrateovertime {
+ lefttype = extend
+ righttype = extend
+ flags = 0
+ segment { length = 0 expr = 1/$FPS }
+ }
+ channel doposxform {
+ lefttype = extend
+ righttype = extend
+ flags = 0
+ segment { length = 0 value = 1 1 expr = ch(\"../transformsopoutput\") }
+ }
+ channel doxform {
+ lefttype = extend
+ righttype = extend
+ flags = 0
+ segment { length = 0 value = 1 1 expr = ch(\"../transformsopoutput\") }
+ }
+ }
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/solver1/d/s/Prev_Frame.parm"
+Content-Type: text/plain
+
+{
+version 0.8
+doppath [ 0 locks=0 autoscope=0 ] ( "`stamps(\"..\", \"DOPNET\", \"../..\")`" )
+objpattern [ 0 locks=0 autoscope=0 ] ( "`stamps(\"..\", \"OBJID\", arg(dopnodeobjs(\"..\"),0))`" )
+singleobject [ 0 locks=0 autoscope=0 ] ( "on" )
+importstyle [ 0 locks=0 autoscope=0 ] ( "fetch" )
+pivot [ 0 locks=0 autoscope=0 ] ( "centroid" )
+viewportlod [ 0 locks=0 autoscope=0 ] ( "full" )
+importbyname [ 0 locks=0 autoscope=0 ] ( "on" )
+objectnames [ 0 locks=0 autoscope=0 ] ( "dopobject" )
+geodatapath [ 0 locks=0 autoscope=0 ] ( "`stamps(\"..\", \"DATANAME\", chs(\"../datapath\"))`" )
+inverseop [ 0 locks=0 autoscope=0 ] ( "off" )
+doposxform [ 0 locks=0 autoscope=0 ] ( [ doposxform 1 ] )
+doxform [ 0 locks=0 autoscope=0 ] ( [ doxform 1 ] )
+keepworldspacepos [ 0 locks=0 autoscope=0 ] ( "on" )
+centeratpivot [ 0 locks=0 autoscope=0 ] ( "off" )
+addname [ 0 locks=0 autoscope=0 ] ( "off" )
+adddopobjectname [ 0 locks=0 autoscope=0 ] ( "off" )
+adddopobjectid [ 0 locks=0 autoscope=0 ] ( "off" )
+addtoexistingvel [ 0 locks=0 autoscope=0 ] ( "on" )
+deleteabandoned [ 0 locks=0 autoscope=0 ] ( "on" )
+pointvels [ 0 locks=0 autoscope=0 ] ( "none" )
+integrateovertime [ 0 locks=0 autoscope=0 ] ( [ integrateovertime 0.041666666666666664 ] )
+donotsim [ 0 locks=0 autoscope=0 ] ( "on" )
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/solver1/d/s/Prev_Frame.userdata"
+Content-Type: text/plain
+
+{
+ "___Version___":{
+ "type":"string",
+ "value":"17.5.229"
+ }
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/solver1/d/s/Input_1.init"
+Content-Type: text/plain
+
+type = object_merge
+matchesdef = 0
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/solver1/d/s/Input_1.def"
+Content-Type: text/plain
+
+sopflags sopflags =
+comment ""
+position 2.46914 0.04202
+connectornextid 1
+flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault off exposed on
+outputsNamed3
+{
+0 "output1"
+}
+inputsNamed3
+{
+}
+inputs
+{
+}
+stat
+{
+ create 1324348294
+ modify 1571107997
+ author jlait@andorra.sidefx.com
+ access 0777
+}
+color UT_Color RGB 0.8 0.8 0.8
+delscript ""
+exprlanguage hscript
+end
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/solver1/d/s/Input_1.parm"
+Content-Type: text/plain
+
+{
+version 0.8
+numobj [ 0 locks=0 autoscope=0 ] ( 1 )
+_separator [ 0 locks=0 ] ( )
+xformtype [ 0 locks=0 autoscope=0 ] ( "object" )
+xformpath [ 0 locks=0 autoscope=0 ] ( "" )
+invertxform [ 0 locks=0 autoscope=0 ] ( "off" )
+createptgroups [ 0 locks=0 autoscope=0 ] ( "off" )
+ptgroupprefix [ 0 locks=0 autoscope=0 ] ( _ptgrp_ )
+createprimgroups [ 0 locks=0 autoscope=0 ] ( "off" )
+primgroupprefix [ 0 locks=0 autoscope=0 ] ( _primgrp_ )
+verbosegroups [ 0 locks=0 autoscope=0 ] ( "off" )
+suffixfirstgroup [ 0 locks=0 autoscope=0 ] ( "on" )
+createptstring [ 0 locks=0 autoscope=0 ] ( "off" )
+createprimstring [ 0 locks=0 autoscope=0 ] ( "off" )
+pathattrib [ 0 locks=0 autoscope=0 ] ( objname )
+pack [ 0 locks=0 autoscope=0 ] ( "off" )
+pivot [ 0 locks=0 autoscope=0 ] ( "centroid" )
+viewportlod [ 0 locks=0 autoscope=0 ] ( "full" )
+addpath [ 0 locks=0 autoscope=0 ] ( "on" )
+enable1 [ 0 locks=0 autoscope=0 ] ( "on" )
+objpath1 [ 0 locks=0 autoscope=0 ] ( "`opinputpath(\"../..\", 0)`" )
+group1 [ 0 locks=0 autoscope=0 ] ( "" )
+expand1 [ 0 locks=0 autoscope=0 ] ( "off" )
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/solver1/d/s/Input_1.userdata"
+Content-Type: text/plain
+
+{
+ "___Version___":{
+ "type":"string",
+ "value":"17.5.229"
+ }
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/solver1/d/s/Input_2.init"
+Content-Type: text/plain
+
+type = object_merge
+matchesdef = 0
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/solver1/d/s/Input_2.def"
+Content-Type: text/plain
+
+sopflags sopflags =
+comment ""
+position 6.98454 -12.6689
+connectornextid 1
+flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault off exposed on
+outputsNamed3
+{
+0 "output1"
+}
+inputsNamed3
+{
+}
+inputs
+{
+}
+stat
+{
+ create 1324348294
+ modify 1571107997
+ author jlait@andorra.sidefx.com
+ access 0777
+}
+color UT_Color RGB 0.8 0.8 0.8
+delscript ""
+exprlanguage hscript
+end
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/solver1/d/s/Input_2.parm"
+Content-Type: text/plain
+
+{
+version 0.8
+numobj [ 0 locks=0 autoscope=0 ] ( 1 )
+_separator [ 0 locks=0 ] ( )
+xformtype [ 0 locks=0 autoscope=0 ] ( "object" )
+xformpath [ 0 locks=0 autoscope=0 ] ( "" )
+invertxform [ 0 locks=0 autoscope=0 ] ( "off" )
+createptgroups [ 0 locks=0 autoscope=0 ] ( "off" )
+ptgroupprefix [ 0 locks=0 autoscope=0 ] ( _ptgrp_ )
+createprimgroups [ 0 locks=0 autoscope=0 ] ( "off" )
+primgroupprefix [ 0 locks=0 autoscope=0 ] ( _primgrp_ )
+verbosegroups [ 0 locks=0 autoscope=0 ] ( "off" )
+suffixfirstgroup [ 0 locks=0 autoscope=0 ] ( "on" )
+createptstring [ 0 locks=0 autoscope=0 ] ( "off" )
+createprimstring [ 0 locks=0 autoscope=0 ] ( "off" )
+pathattrib [ 0 locks=0 autoscope=0 ] ( objname )
+pack [ 0 locks=0 autoscope=0 ] ( "off" )
+pivot [ 0 locks=0 autoscope=0 ] ( "centroid" )
+viewportlod [ 0 locks=0 autoscope=0 ] ( "full" )
+addpath [ 0 locks=0 autoscope=0 ] ( "on" )
+enable1 [ 0 locks=0 autoscope=0 ] ( "on" )
+objpath1 [ 0 locks=0 autoscope=0 ] ( "`opinputpath(\"../..\", 1)`" )
+group1 [ 0 locks=0 autoscope=0 ] ( "" )
+expand1 [ 0 locks=0 autoscope=0 ] ( "off" )
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/solver1/d/s/Input_2.userdata"
+Content-Type: text/plain
+
+{
+ "___Version___":{
+ "type":"string",
+ "value":"17.5.229"
+ }
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/solver1/d/s/switch1.init"
+Content-Type: text/plain
+
+type = switch
+matchesdef = 0
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/solver1/d/s/switch1.def"
+Content-Type: text/plain
+
+sopflags sopflags =
+comment ""
+position 3.59874 -2.51818
+connectornextid 3
+flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
+outputsNamed3
+{
+2 "output1"
+}
+inputsNamed3
+{
+0 pointwrangle1 0 1 "input1"
+1 Prev_Frame 1 1 "input2"
+}
+inputs
+{
+0 pointwrangle1 0 1
+1 Prev_Frame 0 1
+}
+stat
+{
+ create 1528499508
+ modify 1528499558
+ author Henry@LAPPY586
+ access 0777
+}
+color UT_Color RGB 0.8 1 0.7
+delscript ""
+exprlanguage hscript
+end
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/solver1/d/s/switch1.chn"
+Content-Type: text/plain
+
+{
+ channel input {
+ lefttype = extend
+ righttype = extend
+ flags = 0
+ segment { length = 0 expr = "$FF > 1" }
+ }
+ }
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/solver1/d/s/switch1.parm"
+Content-Type: text/plain
+
+{
+version 0.8
+input [ 0 locks=0 autoscope=0 ] ( [ input 0 ] )
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/solver1/d/s/switch1.userdata"
+Content-Type: text/plain
+
+{
+ "___Version___":{
+ "type":"string",
+ "value":"17.5.229"
+ }
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/solver1/d/s/attribpromote1.init"
+Content-Type: text/plain
+
+type = attribpromote
+matchesdef = 0
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/solver1/d/s/attribpromote1.def"
+Content-Type: text/plain
+
+sopflags sopflags =
+comment ""
+position 3.59574 -7.69914
+connectornextid 2
+flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
+outputsNamed3
+{
+0 "output1"
+}
+inputsNamed3
+{
+1 init_steer 0 1 "input1"
+}
+inputs
+{
+0 init_steer 0 1
+}
+stat
+{
+ create 1528499508
+ modify 1528730617
+ author Henry@LAPPY586
+ access 0777
+}
+color UT_Color RGB 0.8 0.8 0.8
+delscript ""
+exprlanguage hscript
+end
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/solver1/d/s/attribpromote1.parm"
+Content-Type: text/plain
+
+{
+version 0.8
+inname [ 0 locks=0 autoscope=0 ] ( P )
+inclass [ 0 locks=0 autoscope=0 ] ( "point" )
+outclass [ 0 locks=0 autoscope=0 ] ( "detail" )
+usepieceattrib [ 0 locks=0 ] ( "off" )
+pieceattrib [ 0 locks=0 ] ( name )
+method [ 0 locks=0 autoscope=0 ] ( "mean" )
+useoutname [ 0 locks=0 autoscope=0 ] ( "on" )
+outname [ 0 locks=0 autoscope=0 ] ( mops_center )
+deletein [ 0 locks=0 autoscope=0 ] ( "off" )
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/solver1/d/s/attribpromote1.userdata"
+Content-Type: text/plain
+
+{
+ "___Version___":{
+ "type":"string",
+ "value":"17.5.229"
+ }
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/solver1/d/s/switch2.init"
+Content-Type: text/plain
+
+type = switch
+matchesdef = 0
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/solver1/d/s/switch2.def"
+Content-Type: text/plain
+
+sopflags sopflags =
+comment ""
+position 7.35414 -20.295
+connectornextid 2
+flags = lock off model off template off footprint off xray off bypass off display on render on highlight off unload off savedata off compress on colordefault on exposed on
+outputsNamed3
+{
+}
+inputsNamed3
+{
+0 move_boids 1 1 "input1"
+1 Apply_Attributes1 0 1 "input2"
+}
+inputs
+{
+0 move_boids 0 1
+1 Apply_Attributes1 0 1
+}
+stat
+{
+ create 1528499508
+ modify 1528730622
+ author Henry@LAPPY586
+ access 0777
+}
+color UT_Color RGB 0.8 1 0.7
+delscript ""
+exprlanguage hscript
+end
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/solver1/d/s/switch2.parm"
+Content-Type: text/plain
+
+{
+version 0.8
+input [ 0 locks=0 autoscope=0 ] ( 1 )
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/solver1/d/s/switch2.userdata"
+Content-Type: text/plain
+
+{
+ "___Version___":{
+ "type":"string",
+ "value":"17.5.229"
+ }
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/solver1/d/s/__dot1.networkdotinit"
+Content-Type: text/plain
+
+{
+ "version":1,
+ "posx":9.74155778570789188,
+ "posy":-6.41863687800452887,
+ "pinned":false,
+ "color":"FROMOUTPUT",
+ "input":"switch1 0 1"
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/solver1/d/s.order"
+Content-Type: text/plain
+
+18
+Prev_Frame
+Input_1
+Input_2
+fly_towards_CoM
+repell_each_other
+move_boids
+switch1
+attribpromote1
+limit_vel
+switch2
+init_steer
+match_velocities1
+add_noise
+move_to_tgt
+Apply_Attributes1
+pointwrangle1
+Do_transform1
+pointwrangle2
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/solver1/d/s.net"
+Content-Type: text/plain
+
+1
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/attribdelete1.init"
+Content-Type: text/plain
+
+type = attribdelete
+matchesdef = 1
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/attribdelete1.def"
+Content-Type: text/plain
+
+sopflags sopflags =
+comment ""
+position -0.00345 -0.107616
+connectornextid 2
+flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
+outputsNamed3
+{
+1 "output1"
+}
+inputsNamed3
+{
+0 solver1 2 1 "input1"
+}
+inputs
+{
+0 solver1 0 1
+}
+stat
+{
+ create 1528499320
+ modify 1542135481
+ author Henry@LAPPY586
+ access 0777
+}
+color UT_Color RGB 0.8 0.8 0.8
+delscript ""
+exprlanguage hscript
+end
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/attribdelete1.parm"
+Content-Type: text/plain
+
+{
+version 0.8
+ptdel [ 0 locks=0 autoscope=0 ] ( "mops_N mops_steer mops_v" )
+vtxdel [ 0 locks=0 autoscope=0 ] ( "" )
+primdel [ 0 locks=0 autoscope=0 ] ( "" )
+dtldel [ 0 locks=0 autoscope=0 ] ( "" )
+updatevar [ 0 locks=0 autoscope=0 ] ( "on" )
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/attribdelete1.userdata"
+Content-Type: text/plain
+
+{
+ "___Version___":{
+ "type":"string",
+ "value":""
+ }
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/IN.init"
+Content-Type: text/plain
+
+type = null
+matchesdef = 0
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/IN.def"
+Content-Type: text/plain
+
+sopflags sopflags =
+comment ""
+position -2.91654 6.12703
+connectornextid 2
+flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
+outputsNamed3
+{
+1 "output1"
+}
+inputsNamed3
+{
+0 (0) "" 1 "input1"
+}
+inputs
+{
+0 (0) 0 1
+}
+stat
+{
+ create 1528499320
+ modify 1542135307
+ author Henry@LAPPY586
+ access 0777
+}
+color UT_Color RGB 0.6 0.7 0.77
+delscript ""
+exprlanguage hscript
+end
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/IN.parm"
+Content-Type: text/plain
+
+{
+version 0.8
+copyinput [ 0 locks=0 autoscope=0 ] ( "on" )
+cacheinput [ 0 locks=0 autoscope=0 ] ( "off" )
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/IN.userdata"
+Content-Type: text/plain
+
+{
+ "___Version___":{
+ "type":"string",
+ "value":"17.5.229"
+ }
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/IN_tgt_spline.init"
+Content-Type: text/plain
+
+type = null
+matchesdef = 0
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/IN_tgt_spline.def"
+Content-Type: text/plain
+
+sopflags sopflags =
+comment ""
+position 3.52616 5.2176
+connectornextid 2
+flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
+outputsNamed3
+{
+1 "output1"
+}
+inputsNamed3
+{
+0 (1) "" 1 "input1"
+}
+inputs
+{
+0 (1) 0 1
+}
+stat
+{
+ create 1528499320
+ modify 1528499328
+ author Henry@LAPPY586
+ access 0777
+}
+color UT_Color RGB 0.6 0.7 0.77
+delscript ""
+exprlanguage hscript
+end
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/IN_tgt_spline.parm"
+Content-Type: text/plain
+
+{
+version 0.8
+copyinput [ 0 locks=0 autoscope=0 ] ( "on" )
+cacheinput [ 0 locks=0 autoscope=0 ] ( "off" )
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/IN_tgt_spline.userdata"
+Content-Type: text/plain
+
+{
+ "___Version___":{
+ "type":"string",
+ "value":"17.5.229"
+ }
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/split1.init"
+Content-Type: text/plain
+
+type = split
+matchesdef = 1
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/split1.def"
+Content-Type: text/plain
+
+sopflags sopflags =
+comment ""
+position -2.91654 4.63893
+connectornextid 3
+flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
+outputsNamed3
+{
+0 "output1"
+2 "output2"
+}
+inputsNamed3
+{
+1 IN 1 1 "input1"
+}
+inputs
+{
+0 IN 0 1
+}
+stat
+{
+ create 1528499320
+ modify 1571107997
+ author Henry@LAPPY586
+ access 0777
+}
+color UT_Color RGB 0.8 0.8 0.8
+delscript ""
+exprlanguage hscript
+end
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/split1.chn"
+Content-Type: text/plain
+
+{
+ channel group {
+ lefttype = extend
+ righttype = extend
+ flags = 0
+ segment { length = 0 expr = chs(\"../group\") }
+ }
+ channel grouptype {
+ lefttype = extend
+ righttype = extend
+ flags = 0
+ segment { length = 0 expr = ch(\"../grouptype\") }
+ }
+ }
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/split1.parm"
+Content-Type: text/plain
+
+{
+version 0.8
+group [ 0 locks=0 autoscope=0 ] ( [ group "" ] )
+grouptype [ 0 locks=0 autoscope=0 ] ( [ grouptype 0 ] )
+negate [ 0 locks=0 autoscope=0 ] ( "off" )
+removegrp [ 0 locks=0 autoscope=0 ] ( "off" )
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/split1.userdata"
+Content-Type: text/plain
+
+{
+ "___Version___":{
+ "type":"string",
+ "value":""
+ }
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/switch_use_groups.init"
+Content-Type: text/plain
+
+type = switch
+matchesdef = 0
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/switch_use_groups.def"
+Content-Type: text/plain
+
+sopflags sopflags =
+comment ""
+position -4.9293e-09 -4.16625
+connectornextid 3
+flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
+outputsNamed3
+{
+2 "output1"
+}
+inputsNamed3
+{
+0 restore_original_index 1 1 "input1"
+1 merge1 0 1 "input2"
+}
+inputs
+{
+0 restore_original_index 0 1
+1 merge1 0 1
+}
+stat
+{
+ create 1528499320
+ modify 1542135523
+ author Henry@LAPPY586
+ access 0777
+}
+color UT_Color RGB 0.8 1 0.7
+delscript ""
+exprlanguage hscript
+end
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/switch_use_groups.chn"
+Content-Type: text/plain
+
+{
+ channel input {
+ lefttype = extend
+ righttype = extend
+ flags = 0
+ segment { length = 0 expr = "group = hou.pwd().node(\"../split1\").evalParm(\"group\")
+if group:
+ return 1
+return 0" language = python }
+ }
+ }
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/switch_use_groups.parm"
+Content-Type: text/plain
+
+{
+version 0.8
+input [ 0 locks=0 autoscope=0 ] ( [ input 0 ] )
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/switch_use_groups.userdata"
+Content-Type: text/plain
+
+{
+ "___Version___":{
+ "type":"string",
+ "value":"17.5.229"
+ }
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/merge1.init"
+Content-Type: text/plain
+
+type = merge
+matchesdef = 0
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/merge1.def"
+Content-Type: text/plain
+
+sopflags sopflags =
+comment ""
+position -2.07778 -1.23693
+connectornextid 3
+flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
+outputsNamed3
+{
+0 "output1"
+}
+inputsNamed3
+{
+1 null1 0 1 "input1"
+2 attribdelete1 1 1 "input2"
+}
+inputs
+{
+0 null1 0 1
+1 attribdelete1 0 1
+}
+stat
+{
+ create 1528499320
+ modify 1542135350
+ author Henry@LAPPY586
+ access 0777
+}
+color UT_Color RGB 0.8 0.8 0.8
+delscript ""
+exprlanguage hscript
+end
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/merge1.parm"
+Content-Type: text/plain
+
+{
+version 0.8
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/merge1.userdata"
+Content-Type: text/plain
+
+{
+ "___Version___":{
+ "type":"string",
+ "value":"17.5.229"
+ }
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/null1.init"
+Content-Type: text/plain
+
+type = null
+matchesdef = 0
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/null1.def"
+Content-Type: text/plain
+
+sopflags sopflags =
+comment ""
+position -2.07663 1.09081
+connectornextid 2
+flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
+outputsNamed3
+{
+0 "output1"
+}
+inputsNamed3
+{
+1 split1 2 1 "input1"
+}
+inputs
+{
+0 split1 1 1
+}
+stat
+{
+ create 1528499320
+ modify 1528499328
+ author Henry@LAPPY586
+ access 0777
+}
+color UT_Color RGB 0.6 0.7 0.77
+delscript ""
+exprlanguage hscript
+end
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/null1.parm"
+Content-Type: text/plain
+
+{
+version 0.8
+copyinput [ 0 locks=0 autoscope=0 ] ( "on" )
+cacheinput [ 0 locks=0 autoscope=0 ] ( "off" )
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/null1.userdata"
+Content-Type: text/plain
+
+{
+ "___Version___":{
+ "type":"string",
+ "value":"17.5.229"
+ }
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/OUT.init"
+Content-Type: text/plain
+
+type = output
+matchesdef = 0
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/OUT.def"
+Content-Type: text/plain
+
+sopflags sopflags =
+comment ""
+position 4.38393e-09 -5.51144
+connectornextid 1
+flags = lock off model off template off footprint off xray off bypass off display on render on highlight off unload off savedata off compress on colordefault on exposed on
+outputsNamed3
+{
+}
+inputsNamed3
+{
+0 switch_use_groups 2 1 "input1"
+}
+inputs
+{
+0 switch_use_groups 0 1
+}
+stat
+{
+ create 1528499320
+ modify 1542135528
+ author Henry@LAPPY586
+ access 0777
+}
+color UT_Color RGB 0.8 0.8 0.8
+delscript ""
+exprlanguage hscript
+end
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/OUT.parm"
+Content-Type: text/plain
+
+{
+version 0.8
+outputidx [ 0 locks=0 autoscope=0 ] ( 0 )
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/OUT.userdata"
+Content-Type: text/plain
+
+{
+ "___Version___":{
+ "type":"string",
+ "value":"17.5.229"
+ }
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/copy_frame_index.init"
+Content-Type: text/plain
+
+type = attribcopy
+matchesdef = 0
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/copy_frame_index.def"
+Content-Type: text/plain
+
+sopflags sopflags =
+comment ""
+position -4.9293e-09 -2.02845
+connectornextid 3
+flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
+outputsNamed3
+{
+1 "output1"
+}
+inputsNamed3
+{
+0 attribdelete1 1 1 "input1"
+2 store_sequence_index 1 1 "input2"
+}
+inputs
+{
+0 attribdelete1 0 1
+1 store_sequence_index 0 1
+}
+stat
+{
+ create 1542135463
+ modify 1542135528
+ author Henry@LAPPY586
+ access 0777
+}
+color UT_Color RGB 0.8 0.8 0.8
+delscript ""
+exprlanguage hscript
+end
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/copy_frame_index.parm"
+Content-Type: text/plain
+
+{
+version 0.8
+srcgroup [ 0 locks=0 ] ( "" )
+srcgrouptype [ 0 locks=0 ] ( "points" )
+destgroup [ 0 locks=0 ] ( "" )
+destgrouptype [ 0 locks=0 ] ( "points" )
+matchbyattribute [ 0 locks=0 ] ( "on" )
+attributetomatch [ 0 locks=0 ] ( id )
+attrib [ 0 locks=0 ] ( "otherattrib" )
+attribname [ 0 locks=0 ] ( __index )
+copyp [ 0 locks=0 ] ( "on" )
+usenewname [ 0 locks=0 ] ( "off" )
+newname [ 0 locks=0 ] ( "" )
+class [ 0 locks=0 ] ( "guess" )
+copyvariable [ 0 locks=0 ] ( "on" )
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/copy_frame_index.userdata"
+Content-Type: text/plain
+
+{
+ "___Version___":{
+ "type":"string",
+ "value":"17.5.229"
+ }
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot.order"
+Content-Type: text/plain
+
+15
+init_vel
+solver1
+attribdelete1
+IN
+IN_tgt_spline
+Curveu
+extract_tgt_point
+split1
+switch_use_groups
+merge1
+null1
+OUT
+restore_original_index
+store_sequence_index
+copy_frame_index
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot.net"
+Content-Type: text/plain
+
+1
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY--
diff --git a/otls/MOPS_Flocking_Modifier.hda/MOPS_8_8Sop_1Flocking_8_81.0/ExtraFileOptions b/otls/MOPS_Flocking_Modifier.hda/MOPS_8_8Sop_1Flocking_8_81.0/ExtraFileOptions
index 2cdf6c58..88bfd4a5 100644
--- a/otls/MOPS_Flocking_Modifier.hda/MOPS_8_8Sop_1Flocking_8_81.0/ExtraFileOptions
+++ b/otls/MOPS_Flocking_Modifier.hda/MOPS_8_8Sop_1Flocking_8_81.0/ExtraFileOptions
@@ -19,6 +19,26 @@
"type":"string",
"value":""
},
+ "OnLoaded/Cursor":{
+ "type":"intarray",
+ "value":[2,27]
+ },
+ "OnLoaded/IsExpr":{
+ "type":"bool",
+ "value":false
+ },
+ "OnLoaded/IsPython":{
+ "type":"bool",
+ "value":true
+ },
+ "OnLoaded/IsScript":{
+ "type":"bool",
+ "value":true
+ },
+ "OnLoaded/Source":{
+ "type":"string",
+ "value":""
+ },
"mops_modifier_02.svg/Cursor":{
"type":"intarray",
"value":[1,1]
diff --git a/otls/MOPS_Flocking_Modifier.hda/MOPS_8_8Sop_1Flocking_8_81.0/OnLoaded b/otls/MOPS_Flocking_Modifier.hda/MOPS_8_8Sop_1Flocking_8_81.0/OnLoaded
new file mode 100644
index 00000000..cd7c49a5
--- /dev/null
+++ b/otls/MOPS_Flocking_Modifier.hda/MOPS_8_8Sop_1Flocking_8_81.0/OnLoaded
@@ -0,0 +1,2 @@
+flock_type = hou.nodeType("MOPS::Sop/Flocking::1.0")
+flock_type.setHidden(True)
\ No newline at end of file
diff --git a/otls/MOPS_Flocking_Modifier.hda/MOPS_8_8Sop_1Flocking_8_81.0/Sections.list b/otls/MOPS_Flocking_Modifier.hda/MOPS_8_8Sop_1Flocking_8_81.0/Sections.list
index 44115c8c..c4d88183 100644
--- a/otls/MOPS_Flocking_Modifier.hda/MOPS_8_8Sop_1Flocking_8_81.0/Sections.list
+++ b/otls/MOPS_Flocking_Modifier.hda/MOPS_8_8Sop_1Flocking_8_81.0/Sections.list
@@ -8,5 +8,6 @@ InternalFileOptions InternalFileOptions
Contents.gz Contents.gz
IconSVG IconSVG
OnCreated OnCreated
+OnLoaded OnLoaded
ExtraFileOptions ExtraFileOptions
mops__modifier__02.svg mops_modifier_02.svg
diff --git a/otls/MOPS_Mesh_Flow.hda/INDEX__SECTION b/otls/MOPS_Mesh_Flow.hda/INDEX__SECTION
index 45c8ed29..137ba034 100644
--- a/otls/MOPS_Mesh_Flow.hda/INDEX__SECTION
+++ b/otls/MOPS_Mesh_Flow.hda/INDEX__SECTION
@@ -10,7 +10,7 @@ Inputs: 1 to 1
Subnet: true
Python: false
Empty: false
-Modified: Mon Nov 11 21:13:36 2019
+Modified: Mon Feb 3 19:45:18 2020
Operator: MOPS::Mesh_Flow::1.0
Label: MOPs Mesh Flow
@@ -24,5 +24,5 @@ Inputs: 1 to 1
Subnet: true
Python: false
Empty: false
-Modified: Sun Jun 24 17:21:01 2018
+Modified: Sun Jun 24 19:21:01 2018
diff --git a/otls/MOPS_Mesh_Flow.hda/MOPS_8_8Sop_1Mesh__Flow_8_81.1/Contents.dir/.OPdummydefs b/otls/MOPS_Mesh_Flow.hda/MOPS_8_8Sop_1Mesh__Flow_8_81.1/Contents.dir/.OPdummydefs
index 4115fdb5..ee96192b 100644
Binary files a/otls/MOPS_Mesh_Flow.hda/MOPS_8_8Sop_1Mesh__Flow_8_81.1/Contents.dir/.OPdummydefs and b/otls/MOPS_Mesh_Flow.hda/MOPS_8_8Sop_1Mesh__Flow_8_81.1/Contents.dir/.OPdummydefs differ
diff --git a/otls/MOPS_Mesh_Flow.hda/MOPS_8_8Sop_1Mesh__Flow_8_81.1/Contents.dir/.OPfallbacks b/otls/MOPS_Mesh_Flow.hda/MOPS_8_8Sop_1Mesh__Flow_8_81.1/Contents.dir/.OPfallbacks
index 980003fd..925242d3 100644
--- a/otls/MOPS_Mesh_Flow.hda/MOPS_8_8Sop_1Mesh__Flow_8_81.1/Contents.dir/.OPfallbacks
+++ b/otls/MOPS_Mesh_Flow.hda/MOPS_8_8Sop_1Mesh__Flow_8_81.1/Contents.dir/.OPfallbacks
@@ -1,18 +1,18 @@
-Sop/attribblur C:/PROGRA~1/SIDEEF~1/HOUDIN~1.229/houdini/otls/OPlibSop.hda
+Sop/attribblur C:/PROGRA~1/SIDEEF~1/HOUDIN~1.348/houdini/otls/OPlibSop.hda
Sop/attribblur otls/OPlibSop.hda
-Sop/attribdelete C:/PROGRA~1/SIDEEF~1/HOUDIN~1.229/houdini/otls/OPlibSop.hda
+Sop/attribdelete C:/PROGRA~1/SIDEEF~1/HOUDIN~1.348/houdini/otls/OPlibSop.hda
Sop/attribdelete otls/OPlibSop.hda
-Sop/attribwrangle C:/PROGRA~1/SIDEEF~1/HOUDIN~1.229/houdini/otls/OPlibSop.hda
+Sop/attribwrangle C:/PROGRA~1/SIDEEF~1/HOUDIN~1.348/houdini/otls/OPlibSop.hda
Sop/attribwrangle otls/OPlibSop.hda
-Vop/curlnoise C:/PROGRA~1/SIDEEF~1/HOUDIN~1.229/houdini/otls/OPlibScripted.hda
+Vop/curlnoise C:/PROGRA~1/SIDEEF~1/HOUDIN~1.348/houdini/otls/OPlibScripted.hda
Vop/curlnoise otls/OPlibScripted.hda
-Vop/geometryvopglobal::2.0 C:/PROGRA~1/SIDEEF~1/HOUDIN~1.229/houdini/otls/OPlibVop.hda
+Vop/geometryvopglobal::2.0 C:/PROGRA~1/SIDEEF~1/HOUDIN~1.348/houdini/otls/OPlibVop.hda
Vop/geometryvopglobal::2.0 otls/OPlibVop.hda
-Vop/geometryvopoutput C:/PROGRA~1/SIDEEF~1/HOUDIN~1.229/houdini/otls/OPlibVop.hda
+Vop/geometryvopoutput C:/PROGRA~1/SIDEEF~1/HOUDIN~1.348/houdini/otls/OPlibVop.hda
Vop/geometryvopoutput otls/OPlibVop.hda
-Vop/mix C:/PROGRA~1/SIDEEF~1/HOUDIN~1.229/houdini/otls/OPlibScripted.hda
+Vop/mix C:/PROGRA~1/SIDEEF~1/HOUDIN~1.348/houdini/otls/OPlibScripted.hda
Vop/mix otls/OPlibScripted.hda
-Vop/normalize C:/PROGRA~1/SIDEEF~1/HOUDIN~1.229/houdini/otls/OPlibScripted.hda
+Vop/normalize C:/PROGRA~1/SIDEEF~1/HOUDIN~1.348/houdini/otls/OPlibScripted.hda
Vop/normalize otls/OPlibScripted.hda
-Sop/visualize C:/PROGRA~1/SIDEEF~1/HOUDIN~1.229/houdini/otls/OPlibSop.hda
+Sop/visualize C:/PROGRA~1/SIDEEF~1/HOUDIN~1.348/houdini/otls/OPlibSop.hda
Sop/visualize otls/OPlibSop.hda
diff --git a/otls/MOPS_Mesh_Flow.hda/MOPS_8_8Sop_1Mesh__Flow_8_81.1/Contents.dir/Contents.mime b/otls/MOPS_Mesh_Flow.hda/MOPS_8_8Sop_1Mesh__Flow_8_81.1/Contents.dir/Contents.mime
index dc30b4fb..bf649ddd 100644
--- a/otls/MOPS_Mesh_Flow.hda/MOPS_8_8Sop_1Mesh__Flow_8_81.1/Contents.dir/Contents.mime
+++ b/otls/MOPS_Mesh_Flow.hda/MOPS_8_8Sop_1Mesh__Flow_8_81.1/Contents.dir/Contents.mime
@@ -32,22 +32,25 @@ Content-Type: text/plain
sopflags sopflags =
comment ""
-position 2.91803 -0.928689
-connectornextid 0
+position 14.4846 -10.2863
+connectornextid 2
flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
outputsNamed3
{
+1 "output1"
}
inputsNamed3
{
+0 vellumcloth1 1 1 "input1"
}
inputs
{
+0 vellumcloth1 0 1
}
stat
{
- create 1573535166
- modify 1573535301
+ create 1580754233
+ modify 1580787868
author Henry@LAPPY586
access 0777
}
@@ -105,7 +108,7 @@ inputs
stat
{
create 1526617897
- modify 1573535166
+ modify 1580754233
author Henry@LAPPY586
access 0777
}
@@ -288,6 +291,12 @@ Content-Type: text/plain
default { "0" }
range { 0 10 }
}
+ parm {
+ name "vex_precision"
+ baseparm
+ label "VEX Precision"
+ export none
+ }
--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
Content-Disposition: attachment; filename="hdaroot/cross_up.parm"
@@ -315,6 +324,7 @@ vex_updatenmls [ 0 locks=0 ] ( "off" )
vex_matchattrib [ 0 locks=0 ] ( id )
vex_inplace [ 0 locks=0 ] ( "off" )
vex_selectiongroup [ 0 locks=0 ] ( "" )
+vex_precision [ 0 locks=0 ] ( auto )
folder1 [ 0 locks=0 ] ( 0 0 )
up [ 0 locks=0 ] ( 0 1 0 )
cross [ 0 locks=0 ] ( 0 )
@@ -344,7 +354,7 @@ Content-Type: text/plain
sopflags sopflags =
comment ""
-position 1.33382 -6.2558
+position 3.7101 -5.28151
connectornextid 2
flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault off exposed on
outputsNamed3
@@ -362,7 +372,7 @@ inputs
stat
{
create 1526617949
- modify 1529782497
+ modify 1580787879
author Henry@LAPPY586
access 0777
}
@@ -543,7 +553,7 @@ inputs
stat
{
create 1526618124
- modify 1573535166
+ modify 1580754233
author Henry@LAPPY586
access 0777
}
@@ -580,6 +590,7 @@ vex_updatenmls [ 0 locks=0 ] ( "off" )
vex_matchattrib [ 0 locks=0 ] ( id )
vex_inplace [ 0 locks=0 ] ( "off" )
vex_selectiongroup [ 0 locks=0 ] ( "" )
+vex_precision [ 0 locks=0 ] ( auto )
}
--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
@@ -615,16 +626,16 @@ outputsNamed3
}
inputsNamed3
{
-0 visualize1 1 1 "input1"
+0 do_viz 1 1 "input1"
}
inputs
{
-0 visualize1 0 1
+0 do_viz 0 1
}
stat
{
create 1526618368
- modify 1573535167
+ modify 1580787869
author Henry@LAPPY586
access 0777
}
@@ -1176,6 +1187,12 @@ Content-Type: text/plain
parmtag { "parmvop" "1" }
parmtag { "shaderparmcontexts" "cvex" }
}
+ parm {
+ name "vex_precision"
+ baseparm
+ label "VEX Precision"
+ export none
+ }
--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
Content-Disposition: attachment; filename="hdaroot/curl_noise.chn"
@@ -1299,6 +1316,7 @@ vop_forcecompile [ 0 locks=0 ] ( 0 )
vex_cwdpath [ 0 locks=0 ] ( "" )
vex_outputmask [ 0 locks=0 ] ( * )
vex_multithread [ 0 locks=0 ] ( "on" )
+vex_precision [ 0 locks=0 ] ( auto )
autobind [ 0 locks=0 ] ( "on" )
bindings [ 0 locks=0 ] ( 0 )
groupautobind [ 0 locks=0 ] ( "on" )
@@ -1353,7 +1371,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"17.5.229"
+ "value":"18.0.348"
}
}
@@ -1660,7 +1678,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"17.5.229"
+ "value":"18.0.348"
}
}
@@ -1734,6 +1752,9 @@ colordef [ 0 locks=0 ] ( 0 0 0 )
color4def [ 0 locks=0 ] ( 0 0 0 0 )
bsdfdef [ 0 locks=0 ] ( "" )
coshaderdef [ 0 locks=0 ] ( "" )
+surfacedef [ 0 locks=0 ] ( "" )
+displacementdef [ 0 locks=0 ] ( "" )
+atmospheredef [ 0 locks=0 ] ( "" )
floatadef [ 0 locks=0 ] ( )
intadef [ 0 locks=0 ] ( )
vector2adef [ 0 locks=0 ] ( )
@@ -1763,7 +1784,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"17.5.229"
+ "value":"18.0.348"
}
}
@@ -1842,6 +1863,9 @@ colordef [ 0 locks=0 ] ( 0 0 0 )
color4def [ 0 locks=0 ] ( 0 0 0 0 )
bsdfdef [ 0 locks=0 ] ( "" )
coshaderdef [ 0 locks=0 ] ( "" )
+surfacedef [ 0 locks=0 ] ( "" )
+displacementdef [ 0 locks=0 ] ( "" )
+atmospheredef [ 0 locks=0 ] ( "" )
floatadef [ 0 locks=0 ] ( )
intadef [ 0 locks=0 ] ( )
vector2adef [ 0 locks=0 ] ( )
@@ -1890,7 +1914,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"17.5.229"
+ "value":"18.0.348"
}
}
@@ -1965,6 +1989,9 @@ colordef [ 0 locks=0 ] ( 0 0 0 )
color4def [ 0 locks=0 ] ( 0 0 0 0 )
bsdfdef [ 0 locks=0 ] ( "" )
coshaderdef [ 0 locks=0 ] ( "" )
+surfacedef [ 0 locks=0 ] ( "" )
+displacementdef [ 0 locks=0 ] ( "" )
+atmospheredef [ 0 locks=0 ] ( "" )
floatadef [ 0 locks=0 ] ( )
intadef [ 0 locks=0 ] ( )
vector2adef [ 0 locks=0 ] ( )
@@ -1994,7 +2021,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"17.5.229"
+ "value":"18.0.348"
}
}
@@ -2073,6 +2100,9 @@ colordef [ 0 locks=0 ] ( 0 0 0 )
color4def [ 0 locks=0 ] ( 0 0 0 0 )
bsdfdef [ 0 locks=0 ] ( "" )
coshaderdef [ 0 locks=0 ] ( "" )
+surfacedef [ 0 locks=0 ] ( "" )
+displacementdef [ 0 locks=0 ] ( "" )
+atmospheredef [ 0 locks=0 ] ( "" )
floatadef [ 0 locks=0 ] ( )
intadef [ 0 locks=0 ] ( )
vector2adef [ 0 locks=0 ] ( )
@@ -2121,7 +2151,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"17.5.229"
+ "value":"18.0.348"
}
}
@@ -2200,6 +2230,9 @@ colordef [ 0 locks=0 ] ( 0 0 0 )
color4def [ 0 locks=0 ] ( 0 0 0 0 )
bsdfdef [ 0 locks=0 ] ( "" )
coshaderdef [ 0 locks=0 ] ( "" )
+surfacedef [ 0 locks=0 ] ( "" )
+displacementdef [ 0 locks=0 ] ( "" )
+atmospheredef [ 0 locks=0 ] ( "" )
floatadef [ 0 locks=0 ] ( )
intadef [ 0 locks=0 ] ( )
vector2adef [ 0 locks=0 ] ( )
@@ -2248,7 +2281,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"17.5.229"
+ "value":"18.0.348"
}
}
@@ -2327,6 +2360,9 @@ colordef [ 0 locks=0 ] ( 0 0 0 )
color4def [ 0 locks=0 ] ( 0 0 0 0 )
bsdfdef [ 0 locks=0 ] ( "" )
coshaderdef [ 0 locks=0 ] ( "" )
+surfacedef [ 0 locks=0 ] ( "" )
+displacementdef [ 0 locks=0 ] ( "" )
+atmospheredef [ 0 locks=0 ] ( "" )
floatadef [ 0 locks=0 ] ( )
intadef [ 0 locks=0 ] ( )
vector2adef [ 0 locks=0 ] ( )
@@ -2375,7 +2411,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"17.5.229"
+ "value":"18.0.348"
}
}
@@ -2454,6 +2490,9 @@ colordef [ 0 locks=0 ] ( 0 0 0 )
color4def [ 0 locks=0 ] ( 0 0 0 0 )
bsdfdef [ 0 locks=0 ] ( "" )
coshaderdef [ 0 locks=0 ] ( "" )
+surfacedef [ 0 locks=0 ] ( "" )
+displacementdef [ 0 locks=0 ] ( "" )
+atmospheredef [ 0 locks=0 ] ( "" )
floatadef [ 0 locks=0 ] ( )
intadef [ 0 locks=0 ] ( )
vector2adef [ 0 locks=0 ] ( )
@@ -2502,7 +2541,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"17.5.229"
+ "value":"18.0.348"
}
}
@@ -2581,6 +2620,9 @@ colordef [ 0 locks=0 ] ( 0 0 0 )
color4def [ 0 locks=0 ] ( 0 0 0 0 )
bsdfdef [ 0 locks=0 ] ( "" )
coshaderdef [ 0 locks=0 ] ( "" )
+surfacedef [ 0 locks=0 ] ( "" )
+displacementdef [ 0 locks=0 ] ( "" )
+atmospheredef [ 0 locks=0 ] ( "" )
floatadef [ 0 locks=0 ] ( )
intadef [ 0 locks=0 ] ( )
vector2adef [ 0 locks=0 ] ( )
@@ -2629,7 +2671,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"17.5.229"
+ "value":"18.0.348"
}
}
@@ -2708,6 +2750,9 @@ colordef [ 0 locks=0 ] ( 0 0 0 )
color4def [ 0 locks=0 ] ( 0 0 0 0 )
bsdfdef [ 0 locks=0 ] ( "" )
coshaderdef [ 0 locks=0 ] ( "" )
+surfacedef [ 0 locks=0 ] ( "" )
+displacementdef [ 0 locks=0 ] ( "" )
+atmospheredef [ 0 locks=0 ] ( "" )
floatadef [ 0 locks=0 ] ( )
intadef [ 0 locks=0 ] ( )
vector2adef [ 0 locks=0 ] ( )
@@ -2756,7 +2801,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"17.5.229"
+ "value":"18.0.348"
}
}
@@ -2835,6 +2880,9 @@ colordef [ 0 locks=0 ] ( 0 0 0 )
color4def [ 0 locks=0 ] ( 0 0 0 0 )
bsdfdef [ 0 locks=0 ] ( "" )
coshaderdef [ 0 locks=0 ] ( "" )
+surfacedef [ 0 locks=0 ] ( "" )
+displacementdef [ 0 locks=0 ] ( "" )
+atmospheredef [ 0 locks=0 ] ( "" )
floatadef [ 0 locks=0 ] ( )
intadef [ 0 locks=0 ] ( )
vector2adef [ 0 locks=0 ] ( )
@@ -2883,7 +2931,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"17.5.229"
+ "value":"18.0.348"
}
}
@@ -2962,6 +3010,9 @@ colordef [ 0 locks=0 ] ( 0 0 0 )
color4def [ 0 locks=0 ] ( 0 0 0 0 )
bsdfdef [ 0 locks=0 ] ( "" )
coshaderdef [ 0 locks=0 ] ( "" )
+surfacedef [ 0 locks=0 ] ( "" )
+displacementdef [ 0 locks=0 ] ( "" )
+atmospheredef [ 0 locks=0 ] ( "" )
floatadef [ 0 locks=0 ] ( )
intadef [ 0 locks=0 ] ( )
vector2adef [ 0 locks=0 ] ( )
@@ -3010,7 +3061,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"17.5.229"
+ "value":"18.0.348"
}
}
@@ -3089,6 +3140,9 @@ colordef [ 0 locks=0 ] ( 0 0 0 )
color4def [ 0 locks=0 ] ( 0 0 0 0 )
bsdfdef [ 0 locks=0 ] ( "" )
coshaderdef [ 0 locks=0 ] ( "" )
+surfacedef [ 0 locks=0 ] ( "" )
+displacementdef [ 0 locks=0 ] ( "" )
+atmospheredef [ 0 locks=0 ] ( "" )
floatadef [ 0 locks=0 ] ( )
intadef [ 0 locks=0 ] ( )
vector2adef [ 0 locks=0 ] ( )
@@ -3137,7 +3191,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"17.5.229"
+ "value":"18.0.348"
}
}
@@ -3216,6 +3270,9 @@ colordef [ 0 locks=0 ] ( 0 0 0 )
color4def [ 0 locks=0 ] ( 0 0 0 0 )
bsdfdef [ 0 locks=0 ] ( "" )
coshaderdef [ 0 locks=0 ] ( "" )
+surfacedef [ 0 locks=0 ] ( "" )
+displacementdef [ 0 locks=0 ] ( "" )
+atmospheredef [ 0 locks=0 ] ( "" )
floatadef [ 0 locks=0 ] ( )
intadef [ 0 locks=0 ] ( )
vector2adef [ 0 locks=0 ] ( )
@@ -3264,7 +3321,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"17.5.229"
+ "value":"18.0.348"
}
}
@@ -3343,6 +3400,9 @@ colordef [ 0 locks=0 ] ( 0 0 0 )
color4def [ 0 locks=0 ] ( 0 0 0 0 )
bsdfdef [ 0 locks=0 ] ( "" )
coshaderdef [ 0 locks=0 ] ( "" )
+surfacedef [ 0 locks=0 ] ( "" )
+displacementdef [ 0 locks=0 ] ( "" )
+atmospheredef [ 0 locks=0 ] ( "" )
floatadef [ 0 locks=0 ] ( )
intadef [ 0 locks=0 ] ( )
vector2adef [ 0 locks=0 ] ( )
@@ -3391,7 +3451,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"17.5.229"
+ "value":"18.0.348"
}
}
@@ -3470,6 +3530,9 @@ colordef [ 0 locks=0 ] ( 0 0 0 )
color4def [ 0 locks=0 ] ( 0 0 0 0 )
bsdfdef [ 0 locks=0 ] ( "" )
coshaderdef [ 0 locks=0 ] ( "" )
+surfacedef [ 0 locks=0 ] ( "" )
+displacementdef [ 0 locks=0 ] ( "" )
+atmospheredef [ 0 locks=0 ] ( "" )
floatadef [ 0 locks=0 ] ( )
intadef [ 0 locks=0 ] ( )
vector2adef [ 0 locks=0 ] ( )
@@ -3518,7 +3581,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"17.5.229"
+ "value":"18.0.348"
}
}
@@ -3747,6 +3810,9 @@ colordef [ 0 locks=0 ] ( 0 0 0 )
color4def [ 0 locks=0 ] ( 0 0 0 0 )
bsdfdef [ 0 locks=0 ] ( "" )
coshaderdef [ 0 locks=0 ] ( "" )
+surfacedef [ 0 locks=0 ] ( "" )
+displacementdef [ 0 locks=0 ] ( "" )
+atmospheredef [ 0 locks=0 ] ( "" )
floatadef [ 0 locks=0 ] ( )
intadef [ 0 locks=0 ] ( )
vector2adef [ 0 locks=0 ] ( )
@@ -3776,7 +3842,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"17.5.229"
+ "value":"18.0.348"
}
}
@@ -3855,6 +3921,9 @@ colordef [ 0 locks=0 ] ( 0 0 0 )
color4def [ 0 locks=0 ] ( 0 0 0 0 )
bsdfdef [ 0 locks=0 ] ( "" )
coshaderdef [ 0 locks=0 ] ( "" )
+surfacedef [ 0 locks=0 ] ( "" )
+displacementdef [ 0 locks=0 ] ( "" )
+atmospheredef [ 0 locks=0 ] ( "" )
floatadef [ 0 locks=0 ] ( )
intadef [ 0 locks=0 ] ( )
vector2adef [ 0 locks=0 ] ( )
@@ -3903,7 +3972,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"17.5.229"
+ "value":"18.0.348"
}
}
@@ -3938,7 +4007,7 @@ inputs
stat
{
create 1529781411
- modify 1573535166
+ modify 1580754233
author henry@GlaDOS
access 0777
}
@@ -4121,6 +4190,12 @@ Content-Type: text/plain
default { "0" }
range { 0 10 }
}
+ parm {
+ name "vex_precision"
+ baseparm
+ label "VEX Precision"
+ export none
+ }
--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
Content-Disposition: attachment; filename="hdaroot/make_up.chn"
@@ -4185,6 +4260,7 @@ vex_updatenmls [ 0 locks=0 ] ( "off" )
vex_matchattrib [ 0 locks=0 ] ( id )
vex_inplace [ 0 locks=0 ] ( "off" )
vex_selectiongroup [ 0 locks=0 ] ( "" )
+vex_precision [ 0 locks=0 ] ( auto )
folder1 [ 0 locks=0 ] ( 0 0 )
up_vector [ 0 locks=0 ] ( [ up_vectorx 0 ] [ up_vectory 1 ] [ up_vectorz 0 ] )
auto_up [ 0 locks=0 ] ( [ auto_up 1 ] )
@@ -4232,7 +4308,7 @@ inputs
stat
{
create 1529782497
- modify 1573535166
+ modify 1580754233
author henry@GlaDOS
access 0777
}
@@ -4414,6 +4490,12 @@ Content-Type: text/plain
default { "0" }
range { 0 10 }
}
+ parm {
+ name "vex_precision"
+ baseparm
+ label "VEX Precision"
+ export none
+ }
--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
Content-Disposition: attachment; filename="hdaroot/inversions.chn"
@@ -4464,6 +4546,7 @@ vex_updatenmls [ 0 locks=0 ] ( "off" )
vex_matchattrib [ 0 locks=0 ] ( id )
vex_inplace [ 0 locks=0 ] ( "off" )
vex_selectiongroup [ 0 locks=0 ] ( "" )
+vex_precision [ 0 locks=0 ] ( auto )
folder1 [ 0 locks=0 ] ( 0 0 )
invert_N [ 0 locks=0 ] ( [ invert_N 0 ] )
invert_up [ 0 locks=0 ] ( [ invert_up 0 ] )
@@ -4511,7 +4594,7 @@ inputs
stat
{
create 1548356239
- modify 1573535166
+ modify 1580754233
author Henry@LAPPY586
access 0777
}
@@ -4611,7 +4694,7 @@ inputs
stat
{
create 1548356267
- modify 1573535166
+ modify 1580754233
author Henry@LAPPY586
access 0777
}
@@ -4647,6 +4730,7 @@ vex_updatenmls [ 0 locks=0 ] ( "off" )
vex_matchattrib [ 0 locks=0 ] ( id )
vex_inplace [ 0 locks=0 ] ( "off" )
vex_selectiongroup [ 0 locks=0 ] ( "" )
+vex_precision [ 0 locks=0 ] ( auto )
}
--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
@@ -4715,7 +4799,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"17.5.229"
+ "value":"18.0.348"
}
}
@@ -4811,7 +4895,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"17.5.229"
+ "value":"18.0.348"
}
}
@@ -4837,18 +4921,18 @@ outputsNamed3
}
inputsNamed3
{
-1 visualize1 1 1 "input1"
+1 do_viz 1 1 "input1"
2 curl_noise 2 1 "input2"
}
inputs
{
-0 visualize1 0 1
+0 do_viz 0 1
1 curl_noise 0 1
}
stat
{
create 1526619587
- modify 1573535166
+ modify 1580787868
author Henry@LAPPY586
access 0777
}
@@ -4876,7 +4960,7 @@ Content-Type: text/plain
{
version 0.8
-input [ 0 locks=0 ] ( [ input 1 ] )
+input [ 0 locks=0 ] ( [ input 0 ] )
}
--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
@@ -4886,7 +4970,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"17.5.229"
+ "value":"18.0.348"
}
}
@@ -4921,7 +5005,7 @@ inputs
stat
{
create 1529781023
- modify 1573535166
+ modify 1580754233
author henry@GlaDOS
access 0777
}
@@ -5046,7 +5130,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"17.5.229"
+ "value":"18.0.348"
}
}
@@ -5085,7 +5169,7 @@ inputs
stat
{
create 1529781118
- modify 1573535166
+ modify 1580754233
author henry@GlaDOS
access 0777
}
@@ -5123,7 +5207,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"17.5.229"
+ "value":"18.0.348"
}
}
@@ -5184,7 +5268,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"17.5.229"
+ "value":"18.0.348"
}
}
@@ -5245,7 +5329,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"17.5.229"
+ "value":"18.0.348"
}
}
@@ -5306,7 +5390,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"17.5.229"
+ "value":"18.0.348"
}
}
@@ -5365,6 +5449,7 @@ docompute [ 0 locks=0 ] ( "on" )
type [ 0 locks=0 ] ( "typepoint" )
cuspangle [ 0 locks=0 ] ( 60 )
method [ 0 locks=0 ] ( 1 )
+origifzero [ 0 locks=0 ] ( "off" )
modify [ 0 locks=0 ] ( 0 )
normalize [ 0 locks=0 ] ( "off" )
reverse [ 0 locks=0 ] ( "off" )
@@ -5377,7 +5462,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"17.5.229"
+ "value":"18.0.348"
}
}
@@ -5445,7 +5530,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"17.5.229"
+ "value":"18.0.348"
}
}
@@ -5513,7 +5598,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"17.5.229"
+ "value":"18.0.348"
}
}
@@ -5550,7 +5635,7 @@ inputs
stat
{
create 1529781399
- modify 1573535166
+ modify 1580754233
author henry@GlaDOS
access 0777
}
@@ -5588,7 +5673,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"17.5.229"
+ "value":"18.0.348"
}
}
@@ -5625,7 +5710,7 @@ inputs
stat
{
create 1531533595
- modify 1573535166
+ modify 1580754233
author Henry@LAPPY586
access 0777
}
@@ -5664,7 +5749,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"17.5.229"
+ "value":"18.0.348"
}
}
@@ -5701,7 +5786,7 @@ inputs
stat
{
create 1531533642
- modify 1573535166
+ modify 1580754233
author Henry@LAPPY586
access 0777
}
@@ -5740,7 +5825,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"17.5.229"
+ "value":"18.0.348"
}
}
@@ -5777,7 +5862,7 @@ inputs
stat
{
create 1548356363
- modify 1573535166
+ modify 1580754233
author Henry@LAPPY586
access 0777
}
@@ -5815,7 +5900,82 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"17.5.229"
+ "value":"18.0.348"
+ }
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/do_viz.init"
+Content-Type: text/plain
+
+type = switch
+matchesdef = 0
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/do_viz.def"
+Content-Type: text/plain
+
+sopflags sopflags =
+comment ""
+position 1.33682 -5.91682
+connectornextid 3
+flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
+outputsNamed3
+{
+1 "output1"
+}
+inputsNamed3
+{
+0 inversions 1 1 "input1"
+2 visualize1 1 1 "input2"
+}
+inputs
+{
+0 inversions 0 1
+1 visualize1 0 1
+}
+stat
+{
+ create 1580787868
+ modify 1580787920
+ author Henry@LAPPY586
+ access 0777
+}
+color UT_Color RGB 0.8 1 0.7
+delscript ""
+exprlanguage hscript
+end
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/do_viz.chn"
+Content-Type: text/plain
+
+{
+ channel input {
+ lefttype = extend
+ righttype = extend
+ flags = 0
+ segment { length = 0 expr = ch(\"../do_viz\") }
+ }
+ }
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/do_viz.parm"
+Content-Type: text/plain
+
+{
+version 0.8
+input [ 0 locks=0 ] ( [ input 0 ] )
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/do_viz.userdata"
+Content-Type: text/plain
+
+{
+ "___Version___":{
+ "type":"string",
+ "value":"18.0.348"
}
}
@@ -5823,7 +5983,7 @@ Content-Type: text/plain
Content-Disposition: attachment; filename="hdaroot.order"
Content-Type: text/plain
-23
+24
output1
cross_up
visualize1
@@ -5847,6 +6007,7 @@ do_up
attribblur1
pointwrangle1
do_blur
+do_viz
--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
Content-Disposition: attachment; filename="hdaroot.net"
diff --git a/otls/MOPS_Mesh_Flow.hda/MOPS_8_8Sop_1Mesh__Flow_8_81.1/DialogScript b/otls/MOPS_Mesh_Flow.hda/MOPS_8_8Sop_1Mesh__Flow_8_81.1/DialogScript
index cb30afb1..621c195d 100644
--- a/otls/MOPS_Mesh_Flow.hda/MOPS_8_8Sop_1Mesh__Flow_8_81.1/DialogScript
+++ b/otls/MOPS_Mesh_Flow.hda/MOPS_8_8Sop_1Mesh__Flow_8_81.1/DialogScript
@@ -14,6 +14,15 @@
inputlabel 3 "Sub-Network Input #3"
inputlabel 4 "Sub-Network Input #4"
+ parm {
+ name "do_viz"
+ label "Visualize Up Vector"
+ type toggle
+ default { "0" }
+ range { 0! 10 }
+ parmtag { "autoscope" "0000000000000000" }
+ parmtag { "script_callback_language" "python" }
+ }
parm {
name "compute_method"
label "Compute Method"
diff --git a/otls/MOPS_Mesh_Flow.hda/MOPS_8_8Sop_1Mesh__Flow_8_81.1/ExtraFileOptions b/otls/MOPS_Mesh_Flow.hda/MOPS_8_8Sop_1Mesh__Flow_8_81.1/ExtraFileOptions
index 7fedeb19..a4aa2c91 100644
--- a/otls/MOPS_Mesh_Flow.hda/MOPS_8_8Sop_1Mesh__Flow_8_81.1/ExtraFileOptions
+++ b/otls/MOPS_Mesh_Flow.hda/MOPS_8_8Sop_1Mesh__Flow_8_81.1/ExtraFileOptions
@@ -19,6 +19,10 @@
"type":"string",
"value":""
},
+ "ViewerStateModule/CodeGenInput":{
+ "type":"string",
+ "value":"{\n\t\"state_name\":\"\",\n\t\"state_label\":\"\",\n\t\"state_descr\":\"\",\n\t\"state_icon\":\"$HH/config/Icons\",\n\t\"state_sample\":0,\n\t\"state_handler_indices\":[]\n}\n"
+ },
"mops_TD_tools_05.svg/Cursor":{
"type":"intarray",
"value":[1,1]
diff --git a/otls/MOPS_Mesh_Flow.hda/MOPS_8_8Sop_1Mesh__Flow_8_81.1/TypePropertiesOptions b/otls/MOPS_Mesh_Flow.hda/MOPS_8_8Sop_1Mesh__Flow_8_81.1/TypePropertiesOptions
index b4811492..a6d52acf 100644
--- a/otls/MOPS_Mesh_Flow.hda/MOPS_8_8Sop_1Mesh__Flow_8_81.1/TypePropertiesOptions
+++ b/otls/MOPS_Mesh_Flow.hda/MOPS_8_8Sop_1Mesh__Flow_8_81.1/TypePropertiesOptions
@@ -1,14 +1,14 @@
-SaveSpareParms := 0;
CheckExternal := 1;
-SaveIcon := 1;
-GzipContents := 1;
ContentsCompressionType := 1;
-UnlockOnCreate := 0;
-SaveCachedCode := 0;
+ForbidOutsideParms := 1;
+GzipContents := 1;
LockContents := 1;
MakeDefault := 1;
-UseDSParms := 1;
-ForbidOutsideParms := 1;
+ParmsFromVfl := 0;
PrefixDroppedParmLabel := 0;
PrefixDroppedParmName := 0;
-ParmsFromVfl := 0;
+SaveCachedCode := 0;
+SaveIcon := 1;
+SaveSpareParms := 0;
+UnlockOnCreate := 0;
+UseDSParms := 1;
diff --git a/otls/MOPS_Noise_Falloff.hda/INDEX__SECTION b/otls/MOPS_Noise_Falloff.hda/INDEX__SECTION
index bb2b03bc..8401715b 100644
--- a/otls/MOPS_Noise_Falloff.hda/INDEX__SECTION
+++ b/otls/MOPS_Noise_Falloff.hda/INDEX__SECTION
@@ -10,7 +10,7 @@ Inputs: 1 to 2
Subnet: true
Python: false
Empty: false
-Modified: Thu Nov 29 09:04:41 2018
+Modified: Thu Nov 29 05:04:41 2018
Operator: MOPS::Noise_Falloff::1.1
Label: MOPs Noise Falloff
@@ -24,7 +24,7 @@ Inputs: 1 to 2
Subnet: true
Python: false
Empty: false
-Modified: Wed Feb 27 19:39:48 2019
+Modified: Wed Feb 27 15:39:48 2019
Operator: MOPS::Noise_Falloff::1.2
Label: MOPs Noise Falloff
@@ -38,7 +38,7 @@ Inputs: 1 to 2
Subnet: true
Python: false
Empty: false
-Modified: Fri Aug 23 10:41:24 2019
+Modified: Fri Aug 23 18:41:24 2019
Operator: MOPS::Noise_Falloff::1.3
Label: MOPs Noise Falloff
@@ -52,7 +52,7 @@ Inputs: 1 to 2
Subnet: true
Python: false
Empty: false
-Modified: Fri Nov 8 19:39:48 2019
+Modified: Fri Nov 8 15:39:48 2019
Operator: MOPS::Noise_Falloff::1.4
Label: MOPs Noise Falloff
@@ -66,5 +66,5 @@ Inputs: 1 to 2
Subnet: true
Python: false
Empty: false
-Modified: Tue Jan 7 20:23:08 2020
+Modified: Mon Mar 9 10:12:13 2020
diff --git a/otls/MOPS_Noise_Falloff.hda/MOPS_8_8Sop_1Noise__Falloff_8_81.4/Contents.dir/.OPdummydefs b/otls/MOPS_Noise_Falloff.hda/MOPS_8_8Sop_1Noise__Falloff_8_81.4/Contents.dir/.OPdummydefs
index 6c875534..cf0065c7 100644
Binary files a/otls/MOPS_Noise_Falloff.hda/MOPS_8_8Sop_1Noise__Falloff_8_81.4/Contents.dir/.OPdummydefs and b/otls/MOPS_Noise_Falloff.hda/MOPS_8_8Sop_1Noise__Falloff_8_81.4/Contents.dir/.OPdummydefs differ
diff --git a/otls/MOPS_Noise_Falloff.hda/MOPS_8_8Sop_1Noise__Falloff_8_81.4/Contents.dir/.OPfallbacks b/otls/MOPS_Noise_Falloff.hda/MOPS_8_8Sop_1Noise__Falloff_8_81.4/Contents.dir/.OPfallbacks
index daeb2500..e6e04b31 100644
--- a/otls/MOPS_Noise_Falloff.hda/MOPS_8_8Sop_1Noise__Falloff_8_81.4/Contents.dir/.OPfallbacks
+++ b/otls/MOPS_Noise_Falloff.hda/MOPS_8_8Sop_1Noise__Falloff_8_81.4/Contents.dir/.OPfallbacks
@@ -12,47 +12,47 @@ MOPS::Sop/Remap_Falloff::1.0 C:/Users/Henry/Projects/VFX/MOPS_Prime/otls/MOPS_Re
MOPS::Sop/Remap_Falloff::1.0 otls/MOPS_Remap_Falloff.hda
MOPS::Sop/Transform_Modifier::1.1 C:/Users/Henry/Projects/VFX/MOPS_Prime/otls/MOPS_transform.hda
MOPS::Sop/Transform_Modifier::1.1 otls/MOPS_transform.hda
-Sop/attribdelete C:/PROGRA~1/SIDEEF~1/HOUDIN~1.287/houdini/otls/OPlibSop.hda
+Sop/attribdelete C:/PROGRA~1/SIDEEF~1/HOUDIN~1.391/houdini/otls/OPlibSop.hda
Sop/attribdelete otls/OPlibSop.hda
-Sop/attribwrangle C:/PROGRA~1/SIDEEF~1/HOUDIN~1.287/houdini/otls/OPlibSop.hda
+Sop/attribwrangle C:/PROGRA~1/SIDEEF~1/HOUDIN~1.391/houdini/otls/OPlibSop.hda
Sop/attribwrangle otls/OPlibSop.hda
-Vop/avgcomp C:/PROGRA~1/SIDEEF~1/HOUDIN~1.287/houdini/otls/OPlibScripted.hda
+Vop/avgcomp C:/PROGRA~1/SIDEEF~1/HOUDIN~1.391/houdini/otls/OPlibScripted.hda
Vop/avgcomp otls/OPlibScripted.hda
-Vop/clamp C:/PROGRA~1/SIDEEF~1/HOUDIN~1.287/houdini/otls/OPlibScripted.hda
+Vop/clamp C:/PROGRA~1/SIDEEF~1/HOUDIN~1.391/houdini/otls/OPlibScripted.hda
Vop/clamp otls/OPlibScripted.hda
-Vop/floattohvec C:/PROGRA~1/SIDEEF~1/HOUDIN~1.287/houdini/otls/OPlibScripted.hda
+Vop/floattohvec C:/PROGRA~1/SIDEEF~1/HOUDIN~1.391/houdini/otls/OPlibScripted.hda
Vop/floattohvec otls/OPlibScripted.hda
-Vop/floattovec C:/PROGRA~1/SIDEEF~1/HOUDIN~1.287/houdini/otls/OPlibScripted.hda
+Vop/floattovec C:/PROGRA~1/SIDEEF~1/HOUDIN~1.391/houdini/otls/OPlibScripted.hda
Vop/floattovec otls/OPlibScripted.hda
-Vop/hvectovec C:/PROGRA~1/SIDEEF~1/HOUDIN~1.287/houdini/otls/OPlibScripted.hda
+Vop/hvectovec C:/PROGRA~1/SIDEEF~1/HOUDIN~1.391/houdini/otls/OPlibScripted.hda
Vop/hvectovec otls/OPlibScripted.hda
-Vop/inttofloat C:/PROGRA~1/SIDEEF~1/HOUDIN~1.287/houdini/otls/OPlibScripted.hda
+Vop/inttofloat C:/PROGRA~1/SIDEEF~1/HOUDIN~1.391/houdini/otls/OPlibScripted.hda
Vop/inttofloat otls/OPlibScripted.hda
-Vop/invert C:/PROGRA~1/SIDEEF~1/HOUDIN~1.287/houdini/otls/OPlibScripted.hda
+Vop/invert C:/PROGRA~1/SIDEEF~1/HOUDIN~1.391/houdini/otls/OPlibScripted.hda
Vop/invert otls/OPlibScripted.hda
-Vop/isconnected C:/PROGRA~1/SIDEEF~1/HOUDIN~1.287/houdini/otls/OPlibScripted.hda
+Vop/isconnected C:/PROGRA~1/SIDEEF~1/HOUDIN~1.391/houdini/otls/OPlibScripted.hda
Vop/isconnected otls/OPlibScripted.hda
-Vop/lighting C:/PROGRA~1/SIDEEF~1/HOUDIN~1.287/houdini/otls/OPlibScripted.hda
+Vop/lighting C:/PROGRA~1/SIDEEF~1/HOUDIN~1.391/houdini/otls/OPlibScripted.hda
Vop/lighting otls/OPlibScripted.hda
-Vop/mix C:/PROGRA~1/SIDEEF~1/HOUDIN~1.287/houdini/otls/OPlibScripted.hda
+Vop/mix C:/PROGRA~1/SIDEEF~1/HOUDIN~1.391/houdini/otls/OPlibScripted.hda
Vop/mix otls/OPlibScripted.hda
-Vop/modulo C:/PROGRA~1/SIDEEF~1/HOUDIN~1.287/houdini/otls/OPlibScripted.hda
+Vop/modulo C:/PROGRA~1/SIDEEF~1/HOUDIN~1.391/houdini/otls/OPlibScripted.hda
Vop/modulo otls/OPlibScripted.hda
-Vop/renderstate C:/PROGRA~1/SIDEEF~1/HOUDIN~1.287/houdini/otls/OPlibScripted.hda
+Vop/renderstate C:/PROGRA~1/SIDEEF~1/HOUDIN~1.391/houdini/otls/OPlibScripted.hda
Vop/renderstate otls/OPlibScripted.hda
-Vop/sprite C:/PROGRA~1/SIDEEF~1/HOUDIN~1.287/houdini/otls/OPlibScripted.hda
+Vop/sprite C:/PROGRA~1/SIDEEF~1/HOUDIN~1.391/houdini/otls/OPlibScripted.hda
Vop/sprite otls/OPlibScripted.hda
-Sop/sprite C:/PROGRA~1/SIDEEF~1/HOUDIN~1.287/houdini/otls/OPlibSop.hda
+Sop/sprite C:/PROGRA~1/SIDEEF~1/HOUDIN~1.391/houdini/otls/OPlibSop.hda
Sop/sprite otls/OPlibSop.hda
-Vop/subconst C:/PROGRA~1/SIDEEF~1/HOUDIN~1.287/houdini/otls/OPlibScripted.hda
+Vop/subconst C:/PROGRA~1/SIDEEF~1/HOUDIN~1.391/houdini/otls/OPlibScripted.hda
Vop/subconst otls/OPlibScripted.hda
-Vop/surfacecolor C:/PROGRA~1/SIDEEF~1/HOUDIN~1.287/houdini/otls/OPlibVop.hda
+Vop/surfacecolor C:/PROGRA~1/SIDEEF~1/HOUDIN~1.391/houdini/otls/OPlibVop.hda
Vop/surfacecolor otls/OPlibVop.hda
-Vop/texture C:/PROGRA~1/SIDEEF~1/HOUDIN~1.287/houdini/otls/OPlibScripted.hda
+Vop/texture C:/PROGRA~1/SIDEEF~1/HOUDIN~1.391/houdini/otls/OPlibScripted.hda
Vop/texture otls/OPlibScripted.hda
-Vop/twoway C:/PROGRA~1/SIDEEF~1/HOUDIN~1.287/houdini/otls/OPlibScripted.hda
+Vop/twoway C:/PROGRA~1/SIDEEF~1/HOUDIN~1.391/houdini/otls/OPlibScripted.hda
Vop/twoway otls/OPlibScripted.hda
-Vop/uvcoords C:/PROGRA~1/SIDEEF~1/HOUDIN~1.287/houdini/otls/OPlibVop.hda
+Vop/uvcoords C:/PROGRA~1/SIDEEF~1/HOUDIN~1.391/houdini/otls/OPlibVop.hda
Vop/uvcoords otls/OPlibVop.hda
-Vop/vectofloat C:/PROGRA~1/SIDEEF~1/HOUDIN~1.287/houdini/otls/OPlibScripted.hda
+Vop/vectofloat C:/PROGRA~1/SIDEEF~1/HOUDIN~1.391/houdini/otls/OPlibScripted.hda
Vop/vectofloat otls/OPlibScripted.hda
diff --git a/otls/MOPS_Noise_Falloff.hda/MOPS_8_8Sop_1Noise__Falloff_8_81.4/Contents.dir/Contents.mime b/otls/MOPS_Noise_Falloff.hda/MOPS_8_8Sop_1Noise__Falloff_8_81.4/Contents.dir/Contents.mime
index ab89b2b6..935fc36c 100644
--- a/otls/MOPS_Noise_Falloff.hda/MOPS_8_8Sop_1Noise__Falloff_8_81.4/Contents.dir/Contents.mime
+++ b/otls/MOPS_Noise_Falloff.hda/MOPS_8_8Sop_1Noise__Falloff_8_81.4/Contents.dir/Contents.mime
@@ -32,25 +32,24 @@ Content-Type: text/plain
sopflags sopflags =
comment ""
-position 2.04735 0.597122
-connectornextid 2
+position -14.2057 -5.79484
+connectornextid 1
flags = lock off model off template off footprint off xray off bypass off display on render on highlight off unload off savedata off compress on colordefault on exposed on
outputsNamed3
{
-1 "output1"
}
inputsNamed3
{
-0 MOPs_Instancer 1 1 "input1"
+0 MOPs_Explode 1 1 "input1"
}
inputs
{
-0 MOPs_Instancer 0 1
+0 MOPs_Explode 0 1
}
stat
{
- create 1578457223
- modify 1578457480
+ create 1583773532
+ modify 1583773729
author Henry@LAPPY586
access 0777
}
@@ -109,7 +108,7 @@ inputs
stat
{
create 1578457255
- modify 1578457433
+ modify 1583773533
author Henry@LAPPY586
access 0777
}
@@ -264,7 +263,7 @@ inputs
stat
{
create 1524060463
- modify 1578457225
+ modify 1583773533
author Henry@LAPPY586
access 0777
}
@@ -468,7 +467,7 @@ inputs
stat
{
create 1524060463
- modify 1578457225
+ modify 1583773533
author Henry@LAPPY586
access 0777
}
@@ -504,7 +503,7 @@ Content-Type: text/plain
lefttype = extend
righttype = extend
flags = 0
- segment { length = 0 expr = ch(\"../Perlin/grouptype\") }
+ segment { length = 0 expr = ch(\"../grouptype\") }
}
}
@@ -514,14 +513,14 @@ Content-Type: text/plain
{
version 0.8
-group [ 0 locks=0 autoscope=0 ] ( `chs(\"../Perlin/group\")` )
+group [ 0 locks=0 autoscope=0 ] ( `chs(\"../group\")` )
grouptype [ 8 locks=0 ] ( [ grouptype 0 ] )
falloff_attr [ 0 locks=0 ] ( mops_falloff )
input [ 0 locks=0 autoscope=0 ] ( [ input 8 ] )
strength [ 0 locks=0 autoscope=0 ] ( [ strength 1 ] )
switchclamp [ 0 locks=0 autoscope=0 ] ( [ switchclamp 0 ] )
sepparm [ 0 locks=0 ] ( )
-do_preview [ 0 locks=0 autoscope=0 ] ( "off" )
+do_preview [ 0 locks=0 ] ( "off" )
folder0 [ 0 locks=0 ] ( 0 )
do_sprite [ 0 locks=0 ] ( "on" )
spritescale [ 0 locks=0 ] ( 1 )
@@ -587,7 +586,7 @@ inputs
stat
{
create 1524060464
- modify 1578457225
+ modify 1583773747
author Henry@LAPPY586
access 0777
}
@@ -810,7 +809,8 @@ vex_numcount [ 0 locks=0 autoscope=0 ] ( 10 )
vex_threadjobsize [ 0 locks=0 autoscope=0 ] ( 1024 )
snippet [ 0 locks=0 autoscope=0 ] ( "v@__origP = @P;
if(chi(\"use_rest\") && chi(\"has_rest\")) {
- @P = v@rest;
+ vector rest = point(0, \"rest\", @ptnum);
+ @P = rest;
}" )
exportlist [ 0 locks=0 autoscope=0 ] ( * )
vex_strict [ 0 locks=0 autoscope=0 ] ( "off" )
@@ -827,7 +827,7 @@ vex_selectiongroup [ 0 locks=0 autoscope=0 ] ( "" )
vex_precision [ 0 locks=0 ] ( auto )
folder1 [ 0 locks=0 autoscope=0 ] ( 0 0 )
use_rest [ 0 locks=0 autoscope=0 ] ( [ use_rest 1 ] )
-has_rest [ 0 locks=0 autoscope=0 ] ( [ has_rest 1 ] )
+has_rest [ 0 locks=0 autoscope=0 ] ( [ has_rest 0 ] )
}
--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
@@ -872,7 +872,7 @@ inputs
stat
{
create 1524060464
- modify 1578457225
+ modify 1583773533
author Henry@LAPPY586
access 0777
}
@@ -951,7 +951,7 @@ inputs
stat
{
create 1536023491
- modify 1578457225
+ modify 1583773533
author Henry@LAPPY586
access 0777
}
@@ -1193,11 +1193,11 @@ Content-Type: text/plain
{
version 0.8
do_preview [ 0 locks=0 ] ( [ do_preview 1 ] )
-do_sprite [ 0 locks=0 ] ( [ do_sprite 0 ] )
+do_sprite [ 0 locks=0 ] ( [ do_sprite 1 ] )
spritemap [ 0 locks=0 ] ( sphere_matte.pic )
spritescale [ 0 locks=0 ] ( [ spritescale 1 ] )
override_scale [ 0 locks=0 ] ( [ override_scale 0 ] )
-ramp_preset [ 0 locks=0 ] ( [ ramp_preset 0 ] )
+ramp_preset [ 0 locks=0 ] ( [ ramp_preset 2 ] )
falloff_heatmap [ 0 locks=0 ] ( [ falloff_heatmap 5 ] )
falloff_heatmap1pos [ 0 locks=0 ] ( [ falloff_heatmap1pos 0 ] )
falloff_heatmap1c [ 0 locks=0 ] ( [ falloff_heatmap1cr 0.036199998110532761 ] [ falloff_heatmap1cg 0 ] [ falloff_heatmap1cb 0.5429999828338623 ] )
@@ -1260,7 +1260,7 @@ inputs
stat
{
create 1550356490
- modify 1578457241
+ modify 1583773751
author Henry@LAPPY586
access 0777
}
@@ -1340,7 +1340,7 @@ inputs
stat
{
create 1568176106
- modify 1578457225
+ modify 1583773928
author Henry@LAPPY586
access 0777
}
@@ -1517,12 +1517,14 @@ uniform [ 0 locks=0 autoscope=0 ] ( [ uniform 0 ] )
roughness [ 0 locks=0 autoscope=0 ] ( [ roughness 0.5 ] )
octaves [ 0 locks=0 autoscope=0 ] ( [ octaves 2 ] )
offset [ 0 locks=0 autoscope=0 ] ( [ offsetx 0 ] [ offsety 0 ] [ offsetz 0 ] [ offsetw 0 ] )
-tile_size [ 0 locks=0 autoscope=0 ] ( [ tile_sizex 2 ] [ tile_sizey 1.3999999999999999 ] [ tile_sizez 1.3999999999999999 ] )
+tile_size [ 0 locks=0 autoscope=0 ] ( [ tile_sizex 1 ] [ tile_sizey 1 ] [ tile_sizez 1 ] )
Distort [ 0 locks=0 autoscope=0 ] ( [ Distortx 0.20000000000000001 ] [ Distorty 0.20000000000000001 ] [ Distortz 0.20000000000000001 ] )
-time_varying [ 0 locks=0 autoscope=0 ] ( [ time_varying 1 ] )
+time_varying [ 0 locks=0 autoscope=0 ] ( [ time_varying 0 ] )
time_scale [ 0 locks=0 autoscope=0 ] ( [ time_scale 1 ] )
+do_remap_2D [ 0 locks=0 ] ( "off" )
input_rangev [ 0 locks=0 ] ( -1 1 )
output_rangev [ 0 locks=0 ] ( -1 1 )
+do_remap_3D [ 0 locks=0 ] ( "off" )
input_range [ 0 locks=0 ] ( 0 1 )
output_range [ 0 locks=0 ] ( 0 1 )
}
@@ -1568,7 +1570,7 @@ inputs
stat
{
create 1524060464
- modify 1565319766
+ modify 1583773928
author Henry@LAPPY586
access 0777
}
@@ -1593,7 +1595,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"18.0.287"
+ "value":"18.0.391"
}
}
@@ -1654,7 +1656,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"18.0.287"
+ "value":"18.0.391"
}
}
@@ -1691,7 +1693,7 @@ inputs
stat
{
create 1524060464
- modify 1578457227
+ modify 1583773533
author Henry@LAPPY586
access 0777
}
@@ -1729,7 +1731,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"18.0.287"
+ "value":"18.0.391"
}
}
@@ -1807,7 +1809,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"18.0.287"
+ "value":"18.0.391"
}
}
@@ -1842,7 +1844,7 @@ inputs
stat
{
create 1524060464
- modify 1578457225
+ modify 1583773533
author Henry@LAPPY586
access 0777
}
@@ -1875,7 +1877,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"18.0.287"
+ "value":"18.0.391"
}
}
@@ -1936,7 +1938,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"18.0.287"
+ "value":"18.0.391"
}
}
@@ -1997,7 +1999,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"18.0.287"
+ "value":"18.0.391"
}
}
@@ -2096,7 +2098,7 @@ inputs
stat
{
create 1565319729
- modify 1578457225
+ modify 1583773533
author Henry@LAPPY586
access 0777
}
@@ -2141,7 +2143,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"18.0.287"
+ "value":"18.0.391"
}
}
@@ -2176,7 +2178,7 @@ inputs
stat
{
create 1565319729
- modify 1578457225
+ modify 1583773533
author Henry@LAPPY586
access 0777
}
@@ -2207,7 +2209,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"18.0.287"
+ "value":"18.0.391"
}
}
diff --git a/otls/MOPS_Noise_Falloff.hda/MOPS_8_8Sop_1Noise__Falloff_8_81.4/DialogScript b/otls/MOPS_Noise_Falloff.hda/MOPS_8_8Sop_1Noise__Falloff_8_81.4/DialogScript
index 5b81afbc..57474246 100644
--- a/otls/MOPS_Noise_Falloff.hda/MOPS_8_8Sop_1Noise__Falloff_8_81.4/DialogScript
+++ b/otls/MOPS_Noise_Falloff.hda/MOPS_8_8Sop_1Noise__Falloff_8_81.4/DialogScript
@@ -261,7 +261,7 @@
label "Tile Size"
type vector
size 3
- default { "2" "1.4" "1.4" }
+ default { "1" "1" "1" }
disablewhen "{ input2 != 5 }"
range { 0 1 }
parmtag { "autoscope" "0000000000000000" }
@@ -281,6 +281,7 @@
label "Time Varying"
type toggle
default { "off" }
+ disablewhen "{ input2 > 9 }"
range { 0 10 }
parmtag { "autoscope" "0000000000000000" }
}
diff --git a/otls/MOPS_Noise_Patterns.hda/INDEX__SECTION b/otls/MOPS_Noise_Patterns.hda/INDEX__SECTION
index dc22246d..7756adc8 100644
--- a/otls/MOPS_Noise_Patterns.hda/INDEX__SECTION
+++ b/otls/MOPS_Noise_Patterns.hda/INDEX__SECTION
@@ -10,7 +10,7 @@ Inputs: 1 to 1
Subnet: true
Python: false
Empty: false
-Modified: Sun Apr 14 22:49:50 2019
+Modified: Mon Apr 15 02:49:50 2019
Operator: MOPS::Noise_Patterns::1.1
Label: MOPs Noise Patterns
@@ -24,7 +24,7 @@ Inputs: 1 to 1
Subnet: true
Python: false
Empty: false
-Modified: Wed Jun 19 13:34:02 2019
+Modified: Wed Jun 19 17:34:02 2019
Operator: MOPS::Noise_Patterns::1.2
Label: MOPs Noise Patterns
@@ -38,5 +38,5 @@ Inputs: 1 to 1
Subnet: true
Python: false
Empty: false
-Modified: Tue Oct 22 20:02:42 2019
+Modified: Sun Apr 5 10:44:46 2020
diff --git a/otls/MOPS_Noise_Patterns.hda/MOPS_8_8Sop_1Noise__Patterns_8_81.2/Contents.dir/.OPdummydefs b/otls/MOPS_Noise_Patterns.hda/MOPS_8_8Sop_1Noise__Patterns_8_81.2/Contents.dir/.OPdummydefs
index bfdf68e3..2e8cc9c5 100644
Binary files a/otls/MOPS_Noise_Patterns.hda/MOPS_8_8Sop_1Noise__Patterns_8_81.2/Contents.dir/.OPdummydefs and b/otls/MOPS_Noise_Patterns.hda/MOPS_8_8Sop_1Noise__Patterns_8_81.2/Contents.dir/.OPdummydefs differ
diff --git a/otls/MOPS_Noise_Patterns.hda/MOPS_8_8Sop_1Noise__Patterns_8_81.2/Contents.dir/.OPfallbacks b/otls/MOPS_Noise_Patterns.hda/MOPS_8_8Sop_1Noise__Patterns_8_81.2/Contents.dir/.OPfallbacks
index 8a341645..77d05cba 100644
--- a/otls/MOPS_Noise_Patterns.hda/MOPS_8_8Sop_1Noise__Patterns_8_81.2/Contents.dir/.OPfallbacks
+++ b/otls/MOPS_Noise_Patterns.hda/MOPS_8_8Sop_1Noise__Patterns_8_81.2/Contents.dir/.OPfallbacks
@@ -1,4 +1,4 @@
-Sop/attribdelete C:/PROGRA~1/SIDEEF~1/HOUDIN~1.229/houdini/otls/OPlibSop.hda
+Sop/attribdelete C:/PROGRA~1/SIDEEF~1/HOUDIN~1.391/houdini/otls/OPlibSop.hda
Sop/attribdelete otls/OPlibSop.hda
-Sop/attribwrangle C:/PROGRA~1/SIDEEF~1/HOUDIN~1.229/houdini/otls/OPlibSop.hda
+Sop/attribwrangle C:/PROGRA~1/SIDEEF~1/HOUDIN~1.391/houdini/otls/OPlibSop.hda
Sop/attribwrangle otls/OPlibSop.hda
diff --git a/otls/MOPS_Noise_Patterns.hda/MOPS_8_8Sop_1Noise__Patterns_8_81.2/Contents.dir/Contents.mime b/otls/MOPS_Noise_Patterns.hda/MOPS_8_8Sop_1Noise__Patterns_8_81.2/Contents.dir/Contents.mime
index 33564e05..23c6a95d 100644
--- a/otls/MOPS_Noise_Patterns.hda/MOPS_8_8Sop_1Noise__Patterns_8_81.2/Contents.dir/Contents.mime
+++ b/otls/MOPS_Noise_Patterns.hda/MOPS_8_8Sop_1Noise__Patterns_8_81.2/Contents.dir/Contents.mime
@@ -32,22 +32,25 @@ Content-Type: text/plain
sopflags sopflags =
comment ""
-position 1.81685 0.37692
-connectornextid 0
+position 0.131055 -4.48354
+connectornextid 2
flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
outputsNamed3
{
+0 "output1"
}
inputsNamed3
{
+1 update_attrs 2 1 "input1"
}
inputs
{
+0 update_attrs 0 1
}
stat
{
- create 1571799722
- modify 1571799742
+ create 1586049942
+ modify 1586107415
author Henry@LAPPY586
access 0777
}
@@ -130,7 +133,7 @@ inputs
stat
{
create 1524060463
- modify 1571799722
+ modify 1586108674
author Henry@LAPPY586
access 0777
}
@@ -152,7 +155,7 @@ Content-Type: text/plain
baseparm
label "Group"
export none
- bindselector uvselect "Modify Points"
+ bindselector points "Modify Points"
"Select the points to affect and press Enter to complete."
0 1 0xffffffff 0 grouptype 0
}
@@ -356,6 +359,12 @@ Content-Type: text/plain
default { "0" }
range { 0 10 }
}
+ parm {
+ name "vex_precision"
+ baseparm
+ label "VEX Precision"
+ export none
+ }
--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
Content-Disposition: attachment; filename="hdaroot/Perlin.chn"
@@ -489,12 +498,12 @@ Content-Type: text/plain
{
version 0.8
folder0 [ 0 locks=0 autoscope=0 ] ( 0 0 )
-group [ 0 locks=0 autoscope=0 ] ( [ group "" ] )
+group [ 0 locks=0 autoscope=0 ] ( [ group __mops_orig ] )
grouptype [ 0 locks=0 autoscope=0 ] ( [ grouptype 0 ] )
class [ 0 locks=0 autoscope=0 ] ( "point" )
vex_numcount [ 0 locks=0 autoscope=0 ] ( 10 )
vex_threadjobsize [ 0 locks=0 autoscope=0 ] ( 1024 )
-snippet [ 0 locks=0 autoscope=0 ] ( "vector4 pos = @P;
+snippet [ 0 locks=0 autoscope=0 ] ( "vector4 pos = set(@P.x, @P.y, @P.z, 0);
vector4 freq = chp(\"freq\");
vector4 offset = chp(\"offset\");
vector amp = chv(\"amp\");
@@ -537,6 +546,7 @@ vex_updatenmls [ 0 locks=0 autoscope=0 ] ( "off" )
vex_matchattrib [ 0 locks=0 autoscope=0 ] ( id )
vex_inplace [ 0 locks=0 autoscope=0 ] ( "off" )
vex_selectiongroup [ 0 locks=0 autoscope=0 ] ( "" )
+vex_precision [ 0 locks=0 ] ( auto )
folder1 [ 0 locks=0 ] ( 0 0 )
amp [ 8 locks=0 autoscope=0 ] ( [ ampx 1 ] [ ampy 1 ] [ ampz 1 ] )
roughness [ 0 locks=0 autoscope=0 ] ( [ roughness 0.5 ] )
@@ -592,7 +602,7 @@ inputs
stat
{
create 1524060463
- modify 1571799722
+ modify 1586108671
author Henry@LAPPY586
access 0777
}
@@ -614,7 +624,7 @@ Content-Type: text/plain
baseparm
label "Group"
export none
- bindselector uvselect "Modify Points"
+ bindselector points "Modify Points"
"Select the points to affect and press Enter to complete."
0 1 0xffffffff 0 grouptype 0
}
@@ -819,6 +829,12 @@ Content-Type: text/plain
default { "0" }
range { 0 10 }
}
+ parm {
+ name "vex_precision"
+ baseparm
+ label "VEX Precision"
+ export none
+ }
--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
Content-Disposition: attachment; filename="hdaroot/Simplex.chn"
@@ -957,7 +973,7 @@ grouptype [ 8 locks=0 autoscope=0 ] ( [ grouptype 0 ] )
class [ 8 locks=0 autoscope=0 ] ( [ class 2 ] )
vex_numcount [ 0 locks=0 autoscope=0 ] ( 10 )
vex_threadjobsize [ 0 locks=0 autoscope=0 ] ( 1024 )
-snippet [ 0 locks=0 autoscope=0 ] ( "vector4 pos = @P;
+snippet [ 0 locks=0 autoscope=0 ] ( "vector4 pos = set(@P.x, @P.y, @P.z, 0);
vector4 freq = chp(\"freq\");
vector4 offset = chp(\"offset\");
vector amp = chv(\"amp\");
@@ -999,6 +1015,7 @@ vex_updatenmls [ 0 locks=0 autoscope=0 ] ( "off" )
vex_matchattrib [ 0 locks=0 autoscope=0 ] ( id )
vex_inplace [ 0 locks=0 autoscope=0 ] ( "off" )
vex_selectiongroup [ 0 locks=0 autoscope=0 ] ( "" )
+vex_precision [ 0 locks=0 ] ( auto )
folder1 [ 0 locks=0 ] ( 0 0 )
amp [ 8 locks=0 ] ( [ ampx 1 ] [ ampy 1 ] [ ampz 1 ] )
roughness [ 0 locks=0 autoscope=0 ] ( [ roughness 0.5 ] )
@@ -1054,7 +1071,7 @@ inputs
stat
{
create 1524060463
- modify 1571799722
+ modify 1586108668
author Henry@LAPPY586
access 0777
}
@@ -1076,7 +1093,7 @@ Content-Type: text/plain
baseparm
label "Group"
export none
- bindselector uvselect "Modify Points"
+ bindselector points "Modify Points"
"Select the points to affect and press Enter to complete."
0 1 0xffffffff 0 grouptype 0
}
@@ -1281,6 +1298,12 @@ Content-Type: text/plain
default { "0" }
range { 0 10 }
}
+ parm {
+ name "vex_precision"
+ baseparm
+ label "VEX Precision"
+ export none
+ }
--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
Content-Disposition: attachment; filename="hdaroot/Worley_f2-f1.chn"
@@ -1419,7 +1442,7 @@ grouptype [ 8 locks=0 autoscope=0 ] ( [ grouptype 0 ] )
class [ 8 locks=0 autoscope=0 ] ( [ class 2 ] )
vex_numcount [ 0 locks=0 autoscope=0 ] ( 10 )
vex_threadjobsize [ 0 locks=0 autoscope=0 ] ( 1024 )
-snippet [ 0 locks=0 autoscope=0 ] ( "vector4 pos = @P;
+snippet [ 0 locks=0 autoscope=0 ] ( "vector4 pos = set(@P.x, @P.y, @P.z, 0);
vector4 freq = chp(\"freq\");
vector4 offset = chp(\"offset\");
vector amp = chv(\"amp\");
@@ -1470,6 +1493,7 @@ vex_updatenmls [ 0 locks=0 autoscope=0 ] ( "off" )
vex_matchattrib [ 0 locks=0 autoscope=0 ] ( id )
vex_inplace [ 0 locks=0 autoscope=0 ] ( "off" )
vex_selectiongroup [ 0 locks=0 autoscope=0 ] ( "" )
+vex_precision [ 0 locks=0 ] ( auto )
folder1 [ 0 locks=0 ] ( 0 0 )
amp [ 8 locks=0 ] ( [ ampx 1 ] [ ampy 1 ] [ ampz 1 ] )
roughness [ 0 locks=0 autoscope=0 ] ( [ roughness 0.5 ] )
@@ -1525,7 +1549,7 @@ inputs
stat
{
create 1524060463
- modify 1571799722
+ modify 1586108660
author Henry@LAPPY586
access 0777
}
@@ -1547,7 +1571,7 @@ Content-Type: text/plain
baseparm
label "Group"
export none
- bindselector uvselect "Modify Points"
+ bindselector points "Modify Points"
"Select the points to affect and press Enter to complete."
0 1 0xffffffff 0 grouptype 0
}
@@ -1752,6 +1776,12 @@ Content-Type: text/plain
default { "0" }
range { 0 10 }
}
+ parm {
+ name "vex_precision"
+ baseparm
+ label "VEX Precision"
+ export none
+ }
--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
Content-Disposition: attachment; filename="hdaroot/Worley_f1.chn"
@@ -1890,7 +1920,7 @@ grouptype [ 8 locks=0 autoscope=0 ] ( [ grouptype 0 ] )
class [ 8 locks=0 autoscope=0 ] ( [ class 2 ] )
vex_numcount [ 0 locks=0 autoscope=0 ] ( 10 )
vex_threadjobsize [ 0 locks=0 autoscope=0 ] ( 1024 )
-snippet [ 0 locks=0 autoscope=0 ] ( "vector4 pos = @P;
+snippet [ 0 locks=0 autoscope=0 ] ( "vector4 pos = set(@P.x, @P.y, @P.z, 0);
vector4 freq = chp(\"freq\");
vector4 offset = chp(\"offset\");
vector amp = chv(\"amp\");
@@ -1941,6 +1971,7 @@ vex_updatenmls [ 0 locks=0 autoscope=0 ] ( "off" )
vex_matchattrib [ 0 locks=0 autoscope=0 ] ( id )
vex_inplace [ 0 locks=0 autoscope=0 ] ( "off" )
vex_selectiongroup [ 0 locks=0 autoscope=0 ] ( "" )
+vex_precision [ 0 locks=0 ] ( auto )
folder1 [ 0 locks=0 ] ( 0 0 )
amp [ 8 locks=0 ] ( [ ampx 1 ] [ ampy 1 ] [ ampz 1 ] )
roughness [ 0 locks=0 autoscope=0 ] ( [ roughness 0.5 ] )
@@ -1996,7 +2027,7 @@ inputs
stat
{
create 1524060463
- modify 1571799722
+ modify 1586108656
author Henry@LAPPY586
access 0777
}
@@ -2018,7 +2049,7 @@ Content-Type: text/plain
baseparm
label "Group"
export none
- bindselector uvselect "Modify Points"
+ bindselector points "Modify Points"
"Select the points to affect and press Enter to complete."
0 1 0xffffffff 0 grouptype 0
}
@@ -2222,6 +2253,12 @@ Content-Type: text/plain
default { "0" }
range { 0 10 }
}
+ parm {
+ name "vex_precision"
+ baseparm
+ label "VEX Precision"
+ export none
+ }
--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
Content-Disposition: attachment; filename="hdaroot/Worley_f2.chn"
@@ -2360,7 +2397,7 @@ grouptype [ 8 locks=0 autoscope=0 ] ( [ grouptype 0 ] )
class [ 8 locks=0 autoscope=0 ] ( [ class 2 ] )
vex_numcount [ 0 locks=0 autoscope=0 ] ( 10 )
vex_threadjobsize [ 0 locks=0 autoscope=0 ] ( 1024 )
-snippet [ 0 locks=0 autoscope=0 ] ( "vector4 pos = @P;
+snippet [ 0 locks=0 autoscope=0 ] ( "vector4 pos = set(@P.x, @P.y, @P.z, 0);
vector4 freq = chp(\"freq\");
vector4 offset = chp(\"offset\");
vector amp = chv(\"amp\");
@@ -2411,6 +2448,7 @@ vex_updatenmls [ 0 locks=0 autoscope=0 ] ( "off" )
vex_matchattrib [ 0 locks=0 autoscope=0 ] ( id )
vex_inplace [ 0 locks=0 autoscope=0 ] ( "off" )
vex_selectiongroup [ 0 locks=0 autoscope=0 ] ( "" )
+vex_precision [ 0 locks=0 ] ( auto )
folder1 [ 0 locks=0 ] ( 0 0 )
amp [ 8 locks=0 ] ( [ ampx 1 ] [ ampy 1 ] [ ampz 1 ] )
roughness [ 0 locks=0 autoscope=0 ] ( [ roughness 0.5 ] )
@@ -2466,7 +2504,7 @@ inputs
stat
{
create 1524060463
- modify 1571799722
+ modify 1586108651
author Henry@LAPPY586
access 0777
}
@@ -2488,7 +2526,7 @@ Content-Type: text/plain
baseparm
label "Group"
export none
- bindselector uvselect "Modify Points"
+ bindselector points "Modify Points"
"Select the points to affect and press Enter to complete."
0 1 0xffffffff 0 grouptype 0
}
@@ -2700,6 +2738,12 @@ Content-Type: text/plain
default { "0" }
range { 0 10 }
}
+ parm {
+ name "vex_precision"
+ baseparm
+ label "VEX Precision"
+ export none
+ }
--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
Content-Disposition: attachment; filename="hdaroot/simplex_mosaic.chn"
@@ -2859,7 +2903,7 @@ grouptype [ 8 locks=0 autoscope=0 ] ( [ grouptype 0 ] )
class [ 8 locks=0 autoscope=0 ] ( [ class 2 ] )
vex_numcount [ 0 locks=0 autoscope=0 ] ( 10 )
vex_threadjobsize [ 0 locks=0 autoscope=0 ] ( 1024 )
-snippet [ 0 locks=0 autoscope=0 ] ( "vector4 pos = @P;
+snippet [ 0 locks=0 autoscope=0 ] ( "vector4 pos = set(@P.x, @P.y, @P.z, 0);
vector4 freq = chp(\"freq\");
vector4 offset = chp(\"offset\");
vector amp = chv(\"amp\");
@@ -2913,6 +2957,7 @@ vex_updatenmls [ 0 locks=0 autoscope=0 ] ( "off" )
vex_matchattrib [ 0 locks=0 autoscope=0 ] ( id )
vex_inplace [ 0 locks=0 autoscope=0 ] ( "off" )
vex_selectiongroup [ 0 locks=0 autoscope=0 ] ( "" )
+vex_precision [ 0 locks=0 ] ( auto )
folder1 [ 0 locks=0 ] ( 0 0 )
amp [ 8 locks=0 ] ( [ ampx 1 ] [ ampy 1 ] [ ampz 1 ] )
roughness [ 0 locks=0 autoscope=0 ] ( [ roughness 0.5 ] )
@@ -2969,7 +3014,7 @@ inputs
stat
{
create 1524060463
- modify 1571799722
+ modify 1586108648
author Henry@LAPPY586
access 0777
}
@@ -2991,7 +3036,7 @@ Content-Type: text/plain
baseparm
label "Group"
export none
- bindselector uvselect "Modify Points"
+ bindselector points "Modify Points"
"Select the points to affect and press Enter to complete."
0 1 0xffffffff 0 grouptype 0
}
@@ -3196,6 +3241,12 @@ Content-Type: text/plain
default { "0" }
range { 0 10 }
}
+ parm {
+ name "vex_precision"
+ baseparm
+ label "VEX Precision"
+ export none
+ }
--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
Content-Disposition: attachment; filename="hdaroot/Simplex_Folded.chn"
@@ -3327,7 +3378,7 @@ grouptype [ 8 locks=0 autoscope=0 ] ( [ grouptype 0 ] )
class [ 8 locks=0 autoscope=0 ] ( "point" )
vex_numcount [ 0 locks=0 autoscope=0 ] ( 10 )
vex_threadjobsize [ 0 locks=0 autoscope=0 ] ( 1024 )
-snippet [ 0 locks=0 autoscope=0 ] ( "vector4 pos = @P;
+snippet [ 0 locks=0 autoscope=0 ] ( "vector4 pos = set(@P.x, @P.y, @P.z, 0);
vector4 freq = chp(\"freq\");
vector4 offset = chp(\"offset\");
vector amp = chv(\"amp\");
@@ -3377,6 +3428,7 @@ vex_updatenmls [ 0 locks=0 autoscope=0 ] ( "off" )
vex_matchattrib [ 0 locks=0 autoscope=0 ] ( id )
vex_inplace [ 0 locks=0 autoscope=0 ] ( "off" )
vex_selectiongroup [ 0 locks=0 autoscope=0 ] ( "" )
+vex_precision [ 0 locks=0 ] ( auto )
folder1 [ 0 locks=0 ] ( 0 0 )
amp [ 0 locks=0 ] ( [ ampx 1 ] [ ampy 1 ] [ ampz 1 ] )
roughness [ 0 locks=0 autoscope=0 ] ( [ roughness 0.5 ] )
@@ -3432,7 +3484,7 @@ inputs
stat
{
create 1524060463
- modify 1571799722
+ modify 1586108643
author Henry@LAPPY586
access 0777
}
@@ -3454,7 +3506,7 @@ Content-Type: text/plain
baseparm
label "Group"
export none
- bindselector uvselect "Modify Points"
+ bindselector points "Modify Points"
"Select the points to affect and press Enter to complete."
0 1 0xffffffff 0 grouptype 0
}
@@ -3667,6 +3719,12 @@ Content-Type: text/plain
default { "0" }
range { 0 10 }
}
+ parm {
+ name "vex_precision"
+ baseparm
+ label "VEX Precision"
+ export none
+ }
--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
Content-Disposition: attachment; filename="hdaroot/simplex_warped.chn"
@@ -3813,7 +3871,7 @@ grouptype [ 8 locks=0 autoscope=0 ] ( [ grouptype 0 ] )
class [ 0 locks=0 autoscope=0 ] ( "point" )
vex_numcount [ 0 locks=0 autoscope=0 ] ( 10 )
vex_threadjobsize [ 0 locks=0 autoscope=0 ] ( 1024 )
-snippet [ 0 locks=0 autoscope=0 ] ( "vector4 pos = @P;
+snippet [ 0 locks=0 autoscope=0 ] ( "vector4 pos = set(@P.x, @P.y, @P.z, 0);
vector4 freq = chp(\"freq\");
vector4 offset = chp(\"offset\");
vector distort = chv(\"Distort\");
@@ -3863,6 +3921,7 @@ vex_updatenmls [ 0 locks=0 autoscope=0 ] ( "off" )
vex_matchattrib [ 0 locks=0 autoscope=0 ] ( id )
vex_inplace [ 0 locks=0 autoscope=0 ] ( "off" )
vex_selectiongroup [ 0 locks=0 autoscope=0 ] ( "" )
+vex_precision [ 0 locks=0 ] ( auto )
folder1 [ 0 locks=0 autoscope=0 ] ( 0 0 )
amp [ 0 locks=0 ] ( [ ampx 1 ] [ ampy 1 ] [ ampz 1 ] )
roughness [ 0 locks=0 autoscope=0 ] ( [ roughness 0.5 ] )
@@ -3870,7 +3929,7 @@ octaves [ 0 locks=0 autoscope=0 ] ( [ octaves 1 ] )
freq [ 0 locks=0 autoscope=0 ] ( [ freqx 1 ] [ freqy 1 ] [ freqz 1 ] [ freqw 1 ] )
offset [ 0 locks=0 autoscope=0 ] ( [ offsetx 0 ] [ offsety 0 ] [ offsetz 0 ] [ offsetw 0 ] )
uniform [ 0 locks=0 autoscope=0 ] ( [ uniform 0 ] )
-Distort [ 0 locks=0 autoscope=0 ] ( [ Distortx 1 ] [ Distorty 1 ] [ Distortz 1 ] )
+Distort [ 0 locks=0 autoscope=0 ] ( [ Distortx 0 ] [ Distorty 0 ] [ Distortz 0 ] )
time_scale [ 0 locks=0 autoscope=0 ] ( [ time_scale 1 ] )
time_varying [ 0 locks=0 autoscope=0 ] ( [ time_varying 0 ] )
bindname1 [ 0 locks=0 ] ( __attr )
@@ -3919,7 +3978,7 @@ inputs
stat
{
create 1524060463
- modify 1571799722
+ modify 1586108639
author Henry@LAPPY586
access 0777
}
@@ -3941,7 +4000,7 @@ Content-Type: text/plain
baseparm
label "Group"
export none
- bindselector uvselect "Modify Points"
+ bindselector points "Modify Points"
"Select the points to affect and press Enter to complete."
0 1 0xffffffff 0 grouptype 0
}
@@ -4146,6 +4205,12 @@ Content-Type: text/plain
default { "0" }
range { 0 10 }
}
+ parm {
+ name "vex_precision"
+ baseparm
+ label "VEX Precision"
+ export none
+ }
--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
Content-Disposition: attachment; filename="hdaroot/mix_min.chn"
@@ -4277,7 +4342,7 @@ grouptype [ 8 locks=0 autoscope=0 ] ( [ grouptype 0 ] )
class [ 0 locks=0 autoscope=0 ] ( "point" )
vex_numcount [ 0 locks=0 autoscope=0 ] ( 10 )
vex_threadjobsize [ 0 locks=0 autoscope=0 ] ( 1024 )
-snippet [ 0 locks=0 autoscope=0 ] ( "vector4 pos = @P;
+snippet [ 0 locks=0 autoscope=0 ] ( "vector4 pos = set(@P.x, @P.y, @P.z, 0);
vector4 freq = chp(\"freq\");
vector4 offset = chp(\"offset\");
vector amp = chv(\"amp\");
@@ -4328,6 +4393,7 @@ vex_updatenmls [ 0 locks=0 autoscope=0 ] ( "off" )
vex_matchattrib [ 0 locks=0 autoscope=0 ] ( id )
vex_inplace [ 0 locks=0 autoscope=0 ] ( "off" )
vex_selectiongroup [ 0 locks=0 autoscope=0 ] ( "" )
+vex_precision [ 0 locks=0 ] ( auto )
folder1 [ 0 locks=0 ] ( 0 0 )
amp [ 0 locks=0 ] ( [ ampx 1 ] [ ampy 1 ] [ ampz 1 ] )
roughness [ 0 locks=0 autoscope=0 ] ( [ roughness 0.5 ] )
@@ -4367,7 +4433,7 @@ sopflags sopflags =
comment ""
position -0.00258204 4.2038
connectornextid 2
-flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
+flags = lock off model off template off footprint off xray off bypass off display on render on highlight off unload off savedata off compress on colordefault on exposed on
outputsNamed3
{
0 "output1"
@@ -4383,7 +4449,7 @@ inputs
stat
{
create 1524060464
- modify 1571799722
+ modify 1586108457
author Henry@LAPPY586
access 0777
}
@@ -4405,7 +4471,7 @@ Content-Type: text/plain
baseparm
label "Group"
export none
- bindselector uvselect "Modify Points"
+ bindselector points "Modify Points"
"Select the points to affect and press Enter to complete."
0 1 0xffffffff 0 grouptype 0
}
@@ -4565,6 +4631,12 @@ Content-Type: text/plain
default { "0" }
range { 0 10 }
}
+ parm {
+ name "vex_precision"
+ baseparm
+ label "VEX Precision"
+ export none
+ }
--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
Content-Disposition: attachment; filename="hdaroot/rest.chn"
@@ -4599,7 +4671,7 @@ vex_numcount [ 0 locks=0 autoscope=0 ] ( 10 )
vex_threadjobsize [ 0 locks=0 autoscope=0 ] ( 1024 )
snippet [ 0 locks=0 autoscope=0 ] ( "v@__P = @P;
if(chi(\"use_rest\") && chi(\"has_rest\")) {
- @P = v@rest;
+ @P = point(0, \"rest\", @ptnum);
}" )
exportlist [ 0 locks=0 autoscope=0 ] ( * )
vex_strict [ 0 locks=0 autoscope=0 ] ( "off" )
@@ -4613,9 +4685,10 @@ vex_updatenmls [ 0 locks=0 autoscope=0 ] ( "off" )
vex_matchattrib [ 0 locks=0 autoscope=0 ] ( id )
vex_inplace [ 0 locks=0 autoscope=0 ] ( "off" )
vex_selectiongroup [ 0 locks=0 autoscope=0 ] ( "" )
+vex_precision [ 0 locks=0 ] ( auto )
folder1 [ 0 locks=0 autoscope=0 ] ( 0 0 )
-use_rest [ 0 locks=0 autoscope=0 ] ( [ use_rest 1 ] )
-has_rest [ 0 locks=0 autoscope=0 ] ( [ has_rest 1 ] )
+use_rest [ 0 locks=0 autoscope=0 ] ( [ use_rest 0 ] )
+has_rest [ 8 locks=0 autoscope=0 ] ( [ has_rest 1 ] )
}
--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
@@ -4660,7 +4733,7 @@ inputs
stat
{
create 1549075027
- modify 1571799722
+ modify 1586107415
author Henry@LAPPY586
access 0777
}
@@ -4694,6 +4767,7 @@ vex_updatenmls [ 0 locks=0 ] ( "off" )
vex_matchattrib [ 0 locks=0 ] ( id )
vex_inplace [ 0 locks=0 ] ( "off" )
vex_selectiongroup [ 0 locks=0 ] ( "" )
+vex_precision [ 0 locks=0 ] ( auto )
}
--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
@@ -4720,7 +4794,7 @@ Content-Type: text/plain
sopflags sopflags =
comment ""
-position 4.35856 -5.97535
+position 5.19447 -5.8012
connectornextid 2
flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
outputsNamed3
@@ -4738,7 +4812,7 @@ inputs
stat
{
create 1549515796
- modify 1571799722
+ modify 1586107415
author Henry@LAPPY586
access 0777
}
@@ -4769,7 +4843,7 @@ Content-Type: text/plain
baseparm
label "Group"
export none
- bindselector uvselect "Modify Points"
+ bindselector points "Modify Points"
"Select the points to affect and press Enter to complete."
0 1 0xffffffff 0 grouptype 0
}
@@ -4931,6 +5005,12 @@ Content-Type: text/plain
default { "0" "0" }
range { 0 1 }
}
+ parm {
+ name "vex_precision"
+ baseparm
+ label "VEX Precision"
+ export none
+ }
--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
Content-Disposition: attachment; filename="hdaroot/range_3D.chn"
@@ -4993,7 +5073,8 @@ vex_updatenmls [ 0 locks=0 ] ( "off" )
vex_matchattrib [ 0 locks=0 ] ( id )
vex_inplace [ 0 locks=0 ] ( "off" )
vex_selectiongroup [ 0 locks=0 ] ( "" )
-folder1 [ 0 locks=0 ] ( 1 1 )
+vex_precision [ 0 locks=0 ] ( auto )
+folder1 [ 0 locks=0 ] ( 0 0 )
input_range [ 8 locks=0 ] ( [ input_rangex -1 ] [ input_rangey 1 ] )
output_range [ 8 locks=0 ] ( [ output_rangex -1 ] [ output_rangey 1 ] )
bindname1 [ 0 locks=0 ] ( __attr )
@@ -5024,7 +5105,7 @@ Content-Type: text/plain
sopflags sopflags =
comment ""
-position 1.53042 -5.97435
+position -0.0682543 -5.57551
connectornextid 2
flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
outputsNamed3
@@ -5042,7 +5123,7 @@ inputs
stat
{
create 1550294119
- modify 1571799722
+ modify 1586107415
author Henry@LAPPY586
access 0777
}
@@ -5064,7 +5145,7 @@ Content-Type: text/plain
baseparm
label "Group"
export none
- bindselector uvselect "Modify Points"
+ bindselector points "Modify Points"
"Select the points to affect and press Enter to complete."
0 1 0xffffffff 0 grouptype 0
}
@@ -5226,6 +5307,12 @@ Content-Type: text/plain
default { "0" "0" }
range { 0 1 }
}
+ parm {
+ name "vex_precision"
+ baseparm
+ label "VEX Precision"
+ export none
+ }
--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
Content-Disposition: attachment; filename="hdaroot/range_2D.chn"
@@ -5236,27 +5323,27 @@ Content-Type: text/plain
lefttype = extend
righttype = extend
flags = 0
- segment { length = 0 expr = ch(\"../input_rangex\") }
+ segment { length = 0 expr = ch(\"../input_rangevx\") }
}
channel input_rangey {
lefttype = extend
righttype = extend
default = 1
flags = 0
- segment { length = 0 value = 1 1 expr = ch(\"../input_rangey\") }
+ segment { length = 0 value = 1 1 expr = ch(\"../input_rangevy\") }
}
channel output_rangex {
lefttype = extend
righttype = extend
flags = 0
- segment { length = 0 expr = ch(\"../output_rangex\") }
+ segment { length = 0 expr = ch(\"../output_rangevx\") }
}
channel output_rangey {
lefttype = extend
righttype = extend
default = 1
flags = 0
- segment { length = 0 value = 1 1 expr = ch(\"../output_rangey\") }
+ segment { length = 0 value = 1 1 expr = ch(\"../output_rangevy\") }
}
}
@@ -5289,9 +5376,10 @@ vex_updatenmls [ 0 locks=0 ] ( "off" )
vex_matchattrib [ 0 locks=0 ] ( id )
vex_inplace [ 0 locks=0 ] ( "off" )
vex_selectiongroup [ 0 locks=0 ] ( "" )
+vex_precision [ 0 locks=0 ] ( auto )
folder1 [ 0 locks=0 ] ( 0 0 )
-input_range [ 8 locks=0 ] ( [ input_rangex 0 ] [ input_rangey 1 ] )
-output_range [ 8 locks=0 ] ( [ output_rangex 0 ] [ output_rangey 1 ] )
+input_range [ 8 locks=0 ] ( [ input_rangex -1 ] [ input_rangey 1 ] )
+output_range [ 8 locks=0 ] ( [ output_rangex -1 ] [ output_rangey 1 ] )
bindname1 [ 0 locks=0 ] ( __attr )
bindparm1 [ 0 locks=0 ] ( attr )
}
@@ -5338,7 +5426,7 @@ inputs
stat
{
create 1524060463
- modify 1571799722
+ modify 1586108612
author Henry@LAPPY586
access 0777
}
@@ -5360,7 +5448,7 @@ Content-Type: text/plain
baseparm
label "Group"
export none
- bindselector uvselect "Modify Points"
+ bindselector points "Modify Points"
"Select the points to affect and press Enter to complete."
0 1 0xffffffff 0 grouptype 0
}
@@ -5564,6 +5652,12 @@ Content-Type: text/plain
default { "0" }
range { 0 10 }
}
+ parm {
+ name "vex_precision"
+ baseparm
+ label "VEX Precision"
+ export none
+ }
--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
Content-Disposition: attachment; filename="hdaroot/Curl.chn"
@@ -5697,12 +5791,12 @@ Content-Type: text/plain
{
version 0.8
folder0 [ 0 locks=0 autoscope=0 ] ( 0 0 )
-group [ 0 locks=0 autoscope=0 ] ( [ group "" ] )
+group [ 0 locks=0 autoscope=0 ] ( [ group __mops_orig ] )
grouptype [ 0 locks=0 autoscope=0 ] ( [ grouptype 0 ] )
class [ 0 locks=0 autoscope=0 ] ( "point" )
vex_numcount [ 0 locks=0 autoscope=0 ] ( 10 )
vex_threadjobsize [ 0 locks=0 autoscope=0 ] ( 1024 )
-snippet [ 0 locks=0 autoscope=0 ] ( "vector4 pos = @P;
+snippet [ 0 locks=0 autoscope=0 ] ( "vector4 pos = set(@P.x, @P.y, @P.z, 0);
vector4 freq = chp(\"freq\");
vector4 offset = chp(\"offset\");
vector amp = chv(\"amp\");
@@ -5746,8 +5840,9 @@ vex_updatenmls [ 0 locks=0 autoscope=0 ] ( "off" )
vex_matchattrib [ 0 locks=0 autoscope=0 ] ( id )
vex_inplace [ 0 locks=0 autoscope=0 ] ( "off" )
vex_selectiongroup [ 0 locks=0 autoscope=0 ] ( "" )
+vex_precision [ 0 locks=0 ] ( auto )
folder1 [ 0 locks=0 ] ( 0 0 )
-amp [ 8 locks=0 autoscope=0 ] ( [ ampx 1 ] [ ampy 1 ] [ ampz 1 ] )
+amp [ 0 locks=0 autoscope=0 ] ( [ ampx 1 ] [ ampy 1 ] [ ampz 1 ] )
roughness [ 0 locks=0 autoscope=0 ] ( [ roughness 0.5 ] )
octaves [ 0 locks=0 autoscope=0 ] ( [ octaves 1 ] )
freq [ 0 locks=0 autoscope=0 ] ( [ freqx 1 ] [ freqy 1 ] [ freqz 1 ] [ freqw 1 ] )
@@ -5801,7 +5896,7 @@ inputs
stat
{
create 1554935939
- modify 1571799722
+ modify 1586107415
author Henry@LAPPY586
access 0777
}
@@ -5835,6 +5930,7 @@ vex_updatenmls [ 0 locks=0 ] ( "off" )
vex_matchattrib [ 0 locks=0 ] ( id )
vex_inplace [ 0 locks=0 ] ( "off" )
vex_selectiongroup [ 0 locks=0 ] ( "" )
+vex_precision [ 0 locks=0 ] ( auto )
}
--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
@@ -5879,7 +5975,7 @@ inputs
stat
{
create 1554935960
- modify 1571799722
+ modify 1586107415
author Henry@LAPPY586
access 0777
}
@@ -5901,7 +5997,7 @@ Content-Type: text/plain
baseparm
label "Group"
export none
- bindselector uvselect "Modify Points"
+ bindselector points "Modify Points"
"Select the points to affect and press Enter to complete."
0 1 0xffffffff 0 grouptype 0
}
@@ -6054,6 +6150,12 @@ Content-Type: text/plain
default { "0" }
range { 0 1 }
}
+ parm {
+ name "vex_precision"
+ baseparm
+ label "VEX Precision"
+ export none
+ }
--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
Content-Disposition: attachment; filename="hdaroot/pointwrangle2.chn"
@@ -6094,6 +6196,7 @@ vex_updatenmls [ 0 locks=0 ] ( "off" )
vex_matchattrib [ 0 locks=0 ] ( id )
vex_inplace [ 0 locks=0 ] ( "off" )
vex_selectiongroup [ 0 locks=0 ] ( "" )
+vex_precision [ 0 locks=0 ] ( auto )
folder1 [ 0 locks=0 ] ( 0 0 )
timescale [ 0 locks=0 ] ( [ timescale 1 ] )
}
@@ -6140,7 +6243,7 @@ inputs
stat
{
create 1524060463
- modify 1571799722
+ modify 1586108625
author Henry@LAPPY586
access 0777
}
@@ -6162,7 +6265,7 @@ Content-Type: text/plain
baseparm
label "Group"
export none
- bindselector uvselect "Modify Points"
+ bindselector points "Modify Points"
"Select the points to affect and press Enter to complete."
0 1 0xffffffff 0 grouptype 0
}
@@ -6366,6 +6469,12 @@ Content-Type: text/plain
default { "0" }
range { 0 10 }
}
+ parm {
+ name "vex_precision"
+ baseparm
+ label "VEX Precision"
+ export none
+ }
--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
Content-Disposition: attachment; filename="hdaroot/Alligator.chn"
@@ -6499,12 +6608,12 @@ Content-Type: text/plain
{
version 0.8
folder0 [ 0 locks=0 autoscope=0 ] ( 0 0 )
-group [ 0 locks=0 autoscope=0 ] ( [ group "" ] )
+group [ 0 locks=0 autoscope=0 ] ( [ group __mops_orig ] )
grouptype [ 0 locks=0 autoscope=0 ] ( [ grouptype 0 ] )
class [ 0 locks=0 autoscope=0 ] ( "point" )
vex_numcount [ 0 locks=0 autoscope=0 ] ( 10 )
vex_threadjobsize [ 0 locks=0 autoscope=0 ] ( 1024 )
-snippet [ 0 locks=0 autoscope=0 ] ( "vector4 pos = @P;
+snippet [ 0 locks=0 autoscope=0 ] ( "vector4 pos = set(@P.x, @P.y, @P.z, 0);
vector4 freq = chp(\"freq\");
vector4 offset = chp(\"offset\");
vector amp = chv(\"amp\");
@@ -6548,6 +6657,7 @@ vex_updatenmls [ 0 locks=0 autoscope=0 ] ( "off" )
vex_matchattrib [ 0 locks=0 autoscope=0 ] ( id )
vex_inplace [ 0 locks=0 autoscope=0 ] ( "off" )
vex_selectiongroup [ 0 locks=0 autoscope=0 ] ( "" )
+vex_precision [ 0 locks=0 ] ( auto )
folder1 [ 0 locks=0 ] ( 0 0 )
amp [ 8 locks=0 autoscope=0 ] ( [ ampx 1 ] [ ampy 1 ] [ ampz 1 ] )
roughness [ 8 locks=0 autoscope=0 ] ( [ roughness 0.5 ] )
@@ -6603,7 +6713,7 @@ inputs
stat
{
create 1524060463
- modify 1571799722
+ modify 1586108634
author Henry@LAPPY586
access 0777
}
@@ -6625,7 +6735,7 @@ Content-Type: text/plain
baseparm
label "Group"
export none
- bindselector uvselect "Modify Points"
+ bindselector points "Modify Points"
"Select the points to affect and press Enter to complete."
0 1 0xffffffff 0 grouptype 0
}
@@ -6829,6 +6939,12 @@ Content-Type: text/plain
default { "0" }
range { 0 10 }
}
+ parm {
+ name "vex_precision"
+ baseparm
+ label "VEX Precision"
+ export none
+ }
--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
Content-Disposition: attachment; filename="hdaroot/Sparse_Convolution.chn"
@@ -6962,12 +7078,12 @@ Content-Type: text/plain
{
version 0.8
folder0 [ 0 locks=0 autoscope=0 ] ( 0 0 )
-group [ 0 locks=0 autoscope=0 ] ( [ group "" ] )
+group [ 0 locks=0 autoscope=0 ] ( [ group __mops_orig ] )
grouptype [ 0 locks=0 autoscope=0 ] ( [ grouptype 0 ] )
class [ 0 locks=0 autoscope=0 ] ( "point" )
vex_numcount [ 0 locks=0 autoscope=0 ] ( 10 )
vex_threadjobsize [ 0 locks=0 autoscope=0 ] ( 1024 )
-snippet [ 0 locks=0 autoscope=0 ] ( "vector4 pos = @P;
+snippet [ 0 locks=0 autoscope=0 ] ( "vector4 pos = set(@P.x, @P.y, @P.z, 0);
vector4 freq = chp(\"freq\");
vector4 offset = chp(\"offset\");
vector amp = chv(\"amp\");
@@ -7012,6 +7128,7 @@ vex_updatenmls [ 0 locks=0 autoscope=0 ] ( "off" )
vex_matchattrib [ 0 locks=0 autoscope=0 ] ( id )
vex_inplace [ 0 locks=0 autoscope=0 ] ( "off" )
vex_selectiongroup [ 0 locks=0 autoscope=0 ] ( "" )
+vex_precision [ 0 locks=0 ] ( auto )
folder1 [ 0 locks=0 ] ( 0 0 )
amp [ 8 locks=0 autoscope=0 ] ( [ ampx 1 ] [ ampy 1 ] [ ampz 1 ] )
roughness [ 8 locks=0 autoscope=0 ] ( [ roughness 0.5 ] )
@@ -7037,19 +7154,19 @@ Content-Type: text/plain
}
--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
-Content-Disposition: attachment; filename="hdaroot/IN_MOPS.init"
+Content-Disposition: attachment; filename="hdaroot/pointwrangle3.init"
Content-Type: text/plain
-type = null
-matchesdef = 0
+type = attribwrangle
+matchesdef = 1
--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
-Content-Disposition: attachment; filename="hdaroot/IN_MOPS.def"
+Content-Disposition: attachment; filename="hdaroot/pointwrangle3.def"
Content-Type: text/plain
sopflags sopflags =
comment ""
-position 0.003 7.5338
+position 1.83142 -5.57451
connectornextid 2
flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
outputsNamed3
@@ -7058,156 +7175,628 @@ outputsNamed3
}
inputsNamed3
{
-0 (0) "" 1 "input1"
+0 attribdelete1 1 1 "input1"
}
inputs
{
-0 (0) 0 1
+0 attribdelete1 0 1
}
stat
{
- create 1549074632
- modify 1554935924
+ create 1583773867
+ modify 1586107415
author Henry@LAPPY586
access 0777
}
-color UT_Color RGB 0.6 0.7 0.77
+color UT_Color RGB 0.8 0.8 0.8
delscript ""
exprlanguage hscript
end
--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
-Content-Disposition: attachment; filename="hdaroot/IN_MOPS.parm"
+Content-Disposition: attachment; filename="hdaroot/pointwrangle3.parm"
Content-Type: text/plain
{
version 0.8
-copyinput [ 0 locks=0 ] ( "on" )
-cacheinput [ 0 locks=0 ] ( "off" )
+folder0 [ 0 locks=0 ] ( 0 0 )
+group [ 0 locks=0 ] ( "" )
+grouptype [ 0 locks=0 ] ( "guess" )
+class [ 0 locks=0 ] ( "point" )
+vex_numcount [ 0 locks=0 ] ( 10 )
+vex_threadjobsize [ 0 locks=0 ] ( 1024 )
+snippet [ 0 locks=0 ] ( "f@float_attr = length(v@attr);" )
+exportlist [ 0 locks=0 ] ( * )
+vex_strict [ 0 locks=0 ] ( "off" )
+autobind [ 0 locks=0 ] ( "on" )
+bindings [ 0 locks=0 ] ( 1 )
+groupautobind [ 0 locks=0 ] ( "on" )
+groupbindings [ 0 locks=0 ] ( 0 )
+vex_cwdpath [ 0 locks=0 ] ( . )
+vex_outputmask [ 0 locks=0 ] ( * )
+vex_updatenmls [ 0 locks=0 ] ( "off" )
+vex_matchattrib [ 0 locks=0 ] ( id )
+vex_inplace [ 0 locks=0 ] ( "off" )
+vex_selectiongroup [ 0 locks=0 ] ( "" )
+vex_precision [ 0 locks=0 ] ( auto )
+bindname1 [ 0 locks=0 ] ( __attr )
+bindparm1 [ 0 locks=0 ] ( attr )
}
--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
-Content-Disposition: attachment; filename="hdaroot/IN_MOPS.userdata"
+Content-Disposition: attachment; filename="hdaroot/pointwrangle3.userdata"
Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"17.5.229"
+ "value":""
}
}
--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
-Content-Disposition: attachment; filename="hdaroot/switch1.init"
+Content-Disposition: attachment; filename="hdaroot/range_3D1.init"
Content-Type: text/plain
-type = switch
-matchesdef = 0
+type = attribwrangle
+matchesdef = 1
--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
-Content-Disposition: attachment; filename="hdaroot/switch1.def"
+Content-Disposition: attachment; filename="hdaroot/range_3D1.def"
Content-Type: text/plain
sopflags sopflags =
comment ""
-position 2.83117 -2.30923
-connectornextid 13
+position 8.35516 -5.66842
+connectornextid 2
flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
outputsNamed3
{
-9 "output1"
+1 "output1"
}
inputsNamed3
{
-0 Perlin 0 1 "input1"
-1 Simplex 0 1 "input2"
-2 Worley_f2-f1 0 1 "input3"
-3 Worley_f1 0 1 "input4"
-4 Worley_f2 0 1 "input5"
-5 simplex_mosaic 0 1 "input6"
-6 Simplex_Folded 0 1 "input7"
-7 simplex_warped 0 1 "input8"
-8 mix_min 0 1 "input9"
-10 Curl 0 1 "input10"
-11 Alligator 0 1 "input11"
-12 Sparse_Convolution 0 1 "input12"
+0 attribdelete1 1 1 "input1"
}
inputs
{
-0 Perlin 0 1
-1 Simplex 0 1
-2 Worley_f2-f1 0 1
-3 Worley_f1 0 1
-4 Worley_f2 0 1
-5 simplex_mosaic 0 1
-6 Simplex_Folded 0 1
-7 simplex_warped 0 1
-8 mix_min 0 1
-9 Curl 0 1
-10 Alligator 0 1
-11 Sparse_Convolution 0 1
+0 attribdelete1 0 1
}
stat
{
- create 1549075032
- modify 1571799722
+ create 1549515796
+ modify 1586107415
author Henry@LAPPY586
access 0777
}
-color UT_Color RGB 0.8 1 0.7
+color UT_Color RGB 0.8 0.8 0.8
delscript ""
exprlanguage hscript
end
--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
-Content-Disposition: attachment; filename="hdaroot/switch1.chn"
+Content-Disposition: attachment; filename="hdaroot/range_3D1.multiparm"
Content-Type: text/plain
-{
- channel input {
- lefttype = extend
- righttype = extend
- flags = 0
- segment { length = 0 expr = ch(\"../input\") }
- }
- }
+3
+remap_ramp#pos ../remap_ramp#pos
+remap_ramp#value ../remap_ramp#value
+remap_ramp#interp ../remap_ramp#interp
--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
-Content-Disposition: attachment; filename="hdaroot/switch1.parm"
+Content-Disposition: attachment; filename="hdaroot/range_3D1.spareparmdef"
Content-Type: text/plain
-{
-version 0.8
-input [ 0 locks=0 ] ( [ input 11 ] )
-}
+ group {
+ name "folder1"
+ label "Code"
---HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
-Content-Disposition: attachment; filename="hdaroot/switch1.userdata"
-Content-Type: text/plain
+ parm {
+ name "group"
+ baseparm
+ label "Group"
+ export none
+ bindselector points "Modify Points"
+ "Select the points to affect and press Enter to complete."
+ 0 1 0xffffffff 0 grouptype 0
+ }
+ parm {
+ name "grouptype"
+ baseparm
+ label "Group Type"
+ export none
+ }
+ parm {
+ name "class"
+ baseparm
+ label "Run Over"
+ export none
+ }
+ parm {
+ name "vex_numcount"
+ baseparm
+ label "Number Count"
+ export none
+ }
+ parm {
+ name "vex_threadjobsize"
+ baseparm
+ label "Thread Job Size"
+ export none
+ }
+ parm {
+ name "snippet"
+ baseparm
+ label "VEXpression"
+ export all
+ }
+ parm {
+ name "exportlist"
+ baseparm
+ label "Attributes to Create"
+ export none
+ }
+ parm {
+ name "vex_strict"
+ baseparm
+ label "Enforce Prototypes"
+ export none
+ }
+ }
-{
- "___Version___":{
- "type":"string",
- "value":"17.5.229"
- }
-}
+ group {
+ name "folder1_1"
+ label "Bindings"
---HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
-Content-Disposition: attachment; filename="hdaroot/output1.init"
-Content-Type: text/plain
+ parm {
+ name "autobind"
+ baseparm
+ label "Autobind by Name"
+ export none
+ }
+ multiparm {
+ name "bindings"
+ label "Number of Bindings"
+ baseparm
+ default 0
+ parmtag { "autoscope" "0000000000000000" }
+ parmtag { "multistartoffset" "1" }
-type = output
-matchesdef = 0
+ parm {
+ name "bindname#"
+ baseparm
+ label "Attribute Name"
+ export none
+ }
+ parm {
+ name "bindparm#"
+ baseparm
+ label "VEX Parameter"
+ export none
+ }
+ }
---HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
-Content-Disposition: attachment; filename="hdaroot/output1.def"
-Content-Type: text/plain
+ parm {
+ name "groupautobind"
+ baseparm
+ label "Autobind Groups by Name"
+ export none
+ }
+ multiparm {
+ name "groupbindings"
+ label "Group Bindings"
+ baseparm
+ default 0
+ parmtag { "autoscope" "0000000000000000" }
+ parmtag { "multistartoffset" "1" }
-sopflags sopflags =
-comment ""
-position 2.6627 -9.87236
-connectornextid 1
-flags = lock off model off template off footprint off xray off bypass off display on render on highlight off unload off savedata off compress on colordefault on exposed on
+ parm {
+ name "bindgroupname#"
+ baseparm
+ label "Group Name"
+ export none
+ }
+ parm {
+ name "bindgroupparm#"
+ baseparm
+ label "VEX Parameter"
+ export none
+ }
+ }
+
+ parm {
+ name "vex_cwdpath"
+ baseparm
+ label "Evaluation Node Path"
+ export none
+ }
+ parm {
+ name "vex_outputmask"
+ baseparm
+ label "Export Parameters"
+ export none
+ }
+ parm {
+ name "vex_updatenmls"
+ baseparm
+ label "Update Normals If Displaced"
+ export none
+ }
+ parm {
+ name "vex_matchattrib"
+ baseparm
+ label "Attribute to Match"
+ export none
+ }
+ parm {
+ name "vex_inplace"
+ baseparm
+ label "Compute Results In Place"
+ export none
+ }
+ parm {
+ name "vex_selectiongroup"
+ baseparm
+ label "Output Selection Group"
+ export none
+ }
+ }
+
+ parm {
+ name "vex_precision"
+ baseparm
+ label "VEX Precision"
+ export none
+ }
+ parm {
+ name "input_min"
+ label "Input Min"
+ type vector
+ size 3
+ default { "0" "0" "0" }
+ range { 0 1 }
+ }
+ parm {
+ name "input_max"
+ label "Input Max"
+ type vector
+ size 3
+ default { "0" "0" "0" }
+ range { 0 1 }
+ }
+ parm {
+ name "output_min"
+ label "Output Min"
+ type vector
+ size 3
+ default { "0" "0" "0" }
+ range { 0 1 }
+ }
+ parm {
+ name "output_max"
+ label "Output Max"
+ type vector
+ size 3
+ default { "0" "0" "0" }
+ range { 0 1 }
+ }
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/range_3D1.chn"
+Content-Type: text/plain
+
+{
+ channel input_minx {
+ lefttype = extend
+ righttype = extend
+ default = -1
+ flags = 0
+ segment { length = 0 value = -1 -1 expr = ch(\"../input_min_3Dx\") }
+ }
+ channel input_miny {
+ lefttype = extend
+ righttype = extend
+ default = -1
+ flags = 0
+ segment { length = 0 value = -1 -1 expr = ch(\"../input_min_3Dy\") }
+ }
+ channel input_minz {
+ lefttype = extend
+ righttype = extend
+ default = -1
+ flags = 0
+ segment { length = 0 value = -1 -1 expr = ch(\"../input_min_3Dz\") }
+ }
+ channel input_maxx {
+ lefttype = extend
+ righttype = extend
+ default = 1
+ flags = 0
+ segment { length = 0 value = 1 1 expr = ch(\"../input_max_3Dx\") }
+ }
+ channel input_maxy {
+ lefttype = extend
+ righttype = extend
+ default = 1
+ flags = 0
+ segment { length = 0 value = 1 1 expr = ch(\"../input_max_3Dy\") }
+ }
+ channel input_maxz {
+ lefttype = extend
+ righttype = extend
+ default = 1
+ flags = 0
+ segment { length = 0 value = 1 1 expr = ch(\"../input_max_3Dz\") }
+ }
+ channel output_minx {
+ lefttype = extend
+ righttype = extend
+ default = -1
+ flags = 0
+ segment { length = 0 value = -1 -1 expr = ch(\"../output_min_3Dx\") }
+ }
+ channel output_miny {
+ lefttype = extend
+ righttype = extend
+ default = -1
+ flags = 0
+ segment { length = 0 value = -1 -1 expr = ch(\"../output_min_3Dy\") }
+ }
+ channel output_minz {
+ lefttype = extend
+ righttype = extend
+ default = -1
+ flags = 0
+ segment { length = 0 value = -1 -1 expr = ch(\"../output_min_3Dz\") }
+ }
+ channel output_maxx {
+ lefttype = extend
+ righttype = extend
+ default = 1
+ flags = 0
+ segment { length = 0 value = 1 1 expr = ch(\"../output_max_3Dx\") }
+ }
+ channel output_maxy {
+ lefttype = extend
+ righttype = extend
+ default = 1
+ flags = 0
+ segment { length = 0 value = 1 1 expr = ch(\"../output_max_3Dy\") }
+ }
+ channel output_maxz {
+ lefttype = extend
+ righttype = extend
+ default = 1
+ flags = 0
+ segment { length = 0 value = 1 1 expr = ch(\"../output_max_3Dz\") }
+ }
+ }
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/range_3D1.parm"
+Content-Type: text/plain
+
+{
+version 0.8
+folder0 [ 0 locks=0 ] ( 0 0 )
+group [ 0 locks=0 ] ( "" )
+grouptype [ 0 locks=0 ] ( "guess" )
+class [ 0 locks=0 ] ( "point" )
+vex_numcount [ 0 locks=0 ] ( 10 )
+vex_threadjobsize [ 0 locks=0 ] ( 1024 )
+snippet [ 0 locks=0 ] ( "vector input_min = chv(\"input_min\");
+vector input_max = chv(\"input_max\");
+vector output_min = chv(\"output_min\");
+vector output_max = chv(\"output_max\");
+
+vector remap = fit(v@attr, input_min, input_max, output_min, output_max);
+
+v@attr = remap;" )
+exportlist [ 0 locks=0 ] ( * )
+vex_strict [ 0 locks=0 ] ( "off" )
+autobind [ 0 locks=0 ] ( "on" )
+bindings [ 0 locks=0 ] ( 1 )
+groupautobind [ 0 locks=0 ] ( "on" )
+groupbindings [ 0 locks=0 ] ( 0 )
+vex_cwdpath [ 0 locks=0 ] ( . )
+vex_outputmask [ 0 locks=0 ] ( * )
+vex_updatenmls [ 0 locks=0 ] ( "off" )
+vex_matchattrib [ 0 locks=0 ] ( id )
+vex_inplace [ 0 locks=0 ] ( "off" )
+vex_selectiongroup [ 0 locks=0 ] ( "" )
+vex_precision [ 0 locks=0 ] ( auto )
+folder1 [ 0 locks=0 ] ( 0 0 )
+input_min [ 8 locks=0 ] ( [ input_minx -1 ] [ input_miny -1 ] [ input_minz -1 ] )
+input_max [ 8 locks=0 ] ( [ input_maxx 1 ] [ input_maxy 1 ] [ input_maxz 1 ] )
+output_min [ 8 locks=0 ] ( [ output_minx -1 ] [ output_miny -1 ] [ output_minz -1 ] )
+output_max [ 8 locks=0 ] ( [ output_maxx 1 ] [ output_maxy 1 ] [ output_maxz 1 ] )
+bindname1 [ 0 locks=0 ] ( __attr )
+bindparm1 [ 0 locks=0 ] ( attr )
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/range_3D1.userdata"
+Content-Type: text/plain
+
+{
+ "___Version___":{
+ "type":"string",
+ "value":""
+ }
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/IN_MOPS.init"
+Content-Type: text/plain
+
+type = null
+matchesdef = 0
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/IN_MOPS.def"
+Content-Type: text/plain
+
+sopflags sopflags =
+comment ""
+position 0.003 7.5338
+connectornextid 2
+flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
+outputsNamed3
+{
+1 "output1"
+}
+inputsNamed3
+{
+0 (0) "" 1 "input1"
+}
+inputs
+{
+0 (0) 0 1
+}
+stat
+{
+ create 1549074632
+ modify 1582671042
+ author Henry@LAPPY586
+ access 0777
+}
+color UT_Color RGB 0.6 0.7 0.77
+delscript ""
+exprlanguage hscript
+end
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/IN_MOPS.parm"
+Content-Type: text/plain
+
+{
+version 0.8
+copyinput [ 0 locks=0 ] ( "on" )
+cacheinput [ 0 locks=0 ] ( "off" )
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/IN_MOPS.userdata"
+Content-Type: text/plain
+
+{
+ "___Version___":{
+ "type":"string",
+ "value":"18.0.391"
+ }
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/switch1.init"
+Content-Type: text/plain
+
+type = switch
+matchesdef = 0
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/switch1.def"
+Content-Type: text/plain
+
+sopflags sopflags =
+comment ""
+position 2.83117 -2.30923
+connectornextid 13
+flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
+outputsNamed3
+{
+9 "output1"
+}
+inputsNamed3
+{
+0 Perlin 0 1 "input1"
+1 Simplex 0 1 "input2"
+2 Worley_f2-f1 0 1 "input3"
+3 Worley_f1 0 1 "input4"
+4 Worley_f2 0 1 "input5"
+5 simplex_mosaic 0 1 "input6"
+6 Simplex_Folded 0 1 "input7"
+7 simplex_warped 0 1 "input8"
+8 mix_min 0 1 "input9"
+10 Curl 0 1 "input10"
+11 Alligator 0 1 "input11"
+12 Sparse_Convolution 0 1 "input12"
+}
+inputs
+{
+0 Perlin 0 1
+1 Simplex 0 1
+2 Worley_f2-f1 0 1
+3 Worley_f1 0 1
+4 Worley_f2 0 1
+5 simplex_mosaic 0 1
+6 Simplex_Folded 0 1
+7 simplex_warped 0 1
+8 mix_min 0 1
+9 Curl 0 1
+10 Alligator 0 1
+11 Sparse_Convolution 0 1
+}
+stat
+{
+ create 1549075032
+ modify 1586107415
+ author Henry@LAPPY586
+ access 0777
+}
+color UT_Color RGB 0.8 1 0.7
+delscript ""
+exprlanguage hscript
+end
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/switch1.chn"
+Content-Type: text/plain
+
+{
+ channel input {
+ lefttype = extend
+ righttype = extend
+ flags = 0
+ segment { length = 0 expr = ch(\"../input\") }
+ }
+ }
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/switch1.parm"
+Content-Type: text/plain
+
+{
+version 0.8
+input [ 0 locks=0 ] ( [ input 9 ] )
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/switch1.userdata"
+Content-Type: text/plain
+
+{
+ "___Version___":{
+ "type":"string",
+ "value":"18.0.391"
+ }
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/output1.init"
+Content-Type: text/plain
+
+type = output
+matchesdef = 0
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/output1.def"
+Content-Type: text/plain
+
+sopflags sopflags =
+comment ""
+position 2.71285 -11.8033
+connectornextid 1
+flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
outputsNamed3
{
}
@@ -7222,7 +7811,7 @@ inputs
stat
{
create 1549075045
- modify 1554935939
+ modify 1586108457
author Henry@LAPPY586
access 0777
}
@@ -7247,7 +7836,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"17.5.229"
+ "value":"18.0.391"
}
}
@@ -7282,7 +7871,7 @@ inputs
stat
{
create 1549075065
- modify 1554936225
+ modify 1582671042
author Henry@LAPPY586
access 0777
}
@@ -7328,7 +7917,7 @@ Content-Type: text/plain
sopflags sopflags =
comment ""
-position 1.425 -6.69153
+position 1.12407 -7.64525
connectornextid 2
flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
outputsNamed3
@@ -7337,16 +7926,16 @@ outputsNamed3
}
inputsNamed3
{
-0 range_2D 1 1 "input1"
+0 do_remap_2d 2 1 "input1"
}
inputs
{
-0 range_2D 0 1
+0 do_remap_2d 0 1
}
stat
{
create 1550294318
- modify 1571799722
+ modify 1586107415
author Henry@LAPPY586
access 0777
}
@@ -7377,7 +7966,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"17.5.229"
+ "value":"18.0.391"
}
}
@@ -7394,7 +7983,7 @@ Content-Type: text/plain
sopflags sopflags =
comment ""
-position 2.6627 -8.75153
+position 2.71285 -10.2389
connectornextid 3
flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
outputsNamed3
@@ -7414,7 +8003,7 @@ inputs
stat
{
create 1550294550
- modify 1571799722
+ modify 1586107415
author Henry@LAPPY586
access 0777
}
@@ -7442,7 +8031,7 @@ Content-Type: text/plain
{
version 0.8
-input [ 0 locks=0 ] ( [ input 0 ] )
+input [ 0 locks=0 ] ( [ input 1 ] )
}
--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
@@ -7452,7 +8041,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"17.5.229"
+ "value":"18.0.391"
}
}
@@ -7469,7 +8058,7 @@ Content-Type: text/plain
sopflags sopflags =
comment ""
-position 4.21343 -6.69153
+position 4.21343 -7.56227
connectornextid 2
flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
outputsNamed3
@@ -7478,16 +8067,16 @@ outputsNamed3
}
inputsNamed3
{
-0 range_3D 1 1 "input1"
+0 do_remap_3d 2 1 "input1"
}
inputs
{
-0 range_3D 0 1
+0 do_remap_3d 0 1
}
stat
{
create 1550294976
- modify 1571799722
+ modify 1586107415
author Henry@LAPPY586
access 0777
}
@@ -7518,7 +8107,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"17.5.229"
+ "value":"18.0.391"
}
}
@@ -7535,7 +8124,7 @@ Content-Type: text/plain
sopflags sopflags =
comment ""
-position 1.425 -7.44715
+position 1.52531 -8.93446
connectornextid 2
flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
outputsNamed3
@@ -7553,7 +8142,7 @@ inputs
stat
{
create 1550295067
- modify 1554935939
+ modify 1583773867
author Henry@LAPPY586
access 0777
}
@@ -7619,7 +8208,7 @@ inputs
stat
{
create 1554935927
- modify 1571799722
+ modify 1586107415
author Henry@LAPPY586
access 0777
}
@@ -7657,7 +8246,157 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"17.5.229"
+ "value":"18.0.391"
+ }
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/do_remap_3d.init"
+Content-Type: text/plain
+
+type = switch
+matchesdef = 0
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/do_remap_3d.def"
+Content-Type: text/plain
+
+sopflags sopflags =
+comment ""
+position 4.34034 -6.69173
+connectornextid 3
+flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
+outputsNamed3
+{
+2 "output1"
+}
+inputsNamed3
+{
+0 attribdelete1 1 1 "input1"
+1 range_3D1 1 1 "input2"
+}
+inputs
+{
+0 attribdelete1 0 1
+1 range_3D1 0 1
+}
+stat
+{
+ create 1582671001
+ modify 1586107415
+ author Henry@LAPPY586
+ access 0777
+}
+color UT_Color RGB 0.8 1 0.7
+delscript ""
+exprlanguage hscript
+end
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/do_remap_3d.chn"
+Content-Type: text/plain
+
+{
+ channel input {
+ lefttype = extend
+ righttype = extend
+ flags = 0
+ segment { length = 0 expr = ch(\"../do_remap_3D\") }
+ }
+ }
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/do_remap_3d.parm"
+Content-Type: text/plain
+
+{
+version 0.8
+input [ 0 locks=0 ] ( [ input 0 ] )
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/do_remap_3d.userdata"
+Content-Type: text/plain
+
+{
+ "___Version___":{
+ "type":"string",
+ "value":"18.0.391"
+ }
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/do_remap_2d.init"
+Content-Type: text/plain
+
+type = switch
+matchesdef = 0
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/do_remap_2d.def"
+Content-Type: text/plain
+
+sopflags sopflags =
+comment ""
+position 0.925656 -6.67241
+connectornextid 3
+flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
+outputsNamed3
+{
+2 "output1"
+}
+inputsNamed3
+{
+0 pointwrangle3 1 1 "input1"
+1 range_2D 1 1 "input2"
+}
+inputs
+{
+0 pointwrangle3 0 1
+1 range_2D 0 1
+}
+stat
+{
+ create 1582671001
+ modify 1586107415
+ author Henry@LAPPY586
+ access 0777
+}
+color UT_Color RGB 0.8 1 0.7
+delscript ""
+exprlanguage hscript
+end
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/do_remap_2d.chn"
+Content-Type: text/plain
+
+{
+ channel input {
+ lefttype = extend
+ righttype = extend
+ flags = 0
+ segment { length = 0 expr = ch(\"../do_remap_2D\") }
+ }
+ }
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/do_remap_2d.parm"
+Content-Type: text/plain
+
+{
+version 0.8
+input [ 0 locks=0 ] ( [ input 0 ] )
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/do_remap_2d.userdata"
+Content-Type: text/plain
+
+{
+ "___Version___":{
+ "type":"string",
+ "value":"18.0.391"
}
}
@@ -7665,7 +8404,7 @@ Content-Type: text/plain
Content-Disposition: attachment; filename="hdaroot.order"
Content-Type: text/plain
-27
+31
Perlin
Simplex
Worley_f2-f1
@@ -7693,6 +8432,10 @@ pointwrangle1
pointwrangle2
Alligator
Sparse_Convolution
+do_remap_3d
+do_remap_2d
+pointwrangle3
+range_3D1
--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
Content-Disposition: attachment; filename="hdaroot.net"
diff --git a/otls/MOPS_Noise_Patterns.hda/MOPS_8_8Sop_1Noise__Patterns_8_81.2/DialogScript b/otls/MOPS_Noise_Patterns.hda/MOPS_8_8Sop_1Noise__Patterns_8_81.2/DialogScript
index 7f3400bc..5cd85561 100644
--- a/otls/MOPS_Noise_Patterns.hda/MOPS_8_8Sop_1Noise__Patterns_8_81.2/DialogScript
+++ b/otls/MOPS_Noise_Patterns.hda/MOPS_8_8Sop_1Noise__Patterns_8_81.2/DialogScript
@@ -219,14 +219,24 @@
group {
name "folder0_1"
label "Remap"
- hidewhentab "{ signature == 0 }"
+ hidewhentab "{ signature == 1 }"
+ parm {
+ name "do_remap_2D"
+ label "Enable Remap"
+ type toggle
+ default { "0" }
+ range { 0! 10 }
+ parmtag { "autoscope" "0000000000000000" }
+ parmtag { "script_callback_language" "python" }
+ }
parm {
name "input_rangev"
label "Input Range"
type vector2
size 2
default { "-1" "1" }
+ disablewhen "{ do_remap_2D == 0 }"
range { 0 1 }
parmtag { "autoscope" "0000000000000000" }
}
@@ -236,6 +246,7 @@
type vector2
size 2
default { "-1" "1" }
+ disablewhen "{ do_remap_2D == 0 }"
range { 0 1 }
parmtag { "autoscope" "0000000000000000" }
}
@@ -244,14 +255,25 @@
group {
name "folder0_2"
label "Remap"
- hidewhentab "{ signature == 1 }"
+ hidewhentab "{ signature == 0 }"
+ parm {
+ name "do_remap_3D"
+ label "Enable Remap"
+ type toggle
+ default { "0" }
+ range { 0! 10 }
+ parmtag { "autoscope" "0000000000000000" }
+ parmtag { "script_callback_language" "python" }
+ }
parm {
name "input_range"
label "Input Range"
type vector2
+ invisible
size 2
default { "0" "1" }
+ disablewhen "{ do_remap_3D == 0 }"
range { 0 1 }
parmtag { "autoscope" "0000000000000000" }
}
@@ -259,10 +281,56 @@
name "output_range"
label "Output Range"
type vector2
+ invisible
size 2
default { "0" "1" }
+ disablewhen "{ do_remap_3D == 0 }"
+ range { 0 1 }
+ parmtag { "autoscope" "0000000000000000" }
+ }
+ parm {
+ name "input_min_3D"
+ label "Input Min"
+ type vector
+ size 3
+ default { "-1" "-1" "-1" }
+ disablewhen "{ do_remap_3D == 0 }"
+ range { 0 1 }
+ parmtag { "autoscope" "0000000000000000" }
+ parmtag { "script_callback_language" "python" }
+ }
+ parm {
+ name "input_max_3D"
+ label "Input Max"
+ type vector
+ size 3
+ default { "1" "1" "1" }
+ disablewhen "{ do_remap_3D == 0 }"
+ range { 0 1 }
+ parmtag { "autoscope" "0000000000000000" }
+ parmtag { "script_callback_language" "python" }
+ }
+ parm {
+ name "output_min_3D"
+ label "Output Min"
+ type vector
+ size 3
+ default { "-1" "-1" "-1" }
+ disablewhen "{ do_remap_3D == 0 }"
+ range { 0 1 }
+ parmtag { "autoscope" "0000000000000000" }
+ parmtag { "script_callback_language" "python" }
+ }
+ parm {
+ name "output_max_3D"
+ label "Output Max"
+ type vector
+ size 3
+ default { "1" "1" "1" }
+ disablewhen "{ do_remap_3D == 0 }"
range { 0 1 }
parmtag { "autoscope" "0000000000000000" }
+ parmtag { "script_callback_language" "python" }
}
}
diff --git a/otls/MOPS_Noise_Patterns.hda/MOPS_8_8Sop_1Noise__Patterns_8_81.2/ExtraFileOptions b/otls/MOPS_Noise_Patterns.hda/MOPS_8_8Sop_1Noise__Patterns_8_81.2/ExtraFileOptions
index 54d52652..653fd919 100644
--- a/otls/MOPS_Noise_Patterns.hda/MOPS_8_8Sop_1Noise__Patterns_8_81.2/ExtraFileOptions
+++ b/otls/MOPS_Noise_Patterns.hda/MOPS_8_8Sop_1Noise__Patterns_8_81.2/ExtraFileOptions
@@ -19,6 +19,10 @@
"type":"string",
"value":""
},
+ "ViewerStateModule/CodeGenInput":{
+ "type":"string",
+ "value":"{\n\t\"state_name\":\"\",\n\t\"state_label\":\"\",\n\t\"state_descr\":\"\",\n\t\"state_icon\":\"$HH/config/Icons\",\n\t\"state_debug_menu\":0,\n\t\"state_sample\":0,\n\t\"state_handler_indices\":[]\n}\n"
+ },
"mops_TD_tools_05.svg/Cursor":{
"type":"intarray",
"value":[1,1]
diff --git a/otls/MOPS_Noise_Patterns.hda/MOPS_8_8Sop_1Noise__Patterns_8_81.2/TypePropertiesOptions b/otls/MOPS_Noise_Patterns.hda/MOPS_8_8Sop_1Noise__Patterns_8_81.2/TypePropertiesOptions
index b4811492..a6d52acf 100644
--- a/otls/MOPS_Noise_Patterns.hda/MOPS_8_8Sop_1Noise__Patterns_8_81.2/TypePropertiesOptions
+++ b/otls/MOPS_Noise_Patterns.hda/MOPS_8_8Sop_1Noise__Patterns_8_81.2/TypePropertiesOptions
@@ -1,14 +1,14 @@
-SaveSpareParms := 0;
CheckExternal := 1;
-SaveIcon := 1;
-GzipContents := 1;
ContentsCompressionType := 1;
-UnlockOnCreate := 0;
-SaveCachedCode := 0;
+ForbidOutsideParms := 1;
+GzipContents := 1;
LockContents := 1;
MakeDefault := 1;
-UseDSParms := 1;
-ForbidOutsideParms := 1;
+ParmsFromVfl := 0;
PrefixDroppedParmLabel := 0;
PrefixDroppedParmName := 0;
-ParmsFromVfl := 0;
+SaveCachedCode := 0;
+SaveIcon := 1;
+SaveSpareParms := 0;
+UnlockOnCreate := 0;
+UseDSParms := 1;
diff --git a/otls/MOPS_Randomize.hda/INDEX__SECTION b/otls/MOPS_Randomize.hda/INDEX__SECTION
index 4517a811..75ec5549 100644
--- a/otls/MOPS_Randomize.hda/INDEX__SECTION
+++ b/otls/MOPS_Randomize.hda/INDEX__SECTION
@@ -10,7 +10,7 @@ Inputs: 1 to 1
Subnet: true
Python: false
Empty: false
-Modified: Sun Jul 1 18:10:49 2018
+Modified: Sun Jul 1 22:10:49 2018
Operator: MOPS::Randomize::1.1
Label: MOPs Randomize
@@ -24,5 +24,5 @@ Inputs: 1 to 1
Subnet: true
Python: false
Empty: false
-Modified: Mon Nov 11 20:12:00 2019
+Modified: Fri Mar 13 22:23:10 2020
diff --git a/otls/MOPS_Randomize.hda/MOPS_8_8Sop_1Randomize_8_81.0/Contents.dir/Contents.mime b/otls/MOPS_Randomize.hda/MOPS_8_8Sop_1Randomize_8_81.0/Contents.dir/Contents.mime
index 4cc4db7a..d454059a 100644
--- a/otls/MOPS_Randomize.hda/MOPS_8_8Sop_1Randomize_8_81.0/Contents.dir/Contents.mime
+++ b/otls/MOPS_Randomize.hda/MOPS_8_8Sop_1Randomize_8_81.0/Contents.dir/Contents.mime
@@ -1,2035 +1,4 @@
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY"
---HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
-Content-Disposition: attachment; filename=".OPfallbacks"
-Content-Type: application/external-reference
-
-.OPfallbacks
-
---HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
-Content-Disposition: attachment; filename=".OPdummydefs"
-Content-Type: application/external-reference
-
-.OPdummydefs
-
---HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
-Content-Disposition: attachment; filename="node_type"
-Content-Type: text/plain
-
-Sop
-
---HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
-Content-Disposition: attachment; filename="hdaroot.init"
-Content-Type: text/plain
-
-type = MOPS::Randomize::1.0
-matchesdef = 0
-
---HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
-Content-Disposition: attachment; filename="hdaroot.def"
-Content-Type: text/plain
-
-sopflags sopflags =
-comment ""
-position -3.934 -6.14426
-connectornextid 2
-flags = lock off model off template off footprint off xray off bypass off display on render on highlight off unload off savedata off compress on colordefault on exposed on
-outputsNamed3
-{
-1 "output1"
-}
-inputsNamed3
-{
-0 MOPs_Instancer1 0 1 "input1"
-}
-inputs
-{
-0 MOPs_Instancer1 0 1
-}
-stat
-{
- create 1530403326
- modify 1530403877
- author henry@GlaDOS
- access 0777
-}
-color UT_Color RGB 0.8 0.8 0.8
-delscript ""
-exprlanguage hscript
-end
-
---HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
-Content-Disposition: attachment; filename="hdaroot.userdata"
-Content-Type: text/plain
-
-{
- "___Version___":{
- "type":"string",
- "value":""
- }
-}
-
---HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
-Content-Disposition: attachment; filename="hdaroot.inp"
-Content-Type: text/plain
-
-1
-0 0 6 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
-
---HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
-Content-Disposition: attachment; filename="hdaroot/pointjitter1.init"
-Content-Type: text/plain
-
-type = pointjitter
-matchesdef = 1
-
---HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
-Content-Disposition: attachment; filename="hdaroot/pointjitter1.def"
-Content-Type: text/plain
-
-sopflags sopflags =
-comment ""
-position 5.48409 1.31373
-connectornextid 2
-flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
-outputsNamed3
-{
-1 "output1"
-}
-inputsNamed3
-{
-0 init_values 1 1 "input1"
-}
-inputs
-{
-0 init_values 0 1
-}
-stat
-{
- create 1528499331
- modify 1530403326
- author Henry@LAPPY586
- access 0777
-}
-color UT_Color RGB 0.8 0.8 0.8
-delscript ""
-exprlanguage hscript
-end
-
---HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
-Content-Disposition: attachment; filename="hdaroot/pointjitter1.chn"
-Content-Type: text/plain
-
-{
- channel scale {
- lefttype = extend
- righttype = extend
- flags = 0
- segment { length = 0 value = 1 1 expr = ch(\"../scale\") }
- }
- channel axisscalex {
- lefttype = extend
- righttype = extend
- flags = 0
- segment { length = 0 value = 1 1 expr = ch(\"../axisscalex\") }
- }
- channel axisscaley {
- lefttype = extend
- righttype = extend
- flags = 0
- segment { length = 0 value = 1 1 expr = ch(\"../axisscaley\") }
- }
- channel axisscalez {
- lefttype = extend
- righttype = extend
- flags = 0
- segment { length = 0 value = 1 1 expr = ch(\"../axisscalez\") }
- }
- channel seed {
- lefttype = extend
- righttype = extend
- flags = 0
- segment { length = 0 value = 1 1 expr = ch(\"../seed\") }
- }
- }
-
---HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
-Content-Disposition: attachment; filename="hdaroot/pointjitter1.parm"
-Content-Type: text/plain
-
-{
-version 0.8
-group [ 0 locks=0 autoscope=0 ] ( "" )
-useidattrib [ 0 locks=0 autoscope=0 ] ( "on" )
-idattrib [ 0 locks=0 autoscope=0 ] ( id )
-scale [ 0 locks=0 autoscope=0 ] ( [ scale 1 ] )
-axisscale [ 0 locks=0 autoscope=0 ] ( [ axisscalex 1 ] [ axisscaley 1 ] [ axisscalez 1 ] )
-seed [ 0 locks=0 autoscope=0 ] ( [ seed 0 ] )
-usepscale [ 0 locks=0 autoscope=0 ] ( "off" )
-updatenmls [ 0 locks=0 autoscope=0 ] ( "on" )
-}
-
---HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
-Content-Disposition: attachment; filename="hdaroot/pointjitter1.userdata"
-Content-Type: text/plain
-
-{
- "___Version___":{
- "type":"string",
- "value":""
- }
-}
-
---HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
-Content-Disposition: attachment; filename="hdaroot/Apply_Attributes1.init"
-Content-Type: text/plain
-
-type = MOPS::Apply_Attributes::1.0
-matchesdef = 1
-
---HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
-Content-Disposition: attachment; filename="hdaroot/Apply_Attributes1.def"
-Content-Type: text/plain
-
-sopflags sopflags =
-comment ""
-position -0.0708374 -10.8034
-connectornextid 3
-flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
-outputsNamed3
-{
-2 "output1"
-}
-inputsNamed3
-{
-0 MOPS_IN 0 1 "input1"
-1 switch_do_pscale 0 1 "input2"
-}
-inputs
-{
-0 MOPS_IN 0 1
-1 switch_do_pscale 0 1
-}
-stat
-{
- create 1528499331
- modify 1530403796
- author Henry@LAPPY586
- access 0777
-}
-color UT_Color RGB 0.8 0.8 0.8
-delscript ""
-exprlanguage hscript
-end
-
---HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
-Content-Disposition: attachment; filename="hdaroot/Apply_Attributes1.chn"
-Content-Type: text/plain
-
-{
- channel group {
- lefttype = extend
- righttype = extend
- flags = 0
- segment { length = 0 expr = chs(\"../group\") }
- }
- channel rotate_mode {
- lefttype = extend
- righttype = extend
- flags = 0
- segment { length = 0 expr = ch(\"../rotate_mode\") }
- }
- channel scale_mode {
- lefttype = extend
- righttype = extend
- flags = 0
- segment { length = 0 expr = ch(\"../scale_mode\") }
- }
- channel local_space {
- lefttype = extend
- righttype = extend
- flags = 0
- segment { length = 0 value = 1 1 expr = ch(\"../local_space\") }
- }
- channel rotate_order {
- lefttype = extend
- righttype = extend
- flags = 0
- segment { length = 0 expr = ch(\"../order\") }
- }
- channel grouptype {
- lefttype = extend
- righttype = extend
- flags = 0
- segment { length = 0 expr = ch(\"../grouptype\") }
- }
- }
-
---HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
-Content-Disposition: attachment; filename="hdaroot/Apply_Attributes1.parm"
-Content-Type: text/plain
-
-{
-version 0.8
-group [ 0 locks=0 autoscope=0 ] ( [ group "" ] )
-grouptype [ 0 locks=0 ] ( [ grouptype 0 ] )
-do_translate [ 0 locks=0 autoscope=0 ] ( "on" )
-do_rotate [ 0 locks=0 autoscope=0 ] ( "on" )
-do_scale [ 0 locks=0 autoscope=0 ] ( "on" )
-do_falloff [ 0 locks=0 autoscope=0 ] ( "on" )
-ignore_no_falloff [ 0 locks=0 autoscope=0 ] ( "off" )
-rotate_mode [ 0 locks=0 autoscope=0 ] ( [ rotate_mode 0 ] )
-scale_mode [ 0 locks=0 autoscope=0 ] ( [ scale_mode 0 ] )
-rotate_order [ 0 locks=0 autoscope=0 ] ( [ rotate_order 0 ] )
-local_space [ 0 locks=0 autoscope=0 ] ( [ local_space 1 ] )
-do_make_id [ 0 locks=0 autoscope=0 ] ( "on" )
-attribname [ 0 locks=0 autoscope=0 ] ( "" )
-}
-
---HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
-Content-Disposition: attachment; filename="hdaroot/Apply_Attributes1.userdata"
-Content-Type: text/plain
-
-{
- "___Version___":{
- "type":"string",
- "value":""
- }
-}
-
---HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
-Content-Disposition: attachment; filename="hdaroot/attribrandomize1.init"
-Content-Type: text/plain
-
-type = attribrandomize
-matchesdef = 1
-
---HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
-Content-Disposition: attachment; filename="hdaroot/attribrandomize1.def"
-Content-Type: text/plain
-
-sopflags sopflags =
-comment ""
-position 5.48064 -1.22232
-connectornextid 1
-flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
-outputsNamed3
-{
-}
-inputsNamed3
-{
-0 switch_do_P 0 1 "input1"
-}
-inputs
-{
-0 switch_do_P 0 1
-}
-stat
-{
- create 1528499331
- modify 1530403326
- author Henry@LAPPY586
- access 0777
-}
-color UT_Color RGB 0.8 0.8 0.8
-delscript ""
-exprlanguage hscript
-end
-
---HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
-Content-Disposition: attachment; filename="hdaroot/attribrandomize1.chn"
-Content-Type: text/plain
-
-{
- channel coneangle {
- lefttype = extend
- righttype = extend
- flags = 0
- segment { length = 0 value = 30 30 expr = ch(\"../coneangle\") }
- }
- channel powerbias {
- lefttype = extend
- righttype = extend
- flags = 0
- segment { length = 0 expr = ch(\"../powerbias\") }
- }
- channel directionx {
- lefttype = extend
- righttype = extend
- flags = 0
- segment { length = 0 expr = ch(\"../directionx\") }
- }
- channel directiony {
- lefttype = extend
- righttype = extend
- flags = 0
- segment { length = 0 expr = ch(\"../directiony\") }
- }
- channel directionz {
- lefttype = extend
- righttype = extend
- flags = 0
- segment { length = 0 expr = ch(\"../directionz\") }
- }
- channel directionw {
- lefttype = extend
- righttype = extend
- flags = 0
- segment { length = 0 value = 1 1 expr = ch(\"../directionw\") }
- }
- channel directionattrib {
- lefttype = extend
- righttype = extend
- flags = 0
- segment { length = 0 expr = chs(\"../directionattrib\") }
- }
- channel seed {
- lefttype = extend
- righttype = extend
- flags = 0
- segment { length = 0 expr = ch(\"../seed2\") }
- }
- }
-
---HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
-Content-Disposition: attachment; filename="hdaroot/attribrandomize1.parm"
-Content-Type: text/plain
-
-{
-version 0.8
-group [ 0 locks=0 autoscope=0 ] ( "" )
-grouptype [ 0 locks=0 autoscope=0 ] ( "guess" )
-class [ 0 locks=0 autoscope=0 ] ( "point" )
-name [ 0 locks=0 autoscope=0 ] ( orient )
-operation [ 0 locks=0 autoscope=0 ] ( set )
-scale [ 0 locks=0 autoscope=0 ] ( 1 )
-folder0 [ 0 locks=0 autoscope=0 ] ( 0 0 )
-distribution [ 0 locks=0 autoscope=0 ] ( uniformball )
-dimensions [ 0 locks=0 autoscope=0 ] ( 4 )
-allsame [ 0 locks=0 autoscope=0 ] ( "off" )
-constvalue [ 0 locks=0 autoscope=0 ] ( 0 0 0 0 )
-valuea [ 0 locks=0 autoscope=0 ] ( 0 0 0 0 )
-valueb [ 0 locks=0 autoscope=0 ] ( 1 1 1 1 )
-probvalueb [ 0 locks=0 autoscope=0 ] ( 0.5 )
-min [ 0 locks=0 autoscope=0 ] ( 0 0 0 0 )
-max [ 0 locks=0 autoscope=0 ] ( 1 1 1 1 )
-mindiscrete [ 0 locks=0 autoscope=0 ] ( 0 0 0 0 )
-maxdiscrete [ 0 locks=0 autoscope=0 ] ( 9 9 9 9 )
-stepsize [ 0 locks=0 autoscope=0 ] ( 1 1 1 1 )
-median [ 0 locks=0 autoscope=0 ] ( 0 0 0 0 )
-onesidedmedian [ 0 locks=0 autoscope=0 ] ( 1 1 1 1 )
-medianattrib [ 0 locks=0 autoscope=0 ] ( "" )
-stddev [ 0 locks=0 autoscope=0 ] ( 1 1 1 1 )
-onesidedstddev [ 0 locks=0 autoscope=0 ] ( 0.20000000000000001 0.20000000000000001 0.20000000000000001 0.20000000000000001 )
-usefit0to [ 0 locks=0 autoscope=0 ] ( "off" )
-fit0to [ 0 locks=0 autoscope=0 ] ( 0 )
-usefit1to [ 0 locks=0 autoscope=0 ] ( "off" )
-fit1to [ 0 locks=0 autoscope=0 ] ( 1 )
-ramp [ 0 locks=0 autoscope=0 ] ( 3 )
-useminlimit [ 0 locks=0 autoscope=0 ] ( "off" )
-minlimit [ 0 locks=0 autoscope=0 ] ( -100 -100 -100 -100 )
-useonesidedmin [ 0 locks=0 autoscope=0 ] ( "off" )
-onesidedmin [ 0 locks=0 autoscope=0 ] ( 0.10000000000000001 0.10000000000000001 0.10000000000000001 0.10000000000000001 )
-usemaxlimit [ 0 locks=0 autoscope=0 ] ( "off" )
-maxlimit [ 0 locks=0 autoscope=0 ] ( 100 100 100 100 )
-useconeangle [ 0 locks=0 autoscope=0 ] ( "on" )
-coneangle [ 0 locks=0 autoscope=0 ] ( [ coneangle 30 ] )
-usepowerbias [ 0 locks=0 autoscope=0 ] ( "on" )
-powerbias [ 0 locks=0 autoscope=0 ] ( [ powerbias 0 ] )
-direction [ 0 locks=0 autoscope=0 ] ( [ directionx 1 ] [ directiony 0 ] [ directionz 0 ] [ directionw 0 ] )
-directionattrib [ 0 locks=0 autoscope=0 ] ( [ directionattrib "" ] )
-folder [ 0 locks=0 autoscope=0 ] ( 0 )
-valuetype [ 0 locks=0 autoscope=0 ] ( "float" )
-values [ 0 locks=0 autoscope=0 ] ( 4 )
-normalize [ 0 locks=0 autoscope=0 ] ( "off" )
-visualize [ 0 locks=0 autoscope=0 ] ( "off" )
-nvisualizepts [ 0 locks=0 autoscope=0 ] ( 10000 )
-usefractionattrib [ 0 locks=0 autoscope=0 ] ( "off" )
-fractionattrib [ 0 locks=0 autoscope=0 ] ( fraction )
-seed [ 0 locks=0 autoscope=0 ] ( [ seed 0 ] )
-useseedattrib [ 0 locks=0 autoscope=0 ] ( "on" )
-seedattrib [ 0 locks=0 autoscope=0 ] ( id )
-ramp1pos [ 0 locks=0 autoscope=0 ] ( 0 )
-ramp1value [ 0 locks=0 autoscope=0 ] ( 0 )
-ramp1interp [ 0 locks=0 autoscope=0 ] ( "monotonecubic" )
-ramp2pos [ 0 locks=0 autoscope=0 ] ( 0.5 )
-ramp2value [ 0 locks=0 autoscope=0 ] ( 0.5 )
-ramp2interp [ 0 locks=0 autoscope=0 ] ( "monotonecubic" )
-ramp3pos [ 0 locks=0 autoscope=0 ] ( 1 )
-ramp3value [ 0 locks=0 autoscope=0 ] ( 1 )
-ramp3interp [ 0 locks=0 autoscope=0 ] ( "monotonecubic" )
-strvalue0 [ 0 locks=0 autoscope=0 ] ( "" )
-value0 [ 0 locks=0 autoscope=0 ] ( 0 )
-weight0 [ 0 locks=0 autoscope=0 ] ( 1 )
-strvalue1 [ 0 locks=0 autoscope=0 ] ( "" )
-value1 [ 0 locks=0 autoscope=0 ] ( 0 )
-weight1 [ 0 locks=0 autoscope=0 ] ( 1 )
-strvalue2 [ 0 locks=0 autoscope=0 ] ( "" )
-value2 [ 0 locks=0 autoscope=0 ] ( 0 )
-weight2 [ 0 locks=0 autoscope=0 ] ( 1 )
-strvalue3 [ 0 locks=0 autoscope=0 ] ( "" )
-value3 [ 0 locks=0 autoscope=0 ] ( 0 )
-weight3 [ 0 locks=0 autoscope=0 ] ( 1 )
-}
-
---HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
-Content-Disposition: attachment; filename="hdaroot/attribrandomize1.userdata"
-Content-Type: text/plain
-
-{
- "___Version___":{
- "type":"string",
- "value":""
- }
-}
-
---HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
-Content-Disposition: attachment; filename="hdaroot/attribrandomize2.init"
-Content-Type: text/plain
-
-type = attribrandomize
-matchesdef = 1
-
---HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
-Content-Disposition: attachment; filename="hdaroot/attribrandomize2.def"
-Content-Type: text/plain
-
-sopflags sopflags =
-comment ""
-position 4.95784 -3.58329
-connectornextid 2
-flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
-outputsNamed3
-{
-1 "output1"
-}
-inputsNamed3
-{
-0 switch_do_orient 0 1 "input1"
-}
-inputs
-{
-0 switch_do_orient 0 1
-}
-stat
-{
- create 1528499331
- modify 1530403326
- author Henry@LAPPY586
- access 0777
-}
-color UT_Color RGB 0.8 0.8 0.8
-delscript ""
-exprlanguage hscript
-end
-
---HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
-Content-Disposition: attachment; filename="hdaroot/attribrandomize2.chn"
-Content-Type: text/plain
-
-{
- channel minx {
- lefttype = extend
- righttype = extend
- flags = 0
- segment { length = 0 expr = ch(\"../minx\") }
- }
- channel miny {
- lefttype = extend
- righttype = extend
- flags = 0
- segment { length = 0 expr = ch(\"../miny\") }
- }
- channel minz {
- lefttype = extend
- righttype = extend
- flags = 0
- segment { length = 0 expr = ch(\"../minz\") }
- }
- channel maxx {
- lefttype = extend
- righttype = extend
- flags = 0
- segment { length = 0 value = 1 1 expr = ch(\"../maxx\") }
- }
- channel maxy {
- lefttype = extend
- righttype = extend
- flags = 0
- segment { length = 0 value = 1 1 expr = ch(\"../maxy\") }
- }
- channel maxz {
- lefttype = extend
- righttype = extend
- flags = 0
- segment { length = 0 value = 1 1 expr = ch(\"../maxz\") }
- }
- channel seed {
- lefttype = extend
- righttype = extend
- flags = 0
- segment { length = 0 expr = ch(\"../seed5\") }
- }
- }
-
---HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
-Content-Disposition: attachment; filename="hdaroot/attribrandomize2.parm"
-Content-Type: text/plain
-
-{
-version 0.8
-group [ 0 locks=0 autoscope=0 ] ( "" )
-grouptype [ 0 locks=0 autoscope=0 ] ( "guess" )
-class [ 0 locks=0 autoscope=0 ] ( "point" )
-name [ 0 locks=0 autoscope=0 ] ( scale )
-operation [ 0 locks=0 autoscope=0 ] ( set )
-scale [ 0 locks=0 autoscope=0 ] ( 1 )
-folder0 [ 0 locks=0 autoscope=0 ] ( 0 0 )
-distribution [ 0 locks=0 autoscope=0 ] ( uniform )
-dimensions [ 0 locks=0 autoscope=0 ] ( 3 )
-allsame [ 0 locks=0 autoscope=0 ] ( "off" )
-constvalue [ 0 locks=0 autoscope=0 ] ( 0 0 0 0 )
-valuea [ 0 locks=0 autoscope=0 ] ( 0 0 0 0 )
-valueb [ 0 locks=0 autoscope=0 ] ( 1 1 1 1 )
-probvalueb [ 0 locks=0 autoscope=0 ] ( 0.5 )
-min [ 0 locks=0 autoscope=0 ] ( [ minx 0 ] [ miny 0 ] [ minz 0 ] 0 )
-max [ 0 locks=0 autoscope=0 ] ( [ maxx 1 ] [ maxy 1 ] [ maxz 1 ] 1 )
-mindiscrete [ 0 locks=0 autoscope=0 ] ( 0 0 0 0 )
-maxdiscrete [ 0 locks=0 autoscope=0 ] ( 9 9 9 9 )
-stepsize [ 0 locks=0 autoscope=0 ] ( 1 1 1 1 )
-median [ 0 locks=0 autoscope=0 ] ( 0 0 0 0 )
-onesidedmedian [ 0 locks=0 autoscope=0 ] ( 1 1 1 1 )
-medianattrib [ 0 locks=0 autoscope=0 ] ( "" )
-stddev [ 0 locks=0 autoscope=0 ] ( 1 1 1 1 )
-onesidedstddev [ 0 locks=0 autoscope=0 ] ( 0.20000000000000001 0.20000000000000001 0.20000000000000001 0.20000000000000001 )
-usefit0to [ 0 locks=0 autoscope=0 ] ( "off" )
-fit0to [ 0 locks=0 autoscope=0 ] ( 0 )
-usefit1to [ 0 locks=0 autoscope=0 ] ( "off" )
-fit1to [ 0 locks=0 autoscope=0 ] ( 1 )
-ramp [ 0 locks=0 autoscope=0 ] ( 3 )
-useminlimit [ 0 locks=0 autoscope=0 ] ( "off" )
-minlimit [ 0 locks=0 autoscope=0 ] ( -100 -100 -100 -100 )
-useonesidedmin [ 0 locks=0 autoscope=0 ] ( "off" )
-onesidedmin [ 0 locks=0 autoscope=0 ] ( 0.10000000000000001 0.10000000000000001 0.10000000000000001 0.10000000000000001 )
-usemaxlimit [ 0 locks=0 autoscope=0 ] ( "off" )
-maxlimit [ 0 locks=0 autoscope=0 ] ( 100 100 100 100 )
-useconeangle [ 0 locks=0 autoscope=0 ] ( "on" )
-coneangle [ 0 locks=0 autoscope=0 ] ( 30 )
-usepowerbias [ 0 locks=0 autoscope=0 ] ( "on" )
-powerbias [ 0 locks=0 autoscope=0 ] ( 0 )
-direction [ 0 locks=0 autoscope=0 ] ( 0 0 0 1 )
-directionattrib [ 0 locks=0 autoscope=0 ] ( "" )
-folder [ 0 locks=0 autoscope=0 ] ( 0 )
-valuetype [ 0 locks=0 autoscope=0 ] ( "float" )
-values [ 0 locks=0 autoscope=0 ] ( 4 )
-normalize [ 0 locks=0 autoscope=0 ] ( "off" )
-visualize [ 0 locks=0 autoscope=0 ] ( "off" )
-nvisualizepts [ 0 locks=0 autoscope=0 ] ( 10000 )
-usefractionattrib [ 0 locks=0 autoscope=0 ] ( "off" )
-fractionattrib [ 0 locks=0 autoscope=0 ] ( fraction )
-seed [ 0 locks=0 autoscope=0 ] ( [ seed 0 ] )
-useseedattrib [ 0 locks=0 autoscope=0 ] ( "on" )
-seedattrib [ 0 locks=0 autoscope=0 ] ( id )
-ramp1pos [ 0 locks=0 autoscope=0 ] ( 0 )
-ramp1value [ 0 locks=0 autoscope=0 ] ( 0 )
-ramp1interp [ 0 locks=0 autoscope=0 ] ( "monotonecubic" )
-ramp2pos [ 0 locks=0 autoscope=0 ] ( 0.5 )
-ramp2value [ 0 locks=0 autoscope=0 ] ( 0.5 )
-ramp2interp [ 0 locks=0 autoscope=0 ] ( "monotonecubic" )
-ramp3pos [ 0 locks=0 autoscope=0 ] ( 1 )
-ramp3value [ 0 locks=0 autoscope=0 ] ( 1 )
-ramp3interp [ 0 locks=0 autoscope=0 ] ( "monotonecubic" )
-strvalue0 [ 0 locks=0 autoscope=0 ] ( "" )
-value0 [ 0 locks=0 autoscope=0 ] ( 0 )
-weight0 [ 0 locks=0 autoscope=0 ] ( 1 )
-strvalue1 [ 0 locks=0 autoscope=0 ] ( "" )
-value1 [ 0 locks=0 autoscope=0 ] ( 0 )
-weight1 [ 0 locks=0 autoscope=0 ] ( 1 )
-strvalue2 [ 0 locks=0 autoscope=0 ] ( "" )
-value2 [ 0 locks=0 autoscope=0 ] ( 0 )
-weight2 [ 0 locks=0 autoscope=0 ] ( 1 )
-strvalue3 [ 0 locks=0 autoscope=0 ] ( "" )
-value3 [ 0 locks=0 autoscope=0 ] ( 0 )
-weight3 [ 0 locks=0 autoscope=0 ] ( 1 )
-}
-
---HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
-Content-Disposition: attachment; filename="hdaroot/attribrandomize2.userdata"
-Content-Type: text/plain
-
-{
- "___Version___":{
- "type":"string",
- "value":""
- }
-}
-
---HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
-Content-Disposition: attachment; filename="hdaroot/attribrandomize3.init"
-Content-Type: text/plain
-
-type = attribrandomize
-matchesdef = 1
-
---HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
-Content-Disposition: attachment; filename="hdaroot/attribrandomize3.def"
-Content-Type: text/plain
-
-sopflags sopflags =
-comment ""
-position 4.96129 -5.68574
-connectornextid 2
-flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
-outputsNamed3
-{
-1 "output1"
-}
-inputsNamed3
-{
-0 switch_do_scale 0 1 "input1"
-}
-inputs
-{
-0 switch_do_scale 0 1
-}
-stat
-{
- create 1528499331
- modify 1530403667
- author Henry@LAPPY586
- access 0777
-}
-color UT_Color RGB 0.8 0.8 0.8
-delscript ""
-exprlanguage hscript
-end
-
---HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
-Content-Disposition: attachment; filename="hdaroot/attribrandomize3.chn"
-Content-Type: text/plain
-
-{
- channel minx {
- lefttype = extend
- righttype = extend
- flags = 0
- segment { length = 0 expr = ch(\"../min3\") }
- }
- channel maxx {
- lefttype = extend
- righttype = extend
- flags = 0
- segment { length = 0 value = 1 1 expr = ch(\"../max3\") }
- }
- channel seed {
- lefttype = extend
- righttype = extend
- flags = 0
- segment { length = 0 value = 5286 5286 expr = ch(\"../seed3\") }
- }
- }
-
---HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
-Content-Disposition: attachment; filename="hdaroot/attribrandomize3.parm"
-Content-Type: text/plain
-
-{
-version 0.8
-group [ 0 locks=0 autoscope=0 ] ( "" )
-grouptype [ 0 locks=0 autoscope=0 ] ( "guess" )
-class [ 0 locks=0 autoscope=0 ] ( "point" )
-name [ 0 locks=0 autoscope=0 ] ( pscale )
-operation [ 0 locks=0 autoscope=0 ] ( set )
-scale [ 0 locks=0 autoscope=0 ] ( 1 )
-folder0 [ 0 locks=0 autoscope=0 ] ( 0 0 )
-distribution [ 0 locks=0 autoscope=0 ] ( uniform )
-dimensions [ 0 locks=0 autoscope=0 ] ( 1 )
-allsame [ 0 locks=0 autoscope=0 ] ( "off" )
-constvalue [ 0 locks=0 autoscope=0 ] ( 0 0 0 0 )
-valuea [ 0 locks=0 autoscope=0 ] ( 0 0 0 0 )
-valueb [ 0 locks=0 autoscope=0 ] ( 1 1 1 1 )
-probvalueb [ 0 locks=0 autoscope=0 ] ( 0.5 )
-min [ 0 locks=0 autoscope=0 ] ( [ minx 0.75 ] 0 0 0 )
-max [ 0 locks=0 autoscope=0 ] ( [ maxx 1.25 ] 1 1 1 )
-mindiscrete [ 0 locks=0 autoscope=0 ] ( 0 0 0 0 )
-maxdiscrete [ 0 locks=0 autoscope=0 ] ( 9 9 9 9 )
-stepsize [ 0 locks=0 autoscope=0 ] ( 1 1 1 1 )
-median [ 0 locks=0 autoscope=0 ] ( 0 0 0 0 )
-onesidedmedian [ 0 locks=0 autoscope=0 ] ( 1 1 1 1 )
-medianattrib [ 0 locks=0 autoscope=0 ] ( "" )
-stddev [ 0 locks=0 autoscope=0 ] ( 1 1 1 1 )
-onesidedstddev [ 0 locks=0 autoscope=0 ] ( 0.20000000000000001 0.20000000000000001 0.20000000000000001 0.20000000000000001 )
-usefit0to [ 0 locks=0 autoscope=0 ] ( "off" )
-fit0to [ 0 locks=0 autoscope=0 ] ( 0 )
-usefit1to [ 0 locks=0 autoscope=0 ] ( "off" )
-fit1to [ 0 locks=0 autoscope=0 ] ( 1 )
-ramp [ 0 locks=0 autoscope=0 ] ( 3 )
-useminlimit [ 0 locks=0 autoscope=0 ] ( "off" )
-minlimit [ 0 locks=0 autoscope=0 ] ( -100 -100 -100 -100 )
-useonesidedmin [ 0 locks=0 autoscope=0 ] ( "off" )
-onesidedmin [ 0 locks=0 autoscope=0 ] ( 0.10000000000000001 0.10000000000000001 0.10000000000000001 0.10000000000000001 )
-usemaxlimit [ 0 locks=0 autoscope=0 ] ( "off" )
-maxlimit [ 0 locks=0 autoscope=0 ] ( 100 100 100 100 )
-useconeangle [ 0 locks=0 autoscope=0 ] ( "off" )
-coneangle [ 0 locks=0 autoscope=0 ] ( 30 )
-usepowerbias [ 0 locks=0 autoscope=0 ] ( "off" )
-powerbias [ 0 locks=0 autoscope=0 ] ( 0 )
-direction [ 0 locks=0 autoscope=0 ] ( 1 0 0 0 )
-directionattrib [ 0 locks=0 autoscope=0 ] ( "" )
-folder [ 0 locks=0 autoscope=0 ] ( 0 )
-valuetype [ 0 locks=0 autoscope=0 ] ( "float" )
-values [ 0 locks=0 autoscope=0 ] ( 4 )
-normalize [ 0 locks=0 autoscope=0 ] ( "off" )
-visualize [ 0 locks=0 autoscope=0 ] ( "off" )
-nvisualizepts [ 0 locks=0 autoscope=0 ] ( 10000 )
-usefractionattrib [ 0 locks=0 autoscope=0 ] ( "off" )
-fractionattrib [ 0 locks=0 autoscope=0 ] ( fraction )
-seed [ 0 locks=0 autoscope=0 ] ( [ seed 0 ] )
-useseedattrib [ 0 locks=0 autoscope=0 ] ( "on" )
-seedattrib [ 0 locks=0 autoscope=0 ] ( id )
-ramp1pos [ 0 locks=0 autoscope=0 ] ( 0 )
-ramp1value [ 0 locks=0 autoscope=0 ] ( 0 )
-ramp1interp [ 0 locks=0 autoscope=0 ] ( "monotonecubic" )
-ramp2pos [ 0 locks=0 autoscope=0 ] ( 0.5 )
-ramp2value [ 0 locks=0 autoscope=0 ] ( 0.5 )
-ramp2interp [ 0 locks=0 autoscope=0 ] ( "monotonecubic" )
-ramp3pos [ 0 locks=0 autoscope=0 ] ( 1 )
-ramp3value [ 0 locks=0 autoscope=0 ] ( 1 )
-ramp3interp [ 0 locks=0 autoscope=0 ] ( "monotonecubic" )
-strvalue0 [ 0 locks=0 autoscope=0 ] ( "" )
-value0 [ 0 locks=0 autoscope=0 ] ( 0 )
-weight0 [ 0 locks=0 autoscope=0 ] ( 1 )
-strvalue1 [ 0 locks=0 autoscope=0 ] ( "" )
-value1 [ 0 locks=0 autoscope=0 ] ( 0 )
-weight1 [ 0 locks=0 autoscope=0 ] ( 1 )
-strvalue2 [ 0 locks=0 autoscope=0 ] ( "" )
-value2 [ 0 locks=0 autoscope=0 ] ( 0 )
-weight2 [ 0 locks=0 autoscope=0 ] ( 1 )
-strvalue3 [ 0 locks=0 autoscope=0 ] ( "" )
-value3 [ 0 locks=0 autoscope=0 ] ( 0 )
-weight3 [ 0 locks=0 autoscope=0 ] ( 1 )
-}
-
---HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
-Content-Disposition: attachment; filename="hdaroot/attribrandomize3.userdata"
-Content-Type: text/plain
-
-{
- "___Version___":{
- "type":"string",
- "value":""
- }
-}
-
---HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
-Content-Disposition: attachment; filename="hdaroot/attribrandomize4.init"
-Content-Type: text/plain
-
-type = attribrandomize
-matchesdef = 1
-
---HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
-Content-Disposition: attachment; filename="hdaroot/attribrandomize4.def"
-Content-Type: text/plain
-
-sopflags sopflags =
-comment ""
-position 2.8296 -11.9746
-connectornextid 2
-flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
-outputsNamed3
-{
-1 "output1"
-}
-inputsNamed3
-{
-0 Apply_Attributes1 2 1 "input1"
-}
-inputs
-{
-0 Apply_Attributes1 0 1
-}
-stat
-{
- create 1528499331
- modify 1530403326
- author Henry@LAPPY586
- access 0777
-}
-color UT_Color RGB 0.8 0.8 0.8
-delscript ""
-exprlanguage hscript
-end
-
---HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
-Content-Disposition: attachment; filename="hdaroot/attribrandomize4.chn"
-Content-Type: text/plain
-
-{
- channel minx {
- lefttype = extend
- righttype = extend
- flags = 0
- segment { length = 0 expr = ch(\"../min2\") }
- }
- channel maxx {
- lefttype = extend
- righttype = extend
- flags = 0
- segment { length = 0 value = 1 1 expr = ch(\"../max2\") }
- }
- channel seed {
- lefttype = extend
- righttype = extend
- flags = 0
- segment { length = 0 value = 3189 3189 expr = ch(\"../seed4\") }
- }
- channel useseedattrib {
- lefttype = extend
- righttype = extend
- flags = 0
- segment { length = 0 expr = ch(\"../useseedattrib\") }
- }
- channel seedattrib {
- lefttype = extend
- righttype = extend
- defaultString = \"id\"
- flags = 0
- segment { length = 0 expr = chs(\"../seedattrib\") }
- }
- }
-
---HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
-Content-Disposition: attachment; filename="hdaroot/attribrandomize4.parm"
-Content-Type: text/plain
-
-{
-version 0.8
-group [ 0 locks=0 autoscope=0 ] ( "" )
-grouptype [ 0 locks=0 autoscope=0 ] ( "guess" )
-class [ 0 locks=0 autoscope=0 ] ( "point" )
-name [ 0 locks=0 autoscope=0 ] ( mops_falloff )
-operation [ 0 locks=0 autoscope=0 ] ( set )
-scale [ 0 locks=0 autoscope=0 ] ( 1 )
-folder0 [ 0 locks=0 autoscope=0 ] ( 1 1 )
-distribution [ 0 locks=0 autoscope=0 ] ( uniform )
-dimensions [ 0 locks=0 autoscope=0 ] ( 1 )
-allsame [ 0 locks=0 autoscope=0 ] ( "off" )
-constvalue [ 0 locks=0 autoscope=0 ] ( 0 0 0 0 )
-valuea [ 0 locks=0 autoscope=0 ] ( 0 0 0 0 )
-valueb [ 0 locks=0 autoscope=0 ] ( 1 1 1 1 )
-probvalueb [ 0 locks=0 autoscope=0 ] ( 0.5 )
-min [ 0 locks=0 autoscope=0 ] ( [ minx 0 ] 0 0 0 )
-max [ 0 locks=0 autoscope=0 ] ( [ maxx 1 ] 1 1 1 )
-mindiscrete [ 0 locks=0 autoscope=0 ] ( 0 0 0 0 )
-maxdiscrete [ 0 locks=0 autoscope=0 ] ( 9 9 9 9 )
-stepsize [ 0 locks=0 autoscope=0 ] ( 1 1 1 1 )
-median [ 0 locks=0 autoscope=0 ] ( 0 0 0 0 )
-onesidedmedian [ 0 locks=0 autoscope=0 ] ( 1 1 1 1 )
-medianattrib [ 0 locks=0 autoscope=0 ] ( "" )
-stddev [ 0 locks=0 autoscope=0 ] ( 1 1 1 1 )
-onesidedstddev [ 0 locks=0 autoscope=0 ] ( 0.20000000000000001 0.20000000000000001 0.20000000000000001 0.20000000000000001 )
-usefit0to [ 0 locks=0 autoscope=0 ] ( "off" )
-fit0to [ 0 locks=0 autoscope=0 ] ( 0 )
-usefit1to [ 0 locks=0 autoscope=0 ] ( "off" )
-fit1to [ 0 locks=0 autoscope=0 ] ( 1 )
-ramp [ 0 locks=0 autoscope=0 ] ( 3 )
-useminlimit [ 0 locks=0 autoscope=0 ] ( "off" )
-minlimit [ 0 locks=0 autoscope=0 ] ( -100 -100 -100 -100 )
-useonesidedmin [ 0 locks=0 autoscope=0 ] ( "off" )
-onesidedmin [ 0 locks=0 autoscope=0 ] ( 0.10000000000000001 0.10000000000000001 0.10000000000000001 0.10000000000000001 )
-usemaxlimit [ 0 locks=0 autoscope=0 ] ( "off" )
-maxlimit [ 0 locks=0 autoscope=0 ] ( 100 100 100 100 )
-useconeangle [ 0 locks=0 autoscope=0 ] ( "off" )
-coneangle [ 0 locks=0 autoscope=0 ] ( 30 )
-usepowerbias [ 0 locks=0 autoscope=0 ] ( "off" )
-powerbias [ 0 locks=0 autoscope=0 ] ( 0 )
-direction [ 0 locks=0 autoscope=0 ] ( 1 0 0 0 )
-directionattrib [ 0 locks=0 autoscope=0 ] ( "" )
-folder [ 0 locks=0 autoscope=0 ] ( 0 )
-valuetype [ 0 locks=0 autoscope=0 ] ( "float" )
-values [ 0 locks=0 autoscope=0 ] ( 4 )
-normalize [ 0 locks=0 autoscope=0 ] ( "off" )
-visualize [ 0 locks=0 autoscope=0 ] ( "off" )
-nvisualizepts [ 0 locks=0 autoscope=0 ] ( 10000 )
-usefractionattrib [ 0 locks=0 autoscope=0 ] ( "off" )
-fractionattrib [ 0 locks=0 autoscope=0 ] ( fraction )
-seed [ 0 locks=0 autoscope=0 ] ( [ seed 0 ] )
-useseedattrib [ 0 locks=0 autoscope=0 ] ( [ useseedattrib 0 ] )
-seedattrib [ 0 locks=0 autoscope=0 ] ( [ seedattrib id ] )
-ramp1pos [ 0 locks=0 autoscope=0 ] ( 0 )
-ramp1value [ 0 locks=0 autoscope=0 ] ( 0 )
-ramp1interp [ 0 locks=0 autoscope=0 ] ( "monotonecubic" )
-ramp2pos [ 0 locks=0 autoscope=0 ] ( 0.5 )
-ramp2value [ 0 locks=0 autoscope=0 ] ( 0.5 )
-ramp2interp [ 0 locks=0 autoscope=0 ] ( "monotonecubic" )
-ramp3pos [ 0 locks=0 autoscope=0 ] ( 1 )
-ramp3value [ 0 locks=0 autoscope=0 ] ( 1 )
-ramp3interp [ 0 locks=0 autoscope=0 ] ( "monotonecubic" )
-strvalue0 [ 0 locks=0 autoscope=0 ] ( "" )
-value0 [ 0 locks=0 autoscope=0 ] ( 0 )
-weight0 [ 0 locks=0 autoscope=0 ] ( 1 )
-strvalue1 [ 0 locks=0 autoscope=0 ] ( "" )
-value1 [ 0 locks=0 autoscope=0 ] ( 0 )
-weight1 [ 0 locks=0 autoscope=0 ] ( 1 )
-strvalue2 [ 0 locks=0 autoscope=0 ] ( "" )
-value2 [ 0 locks=0 autoscope=0 ] ( 0 )
-weight2 [ 0 locks=0 autoscope=0 ] ( 1 )
-strvalue3 [ 0 locks=0 autoscope=0 ] ( "" )
-value3 [ 0 locks=0 autoscope=0 ] ( 0 )
-weight3 [ 0 locks=0 autoscope=0 ] ( 1 )
-}
-
---HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
-Content-Disposition: attachment; filename="hdaroot/attribrandomize4.userdata"
-Content-Type: text/plain
-
-{
- "___Version___":{
- "type":"string",
- "value":""
- }
-}
-
---HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
-Content-Disposition: attachment; filename="hdaroot/Combine_Falloffs1.init"
-Content-Type: text/plain
-
-type = MOPS::Combine_Falloffs::1.0
-matchesdef = 1
-
---HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
-Content-Disposition: attachment; filename="hdaroot/Combine_Falloffs1.def"
-Content-Type: text/plain
-
-sopflags sopflags =
-comment ""
-position 2.50051 -12.9266
-connectornextid 3
-flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
-outputsNamed3
-{
-2 "output1"
-}
-inputsNamed3
-{
-0 Apply_Attributes1 2 1 "input1"
-1 attribrandomize4 1 1 "input2"
-}
-inputs
-{
-0 Apply_Attributes1 0 1
-1 attribrandomize4 0 1
-}
-stat
-{
- create 1528499331
- modify 1530403794
- author Henry@LAPPY586
- access 0777
-}
-color UT_Color RGB 0.8 0.8 0.8
-delscript ""
-exprlanguage hscript
-end
-
---HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
-Content-Disposition: attachment; filename="hdaroot/Combine_Falloffs1.chn"
-Content-Type: text/plain
-
-{
- channel input {
- lefttype = extend
- righttype = extend
- flags = 0
- segment { length = 0 value = 8 8 expr = ch(\"../input\") }
- }
- channel strength {
- lefttype = extend
- righttype = extend
- flags = 0
- segment { length = 0 value = 1 1 expr = ch(\"../strength\") }
- }
- channel switchclamp {
- lefttype = extend
- righttype = extend
- flags = 0
- segment { length = 0 expr = ch(\"../switchclamp\") }
- }
- channel do_preview {
- lefttype = extend
- righttype = extend
- flags = 0
- segment { length = 0 value = 1 1 expr = ch(\"../do_preview\") }
- }
- }
-
---HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
-Content-Disposition: attachment; filename="hdaroot/Combine_Falloffs1.parm"
-Content-Type: text/plain
-
-{
-version 0.8
-group [ 0 locks=0 autoscope=0 ] ( `chs(\"../Apply_Attributes1/group\")` )
-grouptype [ 0 locks=0 ] ( "guess" )
-input [ 0 locks=0 autoscope=0 ] ( [ input 8 ] )
-strength [ 0 locks=0 autoscope=0 ] ( [ strength 1 ] )
-switchclamp [ 0 locks=0 autoscope=0 ] ( [ switchclamp 0 ] )
-do_preview [ 0 locks=0 autoscope=0 ] ( [ do_preview 0 ] )
-ramp_preset [ 0 locks=0 ] ( "heatmap" )
-falloff_heatmap [ 0 locks=0 ] ( 5 )
-falloff_heatmap1pos [ 0 locks=0 ] ( 0 )
-falloff_heatmap1c [ 0 locks=0 ] ( 0.036199998110532761 0 0.5429999828338623 )
-falloff_heatmap1interp [ 0 locks=0 ] ( "linear" )
-falloff_heatmap2pos [ 0 locks=0 ] ( 0.27027025818824768 )
-falloff_heatmap2c [ 0 locks=0 ] ( 0.7369999885559082 0 0 )
-falloff_heatmap2interp [ 0 locks=0 ] ( "linear" )
-falloff_heatmap3pos [ 0 locks=0 ] ( 0.71814674139022827 )
-falloff_heatmap3c [ 0 locks=0 ] ( 1 0.28333333134651184 0 )
-falloff_heatmap3interp [ 0 locks=0 ] ( "linear" )
-falloff_heatmap4pos [ 0 locks=0 ] ( 0.90154439210891724 )
-falloff_heatmap4c [ 0 locks=0 ] ( 0.89999997615814209 0.89999997615814209 0 )
-falloff_heatmap4interp [ 0 locks=0 ] ( "linear" )
-falloff_heatmap5pos [ 0 locks=0 ] ( 1 )
-falloff_heatmap5c [ 0 locks=0 ] ( 1 1 1 )
-falloff_heatmap5interp [ 0 locks=0 ] ( "linear" )
-}
-
---HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
-Content-Disposition: attachment; filename="hdaroot/Combine_Falloffs1.userdata"
-Content-Type: text/plain
-
-{
- "___Version___":{
- "type":"string",
- "value":""
- }
-}
-
---HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
-Content-Disposition: attachment; filename="hdaroot/pointwrangle1.init"
-Content-Type: text/plain
-
-type = attribwrangle
-matchesdef = 1
-
---HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
-Content-Disposition: attachment; filename="hdaroot/pointwrangle1.def"
-Content-Type: text/plain
-
-sopflags sopflags =
-comment ""
-position 8.62369 -1.22332
-connectornextid 2
-flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
-outputsNamed3
-{
-0 "output1"
-}
-inputsNamed3
-{
-1 switch_do_P 0 1 "input1"
-}
-inputs
-{
-0 switch_do_P 0 1
-}
-stat
-{
- create 1528499331
- modify 1530403326
- author Henry@LAPPY586
- access 0777
-}
-color UT_Color RGB 0.8 0.8 0.8
-delscript ""
-exprlanguage hscript
-end
-
---HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
-Content-Disposition: attachment; filename="hdaroot/pointwrangle1.spareparmdef"
-Content-Type: text/plain
-
- group {
- name "folder1"
- label "Code"
-
- parm {
- name "group"
- baseparm
- label "Group"
- export none
- bindselector points "Modify Points"
- "Select the points to affect and press Enter to complete."
- 0 1 0xffffffff 0 grouptype 0
- }
- parm {
- name "grouptype"
- baseparm
- label "Group Type"
- export none
- }
- parm {
- name "class"
- baseparm
- label "Run Over"
- export none
- }
- parm {
- name "vex_numcount"
- baseparm
- label "Number Count"
- export none
- }
- parm {
- name "vex_threadjobsize"
- baseparm
- label "Thread Job Size"
- export none
- }
- parm {
- name "snippet"
- baseparm
- label "VEXpression"
- export all
- }
- parm {
- name "exportlist"
- baseparm
- label "Attributes to Create"
- export none
- }
- parm {
- name "vex_strict"
- baseparm
- label "Enforce Prototypes"
- export none
- }
- }
-
- group {
- name "folder1_1"
- label "Bindings"
-
- parm {
- name "autobind"
- baseparm
- label "Autobind by Name"
- export none
- }
- multiparm {
- name "bindings"
- label "Number of Bindings"
- baseparm
- default 0
- parmtag { "autoscope" "0000000000000000" }
- parmtag { "multistartoffset" "1" }
-
- parm {
- name "bindname#"
- baseparm
- label "Attribute Name"
- export none
- }
- parm {
- name "bindparm#"
- baseparm
- label "VEX Parameter"
- export none
- }
- }
-
- parm {
- name "groupautobind"
- baseparm
- label "Autobind Groups by Name"
- export none
- }
- multiparm {
- name "groupbindings"
- label "Group Bindings"
- baseparm
- default 0
- parmtag { "autoscope" "0000000000000000" }
- parmtag { "multistartoffset" "1" }
-
- parm {
- name "bindgroupname#"
- baseparm
- label "Group Name"
- export none
- }
- parm {
- name "bindgroupparm#"
- baseparm
- label "VEX Parameter"
- export none
- }
- }
-
- parm {
- name "vex_cwdpath"
- baseparm
- label "Evaluation Node Path"
- export none
- }
- parm {
- name "vex_outputmask"
- baseparm
- label "Export Parameters"
- export none
- }
- parm {
- name "vex_updatenmls"
- baseparm
- label "Update Normals If Displaced"
- export none
- }
- parm {
- name "vex_matchattrib"
- baseparm
- label "Attribute to Match"
- export none
- }
- parm {
- name "vex_inplace"
- baseparm
- label "Compute Results In Place"
- export none
- }
- parm {
- name "vex_selectiongroup"
- baseparm
- label "Output Selection Group"
- export none
- }
- }
-
- parm {
- name "seed"
- label "Seed"
- type float
- default { "0" }
- range { 0 1 }
- }
- parm {
- name "min"
- label "Min"
- type vector
- size 3
- default { "0" "0" "0" }
- range { 0 1 }
- }
- parm {
- name "max"
- label "Max"
- type vector
- size 3
- default { "0" "0" "0" }
- range { 0 1 }
- }
-
---HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
-Content-Disposition: attachment; filename="hdaroot/pointwrangle1.chn"
-Content-Type: text/plain
-
-{
- channel seed {
- lefttype = extend
- righttype = extend
- flags = 0
- segment { length = 0 expr = ch(\"../seed2\") }
- }
- channel minx {
- lefttype = extend
- righttype = extend
- flags = 0
- segment { length = 0 value = -360 -360 expr = ch(\"../min4x\") }
- }
- channel miny {
- lefttype = extend
- righttype = extend
- flags = 0
- segment { length = 0 value = -360 -360 expr = ch(\"../min4y\") }
- }
- channel minz {
- lefttype = extend
- righttype = extend
- flags = 0
- segment { length = 0 value = -360 -360 expr = ch(\"../min4z\") }
- }
- channel maxx {
- lefttype = extend
- righttype = extend
- flags = 0
- segment { length = 0 value = 360 360 expr = ch(\"../max4x\") }
- }
- channel maxy {
- lefttype = extend
- righttype = extend
- flags = 0
- segment { length = 0 value = 360 360 expr = ch(\"../max4y\") }
- }
- channel maxz {
- lefttype = extend
- righttype = extend
- flags = 0
- segment { length = 0 value = 360 360 expr = ch(\"../max4z\") }
- }
- }
-
---HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
-Content-Disposition: attachment; filename="hdaroot/pointwrangle1.parm"
-Content-Type: text/plain
-
-{
-version 0.8
-folder0 [ 0 locks=0 autoscope=0 ] ( 0 0 )
-group [ 0 locks=0 autoscope=0 ] ( "" )
-grouptype [ 0 locks=0 autoscope=0 ] ( "guess" )
-class [ 0 locks=0 autoscope=0 ] ( "point" )
-vex_numcount [ 0 locks=0 autoscope=0 ] ( 10 )
-vex_threadjobsize [ 0 locks=0 autoscope=0 ] ( 1024 )
-snippet [ 0 locks=0 autoscope=0 ] ( "vector min = chv(\"min\");
-vector max = chv(\"max\");
-float seed = ch(\"seed\");
-
-float x = (fit01(rand(@id+seed), min.x, max.x));
-float y = (fit01(rand(@id+seed*123), min.y, max.y));
-float z = (fit01(rand(@id+seed*456), min.z, max.z));
-
-v@euler = set(x,y,z);" )
-exportlist [ 0 locks=0 autoscope=0 ] ( * )
-vex_strict [ 0 locks=0 autoscope=0 ] ( "off" )
-autobind [ 0 locks=0 autoscope=0 ] ( "on" )
-bindings [ 0 locks=0 autoscope=0 ] ( 0 )
-groupautobind [ 0 locks=0 autoscope=0 ] ( "on" )
-groupbindings [ 0 locks=0 autoscope=0 ] ( 0 )
-vex_cwdpath [ 0 locks=0 autoscope=0 ] ( . )
-vex_outputmask [ 0 locks=0 autoscope=0 ] ( * )
-vex_updatenmls [ 0 locks=0 autoscope=0 ] ( "off" )
-vex_matchattrib [ 0 locks=0 autoscope=0 ] ( id )
-vex_inplace [ 0 locks=0 autoscope=0 ] ( "off" )
-vex_selectiongroup [ 0 locks=0 autoscope=0 ] ( "" )
-folder1 [ 0 locks=0 ] ( 0 0 )
-seed [ 0 locks=0 autoscope=0 ] ( [ seed 0 ] )
-min [ 0 locks=0 autoscope=0 ] ( [ minx -360 ] [ miny -360 ] [ minz -360 ] )
-max [ 0 locks=0 autoscope=0 ] ( [ maxx 360 ] [ maxy 360 ] [ maxz 360 ] )
-}
-
---HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
-Content-Disposition: attachment; filename="hdaroot/pointwrangle1.userdata"
-Content-Type: text/plain
-
-{
- "___Version___":{
- "type":"string",
- "value":""
- }
-}
-
---HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
-Content-Disposition: attachment; filename="hdaroot/init_values.init"
-Content-Type: text/plain
-
-type = attribwrangle
-matchesdef = 1
-
---HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
-Content-Disposition: attachment; filename="hdaroot/init_values.def"
-Content-Type: text/plain
-
-sopflags sopflags =
-comment ""
-position 2.10851 2.52305
-connectornextid 2
-flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
-outputsNamed3
-{
-1 "output1"
-}
-inputsNamed3
-{
-0 MOPS_IN 0 1 "input1"
-}
-inputs
-{
-0 MOPS_IN 0 1
-}
-stat
-{
- create 1528936208
- modify 1530403326
- author Henry@LAPPY586
- access 0777
-}
-color UT_Color RGB 0.8 0.8 0.8
-delscript ""
-exprlanguage hscript
-end
-
---HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
-Content-Disposition: attachment; filename="hdaroot/init_values.parm"
-Content-Type: text/plain
-
-{
-version 0.8
-folder0 [ 0 locks=0 ] ( 0 0 )
-group [ 0 locks=0 ] ( "" )
-grouptype [ 0 locks=0 ] ( "guess" )
-class [ 0 locks=0 ] ( "point" )
-vex_numcount [ 0 locks=0 ] ( 10 )
-vex_threadjobsize [ 0 locks=0 ] ( 1024 )
-snippet [ 0 locks=0 ] ( "v@euler = 0;
-v@scale = 1;
-f@pscale = 1;" )
-exportlist [ 0 locks=0 ] ( * )
-vex_strict [ 0 locks=0 ] ( "off" )
-autobind [ 0 locks=0 ] ( "on" )
-bindings [ 0 locks=0 ] ( 0 )
-groupautobind [ 0 locks=0 ] ( "on" )
-groupbindings [ 0 locks=0 ] ( 0 )
-vex_cwdpath [ 0 locks=0 ] ( . )
-vex_outputmask [ 0 locks=0 ] ( * )
-vex_updatenmls [ 0 locks=0 ] ( "off" )
-vex_matchattrib [ 0 locks=0 ] ( id )
-vex_inplace [ 0 locks=0 ] ( "off" )
-vex_selectiongroup [ 0 locks=0 ] ( "" )
-}
-
---HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
-Content-Disposition: attachment; filename="hdaroot/init_values.userdata"
-Content-Type: text/plain
-
-{
- "___Version___":{
- "type":"string",
- "value":""
- }
-}
-
---HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
-Content-Disposition: attachment; filename="hdaroot/MOPS_IN.init"
-Content-Type: text/plain
-
-type = null
-matchesdef = 0
-
---HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
-Content-Disposition: attachment; filename="hdaroot/MOPS_IN.def"
-Content-Type: text/plain
-
-sopflags sopflags =
-comment ""
-position -1.11759e-08 3.65565
-connectornextid 2
-flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
-outputsNamed3
-{
-0 "output1"
-}
-inputsNamed3
-{
-1 (0) "" 1 "input1"
-}
-inputs
-{
-0 (0) 0 1
-}
-stat
-{
- create 1528499331
- modify 1528499339
- author Henry@LAPPY586
- access 0777
-}
-color UT_Color RGB 0.6 0.7 0.77
-delscript ""
-exprlanguage hscript
-end
-
---HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
-Content-Disposition: attachment; filename="hdaroot/MOPS_IN.parm"
-Content-Type: text/plain
-
-{
-version 0.8
-copyinput [ 0 locks=0 autoscope=0 ] ( "on" )
-cacheinput [ 0 locks=0 autoscope=0 ] ( "off" )
-}
-
---HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
-Content-Disposition: attachment; filename="hdaroot/MOPS_IN.userdata"
-Content-Type: text/plain
-
-{
- "___Version___":{
- "type":"string",
- "value":"16.5.496"
- }
-}
-
---HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
-Content-Disposition: attachment; filename="hdaroot/switch_do_P.init"
-Content-Type: text/plain
-
-type = switch
-matchesdef = 0
-
---HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
-Content-Disposition: attachment; filename="hdaroot/switch_do_P.def"
-Content-Type: text/plain
-
-sopflags sopflags =
-comment ""
-position 3.40396 0.546633
-connectornextid 3
-flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
-outputsNamed3
-{
-0 "output1"
-}
-inputsNamed3
-{
-1 init_values 1 1 "input1"
-2 pointjitter1 1 1 "input2"
-}
-inputs
-{
-0 init_values 0 1
-1 pointjitter1 0 1
-}
-stat
-{
- create 1528499331
- modify 1530403326
- author Henry@LAPPY586
- access 0777
-}
-color UT_Color RGB 0.8 1 0.7
-delscript ""
-exprlanguage hscript
-end
-
---HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
-Content-Disposition: attachment; filename="hdaroot/switch_do_P.chn"
-Content-Type: text/plain
-
-{
- channel input {
- lefttype = extend
- righttype = extend
- flags = 0
- segment { length = 0 value = 1 1 expr = ch(\"../do_P\") }
- }
- }
-
---HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
-Content-Disposition: attachment; filename="hdaroot/switch_do_P.parm"
-Content-Type: text/plain
-
-{
-version 0.8
-input [ 0 locks=0 autoscope=0 ] ( [ input 0 ] )
-}
-
---HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
-Content-Disposition: attachment; filename="hdaroot/switch_do_P.userdata"
-Content-Type: text/plain
-
-{
- "___Version___":{
- "type":"string",
- "value":"16.5.496"
- }
-}
-
---HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
-Content-Disposition: attachment; filename="hdaroot/switch_do_orient.init"
-Content-Type: text/plain
-
-type = switch
-matchesdef = 0
-
---HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
-Content-Disposition: attachment; filename="hdaroot/switch_do_orient.def"
-Content-Type: text/plain
-
-sopflags sopflags =
-comment ""
-position 3.40396 -2.48146
-connectornextid 3
-flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
-outputsNamed3
-{
-0 "output1"
-}
-inputsNamed3
-{
-1 switch_do_P 0 1 "input1"
-2 pointwrangle1 0 1 "input2"
-}
-inputs
-{
-0 switch_do_P 0 1
-1 pointwrangle1 0 1
-}
-stat
-{
- create 1528499331
- modify 1530403326
- author Henry@LAPPY586
- access 0777
-}
-color UT_Color RGB 0.8 1 0.7
-delscript ""
-exprlanguage hscript
-end
-
---HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
-Content-Disposition: attachment; filename="hdaroot/switch_do_orient.chn"
-Content-Type: text/plain
-
-{
- channel input {
- lefttype = extend
- righttype = extend
- flags = 0
- segment { length = 0 value = 1 1 expr = ch(\"../do_orient\") }
- }
- }
-
---HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
-Content-Disposition: attachment; filename="hdaroot/switch_do_orient.parm"
-Content-Type: text/plain
-
-{
-version 0.8
-input [ 0 locks=0 autoscope=0 ] ( [ input 0 ] )
-}
-
---HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
-Content-Disposition: attachment; filename="hdaroot/switch_do_orient.userdata"
-Content-Type: text/plain
-
-{
- "___Version___":{
- "type":"string",
- "value":"16.5.496"
- }
-}
-
---HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
-Content-Disposition: attachment; filename="hdaroot/switch_do_scale.init"
-Content-Type: text/plain
-
-type = switch
-matchesdef = 0
-
---HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
-Content-Disposition: attachment; filename="hdaroot/switch_do_scale.def"
-Content-Type: text/plain
-
-sopflags sopflags =
-comment ""
-position 3.50408 -4.61126
-connectornextid 3
-flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
-outputsNamed3
-{
-0 "output1"
-}
-inputsNamed3
-{
-1 switch_do_orient 0 1 "input1"
-2 attribrandomize2 1 1 "input2"
-}
-inputs
-{
-0 switch_do_orient 0 1
-1 attribrandomize2 0 1
-}
-stat
-{
- create 1528499331
- modify 1530403326
- author Henry@LAPPY586
- access 0777
-}
-color UT_Color RGB 0.8 1 0.7
-delscript ""
-exprlanguage hscript
-end
-
---HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
-Content-Disposition: attachment; filename="hdaroot/switch_do_scale.chn"
-Content-Type: text/plain
-
-{
- channel input {
- lefttype = extend
- righttype = extend
- flags = 0
- segment { length = 0 value = 1 1 expr = ch(\"../do_scale\") }
- }
- }
-
---HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
-Content-Disposition: attachment; filename="hdaroot/switch_do_scale.parm"
-Content-Type: text/plain
-
-{
-version 0.8
-input [ 0 locks=0 autoscope=0 ] ( [ input 0 ] )
-}
-
---HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
-Content-Disposition: attachment; filename="hdaroot/switch_do_scale.userdata"
-Content-Type: text/plain
-
-{
- "___Version___":{
- "type":"string",
- "value":"16.5.496"
- }
-}
-
---HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
-Content-Disposition: attachment; filename="hdaroot/output1.init"
-Content-Type: text/plain
-
-type = output
-matchesdef = 0
-
---HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
-Content-Disposition: attachment; filename="hdaroot/output1.def"
-Content-Type: text/plain
-
-sopflags sopflags =
-comment ""
-position -0.0708374 -15.4412
-connectornextid 1
-flags = lock off model off template off footprint off xray off bypass off display on render on highlight off unload off savedata off compress on colordefault on exposed on
-outputsNamed3
-{
-}
-inputsNamed3
-{
-0 switch_do_falloff 0 1 "input1"
-}
-inputs
-{
-0 switch_do_falloff 0 1
-}
-stat
-{
- create 1528499331
- modify 1530403797
- author Henry@LAPPY586
- access 0777
-}
-color UT_Color RGB 0.8 0.8 0.8
-delscript ""
-exprlanguage hscript
-end
-
---HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
-Content-Disposition: attachment; filename="hdaroot/output1.parm"
-Content-Type: text/plain
-
-{
-version 0.8
-outputidx [ 0 locks=0 autoscope=0 ] ( 0 )
-}
-
---HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
-Content-Disposition: attachment; filename="hdaroot/output1.userdata"
-Content-Type: text/plain
-
-{
- "___Version___":{
- "type":"string",
- "value":"16.5.496"
- }
-}
-
---HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
-Content-Disposition: attachment; filename="hdaroot/switch_do_pscale.init"
-Content-Type: text/plain
-
-type = switch
-matchesdef = 0
-
---HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
-Content-Disposition: attachment; filename="hdaroot/switch_do_pscale.def"
-Content-Type: text/plain
-
-sopflags sopflags =
-comment ""
-position 3.50408 -6.92051
-connectornextid 3
-flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
-outputsNamed3
-{
-0 "output1"
-}
-inputsNamed3
-{
-1 switch_do_scale 0 1 "input1"
-2 attribrandomize3 1 1 "input2"
-}
-inputs
-{
-0 switch_do_scale 0 1
-1 attribrandomize3 0 1
-}
-stat
-{
- create 1528499331
- modify 1530403326
- author Henry@LAPPY586
- access 0777
-}
-color UT_Color RGB 0.8 1 0.7
-delscript ""
-exprlanguage hscript
-end
-
---HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
-Content-Disposition: attachment; filename="hdaroot/switch_do_pscale.chn"
-Content-Type: text/plain
-
-{
- channel input {
- lefttype = extend
- righttype = extend
- flags = 0
- segment { length = 0 expr = ch(\"../do_pscale\") }
- }
- }
-
---HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
-Content-Disposition: attachment; filename="hdaroot/switch_do_pscale.parm"
-Content-Type: text/plain
-
-{
-version 0.8
-input [ 0 locks=0 autoscope=0 ] ( [ input 1 ] )
-}
-
---HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
-Content-Disposition: attachment; filename="hdaroot/switch_do_pscale.userdata"
-Content-Type: text/plain
-
-{
- "___Version___":{
- "type":"string",
- "value":"16.5.496"
- }
-}
-
---HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
-Content-Disposition: attachment; filename="hdaroot/switch_do_falloff.init"
-Content-Type: text/plain
-
-type = switch
-matchesdef = 0
-
---HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
-Content-Disposition: attachment; filename="hdaroot/switch_do_falloff.def"
-Content-Type: text/plain
-
-sopflags sopflags =
-comment ""
-position -0.0708374 -13.9529
-connectornextid 3
-flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
-outputsNamed3
-{
-0 "output1"
-}
-inputsNamed3
-{
-1 Apply_Attributes1 2 1 "input1"
-2 Combine_Falloffs1 2 1 "input2"
-}
-inputs
-{
-0 Apply_Attributes1 0 1
-1 Combine_Falloffs1 0 1
-}
-stat
-{
- create 1528499331
- modify 1530403800
- author Henry@LAPPY586
- access 0777
-}
-color UT_Color RGB 0.8 1 0.7
-delscript ""
-exprlanguage hscript
-end
-
---HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
-Content-Disposition: attachment; filename="hdaroot/switch_do_falloff.chn"
-Content-Type: text/plain
-
-{
- channel input {
- lefttype = extend
- righttype = extend
- flags = 0
- segment { length = 0 value = 1 1 expr = ch(\"../do_falloff\") }
- }
- }
-
---HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
-Content-Disposition: attachment; filename="hdaroot/switch_do_falloff.parm"
-Content-Type: text/plain
-
-{
-version 0.8
-input [ 0 locks=0 autoscope=0 ] ( [ input 1 ] )
-}
-
---HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
-Content-Disposition: attachment; filename="hdaroot/switch_do_falloff.userdata"
-Content-Type: text/plain
-
-{
- "___Version___":{
- "type":"string",
- "value":"16.5.496"
- }
-}
-
---HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
-Content-Disposition: attachment; filename="hdaroot.order"
-Content-Type: text/plain
-
-16
-pointjitter1
-Apply_Attributes1
-attribrandomize1
-attribrandomize2
-attribrandomize3
-attribrandomize4
-Combine_Falloffs1
-MOPS_IN
-switch_do_P
-switch_do_orient
-switch_do_scale
-output1
-switch_do_pscale
-switch_do_falloff
-pointwrangle1
-init_values
-
---HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
-Content-Disposition: attachment; filename="hdaroot.net"
-Content-Type: text/plain
-
-1
-
--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY--
diff --git a/otls/MOPS_Randomize.hda/MOPS_8_8Sop_1Randomize_8_81.1/Contents.dir/.OPdummydefs b/otls/MOPS_Randomize.hda/MOPS_8_8Sop_1Randomize_8_81.1/Contents.dir/.OPdummydefs
index b67a18d9..22dd574a 100644
Binary files a/otls/MOPS_Randomize.hda/MOPS_8_8Sop_1Randomize_8_81.1/Contents.dir/.OPdummydefs and b/otls/MOPS_Randomize.hda/MOPS_8_8Sop_1Randomize_8_81.1/Contents.dir/.OPdummydefs differ
diff --git a/otls/MOPS_Randomize.hda/MOPS_8_8Sop_1Randomize_8_81.1/Contents.dir/.OPfallbacks b/otls/MOPS_Randomize.hda/MOPS_8_8Sop_1Randomize_8_81.1/Contents.dir/.OPfallbacks
index 8ae3833a..4553ff67 100644
--- a/otls/MOPS_Randomize.hda/MOPS_8_8Sop_1Randomize_8_81.1/Contents.dir/.OPfallbacks
+++ b/otls/MOPS_Randomize.hda/MOPS_8_8Sop_1Randomize_8_81.1/Contents.dir/.OPfallbacks
@@ -1,54 +1,54 @@
-MOPS::Sop/Apply_Attributes::1.4 C:/Users/Henry/Projects/VFX/MOPS/otls/MOPS_applyAttributes.hda
+MOPS::Sop/Apply_Attributes::1.4 C:/Users/Henry/Projects/VFX/MOPS_Prime/otls/MOPS_applyAttributes.hda
MOPS::Sop/Apply_Attributes::1.4 otls/MOPS_applyAttributes.hda
-MOPS::Sop/Combine_Falloffs::1.0 C:/Users/Henry/Projects/VFX/MOPS/otls/MOPS_Combine_Falloffs.hda
+MOPS::Sop/Combine_Falloffs::1.0 C:/Users/Henry/Projects/VFX/MOPS_Prime/otls/MOPS_Combine_Falloffs.hda
MOPS::Sop/Combine_Falloffs::1.0 otls/MOPS_Combine_Falloffs.hda
-MOPS::Sop/Extract_Attributes::1.0 C:/Users/Henry/Projects/VFX/MOPS/otls/MOPS_extractAttributes.hda
+MOPS::Sop/Extract_Attributes::1.0 C:/Users/Henry/Projects/VFX/MOPS_Prime/otls/MOPS_extractAttributes.hda
MOPS::Sop/Extract_Attributes::1.0 otls/MOPS_extractAttributes.hda
-MOPS::Sop/Preview_Falloff::1.1 C:/Users/Henry/Projects/VFX/MOPS/otls/MOPS_Preview_Falloff.hda
+MOPS::Sop/Preview_Falloff::1.1 C:/Users/Henry/Projects/VFX/MOPS_Prime/otls/MOPS_Preview_Falloff.hda
MOPS::Sop/Preview_Falloff::1.1 otls/MOPS_Preview_Falloff.hda
-Sop/attribdelete C:/PROGRA~1/SIDEEF~1/HOUDIN~1.229/houdini/otls/OPlibSop.hda
+Sop/attribdelete C:/PROGRA~1/SIDEEF~1/HOUDIN~1.391/houdini/otls/OPlibSop.hda
Sop/attribdelete otls/OPlibSop.hda
-Sop/attribrandomize C:/PROGRA~1/SIDEEF~1/HOUDIN~1.229/houdini/otls/OPlibSop.hda
+Sop/attribrandomize C:/PROGRA~1/SIDEEF~1/HOUDIN~1.391/houdini/otls/OPlibSop.hda
Sop/attribrandomize otls/OPlibSop.hda
-Sop/attribwrangle C:/PROGRA~1/SIDEEF~1/HOUDIN~1.229/houdini/otls/OPlibSop.hda
+Sop/attribwrangle C:/PROGRA~1/SIDEEF~1/HOUDIN~1.391/houdini/otls/OPlibSop.hda
Sop/attribwrangle otls/OPlibSop.hda
-Vop/avgcomp C:/PROGRA~1/SIDEEF~1/HOUDIN~1.229/houdini/otls/OPlibScripted.hda
+Vop/avgcomp C:/PROGRA~1/SIDEEF~1/HOUDIN~1.391/houdini/otls/OPlibScripted.hda
Vop/avgcomp otls/OPlibScripted.hda
-Vop/clamp C:/PROGRA~1/SIDEEF~1/HOUDIN~1.229/houdini/otls/OPlibScripted.hda
+Vop/clamp C:/PROGRA~1/SIDEEF~1/HOUDIN~1.391/houdini/otls/OPlibScripted.hda
Vop/clamp otls/OPlibScripted.hda
-Vop/floattohvec C:/PROGRA~1/SIDEEF~1/HOUDIN~1.229/houdini/otls/OPlibScripted.hda
+Vop/floattohvec C:/PROGRA~1/SIDEEF~1/HOUDIN~1.391/houdini/otls/OPlibScripted.hda
Vop/floattohvec otls/OPlibScripted.hda
-Vop/floattovec C:/PROGRA~1/SIDEEF~1/HOUDIN~1.229/houdini/otls/OPlibScripted.hda
+Vop/floattovec C:/PROGRA~1/SIDEEF~1/HOUDIN~1.391/houdini/otls/OPlibScripted.hda
Vop/floattovec otls/OPlibScripted.hda
-Vop/hvectovec C:/PROGRA~1/SIDEEF~1/HOUDIN~1.229/houdini/otls/OPlibScripted.hda
+Vop/hvectovec C:/PROGRA~1/SIDEEF~1/HOUDIN~1.391/houdini/otls/OPlibScripted.hda
Vop/hvectovec otls/OPlibScripted.hda
-Vop/inttofloat C:/PROGRA~1/SIDEEF~1/HOUDIN~1.229/houdini/otls/OPlibScripted.hda
+Vop/inttofloat C:/PROGRA~1/SIDEEF~1/HOUDIN~1.391/houdini/otls/OPlibScripted.hda
Vop/inttofloat otls/OPlibScripted.hda
-Vop/invert C:/PROGRA~1/SIDEEF~1/HOUDIN~1.229/houdini/otls/OPlibScripted.hda
+Vop/invert C:/PROGRA~1/SIDEEF~1/HOUDIN~1.391/houdini/otls/OPlibScripted.hda
Vop/invert otls/OPlibScripted.hda
-Vop/isconnected C:/PROGRA~1/SIDEEF~1/HOUDIN~1.229/houdini/otls/OPlibScripted.hda
+Vop/isconnected C:/PROGRA~1/SIDEEF~1/HOUDIN~1.391/houdini/otls/OPlibScripted.hda
Vop/isconnected otls/OPlibScripted.hda
-Vop/lighting C:/PROGRA~1/SIDEEF~1/HOUDIN~1.229/houdini/otls/OPlibScripted.hda
+Vop/lighting C:/PROGRA~1/SIDEEF~1/HOUDIN~1.391/houdini/otls/OPlibScripted.hda
Vop/lighting otls/OPlibScripted.hda
-Vop/mix C:/PROGRA~1/SIDEEF~1/HOUDIN~1.229/houdini/otls/OPlibScripted.hda
+Vop/mix C:/PROGRA~1/SIDEEF~1/HOUDIN~1.391/houdini/otls/OPlibScripted.hda
Vop/mix otls/OPlibScripted.hda
-Vop/modulo C:/PROGRA~1/SIDEEF~1/HOUDIN~1.229/houdini/otls/OPlibScripted.hda
+Vop/modulo C:/PROGRA~1/SIDEEF~1/HOUDIN~1.391/houdini/otls/OPlibScripted.hda
Vop/modulo otls/OPlibScripted.hda
-Vop/renderstate C:/PROGRA~1/SIDEEF~1/HOUDIN~1.229/houdini/otls/OPlibScripted.hda
+Vop/renderstate C:/PROGRA~1/SIDEEF~1/HOUDIN~1.391/houdini/otls/OPlibScripted.hda
Vop/renderstate otls/OPlibScripted.hda
-Vop/sprite C:/PROGRA~1/SIDEEF~1/HOUDIN~1.229/houdini/otls/OPlibScripted.hda
+Vop/sprite C:/PROGRA~1/SIDEEF~1/HOUDIN~1.391/houdini/otls/OPlibScripted.hda
Vop/sprite otls/OPlibScripted.hda
-Sop/sprite C:/PROGRA~1/SIDEEF~1/HOUDIN~1.229/houdini/otls/OPlibSop.hda
+Sop/sprite C:/PROGRA~1/SIDEEF~1/HOUDIN~1.391/houdini/otls/OPlibSop.hda
Sop/sprite otls/OPlibSop.hda
-Vop/subconst C:/PROGRA~1/SIDEEF~1/HOUDIN~1.229/houdini/otls/OPlibScripted.hda
+Vop/subconst C:/PROGRA~1/SIDEEF~1/HOUDIN~1.391/houdini/otls/OPlibScripted.hda
Vop/subconst otls/OPlibScripted.hda
-Vop/surfacecolor C:/PROGRA~1/SIDEEF~1/HOUDIN~1.229/houdini/otls/OPlibVop.hda
+Vop/surfacecolor C:/PROGRA~1/SIDEEF~1/HOUDIN~1.391/houdini/otls/OPlibVop.hda
Vop/surfacecolor otls/OPlibVop.hda
-Vop/texture C:/PROGRA~1/SIDEEF~1/HOUDIN~1.229/houdini/otls/OPlibScripted.hda
+Vop/texture C:/PROGRA~1/SIDEEF~1/HOUDIN~1.391/houdini/otls/OPlibScripted.hda
Vop/texture otls/OPlibScripted.hda
-Vop/twoway C:/PROGRA~1/SIDEEF~1/HOUDIN~1.229/houdini/otls/OPlibScripted.hda
+Vop/twoway C:/PROGRA~1/SIDEEF~1/HOUDIN~1.391/houdini/otls/OPlibScripted.hda
Vop/twoway otls/OPlibScripted.hda
-Vop/uvcoords C:/PROGRA~1/SIDEEF~1/HOUDIN~1.229/houdini/otls/OPlibVop.hda
+Vop/uvcoords C:/PROGRA~1/SIDEEF~1/HOUDIN~1.391/houdini/otls/OPlibVop.hda
Vop/uvcoords otls/OPlibVop.hda
-Vop/vectofloat C:/PROGRA~1/SIDEEF~1/HOUDIN~1.229/houdini/otls/OPlibScripted.hda
+Vop/vectofloat C:/PROGRA~1/SIDEEF~1/HOUDIN~1.391/houdini/otls/OPlibScripted.hda
Vop/vectofloat otls/OPlibScripted.hda
diff --git a/otls/MOPS_Randomize.hda/MOPS_8_8Sop_1Randomize_8_81.1/Contents.dir/Contents.mime b/otls/MOPS_Randomize.hda/MOPS_8_8Sop_1Randomize_8_81.1/Contents.dir/Contents.mime
index a7525e79..030f5563 100644
--- a/otls/MOPS_Randomize.hda/MOPS_8_8Sop_1Randomize_8_81.1/Contents.dir/Contents.mime
+++ b/otls/MOPS_Randomize.hda/MOPS_8_8Sop_1Randomize_8_81.1/Contents.dir/Contents.mime
@@ -32,22 +32,24 @@ Content-Type: text/plain
sopflags sopflags =
comment ""
-position -3.39344 -0.0762295
-connectornextid 0
+position -11.9667 -19.9663
+connectornextid 1
flags = lock off model off template off footprint off xray off bypass off display on render on highlight off unload off savedata off compress on colordefault on exposed on
outputsNamed3
{
}
inputsNamed3
{
+0 pointwrangle1 "" 1 "input1"
}
inputs
{
+0 pointwrangle1 0 1
}
stat
{
- create 1573531732
- modify 1573531846
+ create 1584163373
+ modify 1584163506
author Henry@LAPPY586
access 0777
}
@@ -72,7 +74,7 @@ Content-Disposition: attachment; filename="hdaroot.inp"
Content-Type: text/plain
1
-0 -2.9039270987851751e-14 6.9496884262837089 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+0 0 6 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
Content-Disposition: attachment; filename="hdaroot/Apply_Attributes1.init"
@@ -92,12 +94,12 @@ connectornextid 3
flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
outputsNamed3
{
-0 "output1"
+2 "output1"
}
inputsNamed3
{
-1 MOPS_IN 0 1 "input1"
-2 switch_do_pscale 0 1 "input2"
+0 MOPS_IN 0 1 "input1"
+1 switch_do_pscale 0 1 "input2"
}
inputs
{
@@ -106,8 +108,8 @@ inputs
}
stat
{
- create 1569472199
- modify 1573531733
+ create 1584163373
+ modify 1584163465
author Henry@LAPPY586
access 0777
}
@@ -133,17 +135,23 @@ Content-Type: text/plain
flags = 0
segment { length = 0 expr = ch(\"../grouptype\") }
}
+ channel do_translate {
+ lefttype = extend
+ righttype = extend
+ flags = 0
+ segment { length = 0 value = 1 1 expr = ch(\"../do_P\") }
+ }
channel do_rotate {
lefttype = extend
righttype = extend
flags = 0
segment { length = 0 value = 1 1 expr = ch(\"../switch_do_orient/input\") }
}
- channel do_falloff {
+ channel local_space {
lefttype = extend
righttype = extend
flags = 0
- segment { length = 0 value = 1 1 expr = ch(\"../do_falloff2\") }
+ segment { length = 0 value = 1 1 expr = ch(\"../local_space\") }
}
channel rotate_mode {
lefttype = extend
@@ -151,23 +159,23 @@ Content-Type: text/plain
flags = 0
segment { length = 0 expr = ch(\"../rotate_mode\") }
}
- channel scale_mode {
+ channel rotate_order {
lefttype = extend
righttype = extend
flags = 0
- segment { length = 0 expr = ch(\"../scale_mode\") }
+ segment { length = 0 expr = ch(\"../order\") }
}
- channel rotate_order {
+ channel scale_mode {
lefttype = extend
righttype = extend
flags = 0
- segment { length = 0 expr = ch(\"../order\") }
+ segment { length = 0 expr = ch(\"../scale_mode\") }
}
- channel local_space {
+ channel do_falloff {
lefttype = extend
righttype = extend
flags = 0
- segment { length = 0 value = 1 1 expr = ch(\"../local_space\") }
+ segment { length = 0 value = 1 1 expr = ch(\"../do_falloff2\") }
}
}
@@ -180,24 +188,25 @@ version 0.8
group [ 0 locks=0 autoscope=0 ] ( [ group "" ] )
grouptype [ 0 locks=0 autoscope=0 ] ( [ grouptype 0 ] )
sepparm [ 0 locks=0 ] ( )
-folder0 [ 0 locks=0 ] ( 0 0 0 )
-do_translate [ 0 locks=0 ] ( "on" )
+matchmode [ 0 locks=0 autoscope=0 ] ( "0" )
+folder0 [ 0 locks=0 autoscope=0 ] ( 0 0 0 )
+do_translate [ 0 locks=0 autoscope=0 ] ( [ do_translate 0 ] )
do_rotate [ 0 locks=0 autoscope=0 ] ( [ do_rotate 0 ] )
-do_scale [ 0 locks=0 ] ( "on" )
-do_pivots [ 0 locks=0 ] ( "on" )
+do_scale [ 0 locks=0 autoscope=0 ] ( "on" )
+do_pivots [ 0 locks=0 autoscope=0 ] ( "off" )
sepparm2 [ 0 locks=0 ] ( )
-local_space [ 0 locks=0 autoscope=0 ] ( [ local_space 1 ] )
+local_space [ 0 locks=0 autoscope=0 ] ( [ local_space 0 ] )
rotate_mode [ 0 locks=0 autoscope=0 ] ( [ rotate_mode 0 ] )
rotate_order [ 0 locks=0 autoscope=0 ] ( [ rotate_order 0 ] )
scale_mode [ 0 locks=0 autoscope=0 ] ( [ scale_mode 0 ] )
-do_falloff [ 0 locks=0 autoscope=0 ] ( [ do_falloff 1 ] )
-falloff_attribute [ 0 locks=0 ] ( mops_falloff )
-ignore_no_falloff [ 0 locks=0 ] ( "off" )
+do_falloff [ 0 locks=0 autoscope=0 ] ( [ do_falloff 0 ] )
+falloff_attribute [ 0 locks=0 autoscope=0 ] ( mops_falloff )
+ignore_no_falloff [ 0 locks=0 autoscope=0 ] ( "off" )
do_copy_attrs [ 0 locks=0 autoscope=0 ] ( "off" )
-attribname [ 0 locks=0 ] ( "" )
-do_make_id [ 0 locks=0 ] ( "on" )
-do_orient [ 0 locks=0 ] ( "on" )
-do_output_scale [ 0 locks=0 ] ( "on" )
+attribname [ 0 locks=0 autoscope=0 ] ( "" )
+do_make_id [ 0 locks=0 autoscope=0 ] ( "on" )
+do_orient [ 0 locks=0 autoscope=0 ] ( "on" )
+do_output_scale [ 0 locks=0 autoscope=0 ] ( "on" )
sepparm3 [ 0 locks=0 ] ( )
}
@@ -241,8 +250,8 @@ inputs
}
stat
{
- create 1528499331
- modify 1573531733
+ create 1584163374
+ modify 1584163598
author Henry@LAPPY586
access 0777
}
@@ -428,8 +437,8 @@ inputs
}
stat
{
- create 1528499331
- modify 1573531733
+ create 1584163374
+ modify 1584163598
author Henry@LAPPY586
access 0777
}
@@ -485,6 +494,12 @@ Content-Type: text/plain
flags = 0
segment { length = 0 expr = ch(\"../seed5\") }
}
+ channel seedattrib {
+ lefttype = extend
+ righttype = extend
+ flags = 0
+ segment { length = 0 expr = chs(\"../seed_attr\") }
+ }
}
--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
@@ -499,7 +514,7 @@ class [ 0 locks=0 autoscope=0 ] ( "point" )
name [ 0 locks=0 autoscope=0 ] ( scale )
operation [ 0 locks=0 autoscope=0 ] ( set )
scale [ 0 locks=0 autoscope=0 ] ( 1 )
-folder0 [ 0 locks=0 autoscope=0 ] ( 0 0 )
+folder0 [ 0 locks=0 autoscope=0 ] ( 1 1 )
distribution [ 0 locks=0 autoscope=0 ] ( uniform )
dimensions [ 0 locks=0 autoscope=0 ] ( 3 )
allsame [ 0 locks=0 autoscope=0 ] ( "off" )
@@ -544,7 +559,7 @@ usefractionattrib [ 0 locks=0 autoscope=0 ] ( "off" )
fractionattrib [ 0 locks=0 autoscope=0 ] ( fraction )
seed [ 0 locks=0 autoscope=0 ] ( [ seed 0 ] )
useseedattrib [ 0 locks=0 autoscope=0 ] ( "on" )
-seedattrib [ 0 locks=0 autoscope=0 ] ( id )
+seedattrib [ 0 locks=0 autoscope=0 ] ( [ seedattrib id ] )
ramp1pos [ 0 locks=0 autoscope=0 ] ( 0 )
ramp1value [ 0 locks=0 autoscope=0 ] ( 0 )
ramp1interp [ 0 locks=0 autoscope=0 ] ( "monotonecubic" )
@@ -609,8 +624,8 @@ inputs
}
stat
{
- create 1528499331
- modify 1573531733
+ create 1584163374
+ modify 1584163586
author Henry@LAPPY586
access 0777
}
@@ -642,6 +657,12 @@ Content-Type: text/plain
flags = 0
segment { length = 0 value = 5286 5286 expr = ch(\"../seed3\") }
}
+ channel seedattrib {
+ lefttype = extend
+ righttype = extend
+ flags = 0
+ segment { length = 0 expr = chs(\"../seed_attr\") }
+ }
}
--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
@@ -656,7 +677,7 @@ class [ 0 locks=0 autoscope=0 ] ( "point" )
name [ 0 locks=0 autoscope=0 ] ( pscale )
operation [ 0 locks=0 autoscope=0 ] ( set )
scale [ 0 locks=0 autoscope=0 ] ( 1 )
-folder0 [ 0 locks=0 autoscope=0 ] ( 0 0 )
+folder0 [ 0 locks=0 autoscope=0 ] ( 1 1 )
distribution [ 0 locks=0 autoscope=0 ] ( uniform )
dimensions [ 0 locks=0 autoscope=0 ] ( 1 )
allsame [ 0 locks=0 autoscope=0 ] ( "off" )
@@ -664,7 +685,7 @@ constvalue [ 0 locks=0 autoscope=0 ] ( 0 0 0 0 )
valuea [ 0 locks=0 autoscope=0 ] ( 0 0 0 0 )
valueb [ 0 locks=0 autoscope=0 ] ( 1 1 1 1 )
probvalueb [ 0 locks=0 autoscope=0 ] ( 0.5 )
-min [ 0 locks=0 autoscope=0 ] ( [ minx 0.087999999999999995 ] 0 0 0 )
+min [ 0 locks=0 autoscope=0 ] ( [ minx 0 ] 0 0 0 )
max [ 0 locks=0 autoscope=0 ] ( [ maxx 1 ] 1 1 1 )
mindiscrete [ 0 locks=0 autoscope=0 ] ( 0 0 0 0 )
maxdiscrete [ 0 locks=0 autoscope=0 ] ( 9 9 9 9 )
@@ -701,7 +722,7 @@ usefractionattrib [ 0 locks=0 autoscope=0 ] ( "off" )
fractionattrib [ 0 locks=0 autoscope=0 ] ( fraction )
seed [ 0 locks=0 autoscope=0 ] ( [ seed 0 ] )
useseedattrib [ 0 locks=0 autoscope=0 ] ( "on" )
-seedattrib [ 0 locks=0 autoscope=0 ] ( id )
+seedattrib [ 0 locks=0 autoscope=0 ] ( [ seedattrib id ] )
ramp1pos [ 0 locks=0 autoscope=0 ] ( 0 )
ramp1value [ 0 locks=0 autoscope=0 ] ( 0 )
ramp1interp [ 0 locks=0 autoscope=0 ] ( "monotonecubic" )
@@ -758,7 +779,7 @@ outputsNamed3
}
inputsNamed3
{
-0 Apply_Attributes1 0 1 "input1"
+0 Apply_Attributes1 2 1 "input1"
}
inputs
{
@@ -766,8 +787,8 @@ inputs
}
stat
{
- create 1528499331
- modify 1573531733
+ create 1584163374
+ modify 1584163586
author Henry@LAPPY586
access 0777
}
@@ -799,18 +820,11 @@ Content-Type: text/plain
flags = 0
segment { length = 0 value = 3189 3189 expr = ch(\"../seed4\") }
}
- channel useseedattrib {
- lefttype = extend
- righttype = extend
- flags = 0
- segment { length = 0 expr = ch(\"../useseedattrib\") }
- }
channel seedattrib {
lefttype = extend
righttype = extend
- defaultString = \"id\"
flags = 0
- segment { length = 0 expr = chs(\"../seedattrib\") }
+ segment { length = 0 expr = chs(\"../seed_attr\") }
}
}
@@ -870,7 +884,7 @@ nvisualizepts [ 0 locks=0 autoscope=0 ] ( 10000 )
usefractionattrib [ 0 locks=0 autoscope=0 ] ( "off" )
fractionattrib [ 0 locks=0 autoscope=0 ] ( fraction )
seed [ 0 locks=0 autoscope=0 ] ( [ seed 0 ] )
-useseedattrib [ 0 locks=0 autoscope=0 ] ( [ useseedattrib 0 ] )
+useseedattrib [ 0 locks=0 autoscope=0 ] ( "on" )
seedattrib [ 0 locks=0 autoscope=0 ] ( [ seedattrib id ] )
ramp1pos [ 0 locks=0 autoscope=0 ] ( 0 )
ramp1value [ 0 locks=0 autoscope=0 ] ( 0 )
@@ -928,7 +942,7 @@ outputsNamed3
}
inputsNamed3
{
-0 Apply_Attributes1 0 1 "input1"
+0 Apply_Attributes1 2 1 "input1"
1 attribrandomize4 1 1 "input2"
}
inputs
@@ -938,8 +952,8 @@ inputs
}
stat
{
- create 1528499331
- modify 1573531733
+ create 1584163374
+ modify 1584163461
author Henry@LAPPY586
access 0777
}
@@ -986,34 +1000,34 @@ Content-Type: text/plain
{
version 0.8
group [ 0 locks=0 autoscope=0 ] ( `chs(\"../Apply_Attributes1/group\")` )
-grouptype [ 0 locks=0 ] ( "guess" )
-falloff_attr [ 0 locks=0 ] ( mops_falloff )
-input [ 0 locks=0 autoscope=0 ] ( [ input 8 ] )
+grouptype [ 0 locks=0 autoscope=0 ] ( "guess" )
+falloff_attr [ 0 locks=0 autoscope=0 ] ( mops_falloff )
+input [ 0 locks=0 autoscope=0 ] ( [ input 0 ] )
strength [ 0 locks=0 autoscope=0 ] ( [ strength 1 ] )
switchclamp [ 0 locks=0 autoscope=0 ] ( [ switchclamp 0 ] )
sepparm [ 0 locks=0 ] ( )
do_preview [ 0 locks=0 autoscope=0 ] ( [ do_preview 0 ] )
-folder0 [ 0 locks=0 ] ( 0 )
-do_sprite [ 0 locks=0 ] ( "on" )
-spritescale [ 0 locks=0 ] ( 1 )
-override_scale [ 0 locks=0 ] ( "off" )
-ramp_preset [ 0 locks=0 ] ( "heatmap" )
-falloff_heatmap [ 0 locks=0 ] ( 5 )
-falloff_heatmap1pos [ 0 locks=0 ] ( 0 )
-falloff_heatmap1c [ 0 locks=0 ] ( 0.036199998110532761 0 0.5429999828338623 )
-falloff_heatmap1interp [ 0 locks=0 ] ( "linear" )
-falloff_heatmap2pos [ 0 locks=0 ] ( 0.27027025818824768 )
-falloff_heatmap2c [ 0 locks=0 ] ( 0.7369999885559082 0 0 )
-falloff_heatmap2interp [ 0 locks=0 ] ( "linear" )
-falloff_heatmap3pos [ 0 locks=0 ] ( 0.71814674139022827 )
-falloff_heatmap3c [ 0 locks=0 ] ( 1 0.28333333134651184 0 )
-falloff_heatmap3interp [ 0 locks=0 ] ( "linear" )
-falloff_heatmap4pos [ 0 locks=0 ] ( 0.90154439210891724 )
-falloff_heatmap4c [ 0 locks=0 ] ( 0.89999997615814209 0.89999997615814209 0 )
-falloff_heatmap4interp [ 0 locks=0 ] ( "linear" )
-falloff_heatmap5pos [ 0 locks=0 ] ( 1 )
-falloff_heatmap5c [ 0 locks=0 ] ( 1 1 1 )
-falloff_heatmap5interp [ 0 locks=0 ] ( "linear" )
+folder0 [ 0 locks=0 autoscope=0 ] ( 0 )
+do_sprite [ 0 locks=0 autoscope=0 ] ( "on" )
+spritescale [ 0 locks=0 autoscope=0 ] ( 1 )
+override_scale [ 0 locks=0 autoscope=0 ] ( "off" )
+ramp_preset [ 0 locks=0 autoscope=0 ] ( "heatmap" )
+falloff_heatmap [ 0 locks=0 autoscope=0 ] ( 5 )
+falloff_heatmap1pos [ 0 locks=0 autoscope=0 ] ( 0 )
+falloff_heatmap1c [ 0 locks=0 autoscope=0 ] ( 0.036199998110532761 0 0.5429999828338623 )
+falloff_heatmap1interp [ 0 locks=0 autoscope=0 ] ( "linear" )
+falloff_heatmap2pos [ 0 locks=0 autoscope=0 ] ( 0.27027025818824768 )
+falloff_heatmap2c [ 0 locks=0 autoscope=0 ] ( 0.7369999885559082 0 0 )
+falloff_heatmap2interp [ 0 locks=0 autoscope=0 ] ( "linear" )
+falloff_heatmap3pos [ 0 locks=0 autoscope=0 ] ( 0.71814674139022827 )
+falloff_heatmap3c [ 0 locks=0 autoscope=0 ] ( 1 0.28333333134651184 0 )
+falloff_heatmap3interp [ 0 locks=0 autoscope=0 ] ( "linear" )
+falloff_heatmap4pos [ 0 locks=0 autoscope=0 ] ( 0.90154439210891724 )
+falloff_heatmap4c [ 0 locks=0 autoscope=0 ] ( 0.89999997615814209 0.89999997615814209 0 )
+falloff_heatmap4interp [ 0 locks=0 autoscope=0 ] ( "linear" )
+falloff_heatmap5pos [ 0 locks=0 autoscope=0 ] ( 1 )
+falloff_heatmap5c [ 0 locks=0 autoscope=0 ] ( 1 1 1 )
+falloff_heatmap5interp [ 0 locks=0 autoscope=0 ] ( "linear" )
}
--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
@@ -1057,8 +1071,8 @@ inputs
}
stat
{
- create 1528499331
- modify 1573531733
+ create 1584163374
+ modify 1584163469
author Henry@LAPPY586
access 0777
}
@@ -1249,6 +1263,19 @@ Content-Type: text/plain
default { "0" "0" "0" }
range { 0 1 }
}
+ parm {
+ name "vex_precision"
+ baseparm
+ label "VEX Precision"
+ export none
+ }
+ parm {
+ name "rotation_scale"
+ label "Rotation Scale"
+ type float
+ default { "0" }
+ range { 0 1 }
+ }
--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
Content-Disposition: attachment; filename="hdaroot/pointwrangle1.chn"
@@ -1297,6 +1324,18 @@ Content-Type: text/plain
flags = 0
segment { length = 0 value = 360 360 expr = ch(\"../max4z\") }
}
+ channel rotation_scale {
+ lefttype = extend
+ righttype = extend
+ flags = 0
+ segment { length = 0 value = 1 1 expr = ch(\"../rotation_scale\") }
+ }
+ channel bindname1 {
+ lefttype = extend
+ righttype = extend
+ flags = 0
+ segment { length = 0 expr = chs(\"../seed_attr\") }
+ }
}
--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
@@ -1319,11 +1358,13 @@ float x = (fit01(rand(@id+seed), min.x, max.x));
float y = (fit01(rand(@id+seed*123), min.y, max.y));
float z = (fit01(rand(@id+seed*456), min.z, max.z));
-v@euler = set(x,y,z);" )
+float scale = ch(\"rotation_scale\");
+
+v@euler = set(x,y,z) * scale;" )
exportlist [ 0 locks=0 autoscope=0 ] ( * )
vex_strict [ 0 locks=0 autoscope=0 ] ( "off" )
autobind [ 0 locks=0 autoscope=0 ] ( "on" )
-bindings [ 0 locks=0 autoscope=0 ] ( 0 )
+bindings [ 0 locks=0 autoscope=0 ] ( 1 )
groupautobind [ 0 locks=0 autoscope=0 ] ( "on" )
groupbindings [ 0 locks=0 autoscope=0 ] ( 0 )
vex_cwdpath [ 0 locks=0 autoscope=0 ] ( . )
@@ -1332,10 +1373,14 @@ vex_updatenmls [ 0 locks=0 autoscope=0 ] ( "off" )
vex_matchattrib [ 0 locks=0 autoscope=0 ] ( id )
vex_inplace [ 0 locks=0 autoscope=0 ] ( "off" )
vex_selectiongroup [ 0 locks=0 autoscope=0 ] ( "" )
-folder1 [ 0 locks=0 ] ( 0 0 )
+vex_precision [ 0 locks=0 autoscope=0 ] ( auto )
+folder1 [ 0 locks=0 autoscope=0 ] ( 1 1 )
seed [ 0 locks=0 autoscope=0 ] ( [ seed 0 ] )
-min [ 0 locks=0 autoscope=0 ] ( [ minx -360 ] [ miny -360 ] [ minz -360 ] )
-max [ 0 locks=0 autoscope=0 ] ( [ maxx 360 ] [ maxy 360 ] [ maxz 360 ] )
+min [ 0 locks=0 autoscope=0 ] ( [ minx 0 ] [ miny 0 ] [ minz 0 ] )
+max [ 0 locks=0 autoscope=0 ] ( [ maxx 0 ] [ maxy 0 ] [ maxz 0 ] )
+rotation_scale [ 0 locks=0 autoscope=0 ] ( [ rotation_scale 0 ] )
+bindname1 [ 0 locks=0 autoscope=0 ] ( [ bindname1 "" ] )
+bindparm1 [ 0 locks=0 autoscope=0 ] ( id )
}
--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
@@ -1367,11 +1412,11 @@ connectornextid 2
flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
outputsNamed3
{
-1 "output1"
+0 "output1"
}
inputsNamed3
{
-0 switch_has_no_id 2 1 "input1"
+1 switch_has_no_id 0 1 "input1"
}
inputs
{
@@ -1379,8 +1424,8 @@ inputs
}
stat
{
- create 1528936208
- modify 1573531733
+ create 1584163374
+ modify 1584163424
author Henry@LAPPY586
access 0777
}
@@ -1395,27 +1440,28 @@ Content-Type: text/plain
{
version 0.8
-folder0 [ 0 locks=0 ] ( 0 0 )
-group [ 0 locks=0 ] ( "" )
-grouptype [ 0 locks=0 ] ( "guess" )
-class [ 0 locks=0 ] ( "point" )
-vex_numcount [ 0 locks=0 ] ( 10 )
-vex_threadjobsize [ 0 locks=0 ] ( 1024 )
-snippet [ 0 locks=0 ] ( "v@euler = 0;
+folder0 [ 0 locks=0 autoscope=0 ] ( 0 0 )
+group [ 0 locks=0 autoscope=0 ] ( "" )
+grouptype [ 0 locks=0 autoscope=0 ] ( "guess" )
+class [ 0 locks=0 autoscope=0 ] ( "point" )
+vex_numcount [ 0 locks=0 autoscope=0 ] ( 10 )
+vex_threadjobsize [ 0 locks=0 autoscope=0 ] ( 1024 )
+snippet [ 0 locks=0 autoscope=0 ] ( "v@euler = 0;
v@scale = 1;
f@pscale = 1;" )
-exportlist [ 0 locks=0 ] ( * )
-vex_strict [ 0 locks=0 ] ( "off" )
-autobind [ 0 locks=0 ] ( "on" )
-bindings [ 0 locks=0 ] ( 0 )
-groupautobind [ 0 locks=0 ] ( "on" )
-groupbindings [ 0 locks=0 ] ( 0 )
-vex_cwdpath [ 0 locks=0 ] ( . )
-vex_outputmask [ 0 locks=0 ] ( * )
-vex_updatenmls [ 0 locks=0 ] ( "off" )
-vex_matchattrib [ 0 locks=0 ] ( id )
-vex_inplace [ 0 locks=0 ] ( "off" )
-vex_selectiongroup [ 0 locks=0 ] ( "" )
+exportlist [ 0 locks=0 autoscope=0 ] ( * )
+vex_strict [ 0 locks=0 autoscope=0 ] ( "off" )
+autobind [ 0 locks=0 autoscope=0 ] ( "on" )
+bindings [ 0 locks=0 autoscope=0 ] ( 0 )
+groupautobind [ 0 locks=0 autoscope=0 ] ( "on" )
+groupbindings [ 0 locks=0 autoscope=0 ] ( 0 )
+vex_cwdpath [ 0 locks=0 autoscope=0 ] ( . )
+vex_outputmask [ 0 locks=0 autoscope=0 ] ( * )
+vex_updatenmls [ 0 locks=0 autoscope=0 ] ( "off" )
+vex_matchattrib [ 0 locks=0 autoscope=0 ] ( id )
+vex_inplace [ 0 locks=0 autoscope=0 ] ( "off" )
+vex_selectiongroup [ 0 locks=0 autoscope=0 ] ( "" )
+vex_precision [ 0 locks=0 autoscope=0 ] ( auto )
}
--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
@@ -1447,11 +1493,11 @@ connectornextid 2
flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
outputsNamed3
{
-1 "output1"
+0 "output1"
}
inputsNamed3
{
-0 init_values 1 1 "input1"
+1 init_values 0 1 "input1"
}
inputs
{
@@ -1459,8 +1505,8 @@ inputs
}
stat
{
- create 1536946673
- modify 1573531733
+ create 1584163374
+ modify 1584163469
author Henry@LAPPY586
access 0777
}
@@ -1658,19 +1704,18 @@ Content-Type: text/plain
default { "0" }
range { 0 10 }
}
+ parm {
+ name "vex_precision"
+ baseparm
+ label "VEX Precision"
+ export none
+ }
--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
Content-Disposition: attachment; filename="hdaroot/randomize_P.chn"
Content-Type: text/plain
{
- channel local {
- lefttype = extend
- righttype = extend
- default = 1
- flags = 0
- segment { length = 0 value = 1 1 expr = ch(\"../local_space\") }
- }
channel seed {
lefttype = extend
righttype = extend
@@ -1713,6 +1758,18 @@ Content-Type: text/plain
flags = 0
segment { length = 0 expr = ch(\"../maxpz\") }
}
+ channel local {
+ lefttype = extend
+ righttype = extend
+ flags = 0
+ segment { length = 0 value = 1 1 expr = ch(\"../local_space\") }
+ }
+ channel bindname1 {
+ lefttype = extend
+ righttype = extend
+ flags = 0
+ segment { length = 0 expr = chs(\"../seed_attr\") }
+ }
}
--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
@@ -1721,18 +1778,18 @@ Content-Type: text/plain
{
version 0.8
-folder0 [ 0 locks=0 ] ( 0 0 )
-group [ 0 locks=0 ] ( "" )
-grouptype [ 0 locks=0 ] ( "guess" )
-class [ 0 locks=0 ] ( "point" )
-vex_numcount [ 0 locks=0 ] ( 10 )
-vex_threadjobsize [ 0 locks=0 ] ( 1024 )
-snippet [ 0 locks=0 ] ( "float seed = ch(\"seed\");
+folder0 [ 0 locks=0 autoscope=0 ] ( 0 0 )
+group [ 0 locks=0 autoscope=0 ] ( "" )
+grouptype [ 0 locks=0 autoscope=0 ] ( "guess" )
+class [ 0 locks=0 autoscope=0 ] ( "point" )
+vex_numcount [ 0 locks=0 autoscope=0 ] ( 10 )
+vex_threadjobsize [ 0 locks=0 autoscope=0 ] ( 1024 )
+snippet [ 0 locks=0 autoscope=0 ] ( "float seed = ch(\"seed\");
vector min = chv(\"min\");
vector max = chv(\"max\");
-float x = fit01(rand(i@id+seed), min.x, max.x);
-float y = fit01(rand(i@id+seed+345), min.y, max.y);
-float z = fit01(rand(i@id+seed+678), min.z, max.z);
+float x = fit01(rand(@id+seed), min.x, max.x);
+float y = fit01(rand(@id+seed+345), min.y, max.y);
+float z = fit01(rand(@id+seed+678), min.z, max.z);
int local = chi(\"local\");
vector translate = set(x,y,z);
if(local==1) {
@@ -1741,23 +1798,26 @@ if(local==1) {
translate = qrotate(q, translate);
}
@P += translate;" )
-exportlist [ 0 locks=0 ] ( * )
-vex_strict [ 0 locks=0 ] ( "off" )
-autobind [ 0 locks=0 ] ( "on" )
-bindings [ 0 locks=0 ] ( 0 )
-groupautobind [ 0 locks=0 ] ( "on" )
-groupbindings [ 0 locks=0 ] ( 0 )
-vex_cwdpath [ 0 locks=0 ] ( . )
-vex_outputmask [ 0 locks=0 ] ( * )
-vex_updatenmls [ 0 locks=0 ] ( "off" )
-vex_matchattrib [ 0 locks=0 ] ( id )
-vex_inplace [ 0 locks=0 ] ( "off" )
-vex_selectiongroup [ 0 locks=0 ] ( "" )
-folder1 [ 0 locks=0 ] ( 0 0 )
-seed [ 0 locks=0 ] ( [ seed 0 ] )
-min [ 0 locks=0 ] ( [ minx -0.20000000000000001 ] [ miny -0.20000000000000001 ] [ minz -0.20000000000000001 ] )
-max [ 0 locks=0 ] ( [ maxx 0.20000000000000001 ] [ maxy 0.20000000000000001 ] [ maxz 0.20000000000000001 ] )
-local [ 8 locks=0 ] ( [ local 1 ] )
+exportlist [ 0 locks=0 autoscope=0 ] ( * )
+vex_strict [ 0 locks=0 autoscope=0 ] ( "off" )
+autobind [ 0 locks=0 autoscope=0 ] ( "on" )
+bindings [ 0 locks=0 autoscope=0 ] ( 1 )
+groupautobind [ 0 locks=0 autoscope=0 ] ( "on" )
+groupbindings [ 0 locks=0 autoscope=0 ] ( 0 )
+vex_cwdpath [ 0 locks=0 autoscope=0 ] ( . )
+vex_outputmask [ 0 locks=0 autoscope=0 ] ( * )
+vex_updatenmls [ 0 locks=0 autoscope=0 ] ( "off" )
+vex_matchattrib [ 0 locks=0 autoscope=0 ] ( id )
+vex_inplace [ 0 locks=0 autoscope=0 ] ( "off" )
+vex_selectiongroup [ 0 locks=0 autoscope=0 ] ( "" )
+vex_precision [ 0 locks=0 autoscope=0 ] ( auto )
+folder1 [ 0 locks=0 autoscope=0 ] ( 1 1 )
+seed [ 0 locks=0 autoscope=0 ] ( [ seed 0 ] )
+min [ 0 locks=0 autoscope=0 ] ( [ minx 0 ] [ miny 0 ] [ minz 0 ] )
+max [ 0 locks=0 autoscope=0 ] ( [ maxx 0 ] [ maxy 0 ] [ maxz 0 ] )
+local [ 0 locks=0 autoscope=0 ] ( [ local 0 ] )
+bindname1 [ 0 locks=0 autoscope=0 ] ( [ bindname1 "" ] )
+bindparm1 [ 0 locks=0 autoscope=0 ] ( id )
}
--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
@@ -1793,7 +1853,7 @@ outputsNamed3
}
inputsNamed3
{
-1 attribswap1 1 1 "input1"
+1 attribswap1 0 1 "input1"
}
inputs
{
@@ -1801,8 +1861,8 @@ inputs
}
stat
{
- create 1528499331
- modify 1565235763
+ create 1584163374
+ modify 1584163382
author Henry@LAPPY586
access 0777
}
@@ -1828,7 +1888,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"17.5.229"
+ "value":"18.0.391"
}
}
@@ -1854,8 +1914,8 @@ outputsNamed3
}
inputsNamed3
{
-1 init_values 1 1 "input1"
-2 randomize_P 1 1 "input2"
+1 init_values 0 1 "input1"
+2 randomize_P 0 1 "input2"
}
inputs
{
@@ -1864,8 +1924,8 @@ inputs
}
stat
{
- create 1528499331
- modify 1573531733
+ create 1584163374
+ modify 1584163384
author Henry@LAPPY586
access 0777
}
@@ -1903,7 +1963,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"17.5.229"
+ "value":"18.0.391"
}
}
@@ -1939,8 +1999,8 @@ inputs
}
stat
{
- create 1528499331
- modify 1573531733
+ create 1584163374
+ modify 1584163384
author Henry@LAPPY586
access 0777
}
@@ -1978,7 +2038,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"17.5.229"
+ "value":"18.0.391"
}
}
@@ -2014,8 +2074,8 @@ inputs
}
stat
{
- create 1528499331
- modify 1573531733
+ create 1584163374
+ modify 1584163384
author Henry@LAPPY586
access 0777
}
@@ -2053,7 +2113,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"17.5.229"
+ "value":"18.0.391"
}
}
@@ -2078,7 +2138,7 @@ outputsNamed3
}
inputsNamed3
{
-0 attribswap2 1 1 "input1"
+0 attribswap2 0 1 "input1"
}
inputs
{
@@ -2086,8 +2146,8 @@ inputs
}
stat
{
- create 1528499331
- modify 1565235814
+ create 1584163374
+ modify 1584163388
author Henry@LAPPY586
access 0777
}
@@ -2112,7 +2172,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"17.5.229"
+ "value":"18.0.391"
}
}
@@ -2148,8 +2208,8 @@ inputs
}
stat
{
- create 1528499331
- modify 1573531733
+ create 1584163374
+ modify 1584163384
author Henry@LAPPY586
access 0777
}
@@ -2187,7 +2247,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"17.5.229"
+ "value":"18.0.391"
}
}
@@ -2209,12 +2269,12 @@ connectornextid 3
flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
outputsNamed3
{
-0 "output1"
+2 "output1"
}
inputsNamed3
{
-1 Apply_Attributes1 0 1 "input1"
-2 Combine_Falloffs1 2 1 "input2"
+0 Apply_Attributes1 2 1 "input1"
+1 Combine_Falloffs1 2 1 "input2"
}
inputs
{
@@ -2223,8 +2283,8 @@ inputs
}
stat
{
- create 1528499331
- modify 1573531733
+ create 1584163374
+ modify 1584163384
author Henry@LAPPY586
access 0777
}
@@ -2262,7 +2322,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"17.5.229"
+ "value":"18.0.391"
}
}
@@ -2284,12 +2344,12 @@ connectornextid 3
flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
outputsNamed3
{
-2 "output1"
+0 "output1"
}
inputsNamed3
{
-0 MOPS_IN 0 1 "input1"
-1 enumerate1 1 1 "input2"
+1 MOPS_IN 0 1 "input1"
+2 enumerate1 0 1 "input2"
}
inputs
{
@@ -2298,9 +2358,9 @@ inputs
}
stat
{
- create 1541964861
- modify 1573531733
- author henry_foster@mvp-production2-mac03.local
+ create 1584163374
+ modify 1584163384
+ author Henry@LAPPY586
access 0777
}
color UT_Color RGB 0.8 1 0.7
@@ -2327,7 +2387,7 @@ Content-Type: text/plain
{
version 0.8
-input [ 8 locks=0 ] ( [ input 0 ] )
+input [ 0 locks=0 autoscope=0 ] ( [ input 0 ] )
}
--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
@@ -2337,7 +2397,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"17.5.229"
+ "value":"18.0.391"
}
}
@@ -2359,11 +2419,11 @@ connectornextid 2
flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
outputsNamed3
{
-1 "output1"
+0 "output1"
}
inputsNamed3
{
-0 MOPS_IN 0 1 "input1"
+1 MOPS_IN 0 1 "input1"
}
inputs
{
@@ -2371,9 +2431,9 @@ inputs
}
stat
{
- create 1541964870
- modify 1541964932
- author henry_foster@mvp-production2-mac03.local
+ create 1584163374
+ modify 1584163392
+ author Henry@LAPPY586
access 0777
}
color UT_Color RGB 0.8 0.8 0.8
@@ -2387,9 +2447,13 @@ Content-Type: text/plain
{
version 0.8
-group [ 0 locks=0 ] ( "" )
-grouptype [ 0 locks=0 ] ( "point" )
-attribname [ 0 locks=0 ] ( id )
+group [ 0 locks=0 autoscope=0 ] ( "" )
+grouptype [ 0 locks=0 autoscope=0 ] ( "point" )
+usepieceattrib [ 0 locks=0 autoscope=0 ] ( "off" )
+pieceattrib [ 0 locks=0 autoscope=0 ] ( name )
+attribname [ 0 locks=0 autoscope=0 ] ( id )
+attribtype [ 0 locks=0 autoscope=0 ] ( "int" )
+prefix [ 0 locks=0 autoscope=0 ] ( piece )
}
--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
@@ -2399,7 +2463,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"17.5.229"
+ "value":"18.0.391"
}
}
@@ -2421,11 +2485,11 @@ connectornextid 2
flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
outputsNamed3
{
-1 "output1"
+0 "output1"
}
inputsNamed3
{
-0 (0) "" 1 "input1"
+1 (0) "" 1 "input1"
}
inputs
{
@@ -2433,8 +2497,8 @@ inputs
}
stat
{
- create 1565235763
- modify 1573531733
+ create 1584163374
+ modify 1584163398
author Henry@LAPPY586
access 0777
}
@@ -2451,7 +2515,6 @@ Content-Type: text/plain
channel srcattribs1 {
lefttype = extend
righttype = extend
- defaultString = \"mops_falloff\"
flags = 0
segment { length = 0 expr = chs(\"../falloff_attr\") }
}
@@ -2463,13 +2526,13 @@ Content-Type: text/plain
{
version 0.8
-numswaps [ 0 locks=0 ] ( 1 )
-enable1 [ 0 locks=0 ] ( "on" )
-method1 [ 0 locks=0 ] ( "swap" )
-class1 [ 0 locks=0 ] ( "point" )
-srcattribs1 [ 0 locks=0 ] ( [ srcattribs1 mops_falloff ] )
-dstattribs1 [ 0 locks=0 ] ( mops_falloff )
-typeinfo1 [ 0 locks=0 ] ( "dest" )
+numswaps [ 0 locks=0 autoscope=0 ] ( 1 )
+enable1 [ 0 locks=0 autoscope=0 ] ( "on" )
+method1 [ 0 locks=0 autoscope=0 ] ( "swap" )
+class1 [ 0 locks=0 autoscope=0 ] ( "point" )
+srcattribs1 [ 0 locks=0 autoscope=0 ] ( [ srcattribs1 "" ] )
+dstattribs1 [ 0 locks=0 autoscope=0 ] ( mops_falloff )
+typeinfo1 [ 0 locks=0 autoscope=0 ] ( "dest" )
}
--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
@@ -2479,7 +2542,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"17.5.229"
+ "value":"18.0.391"
}
}
@@ -2501,11 +2564,11 @@ connectornextid 2
flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
outputsNamed3
{
-1 "output1"
+0 "output1"
}
inputsNamed3
{
-0 switch_do_falloff 0 1 "input1"
+1 switch_do_falloff 2 1 "input1"
}
inputs
{
@@ -2513,8 +2576,8 @@ inputs
}
stat
{
- create 1565235814
- modify 1573531733
+ create 1584163374
+ modify 1584163395
author Henry@LAPPY586
access 0777
}
@@ -2529,13 +2592,13 @@ Content-Type: text/plain
{
version 0.8
-numswaps [ 0 locks=0 ] ( 1 )
-enable1 [ 0 locks=0 ] ( "on" )
-method1 [ 0 locks=0 ] ( "swap" )
-class1 [ 0 locks=0 ] ( "point" )
-srcattribs1 [ 0 locks=0 ] ( mops_falloff )
-dstattribs1 [ 0 locks=0 ] ( `chs(\"../attribswap1/srcattribs1\")` )
-typeinfo1 [ 0 locks=0 ] ( "dest" )
+numswaps [ 0 locks=0 autoscope=0 ] ( 1 )
+enable1 [ 0 locks=0 autoscope=0 ] ( "on" )
+method1 [ 0 locks=0 autoscope=0 ] ( "swap" )
+class1 [ 0 locks=0 autoscope=0 ] ( "point" )
+srcattribs1 [ 0 locks=0 autoscope=0 ] ( mops_falloff )
+dstattribs1 [ 0 locks=0 autoscope=0 ] ( `chs(\"../attribswap1/srcattribs1\")` )
+typeinfo1 [ 0 locks=0 autoscope=0 ] ( "dest" )
}
--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
@@ -2545,7 +2608,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"17.5.229"
+ "value":"18.0.391"
}
}
diff --git a/otls/MOPS_Randomize.hda/MOPS_8_8Sop_1Randomize_8_81.1/DialogScript b/otls/MOPS_Randomize.hda/MOPS_8_8Sop_1Randomize_8_81.1/DialogScript
index e911fefb..df1555b5 100644
--- a/otls/MOPS_Randomize.hda/MOPS_8_8Sop_1Randomize_8_81.1/DialogScript
+++ b/otls/MOPS_Randomize.hda/MOPS_8_8Sop_1Randomize_8_81.1/DialogScript
@@ -68,6 +68,15 @@
type separator
default { "" }
}
+ parm {
+ name "seed_attr"
+ label "Seed Attribute"
+ type string
+ default { "id" }
+ range { 0 1 }
+ parmtag { "autoscope" "0000000000000000" }
+ parmtag { "script_callback_language" "python" }
+ }
parm {
name "local_space"
label "Local Space"
@@ -178,6 +187,15 @@
range { 0 1 }
parmtag { "autoscope" "0000000000000000" }
}
+ parm {
+ name "rotation_scale"
+ label "Rotation Multiplier"
+ type float
+ default { "1" }
+ range { 0 1 }
+ parmtag { "autoscope" "0000000000000000" }
+ parmtag { "script_callback_language" "python" }
+ }
parm {
name "order"
label "Rotate Order"
@@ -362,6 +380,7 @@
name "useseedattrib"
label "Use Seed Attribute"
type toggle
+ invisible
nolabel
joinnext
default { "off" }
@@ -372,6 +391,7 @@
name "seedattrib"
label "Seed Attribute"
type string
+ invisible
default { "id" }
disablewhen "{ useseedattrib == 0 }"
range { 0 1 }
diff --git a/otls/MOPS_Randomize.hda/MOPS_8_8Sop_1Randomize_8_81.1/ExtraFileOptions b/otls/MOPS_Randomize.hda/MOPS_8_8Sop_1Randomize_8_81.1/ExtraFileOptions
index 5dde6aad..50ed9033 100644
--- a/otls/MOPS_Randomize.hda/MOPS_8_8Sop_1Randomize_8_81.1/ExtraFileOptions
+++ b/otls/MOPS_Randomize.hda/MOPS_8_8Sop_1Randomize_8_81.1/ExtraFileOptions
@@ -19,6 +19,10 @@
"type":"string",
"value":""
},
+ "ViewerStateModule/CodeGenInput":{
+ "type":"string",
+ "value":"{\n\t\"state_name\":\"\",\n\t\"state_label\":\"\",\n\t\"state_descr\":\"\",\n\t\"state_icon\":\"$HH/config/Icons\",\n\t\"state_debug_menu\":0,\n\t\"state_sample\":0,\n\t\"state_handler_indices\":[]\n}\n"
+ },
"mops_modifier_02.svg/Cursor":{
"type":"intarray",
"value":[1,1]
diff --git a/otls/MOPS_Randomize.hda/MOPS_8_8Sop_1Randomize_8_81.1/Help b/otls/MOPS_Randomize.hda/MOPS_8_8Sop_1Randomize_8_81.1/Help
index afd20667..01c73bdf 100644
--- a/otls/MOPS_Randomize.hda/MOPS_8_8Sop_1Randomize_8_81.1/Help
+++ b/otls/MOPS_Randomize.hda/MOPS_8_8Sop_1Randomize_8_81.1/Help
@@ -23,6 +23,10 @@ Enable Falloff:
Falloff Attribute:
#id: falloff_attr
The point attribute to use as the falloff attribute.
+
+Seed Attribute:
+ #id: seed_attr
+ The point attribute to use as the offset to the Random Seed attributes.
Randomize Position:
#id: do_P
diff --git a/otls/MOPS_Randomize.hda/MOPS_8_8Sop_1Randomize_8_81.1/TypePropertiesOptions b/otls/MOPS_Randomize.hda/MOPS_8_8Sop_1Randomize_8_81.1/TypePropertiesOptions
index b4811492..a6d52acf 100644
--- a/otls/MOPS_Randomize.hda/MOPS_8_8Sop_1Randomize_8_81.1/TypePropertiesOptions
+++ b/otls/MOPS_Randomize.hda/MOPS_8_8Sop_1Randomize_8_81.1/TypePropertiesOptions
@@ -1,14 +1,14 @@
-SaveSpareParms := 0;
CheckExternal := 1;
-SaveIcon := 1;
-GzipContents := 1;
ContentsCompressionType := 1;
-UnlockOnCreate := 0;
-SaveCachedCode := 0;
+ForbidOutsideParms := 1;
+GzipContents := 1;
LockContents := 1;
MakeDefault := 1;
-UseDSParms := 1;
-ForbidOutsideParms := 1;
+ParmsFromVfl := 0;
PrefixDroppedParmLabel := 0;
PrefixDroppedParmName := 0;
-ParmsFromVfl := 0;
+SaveCachedCode := 0;
+SaveIcon := 1;
+SaveSpareParms := 0;
+UnlockOnCreate := 0;
+UseDSParms := 1;
diff --git a/otls/MOPS_Shape_Falloff.hda/INDEX__SECTION b/otls/MOPS_Shape_Falloff.hda/INDEX__SECTION
index 60e438a3..7d403ca5 100644
--- a/otls/MOPS_Shape_Falloff.hda/INDEX__SECTION
+++ b/otls/MOPS_Shape_Falloff.hda/INDEX__SECTION
@@ -24,7 +24,7 @@ Inputs: 1 to 2
Subnet: true
Python: false
Empty: false
-Modified: Tue Nov 27 04:47:41 2018
+Modified: Fri Nov 23 11:47:41 2018
Operator: MOPS::Shape_Falloff::1.2
Label: MOPs Shape Falloff
@@ -38,7 +38,7 @@ Inputs: 1 to 2
Subnet: true
Python: false
Empty: false
-Modified: Wed Feb 27 05:38:19 2019
+Modified: Sat Feb 23 12:38:19 2019
Operator: MOPS::Shape_Falloff::1.3
Label: MOPs Shape Falloff
@@ -66,5 +66,5 @@ Inputs: 1 to 2
Subnet: true
Python: false
Empty: false
-Modified: Sat Feb 1 10:33:42 2020
+Modified: Tue Mar 10 17:35:13 2020
diff --git a/otls/MOPS_Shape_Falloff.hda/MOPS_8_8Sop_1Shape__Falloff_8_81.4/Contents.dir/.OPdummydefs b/otls/MOPS_Shape_Falloff.hda/MOPS_8_8Sop_1Shape__Falloff_8_81.4/Contents.dir/.OPdummydefs
index 16fed17a..e2e1496c 100644
Binary files a/otls/MOPS_Shape_Falloff.hda/MOPS_8_8Sop_1Shape__Falloff_8_81.4/Contents.dir/.OPdummydefs and b/otls/MOPS_Shape_Falloff.hda/MOPS_8_8Sop_1Shape__Falloff_8_81.4/Contents.dir/.OPdummydefs differ
diff --git a/otls/MOPS_Shape_Falloff.hda/MOPS_8_8Sop_1Shape__Falloff_8_81.4/Contents.dir/.OPfallbacks b/otls/MOPS_Shape_Falloff.hda/MOPS_8_8Sop_1Shape__Falloff_8_81.4/Contents.dir/.OPfallbacks
index a98f368b..6a81733e 100644
--- a/otls/MOPS_Shape_Falloff.hda/MOPS_8_8Sop_1Shape__Falloff_8_81.4/Contents.dir/.OPfallbacks
+++ b/otls/MOPS_Shape_Falloff.hda/MOPS_8_8Sop_1Shape__Falloff_8_81.4/Contents.dir/.OPfallbacks
@@ -1,5 +1,5 @@
-MOPS::Sop/Apply_Attributes::1.0 C:/Users/Henry/Projects/VFX/MOPS_Prime/otls/MOPSDOPS_applyAttributes.hda
-MOPS::Sop/Apply_Attributes::1.0 otls/MOPSDOPS_applyAttributes.hda
+MOPS::Sop/Apply_Attributes::1.0 C:/Users/Henry/Projects/VFX/MOPS_Prime/otls/MOPS_applyAttributes.hda
+MOPS::Sop/Apply_Attributes::1.0 otls/MOPS_applyAttributes.hda
MOPS::Sop/Combine_Falloffs::1.0 C:/Users/Henry/Projects/VFX/MOPS_Prime/otls/MOPS_Combine_Falloffs.hda
MOPS::Sop/Combine_Falloffs::1.0 otls/MOPS_Combine_Falloffs.hda
MOPS::Sop/Extract_Attributes::1.0 C:/Users/Henry/Projects/VFX/MOPS_Prime/otls/MOPS_extractAttributes.hda
@@ -12,53 +12,53 @@ MOPS::Sop/Remap_Falloff::1.0 C:/Users/Henry/Projects/VFX/MOPS_Prime/otls/MOPS_Re
MOPS::Sop/Remap_Falloff::1.0 otls/MOPS_Remap_Falloff.hda
MOPS::Sop/Transform_Modifier::1.0 C:/Users/Henry/Projects/VFX/MOPS_Prime/otls/MOPS_transform.hda
MOPS::Sop/Transform_Modifier::1.0 otls/MOPS_transform.hda
-Sop/attribdelete C:/PROGRA~1/SIDEEF~1/HOUDIN~1.348/houdini/otls/OPlibSop.hda
+Sop/attribdelete C:/PROGRA~1/SIDEEF~1/HOUDIN~1.391/houdini/otls/OPlibSop.hda
Sop/attribdelete otls/OPlibSop.hda
-Sop/attribwrangle C:/PROGRA~1/SIDEEF~1/HOUDIN~1.348/houdini/otls/OPlibSop.hda
+Sop/attribwrangle C:/PROGRA~1/SIDEEF~1/HOUDIN~1.391/houdini/otls/OPlibSop.hda
Sop/attribwrangle otls/OPlibSop.hda
-Vop/avgcomp C:/PROGRA~1/SIDEEF~1/HOUDIN~1.348/houdini/otls/OPlibScripted.hda
+Vop/avgcomp C:/PROGRA~1/SIDEEF~1/HOUDIN~1.391/houdini/otls/OPlibScripted.hda
Vop/avgcomp otls/OPlibScripted.hda
-Vop/clamp C:/PROGRA~1/SIDEEF~1/HOUDIN~1.348/houdini/otls/OPlibScripted.hda
+Vop/clamp C:/PROGRA~1/SIDEEF~1/HOUDIN~1.391/houdini/otls/OPlibScripted.hda
Vop/clamp otls/OPlibScripted.hda
-Vop/floattohvec C:/PROGRA~1/SIDEEF~1/HOUDIN~1.348/houdini/otls/OPlibScripted.hda
+Vop/floattohvec C:/PROGRA~1/SIDEEF~1/HOUDIN~1.391/houdini/otls/OPlibScripted.hda
Vop/floattohvec otls/OPlibScripted.hda
-Vop/floattovec C:/PROGRA~1/SIDEEF~1/HOUDIN~1.348/houdini/otls/OPlibScripted.hda
+Vop/floattovec C:/PROGRA~1/SIDEEF~1/HOUDIN~1.391/houdini/otls/OPlibScripted.hda
Vop/floattovec otls/OPlibScripted.hda
-Vop/geometryvopglobal::2.0 C:/PROGRA~1/SIDEEF~1/HOUDIN~1.348/houdini/otls/OPlibVop.hda
+Vop/geometryvopglobal::2.0 C:/PROGRA~1/SIDEEF~1/HOUDIN~1.391/houdini/otls/OPlibVop.hda
Vop/geometryvopglobal::2.0 otls/OPlibVop.hda
-Vop/geometryvopoutput C:/PROGRA~1/SIDEEF~1/HOUDIN~1.348/houdini/otls/OPlibVop.hda
+Vop/geometryvopoutput C:/PROGRA~1/SIDEEF~1/HOUDIN~1.391/houdini/otls/OPlibVop.hda
Vop/geometryvopoutput otls/OPlibVop.hda
-Vop/hvectovec C:/PROGRA~1/SIDEEF~1/HOUDIN~1.348/houdini/otls/OPlibScripted.hda
+Vop/hvectovec C:/PROGRA~1/SIDEEF~1/HOUDIN~1.391/houdini/otls/OPlibScripted.hda
Vop/hvectovec otls/OPlibScripted.hda
-Vop/inttofloat C:/PROGRA~1/SIDEEF~1/HOUDIN~1.348/houdini/otls/OPlibScripted.hda
+Vop/inttofloat C:/PROGRA~1/SIDEEF~1/HOUDIN~1.391/houdini/otls/OPlibScripted.hda
Vop/inttofloat otls/OPlibScripted.hda
-Vop/invert C:/PROGRA~1/SIDEEF~1/HOUDIN~1.348/houdini/otls/OPlibScripted.hda
+Vop/invert C:/PROGRA~1/SIDEEF~1/HOUDIN~1.391/houdini/otls/OPlibScripted.hda
Vop/invert otls/OPlibScripted.hda
-Vop/isconnected C:/PROGRA~1/SIDEEF~1/HOUDIN~1.348/houdini/otls/OPlibScripted.hda
+Vop/isconnected C:/PROGRA~1/SIDEEF~1/HOUDIN~1.391/houdini/otls/OPlibScripted.hda
Vop/isconnected otls/OPlibScripted.hda
-Vop/lighting C:/PROGRA~1/SIDEEF~1/HOUDIN~1.348/houdini/otls/OPlibScripted.hda
+Vop/lighting C:/PROGRA~1/SIDEEF~1/HOUDIN~1.391/houdini/otls/OPlibScripted.hda
Vop/lighting otls/OPlibScripted.hda
-Vop/mix C:/PROGRA~1/SIDEEF~1/HOUDIN~1.348/houdini/otls/OPlibScripted.hda
+Vop/mix C:/PROGRA~1/SIDEEF~1/HOUDIN~1.391/houdini/otls/OPlibScripted.hda
Vop/mix otls/OPlibScripted.hda
-Vop/modulo C:/PROGRA~1/SIDEEF~1/HOUDIN~1.348/houdini/otls/OPlibScripted.hda
+Vop/modulo C:/PROGRA~1/SIDEEF~1/HOUDIN~1.391/houdini/otls/OPlibScripted.hda
Vop/modulo otls/OPlibScripted.hda
-Vop/primintrinsic C:/PROGRA~1/SIDEEF~1/HOUDIN~1.348/houdini/otls/OPlibScripted.hda
+Vop/primintrinsic C:/PROGRA~1/SIDEEF~1/HOUDIN~1.391/houdini/otls/OPlibScripted.hda
Vop/primintrinsic otls/OPlibScripted.hda
-Vop/renderstate C:/PROGRA~1/SIDEEF~1/HOUDIN~1.348/houdini/otls/OPlibScripted.hda
+Vop/renderstate C:/PROGRA~1/SIDEEF~1/HOUDIN~1.391/houdini/otls/OPlibScripted.hda
Vop/renderstate otls/OPlibScripted.hda
-Vop/sprite C:/PROGRA~1/SIDEEF~1/HOUDIN~1.348/houdini/otls/OPlibScripted.hda
+Vop/sprite C:/PROGRA~1/SIDEEF~1/HOUDIN~1.391/houdini/otls/OPlibScripted.hda
Vop/sprite otls/OPlibScripted.hda
-Sop/sprite C:/PROGRA~1/SIDEEF~1/HOUDIN~1.348/houdini/otls/OPlibSop.hda
+Sop/sprite C:/PROGRA~1/SIDEEF~1/HOUDIN~1.391/houdini/otls/OPlibSop.hda
Sop/sprite otls/OPlibSop.hda
-Vop/subconst C:/PROGRA~1/SIDEEF~1/HOUDIN~1.348/houdini/otls/OPlibScripted.hda
+Vop/subconst C:/PROGRA~1/SIDEEF~1/HOUDIN~1.391/houdini/otls/OPlibScripted.hda
Vop/subconst otls/OPlibScripted.hda
-Vop/surfacecolor C:/PROGRA~1/SIDEEF~1/HOUDIN~1.348/houdini/otls/OPlibVop.hda
+Vop/surfacecolor C:/PROGRA~1/SIDEEF~1/HOUDIN~1.391/houdini/otls/OPlibVop.hda
Vop/surfacecolor otls/OPlibVop.hda
-Vop/texture C:/PROGRA~1/SIDEEF~1/HOUDIN~1.348/houdini/otls/OPlibScripted.hda
+Vop/texture C:/PROGRA~1/SIDEEF~1/HOUDIN~1.391/houdini/otls/OPlibScripted.hda
Vop/texture otls/OPlibScripted.hda
-Vop/twoway C:/PROGRA~1/SIDEEF~1/HOUDIN~1.348/houdini/otls/OPlibScripted.hda
+Vop/twoway C:/PROGRA~1/SIDEEF~1/HOUDIN~1.391/houdini/otls/OPlibScripted.hda
Vop/twoway otls/OPlibScripted.hda
-Vop/uvcoords C:/PROGRA~1/SIDEEF~1/HOUDIN~1.348/houdini/otls/OPlibVop.hda
+Vop/uvcoords C:/PROGRA~1/SIDEEF~1/HOUDIN~1.391/houdini/otls/OPlibVop.hda
Vop/uvcoords otls/OPlibVop.hda
-Vop/vectofloat C:/PROGRA~1/SIDEEF~1/HOUDIN~1.348/houdini/otls/OPlibScripted.hda
+Vop/vectofloat C:/PROGRA~1/SIDEEF~1/HOUDIN~1.391/houdini/otls/OPlibScripted.hda
Vop/vectofloat otls/OPlibScripted.hda
diff --git a/otls/MOPS_Shape_Falloff.hda/MOPS_8_8Sop_1Shape__Falloff_8_81.4/Contents.dir/Contents.mime b/otls/MOPS_Shape_Falloff.hda/MOPS_8_8Sop_1Shape__Falloff_8_81.4/Contents.dir/Contents.mime
index 3606043e..4ec91c8e 100644
--- a/otls/MOPS_Shape_Falloff.hda/MOPS_8_8Sop_1Shape__Falloff_8_81.4/Contents.dir/Contents.mime
+++ b/otls/MOPS_Shape_Falloff.hda/MOPS_8_8Sop_1Shape__Falloff_8_81.4/Contents.dir/Contents.mime
@@ -32,7 +32,7 @@ Content-Type: text/plain
sopflags sopflags =
comment ""
-position 1.03098 -8.3014
+position 1.76961 -0.587418
connectornextid 1
flags = lock off model off template off footprint off xray off bypass off display on render on highlight off unload off savedata off compress on colordefault on exposed on
outputsNamed3
@@ -40,16 +40,16 @@ outputsNamed3
}
inputsNamed3
{
-0 MOPs_Instancer1 1 1 "input1"
+0 transform1 1 1 "input1"
}
inputs
{
-0 MOPs_Instancer1 0 1
+0 transform1 0 1
}
stat
{
- create 1580581731
- modify 1580582708
+ create 1583877262
+ modify 1583886928
author Henry@LAPPY586
access 0777
}
@@ -74,8 +74,8 @@ Content-Disposition: attachment; filename="hdaroot.inp"
Content-Type: text/plain
2
-0 -6.2283199888241292 10.074337120629213 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
-1 0.66787401117587075 14.34687149158219 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+0 -6.2283199888241292 10.968537120629213 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+1 0.66787401117587075 15.24107149158219 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
Content-Disposition: attachment; filename="hdaroot/falloff_linear.init"
@@ -90,7 +90,7 @@ Content-Type: text/plain
sopflags sopflags =
comment ""
-position -3.35944 -0.4544
+position -3.35944 0.4398
connectornextid 3
flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
outputsNamed3
@@ -110,7 +110,7 @@ inputs
stat
{
create 1524060597
- modify 1580581732
+ modify 1583877263
author Henry@LAPPY586
access 0777
}
@@ -183,7 +183,7 @@ Content-Type: text/plain
sopflags sopflags =
comment ""
-position 0.667874 8.30067
+position 0.667874 9.19487
connectornextid 2
flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
outputsNamed3
@@ -201,7 +201,7 @@ inputs
stat
{
create 1524060597
- modify 1580581732
+ modify 1583877263
author Henry@LAPPY586
access 0777
}
@@ -283,22 +283,22 @@ Content-Type: text/plain
{
version 0.8
-group [ 0 locks=0 autoscope=0 ] ( "" )
+group [ 0 locks=0 ] ( "" )
grouptype [ 0 locks=0 ] ( "guess" )
ignore_no_falloff [ 0 locks=0 autoscope=0 ] ( "off" )
-local [ 0 locks=0 autoscope=0 ] ( "on" )
-translate [ 0 locks=0 autoscope=0 ] ( [ translatex 0 ] [ translatey 0 ] [ translatez 0 ] )
-rotate [ 0 locks=0 autoscope=0 ] ( [ rotatex 0 ] [ rotatey 0 ] [ rotatez 0 ] )
-scale [ 0 locks=0 autoscope=0 ] ( [ scalex 1 ] [ scaley 1 ] [ scalez 1 ] )
+local [ 0 locks=0 ] ( "on" )
+translate [ 0 locks=0 autoscope=0 ] ( [ translatex 0.00051808357238769531 ] [ translatey 0.00063776969909667969 ] [ translatez 0.00077533721923828125 ] )
+rotate [ 0 locks=0 autoscope=0 ] ( [ rotatex -237.19507377843388 ] [ rotatey -4.7846201356394849 ] [ rotatez -43.615646017155349 ] )
+scale [ 0 locks=0 autoscope=0 ] ( [ scalex 0.050000302493572235 ] [ scaley 0.46294495463371277 ] [ scalez 3.9535884857177734 ] )
uniform_scale [ 0 locks=0 autoscope=0 ] ( [ uniform_scale 1 ] )
-pivot [ 0 locks=0 autoscope=0 ] ( 0 0 0 )
+pivot [ 0 locks=0 ] ( 0 0 0 )
do_weight [ 0 locks=0 autoscope=0 ] ( "off" )
-do_vexpression [ 0 locks=0 autoscope=0 ] ( "off" )
+do_vexpression [ 0 locks=0 ] ( "off" )
vexpression [ 0 locks=0 autoscope=0 ] ( "" )
-rotate_mode [ 0 locks=0 autoscope=0 ] ( 0 )
-scale_mode [ 0 locks=0 autoscope=0 ] ( 0 )
-rotate_order [ 0 locks=0 autoscope=0 ] ( 0 )
-pivot_mode [ 0 locks=0 autoscope=0 ] ( 0 )
+rotate_mode [ 0 locks=0 ] ( 0 )
+scale_mode [ 0 locks=0 ] ( 0 )
+rotate_order [ 0 locks=0 ] ( 0 )
+pivot_mode [ 0 locks=0 ] ( 0 )
}
--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
@@ -325,9 +325,9 @@ Content-Type: text/plain
sopflags sopflags =
comment ""
-position -21.7709 -8.18011
+position -21.7709 -7.28591
connectornextid 3
-flags = lock off model off template off footprint off xray off bypass off display on render on highlight off unload off savedata off compress on colordefault on exposed on
+flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
outputsNamed3
{
2 "output1"
@@ -345,7 +345,7 @@ inputs
stat
{
create 1524060597
- modify 1580581926
+ modify 1583877263
author Henry@LAPPY586
access 0777
}
@@ -407,7 +407,7 @@ Content-Type: text/plain
sopflags sopflags =
comment ""
-position -3.35644 -4.94311
+position -3.35644 -4.04891
connectornextid 2
flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
outputsNamed3
@@ -425,7 +425,7 @@ inputs
stat
{
create 1524060597
- modify 1580581732
+ modify 1583877263
author Henry@LAPPY586
access 0777
}
@@ -615,7 +615,7 @@ Content-Type: text/plain
sopflags sopflags =
comment ""
-position 0.925438 -0.4544
+position 0.925438 0.4398
connectornextid 3
flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
outputsNamed3
@@ -635,7 +635,7 @@ inputs
stat
{
create 1524060597
- modify 1580581732
+ modify 1583877263
author Henry@LAPPY586
access 0777
}
@@ -657,7 +657,7 @@ Content-Type: text/plain
baseparm
label "Group"
export none
- bindselector points "Modify Points"
+ bindselector uvselect "Modify Points"
"Select the points to affect and press Enter to complete."
0 1 0xffffffff 0 grouptype 0
}
@@ -908,7 +908,7 @@ Content-Type: text/plain
sopflags sopflags =
comment ""
-position 5.38571 -0.4544
+position 5.38571 0.4398
connectornextid 3
flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
outputsNamed3
@@ -928,7 +928,7 @@ inputs
stat
{
create 1524060597
- modify 1580581732
+ modify 1583877263
author Henry@LAPPY586
access 0777
}
@@ -950,7 +950,7 @@ Content-Type: text/plain
baseparm
label "Group"
export none
- bindselector points "Modify Points"
+ bindselector uvselect "Modify Points"
"Select the points to affect and press Enter to complete."
0 1 0xffffffff 0 grouptype 0
}
@@ -1223,7 +1223,7 @@ Content-Type: text/plain
sopflags sopflags =
comment ""
-position 9.67642 -0.4534
+position 9.67642 0.4408
connectornextid 3
flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
outputsNamed3
@@ -1243,7 +1243,7 @@ inputs
stat
{
create 1524060597
- modify 1580581732
+ modify 1583877263
author Henry@LAPPY586
access 0777
}
@@ -1265,7 +1265,7 @@ Content-Type: text/plain
baseparm
label "Group"
export none
- bindselector points "Modify Points"
+ bindselector uvselect "Modify Points"
"Select the points to affect and press Enter to complete."
0 1 0xffffffff 0 grouptype 0
}
@@ -1534,7 +1534,7 @@ Content-Type: text/plain
sopflags sopflags =
comment ""
-position -4.49467 -6.44926
+position -4.49467 -5.55506
connectornextid 3
flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
outputsNamed3
@@ -1554,7 +1554,7 @@ inputs
stat
{
create 1524060597
- modify 1580581732
+ modify 1583877263
author Henry@LAPPY586
access 0777
}
@@ -1655,7 +1655,7 @@ Content-Type: text/plain
sopflags sopflags =
comment ""
-position 13.1124 -0.4534
+position 13.1124 0.4408
connectornextid 3
flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
outputsNamed3
@@ -1675,7 +1675,7 @@ inputs
stat
{
create 1524060597
- modify 1580581732
+ modify 1583877263
author Henry@LAPPY586
access 0777
}
@@ -1697,7 +1697,7 @@ Content-Type: text/plain
baseparm
label "Group"
export none
- bindselector points "Modify Points"
+ bindselector uvselect "Modify Points"
"Select the points to affect and press Enter to complete."
0 1 0xffffffff 0 grouptype 0
}
@@ -1971,7 +1971,7 @@ Content-Type: text/plain
sopflags sopflags =
comment ""
-position -3.10239 -7.77335
+position -3.10239 -6.87915
connectornextid 2
flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
outputsNamed3
@@ -1989,7 +1989,7 @@ inputs
stat
{
create 1524060598
- modify 1580581732
+ modify 1583877263
author Henry@LAPPY586
access 0777
}
@@ -2050,7 +2050,7 @@ Content-Type: text/plain
sopflags sopflags =
comment ""
-position -4.49467 -11.2221
+position -4.49467 -10.0635
connectornextid 2
flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
outputsNamed3
@@ -2068,7 +2068,7 @@ inputs
stat
{
create 1536023588
- modify 1580581732
+ modify 1583877263
author Henry@LAPPY586
access 0777
}
@@ -2360,7 +2360,7 @@ Content-Type: text/plain
sopflags sopflags =
comment ""
-position -3.63899 6.65788
+position -3.63899 7.55208
connectornextid 2
flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
outputsNamed3
@@ -2378,7 +2378,7 @@ inputs
stat
{
create 1568176415
- modify 1580581732
+ modify 1583877263
author Henry@LAPPY586
access 0777
}
@@ -2544,14 +2544,14 @@ Content-Type: text/plain
{
version 0.8
-group [ 0 locks=0 autoscope=0 ] ( "" )
-grouptype [ 0 locks=0 autoscope=0 ] ( "guess" )
+group [ 0 locks=0 ] ( "" )
+grouptype [ 0 locks=0 ] ( "guess" )
sepparm3 [ 0 locks=0 ] ( )
signature [ 0 locks=0 autoscope=0 ] ( "1" )
-attrname [ 0 locks=0 autoscope=0 ] ( mops_falloff )
-attrnamev [ 0 locks=0 autoscope=0 ] ( offset )
+attrname [ 0 locks=0 ] ( mops_falloff )
+attrnamev [ 0 locks=0 ] ( offset )
sepparm [ 0 locks=0 ] ( )
-folder0 [ 0 locks=0 autoscope=0 ] ( 0 0 0 )
+folder0 [ 0 locks=0 ] ( 0 0 0 )
input [ 0 locks=0 autoscope=0 ] ( [ input 0 ] )
use_rest [ 0 locks=0 autoscope=0 ] ( [ use_rest 1 ] )
sepparm2 [ 0 locks=0 ] ( )
@@ -2565,10 +2565,12 @@ tile_size [ 0 locks=0 autoscope=0 ] ( [ tile_sizex 1 ] [ tile_sizey 1 ] [ tile
Distort [ 0 locks=0 autoscope=0 ] ( [ Distortx 0 ] [ Distorty 0 ] [ Distortz 0 ] )
time_varying [ 0 locks=0 autoscope=0 ] ( [ time_varying 0 ] )
time_scale [ 0 locks=0 autoscope=0 ] ( [ time_scale 1 ] )
-input_rangev [ 0 locks=0 autoscope=0 ] ( -1 1 )
-output_rangev [ 0 locks=0 autoscope=0 ] ( -1 1 )
-input_range [ 0 locks=0 autoscope=0 ] ( 0 1 )
-output_range [ 0 locks=0 autoscope=0 ] ( 0 1 )
+do_remap_2D [ 0 locks=0 ] ( "off" )
+input_rangev [ 0 locks=0 ] ( -1 1 )
+output_rangev [ 0 locks=0 ] ( -1 1 )
+do_remap_3D [ 0 locks=0 ] ( "off" )
+input_range [ 0 locks=0 ] ( 0 1 )
+output_range [ 0 locks=0 ] ( 0 1 )
}
--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
@@ -2595,7 +2597,7 @@ Content-Type: text/plain
sopflags sopflags =
comment ""
-position -3.64199 7.41344
+position -3.64199 8.30764
connectornextid 2
flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
outputsNamed3
@@ -2613,7 +2615,7 @@ inputs
stat
{
create 1550446177
- modify 1580581732
+ modify 1583877263
author Henry@LAPPY586
access 0777
}
@@ -2674,7 +2676,7 @@ Content-Type: text/plain
sopflags sopflags =
comment ""
-position -3.64199 5.77173
+position -3.64199 6.66593
connectornextid 2
flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
outputsNamed3
@@ -2692,7 +2694,7 @@ inputs
stat
{
create 1550446187
- modify 1580581732
+ modify 1583877263
author Henry@LAPPY586
access 0777
}
@@ -2753,7 +2755,7 @@ Content-Type: text/plain
sopflags sopflags =
comment ""
-position 16.8646 -0.4524
+position 16.8646 0.4418
connectornextid 3
flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
outputsNamed3
@@ -2773,7 +2775,7 @@ inputs
stat
{
create 1570162863
- modify 1580581921
+ modify 1583877263
author Henry@LAPPY586
access 0777
}
@@ -2795,7 +2797,7 @@ Content-Type: text/plain
baseparm
label "Group"
export none
- bindselector points "Modify Points"
+ bindselector uvselect "Modify Points"
"Select the points to affect and press Enter to complete."
0 1 0xffffffff 0 grouptype 0
}
@@ -3103,7 +3105,7 @@ Content-Type: text/plain
sopflags sopflags =
comment ""
-position 19.5516 -0.4524
+position 19.5516 0.4418
connectornextid 3
flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
outputsNamed3
@@ -3123,7 +3125,7 @@ inputs
stat
{
create 1570310604
- modify 1580581732
+ modify 1583877263
author Henry@LAPPY586
access 0777
}
@@ -3145,7 +3147,7 @@ Content-Type: text/plain
baseparm
label "Group"
export none
- bindselector points "Modify Points"
+ bindselector uvselect "Modify Points"
"Select the points to affect and press Enter to complete."
0 1 0xffffffff 0 grouptype 0
}
@@ -3418,6 +3420,109 @@ Content-Type: text/plain
}
}
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/pointwrangle3.init"
+Content-Type: text/plain
+
+type = attribwrangle
+matchesdef = 1
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/pointwrangle3.def"
+Content-Type: text/plain
+
+sopflags sopflags =
+comment ""
+position -0.976432 -14.2073
+connectornextid 2
+flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
+outputsNamed3
+{
+1 "output1"
+}
+inputsNamed3
+{
+0 bound1 1 1 "input1"
+}
+inputs
+{
+0 bound1 0 1
+}
+stat
+{
+ create 1583821827
+ modify 1583884968
+ author Henry@LAPPY586
+ access 0777
+}
+color UT_Color RGB 0.8 0.8 0.8
+delscript ""
+exprlanguage hscript
+end
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/pointwrangle3.parm"
+Content-Type: text/plain
+
+{
+version 0.8
+folder0 [ 0 locks=0 ] ( 0 0 )
+group [ 0 locks=0 ] ( "" )
+grouptype [ 0 locks=0 ] ( "guess" )
+class [ 0 locks=0 ] ( "detail" )
+vex_numcount [ 0 locks=0 ] ( 10 )
+vex_threadjobsize [ 0 locks=0 ] ( 1024 )
+snippet [ 0 locks=0 ] ( "float lengths[];
+push(lengths, v@radii.x);
+push(lengths, v@radii.y);
+push(lengths, v@radii.z);
+int sorted[] = argsort(lengths);
+// this vector attribute will tell us which axis is the \"long\" (Z) axis.
+v@length_indices = set(sorted[0], sorted[1], sorted[2]);
+// now we want to figure out how to rotate our box so that the long axis is actually Z.
+// compute the dihedral that will solve this.
+// 0 = x, 1 = y, 2 = z
+int max_axis = int(max(v@length_indices));
+int max_index = v@length_indices[max_axis];
+matrix3 m = ident();
+if(max_index == 0) {
+ // rotate +X to +Z
+ m = dihedral({1,0,0}, {0,0,1});
+} else if(max_index == 1) {
+ // rotate +Y to +Z
+ m = dihedral({0,1,0}, {0,0,1});
+}
+// output a matrix that we'll read in python, to determine our rotation / scale values.
+v@centroid = getbbox_center(0);
+matrix3 out = m * (matrix3)4@xform;
+v@radii = m * v@radii;
+3@out = out;" )
+exportlist [ 0 locks=0 ] ( * )
+vex_strict [ 0 locks=0 ] ( "off" )
+autobind [ 0 locks=0 ] ( "on" )
+bindings [ 0 locks=0 ] ( 0 )
+groupautobind [ 0 locks=0 ] ( "on" )
+groupbindings [ 0 locks=0 ] ( 0 )
+vex_cwdpath [ 0 locks=0 ] ( . )
+vex_outputmask [ 0 locks=0 ] ( * )
+vex_updatenmls [ 0 locks=0 ] ( "off" )
+vex_matchattrib [ 0 locks=0 ] ( id )
+vex_inplace [ 0 locks=0 ] ( "off" )
+vex_selectiongroup [ 0 locks=0 ] ( "" )
+vex_precision [ 0 locks=0 ] ( auto )
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/pointwrangle3.userdata"
+Content-Type: text/plain
+
+{
+ "___Version___":{
+ "type":"string",
+ "value":""
+ }
+}
+
--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
Content-Disposition: attachment; filename="hdaroot/grid_end.init"
Content-Type: text/plain
@@ -3431,7 +3536,7 @@ Content-Type: text/plain
sopflags sopflags =
comment ""
-position -29.5539 3.98042
+position -29.5539 4.87462
connectornextid 1
flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
outputsNamed3
@@ -3447,7 +3552,7 @@ inputs
stat
{
create 1524060598
- modify 1524060626
+ modify 1583819447
author Henry@LAPPY586
access 0777
}
@@ -3483,7 +3588,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"18.0.348"
+ "value":"18.0.391"
}
}
@@ -3500,7 +3605,7 @@ Content-Type: text/plain
sopflags sopflags =
comment ""
-position -30.8703 4.73859
+position -30.8703 5.63279
connectornextid 1
flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
outputsNamed3
@@ -3516,7 +3621,7 @@ inputs
stat
{
create 1524060598
- modify 1524060626
+ modify 1583819447
author Henry@LAPPY586
access 0777
}
@@ -3552,7 +3657,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"18.0.348"
+ "value":"18.0.391"
}
}
@@ -3569,7 +3674,7 @@ Content-Type: text/plain
sopflags sopflags =
comment ""
-position -29.7816 2.12618
+position -29.7816 3.02038
connectornextid 3
flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
outputsNamed3
@@ -3589,7 +3694,7 @@ inputs
stat
{
create 1524060598
- modify 1524060602
+ modify 1583819447
author Henry@LAPPY586
access 0777
}
@@ -3613,7 +3718,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"18.0.348"
+ "value":"18.0.391"
}
}
@@ -3630,7 +3735,7 @@ Content-Type: text/plain
sopflags sopflags =
comment ""
-position -21.7709 -10.0746
+position -21.7709 -9.1804
connectornextid 1
flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
outputsNamed3
@@ -3647,7 +3752,7 @@ inputs
stat
{
create 1524060598
- modify 1529384946
+ modify 1583819447
author Henry@LAPPY586
access 0777
}
@@ -3673,7 +3778,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"18.0.348"
+ "value":"18.0.391"
}
}
@@ -3690,7 +3795,7 @@ Content-Type: text/plain
sopflags sopflags =
comment ""
-position -6.22832 8.02775
+position -6.22832 8.92195
connectornextid 2
flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
outputsNamed3
@@ -3708,7 +3813,7 @@ inputs
stat
{
create 1524060598
- modify 1524060606
+ modify 1583819447
author Henry@LAPPY586
access 0777
}
@@ -3734,7 +3839,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"18.0.348"
+ "value":"18.0.391"
}
}
@@ -3751,7 +3856,7 @@ Content-Type: text/plain
sopflags sopflags =
comment ""
-position 0.667874 11.8144
+position 0.667874 12.7086
connectornextid 2
flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
outputsNamed3
@@ -3769,7 +3874,7 @@ inputs
stat
{
create 1524060598
- modify 1524060606
+ modify 1583819447
author Henry@LAPPY586
access 0777
}
@@ -3795,7 +3900,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"18.0.348"
+ "value":"18.0.391"
}
}
@@ -3812,7 +3917,7 @@ Content-Type: text/plain
sopflags sopflags =
comment ""
-position -29.7804 0.995883
+position -29.7804 1.89008
connectornextid 2
flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
outputsNamed3
@@ -3830,7 +3935,7 @@ inputs
stat
{
create 1524060598
- modify 1524060606
+ modify 1583819447
author Henry@LAPPY586
access 0777
}
@@ -3856,7 +3961,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"18.0.348"
+ "value":"18.0.391"
}
}
@@ -3873,7 +3978,7 @@ Content-Type: text/plain
sopflags sopflags =
comment ""
-position 0.667874 9.49563
+position 0.667874 10.3898
connectornextid 3
flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
outputsNamed3
@@ -3893,7 +3998,7 @@ inputs
stat
{
create 1524060598
- modify 1580581732
+ modify 1583877265
author Henry@LAPPY586
access 0777
}
@@ -3931,7 +4036,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"18.0.348"
+ "value":"18.0.391"
}
}
@@ -3948,7 +4053,7 @@ Content-Type: text/plain
sopflags sopflags =
comment ""
-position 2.07502 11.0408
+position 2.07502 11.935
connectornextid 2
flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
outputsNamed3
@@ -3966,7 +4071,7 @@ inputs
stat
{
create 1524060598
- modify 1524060646
+ modify 1583819447
author Henry@LAPPY586
access 0777
}
@@ -4009,7 +4114,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"18.0.348"
+ "value":"18.0.391"
}
}
@@ -4026,7 +4131,7 @@ Content-Type: text/plain
sopflags sopflags =
comment ""
-position 2.07502 10.3075
+position 2.07502 11.2017
connectornextid 2
flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
outputsNamed3
@@ -4044,7 +4149,7 @@ inputs
stat
{
create 1524060598
- modify 1580581732
+ modify 1583877263
author Henry@LAPPY586
access 0777
}
@@ -4077,7 +4182,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"18.0.348"
+ "value":"18.0.391"
}
}
@@ -4094,7 +4199,7 @@ Content-Type: text/plain
sopflags sopflags =
comment ""
-position 0.667874 6.65288
+position 0.667874 7.54708
connectornextid 2
flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
outputsNamed3
@@ -4112,7 +4217,7 @@ inputs
stat
{
create 1524060598
- modify 1524060606
+ modify 1583819447
author Henry@LAPPY586
access 0777
}
@@ -4138,7 +4243,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"18.0.348"
+ "value":"18.0.391"
}
}
@@ -4155,7 +4260,7 @@ Content-Type: text/plain
sopflags sopflags =
comment ""
-position -18.9107 -7.21766
+position -18.9107 -6.32346
connectornextid 1
flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault off exposed on
outputsNamed3
@@ -4171,7 +4276,7 @@ inputs
stat
{
create 1524060598
- modify 1580581732
+ modify 1583877263
author Henry@LAPPY586
access 0777
}
@@ -4217,7 +4322,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"18.0.348"
+ "value":"18.0.391"
}
}
@@ -4234,7 +4339,7 @@ Content-Type: text/plain
sopflags sopflags =
comment ""
-position -3.35644 -3.66314
+position -3.35644 -2.76894
connectornextid 7
flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
outputsNamed3
@@ -4262,7 +4367,7 @@ inputs
stat
{
create 1524060598
- modify 1580581732
+ modify 1583877263
author Henry@LAPPY586
access 0777
}
@@ -4290,7 +4395,7 @@ Content-Type: text/plain
{
version 0.8
-input [ 0 locks=0 autoscope=0 ] ( [ input 2 ] )
+input [ 0 locks=0 autoscope=0 ] ( [ input 0 ] )
}
--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
@@ -4300,7 +4405,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"18.0.348"
+ "value":"18.0.391"
}
}
@@ -4317,7 +4422,7 @@ Content-Type: text/plain
sopflags sopflags =
comment ""
-position -4.49467 -13.2221
+position -4.49467 -12.3279
connectornextid 1
flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
outputsNamed3
@@ -4334,7 +4439,7 @@ inputs
stat
{
create 1524060598
- modify 1570236282
+ modify 1583819447
author Henry@LAPPY586
access 0777
}
@@ -4359,7 +4464,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"18.0.348"
+ "value":"18.0.391"
}
}
@@ -4376,7 +4481,7 @@ Content-Type: text/plain
sopflags sopflags =
comment ""
-position -27.0742 4.3545
+position -27.0742 5.2487
connectornextid 1
flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
outputsNamed3
@@ -4392,7 +4497,7 @@ inputs
stat
{
create 1524060598
- modify 1580581732
+ modify 1583877263
author Henry@LAPPY586
access 0777
}
@@ -4445,7 +4550,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"18.0.348"
+ "value":"18.0.391"
}
}
@@ -4462,7 +4567,7 @@ Content-Type: text/plain
sopflags sopflags =
comment ""
-position -25.8416 3.68057
+position -25.8416 4.57477
connectornextid 1
flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
outputsNamed3
@@ -4478,7 +4583,7 @@ inputs
stat
{
create 1524060598
- modify 1580581732
+ modify 1583877263
author Henry@LAPPY586
access 0777
}
@@ -4531,7 +4636,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"18.0.348"
+ "value":"18.0.391"
}
}
@@ -4548,7 +4653,7 @@ Content-Type: text/plain
sopflags sopflags =
comment ""
-position -26.053 2.11803
+position -26.053 3.01223
connectornextid 3
flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
outputsNamed3
@@ -4568,7 +4673,7 @@ inputs
stat
{
create 1524060598
- modify 1524060602
+ modify 1583819447
author Henry@LAPPY586
access 0777
}
@@ -4592,7 +4697,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"18.0.348"
+ "value":"18.0.391"
}
}
@@ -4609,7 +4714,7 @@ Content-Type: text/plain
sopflags sopflags =
comment ""
-position -26.0519 0.995883
+position -26.0519 1.89008
connectornextid 2
flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
outputsNamed3
@@ -4627,7 +4732,7 @@ inputs
stat
{
create 1524060598
- modify 1524060606
+ modify 1583819447
author Henry@LAPPY586
access 0777
}
@@ -4653,7 +4758,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"18.0.348"
+ "value":"18.0.391"
}
}
@@ -4670,7 +4775,7 @@ Content-Type: text/plain
sopflags sopflags =
comment ""
-position -22.5418 -3.92691
+position -22.5418 -3.03271
connectornextid 7
flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
outputsNamed3
@@ -4698,7 +4803,7 @@ inputs
stat
{
create 1524060598
- modify 1580581926
+ modify 1583877263
author Henry@LAPPY586
access 0777
}
@@ -4726,7 +4831,7 @@ Content-Type: text/plain
{
version 0.8
-input [ 0 locks=0 autoscope=0 ] ( [ input 2 ] )
+input [ 0 locks=0 autoscope=0 ] ( [ input 0 ] )
}
--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
@@ -4736,7 +4841,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"18.0.348"
+ "value":"18.0.391"
}
}
@@ -4753,7 +4858,7 @@ Content-Type: text/plain
sopflags sopflags =
comment ""
-position -24.0502 4.56011
+position -24.0502 5.45431
connectornextid 1
flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
outputsNamed3
@@ -4769,7 +4874,7 @@ inputs
stat
{
create 1524060598
- modify 1580581732
+ modify 1583877263
author Henry@LAPPY586
access 0777
}
@@ -4832,7 +4937,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"18.0.348"
+ "value":"18.0.391"
}
}
@@ -4849,7 +4954,7 @@ Content-Type: text/plain
sopflags sopflags =
comment ""
-position -22.043 3.84406
+position -22.043 4.73826
connectornextid 1
flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
outputsNamed3
@@ -4865,7 +4970,7 @@ inputs
stat
{
create 1524060598
- modify 1580581988
+ modify 1583877263
author Henry@LAPPY586
access 0777
}
@@ -4931,7 +5036,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"18.0.348"
+ "value":"18.0.391"
}
}
@@ -4948,7 +5053,7 @@ Content-Type: text/plain
sopflags sopflags =
comment ""
-position -22.763 2.10988
+position -22.763 3.00408
connectornextid 3
flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
outputsNamed3
@@ -4968,7 +5073,7 @@ inputs
stat
{
create 1524060598
- modify 1529384938
+ modify 1583819447
author Henry@LAPPY586
access 0777
}
@@ -4992,7 +5097,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"18.0.348"
+ "value":"18.0.391"
}
}
@@ -5009,7 +5114,7 @@ Content-Type: text/plain
sopflags sopflags =
comment ""
-position -22.7618 0.995883
+position -22.7618 1.89008
connectornextid 2
flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
outputsNamed3
@@ -5027,7 +5132,7 @@ inputs
stat
{
create 1524060598
- modify 1529384944
+ modify 1583819447
author Henry@LAPPY586
access 0777
}
@@ -5053,7 +5158,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"18.0.348"
+ "value":"18.0.391"
}
}
@@ -5070,7 +5175,7 @@ Content-Type: text/plain
sopflags sopflags =
comment ""
-position -19.484 3.84406
+position -19.484 4.73826
connectornextid 1
flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
outputsNamed3
@@ -5086,7 +5191,7 @@ inputs
stat
{
create 1524060598
- modify 1580581732
+ modify 1583877263
author Henry@LAPPY586
access 0777
}
@@ -5148,7 +5253,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"18.0.348"
+ "value":"18.0.391"
}
}
@@ -5165,7 +5270,7 @@ Content-Type: text/plain
sopflags sopflags =
comment ""
-position -19.1915 1.26413
+position -19.1915 2.15833
connectornextid 2
flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
outputsNamed3
@@ -5183,7 +5288,7 @@ inputs
stat
{
create 1524060598
- modify 1570167592
+ modify 1583819447
author Henry@LAPPY586
access 0777
}
@@ -5209,7 +5314,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"18.0.348"
+ "value":"18.0.391"
}
}
@@ -5226,7 +5331,7 @@ Content-Type: text/plain
sopflags sopflags =
comment ""
-position -17.3763 3.56204
+position -17.3763 4.45624
connectornextid 1
flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
outputsNamed3
@@ -5242,7 +5347,7 @@ inputs
stat
{
create 1524060598
- modify 1580581732
+ modify 1583877263
author Henry@LAPPY586
access 0777
}
@@ -5304,7 +5409,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"18.0.348"
+ "value":"18.0.391"
}
}
@@ -5321,7 +5426,7 @@ Content-Type: text/plain
sopflags sopflags =
comment ""
-position -19.484 2.42128
+position -19.484 3.31548
connectornextid 3
flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
outputsNamed3
@@ -5341,7 +5446,7 @@ inputs
stat
{
create 1524060598
- modify 1524060602
+ modify 1583819447
author Henry@LAPPY586
access 0777
}
@@ -5365,7 +5470,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"18.0.348"
+ "value":"18.0.391"
}
}
@@ -5382,7 +5487,7 @@ Content-Type: text/plain
sopflags sopflags =
comment ""
-position -15.3765 4.07416
+position -15.3765 4.96836
connectornextid 1
flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
outputsNamed3
@@ -5398,7 +5503,7 @@ inputs
stat
{
create 1524060598
- modify 1580581732
+ modify 1583877263
author Henry@LAPPY586
access 0777
}
@@ -5463,7 +5568,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"18.0.348"
+ "value":"18.0.391"
}
}
@@ -5480,7 +5585,7 @@ Content-Type: text/plain
sopflags sopflags =
comment ""
-position -14.7964 2.33998
+position -14.7964 3.23418
connectornextid 3
flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
outputsNamed3
@@ -5500,7 +5605,7 @@ inputs
stat
{
create 1524060598
- modify 1570162469
+ modify 1583819447
author Henry@LAPPY586
access 0777
}
@@ -5524,7 +5629,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"18.0.348"
+ "value":"18.0.391"
}
}
@@ -5541,7 +5646,7 @@ Content-Type: text/plain
sopflags sopflags =
comment ""
-position -14.7952 1.12182
+position -14.7952 2.01602
connectornextid 2
flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
outputsNamed3
@@ -5559,7 +5664,7 @@ inputs
stat
{
create 1524060598
- modify 1570167451
+ modify 1583819447
author Henry@LAPPY586
access 0777
}
@@ -5585,7 +5690,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"18.0.348"
+ "value":"18.0.391"
}
}
@@ -5602,7 +5707,7 @@ Content-Type: text/plain
sopflags sopflags =
comment ""
-position -13.5765 3.51743
+position -13.5765 4.41163
connectornextid 1
flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
outputsNamed3
@@ -5618,7 +5723,7 @@ inputs
stat
{
create 1524060598
- modify 1580581732
+ modify 1583877263
author Henry@LAPPY586
access 0777
}
@@ -5683,7 +5788,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"18.0.348"
+ "value":"18.0.391"
}
}
@@ -5700,7 +5805,7 @@ Content-Type: text/plain
sopflags sopflags =
comment ""
-position -4.97081 4.44271
+position -4.97081 5.33691
connectornextid 3
flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
outputsNamed3
@@ -5720,7 +5825,7 @@ inputs
stat
{
create 1524060598
- modify 1580581732
+ modify 1583877263
author Henry@LAPPY586
access 0777
}
@@ -5758,7 +5863,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"18.0.348"
+ "value":"18.0.391"
}
}
@@ -5775,7 +5880,7 @@ Content-Type: text/plain
sopflags sopflags =
comment ""
-position -4.49467 -9.87125
+position -4.49467 -8.97705
connectornextid 3
flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
outputsNamed3
@@ -5795,7 +5900,7 @@ inputs
stat
{
create 1524060598
- modify 1580581732
+ modify 1583877263
author Henry@LAPPY586
access 0777
}
@@ -5833,7 +5938,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"18.0.348"
+ "value":"18.0.391"
}
}
@@ -5850,7 +5955,7 @@ Content-Type: text/plain
sopflags sopflags =
comment ""
-position -3.10284 -8.65561
+position -3.10284 -7.76141
connectornextid 2
flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
outputsNamed3
@@ -5868,7 +5973,7 @@ inputs
stat
{
create 1524060598
- modify 1524060613
+ modify 1583819447
author Henry@LAPPY586
access 0777
}
@@ -5914,7 +6019,7 @@ Content-Type: text/plain
sopflags sopflags =
comment ""
-position -6.23177 6.82883
+position -6.23177 7.72303
connectornextid 2
flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
outputsNamed3
@@ -5932,7 +6037,7 @@ inputs
stat
{
create 1565319729
- modify 1580581732
+ modify 1583877263
author Henry@LAPPY586
access 0777
}
@@ -5977,7 +6082,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"18.0.348"
+ "value":"18.0.391"
}
}
@@ -5994,7 +6099,7 @@ Content-Type: text/plain
sopflags sopflags =
comment ""
-position -4.49812 -12.2221
+position -4.49812 -11.0395
connectornextid 2
flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
outputsNamed3
@@ -6012,7 +6117,7 @@ inputs
stat
{
create 1565319729
- modify 1580581732
+ modify 1583877263
author Henry@LAPPY586
access 0777
}
@@ -6043,7 +6148,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"18.0.348"
+ "value":"18.0.391"
}
}
@@ -6060,7 +6165,7 @@ Content-Type: text/plain
sopflags sopflags =
comment ""
-position -10.0752 3.18912
+position -10.0752 4.08332
connectornextid 1
flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
outputsNamed3
@@ -6076,7 +6181,7 @@ inputs
stat
{
create 1570167447
- modify 1580581732
+ modify 1583877263
author Henry@LAPPY586
access 0777
}
@@ -6132,7 +6237,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"18.0.348"
+ "value":"18.0.391"
}
}
@@ -6149,7 +6254,7 @@ Content-Type: text/plain
sopflags sopflags =
comment ""
-position -10.2133 1.12682
+position -10.2133 2.02102
connectornextid 2
flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
outputsNamed3
@@ -6167,7 +6272,7 @@ inputs
stat
{
create 1570167600
- modify 1570167697
+ modify 1583819447
author Henry@LAPPY586
access 0777
}
@@ -6193,7 +6298,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"18.0.348"
+ "value":"18.0.391"
}
}
@@ -6210,7 +6315,7 @@ Content-Type: text/plain
sopflags sopflags =
comment ""
-position 14.9346 -1.5503
+position 14.9346 -0.6561
connectornextid 3
flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
outputsNamed3
@@ -6230,7 +6335,7 @@ inputs
stat
{
create 1570312315
- modify 1580581732
+ modify 1583877263
author Henry@LAPPY586
access 0777
}
@@ -6268,7 +6373,218 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"18.0.348"
+ "value":"18.0.391"
+ }
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/bound1.init"
+Content-Type: text/plain
+
+type = bound
+matchesdef = 0
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/bound1.def"
+Content-Type: text/plain
+
+sopflags sopflags =
+comment ""
+position -0.976432 -13.0395
+connectornextid 2
+flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
+outputsNamed3
+{
+1 "output1"
+}
+inputsNamed3
+{
+0 unpack1 1 1 "input1"
+}
+inputs
+{
+0 unpack1 0 1
+}
+stat
+{
+ create 1583809609
+ modify 1583820647
+ author Henry@LAPPY586
+ access 0777
+}
+color UT_Color RGB 0.8 0.8 0.8
+delscript ""
+exprlanguage hscript
+end
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/bound1.parm"
+Content-Type: text/plain
+
+{
+version 0.8
+group [ 0 locks=0 ] ( "" )
+grouptype [ 0 locks=0 ] ( "guess" )
+keepOriginal [ 0 locks=0 ] ( "off" )
+createempty [ 0 locks=0 ] ( "on" )
+separator [ 0 locks=0 ] ( )
+boundtype [ 0 locks=0 ] ( "off" )
+orientedbbox [ 0 locks=0 ] ( "on" )
+dodivs [ 0 locks=0 ] ( "off" )
+divs [ 0 locks=0 ] ( 3 3 3 )
+rebar [ 0 locks=0 ] ( "off" )
+minsize [ 0 locks=0 ] ( 0 0 0 )
+orient [ 0 locks=0 ] ( "y" )
+accurate [ 0 locks=0 ] ( "off" )
+minradius [ 0 locks=0 ] ( 0 )
+orientedbrect [ 0 locks=0 ] ( "off" )
+origin [ 0 locks=0 ] ( 0 0 0 )
+dist [ 0 locks=0 ] ( 0 )
+dir [ 0 locks=0 ] ( 0 1 0 )
+minpad [ 0 locks=0 ] ( 0 0 0 )
+maxpad [ 0 locks=0 ] ( 0 0 0 )
+addxformattrib [ 0 locks=0 ] ( "on" )
+xformattrib [ 0 locks=0 ] ( xform )
+addradiiattrib [ 0 locks=0 ] ( "on" )
+radiiattrib [ 0 locks=0 ] ( radii )
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/bound1.userdata"
+Content-Type: text/plain
+
+{
+ "___Version___":{
+ "type":"string",
+ "value":"18.0.391"
+ }
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/BBOX.init"
+Content-Type: text/plain
+
+type = null
+matchesdef = 0
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/BBOX.def"
+Content-Type: text/plain
+
+sopflags sopflags =
+comment ""
+position -0.976432 -15.7316
+connectornextid 1
+flags = lock off model off template on footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
+outputsNamed3
+{
+}
+inputsNamed3
+{
+0 pointwrangle3 1 1 "input1"
+}
+inputs
+{
+0 pointwrangle3 0 1
+}
+stat
+{
+ create 1583809998
+ modify 1583821827
+ author Henry@LAPPY586
+ access 0777
+}
+color UT_Color RGB 0.6 0.7 0.77
+delscript ""
+exprlanguage hscript
+end
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/BBOX.parm"
+Content-Type: text/plain
+
+{
+version 0.8
+copyinput [ 0 locks=0 ] ( "on" )
+cacheinput [ 0 locks=0 ] ( "off" )
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/BBOX.userdata"
+Content-Type: text/plain
+
+{
+ "___Version___":{
+ "type":"string",
+ "value":"18.0.391"
+ }
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/unpack1.init"
+Content-Type: text/plain
+
+type = unpack
+matchesdef = 0
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/unpack1.def"
+Content-Type: text/plain
+
+sopflags sopflags =
+comment ""
+position -2.4667 -12.0395
+connectornextid 2
+flags = lock off model off template off footprint off xray off bypass off display on render on highlight off unload off savedata off compress on colordefault on exposed on
+outputsNamed3
+{
+1 "output1"
+}
+inputsNamed3
+{
+0 attribswap2 1 1 "input1"
+}
+inputs
+{
+0 attribswap2 0 1
+}
+stat
+{
+ create 1583810023
+ modify 1583820413
+ author Henry@LAPPY586
+ access 0777
+}
+color UT_Color RGB 0.8 0.8 0.8
+delscript ""
+exprlanguage hscript
+end
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/unpack1.parm"
+Content-Type: text/plain
+
+{
+version 0.8
+group [ 0 locks=0 ] ( "" )
+limit_iterations [ 0 locks=0 ] ( "on" )
+iterations [ 0 locks=0 ] ( 1 )
+detail_attributes [ 0 locks=0 ] ( "detail" )
+transfer_attributes [ 0 locks=0 ] ( "" )
+transfer_groups [ 0 locks=0 ] ( "" )
+apply_style_sheets [ 0 locks=0 ] ( "off" )
+scene_style_sheet [ 0 locks=0 ] ( "" )
+obj_style_sheet [ 0 locks=0 ] ( "" )
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/unpack1.userdata"
+Content-Type: text/plain
+
+{
+ "___Version___":{
+ "type":"string",
+ "value":"18.0.391"
}
}
@@ -6276,7 +6592,7 @@ Content-Type: text/plain
Content-Disposition: attachment; filename="hdaroot.order"
Content-Type: text/plain
-55
+59
falloff_linear
do_local_transform
transform_guide
@@ -6332,6 +6648,10 @@ circle1
guide_fan
jr_method
switch1
+bound1
+BBOX
+unpack1
+pointwrangle3
--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
Content-Disposition: attachment; filename="hdaroot.net"
diff --git a/otls/MOPS_Shape_Falloff.hda/MOPS_8_8Sop_1Shape__Falloff_8_81.4/DialogScript b/otls/MOPS_Shape_Falloff.hda/MOPS_8_8Sop_1Shape__Falloff_8_81.4/DialogScript
index e4bebe75..469946a7 100644
--- a/otls/MOPS_Shape_Falloff.hda/MOPS_8_8Sop_1Shape__Falloff_8_81.4/DialogScript
+++ b/otls/MOPS_Shape_Falloff.hda/MOPS_8_8Sop_1Shape__Falloff_8_81.4/DialogScript
@@ -262,7 +262,7 @@
label "Auto-Fit"
type button
default { "0" }
- parmtag { "script_callback" "hou.phm().autoFit(kwargs)" }
+ parmtag { "script_callback" "hou.phm().autoFit2(kwargs)" }
parmtag { "script_callback_language" "python" }
}
parm {
diff --git a/otls/MOPS_Shape_Falloff.hda/MOPS_8_8Sop_1Shape__Falloff_8_81.4/ExtraFileOptions b/otls/MOPS_Shape_Falloff.hda/MOPS_8_8Sop_1Shape__Falloff_8_81.4/ExtraFileOptions
index 6be28f41..3205b657 100644
--- a/otls/MOPS_Shape_Falloff.hda/MOPS_8_8Sop_1Shape__Falloff_8_81.4/ExtraFileOptions
+++ b/otls/MOPS_Shape_Falloff.hda/MOPS_8_8Sop_1Shape__Falloff_8_81.4/ExtraFileOptions
@@ -21,7 +21,7 @@
},
"PythonModule/Cursor":{
"type":"intarray",
- "value":[24,22]
+ "value":[34,20]
},
"PythonModule/IsExpr":{
"type":"bool",
@@ -38,5 +38,9 @@
"PythonModule/Source":{
"type":"string",
"value":""
+ },
+ "ViewerStateModule/CodeGenInput":{
+ "type":"string",
+ "value":"{\n\t\"state_name\":\"\",\n\t\"state_label\":\"\",\n\t\"state_descr\":\"\",\n\t\"state_icon\":\"$HH/config/Icons\",\n\t\"state_debug_menu\":0,\n\t\"state_sample\":0,\n\t\"state_handler_indices\":[]\n}\n"
}
}
diff --git a/otls/MOPS_Shape_Falloff.hda/MOPS_8_8Sop_1Shape__Falloff_8_81.4/PythonModule b/otls/MOPS_Shape_Falloff.hda/MOPS_8_8Sop_1Shape__Falloff_8_81.4/PythonModule
index e5197ff6..9360fcf6 100644
--- a/otls/MOPS_Shape_Falloff.hda/MOPS_8_8Sop_1Shape__Falloff_8_81.4/PythonModule
+++ b/otls/MOPS_Shape_Falloff.hda/MOPS_8_8Sop_1Shape__Falloff_8_81.4/PythonModule
@@ -22,4 +22,24 @@ def autoFit(kwargs):
sx.set(size.x()/2)
sy.set(size.y()/2)
sz.set(size.z()/2)
- uscale.set(1)
\ No newline at end of file
+ uscale.set(1)
+
+def autoFit2(kwargs):
+ node = kwargs['node']
+ bounds = node.node("BBOX").geometry()
+ xf = bounds.attribValue("out")
+ orig_xf = bounds.attribValue("xform")
+ center = bounds.attribValue("centroid")
+ lengths = bounds.attribValue("radii")
+ r = hou.Matrix3(xf).extractRotates()
+
+ node.parm("translatex").set(center[0])
+ node.parm("translatey").set(center[1])
+ node.parm("translatez").set(center[2])
+ node.parm("rotatex").set(r[0])
+ node.parm("rotatey").set(r[1])
+ node.parm("rotatez").set(r[2])
+ node.parm("scalex").set(lengths[0])
+ node.parm("scaley").set(lengths[1])
+ node.parm("scalez").set(lengths[2])
+ node.parm("uniform_scale").set(1)
\ No newline at end of file
diff --git a/otls/MOPS_Shape_Falloff.hda/MOPS_8_8Sop_1Shape__Falloff_8_81.4/TypePropertiesOptions b/otls/MOPS_Shape_Falloff.hda/MOPS_8_8Sop_1Shape__Falloff_8_81.4/TypePropertiesOptions
index b4811492..a6d52acf 100644
--- a/otls/MOPS_Shape_Falloff.hda/MOPS_8_8Sop_1Shape__Falloff_8_81.4/TypePropertiesOptions
+++ b/otls/MOPS_Shape_Falloff.hda/MOPS_8_8Sop_1Shape__Falloff_8_81.4/TypePropertiesOptions
@@ -1,14 +1,14 @@
-SaveSpareParms := 0;
CheckExternal := 1;
-SaveIcon := 1;
-GzipContents := 1;
ContentsCompressionType := 1;
-UnlockOnCreate := 0;
-SaveCachedCode := 0;
+ForbidOutsideParms := 1;
+GzipContents := 1;
LockContents := 1;
MakeDefault := 1;
-UseDSParms := 1;
-ForbidOutsideParms := 1;
+ParmsFromVfl := 0;
PrefixDroppedParmLabel := 0;
PrefixDroppedParmName := 0;
-ParmsFromVfl := 0;
+SaveCachedCode := 0;
+SaveIcon := 1;
+SaveSpareParms := 0;
+UnlockOnCreate := 0;
+UseDSParms := 1;
diff --git a/otls/MOPS_Spread_Falloff.hda/INDEX__SECTION b/otls/MOPS_Spread_Falloff.hda/INDEX__SECTION
index a08fef35..f86008df 100644
--- a/otls/MOPS_Spread_Falloff.hda/INDEX__SECTION
+++ b/otls/MOPS_Spread_Falloff.hda/INDEX__SECTION
@@ -24,7 +24,7 @@ Inputs: 1 to 2
Subnet: true
Python: false
Empty: false
-Modified: Wed Jan 2 16:44:14 2019
+Modified: Wed Jan 2 04:44:14 2019
Operator: MOPS::MOPs_Spread_Falloff::1.2
Label: MOPs Spread Falloff
@@ -38,7 +38,7 @@ Inputs: 1 to 2
Subnet: true
Python: false
Empty: false
-Modified: Fri Feb 15 12:23:07 2019
+Modified: Fri Feb 15 00:23:07 2019
Operator: MOPS::MOPs_Spread_Falloff::1.3
Label: MOPs Spread Falloff
@@ -66,5 +66,5 @@ Inputs: 1 to 2
Subnet: true
Python: false
Empty: false
-Modified: Fri Nov 8 19:58:58 2019
+Modified: Mon Mar 9 15:54:02 2020
diff --git a/otls/MOPS_Spread_Falloff.hda/MOPS_8_8Sop_1MOPs__Spread__Falloff_8_81.4/Contents.dir/.OPdummydefs b/otls/MOPS_Spread_Falloff.hda/MOPS_8_8Sop_1MOPs__Spread__Falloff_8_81.4/Contents.dir/.OPdummydefs
index 8f1754f1..73ce5db4 100644
Binary files a/otls/MOPS_Spread_Falloff.hda/MOPS_8_8Sop_1MOPs__Spread__Falloff_8_81.4/Contents.dir/.OPdummydefs and b/otls/MOPS_Spread_Falloff.hda/MOPS_8_8Sop_1MOPs__Spread__Falloff_8_81.4/Contents.dir/.OPdummydefs differ
diff --git a/otls/MOPS_Spread_Falloff.hda/MOPS_8_8Sop_1MOPs__Spread__Falloff_8_81.4/Contents.dir/.OPfallbacks b/otls/MOPS_Spread_Falloff.hda/MOPS_8_8Sop_1MOPs__Spread__Falloff_8_81.4/Contents.dir/.OPfallbacks
index e1683ae8..118aa0d4 100644
--- a/otls/MOPS_Spread_Falloff.hda/MOPS_8_8Sop_1MOPs__Spread__Falloff_8_81.4/Contents.dir/.OPfallbacks
+++ b/otls/MOPS_Spread_Falloff.hda/MOPS_8_8Sop_1MOPs__Spread__Falloff_8_81.4/Contents.dir/.OPfallbacks
@@ -1,72 +1,72 @@
-MOPS::Sop/Combine_Falloffs::1.0 C:/Users/Henry/Projects/VFX/MOPS/otls/MOPS_Combine_Falloffs.hda
+MOPS::Sop/Combine_Falloffs::1.0 C:/Users/Henry/Projects/VFX/MOPS_Prime/otls/MOPS_Combine_Falloffs.hda
MOPS::Sop/Combine_Falloffs::1.0 otls/MOPS_Combine_Falloffs.hda
-MOPS::Sop/Extract_Attributes::1.0 C:/Users/Henry/Projects/VFX/MOPS/otls/MOPS_extractAttributes.hda
+MOPS::Sop/Extract_Attributes::1.0 C:/Users/Henry/Projects/VFX/MOPS_Prime/otls/MOPS_extractAttributes.hda
MOPS::Sop/Extract_Attributes::1.0 otls/MOPS_extractAttributes.hda
-MOPS::Sop/Neighbors::1.0 C:/Users/Henry/Projects/VFX/MOPS/otls/MOPS_neighbors.hda
+MOPS::Sop/Neighbors::1.0 C:/Users/Henry/Projects/VFX/MOPS_Prime/otls/MOPS_neighbors.hda
MOPS::Sop/Neighbors::1.0 otls/MOPS_neighbors.hda
-MOPS::Sop/Noise_Patterns::1.1 C:/Users/Henry/Projects/VFX/MOPS/otls/MOPS_Noise_Patterns.hda
+MOPS::Sop/Noise_Patterns::1.1 C:/Users/Henry/Projects/VFX/MOPS_Prime/otls/MOPS_Noise_Patterns.hda
MOPS::Sop/Noise_Patterns::1.1 otls/MOPS_Noise_Patterns.hda
-MOPS::Sop/Preview_Falloff::1.1 C:/Users/Henry/Projects/VFX/MOPS/otls/MOPS_Preview_Falloff.hda
+MOPS::Sop/Preview_Falloff::1.1 C:/Users/Henry/Projects/VFX/MOPS_Prime/otls/MOPS_Preview_Falloff.hda
MOPS::Sop/Preview_Falloff::1.1 otls/MOPS_Preview_Falloff.hda
-MOPS::Sop/Remap_Falloff::1.0 C:/Users/Henry/Projects/VFX/MOPS/otls/MOPS_Remap_Falloff.hda
+MOPS::Sop/Remap_Falloff::1.0 C:/Users/Henry/Projects/VFX/MOPS_Prime/otls/MOPS_Remap_Falloff.hda
MOPS::Sop/Remap_Falloff::1.0 otls/MOPS_Remap_Falloff.hda
-Sop/attribblur C:/PROGRA~1/SIDEEF~1/HOUDIN~1.229/houdini/otls/OPlibSop.hda
+Sop/attribblur C:/PROGRA~1/SIDEEF~1/HOUDIN~1.391/houdini/otls/OPlibSop.hda
Sop/attribblur otls/OPlibSop.hda
-Sop/attribdelete C:/PROGRA~1/SIDEEF~1/HOUDIN~1.229/houdini/otls/OPlibSop.hda
+Sop/attribdelete C:/PROGRA~1/SIDEEF~1/HOUDIN~1.391/houdini/otls/OPlibSop.hda
Sop/attribdelete otls/OPlibSop.hda
-Sop/attribwrangle C:/PROGRA~1/SIDEEF~1/HOUDIN~1.229/houdini/otls/OPlibSop.hda
+Sop/attribwrangle C:/PROGRA~1/SIDEEF~1/HOUDIN~1.391/houdini/otls/OPlibSop.hda
Sop/attribwrangle otls/OPlibSop.hda
-Vop/avgcomp C:/PROGRA~1/SIDEEF~1/HOUDIN~1.229/houdini/otls/OPlibScripted.hda
+Vop/avgcomp C:/PROGRA~1/SIDEEF~1/HOUDIN~1.391/houdini/otls/OPlibScripted.hda
Vop/avgcomp otls/OPlibScripted.hda
-Vop/clamp C:/PROGRA~1/SIDEEF~1/HOUDIN~1.229/houdini/otls/OPlibScripted.hda
+Vop/clamp C:/PROGRA~1/SIDEEF~1/HOUDIN~1.391/houdini/otls/OPlibScripted.hda
Vop/clamp otls/OPlibScripted.hda
-Vop/floattohvec C:/PROGRA~1/SIDEEF~1/HOUDIN~1.229/houdini/otls/OPlibScripted.hda
+Vop/floattohvec C:/PROGRA~1/SIDEEF~1/HOUDIN~1.391/houdini/otls/OPlibScripted.hda
Vop/floattohvec otls/OPlibScripted.hda
-Vop/floattovec C:/PROGRA~1/SIDEEF~1/HOUDIN~1.229/houdini/otls/OPlibScripted.hda
+Vop/floattovec C:/PROGRA~1/SIDEEF~1/HOUDIN~1.391/houdini/otls/OPlibScripted.hda
Vop/floattovec otls/OPlibScripted.hda
-Vop/geometryvopglobal::2.0 C:/PROGRA~1/SIDEEF~1/HOUDIN~1.229/houdini/otls/OPlibVop.hda
+Vop/geometryvopglobal::2.0 C:/PROGRA~1/SIDEEF~1/HOUDIN~1.391/houdini/otls/OPlibVop.hda
Vop/geometryvopglobal::2.0 otls/OPlibVop.hda
-Vop/geometryvopoutput C:/PROGRA~1/SIDEEF~1/HOUDIN~1.229/houdini/otls/OPlibVop.hda
+Vop/geometryvopoutput C:/PROGRA~1/SIDEEF~1/HOUDIN~1.391/houdini/otls/OPlibVop.hda
Vop/geometryvopoutput otls/OPlibVop.hda
-Sop/groupexpression C:/PROGRA~1/SIDEEF~1/HOUDIN~1.229/houdini/otls/OPlibSop.hda
+Sop/groupexpression C:/PROGRA~1/SIDEEF~1/HOUDIN~1.391/houdini/otls/OPlibSop.hda
Sop/groupexpression otls/OPlibSop.hda
-Vop/hvectovec C:/PROGRA~1/SIDEEF~1/HOUDIN~1.229/houdini/otls/OPlibScripted.hda
+Vop/hvectovec C:/PROGRA~1/SIDEEF~1/HOUDIN~1.391/houdini/otls/OPlibScripted.hda
Vop/hvectovec otls/OPlibScripted.hda
-Vop/inttofloat C:/PROGRA~1/SIDEEF~1/HOUDIN~1.229/houdini/otls/OPlibScripted.hda
+Vop/inttofloat C:/PROGRA~1/SIDEEF~1/HOUDIN~1.391/houdini/otls/OPlibScripted.hda
Vop/inttofloat otls/OPlibScripted.hda
-Vop/invert C:/PROGRA~1/SIDEEF~1/HOUDIN~1.229/houdini/otls/OPlibScripted.hda
+Vop/invert C:/PROGRA~1/SIDEEF~1/HOUDIN~1.391/houdini/otls/OPlibScripted.hda
Vop/invert otls/OPlibScripted.hda
-Vop/isconnected C:/PROGRA~1/SIDEEF~1/HOUDIN~1.229/houdini/otls/OPlibScripted.hda
+Vop/isconnected C:/PROGRA~1/SIDEEF~1/HOUDIN~1.391/houdini/otls/OPlibScripted.hda
Vop/isconnected otls/OPlibScripted.hda
-Vop/lighting C:/PROGRA~1/SIDEEF~1/HOUDIN~1.229/houdini/otls/OPlibScripted.hda
+Vop/lighting C:/PROGRA~1/SIDEEF~1/HOUDIN~1.391/houdini/otls/OPlibScripted.hda
Vop/lighting otls/OPlibScripted.hda
-Vop/mix C:/PROGRA~1/SIDEEF~1/HOUDIN~1.229/houdini/otls/OPlibScripted.hda
+Vop/mix C:/PROGRA~1/SIDEEF~1/HOUDIN~1.391/houdini/otls/OPlibScripted.hda
Vop/mix otls/OPlibScripted.hda
-Vop/modulo C:/PROGRA~1/SIDEEF~1/HOUDIN~1.229/houdini/otls/OPlibScripted.hda
+Vop/modulo C:/PROGRA~1/SIDEEF~1/HOUDIN~1.391/houdini/otls/OPlibScripted.hda
Vop/modulo otls/OPlibScripted.hda
-Vop/renderstate C:/PROGRA~1/SIDEEF~1/HOUDIN~1.229/houdini/otls/OPlibScripted.hda
+Vop/renderstate C:/PROGRA~1/SIDEEF~1/HOUDIN~1.391/houdini/otls/OPlibScripted.hda
Vop/renderstate otls/OPlibScripted.hda
-Sop/split C:/PROGRA~1/SIDEEF~1/HOUDIN~1.229/houdini/otls/OPlibSop.hda
+Sop/split C:/PROGRA~1/SIDEEF~1/HOUDIN~1.391/houdini/otls/OPlibSop.hda
Sop/split otls/OPlibSop.hda
-Sop/sprite C:/PROGRA~1/SIDEEF~1/HOUDIN~1.229/houdini/otls/OPlibSop.hda
+Sop/sprite C:/PROGRA~1/SIDEEF~1/HOUDIN~1.391/houdini/otls/OPlibSop.hda
Sop/sprite otls/OPlibSop.hda
-Vop/sprite C:/PROGRA~1/SIDEEF~1/HOUDIN~1.229/houdini/otls/OPlibScripted.hda
+Vop/sprite C:/PROGRA~1/SIDEEF~1/HOUDIN~1.391/houdini/otls/OPlibScripted.hda
Vop/sprite otls/OPlibScripted.hda
-Vop/subconst C:/PROGRA~1/SIDEEF~1/HOUDIN~1.229/houdini/otls/OPlibScripted.hda
+Vop/subconst C:/PROGRA~1/SIDEEF~1/HOUDIN~1.391/houdini/otls/OPlibScripted.hda
Vop/subconst otls/OPlibScripted.hda
-Vop/surfacecolor C:/PROGRA~1/SIDEEF~1/HOUDIN~1.229/houdini/otls/OPlibVop.hda
+Vop/surfacecolor C:/PROGRA~1/SIDEEF~1/HOUDIN~1.391/houdini/otls/OPlibVop.hda
Vop/surfacecolor otls/OPlibVop.hda
-Vop/texture C:/PROGRA~1/SIDEEF~1/HOUDIN~1.229/houdini/otls/OPlibScripted.hda
+Vop/texture C:/PROGRA~1/SIDEEF~1/HOUDIN~1.391/houdini/otls/OPlibScripted.hda
Vop/texture otls/OPlibScripted.hda
-Vop/twoway C:/PROGRA~1/SIDEEF~1/HOUDIN~1.229/houdini/otls/OPlibScripted.hda
+Vop/twoway C:/PROGRA~1/SIDEEF~1/HOUDIN~1.391/houdini/otls/OPlibScripted.hda
Vop/twoway otls/OPlibScripted.hda
-Vop/unifiednoise::2.0 C:/PROGRA~1/SIDEEF~1/HOUDIN~1.229/houdini/otls/OPlibVop.hda
+Vop/unifiednoise::2.0 C:/PROGRA~1/SIDEEF~1/HOUDIN~1.391/houdini/otls/OPlibVop.hda
Vop/unifiednoise::2.0 otls/OPlibVop.hda
-Vop/uvcoords C:/PROGRA~1/SIDEEF~1/HOUDIN~1.229/houdini/otls/OPlibVop.hda
+Vop/uvcoords C:/PROGRA~1/SIDEEF~1/HOUDIN~1.391/houdini/otls/OPlibVop.hda
Vop/uvcoords otls/OPlibVop.hda
-Vop/vectofloat C:/PROGRA~1/SIDEEF~1/HOUDIN~1.229/houdini/otls/OPlibScripted.hda
+Vop/vectofloat C:/PROGRA~1/SIDEEF~1/HOUDIN~1.391/houdini/otls/OPlibScripted.hda
Vop/vectofloat otls/OPlibScripted.hda
-Vop/vectohvec C:/PROGRA~1/SIDEEF~1/HOUDIN~1.229/houdini/otls/OPlibScripted.hda
+Vop/vectohvec C:/PROGRA~1/SIDEEF~1/HOUDIN~1.391/houdini/otls/OPlibScripted.hda
Vop/vectohvec otls/OPlibScripted.hda
-Sop/visualize C:/PROGRA~1/SIDEEF~1/HOUDIN~1.229/houdini/otls/OPlibSop.hda
+Sop/visualize C:/PROGRA~1/SIDEEF~1/HOUDIN~1.391/houdini/otls/OPlibSop.hda
Sop/visualize otls/OPlibSop.hda
diff --git a/otls/MOPS_Spread_Falloff.hda/MOPS_8_8Sop_1MOPs__Spread__Falloff_8_81.4/Contents.dir/Contents.mime b/otls/MOPS_Spread_Falloff.hda/MOPS_8_8Sop_1MOPs__Spread__Falloff_8_81.4/Contents.dir/Contents.mime
index b9b4c772..d96af2c3 100644
--- a/otls/MOPS_Spread_Falloff.hda/MOPS_8_8Sop_1MOPs__Spread__Falloff_8_81.4/Contents.dir/Contents.mime
+++ b/otls/MOPS_Spread_Falloff.hda/MOPS_8_8Sop_1MOPs__Spread__Falloff_8_81.4/Contents.dir/Contents.mime
@@ -32,22 +32,24 @@ Content-Type: text/plain
sopflags sopflags =
comment ""
-position -68.9207 73.9767
-connectornextid 0
-flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
+position -1.90753 -1.68028
+connectornextid 1
+flags = lock off model off template off footprint off xray off bypass off display on render on highlight off unload off savedata off compress on colordefault on exposed on
outputsNamed3
{
}
inputsNamed3
{
+0 MOPs_Instancer 1 1 "input1"
}
inputs
{
+0 MOPs_Instancer 0 1
}
stat
{
- create 1573271826
- modify 1573271918
+ create 1583794069
+ modify 1583794462
author Henry@LAPPY586
access 0777
}
@@ -106,7 +108,7 @@ inputs
stat
{
create 1535516024
- modify 1573271827
+ modify 1583794323
author Henry@LAPPY586
access 0777
}
@@ -140,6 +142,7 @@ vex_updatenmls [ 0 locks=0 ] ( "off" )
vex_matchattrib [ 0 locks=0 ] ( id )
vex_inplace [ 0 locks=0 ] ( "off" )
vex_selectiongroup [ 0 locks=0 ] ( "" )
+vex_precision [ 0 locks=0 ] ( auto )
}
--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
@@ -184,7 +187,7 @@ inputs
stat
{
create 1535516179
- modify 1573271827
+ modify 1583794070
author Henry@LAPPY586
access 0777
}
@@ -220,6 +223,7 @@ vex_updatenmls [ 0 locks=0 ] ( "off" )
vex_matchattrib [ 0 locks=0 ] ( id )
vex_inplace [ 0 locks=0 ] ( "off" )
vex_selectiongroup [ 0 locks=0 ] ( "" )
+vex_precision [ 0 locks=0 ] ( auto )
}
--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
@@ -264,7 +268,7 @@ inputs
stat
{
create 1535516527
- modify 1573271827
+ modify 1583794070
author Henry@LAPPY586
access 0777
}
@@ -286,7 +290,7 @@ Content-Type: text/plain
baseparm
label "Group"
export none
- bindselector uvselect "Modify Points"
+ bindselector points "Modify Points"
"Select the points to affect and press Enter to complete."
0 1 0xffffffff 0 grouptype 0
}
@@ -446,6 +450,12 @@ Content-Type: text/plain
default { "0" }
range { 0 1 }
}
+ parm {
+ name "vex_precision"
+ baseparm
+ label "VEX Precision"
+ export none
+ }
--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
Content-Disposition: attachment; filename="hdaroot/map_cost_to_falloff.chn"
@@ -512,8 +522,9 @@ vex_updatenmls [ 0 locks=0 ] ( "off" )
vex_matchattrib [ 0 locks=0 ] ( id )
vex_inplace [ 0 locks=0 ] ( "off" )
vex_selectiongroup [ 0 locks=0 ] ( "" )
+vex_precision [ 0 locks=0 ] ( auto )
folder1 [ 0 locks=0 ] ( 0 0 )
-spread [ 0 locks=0 ] ( [ spread 0.75900000000000001 ] )
+spread [ 0 locks=0 ] ( [ spread 0.54300000000000004 ] )
falloff_width [ 0 locks=0 ] ( [ falloff_width 0.20000000000000001 ] )
}
@@ -559,7 +570,7 @@ inputs
stat
{
create 1535601794
- modify 1573271828
+ modify 1583794071
author Henry@LAPPY586
access 0777
}
@@ -1293,6 +1304,12 @@ Content-Type: text/plain
parmtag { "parmvop" "1" }
parmtag { "shaderparmcontexts" "cvex" }
}
+ parm {
+ name "vex_precision"
+ baseparm
+ label "VEX Precision"
+ export none
+ }
--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
Content-Disposition: attachment; filename="hdaroot/noise.chn"
@@ -1374,6 +1391,7 @@ vop_forcecompile [ 0 locks=0 ] ( 0 )
vex_cwdpath [ 0 locks=0 ] ( "" )
vex_outputmask [ 0 locks=0 ] ( * )
vex_multithread [ 0 locks=0 ] ( "on" )
+vex_precision [ 0 locks=0 ] ( auto )
autobind [ 0 locks=0 ] ( "on" )
bindings [ 0 locks=0 ] ( 0 )
groupautobind [ 0 locks=0 ] ( "on" )
@@ -1447,7 +1465,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"17.5.229"
+ "value":"18.0.391"
}
}
@@ -1651,6 +1669,9 @@ colordef [ 0 locks=0 ] ( 0 0 0 )
color4def [ 0 locks=0 ] ( 0 0 0 0 )
bsdfdef [ 0 locks=0 ] ( "" )
coshaderdef [ 0 locks=0 ] ( "" )
+surfacedef [ 0 locks=0 ] ( "" )
+displacementdef [ 0 locks=0 ] ( "" )
+atmospheredef [ 0 locks=0 ] ( "" )
floatadef [ 0 locks=0 ] ( )
intadef [ 0 locks=0 ] ( )
vector2adef [ 0 locks=0 ] ( )
@@ -1680,7 +1701,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"17.5.229"
+ "value":"18.0.391"
}
}
@@ -1953,7 +1974,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"17.5.229"
+ "value":"18.0.391"
}
}
@@ -2024,6 +2045,9 @@ colordef [ 0 locks=0 ] ( 0 0 0 )
color4def [ 0 locks=0 ] ( 0 0 0 0 )
bsdfdef [ 0 locks=0 ] ( "" )
coshaderdef [ 0 locks=0 ] ( "" )
+surfacedef [ 0 locks=0 ] ( "" )
+displacementdef [ 0 locks=0 ] ( "" )
+atmospheredef [ 0 locks=0 ] ( "" )
floatadef [ 0 locks=0 ] ( )
intadef [ 0 locks=0 ] ( )
vector2adef [ 0 locks=0 ] ( )
@@ -2050,7 +2074,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"17.5.229"
+ "value":"18.0.391"
}
}
@@ -2129,6 +2153,9 @@ colordef [ 0 locks=0 ] ( 0 0 0 )
color4def [ 0 locks=0 ] ( 0 0 0 0 )
bsdfdef [ 0 locks=0 ] ( "" )
coshaderdef [ 0 locks=0 ] ( "" )
+surfacedef [ 0 locks=0 ] ( "" )
+displacementdef [ 0 locks=0 ] ( "" )
+atmospheredef [ 0 locks=0 ] ( "" )
floatadef [ 0 locks=0 ] ( )
intadef [ 0 locks=0 ] ( )
vector2adef [ 0 locks=0 ] ( )
@@ -2177,7 +2204,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"17.5.229"
+ "value":"18.0.391"
}
}
@@ -2251,6 +2278,9 @@ colordef [ 0 locks=0 ] ( 0 0 0 )
color4def [ 0 locks=0 ] ( 0 0 0 0 )
bsdfdef [ 0 locks=0 ] ( "" )
coshaderdef [ 0 locks=0 ] ( "" )
+surfacedef [ 0 locks=0 ] ( "" )
+displacementdef [ 0 locks=0 ] ( "" )
+atmospheredef [ 0 locks=0 ] ( "" )
floatadef [ 0 locks=0 ] ( )
intadef [ 0 locks=0 ] ( )
vector2adef [ 0 locks=0 ] ( )
@@ -2280,7 +2310,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"17.5.229"
+ "value":"18.0.391"
}
}
@@ -2340,7 +2370,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"17.5.229"
+ "value":"18.0.391"
}
}
@@ -2415,6 +2445,9 @@ colordef [ 0 locks=0 ] ( 0 0 0 )
color4def [ 0 locks=0 ] ( 0 0 0 0 )
bsdfdef [ 0 locks=0 ] ( "" )
coshaderdef [ 0 locks=0 ] ( "" )
+surfacedef [ 0 locks=0 ] ( "" )
+displacementdef [ 0 locks=0 ] ( "" )
+atmospheredef [ 0 locks=0 ] ( "" )
floatadef [ 0 locks=0 ] ( )
intadef [ 0 locks=0 ] ( )
vector2adef [ 0 locks=0 ] ( )
@@ -2444,7 +2477,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"17.5.229"
+ "value":"18.0.391"
}
}
@@ -2504,7 +2537,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"17.5.229"
+ "value":"18.0.391"
}
}
@@ -2583,6 +2616,9 @@ colordef [ 0 locks=0 ] ( 0 0 0 )
color4def [ 0 locks=0 ] ( 0 0 0 0 )
bsdfdef [ 0 locks=0 ] ( "" )
coshaderdef [ 0 locks=0 ] ( "" )
+surfacedef [ 0 locks=0 ] ( "" )
+displacementdef [ 0 locks=0 ] ( "" )
+atmospheredef [ 0 locks=0 ] ( "" )
floatadef [ 0 locks=0 ] ( )
intadef [ 0 locks=0 ] ( )
vector2adef [ 0 locks=0 ] ( )
@@ -2631,7 +2667,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"17.5.229"
+ "value":"18.0.391"
}
}
@@ -2710,6 +2746,9 @@ colordef [ 0 locks=0 ] ( 0 0 0 )
color4def [ 0 locks=0 ] ( 0 0 0 0 )
bsdfdef [ 0 locks=0 ] ( "" )
coshaderdef [ 0 locks=0 ] ( "" )
+surfacedef [ 0 locks=0 ] ( "" )
+displacementdef [ 0 locks=0 ] ( "" )
+atmospheredef [ 0 locks=0 ] ( "" )
floatadef [ 0 locks=0 ] ( )
intadef [ 0 locks=0 ] ( )
vector2adef [ 0 locks=0 ] ( )
@@ -2758,7 +2797,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"17.5.229"
+ "value":"18.0.391"
}
}
@@ -2837,6 +2876,9 @@ colordef [ 0 locks=0 ] ( 0 0 0 )
color4def [ 0 locks=0 ] ( 0 0 0 0 )
bsdfdef [ 0 locks=0 ] ( "" )
coshaderdef [ 0 locks=0 ] ( "" )
+surfacedef [ 0 locks=0 ] ( "" )
+displacementdef [ 0 locks=0 ] ( "" )
+atmospheredef [ 0 locks=0 ] ( "" )
floatadef [ 0 locks=0 ] ( )
intadef [ 0 locks=0 ] ( )
vector2adef [ 0 locks=0 ] ( )
@@ -2885,7 +2927,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"17.5.229"
+ "value":"18.0.391"
}
}
@@ -2964,6 +3006,9 @@ colordef [ 0 locks=0 ] ( 0 0 0 )
color4def [ 0 locks=0 ] ( 0 0 0 0 )
bsdfdef [ 0 locks=0 ] ( "" )
coshaderdef [ 0 locks=0 ] ( "" )
+surfacedef [ 0 locks=0 ] ( "" )
+displacementdef [ 0 locks=0 ] ( "" )
+atmospheredef [ 0 locks=0 ] ( "" )
floatadef [ 0 locks=0 ] ( )
intadef [ 0 locks=0 ] ( )
vector2adef [ 0 locks=0 ] ( )
@@ -3012,7 +3057,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"17.5.229"
+ "value":"18.0.391"
}
}
@@ -3091,6 +3136,9 @@ colordef [ 0 locks=0 ] ( 0 0 0 )
color4def [ 0 locks=0 ] ( 0 0 0 0 )
bsdfdef [ 0 locks=0 ] ( "" )
coshaderdef [ 0 locks=0 ] ( "" )
+surfacedef [ 0 locks=0 ] ( "" )
+displacementdef [ 0 locks=0 ] ( "" )
+atmospheredef [ 0 locks=0 ] ( "" )
floatadef [ 0 locks=0 ] ( )
intadef [ 0 locks=0 ] ( )
vector2adef [ 0 locks=0 ] ( )
@@ -3139,7 +3187,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"17.5.229"
+ "value":"18.0.391"
}
}
@@ -3218,6 +3266,9 @@ colordef [ 0 locks=0 ] ( 0 0 0 )
color4def [ 0 locks=0 ] ( 0 0 0 0 )
bsdfdef [ 0 locks=0 ] ( "" )
coshaderdef [ 0 locks=0 ] ( "" )
+surfacedef [ 0 locks=0 ] ( "" )
+displacementdef [ 0 locks=0 ] ( "" )
+atmospheredef [ 0 locks=0 ] ( "" )
floatadef [ 0 locks=0 ] ( )
intadef [ 0 locks=0 ] ( )
vector2adef [ 0 locks=0 ] ( )
@@ -3266,7 +3317,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"17.5.229"
+ "value":"18.0.391"
}
}
@@ -3345,6 +3396,9 @@ colordef [ 0 locks=0 ] ( 0 0 0 )
color4def [ 0 locks=0 ] ( 0 0 0 0 )
bsdfdef [ 0 locks=0 ] ( "" )
coshaderdef [ 0 locks=0 ] ( "" )
+surfacedef [ 0 locks=0 ] ( "" )
+displacementdef [ 0 locks=0 ] ( "" )
+atmospheredef [ 0 locks=0 ] ( "" )
floatadef [ 0 locks=0 ] ( )
intadef [ 0 locks=0 ] ( )
vector2adef [ 0 locks=0 ] ( )
@@ -3393,7 +3447,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"17.5.229"
+ "value":"18.0.391"
}
}
@@ -3472,6 +3526,9 @@ colordef [ 0 locks=0 ] ( 0 0 0 )
color4def [ 0 locks=0 ] ( 0 0 0 0 )
bsdfdef [ 0 locks=0 ] ( "" )
coshaderdef [ 0 locks=0 ] ( "" )
+surfacedef [ 0 locks=0 ] ( "" )
+displacementdef [ 0 locks=0 ] ( "" )
+atmospheredef [ 0 locks=0 ] ( "" )
floatadef [ 0 locks=0 ] ( )
intadef [ 0 locks=0 ] ( )
vector2adef [ 0 locks=0 ] ( )
@@ -3520,7 +3577,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"17.5.229"
+ "value":"18.0.391"
}
}
@@ -3599,6 +3656,9 @@ colordef [ 0 locks=0 ] ( 0 0 0 )
color4def [ 0 locks=0 ] ( 0 0 0 0 )
bsdfdef [ 0 locks=0 ] ( "" )
coshaderdef [ 0 locks=0 ] ( "" )
+surfacedef [ 0 locks=0 ] ( "" )
+displacementdef [ 0 locks=0 ] ( "" )
+atmospheredef [ 0 locks=0 ] ( "" )
floatadef [ 0 locks=0 ] ( )
intadef [ 0 locks=0 ] ( )
vector2adef [ 0 locks=0 ] ( )
@@ -3647,7 +3707,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"17.5.229"
+ "value":"18.0.391"
}
}
@@ -3726,6 +3786,9 @@ colordef [ 0 locks=0 ] ( 0 0 0 )
color4def [ 0 locks=0 ] ( 0 0 0 0 )
bsdfdef [ 0 locks=0 ] ( "" )
coshaderdef [ 0 locks=0 ] ( "" )
+surfacedef [ 0 locks=0 ] ( "" )
+displacementdef [ 0 locks=0 ] ( "" )
+atmospheredef [ 0 locks=0 ] ( "" )
floatadef [ 0 locks=0 ] ( )
intadef [ 0 locks=0 ] ( )
vector2adef [ 0 locks=0 ] ( )
@@ -3774,7 +3837,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"17.5.229"
+ "value":"18.0.391"
}
}
@@ -3853,6 +3916,9 @@ colordef [ 0 locks=0 ] ( 0 0 0 )
color4def [ 0 locks=0 ] ( 0 0 0 0 )
bsdfdef [ 0 locks=0 ] ( "" )
coshaderdef [ 0 locks=0 ] ( "" )
+surfacedef [ 0 locks=0 ] ( "" )
+displacementdef [ 0 locks=0 ] ( "" )
+atmospheredef [ 0 locks=0 ] ( "" )
floatadef [ 0 locks=0 ] ( )
intadef [ 0 locks=0 ] ( )
vector2adef [ 0 locks=0 ] ( )
@@ -3901,7 +3967,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"17.5.229"
+ "value":"18.0.391"
}
}
@@ -3980,6 +4046,9 @@ colordef [ 0 locks=0 ] ( 0 0 0 )
color4def [ 0 locks=0 ] ( 0 0 0 0 )
bsdfdef [ 0 locks=0 ] ( "" )
coshaderdef [ 0 locks=0 ] ( "" )
+surfacedef [ 0 locks=0 ] ( "" )
+displacementdef [ 0 locks=0 ] ( "" )
+atmospheredef [ 0 locks=0 ] ( "" )
floatadef [ 0 locks=0 ] ( )
intadef [ 0 locks=0 ] ( )
vector2adef [ 0 locks=0 ] ( )
@@ -4028,7 +4097,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"17.5.229"
+ "value":"18.0.391"
}
}
@@ -4107,6 +4176,9 @@ colordef [ 0 locks=0 ] ( 0 0 0 )
color4def [ 0 locks=0 ] ( 0 0 0 0 )
bsdfdef [ 0 locks=0 ] ( "" )
coshaderdef [ 0 locks=0 ] ( "" )
+surfacedef [ 0 locks=0 ] ( "" )
+displacementdef [ 0 locks=0 ] ( "" )
+atmospheredef [ 0 locks=0 ] ( "" )
floatadef [ 0 locks=0 ] ( )
intadef [ 0 locks=0 ] ( )
vector2adef [ 0 locks=0 ] ( )
@@ -4155,7 +4227,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"17.5.229"
+ "value":"18.0.391"
}
}
@@ -4234,6 +4306,9 @@ colordef [ 0 locks=0 ] ( 0 0 0 )
color4def [ 0 locks=0 ] ( 0 0 0 0 )
bsdfdef [ 0 locks=0 ] ( "" )
coshaderdef [ 0 locks=0 ] ( "" )
+surfacedef [ 0 locks=0 ] ( "" )
+displacementdef [ 0 locks=0 ] ( "" )
+atmospheredef [ 0 locks=0 ] ( "" )
floatadef [ 0 locks=0 ] ( )
intadef [ 0 locks=0 ] ( )
vector2adef [ 0 locks=0 ] ( )
@@ -4282,7 +4357,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"17.5.229"
+ "value":"18.0.391"
}
}
@@ -4361,6 +4436,9 @@ colordef [ 0 locks=0 ] ( 0 0 0 )
color4def [ 0 locks=0 ] ( 0 0 0 0 )
bsdfdef [ 0 locks=0 ] ( "" )
coshaderdef [ 0 locks=0 ] ( "" )
+surfacedef [ 0 locks=0 ] ( "" )
+displacementdef [ 0 locks=0 ] ( "" )
+atmospheredef [ 0 locks=0 ] ( "" )
floatadef [ 0 locks=0 ] ( )
intadef [ 0 locks=0 ] ( )
vector2adef [ 0 locks=0 ] ( )
@@ -4409,7 +4487,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"17.5.229"
+ "value":"18.0.391"
}
}
@@ -4488,6 +4566,9 @@ colordef [ 0 locks=0 ] ( 0 0 0 )
color4def [ 0 locks=0 ] ( 0 0 0 0 )
bsdfdef [ 0 locks=0 ] ( "" )
coshaderdef [ 0 locks=0 ] ( "" )
+surfacedef [ 0 locks=0 ] ( "" )
+displacementdef [ 0 locks=0 ] ( "" )
+atmospheredef [ 0 locks=0 ] ( "" )
floatadef [ 0 locks=0 ] ( )
intadef [ 0 locks=0 ] ( )
vector2adef [ 0 locks=0 ] ( )
@@ -4536,7 +4617,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"17.5.229"
+ "value":"18.0.391"
}
}
@@ -4615,6 +4696,9 @@ colordef [ 0 locks=0 ] ( 0 0 0 )
color4def [ 0 locks=0 ] ( 0 0 0 0 )
bsdfdef [ 0 locks=0 ] ( "" )
coshaderdef [ 0 locks=0 ] ( "" )
+surfacedef [ 0 locks=0 ] ( "" )
+displacementdef [ 0 locks=0 ] ( "" )
+atmospheredef [ 0 locks=0 ] ( "" )
floatadef [ 0 locks=0 ] ( )
intadef [ 0 locks=0 ] ( )
vector2adef [ 0 locks=0 ] ( )
@@ -4663,7 +4747,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"17.5.229"
+ "value":"18.0.391"
}
}
@@ -4742,6 +4826,9 @@ colordef [ 0 locks=0 ] ( 0 0 0 )
color4def [ 0 locks=0 ] ( 0 0 0 0 )
bsdfdef [ 0 locks=0 ] ( "" )
coshaderdef [ 0 locks=0 ] ( "" )
+surfacedef [ 0 locks=0 ] ( "" )
+displacementdef [ 0 locks=0 ] ( "" )
+atmospheredef [ 0 locks=0 ] ( "" )
floatadef [ 0 locks=0 ] ( )
intadef [ 0 locks=0 ] ( )
vector2adef [ 0 locks=0 ] ( )
@@ -4790,7 +4877,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"17.5.229"
+ "value":"18.0.391"
}
}
@@ -4869,6 +4956,9 @@ colordef [ 0 locks=0 ] ( 0 0 0 )
color4def [ 0 locks=0 ] ( 0 0 0 0 )
bsdfdef [ 0 locks=0 ] ( "" )
coshaderdef [ 0 locks=0 ] ( "" )
+surfacedef [ 0 locks=0 ] ( "" )
+displacementdef [ 0 locks=0 ] ( "" )
+atmospheredef [ 0 locks=0 ] ( "" )
floatadef [ 0 locks=0 ] ( )
intadef [ 0 locks=0 ] ( )
vector2adef [ 0 locks=0 ] ( )
@@ -4917,7 +5007,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"17.5.229"
+ "value":"18.0.391"
}
}
@@ -4996,6 +5086,9 @@ colordef [ 0 locks=0 ] ( 0 0 0 )
color4def [ 0 locks=0 ] ( 0 0 0 0 )
bsdfdef [ 0 locks=0 ] ( "" )
coshaderdef [ 0 locks=0 ] ( "" )
+surfacedef [ 0 locks=0 ] ( "" )
+displacementdef [ 0 locks=0 ] ( "" )
+atmospheredef [ 0 locks=0 ] ( "" )
floatadef [ 0 locks=0 ] ( )
intadef [ 0 locks=0 ] ( )
vector2adef [ 0 locks=0 ] ( )
@@ -5044,7 +5137,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"17.5.229"
+ "value":"18.0.391"
}
}
@@ -5123,6 +5216,9 @@ colordef [ 0 locks=0 ] ( 0 0 0 )
color4def [ 0 locks=0 ] ( 0 0 0 0 )
bsdfdef [ 0 locks=0 ] ( "" )
coshaderdef [ 0 locks=0 ] ( "" )
+surfacedef [ 0 locks=0 ] ( "" )
+displacementdef [ 0 locks=0 ] ( "" )
+atmospheredef [ 0 locks=0 ] ( "" )
floatadef [ 0 locks=0 ] ( )
intadef [ 0 locks=0 ] ( )
vector2adef [ 0 locks=0 ] ( )
@@ -5171,7 +5267,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"17.5.229"
+ "value":"18.0.391"
}
}
@@ -5250,6 +5346,9 @@ colordef [ 0 locks=0 ] ( 0 0 0 )
color4def [ 0 locks=0 ] ( 0 0 0 0 )
bsdfdef [ 0 locks=0 ] ( "" )
coshaderdef [ 0 locks=0 ] ( "" )
+surfacedef [ 0 locks=0 ] ( "" )
+displacementdef [ 0 locks=0 ] ( "" )
+atmospheredef [ 0 locks=0 ] ( "" )
floatadef [ 0 locks=0 ] ( )
intadef [ 0 locks=0 ] ( )
vector2adef [ 0 locks=0 ] ( )
@@ -5298,7 +5397,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"17.5.229"
+ "value":"18.0.391"
}
}
@@ -5377,6 +5476,9 @@ colordef [ 0 locks=0 ] ( 0 0 0 )
color4def [ 0 locks=0 ] ( 0 0 0 0 )
bsdfdef [ 0 locks=0 ] ( "" )
coshaderdef [ 0 locks=0 ] ( "" )
+surfacedef [ 0 locks=0 ] ( "" )
+displacementdef [ 0 locks=0 ] ( "" )
+atmospheredef [ 0 locks=0 ] ( "" )
floatadef [ 0 locks=0 ] ( )
intadef [ 0 locks=0 ] ( )
vector2adef [ 0 locks=0 ] ( )
@@ -5425,7 +5527,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"17.5.229"
+ "value":"18.0.391"
}
}
@@ -5504,6 +5606,9 @@ colordef [ 0 locks=0 ] ( 0 0 0 )
color4def [ 0 locks=0 ] ( 0 0 0 0 )
bsdfdef [ 0 locks=0 ] ( "" )
coshaderdef [ 0 locks=0 ] ( "" )
+surfacedef [ 0 locks=0 ] ( "" )
+displacementdef [ 0 locks=0 ] ( "" )
+atmospheredef [ 0 locks=0 ] ( "" )
floatadef [ 0 locks=0 ] ( )
intadef [ 0 locks=0 ] ( )
vector2adef [ 0 locks=0 ] ( )
@@ -5552,7 +5657,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"17.5.229"
+ "value":"18.0.391"
}
}
@@ -5631,6 +5736,9 @@ colordef [ 0 locks=0 ] ( 0 0 0 )
color4def [ 0 locks=0 ] ( 0 0 0 0 )
bsdfdef [ 0 locks=0 ] ( "" )
coshaderdef [ 0 locks=0 ] ( "" )
+surfacedef [ 0 locks=0 ] ( "" )
+displacementdef [ 0 locks=0 ] ( "" )
+atmospheredef [ 0 locks=0 ] ( "" )
floatadef [ 0 locks=0 ] ( )
intadef [ 0 locks=0 ] ( )
vector2adef [ 0 locks=0 ] ( )
@@ -5679,7 +5787,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"17.5.229"
+ "value":"18.0.391"
}
}
@@ -5758,6 +5866,9 @@ colordef [ 0 locks=0 ] ( 0 0 0 )
color4def [ 0 locks=0 ] ( 0 0 0 0 )
bsdfdef [ 0 locks=0 ] ( "" )
coshaderdef [ 0 locks=0 ] ( "" )
+surfacedef [ 0 locks=0 ] ( "" )
+displacementdef [ 0 locks=0 ] ( "" )
+atmospheredef [ 0 locks=0 ] ( "" )
floatadef [ 0 locks=0 ] ( )
intadef [ 0 locks=0 ] ( )
vector2adef [ 0 locks=0 ] ( )
@@ -5806,7 +5917,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"17.5.229"
+ "value":"18.0.391"
}
}
@@ -5885,6 +5996,9 @@ colordef [ 0 locks=0 ] ( 0 0 0 )
color4def [ 0 locks=0 ] ( 0 0 0 0 )
bsdfdef [ 0 locks=0 ] ( "" )
coshaderdef [ 0 locks=0 ] ( "" )
+surfacedef [ 0 locks=0 ] ( "" )
+displacementdef [ 0 locks=0 ] ( "" )
+atmospheredef [ 0 locks=0 ] ( "" )
floatadef [ 0 locks=0 ] ( )
intadef [ 0 locks=0 ] ( )
vector2adef [ 0 locks=0 ] ( )
@@ -5933,7 +6047,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"17.5.229"
+ "value":"18.0.391"
}
}
@@ -6012,6 +6126,9 @@ colordef [ 0 locks=0 ] ( 0 0 0 )
color4def [ 0 locks=0 ] ( 0 0 0 0 )
bsdfdef [ 0 locks=0 ] ( "" )
coshaderdef [ 0 locks=0 ] ( "" )
+surfacedef [ 0 locks=0 ] ( "" )
+displacementdef [ 0 locks=0 ] ( "" )
+atmospheredef [ 0 locks=0 ] ( "" )
floatadef [ 0 locks=0 ] ( )
intadef [ 0 locks=0 ] ( )
vector2adef [ 0 locks=0 ] ( )
@@ -6060,7 +6177,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"17.5.229"
+ "value":"18.0.391"
}
}
@@ -6120,7 +6237,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"17.5.229"
+ "value":"18.0.391"
}
}
@@ -6199,6 +6316,9 @@ colordef [ 0 locks=0 ] ( 0 0 0 )
color4def [ 0 locks=0 ] ( 0 0 0 0 )
bsdfdef [ 0 locks=0 ] ( "" )
coshaderdef [ 0 locks=0 ] ( "" )
+surfacedef [ 0 locks=0 ] ( "" )
+displacementdef [ 0 locks=0 ] ( "" )
+atmospheredef [ 0 locks=0 ] ( "" )
floatadef [ 0 locks=0 ] ( )
intadef [ 0 locks=0 ] ( )
vector2adef [ 0 locks=0 ] ( )
@@ -6247,7 +6367,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"17.5.229"
+ "value":"18.0.391"
}
}
@@ -6282,7 +6402,7 @@ inputs
stat
{
create 1535602291
- modify 1573271827
+ modify 1583794070
author Henry@LAPPY586
access 0777
}
@@ -6316,6 +6436,7 @@ vex_updatenmls [ 0 locks=0 ] ( "off" )
vex_matchattrib [ 0 locks=0 ] ( id )
vex_inplace [ 0 locks=0 ] ( "off" )
vex_selectiongroup [ 0 locks=0 ] ( "" )
+vex_precision [ 0 locks=0 ] ( auto )
}
--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
@@ -6360,7 +6481,7 @@ inputs
stat
{
create 1535603297
- modify 1573271827
+ modify 1583794070
author Henry@LAPPY586
access 0777
}
@@ -6414,6 +6535,7 @@ vex_updatenmls [ 0 locks=0 ] ( "off" )
vex_matchattrib [ 0 locks=0 ] ( id )
vex_inplace [ 0 locks=0 ] ( "off" )
vex_selectiongroup [ 0 locks=0 ] ( "" )
+vex_precision [ 0 locks=0 ] ( auto )
}
--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
@@ -6458,7 +6580,7 @@ inputs
stat
{
create 1536019602
- modify 1573271827
+ modify 1583794070
author Henry@LAPPY586
access 0777
}
@@ -6492,6 +6614,7 @@ vex_updatenmls [ 0 locks=0 ] ( "off" )
vex_matchattrib [ 0 locks=0 ] ( id )
vex_inplace [ 0 locks=0 ] ( "off" )
vex_selectiongroup [ 0 locks=0 ] ( "" )
+vex_precision [ 0 locks=0 ] ( auto )
}
--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
@@ -6536,7 +6659,7 @@ inputs
stat
{
create 1536019951
- modify 1573271827
+ modify 1583794070
author Henry@LAPPY586
access 0777
}
@@ -6606,7 +6729,7 @@ inputs
stat
{
create 1536020030
- modify 1573271827
+ modify 1583794070
author Henry@LAPPY586
access 0777
}
@@ -6628,7 +6751,7 @@ Content-Type: text/plain
baseparm
label "Group"
export none
- bindselector uvselect "Modify Points"
+ bindselector points "Modify Points"
"Select the points to affect and press Enter to complete."
0 1 0xffffffff 0 grouptype 0
}
@@ -6781,6 +6904,12 @@ Content-Type: text/plain
default { "0" }
range { 0 1 }
}
+ parm {
+ name "vex_precision"
+ baseparm
+ label "VEX Precision"
+ export none
+ }
--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
Content-Disposition: attachment; filename="hdaroot/set_attribute_threshold.chn"
@@ -6823,6 +6952,7 @@ vex_updatenmls [ 0 locks=0 ] ( "off" )
vex_matchattrib [ 0 locks=0 ] ( id )
vex_inplace [ 0 locks=0 ] ( "off" )
vex_selectiongroup [ 0 locks=0 ] ( "" )
+vex_precision [ 0 locks=0 ] ( auto )
folder1 [ 0 locks=0 ] ( 0 0 )
threshold [ 0 locks=0 ] ( [ threshold 1 ] )
bindname1 [ 0 locks=0 ] ( `chs(\"../bindname1\")` )
@@ -6871,7 +7001,7 @@ inputs
stat
{
create 1536021997
- modify 1573271827
+ modify 1583794070
author Henry@LAPPY586
access 0777
}
@@ -7101,7 +7231,7 @@ Content-Type: text/plain
{
version 0.8
-do_preview [ 0 locks=0 ] ( [ do_preview 0 ] )
+do_preview [ 0 locks=0 ] ( [ do_preview 1 ] )
do_sprite [ 0 locks=0 ] ( [ do_sprite 0 ] )
spritemap [ 0 locks=0 ] ( sphere_matte.pic )
spritescale [ 0 locks=0 ] ( [ spritescale 1 ] )
@@ -7347,7 +7477,7 @@ inputs
stat
{
create 1542260169
- modify 1573271827
+ modify 1583794070
author Henry@LAPPY586
access 0777
}
@@ -7627,7 +7757,7 @@ inputs
stat
{
create 1542316848
- modify 1573271827
+ modify 1583794070
author Henry@LAPPY586
access 0777
}
@@ -8099,7 +8229,7 @@ inputs
stat
{
create 1546576717
- modify 1573271827
+ modify 1583794070
author Henry@LAPPY586
access 0777
}
@@ -8135,6 +8265,7 @@ vex_updatenmls [ 0 locks=0 ] ( "off" )
vex_matchattrib [ 0 locks=0 ] ( id )
vex_inplace [ 0 locks=0 ] ( "off" )
vex_selectiongroup [ 0 locks=0 ] ( "" )
+vex_precision [ 0 locks=0 ] ( auto )
}
--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
@@ -8179,7 +8310,7 @@ inputs
stat
{
create 1555307073
- modify 1573271827
+ modify 1583794070
author Henry@LAPPY586
access 0777
}
@@ -8414,7 +8545,7 @@ inputs
stat
{
create 1550362818
- modify 1573271827
+ modify 1583794070
author Henry@LAPPY586
access 0777
}
@@ -8448,6 +8579,7 @@ vex_updatenmls [ 0 locks=0 ] ( "off" )
vex_matchattrib [ 0 locks=0 ] ( id )
vex_inplace [ 0 locks=0 ] ( "off" )
vex_selectiongroup [ 0 locks=0 ] ( "" )
+vex_precision [ 0 locks=0 ] ( auto )
}
--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
@@ -8494,7 +8626,7 @@ inputs
stat
{
create 1563654973
- modify 1573271827
+ modify 1583794070
author Henry@LAPPY586
access 0777
}
@@ -8663,7 +8795,7 @@ inputs
stat
{
create 1535516032
- modify 1573271827
+ modify 1583794322
author Henry@LAPPY586
access 0777
}
@@ -8697,7 +8829,7 @@ grouptype [ 0 locks=0 ] ( "point" )
mergeop [ 0 locks=0 ] ( "replace" )
folder0 [ 0 locks=0 ] ( 0 )
groupbase [ 0 locks=0 ] ( "on" )
-basegroup [ 0 locks=0 ] ( [ basegroup 0 ] )
+basegroup [ 0 locks=0 ] ( [ basegroup "80 90-91" ] )
ordered [ 0 locks=0 ] ( "off" )
geotype [ 0 locks=0 ] ( "all" )
switcher3 [ 0 locks=0 ] ( 0 )
@@ -8740,7 +8872,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"17.5.229"
+ "value":"18.0.391"
}
}
@@ -8808,7 +8940,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"17.5.229"
+ "value":"18.0.391"
}
}
@@ -8876,7 +9008,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"17.5.229"
+ "value":"18.0.391"
}
}
@@ -8913,7 +9045,7 @@ inputs
stat
{
create 1535601802
- modify 1573271827
+ modify 1583794070
author Henry@LAPPY586
access 0777
}
@@ -8951,7 +9083,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"17.5.229"
+ "value":"18.0.391"
}
}
@@ -8988,7 +9120,7 @@ inputs
stat
{
create 1535602256
- modify 1573271827
+ modify 1583794070
author Henry@LAPPY586
access 0777
}
@@ -9016,7 +9148,7 @@ Content-Type: text/plain
{
version 0.8
-input [ 8 locks=0 ] ( [ input 1 ] )
+input [ 8 locks=0 ] ( [ input 0 ] )
}
--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
@@ -9026,7 +9158,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"17.5.229"
+ "value":"18.0.391"
}
}
@@ -9060,7 +9192,7 @@ inputs
stat
{
create 1535603093
- modify 1565324727
+ modify 1583794323
author Henry@LAPPY586
access 0777
}
@@ -9085,7 +9217,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"17.5.229"
+ "value":"18.0.391"
}
}
@@ -9146,7 +9278,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"17.5.229"
+ "value":"18.0.391"
}
}
@@ -9207,7 +9339,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"17.5.229"
+ "value":"18.0.391"
}
}
@@ -9244,7 +9376,7 @@ inputs
stat
{
create 1535603204
- modify 1573271827
+ modify 1583794070
author Henry@LAPPY586
access 0777
}
@@ -9345,7 +9477,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"17.5.229"
+ "value":"18.0.391"
}
}
@@ -9384,7 +9516,7 @@ inputs
stat
{
create 1536019933
- modify 1573271827
+ modify 1583794070
author Henry@LAPPY586
access 0777
}
@@ -9423,7 +9555,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"17.5.229"
+ "value":"18.0.391"
}
}
@@ -9480,7 +9612,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"17.5.229"
+ "value":"18.0.391"
}
}
@@ -9515,7 +9647,7 @@ inputs
stat
{
create 1536021649
- modify 1573271827
+ modify 1583794070
author Henry@LAPPY586
access 0777
}
@@ -9590,7 +9722,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"17.5.229"
+ "value":"18.0.391"
}
}
@@ -9664,7 +9796,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"17.5.229"
+ "value":"18.0.391"
}
}
@@ -9766,7 +9898,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"17.5.229"
+ "value":"18.0.391"
}
}
@@ -9867,7 +9999,7 @@ inputs
stat
{
create 1542260756
- modify 1573271827
+ modify 1583794070
author Henry@LAPPY586
access 0777
}
@@ -9905,7 +10037,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"17.5.229"
+ "value":"18.0.391"
}
}
@@ -9982,7 +10114,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"17.5.229"
+ "value":"18.0.391"
}
}
@@ -10043,7 +10175,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"17.5.229"
+ "value":"18.0.391"
}
}
@@ -10145,7 +10277,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"17.5.229"
+ "value":"18.0.391"
}
}
@@ -10180,7 +10312,7 @@ inputs
stat
{
create 1542335542
- modify 1573271827
+ modify 1583794070
author Henry@LAPPY586
access 0777
}
@@ -10255,7 +10387,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"17.5.229"
+ "value":"18.0.391"
}
}
@@ -10292,7 +10424,7 @@ inputs
stat
{
create 1542406034
- modify 1573271827
+ modify 1583794070
author Henry@LAPPY586
access 0777
}
@@ -10320,7 +10452,7 @@ Content-Type: text/plain
{
version 0.8
-input [ 8 locks=0 ] ( [ input 1 ] )
+input [ 8 locks=0 ] ( [ input 0 ] )
}
--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
@@ -10330,7 +10462,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"17.5.229"
+ "value":"18.0.391"
}
}
@@ -10382,7 +10514,11 @@ Content-Type: text/plain
version 0.8
group [ 0 locks=0 ] ( "" )
grouptype [ 0 locks=0 ] ( "point" )
+usepieceattrib [ 0 locks=0 ] ( "off" )
+pieceattrib [ 0 locks=0 ] ( name )
attribname [ 0 locks=0 ] ( id )
+attribtype [ 0 locks=0 ] ( "int" )
+prefix [ 0 locks=0 ] ( piece )
}
--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
@@ -10392,7 +10528,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"17.5.229"
+ "value":"18.0.391"
}
}
@@ -10429,7 +10565,7 @@ inputs
stat
{
create 1542406097
- modify 1573271827
+ modify 1583794070
author Henry@LAPPY586
access 0777
}
@@ -10457,7 +10593,7 @@ Content-Type: text/plain
{
version 0.8
-input [ 8 locks=0 ] ( [ input 1 ] )
+input [ 8 locks=0 ] ( [ input 0 ] )
}
--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
@@ -10467,7 +10603,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"17.5.229"
+ "value":"18.0.391"
}
}
@@ -10519,7 +10655,11 @@ Content-Type: text/plain
version 0.8
group [ 0 locks=0 ] ( "" )
grouptype [ 0 locks=0 ] ( "point" )
+usepieceattrib [ 0 locks=0 ] ( "off" )
+pieceattrib [ 0 locks=0 ] ( name )
attribname [ 0 locks=0 ] ( id )
+attribtype [ 0 locks=0 ] ( "int" )
+prefix [ 0 locks=0 ] ( piece )
}
--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
@@ -10529,7 +10669,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"17.5.229"
+ "value":"18.0.391"
}
}
@@ -10607,7 +10747,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"17.5.229"
+ "value":"18.0.391"
}
}
@@ -10642,7 +10782,7 @@ inputs
stat
{
create 1565319729
- modify 1573271827
+ modify 1583794070
author Henry@LAPPY586
access 0777
}
@@ -10687,7 +10827,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"17.5.229"
+ "value":"18.0.391"
}
}
@@ -10722,7 +10862,7 @@ inputs
stat
{
create 1565319729
- modify 1573271827
+ modify 1583794070
author Henry@LAPPY586
access 0777
}
@@ -10753,7 +10893,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"17.5.229"
+ "value":"18.0.391"
}
}
diff --git a/otls/MOPS_Spread_Falloff.hda/MOPS_8_8Sop_1MOPs__Spread__Falloff_8_81.4/DialogScript b/otls/MOPS_Spread_Falloff.hda/MOPS_8_8Sop_1MOPs__Spread__Falloff_8_81.4/DialogScript
index f9eafbdb..fa805e04 100644
--- a/otls/MOPS_Spread_Falloff.hda/MOPS_8_8Sop_1MOPs__Spread__Falloff_8_81.4/DialogScript
+++ b/otls/MOPS_Spread_Falloff.hda/MOPS_8_8Sop_1MOPs__Spread__Falloff_8_81.4/DialogScript
@@ -189,12 +189,12 @@
name "basegroup"
label "Start Point Group"
type string
- default { "0" }
+ default { "" }
menutoggle {
- [ "opmenu -l group1 basegroup" ]
+ [ "opmenu -l -a group1 basegroup" ]
}
parmtag { "autoscope" "0000000000000000" }
- parmtag { "script_action" "import soputils\nkwargs['geometrytype'] = kwargs['node'].parmTuple('grouptype')\nkwargs['inputindex'] = 0\nkwargs['ordered'] = kwargs['node'].parm('ordered').eval()\nsoputils.selectGroupParm(kwargs)" }
+ parmtag { "script_action" "import soputils\nkwargs['geometrytype'] = kwargs['node'].parmTuple('grouptype')\nkwargs['inputindex'] = 0\n#kwargs['ordered'] = kwargs['node'].parm('ordered').eval()\nkwargs['ordered'] = 0\nsoputils.selectGroupParm(kwargs)" }
parmtag { "script_action_help" "Select geometry from an available viewport.\nShift-click to turn on Select Groups." }
parmtag { "script_action_icon" "BUTTONS_reselect" }
}
diff --git a/otls/MOPS_Spread_Falloff.hda/MOPS_8_8Sop_1MOPs__Spread__Falloff_8_81.4/ExtraFileOptions b/otls/MOPS_Spread_Falloff.hda/MOPS_8_8Sop_1MOPs__Spread__Falloff_8_81.4/ExtraFileOptions
index 0d8f79f0..5244a628 100644
--- a/otls/MOPS_Spread_Falloff.hda/MOPS_8_8Sop_1MOPs__Spread__Falloff_8_81.4/ExtraFileOptions
+++ b/otls/MOPS_Spread_Falloff.hda/MOPS_8_8Sop_1MOPs__Spread__Falloff_8_81.4/ExtraFileOptions
@@ -39,6 +39,10 @@
"type":"string",
"value":""
},
+ "ViewerStateModule/CodeGenInput":{
+ "type":"string",
+ "value":"{\n\t\"state_name\":\"\",\n\t\"state_label\":\"\",\n\t\"state_descr\":\"\",\n\t\"state_icon\":\"$HH/config/Icons\",\n\t\"state_debug_menu\":0,\n\t\"state_sample\":0,\n\t\"state_handler_indices\":[]\n}\n"
+ },
"mops_falloff_04.svg/Cursor":{
"type":"intarray",
"value":[1,1]
diff --git a/otls/MOPS_Spread_Falloff.hda/MOPS_8_8Sop_1MOPs__Spread__Falloff_8_81.4/TypePropertiesOptions b/otls/MOPS_Spread_Falloff.hda/MOPS_8_8Sop_1MOPs__Spread__Falloff_8_81.4/TypePropertiesOptions
index b4811492..a6d52acf 100644
--- a/otls/MOPS_Spread_Falloff.hda/MOPS_8_8Sop_1MOPs__Spread__Falloff_8_81.4/TypePropertiesOptions
+++ b/otls/MOPS_Spread_Falloff.hda/MOPS_8_8Sop_1MOPs__Spread__Falloff_8_81.4/TypePropertiesOptions
@@ -1,14 +1,14 @@
-SaveSpareParms := 0;
CheckExternal := 1;
-SaveIcon := 1;
-GzipContents := 1;
ContentsCompressionType := 1;
-UnlockOnCreate := 0;
-SaveCachedCode := 0;
+ForbidOutsideParms := 1;
+GzipContents := 1;
LockContents := 1;
MakeDefault := 1;
-UseDSParms := 1;
-ForbidOutsideParms := 1;
+ParmsFromVfl := 0;
PrefixDroppedParmLabel := 0;
PrefixDroppedParmName := 0;
-ParmsFromVfl := 0;
+SaveCachedCode := 0;
+SaveIcon := 1;
+SaveSpareParms := 0;
+UnlockOnCreate := 0;
+UseDSParms := 1;
diff --git a/otls/MOPS_Visualize_Frame.hda/INDEX__SECTION b/otls/MOPS_Visualize_Frame.hda/INDEX__SECTION
index aef6167b..ea8ac6f4 100644
--- a/otls/MOPS_Visualize_Frame.hda/INDEX__SECTION
+++ b/otls/MOPS_Visualize_Frame.hda/INDEX__SECTION
@@ -10,5 +10,5 @@ Inputs: 1 to 1
Subnet: true
Python: false
Empty: false
-Modified: Tue Jul 9 22:33:54 2019
+Modified: Sun Mar 22 15:08:20 2020
diff --git a/otls/MOPS_Visualize_Frame.hda/MOPS_8_8Sop_1Visualize__Frame_8_81.0/Contents.dir/.OPdummydefs b/otls/MOPS_Visualize_Frame.hda/MOPS_8_8Sop_1Visualize__Frame_8_81.0/Contents.dir/.OPdummydefs
index 373fbdc8..69119b22 100644
Binary files a/otls/MOPS_Visualize_Frame.hda/MOPS_8_8Sop_1Visualize__Frame_8_81.0/Contents.dir/.OPdummydefs and b/otls/MOPS_Visualize_Frame.hda/MOPS_8_8Sop_1Visualize__Frame_8_81.0/Contents.dir/.OPdummydefs differ
diff --git a/otls/MOPS_Visualize_Frame.hda/MOPS_8_8Sop_1Visualize__Frame_8_81.0/Contents.dir/.OPfallbacks b/otls/MOPS_Visualize_Frame.hda/MOPS_8_8Sop_1Visualize__Frame_8_81.0/Contents.dir/.OPfallbacks
index 4ec63fbb..22bd775c 100644
--- a/otls/MOPS_Visualize_Frame.hda/MOPS_8_8Sop_1Visualize__Frame_8_81.0/Contents.dir/.OPfallbacks
+++ b/otls/MOPS_Visualize_Frame.hda/MOPS_8_8Sop_1Visualize__Frame_8_81.0/Contents.dir/.OPfallbacks
@@ -1,6 +1,6 @@
-MOPS::Sop/Extract_Attributes::1.0 C:/Users/Henry/Projects/VFX/MOPS/otls/MOPS_extractAttributes.hda
+MOPS::Sop/Extract_Attributes::1.0 C:/Users/Henry/Projects/VFX/MOPS_Prime/otls/MOPS_extractAttributes.hda
MOPS::Sop/Extract_Attributes::1.0 otls/MOPS_extractAttributes.hda
-Sop/attribdelete C:/PROGRA~1/SIDEEF~1/HOUDIN~1.229/houdini/otls/OPlibSop.hda
+Sop/attribdelete C:/PROGRA~1/SIDEEF~1/HOUDIN~1.391/houdini/otls/OPlibSop.hda
Sop/attribdelete otls/OPlibSop.hda
-Sop/attribwrangle C:/PROGRA~1/SIDEEF~1/HOUDIN~1.229/houdini/otls/OPlibSop.hda
+Sop/attribwrangle C:/PROGRA~1/SIDEEF~1/HOUDIN~1.391/houdini/otls/OPlibSop.hda
Sop/attribwrangle otls/OPlibSop.hda
diff --git a/otls/MOPS_Visualize_Frame.hda/MOPS_8_8Sop_1Visualize__Frame_8_81.0/Contents.dir/Contents.mime b/otls/MOPS_Visualize_Frame.hda/MOPS_8_8Sop_1Visualize__Frame_8_81.0/Contents.dir/Contents.mime
index 2f9386f3..34fb9858 100644
--- a/otls/MOPS_Visualize_Frame.hda/MOPS_8_8Sop_1Visualize__Frame_8_81.0/Contents.dir/Contents.mime
+++ b/otls/MOPS_Visualize_Frame.hda/MOPS_8_8Sop_1Visualize__Frame_8_81.0/Contents.dir/Contents.mime
@@ -32,24 +32,24 @@ Content-Type: text/plain
sopflags sopflags =
comment ""
-position 1.7841 -4.5317
+position -12.6815 1.73941
connectornextid 1
-flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
+flags = lock off model off template off footprint off xray off bypass off display on render on highlight off unload off savedata off compress on colordefault on exposed on
outputsNamed3
{
}
inputsNamed3
{
-0 MOPs_Trails 1 1 "input1"
+0 MOPs_Transform_Modifier1 1 1 "input1"
}
inputs
{
-0 MOPs_Trails 1 1
+0 MOPs_Transform_Modifier1 0 1
}
stat
{
- create 1562628489
- modify 1562736441
+ create 1584895659
+ modify 1584914898
author Henry@LAPPY586
access 0777
}
@@ -150,7 +150,7 @@ inputs
stat
{
create 1542840097
- modify 1562628489
+ modify 1584914855
author Henry@LAPPY586
access 0777
}
@@ -171,10 +171,18 @@ grouptype [ 0 locks=0 ] ( "guess" )
class [ 0 locks=0 ] ( "point" )
vex_numcount [ 0 locks=0 ] ( 10 )
vex_threadjobsize [ 0 locks=0 ] ( 1024 )
-snippet [ 0 locks=0 ] ( "matrix3 m = qconvert(p@orient);
-v@N = {0,0,1}*m;
-v@up = {0,1,0}*m;
-v@binormal = {1,0,0}*m;" )
+snippet [ 0 locks=0 ] ( "// apply mops_orient pretransform
+
+vector4 mops_orient = quaternion(ident());
+if(haspointattrib(0, \"mops_orient\")) {
+ mops_orient = point(0, \"mops_orient\", @ptnum);
+}
+p@orient = qmultiply(p@orient, mops_orient);
+
+matrix3 m = qconvert(p@orient);
+v@viz_N = {0,0,1}*m;
+v@viz_up = {0,1,0}*m;
+v@viz_binormal = {1,0,0}*m;" )
exportlist [ 0 locks=0 ] ( * )
vex_strict [ 0 locks=0 ] ( "off" )
autobind [ 0 locks=0 ] ( "on" )
@@ -187,6 +195,7 @@ vex_updatenmls [ 0 locks=0 ] ( "off" )
vex_matchattrib [ 0 locks=0 ] ( id )
vex_inplace [ 0 locks=0 ] ( "off" )
vex_selectiongroup [ 0 locks=0 ] ( "" )
+vex_precision [ 0 locks=0 ] ( auto )
}
--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
@@ -213,7 +222,7 @@ Content-Type: text/plain
sopflags sopflags =
comment ""
-position 1.29394 3.62547
+position 1.72165 3.73591
connectornextid 2
flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
outputsNamed3
@@ -231,7 +240,7 @@ inputs
stat
{
create 1557810246
- modify 1557813721
+ modify 1584895438
author Henry@LAPPY586
access 0777
}
@@ -316,7 +325,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"17.5.229"
+ "value":"18.0.391"
}
}
@@ -346,7 +355,7 @@ inputsNamed3
}
inputs
{
-0 (0) 1 1
+0 (0) 0 1
}
stat
{
@@ -377,7 +386,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"17.5.229"
+ "value":"18.0.391"
}
}
@@ -414,7 +423,7 @@ inputs
stat
{
create 1557810327
- modify 1557813725
+ modify 1584895621
author Henry@LAPPY586
access 0777
}
@@ -436,7 +445,7 @@ destgrouptype [ 0 locks=0 ] ( "points" )
matchbyattribute [ 0 locks=0 ] ( "off" )
attributetomatch [ 0 locks=0 ] ( piece )
attrib [ 0 locks=0 ] ( "otherattrib" )
-attribname [ 0 locks=0 ] ( "N up binormal" )
+attribname [ 0 locks=0 ] ( "viz_N viz_up viz_binormal" )
copyp [ 0 locks=0 ] ( "on" )
usenewname [ 0 locks=0 ] ( "off" )
newname [ 0 locks=0 ] ( "" )
@@ -451,7 +460,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"17.5.229"
+ "value":"18.0.391"
}
}
diff --git a/otls/MOPS_Visualize_Frame.hda/MOPS_8_8Sop_1Visualize__Frame_8_81.0/ExtraFileOptions b/otls/MOPS_Visualize_Frame.hda/MOPS_8_8Sop_1Visualize__Frame_8_81.0/ExtraFileOptions
index 7e8cd5c9..772715d3 100644
--- a/otls/MOPS_Visualize_Frame.hda/MOPS_8_8Sop_1Visualize__Frame_8_81.0/ExtraFileOptions
+++ b/otls/MOPS_Visualize_Frame.hda/MOPS_8_8Sop_1Visualize__Frame_8_81.0/ExtraFileOptions
@@ -1,7 +1,7 @@
{
"OnCreated/Cursor":{
"type":"intarray",
- "value":[1,1]
+ "value":[34,31]
},
"OnCreated/IsExpr":{
"type":"bool",
@@ -39,6 +39,10 @@
"type":"string",
"value":""
},
+ "ViewerStateModule/CodeGenInput":{
+ "type":"string",
+ "value":"{\n\t\"state_name\":\"\",\n\t\"state_label\":\"\",\n\t\"state_descr\":\"\",\n\t\"state_icon\":\"$HH/config/Icons\",\n\t\"state_debug_menu\":0,\n\t\"state_sample\":0,\n\t\"state_handler_indices\":[]\n}\n"
+ },
"mops_TD_tools_05.svg/Cursor":{
"type":"intarray",
"value":[1,1]
diff --git a/otls/MOPS_Visualize_Frame.hda/MOPS_8_8Sop_1Visualize__Frame_8_81.0/OnCreated b/otls/MOPS_Visualize_Frame.hda/MOPS_8_8Sop_1Visualize__Frame_8_81.0/OnCreated
index 69a265b5..395c754f 100644
--- a/otls/MOPS_Visualize_Frame.hda/MOPS_8_8Sop_1Visualize__Frame_8_81.0/OnCreated
+++ b/otls/MOPS_Visualize_Frame.hda/MOPS_8_8Sop_1Visualize__Frame_8_81.0/OnCreated
@@ -15,7 +15,7 @@ if hasattr(hou, 'viewportVisualizers'):
node = kwargs['node']
v1 = hou.viewportVisualizers.createVisualizer(hou.viewportVisualizers.type('vis_marker'), hou.viewportVisualizerCategory.Node, node)
v1.setIsActive(True)
- v1.setParm('attrib', 'N')
+ v1.setParm('attrib', 'viz_N')
v1.setParm('style', 'vector')
v1.setParm('markercolorr', 0);
v1.setParm('markercolorg', 0);
@@ -23,7 +23,7 @@ if hasattr(hou, 'viewportVisualizers'):
v2 = hou.viewportVisualizers.createVisualizer(hou.viewportVisualizers.type('vis_marker'), hou.viewportVisualizerCategory.Node, node)
v2.setIsActive(True)
- v2.setParm('attrib', 'up')
+ v2.setParm('attrib', 'viz_up')
v2.setParm('style', 'vector')
v2.setParm('markercolorr', 0);
v2.setParm('markercolorg', 1);
@@ -31,7 +31,7 @@ if hasattr(hou, 'viewportVisualizers'):
v1 = hou.viewportVisualizers.createVisualizer(hou.viewportVisualizers.type('vis_marker'), hou.viewportVisualizerCategory.Node, node)
v1.setIsActive(True)
- v1.setParm('attrib', 'binormal')
+ v1.setParm('attrib', 'viz_binormal')
v1.setParm('style', 'vector')
v1.setParm('markercolorr', 1);
v1.setParm('markercolorg', 0);
diff --git a/otls/MOPS_Visualize_Frame.hda/MOPS_8_8Sop_1Visualize__Frame_8_81.0/TypePropertiesOptions b/otls/MOPS_Visualize_Frame.hda/MOPS_8_8Sop_1Visualize__Frame_8_81.0/TypePropertiesOptions
index b4811492..a6d52acf 100644
--- a/otls/MOPS_Visualize_Frame.hda/MOPS_8_8Sop_1Visualize__Frame_8_81.0/TypePropertiesOptions
+++ b/otls/MOPS_Visualize_Frame.hda/MOPS_8_8Sop_1Visualize__Frame_8_81.0/TypePropertiesOptions
@@ -1,14 +1,14 @@
-SaveSpareParms := 0;
CheckExternal := 1;
-SaveIcon := 1;
-GzipContents := 1;
ContentsCompressionType := 1;
-UnlockOnCreate := 0;
-SaveCachedCode := 0;
+ForbidOutsideParms := 1;
+GzipContents := 1;
LockContents := 1;
MakeDefault := 1;
-UseDSParms := 1;
-ForbidOutsideParms := 1;
+ParmsFromVfl := 0;
PrefixDroppedParmLabel := 0;
PrefixDroppedParmName := 0;
-ParmsFromVfl := 0;
+SaveCachedCode := 0;
+SaveIcon := 1;
+SaveSpareParms := 0;
+UnlockOnCreate := 0;
+UseDSParms := 1;
diff --git a/otls/MOPS_applyAttributes.hda/INDEX__SECTION b/otls/MOPS_applyAttributes.hda/INDEX__SECTION
index 64a956fe..51440945 100644
--- a/otls/MOPS_applyAttributes.hda/INDEX__SECTION
+++ b/otls/MOPS_applyAttributes.hda/INDEX__SECTION
@@ -10,7 +10,7 @@ Inputs: 2 to 2
Subnet: true
Python: false
Empty: false
-Modified: Sat Jan 5 11:24:00 2019
+Modified: Fri Jan 4 00:24:00 2019
Operator: MOPS::Apply_Attributes::1.1
Label: MOPs Apply Attributes
@@ -24,7 +24,7 @@ Inputs: 2 to 2
Subnet: true
Python: false
Empty: false
-Modified: Wed Mar 13 14:28:30 2019
+Modified: Fri Mar 15 14:28:30 2019
Operator: MOPS::Apply_Attributes::1.2
Label: MOPs Apply Attributes
@@ -38,7 +38,7 @@ Inputs: 2 to 2
Subnet: true
Python: false
Empty: false
-Modified: Fri Jun 14 09:20:36 2019
+Modified: Sun Jun 16 09:20:36 2019
Operator: MOPS::Apply_Attributes::1.3
Label: MOPs Apply Attributes
@@ -52,7 +52,7 @@ Inputs: 2 to 2
Subnet: true
Python: false
Empty: false
-Modified: Sat Sep 14 09:42:50 2019
+Modified: Mon Sep 16 09:42:50 2019
Operator: MOPS::Apply_Attributes::1.4
Label: MOPs Apply Attributes
@@ -66,5 +66,5 @@ Inputs: 2 to 2
Subnet: true
Python: false
Empty: false
-Modified: Fri Jan 10 21:32:28 2020
+Modified: Wed Mar 25 19:27:27 2020
diff --git a/otls/MOPS_applyAttributes.hda/MOPS_8_8Sop_1Apply__Attributes_8_81.4/Contents.dir/.OPdummydefs b/otls/MOPS_applyAttributes.hda/MOPS_8_8Sop_1Apply__Attributes_8_81.4/Contents.dir/.OPdummydefs
index 52bc5477..06785746 100644
Binary files a/otls/MOPS_applyAttributes.hda/MOPS_8_8Sop_1Apply__Attributes_8_81.4/Contents.dir/.OPdummydefs and b/otls/MOPS_applyAttributes.hda/MOPS_8_8Sop_1Apply__Attributes_8_81.4/Contents.dir/.OPdummydefs differ
diff --git a/otls/MOPS_applyAttributes.hda/MOPS_8_8Sop_1Apply__Attributes_8_81.4/Contents.dir/.OPfallbacks b/otls/MOPS_applyAttributes.hda/MOPS_8_8Sop_1Apply__Attributes_8_81.4/Contents.dir/.OPfallbacks
index a465cc74..77d05cba 100644
--- a/otls/MOPS_applyAttributes.hda/MOPS_8_8Sop_1Apply__Attributes_8_81.4/Contents.dir/.OPfallbacks
+++ b/otls/MOPS_applyAttributes.hda/MOPS_8_8Sop_1Apply__Attributes_8_81.4/Contents.dir/.OPfallbacks
@@ -1,4 +1,4 @@
-Sop/attribdelete C:/PROGRA~1/SIDEEF~1/HOUDIN~1.287/houdini/otls/OPlibSop.hda
+Sop/attribdelete C:/PROGRA~1/SIDEEF~1/HOUDIN~1.391/houdini/otls/OPlibSop.hda
Sop/attribdelete otls/OPlibSop.hda
-Sop/attribwrangle C:/PROGRA~1/SIDEEF~1/HOUDIN~1.287/houdini/otls/OPlibSop.hda
+Sop/attribwrangle C:/PROGRA~1/SIDEEF~1/HOUDIN~1.391/houdini/otls/OPlibSop.hda
Sop/attribwrangle otls/OPlibSop.hda
diff --git a/otls/MOPS_applyAttributes.hda/MOPS_8_8Sop_1Apply__Attributes_8_81.4/Contents.dir/Contents.mime b/otls/MOPS_applyAttributes.hda/MOPS_8_8Sop_1Apply__Attributes_8_81.4/Contents.dir/Contents.mime
index b1a31983..3562e442 100644
--- a/otls/MOPS_applyAttributes.hda/MOPS_8_8Sop_1Apply__Attributes_8_81.4/Contents.dir/Contents.mime
+++ b/otls/MOPS_applyAttributes.hda/MOPS_8_8Sop_1Apply__Attributes_8_81.4/Contents.dir/Contents.mime
@@ -32,22 +32,27 @@ Content-Type: text/plain
sopflags sopflags =
comment ""
-position -8.34824 -5.02667
-connectornextid 0
+position -0.0708374 -10.8034
+connectornextid 3
flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
outputsNamed3
{
+2 "output1"
}
inputsNamed3
{
+0 MOPS_IN 0 1 "input1"
+1 switch_do_pscale 0 1 "input2"
}
inputs
{
+0 MOPS_IN 0 1
+1 switch_do_pscale 0 1
}
stat
{
- create 1578720722
- modify 1578720727
+ create 1584163373
+ modify 1585189489
author Henry@LAPPY586
access 0777
}
@@ -72,34 +77,9 @@ Content-Disposition: attachment; filename="hdaroot.inp"
Content-Type: text/plain
2
-0 -3.8925899888241293 11.67943267671312 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+0 -4.7416321097128806 13.260820281312983 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
1 2.7089195753182715 10.011517446170219 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
---HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
-Content-Disposition: attachment; filename="hdaroot/__stickynote2.postitinit"
-Content-Type: text/plain
-
-type = postitnote
-matchesdef = 0
-
---HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
-Content-Disposition: attachment; filename="hdaroot/__stickynote2.postitdef"
-Content-Type: text/plain
-
-text "is there a good reason why we shouldn't always output scale and orient attributes? what could this break in other nodes?"
-position 5.37788 -2.63161
-size 2.5 2.5
-flags = minimize off
-stat
-{
- create 1569468365
- modify 1569468388
- author Henry@LAPPY586
- access 0777
-}
-color UT_Color RGB 1 0.969 0.522
-end
-
--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
Content-Disposition: attachment; filename="hdaroot/apply_attributes1.init"
Content-Type: text/plain
@@ -113,7 +93,7 @@ Content-Type: text/plain
sopflags sopflags =
comment ""
-position -0.882378 -0.446626
+position -1.32258 2.86914
connectornextid 3
flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
outputsNamed3
@@ -122,18 +102,18 @@ outputsNamed3
}
inputsNamed3
{
-0 sort1 1 1 "input1"
+0 switch_is_prim_group 1 1 "input1"
1 switch4 1 1 "input2"
}
inputs
{
-0 sort1 0 1
+0 switch_is_prim_group 0 1
1 switch4 0 1
}
stat
{
create 1529358487
- modify 1578720723
+ modify 1585189633
author Henry@LAPPY586
access 0777
}
@@ -155,7 +135,7 @@ Content-Type: text/plain
baseparm
label "Group"
export none
- bindselector uvselect "Modify Points"
+ bindselector points "Modify Points"
"Select the points to affect and press Enter to complete."
0 1 0xffffffff 0 grouptype 0
}
@@ -501,7 +481,7 @@ Content-Type: text/plain
{
version 0.8
folder0 [ 0 locks=0 autoscope=0 ] ( 0 0 )
-group [ 0 locks=0 autoscope=1 ] ( [ group "23 ^!@mops_falloff>0" ] )
+group [ 0 locks=0 autoscope=1 ] ( [ group "" ] )
grouptype [ 0 locks=0 autoscope=0 ] ( [ grouptype 0 ] )
class [ 0 locks=0 autoscope=0 ] ( "point" )
vex_numcount [ 0 locks=0 autoscope=0 ] ( 10 )
@@ -557,7 +537,7 @@ int doS = chi(\"do_scale\");
int doWeight = chi(\"do_weight\");
// define starting attributes.
-matrix3 m = primintrinsic(0, \"transform\", @ptnum);
+matrix3 m = 3@__transform;
vector pos = 0;
vector scale = cracktransform(0,0,2,{0,0,0},m);
float pscale = 1;
@@ -568,6 +548,7 @@ string type = primintrinsic(0, \"typename\", @ptnum);
if((type != \"PackedGeometry\") && (type != \"PackedFragment\") && (type != \"PackedDiskSequence\") && (type != \"AlembicRef\")) {
// if this is a regular point, just use some basic defaults here.
orient = quaternion(ident());
+
scale = {1,1,1};
if(haspointattrib(0, \"scale\")) {
scale = point(0, \"scale\", @ptnum);
@@ -591,9 +572,11 @@ if((type != \"PackedGeometry\") && (type != \"PackedFragment\") && (type != \"Pa
}
}
+// p@__orient1 = orient;
+
// simplify pscale vs scale
-if(abs(scale.x-scale.y) < epsilon && abs(scale.y-scale.z) < epsilon) {
- pscale = scale.x;
+if(abs(scale.x-scale.y) < epsilon && abs(scale.y-scale.z) < epsilon && abs(length(scale)-1) < epsilon) {
+ pscale *= scale.x;
scale = {1,1,1};
}
@@ -632,8 +615,8 @@ if(haspointattrib(1, \"euler\")) {
// scale, rotate, translate
-f@__pscale2 = pscale2;
-v@__scale1 = scale;
+//f@__pscale2 = pscale2;
+//v@__scale1 = scale;
if(doS) {
if(Smode == 0) {
// scale = lerp(scale, scale*scale2*pscale2, weight);
@@ -654,27 +637,25 @@ if(haspointattrib(0, \"mops_orient\")) {
mops_orient = point(0, \"mops_orient\", @ptnum);
}
-
if(doR) {
if(Rmode == 0) {
+ vector4 out_orient = quaternion(ident());
// accumulate rotation
- // apply mops_orient inverse pre-transform.
if(local) {
if(!haspointattrib(1, \"euler\")) {
orient2 = slerp(quaternion(ident()), orient2, weight);
}
- orient2 = qmultiply(orient2, qinvert(mops_orient));
- p@__orient2 = orient2;
- }
- vector4 out_orient = qmultiply(orient, orient2);
- if(!local){
+ // pre-transform current orient by mops orient, accumulate, then invert pre-transform.
+ orient = qmultiply(orient, mops_orient);
+ out_orient = qmultiply(orient, orient2);
+ out_orient = qmultiply(out_orient, qinvert(mops_orient));
+ } else {
+ // rotation order is switched if rotating in world space.
+ // orient = qmultiply(orient, qinvert(mops_orient));
out_orient = qmultiply(orient2, orient);
}
orient = out_orient;
- // re-apply mops_orient.
- if(local) {
- orient = qmultiply(mops_orient, orient);
- }
+
} else {
// set rotation directly
if(!haspointattrib(1, \"euler\")) {
@@ -690,15 +671,13 @@ if(doT) {
p@__out_orient = orient;
-// generate output matrix. use the inverse of mops_orient axes at first (default is ident)
-matrix3 out = invert(qconvert(mops_orient));
-scale(out, scale*pscale);
-// now rotate this matrix by mops_orient.
-out *= qconvert(mops_orient);
-
+// generate output matrix.
+matrix3 out = ident();
+scale(out, (scale*pscale));
matrix3 rot = qconvert(orient);
out = out * rot;
-setprimintrinsic(0, \"transform\", @ptnum, out, \"set\");" )
+3@__transform = out;
+i@__ingroup = 1;" )
exportlist [ 0 locks=0 autoscope=0 ] ( * )
vex_strict [ 0 locks=0 autoscope=0 ] ( "off" )
autobind [ 0 locks=0 autoscope=0 ] ( "on" )
@@ -713,8 +692,8 @@ vex_inplace [ 0 locks=0 autoscope=0 ] ( "off" )
vex_selectiongroup [ 0 locks=0 autoscope=0 ] ( "" )
vex_precision [ 0 locks=0 ] ( auto )
folder1 [ 0 locks=0 ] ( 0 0 )
-do_translate [ 0 locks=0 autoscope=0 ] ( [ do_translate 1 ] )
-do_rotate [ 0 locks=0 autoscope=0 ] ( [ do_rotate 1 ] )
+do_translate [ 0 locks=0 autoscope=0 ] ( [ do_translate 0 ] )
+do_rotate [ 0 locks=0 autoscope=0 ] ( [ do_rotate 0 ] )
do_scale [ 0 locks=0 autoscope=0 ] ( [ do_scale 1 ] )
do_weight [ 0 locks=0 autoscope=0 ] ( [ do_weight 1 ] )
rotate_mode [ 0 locks=0 autoscope=0 ] ( [ rotate_mode 0 ] )
@@ -722,7 +701,7 @@ scale_mode [ 0 locks=0 autoscope=0 ] ( [ scale_mode 0 ] )
local_space [ 0 locks=0 autoscope=0 ] ( [ local_space 1 ] )
rotate_order [ 0 locks=0 autoscope=0 ] ( [ rotate_order 0 ] )
falloff_attribute [ 0 locks=0 ] ( [ falloff_attribute mops_falloff ] )
-can_ignore_falloff [ 8 locks=0 ] ( [ can_ignore_falloff 1 ] )
+can_ignore_falloff [ 8 locks=0 ] ( [ can_ignore_falloff 0 ] )
matchmode [ 0 locks=0 ] ( [ matchmode 0 ] )
}
@@ -750,7 +729,7 @@ Content-Type: text/plain
sopflags sopflags =
comment ""
-position -2.80227 9.78349
+position -3.03579 10.8766
connectornextid 2
flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
outputsNamed3
@@ -768,7 +747,7 @@ inputs
stat
{
create 1529358487
- modify 1578720723
+ modify 1585189489
author Henry@LAPPY586
access 0777
}
@@ -831,7 +810,7 @@ Content-Type: text/plain
sopflags sopflags =
comment ""
-position -1.4111 6.91019
+position -2.03997 7.06741
connectornextid 3
flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault off exposed on
outputsNamed3
@@ -840,18 +819,18 @@ outputsNamed3
}
inputsNamed3
{
-0 do_make_id 0 1 "input1"
+0 attribpromote3 1 1 "input1"
2 null1 0 1 "input2"
}
inputs
{
-0 do_make_id 0 1
+0 attribpromote3 0 1
1 null1 0 1
}
stat
{
create 1555437557
- modify 1578720723
+ modify 1585189489
author Henry@LAPPY586
access 0777
}
@@ -887,9 +866,9 @@ vector pivot2 = primintrinsic(1, \"pivot\", matchpt);
if(haspointattrib(1, \"pivot\")) {
pivot2 = point(1, \"pivot\", matchpt);
}
-vector pivot = primintrinsic(0, \"pivot\", @ptnum);
+vector pivot = v@__pivot;
pivot2 = lerp(pivot, pivot2, falloff);
-setprimintrinsic(1, \"pivot\", @ptnum, pivot2, \"set\");" )
+v@__pivot = pivot2;" )
exportlist [ 0 locks=0 ] ( * )
vex_strict [ 0 locks=0 ] ( "off" )
autobind [ 0 locks=0 ] ( "on" )
@@ -947,7 +926,7 @@ inputs
stat
{
create 1569084024
- modify 1578720723
+ modify 1585189489
author Henry@LAPPY586
access 0777
}
@@ -1004,37 +983,37 @@ Content-Type: text/plain
}
--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
-Content-Disposition: attachment; filename="hdaroot/determine_is_scale_uniform.init"
+Content-Disposition: attachment; filename="hdaroot/set_intrinsics.init"
Content-Type: text/plain
type = attribwrangle
matchesdef = 1
--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
-Content-Disposition: attachment; filename="hdaroot/determine_is_scale_uniform.def"
+Content-Disposition: attachment; filename="hdaroot/set_intrinsics.def"
Content-Type: text/plain
sopflags sopflags =
comment ""
-position 1.18071 -5.24194
+position -1.31613 -0.23292
connectornextid 2
-flags = lock off model off template off footprint off xray off bypass on display off render off highlight off unload off savedata off compress on colordefault on exposed on
+flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
outputsNamed3
{
1 "output1"
}
inputsNamed3
{
-0 attribswap3 1 1 "input1"
+0 attribpromote1 1 1 "input1"
}
inputs
{
-0 attribswap3 0 1
+0 attribpromote1 0 1
}
stat
{
- create 1569470799
- modify 1578720723
+ create 1583618763
+ modify 1585189489
author Henry@LAPPY586
access 0777
}
@@ -1044,21 +1023,19 @@ exprlanguage hscript
end
--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
-Content-Disposition: attachment; filename="hdaroot/determine_is_scale_uniform.parm"
+Content-Disposition: attachment; filename="hdaroot/set_intrinsics.parm"
Content-Type: text/plain
{
version 0.8
folder0 [ 0 locks=0 ] ( 0 0 )
-group [ 0 locks=0 ] ( "" )
+group [ 0 locks=0 ] ( @__ingroup==1 )
grouptype [ 0 locks=0 ] ( "guess" )
-class [ 0 locks=0 ] ( "point" )
+class [ 0 locks=0 ] ( "primitive" )
vex_numcount [ 0 locks=0 ] ( 10 )
vex_threadjobsize [ 0 locks=0 ] ( 1024 )
-snippet [ 0 locks=0 ] ( "float epsilon = 0.00000001;
-if(abs(v@scale.x - v@scale.y) <= epsilon && abs(v@scale.x - v@scale.z) <= epsilon) {
- i@__uniform = 1;
-}" )
+snippet [ 0 locks=0 ] ( "setprimintrinsic(0, \"transform\", @elemnum, 3@__transform, \"set\");
+setprimintrinsic(0, \"pivot\", @elemnum, v@__pivot, \"set\");" )
exportlist [ 0 locks=0 ] ( * )
vex_strict [ 0 locks=0 ] ( "off" )
autobind [ 0 locks=0 ] ( "on" )
@@ -1075,7 +1052,7 @@ vex_precision [ 0 locks=0 ] ( auto )
}
--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
-Content-Disposition: attachment; filename="hdaroot/determine_is_scale_uniform.userdata"
+Content-Disposition: attachment; filename="hdaroot/set_intrinsics.userdata"
Content-Type: text/plain
{
@@ -1086,37 +1063,37 @@ Content-Type: text/plain
}
--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
-Content-Disposition: attachment; filename="hdaroot/pointwrangle1.init"
+Content-Disposition: attachment; filename="hdaroot/primitivewrangle1.init"
Content-Type: text/plain
type = attribwrangle
matchesdef = 1
--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
-Content-Disposition: attachment; filename="hdaroot/pointwrangle1.def"
+Content-Disposition: attachment; filename="hdaroot/primitivewrangle1.def"
Content-Type: text/plain
sopflags sopflags =
comment ""
-position 2.9018 -6.87754
+position -4.53057 8.86287
connectornextid 2
-flags = lock off model off template off footprint off xray off bypass on display off render off highlight off unload off savedata off compress on colordefault on exposed on
+flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
outputsNamed3
{
1 "output1"
}
inputsNamed3
{
-0 attribpromote1 1 1 "input1"
+0 do_make_id 0 1 "input1"
}
inputs
{
-0 attribpromote1 0 1
+0 do_make_id 0 1
}
stat
{
- create 1569470908
- modify 1578720723
+ create 1583691828
+ modify 1585189489
author Henry@LAPPY586
access 0777
}
@@ -1126,7 +1103,7 @@ exprlanguage hscript
end
--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
-Content-Disposition: attachment; filename="hdaroot/pointwrangle1.parm"
+Content-Disposition: attachment; filename="hdaroot/primitivewrangle1.parm"
Content-Type: text/plain
{
@@ -1134,10 +1111,11 @@ version 0.8
folder0 [ 0 locks=0 ] ( 0 0 )
group [ 0 locks=0 ] ( "" )
grouptype [ 0 locks=0 ] ( "guess" )
-class [ 0 locks=0 ] ( "point" )
+class [ 0 locks=0 ] ( "primitive" )
vex_numcount [ 0 locks=0 ] ( 10 )
vex_threadjobsize [ 0 locks=0 ] ( 1024 )
-snippet [ 0 locks=0 ] ( "@pscale = v@scale.x;" )
+snippet [ 0 locks=0 ] ( "3@__transform = primintrinsic(0, \"transform\", @elemnum);
+v@__pivot = primintrinsic(0, \"pivot\", @elemnum);" )
exportlist [ 0 locks=0 ] ( * )
vex_strict [ 0 locks=0 ] ( "off" )
autobind [ 0 locks=0 ] ( "on" )
@@ -1154,7 +1132,7 @@ vex_precision [ 0 locks=0 ] ( auto )
}
--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
-Content-Disposition: attachment; filename="hdaroot/pointwrangle1.userdata"
+Content-Disposition: attachment; filename="hdaroot/primitivewrangle1.userdata"
Content-Type: text/plain
{
@@ -1165,19 +1143,19 @@ Content-Type: text/plain
}
--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
-Content-Disposition: attachment; filename="hdaroot/primitivewrangle1.init"
+Content-Disposition: attachment; filename="hdaroot/pointwrangle1.init"
Content-Type: text/plain
type = attribwrangle
matchesdef = 1
--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
-Content-Disposition: attachment; filename="hdaroot/primitivewrangle1.def"
+Content-Disposition: attachment; filename="hdaroot/pointwrangle1.def"
Content-Type: text/plain
sopflags sopflags =
comment ""
-position -2.98305 2.87271
+position 1.33952 -13.3967
connectornextid 2
flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
outputsNamed3
@@ -1186,16 +1164,16 @@ outputsNamed3
}
inputsNamed3
{
-0 switch_is_prim_group 1 1 "input1"
+0 attribswap2 1 1 "input1"
}
inputs
{
-0 switch_is_prim_group 0 1
+0 attribswap2 0 1
}
stat
{
- create 1573854821
- modify 1578720723
+ create 1584863149
+ modify 1585189489
author Henry@LAPPY586
access 0777
}
@@ -1205,7 +1183,7 @@ exprlanguage hscript
end
--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
-Content-Disposition: attachment; filename="hdaroot/primitivewrangle1.parm"
+Content-Disposition: attachment; filename="hdaroot/pointwrangle1.parm"
Content-Type: text/plain
{
@@ -1213,10 +1191,16 @@ version 0.8
folder0 [ 0 locks=0 ] ( 0 0 )
group [ 0 locks=0 ] ( "" )
grouptype [ 0 locks=0 ] ( "guess" )
-class [ 0 locks=0 ] ( "primitive" )
+class [ 0 locks=0 ] ( "point" )
vex_numcount [ 0 locks=0 ] ( 10 )
vex_threadjobsize [ 0 locks=0 ] ( 1024 )
-snippet [ 0 locks=0 ] ( "i@__origid = @primnum;" )
+snippet [ 0 locks=0 ] ( "// the output orientation doesn't take into account the mops_orient pretransform.
+// adjust orient to fit.
+vector4 mops_orient = quaternion(ident());
+if(haspointattrib(0, \"mops_orient\")) {
+ mops_orient = point(0, \"mops_orient\", @ptnum);
+}
+p@orient = qmultiply(qinvert(mops_orient), p@orient);" )
exportlist [ 0 locks=0 ] ( * )
vex_strict [ 0 locks=0 ] ( "off" )
autobind [ 0 locks=0 ] ( "on" )
@@ -1233,7 +1217,7 @@ vex_precision [ 0 locks=0 ] ( auto )
}
--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
-Content-Disposition: attachment; filename="hdaroot/primitivewrangle1.userdata"
+Content-Disposition: attachment; filename="hdaroot/pointwrangle1.userdata"
Content-Type: text/plain
{
@@ -1244,19 +1228,19 @@ Content-Type: text/plain
}
--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
-Content-Disposition: attachment; filename="hdaroot/attribcopy1.init"
+Content-Disposition: attachment; filename="hdaroot/attribcopy_id.init"
Content-Type: text/plain
type = attribcopy
matchesdef = 0
--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
-Content-Disposition: attachment; filename="hdaroot/attribcopy1.def"
+Content-Disposition: attachment; filename="hdaroot/attribcopy_id.def"
Content-Type: text/plain
sopflags sopflags =
comment ""
-position 1.60794 -1.41911
+position 1.60794 -2.14616
connectornextid 3
flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
outputsNamed3
@@ -1265,18 +1249,18 @@ outputsNamed3
}
inputsNamed3
{
-0 apply_attributes1 2 1 "input1"
+0 set_intrinsics 1 1 "input1"
1 switch1 0 1 "input2"
}
inputs
{
-0 apply_attributes1 0 1
+0 set_intrinsics 0 1
1 switch1 0 1
}
stat
{
create 1529358487
- modify 1578720723
+ modify 1585189489
author Henry@LAPPY586
access 0777
}
@@ -1286,7 +1270,7 @@ exprlanguage hscript
end
--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
-Content-Disposition: attachment; filename="hdaroot/attribcopy1.chn"
+Content-Disposition: attachment; filename="hdaroot/attribcopy_id.chn"
Content-Type: text/plain
{
@@ -1299,7 +1283,7 @@ Content-Type: text/plain
}
--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
-Content-Disposition: attachment; filename="hdaroot/attribcopy1.parm"
+Content-Disposition: attachment; filename="hdaroot/attribcopy_id.parm"
Content-Type: text/plain
{
@@ -1320,13 +1304,13 @@ copyvariable [ 0 locks=0 autoscope=0 ] ( "on" )
}
--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
-Content-Disposition: attachment; filename="hdaroot/attribcopy1.userdata"
+Content-Disposition: attachment; filename="hdaroot/attribcopy_id.userdata"
Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"18.0.287"
+ "value":"18.0.391"
}
}
@@ -1378,6 +1362,8 @@ Content-Type: text/plain
version 0.8
group [ 0 locks=0 autoscope=0 ] ( "" )
grouptype [ 0 locks=0 autoscope=0 ] ( "point" )
+usepieceattrib [ 0 locks=0 ] ( "off" )
+pieceattrib [ 0 locks=0 ] ( name )
attribname [ 0 locks=0 autoscope=0 ] ( id )
attribtype [ 0 locks=0 ] ( "int" )
prefix [ 0 locks=0 ] ( piece )
@@ -1390,7 +1376,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"18.0.287"
+ "value":"18.0.391"
}
}
@@ -1427,7 +1413,7 @@ inputs
stat
{
create 1529358487
- modify 1578720723
+ modify 1585189489
author Henry@LAPPY586
access 0777
}
@@ -1465,7 +1451,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"18.0.287"
+ "value":"18.0.391"
}
}
@@ -1526,7 +1512,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"18.0.287"
+ "value":"18.0.391"
}
}
@@ -1543,7 +1529,7 @@ Content-Type: text/plain
sopflags sopflags =
comment ""
-position -0.345284 -16.2824
+position -0.382921 -18.404
connectornextid 1
flags = lock off model off template off footprint off xray off bypass off display on render on highlight off unload off savedata off compress on colordefault on exposed on
outputsNamed3
@@ -1560,7 +1546,7 @@ inputs
stat
{
create 1529358487
- modify 1574620627
+ modify 1584862529
author Henry@LAPPY586
access 0777
}
@@ -1585,7 +1571,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"18.0.287"
+ "value":"18.0.391"
}
}
@@ -1602,7 +1588,7 @@ Content-Type: text/plain
sopflags sopflags =
comment ""
-position -0.348734 -13.5183
+position -0.386371 -15.6399
connectornextid 2
flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
outputsNamed3
@@ -1611,16 +1597,16 @@ outputsNamed3
}
inputsNamed3
{
-1 sort2 1 1 "input1"
+1 switch_do_output_orient 1 1 "input1"
}
inputs
{
-0 sort2 0 1
+0 switch_do_output_orient 0 1
}
stat
{
create 1529358487
- modify 1574620627
+ modify 1584173407
author Henry@LAPPY586
access 0777
}
@@ -1637,7 +1623,7 @@ Content-Type: text/plain
version 0.8
ptdel [ 0 locks=0 autoscope=0 ] ( "euler __orient2 __out_orient __scale __scale1 __pscale __pscale2" )
vtxdel [ 0 locks=0 autoscope=0 ] ( "" )
-primdel [ 0 locks=0 autoscope=0 ] ( "__origid mops_falloff" )
+primdel [ 0 locks=0 autoscope=0 ] ( "__origid mops_falloff __transform __ingroup __pivot" )
dtldel [ 0 locks=0 autoscope=0 ] ( "" )
updatevar [ 0 locks=0 autoscope=0 ] ( "on" )
}
@@ -1666,7 +1652,7 @@ Content-Type: text/plain
sopflags sopflags =
comment ""
-position -0.292485 -2.20418
+position -0.330122 -4.32576
connectornextid 3
flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
outputsNamed3
@@ -1675,18 +1661,18 @@ outputsNamed3
}
inputsNamed3
{
-1 apply_attributes1 2 1 "input1"
-2 attribcopy1 2 1 "input2"
+1 set_intrinsics 1 1 "input1"
+2 switch5 1 1 "input2"
}
inputs
{
-0 apply_attributes1 0 1
-1 attribcopy1 0 1
+0 set_intrinsics 0 1
+1 switch5 0 1
}
stat
{
create 1529358487
- modify 1578720723
+ modify 1585189489
author Henry@LAPPY586
access 0777
}
@@ -1724,7 +1710,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"18.0.287"
+ "value":"18.0.391"
}
}
@@ -1741,7 +1727,7 @@ Content-Type: text/plain
sopflags sopflags =
comment ""
-position -3.12645 8.55881
+position -4.52757 9.97802
connectornextid 3
flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
outputsNamed3
@@ -1761,7 +1747,7 @@ inputs
stat
{
create 1529358487
- modify 1578720723
+ modify 1585189489
author Henry@LAPPY586
access 0777
}
@@ -1799,7 +1785,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"18.0.287"
+ "value":"18.0.391"
}
}
@@ -1816,7 +1802,7 @@ Content-Type: text/plain
sopflags sopflags =
comment ""
-position -3.85001 10.5777
+position -4.74163 12.1803
connectornextid 2
flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
outputsNamed3
@@ -1834,7 +1820,7 @@ inputs
stat
{
create 1529358487
- modify 1568414029
+ modify 1583691868
author Henry@LAPPY586
access 0777
}
@@ -1860,7 +1846,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"18.0.287"
+ "value":"18.0.391"
}
}
@@ -1877,7 +1863,7 @@ Content-Type: text/plain
sopflags sopflags =
comment ""
-position -3.16359 6.03907
+position -3.86415 6.12399
connectornextid 3
flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
outputsNamed3
@@ -1886,18 +1872,18 @@ outputsNamed3
}
inputsNamed3
{
-0 do_make_id 0 1 "input1"
+0 attribpromote3 1 1 "input1"
1 adjust_pivots 1 1 "input2"
}
inputs
{
-0 do_make_id 0 1
+0 attribpromote3 0 1
1 adjust_pivots 0 1
}
stat
{
create 1555459453
- modify 1578720723
+ modify 1585189489
author Henry@LAPPY586
access 0777
}
@@ -1936,7 +1922,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"18.0.287"
+ "value":"18.0.391"
}
}
@@ -1953,7 +1939,7 @@ Content-Type: text/plain
sopflags sopflags =
comment ""
-position -0.345284 -11.436
+position -0.382921 -14.5805
connectornextid 3
flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
outputsNamed3
@@ -1963,17 +1949,17 @@ outputsNamed3
inputsNamed3
{
0 switch_do_output_scale 1 1 "input1"
-2 attribswap2 1 1 "input2"
+2 pointwrangle1 1 1 "input2"
}
inputs
{
0 switch_do_output_scale 0 1
-1 attribswap2 0 1
+1 pointwrangle1 0 1
}
stat
{
create 1556862778
- modify 1578720723
+ modify 1585189489
author Henry@LAPPY586
access 0777
}
@@ -2011,7 +1997,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"18.0.287"
+ "value":"18.0.391"
}
}
@@ -2048,7 +2034,7 @@ inputs
stat
{
create 1569084092
- modify 1578720723
+ modify 1585189489
author Henry@LAPPY586
access 0777
}
@@ -2076,7 +2062,7 @@ Content-Type: text/plain
{
version 0.8
-input [ 8 locks=0 ] ( [ input 0 ] )
+input [ 8 locks=0 ] ( [ input 1 ] )
}
--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
@@ -2086,7 +2072,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"18.0.287"
+ "value":"18.0.391"
}
}
@@ -2103,7 +2089,7 @@ Content-Type: text/plain
sopflags sopflags =
comment ""
-position -0.345284 -9.16127
+position -0.382921 -11.2829
connectornextid 3
flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
outputsNamed3
@@ -2113,17 +2099,17 @@ outputsNamed3
inputsNamed3
{
0 switch2 0 1 "input1"
-2 switch_uniform_scale 1 1 "input2"
+2 attribswap3 1 1 "input2"
}
inputs
{
0 switch2 0 1
-1 switch_uniform_scale 0 1
+1 attribswap3 0 1
}
stat
{
create 1569468433
- modify 1578720723
+ modify 1585189489
author Henry@LAPPY586
access 0777
}
@@ -2161,7 +2147,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"18.0.287"
+ "value":"18.0.391"
}
}
@@ -2178,7 +2164,7 @@ Content-Type: text/plain
sopflags sopflags =
comment ""
-position 1.18026 -3.20204
+position 1.14262 -5.32362
connectornextid 2
flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
outputsNamed3
@@ -2196,7 +2182,7 @@ inputs
stat
{
create 1569468449
- modify 1574620627
+ modify 1584173407
author Henry@LAPPY586
access 0777
}
@@ -2213,7 +2199,7 @@ Content-Type: text/plain
version 0.8
numswaps [ 0 locks=0 ] ( 1 )
enable1 [ 0 locks=0 ] ( "on" )
-method1 [ 0 locks=0 ] ( "swap" )
+method1 [ 0 locks=0 ] ( "move" )
class1 [ 0 locks=0 ] ( "point" )
srcattribs1 [ 0 locks=0 ] ( __scale )
dstattribs1 [ 0 locks=0 ] ( scale )
@@ -2227,7 +2213,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"18.0.287"
+ "value":"18.0.391"
}
}
@@ -2244,7 +2230,7 @@ Content-Type: text/plain
sopflags sopflags =
comment ""
-position 1.37671 -10.2839
+position 1.33907 -12.4055
connectornextid 2
flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
outputsNamed3
@@ -2262,7 +2248,7 @@ inputs
stat
{
create 1569470684
- modify 1574620627
+ modify 1584173407
author Henry@LAPPY586
access 0777
}
@@ -2279,7 +2265,7 @@ Content-Type: text/plain
version 0.8
numswaps [ 0 locks=0 ] ( 1 )
enable1 [ 0 locks=0 ] ( "on" )
-method1 [ 0 locks=0 ] ( "swap" )
+method1 [ 0 locks=0 ] ( "move" )
class1 [ 0 locks=0 ] ( "point" )
srcattribs1 [ 0 locks=0 ] ( __out_orient )
dstattribs1 [ 0 locks=0 ] ( orient )
@@ -2293,42 +2279,42 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"18.0.287"
+ "value":"18.0.391"
}
}
--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
-Content-Disposition: attachment; filename="hdaroot/attribpromote1.init"
+Content-Disposition: attachment; filename="hdaroot/attribswap3.init"
Content-Type: text/plain
-type = attribpromote
+type = attribswap
matchesdef = 0
--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
-Content-Disposition: attachment; filename="hdaroot/attribpromote1.def"
+Content-Disposition: attachment; filename="hdaroot/attribswap3.def"
Content-Type: text/plain
sopflags sopflags =
comment ""
-position 1.18026 -5.99875
+position 1.14262 -6.21869
connectornextid 2
-flags = lock off model off template off footprint off xray off bypass on display off render off highlight off unload off savedata off compress on colordefault on exposed on
+flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
outputsNamed3
{
1 "output1"
}
inputsNamed3
{
-0 determine_is_scale_uniform 1 1 "input1"
+0 attribswap1 1 1 "input1"
}
inputs
{
-0 determine_is_scale_uniform 0 1
+0 attribswap1 0 1
}
stat
{
- create 1569470838
- modify 1574620627
+ create 1569709553
+ modify 1584897229
author Henry@LAPPY586
access 0777
}
@@ -2338,67 +2324,65 @@ exprlanguage hscript
end
--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
-Content-Disposition: attachment; filename="hdaroot/attribpromote1.parm"
+Content-Disposition: attachment; filename="hdaroot/attribswap3.parm"
Content-Type: text/plain
{
version 0.8
-inname [ 0 locks=0 ] ( __uniform )
-inclass [ 0 locks=0 ] ( "point" )
-outclass [ 0 locks=0 ] ( "detail" )
-usepieceattrib [ 0 locks=0 ] ( "off" )
-pieceattrib [ 0 locks=0 ] ( name )
-method [ 0 locks=0 ] ( "min" )
-useoutname [ 0 locks=0 ] ( "off" )
-outname [ 0 locks=0 ] ( "" )
-deletein [ 0 locks=0 ] ( "on" )
+numswaps [ 0 locks=0 ] ( 1 )
+enable1 [ 0 locks=0 ] ( "on" )
+method1 [ 0 locks=0 ] ( "move" )
+class1 [ 0 locks=0 ] ( "point" )
+srcattribs1 [ 0 locks=0 ] ( __pscale )
+dstattribs1 [ 0 locks=0 ] ( pscale )
+typeinfo1 [ 0 locks=0 ] ( "dest" )
}
--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
-Content-Disposition: attachment; filename="hdaroot/attribpromote1.userdata"
+Content-Disposition: attachment; filename="hdaroot/attribswap3.userdata"
Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"18.0.287"
+ "value":"18.0.391"
}
}
--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
-Content-Disposition: attachment; filename="hdaroot/switch_uniform_scale.init"
+Content-Disposition: attachment; filename="hdaroot/switch_is_prim_group.init"
Content-Type: text/plain
type = switch
matchesdef = 0
--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
-Content-Disposition: attachment; filename="hdaroot/switch_uniform_scale.def"
+Content-Disposition: attachment; filename="hdaroot/switch_is_prim_group.def"
Content-Type: text/plain
sopflags sopflags =
comment ""
-position 1.18371 -8.25004
+position -3.16359 4.15417
connectornextid 3
-flags = lock off model off template off footprint off xray off bypass on display off render off highlight off unload off savedata off compress on colordefault on exposed on
+flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
outputsNamed3
{
1 "output1"
}
inputsNamed3
{
-0 attribpromote1 1 1 "input1"
-2 attribdelete2 1 1 "input2"
+0 switch_do_pivots 2 1 "input1"
+2 attribpromote2 1 1 "input2"
}
inputs
{
-0 attribpromote1 0 1
-1 attribdelete2 0 1
+0 switch_do_pivots 0 1
+1 attribpromote2 0 1
}
stat
{
- create 1569470856
- modify 1578720723
+ create 1573854736
+ modify 1585189489
author Henry@LAPPY586
access 0777
}
@@ -2408,7 +2392,7 @@ exprlanguage hscript
end
--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
-Content-Disposition: attachment; filename="hdaroot/switch_uniform_scale.chn"
+Content-Disposition: attachment; filename="hdaroot/switch_is_prim_group.chn"
Content-Type: text/plain
{
@@ -2416,62 +2400,62 @@ Content-Type: text/plain
lefttype = extend
righttype = extend
flags = 0
- segment { length = 0 expr = "detail(\"../attribpromote1\", \"__uniform\", 0)" }
+ segment { length = 0 expr = ch(\"../grouptype\")==4 }
}
}
--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
-Content-Disposition: attachment; filename="hdaroot/switch_uniform_scale.parm"
+Content-Disposition: attachment; filename="hdaroot/switch_is_prim_group.parm"
Content-Type: text/plain
{
version 0.8
-input [ 8 locks=0 ] ( [ input 1 ] )
+input [ 8 locks=0 ] ( [ input 0 ] )
}
--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
-Content-Disposition: attachment; filename="hdaroot/switch_uniform_scale.userdata"
+Content-Disposition: attachment; filename="hdaroot/switch_is_prim_group.userdata"
Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"18.0.287"
+ "value":"18.0.391"
}
}
--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
-Content-Disposition: attachment; filename="hdaroot/attribdelete2.init"
+Content-Disposition: attachment; filename="hdaroot/attribpromote2.init"
Content-Type: text/plain
-type = attribdelete
-matchesdef = 1
+type = attribpromote
+matchesdef = 0
--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
-Content-Disposition: attachment; filename="hdaroot/attribdelete2.def"
+Content-Disposition: attachment; filename="hdaroot/attribpromote2.def"
Content-Type: text/plain
sopflags sopflags =
comment ""
-position 2.9048 -7.64049
+position -2.18455 5.1601
connectornextid 2
-flags = lock off model off template off footprint off xray off bypass on display off render off highlight off unload off savedata off compress on colordefault on exposed on
+flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
outputsNamed3
{
1 "output1"
}
inputsNamed3
{
-0 pointwrangle1 1 1 "input1"
+0 switch_do_pivots 2 1 "input1"
}
inputs
{
-0 pointwrangle1 0 1
+0 switch_do_pivots 0 1
}
stat
{
- create 1569470920
- modify 1574620627
+ create 1573854774
+ modify 1573854975
author Henry@LAPPY586
access 0777
}
@@ -2481,44 +2465,48 @@ exprlanguage hscript
end
--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
-Content-Disposition: attachment; filename="hdaroot/attribdelete2.parm"
+Content-Disposition: attachment; filename="hdaroot/attribpromote2.parm"
Content-Type: text/plain
{
version 0.8
-ptdel [ 0 locks=0 ] ( scale )
-vtxdel [ 0 locks=0 ] ( "" )
-primdel [ 0 locks=0 ] ( "" )
-dtldel [ 0 locks=0 ] ( "" )
-updatevar [ 0 locks=0 ] ( "on" )
+inname [ 0 locks=0 ] ( mops_falloff )
+inclass [ 0 locks=0 ] ( "point" )
+outclass [ 0 locks=0 ] ( "primitive" )
+usepieceattrib [ 0 locks=0 ] ( "off" )
+pieceattrib [ 0 locks=0 ] ( name )
+method [ 0 locks=0 ] ( "mean" )
+useoutname [ 0 locks=0 ] ( "off" )
+outname [ 0 locks=0 ] ( "" )
+deletein [ 0 locks=0 ] ( "off" )
}
--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
-Content-Disposition: attachment; filename="hdaroot/attribdelete2.userdata"
+Content-Disposition: attachment; filename="hdaroot/attribpromote2.userdata"
Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":""
+ "value":"18.0.391"
}
}
--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
-Content-Disposition: attachment; filename="hdaroot/attribswap3.init"
+Content-Disposition: attachment; filename="hdaroot/switch5.init"
Content-Type: text/plain
-type = attribswap
+type = switch
matchesdef = 0
--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
-Content-Disposition: attachment; filename="hdaroot/attribswap3.def"
+Content-Disposition: attachment; filename="hdaroot/switch5.def"
Content-Type: text/plain
sopflags sopflags =
comment ""
-position 1.04117 -4.20204
-connectornextid 2
+position 0.788374 -3.20616
+connectornextid 3
flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
outputsNamed3
{
@@ -2526,139 +2514,161 @@ outputsNamed3
}
inputsNamed3
{
-0 attribswap1 1 1 "input1"
+0 attribcopy_id 2 1 "input1"
+2 attribcopy_name 2 1 "input2"
}
inputs
{
-0 attribswap1 0 1
+0 attribcopy_id 0 1
+1 attribcopy_name 0 1
}
stat
{
- create 1569709553
- modify 1574620627
+ create 1583519692
+ modify 1585189489
author Henry@LAPPY586
access 0777
}
-color UT_Color RGB 0.8 0.8 0.8
+color UT_Color RGB 0.8 1 0.7
delscript ""
exprlanguage hscript
end
--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
-Content-Disposition: attachment; filename="hdaroot/attribswap3.parm"
+Content-Disposition: attachment; filename="hdaroot/switch5.chn"
+Content-Type: text/plain
+
+{
+ channel input {
+ lefttype = extend
+ righttype = extend
+ flags = 0
+ start = 41.666666666666664
+ segment { length = 0 expr = ch(\"../matchmode\") }
+ }
+ }
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/switch5.parm"
Content-Type: text/plain
{
version 0.8
-numswaps [ 0 locks=0 ] ( 1 )
-enable1 [ 0 locks=0 ] ( "on" )
-method1 [ 0 locks=0 ] ( "swap" )
-class1 [ 0 locks=0 ] ( "point" )
-srcattribs1 [ 0 locks=0 ] ( __pscale )
-dstattribs1 [ 0 locks=0 ] ( pscale )
-typeinfo1 [ 0 locks=0 ] ( "dest" )
+input [ 0 locks=0 ] ( [ input 0 ] )
}
--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
-Content-Disposition: attachment; filename="hdaroot/attribswap3.userdata"
+Content-Disposition: attachment; filename="hdaroot/switch5.userdata"
Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"18.0.287"
+ "value":"18.0.391"
}
}
--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
-Content-Disposition: attachment; filename="hdaroot/switch_is_prim_group.init"
+Content-Disposition: attachment; filename="hdaroot/attribcopy_name.init"
Content-Type: text/plain
-type = switch
+type = attribcopy
matchesdef = 0
--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
-Content-Disposition: attachment; filename="hdaroot/switch_is_prim_group.def"
+Content-Disposition: attachment; filename="hdaroot/attribcopy_name.def"
Content-Type: text/plain
sopflags sopflags =
comment ""
-position -3.27501 3.97221
+position 4.82342 -2.0391
connectornextid 3
flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
outputsNamed3
{
-1 "output1"
+2 "output1"
}
inputsNamed3
{
-0 switch_do_pivots 2 1 "input1"
-2 attribpromote2 1 1 "input2"
+0 set_intrinsics 1 1 "input1"
+1 switch1 0 1 "input2"
}
inputs
{
-0 switch_do_pivots 0 1
-1 attribpromote2 0 1
+0 set_intrinsics 0 1
+1 switch1 0 1
}
stat
{
- create 1573854736
- modify 1578720723
+ create 1529358487
+ modify 1585189489
author Henry@LAPPY586
access 0777
}
-color UT_Color RGB 0.8 1 0.7
+color UT_Color RGB 0.8 0.8 0.8
delscript ""
exprlanguage hscript
end
--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
-Content-Disposition: attachment; filename="hdaroot/switch_is_prim_group.chn"
+Content-Disposition: attachment; filename="hdaroot/attribcopy_name.chn"
Content-Type: text/plain
{
- channel input {
+ channel attribname {
lefttype = extend
righttype = extend
flags = 0
- segment { length = 0 expr = ch(\"../grouptype\")==4 }
+ segment { length = 0 expr = chs(\"../attribname\") }
}
}
--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
-Content-Disposition: attachment; filename="hdaroot/switch_is_prim_group.parm"
+Content-Disposition: attachment; filename="hdaroot/attribcopy_name.parm"
Content-Type: text/plain
{
version 0.8
-input [ 8 locks=0 ] ( [ input 0 ] )
+srcgroup [ 0 locks=0 autoscope=0 ] ( "" )
+srcgrouptype [ 0 locks=0 autoscope=0 ] ( "points" )
+destgroup [ 0 locks=0 autoscope=0 ] ( `chs(\"../apply_attributes1/group\")` )
+destgrouptype [ 0 locks=0 autoscope=0 ] ( "points" )
+matchbyattribute [ 0 locks=0 autoscope=0 ] ( "on" )
+attributetomatch [ 0 locks=0 autoscope=0 ] ( name )
+attrib [ 0 locks=0 autoscope=0 ] ( "otherattrib" )
+attribname [ 0 locks=0 autoscope=0 ] ( [ attribname "" ] )
+copyp [ 0 locks=0 autoscope=0 ] ( "off" )
+usenewname [ 0 locks=0 autoscope=0 ] ( "off" )
+newname [ 0 locks=0 autoscope=0 ] ( "" )
+class [ 0 locks=0 autoscope=0 ] ( "guess" )
+copyvariable [ 0 locks=0 autoscope=0 ] ( "on" )
}
--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
-Content-Disposition: attachment; filename="hdaroot/switch_is_prim_group.userdata"
+Content-Disposition: attachment; filename="hdaroot/attribcopy_name.userdata"
Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"18.0.287"
+ "value":"18.0.391"
}
}
--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
-Content-Disposition: attachment; filename="hdaroot/attribpromote2.init"
+Content-Disposition: attachment; filename="hdaroot/attribpromote1.init"
Content-Type: text/plain
type = attribpromote
matchesdef = 0
--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
-Content-Disposition: attachment; filename="hdaroot/attribpromote2.def"
+Content-Disposition: attachment; filename="hdaroot/attribpromote1.def"
Content-Type: text/plain
sopflags sopflags =
comment ""
-position -2.18455 5.1601
+position -1.32303 1.80698
connectornextid 2
flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
outputsNamed3
@@ -2667,16 +2677,16 @@ outputsNamed3
}
inputsNamed3
{
-0 switch_do_pivots 2 1 "input1"
+0 apply_attributes1 2 1 "input1"
}
inputs
{
-0 switch_do_pivots 0 1
+0 apply_attributes1 0 1
}
stat
{
- create 1573854774
- modify 1573854975
+ create 1583618748
+ modify 1584897426
author Henry@LAPPY586
access 0777
}
@@ -2686,110 +2696,30 @@ exprlanguage hscript
end
--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
-Content-Disposition: attachment; filename="hdaroot/attribpromote2.parm"
+Content-Disposition: attachment; filename="hdaroot/attribpromote1.parm"
Content-Type: text/plain
{
version 0.8
-inname [ 0 locks=0 ] ( mops_falloff )
+inname [ 0 locks=0 ] ( "__transform __ingroup __pivot" )
inclass [ 0 locks=0 ] ( "point" )
outclass [ 0 locks=0 ] ( "primitive" )
usepieceattrib [ 0 locks=0 ] ( "off" )
pieceattrib [ 0 locks=0 ] ( name )
-method [ 0 locks=0 ] ( "mean" )
+method [ 0 locks=0 ] ( "first" )
useoutname [ 0 locks=0 ] ( "off" )
outname [ 0 locks=0 ] ( "" )
-deletein [ 0 locks=0 ] ( "off" )
-}
-
---HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
-Content-Disposition: attachment; filename="hdaroot/attribpromote2.userdata"
-Content-Type: text/plain
-
-{
- "___Version___":{
- "type":"string",
- "value":"18.0.287"
- }
-}
-
---HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
-Content-Disposition: attachment; filename="hdaroot/sort1.init"
-Content-Type: text/plain
-
-type = sort
-matchesdef = 0
-
---HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
-Content-Disposition: attachment; filename="hdaroot/sort1.def"
-Content-Type: text/plain
-
-sopflags sopflags =
-comment ""
-position -2.98005 0.07458
-connectornextid 2
-flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
-outputsNamed3
-{
-1 "output1"
-}
-inputsNamed3
-{
-0 attribpromote3 0 1 "input1"
-}
-inputs
-{
-0 attribpromote3 0 1
-}
-stat
-{
- create 1573854838
- modify 1574620886
- author Henry@LAPPY586
- access 0777
+deletein [ 0 locks=0 ] ( "on" )
}
-color UT_Color RGB 0.8 0.8 0.8
-delscript ""
-exprlanguage hscript
-end
--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
-Content-Disposition: attachment; filename="hdaroot/sort1.parm"
-Content-Type: text/plain
-
-{
-version 0.8
-ptsort [ 0 locks=0 ] ( "none" )
-pointseed [ 0 locks=0 ] ( 0 )
-pointoffset [ 0 locks=0 ] ( 0 )
-pointprox [ 0 locks=0 ] ( 0 0 0 )
-pointobjpath [ 0 locks=0 ] ( "" )
-pointdir [ 0 locks=0 ] ( 0 1 0 )
-pointexpr [ 0 locks=0 ] ( 0 )
-pointattrib [ 0 locks=0 ] ( "" )
-pointattribcomp [ 0 locks=0 ] ( 0 )
-pointreverse [ 0 locks=0 ] ( "off" )
-primsort [ 0 locks=0 ] ( "attribute" )
-primseed [ 0 locks=0 ] ( 0 )
-primoffset [ 0 locks=0 ] ( 0 )
-primprox [ 0 locks=0 ] ( 0 0 0 )
-primobjpath [ 0 locks=0 ] ( "" )
-primdir [ 0 locks=0 ] ( 0 1 0 )
-primexpr [ 0 locks=0 ] ( 0 )
-primattrib [ 0 locks=0 ] ( ptid )
-primattribcomp [ 0 locks=0 ] ( 0 )
-primreverse [ 0 locks=0 ] ( "off" )
-vertexprimorder [ 0 locks=0 ] ( "on" )
-}
-
---HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
-Content-Disposition: attachment; filename="hdaroot/sort1.userdata"
+Content-Disposition: attachment; filename="hdaroot/attribpromote1.userdata"
Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"18.0.287"
+ "value":"18.0.391"
}
}
@@ -2806,16 +2736,16 @@ Content-Type: text/plain
sopflags sopflags =
comment ""
-position -2.9835 2.15238
+position -4.53102 8.09798
connectornextid 2
flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
outputsNamed3
{
-0 "output1"
+1 "output1"
}
inputsNamed3
{
-1 primitivewrangle1 1 1 "input1"
+0 primitivewrangle1 1 1 "input1"
}
inputs
{
@@ -2823,8 +2753,8 @@ inputs
}
stat
{
- create 1573854850
- modify 1573854866
+ create 1583691873
+ modify 1584862529
author Henry@LAPPY586
access 0777
}
@@ -2839,15 +2769,15 @@ Content-Type: text/plain
{
version 0.8
-inname [ 0 locks=0 ] ( id )
-inclass [ 0 locks=0 ] ( "point" )
-outclass [ 0 locks=0 ] ( "primitive" )
+inname [ 0 locks=0 ] ( "__pivot __transform" )
+inclass [ 0 locks=0 ] ( "primitive" )
+outclass [ 0 locks=0 ] ( "point" )
usepieceattrib [ 0 locks=0 ] ( "off" )
pieceattrib [ 0 locks=0 ] ( name )
-method [ 0 locks=0 ] ( "mean" )
-useoutname [ 0 locks=0 ] ( "on" )
-outname [ 0 locks=0 ] ( ptid )
-deletein [ 0 locks=0 ] ( "off" )
+method [ 0 locks=0 ] ( "first" )
+useoutname [ 0 locks=0 ] ( "off" )
+outname [ 0 locks=0 ] ( "" )
+deletein [ 0 locks=0 ] ( "on" )
}
--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
@@ -2857,87 +2787,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"18.0.287"
- }
-}
-
---HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
-Content-Disposition: attachment; filename="hdaroot/sort2.init"
-Content-Type: text/plain
-
-type = sort
-matchesdef = 0
-
---HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
-Content-Disposition: attachment; filename="hdaroot/sort2.def"
-Content-Type: text/plain
-
-sopflags sopflags =
-comment ""
-position -0.345284 -12.4956
-connectornextid 2
-flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
-outputsNamed3
-{
-1 "output1"
-}
-inputsNamed3
-{
-0 switch_do_output_orient 1 1 "input1"
-}
-inputs
-{
-0 switch_do_output_orient 0 1
-}
-stat
-{
- create 1573854897
- modify 1574620627
- author Henry@LAPPY586
- access 0777
-}
-color UT_Color RGB 0.8 0.8 0.8
-delscript ""
-exprlanguage hscript
-end
-
---HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
-Content-Disposition: attachment; filename="hdaroot/sort2.parm"
-Content-Type: text/plain
-
-{
-version 0.8
-ptsort [ 0 locks=0 ] ( "none" )
-pointseed [ 0 locks=0 ] ( 0 )
-pointoffset [ 0 locks=0 ] ( 0 )
-pointprox [ 0 locks=0 ] ( 0 0 0 )
-pointobjpath [ 0 locks=0 ] ( "" )
-pointdir [ 0 locks=0 ] ( 0 1 0 )
-pointexpr [ 0 locks=0 ] ( 0 )
-pointattrib [ 0 locks=0 ] ( "" )
-pointattribcomp [ 0 locks=0 ] ( 0 )
-pointreverse [ 0 locks=0 ] ( "off" )
-primsort [ 0 locks=0 ] ( "attribute" )
-primseed [ 0 locks=0 ] ( 0 )
-primoffset [ 0 locks=0 ] ( 0 )
-primprox [ 0 locks=0 ] ( 0 0 0 )
-primobjpath [ 0 locks=0 ] ( "" )
-primdir [ 0 locks=0 ] ( 0 1 0 )
-primexpr [ 0 locks=0 ] ( 0 )
-primattrib [ 0 locks=0 ] ( __origid )
-primattribcomp [ 0 locks=0 ] ( 0 )
-primreverse [ 0 locks=0 ] ( "off" )
-vertexprimorder [ 0 locks=0 ] ( "on" )
-}
-
---HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
-Content-Disposition: attachment; filename="hdaroot/sort2.userdata"
-Content-Type: text/plain
-
-{
- "___Version___":{
- "type":"string",
- "value":"18.0.287"
+ "value":"18.0.391"
}
}
@@ -2945,9 +2795,9 @@ Content-Type: text/plain
Content-Disposition: attachment; filename="hdaroot.order"
Content-Type: text/plain
-31
+29
apply_attributes1
-attribcopy1
+attribcopy_id
enumerate1
switch1
null1
@@ -2965,18 +2815,16 @@ switch4
switch_do_output_scale
attribswap1
attribswap2
-determine_is_scale_uniform
-attribpromote1
-switch_uniform_scale
-pointwrangle1
-attribdelete2
attribswap3
switch_is_prim_group
attribpromote2
+switch5
+attribcopy_name
+attribpromote1
+set_intrinsics
primitivewrangle1
-sort1
attribpromote3
-sort2
+pointwrangle1
--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
Content-Disposition: attachment; filename="hdaroot.net"
diff --git a/otls/MOPS_applyAttributes.hda/MOPS_8_8Sop_1Apply__Attributes_8_81.4/ExtraFileOptions b/otls/MOPS_applyAttributes.hda/MOPS_8_8Sop_1Apply__Attributes_8_81.4/ExtraFileOptions
index 78b7813c..26cda638 100644
--- a/otls/MOPS_applyAttributes.hda/MOPS_8_8Sop_1Apply__Attributes_8_81.4/ExtraFileOptions
+++ b/otls/MOPS_applyAttributes.hda/MOPS_8_8Sop_1Apply__Attributes_8_81.4/ExtraFileOptions
@@ -1,7 +1,7 @@
{
"OnCreated/Cursor":{
"type":"intarray",
- "value":[16,9]
+ "value":[16,1]
},
"OnCreated/IsExpr":{
"type":"bool",
@@ -21,7 +21,7 @@
},
"ViewerStateModule/CodeGenInput":{
"type":"string",
- "value":"{\n\t\"state_name\":\"\",\n\t\"state_label\":\"\",\n\t\"state_descr\":\"\",\n\t\"state_icon\":\"$HH/config/Icons\",\n\t\"state_sample\":0,\n\t\"state_handler_indices\":[]\n}\n"
+ "value":"{\n\t\"state_name\":\"\",\n\t\"state_label\":\"\",\n\t\"state_descr\":\"\",\n\t\"state_icon\":\"$HH/config/Icons\",\n\t\"state_debug_menu\":0,\n\t\"state_sample\":0,\n\t\"state_handler_indices\":[]\n}\n"
},
"mops_TD_tools_05.svg/Cursor":{
"type":"intarray",
diff --git a/otls/MOPS_delay.hda/INDEX__SECTION b/otls/MOPS_delay.hda/INDEX__SECTION
index 22b001a3..aa6189c4 100644
--- a/otls/MOPS_delay.hda/INDEX__SECTION
+++ b/otls/MOPS_delay.hda/INDEX__SECTION
@@ -10,5 +10,5 @@ Inputs: 1 to 1
Subnet: true
Python: false
Empty: false
-Modified: Mon Jan 27 16:37:15 2020
+Modified: Mon Feb 24 17:40:21 2020
diff --git a/otls/MOPS_delay.hda/MOPS_8_8Sop_1delay_8_81.0/Contents.dir/.OPdummydefs b/otls/MOPS_delay.hda/MOPS_8_8Sop_1delay_8_81.0/Contents.dir/.OPdummydefs
index 8977f387..8052ed56 100644
Binary files a/otls/MOPS_delay.hda/MOPS_8_8Sop_1delay_8_81.0/Contents.dir/.OPdummydefs and b/otls/MOPS_delay.hda/MOPS_8_8Sop_1delay_8_81.0/Contents.dir/.OPdummydefs differ
diff --git a/otls/MOPS_delay.hda/MOPS_8_8Sop_1delay_8_81.0/Contents.dir/.OPfallbacks b/otls/MOPS_delay.hda/MOPS_8_8Sop_1delay_8_81.0/Contents.dir/.OPfallbacks
index 60eb3e52..51d09543 100644
--- a/otls/MOPS_delay.hda/MOPS_8_8Sop_1delay_8_81.0/Contents.dir/.OPfallbacks
+++ b/otls/MOPS_delay.hda/MOPS_8_8Sop_1delay_8_81.0/Contents.dir/.OPfallbacks
@@ -1,12 +1,12 @@
-MOPS::Sop/Extract_Attributes::1.0 D:/Projects/VFX/MOPS/otls/MOPS_extractAttributes.hda
+MOPS::Sop/Extract_Attributes::1.0 C:/Users/Henry/Projects/VFX/MOPS_Prime/otls/MOPS_extractAttributes.hda
MOPS::Sop/Extract_Attributes::1.0 otls/MOPS_extractAttributes.hda
-Sop/attribdelete C:/PROGRA~1/SIDEEF~1/HOUDIN~1.425/houdini/otls/OPlibSop.hda
+Sop/attribdelete C:/PROGRA~1/SIDEEF~1/HOUDIN~1.348/houdini/otls/OPlibSop.hda
Sop/attribdelete otls/OPlibSop.hda
-Sop/attribwrangle C:/PROGRA~1/SIDEEF~1/HOUDIN~1.425/houdini/otls/OPlibSop.hda
+Sop/attribwrangle C:/PROGRA~1/SIDEEF~1/HOUDIN~1.348/houdini/otls/OPlibSop.hda
Sop/attribwrangle otls/OPlibSop.hda
-Sop/retime C:/PROGRA~1/SIDEEF~1/HOUDIN~1.425/houdini/otls/OPlibSop.hda
+Sop/retime C:/PROGRA~1/SIDEEF~1/HOUDIN~1.348/houdini/otls/OPlibSop.hda
Sop/retime otls/OPlibSop.hda
-Sop/solver C:/PROGRA~1/SIDEEF~1/HOUDIN~1.425/houdini/otls/OPlibSop.hda
+Sop/solver C:/PROGRA~1/SIDEEF~1/HOUDIN~1.348/houdini/otls/OPlibSop.hda
Sop/solver otls/OPlibSop.hda
-Sop/split C:/PROGRA~1/SIDEEF~1/HOUDIN~1.425/houdini/otls/OPlibSop.hda
+Sop/split C:/PROGRA~1/SIDEEF~1/HOUDIN~1.348/houdini/otls/OPlibSop.hda
Sop/split otls/OPlibSop.hda
diff --git a/otls/MOPS_delay.hda/MOPS_8_8Sop_1delay_8_81.0/Contents.dir/Contents.mime b/otls/MOPS_delay.hda/MOPS_8_8Sop_1delay_8_81.0/Contents.dir/Contents.mime
index 8efe0e08..890dec15 100644
--- a/otls/MOPS_delay.hda/MOPS_8_8Sop_1delay_8_81.0/Contents.dir/Contents.mime
+++ b/otls/MOPS_delay.hda/MOPS_8_8Sop_1delay_8_81.0/Contents.dir/Contents.mime
@@ -32,26 +32,26 @@ Content-Type: text/plain
sopflags sopflags =
comment ""
-position -16.2878 -5.63813
+position -3.03107 -2.33865
connectornextid 2
-flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
+flags = lock off model off template off footprint off xray off bypass off display on render on highlight off unload off savedata off compress on colordefault on exposed on
outputsNamed3
{
1 "output1"
}
inputsNamed3
{
-0 add1 1 1 "input1"
+0 MOPs_Shape_Falloff 1 1 "input1"
}
inputs
{
-0 add1 0 1
+0 MOPs_Shape_Falloff 0 1
}
stat
{
- create 1561673426
- modify 1580171789
- author jacobr@carpenters.fas.fa.disney.com
+ create 1531965306
+ modify 1582594819
+ author Henry@LAPPY586
access 0777
}
color UT_Color RGB 0.8 0.8 0.8
@@ -135,7 +135,7 @@ inputs
stat
{
create 1524695187
- modify 1580171722
+ modify 1582594181
author Henry@LAPPY586
access 0777
}
@@ -157,7 +157,7 @@ Content-Type: text/plain
baseparm
label "Group"
export none
- bindselector uvselect "Modify Points"
+ bindselector points "Modify Points"
"Select the points to affect and press Enter to complete."
0 1 0xffffffff 0 grouptype 0
}
@@ -318,6 +318,12 @@ Content-Type: text/plain
parmtag { "editor" "1" }
parmtag { "editorlang" "vex" }
}
+ parm {
+ name "vex_precision"
+ baseparm
+ label "VEX Precision"
+ export none
+ }
--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
Content-Disposition: attachment; filename="hdaroot/set_max_age.chn"
@@ -374,9 +380,10 @@ vex_updatenmls [ 0 locks=0 autoscope=0 ] ( "off" )
vex_matchattrib [ 0 locks=0 autoscope=0 ] ( id )
vex_inplace [ 0 locks=0 autoscope=0 ] ( "off" )
vex_selectiongroup [ 0 locks=0 autoscope=0 ] ( "" )
+vex_precision [ 0 locks=0 ] ( auto )
folder1 [ 0 locks=0 ] ( 0 0 )
do_vexpression [ 0 locks=0 ] ( [ do_vexpression 0 ] )
-vexpression [ 0 locks=0 ] ( [ vexpression "delay = 0.5;" ] )
+vexpression [ 0 locks=0 ] ( [ vexpression "// delay = 0.5;" ] )
}
--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
@@ -457,6 +464,7 @@ vex_updatenmls [ 0 locks=0 autoscope=0 ] ( "off" )
vex_matchattrib [ 0 locks=0 autoscope=0 ] ( id )
vex_inplace [ 0 locks=0 autoscope=0 ] ( "off" )
vex_selectiongroup [ 0 locks=0 autoscope=0 ] ( "" )
+vex_precision [ 0 locks=0 ] ( auto )
}
--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
@@ -501,7 +509,7 @@ inputs
stat
{
create 1524695187
- modify 1531969240
+ modify 1582594180
author Henry@LAPPY586
access 0777
}
@@ -700,7 +708,7 @@ substep [ 0 locks=0 autoscope=0 ] ( [ substep 1 ] )
cacheenabled [ 0 locks=0 autoscope=0 ] ( [ cacheenabled 1 ] )
cachetodisk [ 0 locks=0 autoscope=0 ] ( [ cachetodisk 0 ] )
cachemaxsize [ 0 locks=0 autoscope=0 ] ( [ cachemaxsize 5000 ] )
-delay [ 0 locks=0 autoscope=0 ] ( [ delay 2 ] )
+delay [ 0 locks=0 autoscope=0 ] ( [ delay 0.5 ] )
}
--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
@@ -770,6 +778,8 @@ parmop_transformsopoutput [ 0 locks=0 autoscope=0 ] ( "default" )
transformsopoutput [ 0 locks=0 autoscope=0 ] ( "on" )
parmop_solveinitframe [ 0 locks=0 autoscope=0 ] ( "default" )
solveinitframe [ 0 locks=0 autoscope=0 ] ( "on" )
+parmop_numstamps [ 0 locks=0 ] ( "default" )
+numstamps [ 0 locks=0 ] ( 0 )
parmop_usetimestep [ 0 locks=0 ] ( "default" )
usetimestep [ 0 locks=0 ] ( "on" )
parmop_timescale [ 0 locks=0 ] ( "default" )
@@ -789,7 +799,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"17.5.425"
+ "value":"18.0.348"
}
}
@@ -846,7 +856,7 @@ Content-Type: text/plain
baseparm
label "Group"
export none
- bindselector uvselect "Modify Points"
+ bindselector points "Modify Points"
"Select the points to affect and press Enter to complete."
0 1 0xffffffff 0 grouptype 0
}
@@ -999,6 +1009,12 @@ Content-Type: text/plain
default { "0" }
range { 0 1 }
}
+ parm {
+ name "vex_precision"
+ baseparm
+ label "VEX Precision"
+ export none
+ }
--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
Content-Disposition: attachment; filename="hdaroot/Trail_Motion/d/s/update_age.chn"
@@ -1038,6 +1054,7 @@ vex_updatenmls [ 0 locks=0 ] ( "off" )
vex_matchattrib [ 0 locks=0 ] ( id )
vex_inplace [ 0 locks=0 ] ( "off" )
vex_selectiongroup [ 0 locks=0 ] ( "" )
+vex_precision [ 0 locks=0 ] ( auto )
folder1 [ 0 locks=0 ] ( 0 0 )
timestep [ 8 locks=0 ] ( [ timestep 0.041666666666666664 ] )
}
@@ -1106,7 +1123,7 @@ Content-Type: text/plain
baseparm
label "Group"
export none
- bindselector uvselect "Modify Points"
+ bindselector points "Modify Points"
"Select the points to affect and press Enter to complete."
0 1 0xffffffff 0 grouptype 0
}
@@ -1259,6 +1276,12 @@ Content-Type: text/plain
default { "0" }
range { 0 1 }
}
+ parm {
+ name "vex_precision"
+ baseparm
+ label "VEX Precision"
+ export none
+ }
--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
Content-Disposition: attachment; filename="hdaroot/Trail_Motion/d/s/if_greater_than_max_remove_pt.chn"
@@ -1301,6 +1324,7 @@ vex_updatenmls [ 0 locks=0 ] ( "off" )
vex_matchattrib [ 0 locks=0 ] ( id )
vex_inplace [ 0 locks=0 ] ( "off" )
vex_selectiongroup [ 0 locks=0 ] ( "" )
+vex_precision [ 0 locks=0 ] ( auto )
folder1 [ 0 locks=0 ] ( 0 0 )
timestep [ 8 locks=0 ] ( [ timestep 0.041666666666666664 ] )
}
@@ -1383,6 +1407,7 @@ vex_updatenmls [ 0 locks=0 ] ( "off" )
vex_matchattrib [ 0 locks=0 ] ( id )
vex_inplace [ 0 locks=0 ] ( "off" )
vex_selectiongroup [ 0 locks=0 ] ( "" )
+vex_precision [ 0 locks=0 ] ( auto )
}
--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
@@ -1427,7 +1452,7 @@ inputs
stat
{
create 1531965466
- modify 1543604861
+ modify 1582594791
author Henry@LAPPY586
access 0777
}
@@ -1449,7 +1474,7 @@ Content-Type: text/plain
baseparm
label "Group"
export none
- bindselector uvselect "Modify Points"
+ bindselector points "Modify Points"
"Select the points to affect and press Enter to complete."
0 1 0xffffffff 0 grouptype 0
}
@@ -1609,6 +1634,12 @@ Content-Type: text/plain
default { "0" }
range { 0 10 }
}
+ parm {
+ name "vex_precision"
+ baseparm
+ label "VEX Precision"
+ export none
+ }
--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
Content-Disposition: attachment; filename="hdaroot/apply_sequence_delay.chn"
@@ -1652,7 +1683,14 @@ snippet [ 0 locks=0 ] ( "float max_delay = ch(\"delay\");
float index;
int do_sequence_delay = chi(\"do_sequence_delay\");
-
+i@__ispackedsequence = 0;
+i@__isabc = 0;
+string typename = primintrinsic(0, \"typename\", @ptnum);
+if(typename == \"AlembicRef\") {
+ i@__isabc = 1;
+} else if(typename == \"PackedDiskSequence\") {
+ i@__ispackedsequence = 1;
+}
if(i@__ispackedsequence) {
index = primintrinsic(0, \"index\", @ptnum);
if(do_sequence_delay) {
@@ -1681,8 +1719,9 @@ vex_updatenmls [ 0 locks=0 ] ( "off" )
vex_matchattrib [ 0 locks=0 ] ( id )
vex_inplace [ 0 locks=0 ] ( "off" )
vex_selectiongroup [ 0 locks=0 ] ( "" )
+vex_precision [ 0 locks=0 ] ( auto )
folder1 [ 0 locks=0 ] ( 0 0 )
-delay [ 0 locks=0 ] ( [ delay 1 ] )
+delay [ 0 locks=0 ] ( [ delay 0.5 ] )
do_sequence_delay [ 0 locks=0 ] ( [ do_sequence_delay 1 ] )
}
@@ -1728,7 +1767,7 @@ inputs
stat
{
create 1531283685
- modify 1543604861
+ modify 1582594150
author Henry@LAPPY586
access 0777
}
@@ -1795,6 +1834,7 @@ vex_updatenmls [ 0 locks=0 ] ( "off" )
vex_matchattrib [ 0 locks=0 ] ( id )
vex_inplace [ 0 locks=0 ] ( "off" )
vex_selectiongroup [ 0 locks=0 ] ( "" )
+vex_precision [ 0 locks=0 ] ( auto )
}
--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
@@ -1839,7 +1879,7 @@ inputs
stat
{
create 1531969324
- modify 1580167255
+ modify 1582594229
author Henry@LAPPY586
access 0777
}
@@ -1887,6 +1927,7 @@ vex_updatenmls [ 0 locks=0 ] ( "off" )
vex_matchattrib [ 0 locks=0 ] ( id )
vex_inplace [ 0 locks=0 ] ( "off" )
vex_selectiongroup [ 0 locks=0 ] ( "" )
+vex_precision [ 0 locks=0 ] ( auto )
}
--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
@@ -1933,7 +1974,7 @@ inputs
stat
{
create 1572554245
- modify 1580168000
+ modify 1582594185
author jacobr@carpenters.fas.fa.disney.com
access 0777
}
@@ -1967,6 +2008,7 @@ vex_updatenmls [ 0 locks=0 ] ( "off" )
vex_matchattrib [ 0 locks=0 ] ( id )
vex_inplace [ 0 locks=0 ] ( "off" )
vex_selectiongroup [ 0 locks=0 ] ( "" )
+vex_precision [ 0 locks=0 ] ( auto )
}
--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
@@ -2013,7 +2055,7 @@ inputs
stat
{
create 1578955634
- modify 1580170922
+ modify 1582594188
author jacobr@carpenters.fas.fa.disney.com
access 0777
}
@@ -2054,6 +2096,7 @@ vex_updatenmls [ 0 locks=0 ] ( "off" )
vex_matchattrib [ 0 locks=0 ] ( id )
vex_inplace [ 0 locks=0 ] ( "off" )
vex_selectiongroup [ 0 locks=0 ] ( "" )
+vex_precision [ 0 locks=0 ] ( auto )
}
--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
@@ -2098,7 +2141,7 @@ inputs
stat
{
create 1580167205
- modify 1580167985
+ modify 1582594194
author jacobr@carpenters.fas.fa.disney.com
access 0777
}
@@ -2168,7 +2211,7 @@ version 0.8
folder0 [ 0 locks=0 ] ( 0 )
evalmode [ 0 locks=0 ] ( "time" )
frame [ 0 locks=0 ] ( [ frame 48 ] )
-time [ 0 locks=0 ] ( [ time -0.041666666666666664 ] )
+time [ 0 locks=0 ] ( [ time 0 ] )
startframe [ 0 locks=0 ] ( [ startframe 1 ] )
speed [ 0 locks=0 ] ( 1 )
shiftframe [ 0 locks=0 ] ( [ shiftframe 1 ] )
@@ -2241,7 +2284,7 @@ inputs
stat
{
create 1580167255
- modify 1580167993
+ modify 1582594221
author jacobr@carpenters.fas.fa.disney.com
access 0777
}
@@ -2262,7 +2305,7 @@ grouptype [ 0 locks=0 ] ( "guess" )
class [ 0 locks=0 ] ( "point" )
vex_numcount [ 0 locks=0 ] ( 10 )
vex_threadjobsize [ 0 locks=0 ] ( 1024 )
-snippet [ 0 locks=0 ] ( "vector scale = v@scale;
+snippet [ 0 locks=0 ] ( "vector scale = v@scale * f@pscale;
matrix3 s = ident();
scale(s, scale);
@@ -2284,6 +2327,7 @@ vex_updatenmls [ 0 locks=0 ] ( "off" )
vex_matchattrib [ 0 locks=0 ] ( id )
vex_inplace [ 0 locks=0 ] ( "off" )
vex_selectiongroup [ 0 locks=0 ] ( "" )
+vex_precision [ 0 locks=0 ] ( auto )
}
--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
@@ -2326,7 +2370,7 @@ inputs
stat
{
create 1324348265
- modify 1580171871
+ modify 1582594997
author jlait@andorra.sidefx.com
access 0777
}
@@ -2375,6 +2419,8 @@ viewportlod [ 0 locks=0 ] ( "full" )
importbyname [ 0 locks=0 autoscope=0 ] ( "on" )
objectnames [ 0 locks=0 ] ( "dopobject" )
geodatapath [ 0 locks=0 autoscope=0 ] ( "`stamps(\"..\", \"DATANAME\", chs(\"../datapath\"))`" )
+transferattributes [ 0 locks=0 ] ( "" )
+transfergroups [ 0 locks=0 ] ( "" )
inverseop [ 0 locks=0 autoscope=0 ] ( "off" )
doposxform [ 0 locks=0 autoscope=0 ] ( [ doposxform 1 ] )
doxform [ 0 locks=0 autoscope=0 ] ( [ doxform 1 ] )
@@ -2397,7 +2443,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"17.5.425"
+ "value":"18.0.348"
}
}
@@ -2476,7 +2522,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"17.5.425"
+ "value":"18.0.348"
}
}
@@ -2555,7 +2601,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"17.5.425"
+ "value":"18.0.348"
}
}
@@ -2634,7 +2680,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"17.5.425"
+ "value":"18.0.348"
}
}
@@ -2713,7 +2759,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"17.5.425"
+ "value":"18.0.348"
}
}
@@ -2774,7 +2820,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"17.5.425"
+ "value":"18.0.348"
}
}
@@ -2833,7 +2879,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"17.5.425"
+ "value":"18.0.348"
}
}
@@ -2933,7 +2979,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"17.5.425"
+ "value":"18.0.348"
}
}
@@ -3011,7 +3057,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"17.5.425"
+ "value":"18.0.348"
}
}
@@ -3114,7 +3160,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"17.5.425"
+ "value":"18.0.348"
}
}
@@ -3148,7 +3194,7 @@ inputs
stat
{
create 1524695187
- modify 1580167255
+ modify 1582594228
author Henry@LAPPY586
access 0777
}
@@ -3173,7 +3219,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"17.5.425"
+ "value":"18.0.348"
}
}
@@ -3241,7 +3287,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"17.5.425"
+ "value":"18.0.348"
}
}
@@ -3335,7 +3381,7 @@ Content-Type: text/plain
{
version 0.8
method [ 0 locks=0 autoscope=0 ] ( "byframe" )
-frame [ 0 locks=0 autoscope=0 ] ( [ frame 0 ] )
+frame [ 0 locks=0 autoscope=0 ] ( [ frame 1 ] )
integerframe [ 0 locks=0 autoscope=0 ] ( "on" )
time [ 0 locks=0 autoscope=0 ] ( [ time 0 ] )
rangeclamp [ 0 locks=0 autoscope=0 ] ( "none" )
@@ -3350,7 +3396,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"17.5.425"
+ "value":"18.0.348"
}
}
@@ -3444,7 +3490,7 @@ Content-Type: text/plain
{
version 0.8
method [ 0 locks=0 autoscope=0 ] ( "byframe" )
-frame [ 0 locks=0 autoscope=0 ] ( [ frame 0 ] )
+frame [ 0 locks=0 autoscope=0 ] ( [ frame 1 ] )
integerframe [ 0 locks=0 autoscope=0 ] ( "on" )
time [ 0 locks=0 autoscope=0 ] ( [ time 1.9583333333333333 ] )
rangeclamp [ 0 locks=0 autoscope=0 ] ( "none" )
@@ -3459,7 +3505,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"17.5.425"
+ "value":"18.0.348"
}
}
@@ -3601,7 +3647,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"17.5.425"
+ "value":"18.0.348"
}
}
@@ -3669,7 +3715,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"17.5.425"
+ "value":"18.0.348"
}
}
@@ -3814,7 +3860,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"17.5.425"
+ "value":"18.0.348"
}
}
@@ -3851,7 +3897,7 @@ inputs
stat
{
create 1531969261
- modify 1580167255
+ modify 1582594225
author Henry@LAPPY586
access 0777
}
@@ -3888,7 +3934,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"17.5.425"
+ "value":"18.0.348"
}
}
@@ -3989,7 +4035,7 @@ inputs
stat
{
create 1578955607
- modify 1580167984
+ modify 1582594190
author jacobr@carpenters.fas.fa.disney.com
access 0777
}
@@ -4026,7 +4072,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"17.5.425"
+ "value":"18.0.348"
}
}
diff --git a/otls/MOPS_extractAttributes.hda/INDEX__SECTION b/otls/MOPS_extractAttributes.hda/INDEX__SECTION
index 524160ac..cb9bc876 100644
--- a/otls/MOPS_extractAttributes.hda/INDEX__SECTION
+++ b/otls/MOPS_extractAttributes.hda/INDEX__SECTION
@@ -10,5 +10,5 @@ Inputs: 1 to 1
Subnet: true
Python: false
Empty: false
-Modified: Wed Dec 18 13:16:30 2019
+Modified: Sun Mar 29 13:51:48 2020
diff --git a/otls/MOPS_extractAttributes.hda/MOPS_8_8Sop_1Extract__Attributes_8_81.0/Contents.dir/.OPdummydefs b/otls/MOPS_extractAttributes.hda/MOPS_8_8Sop_1Extract__Attributes_8_81.0/Contents.dir/.OPdummydefs
index 12c46bcc..89a03ac7 100644
Binary files a/otls/MOPS_extractAttributes.hda/MOPS_8_8Sop_1Extract__Attributes_8_81.0/Contents.dir/.OPdummydefs and b/otls/MOPS_extractAttributes.hda/MOPS_8_8Sop_1Extract__Attributes_8_81.0/Contents.dir/.OPdummydefs differ
diff --git a/otls/MOPS_extractAttributes.hda/MOPS_8_8Sop_1Extract__Attributes_8_81.0/Contents.dir/.OPfallbacks b/otls/MOPS_extractAttributes.hda/MOPS_8_8Sop_1Extract__Attributes_8_81.0/Contents.dir/.OPfallbacks
index a465cc74..77d05cba 100644
--- a/otls/MOPS_extractAttributes.hda/MOPS_8_8Sop_1Extract__Attributes_8_81.0/Contents.dir/.OPfallbacks
+++ b/otls/MOPS_extractAttributes.hda/MOPS_8_8Sop_1Extract__Attributes_8_81.0/Contents.dir/.OPfallbacks
@@ -1,4 +1,4 @@
-Sop/attribdelete C:/PROGRA~1/SIDEEF~1/HOUDIN~1.287/houdini/otls/OPlibSop.hda
+Sop/attribdelete C:/PROGRA~1/SIDEEF~1/HOUDIN~1.391/houdini/otls/OPlibSop.hda
Sop/attribdelete otls/OPlibSop.hda
-Sop/attribwrangle C:/PROGRA~1/SIDEEF~1/HOUDIN~1.287/houdini/otls/OPlibSop.hda
+Sop/attribwrangle C:/PROGRA~1/SIDEEF~1/HOUDIN~1.391/houdini/otls/OPlibSop.hda
Sop/attribwrangle otls/OPlibSop.hda
diff --git a/otls/MOPS_extractAttributes.hda/MOPS_8_8Sop_1Extract__Attributes_8_81.0/Contents.dir/Contents.mime b/otls/MOPS_extractAttributes.hda/MOPS_8_8Sop_1Extract__Attributes_8_81.0/Contents.dir/Contents.mime
index d476d65b..ed3b09bd 100644
--- a/otls/MOPS_extractAttributes.hda/MOPS_8_8Sop_1Extract__Attributes_8_81.0/Contents.dir/Contents.mime
+++ b/otls/MOPS_extractAttributes.hda/MOPS_8_8Sop_1Extract__Attributes_8_81.0/Contents.dir/Contents.mime
@@ -32,22 +32,25 @@ Content-Type: text/plain
sopflags sopflags =
comment ""
-position 11.5013 -66.2007
-connectornextid 0
-flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
+position 10.9237 4.76878
+connectornextid 2
+flags = lock off model off template off footprint off xray off bypass on display on render on highlight off unload off savedata off compress on colordefault on exposed on
outputsNamed3
{
+1 "output1"
}
inputsNamed3
{
+0 INPUT_SURFACE 1 1 "input1"
}
inputs
{
+0 INPUT_SURFACE 0 1
}
stat
{
- create 1576703718
- modify 1576703723
+ create 1583125753
+ modify 1585515095
author Henry@LAPPY586
access 0777
}
@@ -72,22 +75,22 @@ Content-Disposition: attachment; filename="hdaroot.inp"
Content-Type: text/plain
1
-0 0.45149802048909649 8.5727528346627828 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+0 0.45149801117587085 9.7938446263261518 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
-Content-Disposition: attachment; filename="hdaroot/do_extraction1.init"
+Content-Disposition: attachment; filename="hdaroot/do_extraction_points.init"
Content-Type: text/plain
type = attribwrangle
matchesdef = 1
--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
-Content-Disposition: attachment; filename="hdaroot/do_extraction1.def"
+Content-Disposition: attachment; filename="hdaroot/do_extraction_points.def"
Content-Type: text/plain
sopflags sopflags =
comment ""
-position 0.448498 3.12716
+position 0.448498 2.39703
connectornextid 2
flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
outputsNamed3
@@ -96,16 +99,16 @@ outputsNamed3
}
inputsNamed3
{
-0 switch_has_N 2 1 "input1"
+0 sort1 1 1 "input1"
}
inputs
{
-0 switch_has_N 0 1
+0 sort1 0 1
}
stat
{
create 1524695134
- modify 1576703718
+ modify 1585514291
author Henry@LAPPY586
access 0777
}
@@ -115,7 +118,7 @@ exprlanguage hscript
end
--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
-Content-Disposition: attachment; filename="hdaroot/do_extraction1.spareparmdef"
+Content-Disposition: attachment; filename="hdaroot/do_extraction_points.spareparmdef"
Content-Type: text/plain
group {
@@ -288,7 +291,7 @@ Content-Type: text/plain
}
--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
-Content-Disposition: attachment; filename="hdaroot/do_extraction1.chn"
+Content-Disposition: attachment; filename="hdaroot/do_extraction_points.chn"
Content-Type: text/plain
{
@@ -301,7 +304,7 @@ Content-Type: text/plain
}
--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
-Content-Disposition: attachment; filename="hdaroot/do_extraction1.parm"
+Content-Disposition: attachment; filename="hdaroot/do_extraction_points.parm"
Content-Type: text/plain
{
@@ -331,35 +334,7 @@ if(!haspointattrib(0, \"orient\")) {
matrix3 m = qconvert(p@orient);
v@N = m * {0,0,1};
v@up = m * {0,1,0};
-}
-
-if(type == \"PackedGeometry\" || type == \"PackedFragment\" || type == \"PackedDiskSequence\" || type == \"AlembicRef\") {
- // extract as normal
- // if full transform extraction is enabled, get that instead of transform
- matrix3 m = primintrinsic(0, \"transform\", @ptnum);
- if(chi(\"do_full_transform\")) {
- matrix m4 = primintrinsic(0, \"packedfulltransform\", @ptnum);
- m = matrix3(m4);
- }
- if(haspointattrib(0, \"mops_orient\")) {
- matrix3 mops_orient = qconvert(point(0, \"mops_orient\", @ptnum));
- m = mops_orient * m;
- }
- vector scale = cracktransform(0,0,2,{0,0,0},m);
- vector4 orient = quaternion(m);
- p@orient = orient;
- // also get N and up
- @N = normalize(m * {0,0,1});
- v@up = normalize(m * {0,1,0});
- // if scale is uniform, write to pscale and leave scale at 1.
- f@pscale = 1;
- if(abs(scale.x-scale.y) < epsilon && abs(scale.y-scale.z) < epsilon) {
- f@pscale = scale.x;
- scale = 1;
- }
- v@scale = scale;
-}
-" )
+}" )
exportlist [ 0 locks=0 autoscope=0 ] ( * )
vex_strict [ 0 locks=0 autoscope=0 ] ( "off" )
autobind [ 0 locks=0 autoscope=0 ] ( "on" )
@@ -378,7 +353,7 @@ do_full_transform [ 0 locks=0 ] ( [ do_full_transform 0 ] )
}
--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
-Content-Disposition: attachment; filename="hdaroot/do_extraction1.userdata"
+Content-Disposition: attachment; filename="hdaroot/do_extraction_points.userdata"
Content-Type: text/plain
{
@@ -389,35 +364,195 @@ Content-Type: text/plain
}
--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
-Content-Disposition: attachment; filename="hdaroot/apply_attributes1.init"
+Content-Disposition: attachment; filename="hdaroot/extract_pivot.init"
Content-Type: text/plain
type = attribwrangle
matchesdef = 1
--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
-Content-Disposition: attachment; filename="hdaroot/apply_attributes1.def"
+Content-Disposition: attachment; filename="hdaroot/extract_pivot.def"
Content-Type: text/plain
sopflags sopflags =
comment ""
-position 4.37058 3.57708
-connectornextid 0
+position -4.65556 0.585671
+connectornextid 2
flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
outputsNamed3
{
-2 "output1"
+1 "output1"
+}
+inputsNamed3
+{
+0 do_extraction_points 1 1 "input1"
+}
+inputs
+{
+0 do_extraction_points 0 1
+}
+stat
+{
+ create 1550365158
+ modify 1585514291
+ author Henry@LAPPY586
+ access 0777
+}
+color UT_Color RGB 0.8 0.8 0.8
+delscript ""
+exprlanguage hscript
+end
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/extract_pivot.parm"
+Content-Type: text/plain
+
+{
+version 0.8
+folder0 [ 0 locks=0 ] ( 0 0 )
+group [ 0 locks=0 ] ( "" )
+grouptype [ 0 locks=0 ] ( "guess" )
+class [ 0 locks=0 ] ( "point" )
+vex_numcount [ 0 locks=0 ] ( 10 )
+vex_threadjobsize [ 0 locks=0 ] ( 1024 )
+snippet [ 0 locks=0 ] ( "v@pivot = primintrinsic(0, \"pivot\", @ptnum);" )
+exportlist [ 0 locks=0 ] ( * )
+vex_strict [ 0 locks=0 ] ( "off" )
+autobind [ 0 locks=0 ] ( "on" )
+bindings [ 0 locks=0 ] ( 0 )
+groupautobind [ 0 locks=0 ] ( "on" )
+groupbindings [ 0 locks=0 ] ( 0 )
+vex_cwdpath [ 0 locks=0 ] ( . )
+vex_outputmask [ 0 locks=0 ] ( * )
+vex_updatenmls [ 0 locks=0 ] ( "off" )
+vex_matchattrib [ 0 locks=0 ] ( id )
+vex_inplace [ 0 locks=0 ] ( "off" )
+vex_selectiongroup [ 0 locks=0 ] ( "" )
+vex_precision [ 0 locks=0 ] ( auto )
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/extract_pivot.userdata"
+Content-Type: text/plain
+
+{
+ "___Version___":{
+ "type":"string",
+ "value":""
+ }
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/primitivewrangle1.init"
+Content-Type: text/plain
+
+type = attribwrangle
+matchesdef = 1
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/primitivewrangle1.def"
+Content-Type: text/plain
+
+sopflags sopflags =
+comment ""
+position 0.448498 5.30359
+connectornextid 2
+flags = lock off model off template off footprint off xray off bypass on display off render off highlight off unload off savedata off compress on colordefault on exposed on
+outputsNamed3
+{
+1 "output1"
+}
+inputsNamed3
+{
+0 switch_has_N 2 1 "input1"
+}
+inputs
+{
+0 switch_has_N 0 1
+}
+stat
+{
+ create 1573854821
+ modify 1585514291
+ author Henry@LAPPY586
+ access 0777
+}
+color UT_Color RGB 0.8 0.8 0.8
+delscript ""
+exprlanguage hscript
+end
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/primitivewrangle1.parm"
+Content-Type: text/plain
+
+{
+version 0.8
+folder0 [ 0 locks=0 ] ( 0 0 )
+group [ 0 locks=0 ] ( "" )
+grouptype [ 0 locks=0 ] ( "guess" )
+class [ 0 locks=0 ] ( "primitive" )
+vex_numcount [ 0 locks=0 ] ( 10 )
+vex_threadjobsize [ 0 locks=0 ] ( 1024 )
+snippet [ 0 locks=0 ] ( "i@__origid = @primnum;" )
+exportlist [ 0 locks=0 ] ( * )
+vex_strict [ 0 locks=0 ] ( "off" )
+autobind [ 0 locks=0 ] ( "on" )
+bindings [ 0 locks=0 ] ( 0 )
+groupautobind [ 0 locks=0 ] ( "on" )
+groupbindings [ 0 locks=0 ] ( 0 )
+vex_cwdpath [ 0 locks=0 ] ( . )
+vex_outputmask [ 0 locks=0 ] ( * )
+vex_updatenmls [ 0 locks=0 ] ( "off" )
+vex_matchattrib [ 0 locks=0 ] ( id )
+vex_inplace [ 0 locks=0 ] ( "off" )
+vex_selectiongroup [ 0 locks=0 ] ( "" )
+vex_precision [ 0 locks=0 ] ( auto )
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/primitivewrangle1.userdata"
+Content-Type: text/plain
+
+{
+ "___Version___":{
+ "type":"string",
+ "value":""
+ }
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/do_extraction_prims.init"
+Content-Type: text/plain
+
+type = attribwrangle
+matchesdef = 1
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/do_extraction_prims.def"
+Content-Type: text/plain
+
+sopflags sopflags =
+comment ""
+position 4.63614 0.31923
+connectornextid 2
+flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
+outputsNamed3
+{
+1 "output1"
}
inputsNamed3
{
+0 attribpromote5 1 1 "input1"
}
inputs
{
+0 attribpromote5 0 1
}
stat
{
- create 1529358487
- modify 1576703718
+ create 1583522390
+ modify 1585514937
author Henry@LAPPY586
access 0777
}
@@ -427,7 +562,7 @@ exprlanguage hscript
end
--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
-Content-Disposition: attachment; filename="hdaroot/apply_attributes1.spareparmdef"
+Content-Disposition: attachment; filename="hdaroot/do_extraction_prims.spareparmdef"
Content-Type: text/plain
group {
@@ -583,325 +718,118 @@ Content-Type: text/plain
label "Output Selection Group"
export none
}
+ parm {
+ name "vex_precision"
+ baseparm
+ label "VEX Precision"
+ export none
+ }
}
parm {
- name "do_translate"
- label "Do Translate"
- type integer
- default { "0" }
- range { 0 10 }
- }
- parm {
- name "do_rotate"
- label "Do Rotate"
- type integer
- default { "0" }
- range { 0 10 }
- }
- parm {
- name "do_scale"
- label "Do Scale"
- type integer
- default { "0" }
- range { 0 10 }
- }
- parm {
- name "do_weight"
- label "Do Weight"
- type integer
- default { "0" }
- range { 0 10 }
- }
- parm {
- name "rotate_mode"
- label "Rotate Mode"
- type integer
- default { "0" }
- range { 0 10 }
- }
- parm {
- name "scale_mode"
- label "Scale Mode"
- type integer
- default { "0" }
- range { 0 10 }
- }
- parm {
- name "local_space"
- label "Local Space"
+ name "do_full_transform"
+ label "Do Full Transform"
type integer
default { "0" }
range { 0 10 }
}
parm {
- name "rotate_order"
- label "Rotate Order"
+ name "do_pivot"
+ label "Do Pivot"
type integer
default { "0" }
range { 0 10 }
}
- parm {
- name "vex_precision"
- baseparm
- label "VEX Precision"
- export none
- }
--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
-Content-Disposition: attachment; filename="hdaroot/apply_attributes1.chn"
+Content-Disposition: attachment; filename="hdaroot/do_extraction_prims.chn"
Content-Type: text/plain
{
- channel group {
- lefttype = extend
- righttype = extend
- flags = 0
- start = 0.54166666666666663
- segment { options = { autoslope ai ao }
-
- length = 0 accel = 0.33333333333333331 0.33333333333333331 expr = "groupmask = hou.pwd().evalParm('../group')
-do_ignore_no_falloff = hou.pwd().evalParm(\"../ignore_no_falloff\")
-outmask = groupmask
-if do_ignore_no_falloff:
- if outmask:
- outmask += \" ^!@mops_falloff>0\"
- else:
- outmask = \"@mops_falloff>0\"
-
-return outmask" language = python }
- }
- channel do_translate {
+ channel do_pivot {
lefttype = extend
righttype = extend
flags = 0
start = 41.666666666666664
- segment { length = 0 value = 1 1 expr = ch(\"../do_translate\") }
+ segment { length = 0 expr = ch(\"../do_pivot\") }
}
- channel do_rotate {
+ channel do_full_transform {
lefttype = extend
righttype = extend
flags = 0
start = 41.666666666666664
- segment { length = 0 value = 1 1 expr = ch(\"../do_rotate\") }
+ segment { length = 0 expr = ch(\"../do_full_transform\") }
}
- channel do_scale {
- lefttype = extend
- righttype = extend
- flags = 0
- start = 41.666666666666664
- segment { length = 0 value = 1 1 expr = ch(\"../do_scale\") }
+ }
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/do_extraction_prims.parm"
+Content-Type: text/plain
+
+{
+version 0.8
+folder0 [ 0 locks=0 ] ( 0 0 )
+group [ 0 locks=0 ] ( "" )
+grouptype [ 0 locks=0 ] ( "guess" )
+class [ 0 locks=0 ] ( "primitive" )
+vex_numcount [ 0 locks=0 ] ( 10 )
+vex_threadjobsize [ 0 locks=0 ] ( 1024 )
+snippet [ 0 locks=0 ] ( "float epsilon = 0.000001;
+string type = primintrinsic(0, \"typename\", @elemnum);
+i@__haspackedtransform = 0;
+if(type == \"PackedGeometry\" || type == \"PackedFragment\" || type == \"PackedDiskSequence\" || type == \"AlembicRef\") {
+ // extract as normal
+ // if full transform extraction is enabled, get that instead of transform
+ i@__haspackedtransform = 1;
+ matrix3 m = primintrinsic(0, \"transform\", @elemnum);
+ if(chi(\"do_full_transform\")) {
+ matrix m4 = primintrinsic(0, \"packedfulltransform\", @elemnum);
+ m = matrix3(m4);
}
- channel do_weight {
- lefttype = extend
- righttype = extend
- flags = 0
- start = 41.666666666666664
- segment { length = 0 expr = ch(\"../do_falloff\") }
+ /*
+ if(haspointattrib(0, \"mops_orient\")) {
+ matrix3 mops_orient = qconvert(point(0, \"mops_orient\", @elemnum));
+ m = mops_orient * m;
}
- channel rotate_mode {
- lefttype = extend
- righttype = extend
- flags = 0
- start = 41.666666666666664
- segment { length = 0 expr = ch(\"../rotate_mode\") }
- }
- channel scale_mode {
- lefttype = extend
- righttype = extend
- flags = 0
- start = 41.666666666666664
- segment { length = 0 expr = ch(\"../scale_mode\") }
- }
- channel local_space {
- lefttype = extend
- righttype = extend
- flags = 0
- start = 41.666666666666664
- segment { length = 0 expr = ch(\"../local_space\") }
- }
- channel rotate_order {
- lefttype = extend
- righttype = extend
- flags = 0
- segment { length = 0 expr = ch(\"../rotate_order\") }
- }
- channel grouptype {
- lefttype = extend
- righttype = extend
- flags = 0
- segment { length = 0 expr = ch(\"../grouptype\") }
- }
- }
-
---HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
-Content-Disposition: attachment; filename="hdaroot/apply_attributes1.parm"
-Content-Type: text/plain
-
-{
-version 0.8
-folder0 [ 0 locks=0 autoscope=0 ] ( 0 0 )
-group [ 0 locks=0 autoscope=1 ] ( [ group "" ] )
-grouptype [ 0 locks=0 autoscope=0 ] ( [ grouptype 0 ] )
-class [ 0 locks=0 autoscope=0 ] ( "point" )
-vex_numcount [ 0 locks=0 autoscope=0 ] ( 10 )
-vex_threadjobsize [ 0 locks=0 autoscope=0 ] ( 1024 )
-snippet [ 0 locks=0 autoscope=0 ] ( "// take template attributes from input1 and apply to packed primitives on input0.
-
-// match to id if available
-int matchpt = @ptnum;
-if( (haspointattrib(0, \"id\")) && (haspointattrib(1, \"id\")) ) {
- matchpt = idtopoint(1, point(0,\"id\",@ptnum));
-}
-
-int Rmode = chi(\"rotate_mode\"); // 0 = add, 1 = replace
-int Smode = chi(\"scale_mode\"); // 0 = multiply, 1 = replace
-int local = chi(\"local_space\");
-
-// get instancing attributes
-vector P2 = point(1, \"P\", matchpt);
-vector4 orient2 = point(1, \"orient\", matchpt);
-vector scale2 = point(1, \"scale\", matchpt);
-float pscale2 = point(1, \"pscale\", matchpt);
-float weight = 1.0;
-if( haspointattrib(0, \"mops_falloff\") ) {
- weight = point(0, \"mops_falloff\", @ptnum);
-}
-
-
-// default values if attribs don't exist
-if(!haspointattrib(1, \"scale\")) {
- scale2 = {1,1,1};
-}
-if(!haspointattrib(1, \"pscale\")) {
- pscale2 = 1;
-}
-if(!haspointattrib(1, \"orient\")) {
- orient2 = quaternion(ident());
-}
-
-// define toggles.
-int doT = chi(\"do_translate\");
-int doR = chi(\"do_rotate\");
-int doS = chi(\"do_scale\");
-int doWeight = chi(\"do_weight\");
-
-// define starting attributes.
-matrix3 m = primintrinsic(0, \"transform\", @ptnum);
-vector pos = 0;
-vector scale = cracktransform(0,0,2,{0,0,0},m);
-vector4 orient = quaternion(m);
-
-if(!doWeight) {
- weight = 1;
-}
-
-// scale orient2 by weight/falloff.
-// if \"euler\" attribute exists, created by a Transform Modifier,
-// use this instead of orient2 to help with falloff.
-if(!haspointattrib(1, \"euler\")) {
- //vector angleaxis = qconvert(orient2);
- //angleaxis *= weight;
- //orient2 = quaternion(angleaxis);
- orient2 = slerp(orient, orient2, weight);
-} else {
- vector euler = point(1, \"euler\", matchpt);
- euler *= weight;
- vector X = {1,0,0};
- vector Y = {0,1,0};
- vector Z = {0,0,1};
- // handle euler rotate order...
- int order = chi(\"rotate_order\");
- matrix3 em = ident();
- if(order == 0) { // XYZ
- rotate(em, radians(euler.x),X); rotate(em, radians(euler.y),Y); rotate(em, radians(euler.z),Z);
- } else if(order == 1) { // XZY
- rotate(em, radians(euler.x),X); rotate(em, radians(euler.z),Z); rotate(em, radians(euler.y),Y);
- } else if(order == 2) { // YXZ
- rotate(em, radians(euler.y),Y); rotate(em, radians(euler.x),X); rotate(em, radians(euler.z),Z);
- } else if(order == 3) { // YZX
- rotate(em, radians(euler.y),Y); rotate(em, radians(euler.z),Z); rotate(em, radians(euler.x),X);
- } else if(order == 4) { // ZXY
- rotate(em, radians(euler.z),Z); rotate(em, radians(euler.x),X); rotate(em, radians(euler.y),Y);
- } else if(order == 5) { // ZYX
- rotate(em, radians(euler.z),Z); rotate(em, radians(euler.y),Y); rotate(em, radians(euler.x),X);
- }
- orient2 = quaternion(em);
-}
-
-// scale, rotate, translate
-if(doS) {
- if(Smode == 0) {
- scale = lerp(scale, scale*scale2*pscale2, weight);
- } else {
- scale = lerp(scale, scale2*pscale2, weight);
- }
-}
-
-vector4 mops_orient = quaternion(ident());
-if(haspointattrib(0, \"mops_orient\")) {
- mops_orient = point(0, \"mops_orient\", @ptnum);
-}
-
-if(doR) {
- if(Rmode == 0) {
- // accumulate rotation
- // apply mops_orient inverse pre-transform.
- if(local) {
- orient2 = qmultiply(orient2, qinvert(mops_orient));
- }
- vector4 out_orient = qmultiply(orient, orient2);
- if(!local){
- out_orient = qmultiply(orient2, orient);
- }
- orient = out_orient;
- } else {
- // set rotation directly
- // orient = slerp(orient, orient2, weight);
- orient = orient2;
+ */
+ vector scale = cracktransform(0,0,2,{0,0,0},m);
+ vector4 orient = quaternion(m);
+ p@orient = orient;
+ // also get N and up
+ @N = normalize(m * {0,0,1});
+ v@up = normalize(m * {0,1,0});
+ // if scale is uniform, write to pscale and leave scale at 1.
+ f@pscale = 1;
+ if(abs(scale.x-scale.y) < epsilon && abs(scale.y-scale.z) < epsilon) {
+ f@pscale = scale.x;
+ scale = 1;
}
- // re-apply mops_orient.
- if(local) {
- orient = qmultiply(orient, mops_orient);
+ v@scale = scale;
+ if(chi(\"do_pivot\")) {
+ v@pivot = primintrinsic(0, \"pivot\", @elemnum);
}
-}
-if(doT) {
- @P = lerp(@P, P2, weight);
-}
-
-// generate output matrix.
-matrix3 out = ident();
-scale(out, scale);
-matrix3 rot = qconvert(orient);
-out = out * rot;
-setprimintrinsic(0, \"transform\", @ptnum, out, \"set\");
+}
" )
-exportlist [ 0 locks=0 autoscope=0 ] ( * )
-vex_strict [ 0 locks=0 autoscope=0 ] ( "off" )
-autobind [ 0 locks=0 autoscope=0 ] ( "on" )
-bindings [ 0 locks=0 autoscope=0 ] ( 0 )
-groupautobind [ 0 locks=0 autoscope=0 ] ( "on" )
-groupbindings [ 0 locks=0 autoscope=0 ] ( 0 )
-vex_cwdpath [ 0 locks=0 autoscope=0 ] ( . )
-vex_outputmask [ 0 locks=0 autoscope=0 ] ( * )
-vex_updatenmls [ 0 locks=0 autoscope=0 ] ( "off" )
-vex_matchattrib [ 0 locks=0 autoscope=0 ] ( id )
-vex_inplace [ 0 locks=0 autoscope=0 ] ( "off" )
-vex_selectiongroup [ 0 locks=0 autoscope=0 ] ( "" )
+exportlist [ 0 locks=0 ] ( * )
+vex_strict [ 0 locks=0 ] ( "off" )
+autobind [ 0 locks=0 ] ( "on" )
+bindings [ 0 locks=0 ] ( 0 )
+groupautobind [ 0 locks=0 ] ( "on" )
+groupbindings [ 0 locks=0 ] ( 0 )
+vex_cwdpath [ 0 locks=0 ] ( . )
+vex_outputmask [ 0 locks=0 ] ( * )
+vex_updatenmls [ 0 locks=0 ] ( "off" )
+vex_matchattrib [ 0 locks=0 ] ( id )
+vex_inplace [ 0 locks=0 ] ( "off" )
+vex_selectiongroup [ 0 locks=0 ] ( "" )
vex_precision [ 0 locks=0 ] ( auto )
-folder1 [ 0 locks=0 autoscope=0 ] ( 0 0 )
-do_translate [ 0 locks=0 autoscope=0 ] ( [ do_translate 0 ] )
-do_rotate [ 0 locks=0 autoscope=0 ] ( [ do_rotate 0 ] )
-do_scale [ 0 locks=0 autoscope=0 ] ( [ do_scale 0 ] )
-do_weight [ 0 locks=0 autoscope=0 ] ( [ do_weight 0 ] )
-rotate_mode [ 0 locks=0 autoscope=0 ] ( [ rotate_mode 0 ] )
-scale_mode [ 0 locks=0 autoscope=0 ] ( [ scale_mode 0 ] )
-local_space [ 0 locks=0 autoscope=0 ] ( [ local_space 0 ] )
-rotate_order [ 0 locks=0 autoscope=0 ] ( [ rotate_order 0 ] )
+folder1 [ 0 locks=0 ] ( 0 0 )
+do_full_transform [ 0 locks=0 ] ( [ do_full_transform 0 ] )
+do_pivot [ 0 locks=0 ] ( [ do_pivot 1 ] )
}
--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
-Content-Disposition: attachment; filename="hdaroot/apply_attributes1.userdata"
+Content-Disposition: attachment; filename="hdaroot/do_extraction_prims.userdata"
Content-Type: text/plain
{
@@ -912,19 +840,19 @@ Content-Type: text/plain
}
--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
-Content-Disposition: attachment; filename="hdaroot/extract_pivot.init"
+Content-Disposition: attachment; filename="hdaroot/pointwrangle1.init"
Content-Type: text/plain
type = attribwrangle
matchesdef = 1
--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
-Content-Disposition: attachment; filename="hdaroot/extract_pivot.def"
+Content-Disposition: attachment; filename="hdaroot/pointwrangle1.def"
Content-Type: text/plain
sopflags sopflags =
comment ""
-position 2.15985 0.85789
+position 2.2744 -7.72741
connectornextid 2
flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
outputsNamed3
@@ -933,16 +861,16 @@ outputsNamed3
}
inputsNamed3
{
-0 do_extraction1 1 1 "input1"
+0 attribdelete2 1 1 "input1"
}
inputs
{
-0 do_extraction1 0 1
+0 attribdelete2 0 1
}
stat
{
- create 1550365158
- modify 1576703718
+ create 1584916562
+ modify 1585514291
author Henry@LAPPY586
access 0777
}
@@ -952,7 +880,7 @@ exprlanguage hscript
end
--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
-Content-Disposition: attachment; filename="hdaroot/extract_pivot.parm"
+Content-Disposition: attachment; filename="hdaroot/pointwrangle1.parm"
Content-Type: text/plain
{
@@ -963,7 +891,14 @@ grouptype [ 0 locks=0 ] ( "guess" )
class [ 0 locks=0 ] ( "point" )
vex_numcount [ 0 locks=0 ] ( 10 )
vex_threadjobsize [ 0 locks=0 ] ( 1024 )
-snippet [ 0 locks=0 ] ( "v@pivot = primintrinsic(0, \"pivot\", @ptnum);" )
+snippet [ 0 locks=0 ] ( "vector4 mops_orient = quaternion(ident());
+if(haspointattrib(0, \"mops_orient\")) {
+ mops_orient = point(0, \"mops_orient\", @ptnum);
+}
+p@orient = qmultiply(p@orient, mops_orient);
+matrix3 m = qconvert(p@orient);
+v@N = m * {0,0,1};
+v@up = m * {0,1,0};" )
exportlist [ 0 locks=0 ] ( * )
vex_strict [ 0 locks=0 ] ( "off" )
autobind [ 0 locks=0 ] ( "on" )
@@ -980,7 +915,7 @@ vex_precision [ 0 locks=0 ] ( auto )
}
--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
-Content-Disposition: attachment; filename="hdaroot/extract_pivot.userdata"
+Content-Disposition: attachment; filename="hdaroot/pointwrangle1.userdata"
Content-Type: text/plain
{
@@ -1003,7 +938,7 @@ Content-Type: text/plain
sopflags sopflags =
comment ""
-position 0.451498 4.43212
+position 0.451498 6.2074
connectornextid 3
flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
outputsNamed3
@@ -1023,7 +958,7 @@ inputs
stat
{
create 1542257157
- modify 1576703782
+ modify 1585514291
author Henry@LAPPY586
access 0777
}
@@ -1071,7 +1006,7 @@ Content-Type: text/plain
{
version 0.8
-input [ 8 locks=0 ] ( [ input 0 ] )
+input [ 8 locks=0 ] ( [ input 1 ] )
spare_input0 [ 0 locks=0 ] ( ../INPUT )
}
@@ -1082,7 +1017,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"18.0.287"
+ "value":"18.0.391"
}
}
@@ -1099,7 +1034,7 @@ Content-Type: text/plain
sopflags sopflags =
comment ""
-position 1.97039 5.81127
+position 2.3649 7.22022
connectornextid 2
flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
outputsNamed3
@@ -1117,7 +1052,7 @@ inputs
stat
{
create 1542257182
- modify 1543206711
+ modify 1583520881
author Henry@LAPPY586
access 0777
}
@@ -1150,7 +1085,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"18.0.287"
+ "value":"18.0.391"
}
}
@@ -1167,7 +1102,7 @@ Content-Type: text/plain
sopflags sopflags =
comment ""
-position -0.922493 5.81127
+position -1.09157 7.22022
connectornextid 2
flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
outputsNamed3
@@ -1185,7 +1120,7 @@ inputs
stat
{
create 1542257205
- modify 1543206710
+ modify 1583520879
author Henry@LAPPY586
access 0777
}
@@ -1222,7 +1157,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"18.0.287"
+ "value":"18.0.391"
}
}
@@ -1239,7 +1174,7 @@ Content-Type: text/plain
sopflags sopflags =
comment ""
-position 0.451498 7.195
+position 0.451498 8.54759
connectornextid 2
flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
outputsNamed3
@@ -1257,7 +1192,7 @@ inputs
stat
{
create 1542257249
- modify 1543206714
+ modify 1583520877
author Henry@LAPPY586
access 0777
}
@@ -1283,7 +1218,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"18.0.287"
+ "value":"18.0.391"
}
}
@@ -1300,7 +1235,7 @@ Content-Type: text/plain
sopflags sopflags =
comment ""
-position 0.638907 -0.854237
+position 0.667834 -10.7535
connectornextid 1
flags = lock off model off template off footprint off xray off bypass off display on render on highlight off unload off savedata off compress on colordefault on exposed on
outputsNamed3
@@ -1308,16 +1243,16 @@ outputsNamed3
}
inputsNamed3
{
-0 switch_extract_pivot 1 1 "input1"
+0 attribdelete3 1 1 "input1"
}
inputs
{
-0 switch_extract_pivot 0 1
+0 attribdelete3 0 1
}
stat
{
create 1542257309
- modify 1555308333
+ modify 1585515096
author Henry@LAPPY586
access 0777
}
@@ -1342,7 +1277,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"18.0.287"
+ "value":"18.0.391"
}
}
@@ -1359,7 +1294,7 @@ Content-Type: text/plain
sopflags sopflags =
comment ""
-position 0.64051 0.20536
+position 1.54794 -4.53881
connectornextid 3
flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
outputsNamed3
@@ -1368,18 +1303,18 @@ outputsNamed3
}
inputsNamed3
{
-0 attribdelete1 1 1 "input1"
-2 extract_pivot 1 1 "input2"
+2 attribdelete1 1 1 "input1"
+0 switch1 2 1 "input2"
}
inputs
{
0 attribdelete1 0 1
-1 extract_pivot 0 1
+1 switch1 0 1
}
stat
{
create 1550365152
- modify 1576703718
+ modify 1585514998
author Henry@LAPPY586
access 0777
}
@@ -1407,7 +1342,7 @@ Content-Type: text/plain
{
version 0.8
-input [ 0 locks=0 ] ( [ input 1 ] )
+input [ 8 locks=0 ] ( [ input 1 ] )
}
--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
@@ -1417,7 +1352,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"18.0.287"
+ "value":"18.0.391"
}
}
@@ -1434,7 +1369,7 @@ Content-Type: text/plain
sopflags sopflags =
comment ""
-position -0.724578 1.68511
+position 0.868189 -3.47155
connectornextid 2
flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
outputsNamed3
@@ -1443,16 +1378,16 @@ outputsNamed3
}
inputsNamed3
{
-0 do_extraction1 1 1 "input1"
+0 switch1 2 1 "input1"
}
inputs
{
-0 do_extraction1 0 1
+0 switch1 0 1
}
stat
{
create 1555308337
- modify 1555308343
+ modify 1585514996
author Henry@LAPPY586
access 0777
}
@@ -1485,13 +1420,744 @@ Content-Type: text/plain
}
}
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/sort1.init"
+Content-Type: text/plain
+
+type = sort
+matchesdef = 0
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/sort1.def"
+Content-Type: text/plain
+
+sopflags sopflags =
+comment ""
+position 0.451498 3.43693
+connectornextid 2
+flags = lock off model off template off footprint off xray off bypass on display off render off highlight off unload off savedata off compress on colordefault on exposed on
+outputsNamed3
+{
+1 "output1"
+}
+inputsNamed3
+{
+0 attribpromote3 0 1 "input1"
+}
+inputs
+{
+0 attribpromote3 0 1
+}
+stat
+{
+ create 1573854838
+ modify 1584210256
+ author Henry@LAPPY586
+ access 0777
+}
+color UT_Color RGB 0.8 0.8 0.8
+delscript ""
+exprlanguage hscript
+end
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/sort1.parm"
+Content-Type: text/plain
+
+{
+version 0.8
+ptsort [ 0 locks=0 ] ( "none" )
+pointseed [ 0 locks=0 ] ( 0 )
+pointoffset [ 0 locks=0 ] ( 0 )
+pointprox [ 0 locks=0 ] ( 0 0 0 )
+pointobjpath [ 0 locks=0 ] ( "" )
+pointdir [ 0 locks=0 ] ( 0 1 0 )
+pointexpr [ 0 locks=0 ] ( 0 )
+pointattrib [ 0 locks=0 ] ( "" )
+pointattribcomp [ 0 locks=0 ] ( 0 )
+pointreverse [ 0 locks=0 ] ( "off" )
+primsort [ 0 locks=0 ] ( "attribute" )
+primseed [ 0 locks=0 ] ( 0 )
+primoffset [ 0 locks=0 ] ( 0 )
+primprox [ 0 locks=0 ] ( 0 0 0 )
+primobjpath [ 0 locks=0 ] ( "" )
+primdir [ 0 locks=0 ] ( 0 1 0 )
+primexpr [ 0 locks=0 ] ( 0 )
+primattrib [ 0 locks=0 ] ( ptid )
+primattribcomp [ 0 locks=0 ] ( 0 )
+primreverse [ 0 locks=0 ] ( "off" )
+vertexprimorder [ 0 locks=0 ] ( "on" )
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/sort1.userdata"
+Content-Type: text/plain
+
+{
+ "___Version___":{
+ "type":"string",
+ "value":"18.0.391"
+ }
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/attribpromote3.init"
+Content-Type: text/plain
+
+type = attribpromote
+matchesdef = 0
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/attribpromote3.def"
+Content-Type: text/plain
+
+sopflags sopflags =
+comment ""
+position 0.448048 4.38757
+connectornextid 2
+flags = lock off model off template off footprint off xray off bypass on display off render off highlight off unload off savedata off compress on colordefault on exposed on
+outputsNamed3
+{
+0 "output1"
+}
+inputsNamed3
+{
+1 primitivewrangle1 1 1 "input1"
+}
+inputs
+{
+0 primitivewrangle1 0 1
+}
+stat
+{
+ create 1573854850
+ modify 1584210271
+ author Henry@LAPPY586
+ access 0777
+}
+color UT_Color RGB 0.8 0.8 0.8
+delscript ""
+exprlanguage hscript
+end
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/attribpromote3.parm"
+Content-Type: text/plain
+
+{
+version 0.8
+inname [ 0 locks=0 ] ( id )
+inclass [ 0 locks=0 ] ( "point" )
+outclass [ 0 locks=0 ] ( "primitive" )
+usepieceattrib [ 0 locks=0 ] ( "off" )
+pieceattrib [ 0 locks=0 ] ( name )
+method [ 0 locks=0 ] ( "mean" )
+useoutname [ 0 locks=0 ] ( "on" )
+outname [ 0 locks=0 ] ( ptid )
+deletein [ 0 locks=0 ] ( "off" )
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/attribpromote3.userdata"
+Content-Type: text/plain
+
+{
+ "___Version___":{
+ "type":"string",
+ "value":"18.0.391"
+ }
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/sort2.init"
+Content-Type: text/plain
+
+type = sort
+matchesdef = 0
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/sort2.def"
+Content-Type: text/plain
+
+sopflags sopflags =
+comment ""
+position 0.514215 -5.59841
+connectornextid 2
+flags = lock off model off template off footprint off xray off bypass on display off render off highlight off unload off savedata off compress on colordefault on exposed on
+outputsNamed3
+{
+1 "output1"
+}
+inputsNamed3
+{
+0 switch_extract_pivot 1 1 "input1"
+}
+inputs
+{
+0 switch_extract_pivot 0 1
+}
+stat
+{
+ create 1573854897
+ modify 1584322124
+ author Henry@LAPPY586
+ access 0777
+}
+color UT_Color RGB 0.8 0.8 0.8
+delscript ""
+exprlanguage hscript
+end
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/sort2.parm"
+Content-Type: text/plain
+
+{
+version 0.8
+ptsort [ 0 locks=0 ] ( "none" )
+pointseed [ 0 locks=0 ] ( 0 )
+pointoffset [ 0 locks=0 ] ( 0 )
+pointprox [ 0 locks=0 ] ( 0 0 0 )
+pointobjpath [ 0 locks=0 ] ( "" )
+pointdir [ 0 locks=0 ] ( 0 1 0 )
+pointexpr [ 0 locks=0 ] ( 0 )
+pointattrib [ 0 locks=0 ] ( "" )
+pointattribcomp [ 0 locks=0 ] ( 0 )
+pointreverse [ 0 locks=0 ] ( "off" )
+primsort [ 0 locks=0 ] ( "attribute" )
+primseed [ 0 locks=0 ] ( 0 )
+primoffset [ 0 locks=0 ] ( 0 )
+primprox [ 0 locks=0 ] ( 0 0 0 )
+primobjpath [ 0 locks=0 ] ( "" )
+primdir [ 0 locks=0 ] ( 0 1 0 )
+primexpr [ 0 locks=0 ] ( 0 )
+primattrib [ 0 locks=0 ] ( __origid )
+primattribcomp [ 0 locks=0 ] ( 0 )
+primreverse [ 0 locks=0 ] ( "off" )
+vertexprimorder [ 0 locks=0 ] ( "on" )
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/sort2.userdata"
+Content-Type: text/plain
+
+{
+ "___Version___":{
+ "type":"string",
+ "value":"18.0.391"
+ }
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/attribdelete2.init"
+Content-Type: text/plain
+
+type = attribdelete
+matchesdef = 1
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/attribdelete2.def"
+Content-Type: text/plain
+
+sopflags sopflags =
+comment ""
+position 0.559898 -6.33711
+connectornextid 2
+flags = lock off model off template off footprint off xray off bypass on display off render off highlight off unload off savedata off compress on colordefault on exposed on
+outputsNamed3
+{
+1 "output1"
+}
+inputsNamed3
+{
+0 sort2 1 1 "input1"
+}
+inputs
+{
+0 sort2 0 1
+}
+stat
+{
+ create 1583520923
+ modify 1584322124
+ author Henry@LAPPY586
+ access 0777
+}
+color UT_Color RGB 0.8 0.8 0.8
+delscript ""
+exprlanguage hscript
+end
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/attribdelete2.parm"
+Content-Type: text/plain
+
+{
+version 0.8
+ptdel [ 0 locks=0 ] ( "" )
+vtxdel [ 0 locks=0 ] ( "" )
+primdel [ 0 locks=0 ] ( "__origid ptid" )
+dtldel [ 0 locks=0 ] ( "" )
+updatevar [ 0 locks=0 ] ( "on" )
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/attribdelete2.userdata"
+Content-Type: text/plain
+
+{
+ "___Version___":{
+ "type":"string",
+ "value":""
+ }
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/attribpromote4.init"
+Content-Type: text/plain
+
+type = attribpromote
+matchesdef = 0
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/attribpromote4.def"
+Content-Type: text/plain
+
+sopflags sopflags =
+comment ""
+position 5.3952 -1.72458
+connectornextid 2
+flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
+outputsNamed3
+{
+1 "output1"
+}
+inputsNamed3
+{
+0 attribpromote6 1 1 "input1"
+}
+inputs
+{
+0 attribpromote6 0 1
+}
+stat
+{
+ create 1583522534
+ modify 1585515034
+ author Henry@LAPPY586
+ access 0777
+}
+color UT_Color RGB 0.8 0.8 0.8
+delscript ""
+exprlanguage hscript
+end
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/attribpromote4.parm"
+Content-Type: text/plain
+
+{
+version 0.8
+inname [ 0 locks=0 ] ( "N orient pivot up scale pscale" )
+inclass [ 0 locks=0 ] ( "primitive" )
+outclass [ 0 locks=0 ] ( "point" )
+usepieceattrib [ 0 locks=0 ] ( "off" )
+pieceattrib [ 0 locks=0 ] ( name )
+method [ 0 locks=0 ] ( "mean" )
+useoutname [ 0 locks=0 ] ( "off" )
+outname [ 0 locks=0 ] ( "" )
+deletein [ 0 locks=0 ] ( "on" )
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/attribpromote4.userdata"
+Content-Type: text/plain
+
+{
+ "___Version___":{
+ "type":"string",
+ "value":"18.0.391"
+ }
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/attribpromote5.init"
+Content-Type: text/plain
+
+type = attribpromote
+matchesdef = 0
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/attribpromote5.def"
+Content-Type: text/plain
+
+sopflags sopflags =
+comment ""
+position 4.45557 1.29837
+connectornextid 2
+flags = lock off model off template off footprint off xray off bypass on display off render off highlight off unload off savedata off compress on colordefault on exposed on
+outputsNamed3
+{
+1 "output1"
+}
+inputsNamed3
+{
+0 do_extraction_points 1 1 "input1"
+}
+inputs
+{
+0 do_extraction_points 0 1
+}
+stat
+{
+ create 1583522534
+ modify 1585514904
+ author Henry@LAPPY586
+ access 0777
+}
+color UT_Color RGB 0.8 0.8 0.8
+delscript ""
+exprlanguage hscript
+end
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/attribpromote5.parm"
+Content-Type: text/plain
+
+{
+version 0.8
+inname [ 0 locks=0 ] ( "N orient pivot up scale pscale" )
+inclass [ 0 locks=0 ] ( "point" )
+outclass [ 0 locks=0 ] ( "primitive" )
+usepieceattrib [ 0 locks=0 ] ( "off" )
+pieceattrib [ 0 locks=0 ] ( name )
+method [ 0 locks=0 ] ( "mean" )
+useoutname [ 0 locks=0 ] ( "off" )
+outname [ 0 locks=0 ] ( "" )
+deletein [ 0 locks=0 ] ( "off" )
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/attribpromote5.userdata"
+Content-Type: text/plain
+
+{
+ "___Version___":{
+ "type":"string",
+ "value":"18.0.391"
+ }
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/do_mops_orient.init"
+Content-Type: text/plain
+
+type = switch
+matchesdef = 0
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/do_mops_orient.def"
+Content-Type: text/plain
+
+sopflags sopflags =
+comment ""
+position 0.667834 -8.6939
+connectornextid 3
+flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
+outputsNamed3
+{
+1 "output1"
+}
+inputsNamed3
+{
+0 attribdelete2 1 1 "input1"
+2 pointwrangle1 1 1 "input2"
+}
+inputs
+{
+0 attribdelete2 0 1
+1 pointwrangle1 0 1
+}
+stat
+{
+ create 1584916552
+ modify 1585514291
+ author Henry@LAPPY586
+ access 0777
+}
+color UT_Color RGB 0.8 1 0.7
+delscript ""
+exprlanguage hscript
+end
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/do_mops_orient.chn"
+Content-Type: text/plain
+
+{
+ channel input {
+ lefttype = extend
+ righttype = extend
+ default = 1
+ flags = 0
+ segment { length = 0 value = 1 1 expr = ch(\"../do_mops_orient\") }
+ }
+ }
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/do_mops_orient.parm"
+Content-Type: text/plain
+
+{
+version 0.8
+input [ 0 locks=0 ] ( [ input 0 ] )
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/do_mops_orient.userdata"
+Content-Type: text/plain
+
+{
+ "___Version___":{
+ "type":"string",
+ "value":"18.0.391"
+ }
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/switch1.init"
+Content-Type: text/plain
+
+type = switch
+matchesdef = 0
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/switch1.def"
+Content-Type: text/plain
+
+sopflags sopflags =
+comment ""
+position 2.49722 -2.65328
+connectornextid 3
+flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
+outputsNamed3
+{
+2 "output1"
+}
+inputsNamed3
+{
+0 attribpromote6 1 1 "input1"
+1 attribpromote4 1 1 "input2"
+}
+inputs
+{
+0 attribpromote6 0 1
+1 attribpromote4 0 1
+}
+stat
+{
+ create 1585514990
+ modify 1585515080
+ author Henry@LAPPY586
+ access 0777
+}
+color UT_Color RGB 0.8 1 0.7
+delscript ""
+exprlanguage hscript
+end
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/switch1.spareparmdef"
+Content-Type: text/plain
+
+ parm {
+ name "input"
+ baseparm
+ label "Select Input"
+ export all
+ }
+ parm {
+ name "spare_input0"
+ label "Spare Input 0"
+ type oppath
+ default { "" }
+ help "Refer to this in expressions as -1, such as: npoints(-1)"
+ parmtag { "opfilter" "!!SOP!!" }
+ parmtag { "oprelative" "." }
+ }
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/switch1.chn"
+Content-Type: text/plain
+
+{
+ channel input {
+ lefttype = extend
+ righttype = extend
+ flags = 0
+ segment { length = 0 expr = "detail(-1, \"__haspackedtransform\", 0)==1" }
+ }
+ }
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/switch1.parm"
+Content-Type: text/plain
+
+{
+version 0.8
+input [ 8 locks=0 ] ( [ input 0 ] )
+spare_input0 [ 0 locks=0 ] ( ../attribpromote6 )
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/switch1.userdata"
+Content-Type: text/plain
+
+{
+ "___Version___":{
+ "type":"string",
+ "value":"18.0.391"
+ }
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/attribpromote6.init"
+Content-Type: text/plain
+
+type = attribpromote
+matchesdef = 0
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/attribpromote6.def"
+Content-Type: text/plain
+
+sopflags sopflags =
+comment ""
+position 4.63569 -0.597148
+connectornextid 2
+flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
+outputsNamed3
+{
+1 "output1"
+}
+inputsNamed3
+{
+0 do_extraction_prims 1 1 "input1"
+}
+inputs
+{
+0 do_extraction_prims 0 1
+}
+stat
+{
+ create 1585515034
+ modify 1585515050
+ author Henry@LAPPY586
+ access 0777
+}
+color UT_Color RGB 0.8 0.8 0.8
+delscript ""
+exprlanguage hscript
+end
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/attribpromote6.parm"
+Content-Type: text/plain
+
+{
+version 0.8
+inname [ 0 locks=0 ] ( __haspackedtransform )
+inclass [ 0 locks=0 ] ( "primitive" )
+outclass [ 0 locks=0 ] ( "detail" )
+usepieceattrib [ 0 locks=0 ] ( "off" )
+pieceattrib [ 0 locks=0 ] ( name )
+method [ 0 locks=0 ] ( "mean" )
+useoutname [ 0 locks=0 ] ( "off" )
+outname [ 0 locks=0 ] ( "" )
+deletein [ 0 locks=0 ] ( "on" )
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/attribpromote6.userdata"
+Content-Type: text/plain
+
+{
+ "___Version___":{
+ "type":"string",
+ "value":"18.0.391"
+ }
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/attribdelete3.init"
+Content-Type: text/plain
+
+type = attribdelete
+matchesdef = 1
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/attribdelete3.def"
+Content-Type: text/plain
+
+sopflags sopflags =
+comment ""
+position 0.662332 -9.7535
+connectornextid 2
+flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
+outputsNamed3
+{
+1 "output1"
+}
+inputsNamed3
+{
+0 do_mops_orient 1 1 "input1"
+}
+inputs
+{
+0 do_mops_orient 0 1
+}
+stat
+{
+ create 1585515095
+ modify 1585515101
+ author Henry@LAPPY586
+ access 0777
+}
+color UT_Color RGB 0.8 0.8 0.8
+delscript ""
+exprlanguage hscript
+end
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/attribdelete3.parm"
+Content-Type: text/plain
+
+{
+version 0.8
+ptdel [ 0 locks=0 ] ( "" )
+vtxdel [ 0 locks=0 ] ( "" )
+primdel [ 0 locks=0 ] ( "" )
+dtldel [ 0 locks=0 ] ( __haspackedtransform )
+updatevar [ 0 locks=0 ] ( "on" )
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/attribdelete3.userdata"
+Content-Type: text/plain
+
+{
+ "___Version___":{
+ "type":"string",
+ "value":""
+ }
+}
+
--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
Content-Disposition: attachment; filename="hdaroot.order"
Content-Type: text/plain
-10
-do_extraction1
-apply_attributes1
+22
+do_extraction_points
switch_has_N
attribpromote1
normal1
@@ -1500,6 +2166,19 @@ OUT
switch_extract_pivot
extract_pivot
attribdelete1
+primitivewrangle1
+sort1
+attribpromote3
+sort2
+attribdelete2
+do_extraction_prims
+attribpromote4
+attribpromote5
+do_mops_orient
+pointwrangle1
+switch1
+attribpromote6
+attribdelete3
--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
Content-Disposition: attachment; filename="hdaroot.net"
diff --git a/otls/MOPS_extractAttributes.hda/MOPS_8_8Sop_1Extract__Attributes_8_81.0/DialogScript b/otls/MOPS_extractAttributes.hda/MOPS_8_8Sop_1Extract__Attributes_8_81.0/DialogScript
index 065adac7..74e492f3 100644
--- a/otls/MOPS_extractAttributes.hda/MOPS_8_8Sop_1Extract__Attributes_8_81.0/DialogScript
+++ b/otls/MOPS_extractAttributes.hda/MOPS_8_8Sop_1Extract__Attributes_8_81.0/DialogScript
@@ -22,6 +22,15 @@
range { 0! 10 }
parmtag { "autoscope" "0000000000000000" }
}
+ parm {
+ name "do_mops_orient"
+ label "Extract MOPs Orient"
+ type toggle
+ default { "0" }
+ range { 0! 10 }
+ parmtag { "autoscope" "0000000000000000" }
+ parmtag { "script_callback_language" "python" }
+ }
parm {
name "do_full_transform"
label "Extract Full Transform (Abc)"
diff --git a/otls/MOPS_extractAttributes.hda/MOPS_8_8Sop_1Extract__Attributes_8_81.0/ExtraFileOptions b/otls/MOPS_extractAttributes.hda/MOPS_8_8Sop_1Extract__Attributes_8_81.0/ExtraFileOptions
index 54d52652..653fd919 100644
--- a/otls/MOPS_extractAttributes.hda/MOPS_8_8Sop_1Extract__Attributes_8_81.0/ExtraFileOptions
+++ b/otls/MOPS_extractAttributes.hda/MOPS_8_8Sop_1Extract__Attributes_8_81.0/ExtraFileOptions
@@ -19,6 +19,10 @@
"type":"string",
"value":""
},
+ "ViewerStateModule/CodeGenInput":{
+ "type":"string",
+ "value":"{\n\t\"state_name\":\"\",\n\t\"state_label\":\"\",\n\t\"state_descr\":\"\",\n\t\"state_icon\":\"$HH/config/Icons\",\n\t\"state_debug_menu\":0,\n\t\"state_sample\":0,\n\t\"state_handler_indices\":[]\n}\n"
+ },
"mops_TD_tools_05.svg/Cursor":{
"type":"intarray",
"value":[1,1]
diff --git a/otls/MOPS_extractAttributes.hda/MOPS_8_8Sop_1Extract__Attributes_8_81.0/TypePropertiesOptions b/otls/MOPS_extractAttributes.hda/MOPS_8_8Sop_1Extract__Attributes_8_81.0/TypePropertiesOptions
index b4811492..a6d52acf 100644
--- a/otls/MOPS_extractAttributes.hda/MOPS_8_8Sop_1Extract__Attributes_8_81.0/TypePropertiesOptions
+++ b/otls/MOPS_extractAttributes.hda/MOPS_8_8Sop_1Extract__Attributes_8_81.0/TypePropertiesOptions
@@ -1,14 +1,14 @@
-SaveSpareParms := 0;
CheckExternal := 1;
-SaveIcon := 1;
-GzipContents := 1;
ContentsCompressionType := 1;
-UnlockOnCreate := 0;
-SaveCachedCode := 0;
+ForbidOutsideParms := 1;
+GzipContents := 1;
LockContents := 1;
MakeDefault := 1;
-UseDSParms := 1;
-ForbidOutsideParms := 1;
+ParmsFromVfl := 0;
PrefixDroppedParmLabel := 0;
PrefixDroppedParmName := 0;
-ParmsFromVfl := 0;
+SaveCachedCode := 0;
+SaveIcon := 1;
+SaveSpareParms := 0;
+UnlockOnCreate := 0;
+UseDSParms := 1;
diff --git a/otls/MOPS_instancer.hda/INDEX__SECTION b/otls/MOPS_instancer.hda/INDEX__SECTION
index 5e760c17..b2e12d6f 100644
--- a/otls/MOPS_instancer.hda/INDEX__SECTION
+++ b/otls/MOPS_instancer.hda/INDEX__SECTION
@@ -10,7 +10,7 @@ Inputs: 0 to 500
Subnet: true
Python: false
Empty: false
-Modified: Thu Apr 12 09:54:26 2018
+Modified: Fri Apr 13 13:54:26 2018
Operator: MOPS::Instancer::1.1
Label: MOPs Instancer
@@ -24,7 +24,7 @@ Inputs: 0 to 0
Subnet: true
Python: false
Empty: false
-Modified: Wed Aug 28 06:07:15 2019
+Modified: Thu Aug 29 10:07:15 2019
Operator: MOPS::Instancer::1.2
Label: MOPs Instancer
@@ -38,7 +38,7 @@ Inputs: 0 to 0
Subnet: true
Python: false
Empty: false
-Modified: Wed Jul 24 08:42:14 2019
+Modified: Thu Jul 25 12:42:14 2019
Operator: MOPS::Instancer::1.3
Label: MOPs Instancer
@@ -52,5 +52,19 @@ Inputs: 0 to 500
Subnet: true
Python: false
Empty: false
-Modified: Sun Feb 2 12:56:50 2020
+Modified: Sat Feb 1 07:16:24 2020
+
+Operator: MOPS::Instancer::1.4
+Label: MOPs Instancer
+Path: oplib:/MOPS::Sop/Instancer::1.4?MOPS::Sop/Instancer::1.4
+Icon: opdef:/MOPS::Sop/Instancer::1.4?IconSVG
+Table: Sop
+License:
+Extra:
+User:
+Inputs: 0 to 500
+Subnet: true
+Python: false
+Empty: false
+Modified: Sat Apr 4 20:00:13 2020
diff --git a/otls/MOPS_instancer.hda/MOPS_8_8Sop_1Instancer_8_81.3/Contents.dir/.OPdummydefs b/otls/MOPS_instancer.hda/MOPS_8_8Sop_1Instancer_8_81.3/Contents.dir/.OPdummydefs
index 11bbe499..5b84ded8 100644
Binary files a/otls/MOPS_instancer.hda/MOPS_8_8Sop_1Instancer_8_81.3/Contents.dir/.OPdummydefs and b/otls/MOPS_instancer.hda/MOPS_8_8Sop_1Instancer_8_81.3/Contents.dir/.OPdummydefs differ
diff --git a/otls/MOPS_instancer.hda/MOPS_8_8Sop_1Instancer_8_81.3/Contents.dir/.OPfallbacks b/otls/MOPS_instancer.hda/MOPS_8_8Sop_1Instancer_8_81.3/Contents.dir/.OPfallbacks
index 0b5ce850..b01cd6ad 100644
--- a/otls/MOPS_instancer.hda/MOPS_8_8Sop_1Instancer_8_81.3/Contents.dir/.OPfallbacks
+++ b/otls/MOPS_instancer.hda/MOPS_8_8Sop_1Instancer_8_81.3/Contents.dir/.OPfallbacks
@@ -1,34 +1,38 @@
-MOPS::Sop/Apply_Attributes::1.3 C:/Users/Henry/Projects/VFX/MOPS/otls/MOPS_applyAttributes.hda
+MOPS::Sop/Apply_Attributes::1.3 C:/Users/Henry/Projects/VFX/MOPS_Prime/otls/MOPS_applyAttributes.hda
MOPS::Sop/Apply_Attributes::1.3 otls/MOPS_applyAttributes.hda
-MOPS::Sop/Extract_Attributes::1.0 C:/Users/Henry/Projects/VFX/MOPS/otls/MOPS_extractAttributes.hda
+MOPS::Sop/Apply_Attributes::1.4 C:/Users/Henry/Projects/VFX/MOPS_Prime/otls/MOPS_applyAttributes.hda
+MOPS::Sop/Apply_Attributes::1.4 otls/MOPS_applyAttributes.hda
+MOPS::Sop/Extract_Attributes::1.0 C:/Users/Henry/Projects/VFX/MOPS_Prime/otls/MOPS_extractAttributes.hda
MOPS::Sop/Extract_Attributes::1.0 otls/MOPS_extractAttributes.hda
-MOPS::Sop/Mesh_Flow::1.1 C:/Users/Henry/Projects/VFX/MOPS/otls/MOPS_Mesh_Flow.hda
+MOPS::Sop/Mesh_Flow::1.1 C:/Users/Henry/Projects/VFX/MOPS_Prime/otls/MOPS_Mesh_Flow.hda
MOPS::Sop/Mesh_Flow::1.1 otls/MOPS_Mesh_Flow.hda
-MOPS::Sop/Orient_Curve::1.0 C:/Users/Henry/Projects/VFX/MOPS/otls/MOPS_Orient_Curve.hda
+MOPS::Sop/Orient_Curve::1.0 C:/Users/Henry/Projects/VFX/MOPS_Prime/otls/MOPS_Orient_Curve.hda
MOPS::Sop/Orient_Curve::1.0 otls/MOPS_Orient_Curve.hda
-MOPS::Sop/Parallel_Transport::1.0 C:/Users/Henry/Projects/VFX/MOPS/otls/MOPS_Parallel_Transport.hda
+MOPS::Sop/Parallel_Transport::1.0 C:/Users/Henry/Projects/VFX/MOPS_Prime/otls/MOPS_Parallel_Transport.hda
MOPS::Sop/Parallel_Transport::1.0 otls/MOPS_Parallel_Transport.hda
-MOPS::Sop/Visualize_Frame::1.0 C:/Users/Henry/Projects/VFX/MOPS/otls/MOPS_Visualize_Frame.hda
+MOPS::Sop/Transform_Modifier::1.1 C:/Users/Henry/Projects/VFX/MOPS_Prime/otls/MOPS_transform.hda
+MOPS::Sop/Transform_Modifier::1.1 otls/MOPS_transform.hda
+MOPS::Sop/Visualize_Frame::1.0 C:/Users/Henry/Projects/VFX/MOPS_Prime/otls/MOPS_Visualize_Frame.hda
MOPS::Sop/Visualize_Frame::1.0 otls/MOPS_Visualize_Frame.hda
-Sop/attribblur C:/PROGRA~1/SIDEEF~1/HOUDIN~1.356/houdini/otls/OPlibSop.hda
+Sop/attribblur C:/PROGRA~1/SIDEEF~1/HOUDIN~1.348/houdini/otls/OPlibSop.hda
Sop/attribblur otls/OPlibSop.hda
-Sop/attribdelete C:/PROGRA~1/SIDEEF~1/HOUDIN~1.356/houdini/otls/OPlibSop.hda
+Sop/attribdelete C:/PROGRA~1/SIDEEF~1/HOUDIN~1.348/houdini/otls/OPlibSop.hda
Sop/attribdelete otls/OPlibSop.hda
-Sop/attribwrangle C:/PROGRA~1/SIDEEF~1/HOUDIN~1.356/houdini/otls/OPlibSop.hda
+Sop/attribwrangle C:/PROGRA~1/SIDEEF~1/HOUDIN~1.348/houdini/otls/OPlibSop.hda
Sop/attribwrangle otls/OPlibSop.hda
-Sop/convertline C:/PROGRA~1/SIDEEF~1/HOUDIN~1.356/houdini/otls/OPlibSop.hda
+Sop/convertline C:/PROGRA~1/SIDEEF~1/HOUDIN~1.348/houdini/otls/OPlibSop.hda
Sop/convertline otls/OPlibSop.hda
-Vop/curlnoise C:/PROGRA~1/SIDEEF~1/HOUDIN~1.356/houdini/otls/OPlibScripted.hda
+Vop/curlnoise C:/PROGRA~1/SIDEEF~1/HOUDIN~1.348/houdini/otls/OPlibScripted.hda
Vop/curlnoise otls/OPlibScripted.hda
-Vop/geometryvopglobal::2.0 C:/PROGRA~1/SIDEEF~1/HOUDIN~1.356/houdini/otls/OPlibVop.hda
+Vop/geometryvopglobal::2.0 C:/PROGRA~1/SIDEEF~1/HOUDIN~1.348/houdini/otls/OPlibVop.hda
Vop/geometryvopglobal::2.0 otls/OPlibVop.hda
-Vop/geometryvopoutput C:/PROGRA~1/SIDEEF~1/HOUDIN~1.356/houdini/otls/OPlibVop.hda
+Vop/geometryvopoutput C:/PROGRA~1/SIDEEF~1/HOUDIN~1.348/houdini/otls/OPlibVop.hda
Vop/geometryvopoutput otls/OPlibVop.hda
-Sop/groupexpression C:/PROGRA~1/SIDEEF~1/HOUDIN~1.356/houdini/otls/OPlibSop.hda
+Sop/groupexpression C:/PROGRA~1/SIDEEF~1/HOUDIN~1.348/houdini/otls/OPlibSop.hda
Sop/groupexpression otls/OPlibSop.hda
-Vop/mix C:/PROGRA~1/SIDEEF~1/HOUDIN~1.356/houdini/otls/OPlibScripted.hda
+Vop/mix C:/PROGRA~1/SIDEEF~1/HOUDIN~1.348/houdini/otls/OPlibScripted.hda
Vop/mix otls/OPlibScripted.hda
-Vop/normalize C:/PROGRA~1/SIDEEF~1/HOUDIN~1.356/houdini/otls/OPlibScripted.hda
+Vop/normalize C:/PROGRA~1/SIDEEF~1/HOUDIN~1.348/houdini/otls/OPlibScripted.hda
Vop/normalize otls/OPlibScripted.hda
-Sop/visualize C:/PROGRA~1/SIDEEF~1/HOUDIN~1.356/houdini/otls/OPlibSop.hda
+Sop/visualize C:/PROGRA~1/SIDEEF~1/HOUDIN~1.348/houdini/otls/OPlibSop.hda
Sop/visualize otls/OPlibSop.hda
diff --git a/otls/MOPS_instancer.hda/MOPS_8_8Sop_1Instancer_8_81.3/Contents.dir/Contents.mime b/otls/MOPS_instancer.hda/MOPS_8_8Sop_1Instancer_8_81.3/Contents.dir/Contents.mime
index cec4d09f..77a1e7de 100644
--- a/otls/MOPS_instancer.hda/MOPS_8_8Sop_1Instancer_8_81.3/Contents.dir/Contents.mime
+++ b/otls/MOPS_instancer.hda/MOPS_8_8Sop_1Instancer_8_81.3/Contents.dir/Contents.mime
@@ -32,32 +32,23 @@ Content-Type: text/plain
sopflags sopflags =
comment ""
-position -12.0622 -10.8533
-connectornextid 5
-flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
+position -2.43126 1.06931
+connectornextid 0
+flags = lock off model off template off footprint off xray off bypass off display on render on highlight off unload off savedata off compress on colordefault on exposed on
outputsNamed3
{
-4 "output1"
}
inputsNamed3
{
-0 unpack8 1 1 "input1"
-1 unpack7 1 1 "input2"
-2 unpack6 1 1 "input3"
-3 polyextrude4 1 1 "input4"
}
inputs
{
-0 unpack8 0 1
-1 unpack7 0 1
-2 unpack6 0 1
-3 polyextrude4 0 1
}
stat
{
- create 1580617513
- modify 1580676988
- author herna@DESKTOP-6E8O9KU
+ create 1580883246
+ modify 1580883796
+ author Henry@LAPPY586
access 0777
}
color UT_Color RGB 0.8 0.8 0.8
@@ -613,7 +604,7 @@ inputs
stat
{
create 1567573618
- modify 1574362965
+ modify 1580883247
author Henry@LAPPY586
access 0777
}
@@ -787,7 +778,7 @@ inputs
stat
{
create 1567573997
- modify 1574362965
+ modify 1580883247
author Henry@LAPPY586
access 0777
}
@@ -962,7 +953,7 @@ inputs
stat
{
create 1509153811
- modify 1574362965
+ modify 1580883247
author Henry@LAPPY586
access 0777
}
@@ -984,7 +975,7 @@ Content-Type: text/plain
baseparm
label "Group"
export none
- bindselector uvselect "Modify Points"
+ bindselector points "Modify Points"
"Select the points to affect and press Enter to complete."
0 1 0xffffffff 0 grouptype 0
}
@@ -1258,7 +1249,7 @@ inputs
stat
{
create 1529112595
- modify 1574362965
+ modify 1580883247
author Henry@LAPPY586
access 0777
}
@@ -1280,7 +1271,7 @@ Content-Type: text/plain
baseparm
label "Group"
export none
- bindselector uvselect "Modify Points"
+ bindselector points "Modify Points"
"Select the points to affect and press Enter to complete."
0 1 0xffffffff 0 grouptype 0
}
@@ -1539,7 +1530,7 @@ inputs
stat
{
create 1509161781
- modify 1574362965
+ modify 1580883247
author Henry@LAPPY586
access 0777
}
@@ -1625,7 +1616,7 @@ inputs
stat
{
create 1509161957
- modify 1574362965
+ modify 1580883247
author Henry@LAPPY586
access 0777
}
@@ -1647,7 +1638,7 @@ Content-Type: text/plain
baseparm
label "Group"
export none
- bindselector uvselect "Modify Points"
+ bindselector points "Modify Points"
"Select the points to affect and press Enter to complete."
0 1 0xffffffff 0 grouptype 0
}
@@ -1968,7 +1959,7 @@ inputs
stat
{
create 1522120372
- modify 1574362965
+ modify 1580883247
author Henry@LAPPY586
access 0777
}
@@ -1990,7 +1981,7 @@ Content-Type: text/plain
baseparm
label "Group"
export none
- bindselector uvselect "Modify Points"
+ bindselector points "Modify Points"
"Select the points to affect and press Enter to complete."
0 1 0xffffffff 0 grouptype 0
}
@@ -2285,12 +2276,12 @@ vex_inplace [ 0 locks=0 ] ( "off" )
vex_selectiongroup [ 0 locks=0 ] ( "" )
vex_precision [ 0 locks=0 ] ( auto )
folder1 [ 0 locks=0 ] ( 0 0 )
-sizex [ 8 locks=0 ] ( [ sizex 1.6000000000000001 ] )
+sizex [ 8 locks=0 ] ( [ sizex 1 ] )
sizey [ 8 locks=0 ] ( [ sizey 0 ] )
-sizez [ 8 locks=0 ] ( [ sizez 1.6000000000000001 ] )
-stepx [ 8 locks=0 ] ( [ stepx 0.29999999999999999 ] )
+sizez [ 8 locks=0 ] ( [ sizez 1 ] )
+stepx [ 8 locks=0 ] ( [ stepx 0.20000000000000001 ] )
stepy [ 8 locks=0 ] ( [ stepy 0.20000000000000001 ] )
-stepz [ 8 locks=0 ] ( [ stepz 0.29999999999999999 ] )
+stepz [ 8 locks=0 ] ( [ stepz 0.20000000000000001 ] )
}
--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
@@ -2335,7 +2326,7 @@ inputs
stat
{
create 1567742577
- modify 1579909381
+ modify 1580883247
author Henry@LAPPY586
access 0777
}
@@ -2511,7 +2502,7 @@ inputs
stat
{
create 1529458439
- modify 1574362965
+ modify 1580883247
author Henry@LAPPY586
access 0777
}
@@ -2533,7 +2524,7 @@ Content-Type: text/plain
baseparm
label "Group"
export none
- bindselector uvselect "Modify Points"
+ bindselector points "Modify Points"
"Select the points to affect and press Enter to complete."
0 1 0xffffffff 0 grouptype 0
}
@@ -2786,7 +2777,7 @@ inputs
stat
{
create 1522207353
- modify 1574362965
+ modify 1580883247
author Henry@LAPPY586
access 0777
}
@@ -2867,7 +2858,7 @@ inputs
stat
{
create 1523143742
- modify 1574362965
+ modify 1580883247
author henry@GlaDOS
access 0777
}
@@ -2947,7 +2938,7 @@ inputs
stat
{
create 1523149154
- modify 1574362965
+ modify 1580883247
author henry@GlaDOS
access 0777
}
@@ -3027,7 +3018,7 @@ inputs
stat
{
create 1513230374
- modify 1578966693
+ modify 1580883247
author Henry@LAPPY586
access 0777
}
@@ -3049,7 +3040,7 @@ Content-Type: text/plain
baseparm
label "Group"
export none
- bindselector uvselect "Modify Points"
+ bindselector points "Modify Points"
"Select the points to affect and press Enter to complete."
0 1 0xffffffff 0 grouptype 0
}
@@ -3296,7 +3287,7 @@ vex_inplace [ 0 locks=0 ] ( "off" )
vex_selectiongroup [ 0 locks=0 ] ( "" )
vex_precision [ 0 locks=0 ] ( auto )
folder1 [ 0 locks=0 ] ( 0 0 )
-mode [ 0 locks=0 ] ( [ mode 1 ] )
+mode [ 0 locks=0 ] ( [ mode 0 ] )
seed [ 0 locks=0 ] ( 1 )
index_attr [ 0 locks=0 ] ( [ index_attr mops_index ] )
}
@@ -3343,7 +3334,7 @@ inputs
stat
{
create 1523147062
- modify 1574362965
+ modify 1580883247
author henry@GlaDOS
access 0777
}
@@ -3433,7 +3424,7 @@ inputs
stat
{
create 1523147435
- modify 1574362965
+ modify 1580883247
author henry@GlaDOS
access 0777
}
@@ -3519,7 +3510,7 @@ inputs
stat
{
create 1540441971
- modify 1574362965
+ modify 1580883247
author henry@GlaDOS
access 0777
}
@@ -3541,7 +3532,7 @@ Content-Type: text/plain
baseparm
label "Group"
export none
- bindselector uvselect "Modify Points"
+ bindselector points "Modify Points"
"Select the points to affect and press Enter to complete."
0 1 0xffffffff 0 grouptype 0
}
@@ -3786,7 +3777,7 @@ inputs
stat
{
create 1509148564
- modify 1574362965
+ modify 1580883247
author Henry@LAPPY586
access 0777
}
@@ -3884,7 +3875,7 @@ inputs
stat
{
create 1557416320
- modify 1574362965
+ modify 1580883247
author Henry@LAPPY586
access 0777
}
@@ -3906,7 +3897,7 @@ Content-Type: text/plain
baseparm
label "Group"
export none
- bindselector uvselect "Modify Points"
+ bindselector points "Modify Points"
"Select the points to affect and press Enter to complete."
0 1 0xffffffff 0 grouptype 0
}
@@ -4170,7 +4161,7 @@ inputs
stat
{
create 1523080271
- modify 1574362965
+ modify 1580883247
author Henry@LAPPY586
access 0777
}
@@ -4233,7 +4224,7 @@ Content-Type: text/plain
sopflags sopflags =
comment ""
-position 72.6608 -52.4583
+position 72.7222 -53.8671
connectornextid 2
flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
outputsNamed3
@@ -4251,7 +4242,7 @@ inputs
stat
{
create 1530946005
- modify 1580676401
+ modify 1580883247
author Henry@LAPPY586
access 0777
}
@@ -4333,7 +4324,7 @@ Content-Type: text/plain
sopflags sopflags =
comment ""
-position 72.6608 -51.2934
+position 72.7222 -52.7022
connectornextid 2
flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
outputsNamed3
@@ -4351,7 +4342,7 @@ inputs
stat
{
create 1567747788
- modify 1580676401
+ modify 1580883247
author Henry@LAPPY586
access 0777
}
@@ -4418,7 +4409,7 @@ Content-Type: text/plain
sopflags sopflags =
comment ""
-position 73.8337 -53.4546
+position 73.8951 -54.8634
connectornextid 2
flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
outputsNamed3
@@ -4436,7 +4427,7 @@ inputs
stat
{
create 1531283685
- modify 1580676401
+ modify 1580883247
author Henry@LAPPY586
access 0777
}
@@ -4563,7 +4554,7 @@ inputs
stat
{
create 1568259839
- modify 1579909738
+ modify 1580883247
author Henry@LAPPY586
access 0777
}
@@ -4624,7 +4615,7 @@ Content-Type: text/plain
sopflags sopflags =
comment ""
-position 78.0738 -57.6368
+position 78.0738 -56.591
connectornextid 3
flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
outputsNamed3
@@ -4644,7 +4635,7 @@ inputs
stat
{
create 1568260314
- modify 1580676401
+ modify 1579909458
author Henry@LAPPY586
access 0777
}
@@ -4721,7 +4712,7 @@ inputs
stat
{
create 1568263803
- modify 1574362965
+ modify 1580883247
author Henry@LAPPY586
access 0777
}
@@ -4805,7 +4796,7 @@ inputs
stat
{
create 1568523996
- modify 1574362965
+ modify 1580883247
author Henry@LAPPY586
access 0777
}
@@ -5182,7 +5173,7 @@ inputs
stat
{
create 1568524381
- modify 1574362965
+ modify 1580883247
author Henry@LAPPY586
access 0777
}
@@ -5327,7 +5318,7 @@ inputs
stat
{
create 1568609670
- modify 1574362965
+ modify 1580883247
author Henry@LAPPY586
access 0777
}
@@ -5349,7 +5340,7 @@ Content-Type: text/plain
baseparm
label "Group"
export none
- bindselector uvselect "Modify Points"
+ bindselector points "Modify Points"
"Select the points to affect and press Enter to complete."
0 1 0xffffffff 0 grouptype 0
}
@@ -5613,7 +5604,7 @@ inputs
stat
{
create 1568610675
- modify 1574362965
+ modify 1580883247
author Henry@LAPPY586
access 0777
}
@@ -5635,7 +5626,7 @@ Content-Type: text/plain
baseparm
label "Group"
export none
- bindselector uvselect "Modify Points"
+ bindselector points "Modify Points"
"Select the points to affect and press Enter to complete."
0 1 0xffffffff 0 grouptype 0
}
@@ -5945,7 +5936,7 @@ inputs
stat
{
create 1568698406
- modify 1574362965
+ modify 1580883247
author Henry@LAPPY586
access 0777
}
@@ -6025,7 +6016,7 @@ inputs
stat
{
create 1568780508
- modify 1574362965
+ modify 1580883247
author Henry@LAPPY586
access 0777
}
@@ -6106,7 +6097,7 @@ inputs
stat
{
create 1568780508
- modify 1574362965
+ modify 1580883247
author Henry@LAPPY586
access 0777
}
@@ -6187,7 +6178,7 @@ inputs
stat
{
create 1568866585
- modify 1574362965
+ modify 1580883247
author Henry@LAPPY586
access 0777
}
@@ -6257,7 +6248,7 @@ inputs
stat
{
create 1568867654
- modify 1574362965
+ modify 1580883247
author Henry@LAPPY586
access 0777
}
@@ -6339,7 +6330,7 @@ inputs
stat
{
create 1568917672
- modify 1574362965
+ modify 1580883247
author Henry@LAPPY586
access 0777
}
@@ -6420,7 +6411,7 @@ inputs
stat
{
create 1568918764
- modify 1574362965
+ modify 1580883247
author Henry@LAPPY586
access 0777
}
@@ -6508,7 +6499,7 @@ inputs
stat
{
create 1568917672
- modify 1574362965
+ modify 1580883247
author Henry@LAPPY586
access 0777
}
@@ -6790,7 +6781,7 @@ inputs
stat
{
create 1569005739
- modify 1579909592
+ modify 1580883247
author Henry@LAPPY586
access 0777
}
@@ -6872,7 +6863,7 @@ inputs
stat
{
create 1569084328
- modify 1574362965
+ modify 1580883247
author Henry@LAPPY586
access 0777
}
@@ -6894,7 +6885,7 @@ Content-Type: text/plain
baseparm
label "Group"
export none
- bindselector uvselect "Modify Points"
+ bindselector points "Modify Points"
"Select the points to affect and press Enter to complete."
0 1 0xffffffff 0 grouptype 0
}
@@ -7157,7 +7148,7 @@ inputs
stat
{
create 1569390549
- modify 1574362965
+ modify 1580883247
author Henry@LAPPY586
access 0777
}
@@ -7245,7 +7236,7 @@ inputs
stat
{
create 1569390549
- modify 1574362965
+ modify 1580883247
author Henry@LAPPY586
access 0777
}
@@ -7328,7 +7319,7 @@ inputs
stat
{
create 1569470295
- modify 1574362965
+ modify 1580883247
author Henry@LAPPY586
access 0777
}
@@ -7408,7 +7399,7 @@ inputs
stat
{
create 1570128391
- modify 1574362965
+ modify 1580883247
author Henry@LAPPY586
access 0777
}
@@ -7430,7 +7421,7 @@ Content-Type: text/plain
baseparm
label "Group"
export none
- bindselector uvselect "Modify Points"
+ bindselector points "Modify Points"
"Select the points to affect and press Enter to complete."
0 1 0xffffffff 0 grouptype 0
}
@@ -7668,7 +7659,7 @@ inputs
stat
{
create 1570128391
- modify 1574362965
+ modify 1580883247
author Henry@LAPPY586
access 0777
}
@@ -7690,7 +7681,7 @@ Content-Type: text/plain
baseparm
label "Group"
export none
- bindselector uvselect "Modify Points"
+ bindselector points "Modify Points"
"Select the points to affect and press Enter to complete."
0 1 0xffffffff 0 grouptype 0
}
@@ -7894,306 +7885,6 @@ Content-Type: text/plain
}
}
---HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
-Content-Disposition: attachment; filename="hdaroot/correct_no_instance_point_scale.init"
-Content-Type: text/plain
-
-type = attribwrangle
-matchesdef = 1
-
---HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
-Content-Disposition: attachment; filename="hdaroot/correct_no_instance_point_scale.def"
-Content-Type: text/plain
-
-sopflags sopflags =
-comment ""
-position 75.9016 -61.8801
-connectornextid 2
-flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
-outputsNamed3
-{
-1 "output1"
-}
-inputsNamed3
-{
-0 add2 1 1 "input1"
-}
-inputs
-{
-0 add2 0 1
-}
-stat
-{
- create 1573758124
- modify 1574362965
- author Henry@LAPPY586
- access 0777
-}
-color UT_Color RGB 0.8 0.8 0.8
-delscript ""
-exprlanguage hscript
-end
-
---HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
-Content-Disposition: attachment; filename="hdaroot/correct_no_instance_point_scale.spareparmdef"
-Content-Type: text/plain
-
- group {
- name "folder1"
- label "Code"
-
- parm {
- name "group"
- baseparm
- label "Group"
- export none
- bindselector uvselect "Modify Points"
- "Select the points to affect and press Enter to complete."
- 0 1 0xffffffff 0 grouptype 0
- }
- parm {
- name "grouptype"
- baseparm
- label "Group Type"
- export none
- }
- parm {
- name "class"
- baseparm
- label "Run Over"
- export none
- }
- parm {
- name "vex_numcount"
- baseparm
- label "Number Count"
- export none
- }
- parm {
- name "vex_threadjobsize"
- baseparm
- label "Thread Job Size"
- export none
- }
- parm {
- name "snippet"
- baseparm
- label "VEXpression"
- export all
- }
- parm {
- name "exportlist"
- baseparm
- label "Attributes to Create"
- export none
- }
- parm {
- name "vex_strict"
- baseparm
- label "Enforce Prototypes"
- export none
- }
- }
-
- group {
- name "folder1_1"
- label "Bindings"
-
- parm {
- name "autobind"
- baseparm
- label "Autobind by Name"
- export none
- }
- multiparm {
- name "bindings"
- label "Number of Bindings"
- baseparm
- default 0
- parmtag { "autoscope" "0000000000000000" }
- parmtag { "multistartoffset" "1" }
-
- parm {
- name "bindname#"
- baseparm
- label "Attribute Name"
- export none
- }
- parm {
- name "bindparm#"
- baseparm
- label "VEX Parameter"
- export none
- }
- }
-
- parm {
- name "groupautobind"
- baseparm
- label "Autobind Groups by Name"
- export none
- }
- multiparm {
- name "groupbindings"
- label "Group Bindings"
- baseparm
- default 0
- parmtag { "autoscope" "0000000000000000" }
- parmtag { "multistartoffset" "1" }
-
- parm {
- name "bindgroupname#"
- baseparm
- label "Group Name"
- export none
- }
- parm {
- name "bindgroupparm#"
- baseparm
- label "VEX Parameter"
- export none
- }
- }
-
- parm {
- name "vex_cwdpath"
- baseparm
- label "Evaluation Node Path"
- export none
- }
- parm {
- name "vex_outputmask"
- baseparm
- label "Export Parameters"
- export none
- }
- parm {
- name "vex_updatenmls"
- baseparm
- label "Update Normals If Displaced"
- export none
- }
- parm {
- name "vex_matchattrib"
- baseparm
- label "Attribute to Match"
- export none
- }
- parm {
- name "vex_inplace"
- baseparm
- label "Compute Results In Place"
- export none
- }
- parm {
- name "vex_selectiongroup"
- baseparm
- label "Output Selection Group"
- export none
- }
- }
-
- parm {
- name "default_pscale"
- label "Default Pscale"
- type float
- default { "0" }
- range { 0 1 }
- }
- parm {
- name "default_scale"
- label "Default Scale"
- type vector
- size 3
- default { "0" "0" "0" }
- range { 0 1 }
- }
- parm {
- name "vex_precision"
- baseparm
- label "VEX Precision"
- export none
- }
-
---HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
-Content-Disposition: attachment; filename="hdaroot/correct_no_instance_point_scale.chn"
-Content-Type: text/plain
-
-{
- channel default_pscale {
- lefttype = extend
- righttype = extend
- flags = 0
- segment { length = 0 expr = ch(\"../global_pscale\") }
- }
- channel default_scalex {
- lefttype = extend
- righttype = extend
- flags = 0
- segment { length = 0 expr = ch(\"../global_scalex\") }
- }
- channel default_scaley {
- lefttype = extend
- righttype = extend
- flags = 0
- segment { length = 0 expr = ch(\"../global_scaley\") }
- }
- channel default_scalez {
- lefttype = extend
- righttype = extend
- flags = 0
- segment { length = 0 expr = ch(\"../global_scalez\") }
- }
- }
-
---HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
-Content-Disposition: attachment; filename="hdaroot/correct_no_instance_point_scale.parm"
-Content-Type: text/plain
-
-{
-version 0.8
-folder0 [ 0 locks=0 ] ( 0 0 )
-group [ 0 locks=0 ] ( "" )
-grouptype [ 0 locks=0 ] ( "guess" )
-class [ 0 locks=0 ] ( "point" )
-vex_numcount [ 0 locks=0 ] ( 10 )
-vex_threadjobsize [ 0 locks=0 ] ( 1024 )
-snippet [ 0 locks=0 ] ( "// if we're outputting points and no instance transforms were determined
-// use the global transform values.
-vector default_scale = chv(\"default_scale\");
-float default_pscale = chf(\"default_pscale\");
-
-v@scale = default_scale;
-f@pscale = default_pscale;" )
-exportlist [ 0 locks=0 ] ( * )
-vex_strict [ 0 locks=0 ] ( "off" )
-autobind [ 0 locks=0 ] ( "on" )
-bindings [ 0 locks=0 ] ( 0 )
-groupautobind [ 0 locks=0 ] ( "on" )
-groupbindings [ 0 locks=0 ] ( 0 )
-vex_cwdpath [ 0 locks=0 ] ( . )
-vex_outputmask [ 0 locks=0 ] ( * )
-vex_updatenmls [ 0 locks=0 ] ( "off" )
-vex_matchattrib [ 0 locks=0 ] ( id )
-vex_inplace [ 0 locks=0 ] ( "off" )
-vex_selectiongroup [ 0 locks=0 ] ( "" )
-vex_precision [ 0 locks=0 ] ( auto )
-folder1 [ 0 locks=0 ] ( 0 0 )
-default_pscale [ 8 locks=0 ] ( [ default_pscale 0.40999999999999998 ] )
-default_scale [ 8 locks=0 ] ( [ default_scalex 1 ] [ default_scaley 1 ] [ default_scalez 1 ] )
-}
-
---HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
-Content-Disposition: attachment; filename="hdaroot/correct_no_instance_point_scale.userdata"
-Content-Type: text/plain
-
-{
- "___Version___":{
- "type":"string",
- "value":""
- }
-}
-
--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
Content-Disposition: attachment; filename="hdaroot/MOPs_Visualize_Frame1.init"
Content-Type: text/plain
@@ -8209,7 +7900,7 @@ sopflags sopflags =
comment ""
position 80.4203 -37.429
connectornextid 1
-flags = lock off model off template off footprint off xray off bypass off display on render on highlight off unload off savedata off compress on colordefault on exposed on
+flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
outputsNamed3
{
}
@@ -8224,7 +7915,7 @@ inputs
stat
{
create 1579909387
- modify 1579909592
+ modify 1580880746
author Henry@LAPPY586
access 0777
}
@@ -8380,34 +8071,273 @@ vis_data2 [ 0 locks=0 ] ( "{
\"value\":\"vis_marker\"
}
}
-" )
+" )
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/MOPs_Visualize_Frame1.userdata"
+Content-Type: text/plain
+
+{
+ "___Version___":{
+ "type":"string",
+ "value":""
+ }
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/convert_orient_to_N_up.init"
+Content-Type: text/plain
+
+type = attribwrangle
+matchesdef = 1
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/convert_orient_to_N_up.def"
+Content-Type: text/plain
+
+sopflags sopflags =
+comment ""
+position 93.3863 1.63507
+connectornextid 2
+flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
+outputsNamed3
+{
+1 "output1"
+}
+inputsNamed3
+{
+0 do_orient_curve 2 1 "input1"
+}
+inputs
+{
+0 do_orient_curve 0 1
+}
+stat
+{
+ create 1579909738
+ modify 1580883247
+ author Henry@LAPPY586
+ access 0777
+}
+color UT_Color RGB 0.8 0.8 0.8
+delscript ""
+exprlanguage hscript
+end
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/convert_orient_to_N_up.parm"
+Content-Type: text/plain
+
+{
+version 0.8
+folder0 [ 0 locks=0 ] ( 0 0 )
+group [ 0 locks=0 ] ( "" )
+grouptype [ 0 locks=0 ] ( "guess" )
+class [ 0 locks=0 ] ( "point" )
+vex_numcount [ 0 locks=0 ] ( 10 )
+vex_threadjobsize [ 0 locks=0 ] ( 1024 )
+snippet [ 0 locks=0 ] ( "v@N = qrotate(p@orient, {0,0,1});
+v@up = qrotate(p@orient, {0,1,0});" )
+exportlist [ 0 locks=0 ] ( * )
+vex_strict [ 0 locks=0 ] ( "off" )
+autobind [ 0 locks=0 ] ( "on" )
+bindings [ 0 locks=0 ] ( 0 )
+groupautobind [ 0 locks=0 ] ( "on" )
+groupbindings [ 0 locks=0 ] ( 0 )
+vex_cwdpath [ 0 locks=0 ] ( . )
+vex_outputmask [ 0 locks=0 ] ( * )
+vex_updatenmls [ 0 locks=0 ] ( "off" )
+vex_matchattrib [ 0 locks=0 ] ( id )
+vex_inplace [ 0 locks=0 ] ( "off" )
+vex_selectiongroup [ 0 locks=0 ] ( "" )
+vex_precision [ 0 locks=0 ] ( auto )
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/convert_orient_to_N_up.userdata"
+Content-Type: text/plain
+
+{
+ "___Version___":{
+ "type":"string",
+ "value":""
+ }
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/MOPs_Transform_Modifier.init"
+Content-Type: text/plain
+
+type = MOPS::Transform_Modifier::1.1
+matchesdef = 1
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/MOPs_Transform_Modifier.def"
+Content-Type: text/plain
+
+sopflags sopflags =
+comment ""
+position 74.8035 -63.3051
+connectornextid 2
+flags = lock off model off template off footprint off xray off bypass off display on render on highlight off unload off savedata off compress on colordefault on exposed on
+outputsNamed3
+{
+1 "output1"
+}
+inputsNamed3
+{
+0 switch1 1 1 "input1"
+}
+inputs
+{
+0 switch1 0 1
}
+stat
+{
+ create 1580880777
+ modify 1580883357
+ author Henry@LAPPY586
+ access 0777
+}
+color UT_Color RGB 0.8 0.8 0.8
+delscript ""
+exprlanguage hscript
+end
--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
-Content-Disposition: attachment; filename="hdaroot/MOPs_Visualize_Frame1.userdata"
+Content-Disposition: attachment; filename="hdaroot/MOPs_Transform_Modifier.chn"
+Content-Type: text/plain
+
+{
+ channel translatex {
+ lefttype = extend
+ righttype = extend
+ flags = 0
+ segment { length = 0 expr = ch(\"../global_translatex\") }
+ }
+ channel translatey {
+ lefttype = extend
+ righttype = extend
+ flags = 0
+ segment { length = 0 expr = ch(\"../global_translatey\") }
+ }
+ channel translatez {
+ lefttype = extend
+ righttype = extend
+ flags = 0
+ segment { length = 0 expr = ch(\"../global_translatez\") }
+ }
+ channel rotatex {
+ lefttype = extend
+ righttype = extend
+ flags = 0
+ segment { length = 0 expr = ch(\"../global_rotatex\") }
+ }
+ channel rotatey {
+ lefttype = extend
+ righttype = extend
+ flags = 0
+ segment { length = 0 expr = ch(\"../global_rotatey\") }
+ }
+ channel rotatez {
+ lefttype = extend
+ righttype = extend
+ flags = 0
+ segment { length = 0 expr = ch(\"../global_rotatez\") }
+ }
+ channel scalex {
+ lefttype = extend
+ righttype = extend
+ default = 1
+ flags = 0
+ segment { length = 0 value = 1 1 expr = ch(\"../global_scalex\") }
+ }
+ channel scaley {
+ lefttype = extend
+ righttype = extend
+ default = 1
+ flags = 0
+ segment { length = 0 value = 1 1 expr = ch(\"../global_scaley\") }
+ }
+ channel scalez {
+ lefttype = extend
+ righttype = extend
+ default = 1
+ flags = 0
+ segment { length = 0 value = 1 1 expr = ch(\"../global_scalez\") }
+ }
+ channel uniform_scale {
+ lefttype = extend
+ righttype = extend
+ default = 1
+ flags = 0
+ segment { length = 0 value = 1 1 expr = ch(\"../global_pscale\") }
+ }
+ }
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/MOPs_Transform_Modifier.parm"
+Content-Type: text/plain
+
+{
+version 0.8
+group [ 0 locks=0 ] ( "" )
+grouptype [ 0 locks=0 ] ( "guess" )
+ignore_no_falloff [ 0 locks=0 ] ( "off" )
+local [ 0 locks=0 ] ( "on" )
+translate [ 8 locks=0 ] ( [ translatex 0 ] [ translatey 0 ] [ translatez 0 ] )
+rotate [ 8 locks=0 ] ( [ rotatex 0 ] [ rotatey 0 ] [ rotatez 0 ] )
+scale [ 8 locks=0 ] ( [ scalex 1 ] [ scaley 1 ] [ scalez 1 ] )
+uniform_scale [ 0 locks=0 ] ( [ uniform_scale 1 ] )
+pivot [ 0 locks=0 ] ( 0 0 0 )
+do_weight [ 0 locks=0 ] ( "off" )
+falloff_attribute [ 0 locks=0 ] ( mops_falloff )
+do_vexpression [ 0 locks=0 ] ( "off" )
+vexpression [ 0 locks=0 ] ( "// translate = {0,0,0};
+// rotate = {0,0,0};
+// scale = {1,1,1};
+// pscale = 1;
+// local = 1;" )
+rotate_mode [ 0 locks=0 ] ( 0 )
+scale_mode [ 0 locks=0 ] ( 1 )
+rotate_order [ 0 locks=0 ] ( 0 )
+pivot_mode [ 0 locks=0 ] ( 0 )
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/MOPs_Transform_Modifier.userdata"
Content-Type: text/plain
{
"___Version___":{
"type":"string",
"value":""
+ },
+ "___toolcount___":{
+ "type":"string",
+ "value":"7"
+ },
+ "___toolid___":{
+ "type":"string",
+ "value":"MOPS::sop_Transform_Modifier::1.1"
}
}
--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
-Content-Disposition: attachment; filename="hdaroot/convert_orient_to_N_up.init"
+Content-Disposition: attachment; filename="hdaroot/pointwrangle2.init"
Content-Type: text/plain
type = attribwrangle
matchesdef = 1
--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
-Content-Disposition: attachment; filename="hdaroot/convert_orient_to_N_up.def"
+Content-Disposition: attachment; filename="hdaroot/pointwrangle2.def"
Content-Type: text/plain
sopflags sopflags =
comment ""
-position 93.3863 1.63507
+position 77.3947 -61.7024
connectornextid 2
flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
outputsNamed3
@@ -8416,16 +8346,16 @@ outputsNamed3
}
inputsNamed3
{
-0 do_orient_curve 2 1 "input1"
+0 add2 1 1 "input1"
}
inputs
{
-0 do_orient_curve 0 1
+0 add2 0 1
}
stat
{
- create 1579909738
- modify 1579909773
+ create 1580883336
+ modify 1580883351
author Henry@LAPPY586
access 0777
}
@@ -8435,7 +8365,7 @@ exprlanguage hscript
end
--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
-Content-Disposition: attachment; filename="hdaroot/convert_orient_to_N_up.parm"
+Content-Disposition: attachment; filename="hdaroot/pointwrangle2.parm"
Content-Type: text/plain
{
@@ -8446,8 +8376,8 @@ grouptype [ 0 locks=0 ] ( "guess" )
class [ 0 locks=0 ] ( "point" )
vex_numcount [ 0 locks=0 ] ( 10 )
vex_threadjobsize [ 0 locks=0 ] ( 1024 )
-snippet [ 0 locks=0 ] ( "v@N = qrotate(p@orient, {0,0,1});
-v@up = qrotate(p@orient, {0,1,0});" )
+snippet [ 0 locks=0 ] ( "@pscale = 1;
+v@scale = 1;" )
exportlist [ 0 locks=0 ] ( * )
vex_strict [ 0 locks=0 ] ( "off" )
autobind [ 0 locks=0 ] ( "on" )
@@ -8464,7 +8394,7 @@ vex_precision [ 0 locks=0 ] ( auto )
}
--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
-Content-Disposition: attachment; filename="hdaroot/convert_orient_to_N_up.userdata"
+Content-Disposition: attachment; filename="hdaroot/pointwrangle2.userdata"
Content-Type: text/plain
{
@@ -8502,7 +8432,7 @@ inputs
stat
{
create 1508907047
- modify 1574362965
+ modify 1580883247
author Henry@LAPPY586
access 0777
}
@@ -8582,7 +8512,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"18.0.356"
+ "value":"18.0.348"
}
}
@@ -8599,7 +8529,7 @@ Content-Type: text/plain
sopflags sopflags =
comment ""
-position 72.6693 -68.426
+position 72.6612 -68.497
connectornextid 1
flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
outputsNamed3
@@ -8616,7 +8546,7 @@ inputs
stat
{
create 1510816622
- modify 1580676401
+ modify 1580883357
author Henry@LAPPY586
access 0777
}
@@ -8641,7 +8571,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"18.0.356"
+ "value":"18.0.348"
}
}
@@ -8702,7 +8632,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"18.0.356"
+ "value":"18.0.348"
}
}
@@ -8737,7 +8667,7 @@ inputs
stat
{
create 1508906585
- modify 1574362965
+ modify 1580883247
author Henry@LAPPY586
access 0777
}
@@ -8799,7 +8729,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"18.0.356"
+ "value":"18.0.348"
}
}
@@ -8834,7 +8764,7 @@ inputs
stat
{
create 1508911812
- modify 1574362965
+ modify 1580883247
author Henry@LAPPY586
access 0777
}
@@ -9067,7 +8997,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"18.0.356"
+ "value":"18.0.348"
}
}
@@ -9100,7 +9030,7 @@ inputs
stat
{
create 1567573563
- modify 1574362965
+ modify 1580883247
author Henry@LAPPY586
access 0777
}
@@ -9190,7 +9120,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"18.0.356"
+ "value":"18.0.348"
}
}
@@ -9223,7 +9153,7 @@ inputs
stat
{
create 1508906579
- modify 1574362965
+ modify 1580883247
author Henry@LAPPY586
access 0777
}
@@ -9355,7 +9285,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"18.0.356"
+ "value":"18.0.348"
}
}
@@ -9416,7 +9346,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"18.0.356"
+ "value":"18.0.348"
}
}
@@ -9451,7 +9381,7 @@ inputs
stat
{
create 1508906585
- modify 1574362965
+ modify 1580883247
author Henry@LAPPY586
access 0777
}
@@ -9513,7 +9443,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"18.0.356"
+ "value":"18.0.348"
}
}
@@ -9614,7 +9544,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"18.0.356"
+ "value":"18.0.348"
}
}
@@ -9701,7 +9631,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"18.0.356"
+ "value":"18.0.348"
}
}
@@ -9762,7 +9692,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"18.0.356"
+ "value":"18.0.348"
}
}
@@ -9799,7 +9729,7 @@ inputs
stat
{
create 1524779021
- modify 1574362965
+ modify 1580883247
author Henry@LAPPY586
access 0777
}
@@ -9837,7 +9767,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"18.0.356"
+ "value":"18.0.348"
}
}
@@ -9870,7 +9800,7 @@ inputs
stat
{
create 1529112153
- modify 1574362965
+ modify 1580883247
author Henry@LAPPY586
access 0777
}
@@ -9924,7 +9854,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"18.0.356"
+ "value":"18.0.348"
}
}
@@ -9959,7 +9889,7 @@ inputs
stat
{
create 1529112159
- modify 1574362965
+ modify 1580883247
author Henry@LAPPY586
access 0777
}
@@ -10042,7 +9972,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"18.0.356"
+ "value":"18.0.348"
}
}
@@ -10077,7 +10007,7 @@ inputs
stat
{
create 1529112407
- modify 1574362965
+ modify 1580883247
author Henry@LAPPY586
access 0777
}
@@ -10134,7 +10064,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"18.0.356"
+ "value":"18.0.348"
}
}
@@ -10210,7 +10140,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"18.0.356"
+ "value":"18.0.348"
}
}
@@ -10292,7 +10222,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"18.0.356"
+ "value":"18.0.348"
}
}
@@ -10327,7 +10257,7 @@ inputs
stat
{
create 1529112948
- modify 1574362965
+ modify 1580883247
author Henry@LAPPY586
access 0777
}
@@ -10379,7 +10309,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"18.0.356"
+ "value":"18.0.348"
}
}
@@ -10461,7 +10391,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"18.0.356"
+ "value":"18.0.348"
}
}
@@ -10496,7 +10426,7 @@ inputs
stat
{
create 1529112159
- modify 1574362965
+ modify 1580883247
author Henry@LAPPY586
access 0777
}
@@ -10607,7 +10537,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"18.0.356"
+ "value":"18.0.348"
}
}
@@ -10668,7 +10598,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"18.0.356"
+ "value":"18.0.348"
}
}
@@ -10744,7 +10674,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"18.0.356"
+ "value":"18.0.348"
}
}
@@ -10781,7 +10711,7 @@ inputs
stat
{
create 1522120313
- modify 1574362965
+ modify 1580883247
author Henry@LAPPY586
access 0777
}
@@ -10819,7 +10749,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"18.0.356"
+ "value":"18.0.348"
}
}
@@ -10880,7 +10810,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"18.0.356"
+ "value":"18.0.348"
}
}
@@ -10913,7 +10843,7 @@ inputs
stat
{
create 1513226016
- modify 1574362965
+ modify 1580883247
author Henry@LAPPY586
access 0777
}
@@ -10968,7 +10898,7 @@ pivot [ 0 locks=0 ] ( "centroid" )
viewportlod [ 0 locks=0 ] ( "full" )
addpath [ 0 locks=0 ] ( "on" )
enable1 [ 0 locks=0 ] ( "on" )
-objpath1 [ 0 locks=0 ] ( [ objpath1 /obj/rdr_geo_main/OUT_MESH ] )
+objpath1 [ 0 locks=0 ] ( [ objpath1 "" ] )
group1 [ 0 locks=0 ] ( [ group1 "" ] )
expand1 [ 0 locks=0 ] ( "off" )
}
@@ -10980,7 +10910,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"18.0.356"
+ "value":"18.0.348"
}
}
@@ -11015,7 +10945,7 @@ inputs
stat
{
create 1521087863
- modify 1574362965
+ modify 1580883247
author Henry@LAPPY586
access 0777
}
@@ -11122,7 +11052,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"18.0.356"
+ "value":"18.0.348"
}
}
@@ -11159,7 +11089,7 @@ inputs
stat
{
create 1567742580
- modify 1579909392
+ modify 1580883247
author Henry@LAPPY586
access 0777
}
@@ -11198,7 +11128,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"18.0.356"
+ "value":"18.0.348"
}
}
@@ -11259,7 +11189,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"18.0.356"
+ "value":"18.0.348"
}
}
@@ -11320,7 +11250,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"18.0.356"
+ "value":"18.0.348"
}
}
@@ -11388,7 +11318,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"18.0.356"
+ "value":"18.0.348"
}
}
@@ -11423,7 +11353,7 @@ inputs
stat
{
create 1522121754
- modify 1574362965
+ modify 1580883247
author Henry@LAPPY586
access 0777
}
@@ -11487,7 +11417,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"18.0.356"
+ "value":"18.0.348"
}
}
@@ -11522,7 +11452,7 @@ inputs
stat
{
create 1522121807
- modify 1574362965
+ modify 1580883247
author Henry@LAPPY586
access 0777
}
@@ -11586,7 +11516,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"18.0.356"
+ "value":"18.0.348"
}
}
@@ -11654,7 +11584,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"18.0.356"
+ "value":"18.0.348"
}
}
@@ -11691,7 +11621,7 @@ inputs
stat
{
create 1522300910
- modify 1574362965
+ modify 1580883247
author Henry@LAPPY586
access 0777
}
@@ -11729,7 +11659,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"18.0.356"
+ "value":"18.0.348"
}
}
@@ -11828,7 +11758,7 @@ inputs
stat
{
create 1523143901
- modify 1574362965
+ modify 1580883247
author henry@GlaDOS
access 0777
}
@@ -11894,7 +11824,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"18.0.356"
+ "value":"18.0.348"
}
}
@@ -11929,7 +11859,7 @@ inputs
stat
{
create 1523747481
- modify 1574362965
+ modify 1580883247
author henry@GlaDOS
access 0777
}
@@ -12002,7 +11932,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"18.0.356"
+ "value":"18.0.348"
}
}
@@ -12049,7 +11979,7 @@ inputs
stat
{
create 1567743404
- modify 1574362965
+ modify 1580883247
author Henry@LAPPY586
access 0777
}
@@ -12077,7 +12007,7 @@ Content-Type: text/plain
{
version 0.8
-input [ 0 locks=0 ] ( [ input 6 ] )
+input [ 0 locks=0 ] ( [ input 3 ] )
}
--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
@@ -12087,7 +12017,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"18.0.356"
+ "value":"18.0.348"
}
}
@@ -12153,7 +12083,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"18.0.356"
+ "value":"18.0.348"
}
}
@@ -12190,7 +12120,7 @@ inputs
stat
{
create 1523145623
- modify 1574362965
+ modify 1580883247
author henry@GlaDOS
access 0777
}
@@ -12219,7 +12149,7 @@ Content-Type: text/plain
{
version 0.8
-input [ 0 locks=0 ] ( [ input 0 ] )
+input [ 0 locks=0 ] ( [ input 1 ] )
}
--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
@@ -12229,7 +12159,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"18.0.356"
+ "value":"18.0.348"
},
"___toolcount___":{
"type":"string",
@@ -12272,7 +12202,7 @@ inputs
stat
{
create 1567744824
- modify 1579909454
+ modify 1580883247
author Henry@LAPPY586
access 0777
}
@@ -12327,7 +12257,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"18.0.356"
+ "value":"18.0.348"
}
}
@@ -12362,7 +12292,7 @@ inputs
stat
{
create 1567744824
- modify 1580676961
+ modify 1580883247
author Henry@LAPPY586
access 0777
}
@@ -12391,7 +12321,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"18.0.356"
+ "value":"18.0.348"
}
}
@@ -12428,7 +12358,7 @@ inputs
stat
{
create 1522969458
- modify 1574362965
+ modify 1580883247
author Wolf_User@admin-hp
access 0777
}
@@ -12493,7 +12423,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"18.0.356"
+ "value":"18.0.348"
}
}
@@ -12526,7 +12456,7 @@ inputs
stat
{
create 1567744114
- modify 1574362965
+ modify 1580883247
author Henry@LAPPY586
access 0777
}
@@ -12704,7 +12634,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"18.0.356"
+ "value":"18.0.348"
}
}
@@ -12741,7 +12671,7 @@ inputs
stat
{
create 1530848870
- modify 1574362965
+ modify 1580883247
author Henry@LAPPY586
access 0777
}
@@ -12800,7 +12730,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"18.0.356"
+ "value":"18.0.348"
}
}
@@ -12837,7 +12767,7 @@ inputs
stat
{
create 1530848814
- modify 1574362965
+ modify 1580883247
author Henry@LAPPY586
access 0777
}
@@ -12896,7 +12826,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"18.0.356"
+ "value":"18.0.348"
}
}
@@ -12929,7 +12859,7 @@ inputs
stat
{
create 1530848881
- modify 1574362965
+ modify 1580883247
author Henry@LAPPY586
access 0777
}
@@ -13126,7 +13056,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"18.0.356"
+ "value":"18.0.348"
}
}
@@ -13159,7 +13089,7 @@ inputs
stat
{
create 1530848886
- modify 1574362965
+ modify 1580883247
author Henry@LAPPY586
access 0777
}
@@ -13616,7 +13546,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"18.0.356"
+ "value":"18.0.348"
}
}
@@ -13648,7 +13578,7 @@ inputs
stat
{
create 1567746994
- modify 1580676961
+ modify 1580883247
author Henry@LAPPY586
access 0777
}
@@ -13677,7 +13607,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"18.0.356"
+ "value":"18.0.348"
}
}
@@ -13694,7 +13624,7 @@ Content-Type: text/plain
sopflags sopflags =
comment ""
-position 72.6638 -48.3774
+position 72.6693 -49.1481
connectornextid 3
flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
outputsNamed3
@@ -13714,7 +13644,7 @@ inputs
stat
{
create 1523081344
- modify 1580676361
+ modify 1580883247
author Henry@LAPPY586
access 0777
}
@@ -13752,7 +13682,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"18.0.356"
+ "value":"18.0.348"
}
}
@@ -13769,7 +13699,7 @@ Content-Type: text/plain
sopflags sopflags =
comment ""
-position 72.6693 -54.566
+position 72.7307 -55.9748
connectornextid 3
flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
outputsNamed3
@@ -13789,7 +13719,7 @@ inputs
stat
{
create 1540442277
- modify 1580676401
+ modify 1580677164
author henry@GlaDOS
access 0777
}
@@ -13827,7 +13757,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"18.0.356"
+ "value":"18.0.348"
}
}
@@ -13844,7 +13774,7 @@ Content-Type: text/plain
sopflags sopflags =
comment ""
-position 72.6693 -66.3482
+position 72.6612 -66.4192
connectornextid 2
flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
outputsNamed3
@@ -13862,7 +13792,7 @@ inputs
stat
{
create 1567748193
- modify 1580676401
+ modify 1580883319
author Henry@LAPPY586
access 0777
}
@@ -13891,7 +13821,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"18.0.356"
+ "value":"18.0.348"
}
}
@@ -13908,7 +13838,7 @@ Content-Type: text/plain
sopflags sopflags =
comment ""
-position 72.6693 -58.8141
+position 72.6693 -57.7683
connectornextid 3
flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
outputsNamed3
@@ -13928,7 +13858,7 @@ inputs
stat
{
create 1568260279
- modify 1580676401
+ modify 1574107293
author Henry@LAPPY586
access 0777
}
@@ -13970,7 +13900,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"18.0.356"
+ "value":"18.0.348"
}
}
@@ -14044,7 +13974,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"18.0.356"
+ "value":"18.0.348"
}
}
@@ -14079,7 +14009,7 @@ inputs
stat
{
create 1567743257
- modify 1574362965
+ modify 1580883247
author Henry@LAPPY586
access 0777
}
@@ -14154,7 +14084,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"18.0.356"
+ "value":"18.0.348"
}
}
@@ -14215,7 +14145,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"18.0.356"
+ "value":"18.0.348"
}
}
@@ -14276,7 +14206,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"18.0.356"
+ "value":"18.0.348"
}
}
@@ -14319,7 +14249,7 @@ inputs
stat
{
create 1568264088
- modify 1574362965
+ modify 1580883247
author Henry@LAPPY586
access 0777
}
@@ -14348,7 +14278,7 @@ Content-Type: text/plain
{
version 0.8
-input [ 0 locks=0 ] ( [ input 2 ] )
+input [ 0 locks=0 ] ( [ input 0 ] )
}
--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
@@ -14358,7 +14288,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"18.0.356"
+ "value":"18.0.348"
}
}
@@ -14419,7 +14349,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"18.0.356"
+ "value":"18.0.348"
}
}
@@ -14480,7 +14410,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"18.0.356"
+ "value":"18.0.348"
}
}
@@ -14541,7 +14471,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"18.0.356"
+ "value":"18.0.348"
}
}
@@ -14602,7 +14532,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"18.0.356"
+ "value":"18.0.348"
}
}
@@ -14663,7 +14593,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"18.0.356"
+ "value":"18.0.348"
}
}
@@ -14700,7 +14630,7 @@ inputs
stat
{
create 1568520276
- modify 1574362965
+ modify 1580883247
author Henry@LAPPY586
access 0777
}
@@ -14738,7 +14668,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"18.0.356"
+ "value":"18.0.348"
}
}
@@ -14814,7 +14744,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"18.0.356"
+ "value":"18.0.348"
}
}
@@ -14849,7 +14779,7 @@ inputs
stat
{
create 1568520954
- modify 1574362965
+ modify 1580883247
author Henry@LAPPY586
access 0777
}
@@ -15079,7 +15009,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"18.0.356"
+ "value":"18.0.348"
}
}
@@ -15114,7 +15044,7 @@ inputs
stat
{
create 1567743257
- modify 1574362965
+ modify 1580883247
author Henry@LAPPY586
access 0777
}
@@ -15174,7 +15104,7 @@ Content-Type: text/plain
{
version 0.8
method [ 0 locks=0 ] ( "byframe" )
-frame [ 0 locks=0 ] ( [ frame 1001 ] )
+frame [ 0 locks=0 ] ( [ frame 1 ] )
integerframe [ 0 locks=0 ] ( "on" )
time [ 0 locks=0 ] ( [ time 1.7916666666666667 ] )
rangeclamp [ 0 locks=0 ] ( "none" )
@@ -15189,7 +15119,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"18.0.356"
+ "value":"18.0.348"
}
}
@@ -15250,7 +15180,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"18.0.356"
+ "value":"18.0.348"
}
}
@@ -15283,7 +15213,7 @@ inputs
stat
{
create 1568521638
- modify 1574362965
+ modify 1580883247
author Henry@LAPPY586
access 0777
}
@@ -15329,7 +15259,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"18.0.356"
+ "value":"18.0.348"
}
}
@@ -15366,7 +15296,7 @@ inputs
stat
{
create 1568523967
- modify 1574362965
+ modify 1580883247
author Henry@LAPPY586
access 0777
}
@@ -15404,7 +15334,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"18.0.356"
+ "value":"18.0.348"
}
}
@@ -15441,7 +15371,7 @@ inputs
stat
{
create 1568587660
- modify 1579909560
+ modify 1580883247
author Henry@LAPPY586
access 0777
}
@@ -15480,7 +15410,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"18.0.356"
+ "value":"18.0.348"
}
}
@@ -15541,7 +15471,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"18.0.356"
+ "value":"18.0.348"
}
}
@@ -15602,7 +15532,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"18.0.356"
+ "value":"18.0.348"
}
}
@@ -15676,7 +15606,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"18.0.356"
+ "value":"18.0.348"
}
}
@@ -15737,7 +15667,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"18.0.356"
+ "value":"18.0.348"
}
}
@@ -15813,7 +15743,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"18.0.356"
+ "value":"18.0.348"
}
}
@@ -15848,7 +15778,7 @@ inputs
stat
{
create 1508909702
- modify 1574362965
+ modify 1580883247
author Henry@LAPPY586
access 0777
}
@@ -15900,7 +15830,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"18.0.356"
+ "value":"18.0.348"
}
}
@@ -15937,7 +15867,7 @@ inputs
stat
{
create 1568609578
- modify 1574362965
+ modify 1580883247
author Henry@LAPPY586
access 0777
}
@@ -15975,7 +15905,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"18.0.356"
+ "value":"18.0.348"
}
}
@@ -16049,7 +15979,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"18.0.356"
+ "value":"18.0.348"
}
}
@@ -16084,7 +16014,7 @@ inputs
stat
{
create 1568609633
- modify 1574362965
+ modify 1580883247
author Henry@LAPPY586
access 0777
}
@@ -16161,7 +16091,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"18.0.356"
+ "value":"18.0.348"
}
}
@@ -16198,7 +16128,7 @@ inputs
stat
{
create 1568609660
- modify 1574362965
+ modify 1580883247
author Henry@LAPPY586
access 0777
}
@@ -16236,7 +16166,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"18.0.356"
+ "value":"18.0.348"
}
}
@@ -16300,7 +16230,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"18.0.356"
+ "value":"18.0.348"
}
}
@@ -16335,7 +16265,7 @@ inputs
stat
{
create 1560463831
- modify 1574362965
+ modify 1580883247
author Henry@LAPPY586
access 0777
}
@@ -16446,7 +16376,7 @@ path [ 0 locks=0 ] ( op:`opfullpath('.')` )
packbyname [ 0 locks=0 ] ( "off" )
nameattribute [ 0 locks=0 ] ( name )
packedfragments [ 0 locks=0 ] ( "on" )
-pivot [ 0 locks=0 ] ( [ pivot 1 ] )
+pivot [ 0 locks=0 ] ( [ pivot 0 ] )
transfer_attributes [ 0 locks=0 ] ( `chs(\"../transfer_attributes\")` )
transfer_groups [ 0 locks=0 ] ( "" )
spare_input0 [ 0 locks=0 ] ( ../foreach_begin1_metadata1 )
@@ -16459,7 +16389,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"18.0.356"
+ "value":"18.0.348"
}
}
@@ -16496,7 +16426,7 @@ inputs
stat
{
create 1568697713
- modify 1574362965
+ modify 1580883247
author Henry@LAPPY586
access 0777
}
@@ -16534,7 +16464,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"18.0.356"
+ "value":"18.0.348"
}
}
@@ -16567,7 +16497,7 @@ inputs
stat
{
create 1568697731
- modify 1574362965
+ modify 1580883247
author Henry@LAPPY586
access 0777
}
@@ -16648,7 +16578,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"18.0.356"
+ "value":"18.0.348"
}
}
@@ -16685,7 +16615,7 @@ inputs
stat
{
create 1568698410
- modify 1574362965
+ modify 1580883247
author Henry@LAPPY586
access 0777
}
@@ -16723,7 +16653,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"18.0.356"
+ "value":"18.0.348"
}
}
@@ -16760,7 +16690,7 @@ inputs
stat
{
create 1568780457
- modify 1574362965
+ modify 1580883247
author Henry@LAPPY586
access 0777
}
@@ -16798,7 +16728,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"18.0.356"
+ "value":"18.0.348"
}
}
@@ -16835,7 +16765,7 @@ inputs
stat
{
create 1568780547
- modify 1574362965
+ modify 1580883247
author Henry@LAPPY586
access 0777
}
@@ -16874,7 +16804,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"18.0.356"
+ "value":"18.0.348"
}
}
@@ -16951,7 +16881,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"18.0.356"
+ "value":"18.0.348"
}
}
@@ -16988,7 +16918,7 @@ inputs
stat
{
create 1568863380
- modify 1574362965
+ modify 1580883247
author Henry@LAPPY586
access 0777
}
@@ -17026,7 +16956,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"18.0.356"
+ "value":"18.0.348"
}
}
@@ -17061,7 +16991,7 @@ inputs
stat
{
create 1521087863
- modify 1574362965
+ modify 1580883247
author Henry@LAPPY586
access 0777
}
@@ -17123,7 +17053,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"18.0.356"
+ "value":"18.0.348"
}
}
@@ -17184,7 +17114,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"18.0.356"
+ "value":"18.0.348"
}
}
@@ -17249,7 +17179,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"18.0.356"
+ "value":"18.0.348"
}
}
@@ -17286,7 +17216,7 @@ inputs
stat
{
create 1568866329
- modify 1574362965
+ modify 1580883247
author Henry@LAPPY586
access 0777
}
@@ -17324,7 +17254,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"18.0.356"
+ "value":"18.0.348"
}
}
@@ -17390,7 +17320,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"18.0.356"
+ "value":"18.0.348"
}
}
@@ -17456,7 +17386,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"18.0.356"
+ "value":"18.0.348"
}
}
@@ -17489,7 +17419,7 @@ inputs
stat
{
create 1568521638
- modify 1574362965
+ modify 1580883247
author Henry@LAPPY586
access 0777
}
@@ -17535,7 +17465,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"18.0.356"
+ "value":"18.0.348"
}
}
@@ -17572,7 +17502,7 @@ inputs
stat
{
create 1568867356
- modify 1574362965
+ modify 1580883247
author Henry@LAPPY586
access 0777
}
@@ -17600,7 +17530,7 @@ Content-Type: text/plain
{
version 0.8
-input [ 8 locks=0 ] ( [ input 1 ] )
+input [ 8 locks=0 ] ( [ input 0 ] )
}
--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
@@ -17610,7 +17540,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"18.0.356"
+ "value":"18.0.348"
}
}
@@ -17676,7 +17606,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"18.0.356"
+ "value":"18.0.348"
}
}
@@ -17742,7 +17672,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"18.0.356"
+ "value":"18.0.348"
}
}
@@ -17808,7 +17738,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"18.0.356"
+ "value":"18.0.348"
}
}
@@ -17845,7 +17775,7 @@ inputs
stat
{
create 1568868406
- modify 1574362965
+ modify 1580883247
author Henry@LAPPY586
access 0777
}
@@ -17883,7 +17813,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"18.0.356"
+ "value":"18.0.348"
}
}
@@ -18022,7 +17952,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"18.0.356"
+ "value":"18.0.348"
}
}
@@ -18094,7 +18024,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"18.0.356"
+ "value":"18.0.348"
}
}
@@ -18193,7 +18123,7 @@ inputs
stat
{
create 1568947590
- modify 1574362965
+ modify 1580883247
author Henry@LAPPY586
access 0777
}
@@ -18316,7 +18246,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"18.0.356"
+ "value":"18.0.348"
}
}
@@ -18351,7 +18281,7 @@ inputs
stat
{
create 1568947590
- modify 1574362965
+ modify 1580883247
author Henry@LAPPY586
access 0777
}
@@ -18700,7 +18630,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"18.0.356"
+ "value":"18.0.348"
}
}
@@ -18735,7 +18665,7 @@ inputs
stat
{
create 1567743257
- modify 1574362965
+ modify 1580883247
author Henry@LAPPY586
access 0777
}
@@ -18810,7 +18740,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"18.0.356"
+ "value":"18.0.348"
}
}
@@ -18847,7 +18777,7 @@ inputs
stat
{
create 1569084319
- modify 1574362965
+ modify 1580883247
author Henry@LAPPY586
access 0777
}
@@ -18885,7 +18815,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"18.0.356"
+ "value":"18.0.348"
}
}
@@ -18950,7 +18880,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"18.0.356"
+ "value":"18.0.348"
}
}
@@ -18967,7 +18897,7 @@ Content-Type: text/plain
sopflags sopflags =
comment ""
-position 72.6693 -61.5242
+position 72.6693 -60.4784
connectornextid 3
flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
outputsNamed3
@@ -18987,7 +18917,7 @@ inputs
stat
{
create 1569453856
- modify 1580676401
+ modify 1580883247
author Henry@LAPPY586
access 0777
}
@@ -19026,7 +18956,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"18.0.356"
+ "value":"18.0.348"
}
}
@@ -19104,7 +19034,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"18.0.356"
+ "value":"18.0.348"
}
}
@@ -19121,7 +19051,7 @@ Content-Type: text/plain
sopflags sopflags =
comment ""
-position 72.4616 -59.911
+position 72.4616 -58.8652
connectornextid 2
flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
outputsNamed3
@@ -19139,7 +19069,7 @@ inputs
stat
{
create 1521092176
- modify 1580676925
+ modify 1580677174
author Henry@LAPPY586
access 0777
}
@@ -19156,7 +19086,7 @@ Content-Type: text/plain
version 0.8
ptdel [ 0 locks=0 ] ( "__probability orient scale pscale N up pivot __templateid __sourceprim __sourceprimuv" )
vtxdel [ 0 locks=0 ] ( "" )
-primdel [ 0 locks=0 ] ( "__primid " )
+primdel [ 0 locks=0 ] ( __primid )
dtldel [ 0 locks=0 ] ( "" )
updatevar [ 0 locks=0 ] ( "on" )
}
@@ -19185,7 +19115,7 @@ Content-Type: text/plain
sopflags sopflags =
comment ""
-position 72.6693 -64.2886
+position 72.6612 -64.3596
connectornextid 3
flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
outputsNamed3
@@ -19195,17 +19125,17 @@ outputsNamed3
inputsNamed3
{
0 switch_points_only_mesh 1 1 "input1"
-2 switch1 2 1 "input2"
+2 MOPs_Transform_Modifier 1 1 "input2"
}
inputs
{
0 switch_points_only_mesh 0 1
-1 switch1 0 1
+1 MOPs_Transform_Modifier 0 1
}
stat
{
create 1569455704
- modify 1580676401
+ modify 1580883319
author Henry@LAPPY586
access 0777
}
@@ -19233,7 +19163,7 @@ Content-Type: text/plain
{
version 0.8
-input [ 8 locks=0 ] ( [ input 0 ] )
+input [ 8 locks=0 ] ( [ input 1 ] )
}
--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
@@ -19243,7 +19173,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"18.0.356"
+ "value":"18.0.348"
}
}
@@ -19303,7 +19233,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"18.0.356"
+ "value":"18.0.348"
}
}
@@ -19336,7 +19266,7 @@ inputs
stat
{
create 1569455737
- modify 1574362965
+ modify 1580883247
author Henry@LAPPY586
access 0777
}
@@ -19382,7 +19312,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"18.0.356"
+ "value":"18.0.348"
}
}
@@ -19399,7 +19329,7 @@ Content-Type: text/plain
sopflags sopflags =
comment ""
-position 72.6659 -65.3482
+position 72.6578 -65.4192
connectornextid 2
flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
outputsNamed3
@@ -19417,7 +19347,7 @@ inputs
stat
{
create 1521092176
- modify 1580676401
+ modify 1580883319
author Henry@LAPPY586
access 0777
}
@@ -19520,7 +19450,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"18.0.356"
+ "value":"18.0.348"
}
}
@@ -19585,7 +19515,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"18.0.356"
+ "value":"18.0.348"
}
}
@@ -19659,7 +19589,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"18.0.356"
+ "value":"18.0.348"
}
}
@@ -19723,7 +19653,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"18.0.356"
+ "value":"18.0.348"
}
}
@@ -19758,7 +19688,7 @@ inputs
stat
{
create 1569714346
- modify 1574362965
+ modify 1580883247
author Henry@LAPPY586
access 0777
}
@@ -19786,7 +19716,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"18.0.356"
+ "value":"18.0.348"
}
}
@@ -19850,7 +19780,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"18.0.356"
+ "value":"18.0.348"
}
}
@@ -19885,7 +19815,7 @@ inputs
stat
{
create 1569714414
- modify 1574362965
+ modify 1580883247
author Henry@LAPPY586
access 0777
}
@@ -19913,7 +19843,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"18.0.356"
+ "value":"18.0.348"
}
}
@@ -19930,7 +19860,7 @@ Content-Type: text/plain
sopflags sopflags =
comment ""
-position 75.9046 -60.938
+position 76.1668 -60.7363
connectornextid 2
flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
outputsNamed3
@@ -19948,7 +19878,7 @@ inputs
stat
{
create 1570315039
- modify 1570315061
+ modify 1580880363
author Henry@LAPPY586
access 0777
}
@@ -19991,82 +19921,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"18.0.356"
- }
-}
-
---HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
-Content-Disposition: attachment; filename="hdaroot/switch1.init"
-Content-Type: text/plain
-
-type = switch
-matchesdef = 0
-
---HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
-Content-Disposition: attachment; filename="hdaroot/switch1.def"
-Content-Type: text/plain
-
-sopflags sopflags =
-comment ""
-position 73.9033 -62.9408
-connectornextid 3
-flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
-outputsNamed3
-{
-2 "output1"
-}
-inputsNamed3
-{
-0 add2 1 1 "input1"
-1 correct_no_instance_point_scale 1 1 "input2"
-}
-inputs
-{
-0 add2 0 1
-1 correct_no_instance_point_scale 0 1
-}
-stat
-{
- create 1573758422
- modify 1580676435
- author Henry@LAPPY586
- access 0777
-}
-color UT_Color RGB 0.8 1 0.7
-delscript ""
-exprlanguage hscript
-end
-
---HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
-Content-Disposition: attachment; filename="hdaroot/switch1.chn"
-Content-Type: text/plain
-
-{
- channel input {
- lefttype = extend
- righttype = extend
- flags = 0
- segment { length = 0 expr = "ch(\"../instanceobjects\") < 1" }
- }
- }
-
---HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
-Content-Disposition: attachment; filename="hdaroot/switch1.parm"
-Content-Type: text/plain
-
-{
-version 0.8
-input [ 8 locks=0 ] ( [ input 0 ] )
-}
-
---HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
-Content-Disposition: attachment; filename="hdaroot/switch1.userdata"
-Content-Type: text/plain
-
-{
- "___Version___":{
- "type":"string",
- "value":"18.0.356"
+ "value":"18.0.348"
}
}
@@ -20083,7 +19938,7 @@ Content-Type: text/plain
sopflags sopflags =
comment ""
-position 72.6638 -50.2586
+position 72.5603 -51.3242
connectornextid 2
flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
outputsNamed3
@@ -20101,7 +19956,7 @@ inputs
stat
{
create 1580676372
- modify 1580676465
+ modify 1580677168
author Henry@LAPPY586
access 0777
}
@@ -20146,7 +20001,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"18.0.356"
+ "value":"18.0.348"
}
}
@@ -20163,7 +20018,7 @@ Content-Type: text/plain
sopflags sopflags =
comment ""
-position 72.6604 -49.437
+position 72.5569 -50.5026
connectornextid 2
flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
outputsNamed3
@@ -20181,7 +20036,7 @@ inputs
stat
{
create 1580676398
- modify 1580676465
+ modify 1580677170
author Henry@LAPPY586
access 0777
}
@@ -20214,7 +20069,82 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"18.0.356"
+ "value":"18.0.348"
+ }
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/switch1.init"
+Content-Type: text/plain
+
+type = switch
+matchesdef = 0
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/switch1.def"
+Content-Type: text/plain
+
+sopflags sopflags =
+comment ""
+position 75.1487 -62.2455
+connectornextid 3
+flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
+outputsNamed3
+{
+1 "output1"
+}
+inputsNamed3
+{
+0 add2 1 1 "input1"
+2 pointwrangle2 1 1 "input2"
+}
+inputs
+{
+0 add2 0 1
+1 pointwrangle2 0 1
+}
+stat
+{
+ create 1580883319
+ modify 1580883339
+ author Henry@LAPPY586
+ access 0777
+}
+color UT_Color RGB 0.8 1 0.7
+delscript ""
+exprlanguage hscript
+end
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/switch1.chn"
+Content-Type: text/plain
+
+{
+ channel input {
+ lefttype = extend
+ righttype = extend
+ flags = 0
+ segment { length = 0 expr = ch(\"../points_only\") }
+ }
+ }
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/switch1.parm"
+Content-Type: text/plain
+
+{
+version 0.8
+input [ 8 locks=0 ] ( [ input 1 ] )
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/switch1.userdata"
+Content-Type: text/plain
+
+{
+ "___Version___":{
+ "type":"string",
+ "value":"18.0.348"
}
}
@@ -20235,7 +20165,7 @@ Content-Type: text/plain
Content-Disposition: attachment; filename="hdaroot.order"
Content-Type: text/plain
-179
+180
globals
output1
distribution_linear1
@@ -20409,12 +20339,13 @@ compile_begin3
define_objpath
define_objpath_file
add2
-correct_no_instance_point_scale
-switch1
MOPs_Visualize_Frame1
convert_orient_to_N_up
sort1
attribpromote1
+MOPs_Transform_Modifier
+switch1
+pointwrangle2
--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
Content-Disposition: attachment; filename="hdaroot.net"
diff --git a/otls/MOPS_instancer.hda/MOPS_8_8Sop_1Instancer_8_81.3/DialogScript b/otls/MOPS_instancer.hda/MOPS_8_8Sop_1Instancer_8_81.3/DialogScript
index 226afbfc..cabca985 100644
--- a/otls/MOPS_instancer.hda/MOPS_8_8Sop_1Instancer_8_81.3/DialogScript
+++ b/otls/MOPS_instancer.hda/MOPS_8_8Sop_1Instancer_8_81.3/DialogScript
@@ -653,6 +653,17 @@
disablewhen "{ xformtype == none }"
parmtag { "autoscope" "0000000000000000" }
}
+ parm {
+ name "packfromdefault"
+ label "Pack From Default"
+ type ordinal
+ default { "0" }
+ menu {
+ "0" "Origin"
+ "1" "Centroid"
+ }
+ parmtag { "script_callback_language" "python" }
+ }
parm {
name "sepparm2"
label "Separator"
@@ -884,7 +895,7 @@
name "pack_from#"
label "Pack From"
type ordinal
- default { "1" }
+ default { "0" }
menu {
"0" "Origin"
"1" "Centroid"
diff --git a/otls/MOPS_instancer.hda/MOPS_8_8Sop_1Instancer_8_81.3/ExtraFileOptions b/otls/MOPS_instancer.hda/MOPS_8_8Sop_1Instancer_8_81.3/ExtraFileOptions
index 1ccd82c7..efb1b0ef 100644
--- a/otls/MOPS_instancer.hda/MOPS_8_8Sop_1Instancer_8_81.3/ExtraFileOptions
+++ b/otls/MOPS_instancer.hda/MOPS_8_8Sop_1Instancer_8_81.3/ExtraFileOptions
@@ -41,7 +41,7 @@
},
"PythonModule/Cursor":{
"type":"intarray",
- "value":[246,50]
+ "value":[154,92]
},
"PythonModule/IsExpr":{
"type":"bool",
@@ -59,6 +59,10 @@
"type":"string",
"value":""
},
+ "ViewerStateModule/CodeGenInput":{
+ "type":"string",
+ "value":"{\n\t\"state_name\":\"\",\n\t\"state_label\":\"\",\n\t\"state_descr\":\"\",\n\t\"state_icon\":\"$HH/config/Icons\",\n\t\"state_sample\":0,\n\t\"state_handler_indices\":[]\n}\n"
+ },
"mops_cloner_03.svg/Cursor":{
"type":"intarray",
"value":[1,1]
diff --git a/otls/MOPS_instancer.hda/MOPS_8_8Sop_1Instancer_8_81.3/Help b/otls/MOPS_instancer.hda/MOPS_8_8Sop_1Instancer_8_81.3/Help
index 2bb8c7e7..bcdc4e4f 100644
--- a/otls/MOPS_instancer.hda/MOPS_8_8Sop_1Instancer_8_81.3/Help
+++ b/otls/MOPS_instancer.hda/MOPS_8_8Sop_1Instancer_8_81.3/Help
@@ -42,6 +42,10 @@ Transform Type:
#id: xformtype
When loading SOPs into the Instancer, the method by which the objects are merged into the current Object network. See the Object Merge SOP for details.
+Pack From Default:
+ #id: packfromdefault
+ When connecting new inputs, the default packed pivot to use for the input. See "Pack From" in the Instance Objects Block.
+
Enable Material Overrides:
#id: do_material_overrides
Enable the Material Override parameters for the Instance Objects.
@@ -94,7 +98,7 @@ Instance Objects:
The weighted probability of each instance type. Lower numbers are less likely to appear in the Random Indexing mode.
Pack From:
- #id: pack_from1
+ #id: pack_from#
Where the default pivot for the packed primitive should be placed: at the centroid of the instance geometry, or at the world origin.
Material Override:
diff --git a/otls/MOPS_instancer.hda/MOPS_8_8Sop_1Instancer_8_81.3/PythonModule b/otls/MOPS_instancer.hda/MOPS_8_8Sop_1Instancer_8_81.3/PythonModule
index 3e690492..c6335ecf 100644
--- a/otls/MOPS_instancer.hda/MOPS_8_8Sop_1Instancer_8_81.3/PythonModule
+++ b/otls/MOPS_instancer.hda/MOPS_8_8Sop_1Instancer_8_81.3/PythonModule
@@ -151,6 +151,7 @@ def on_input_changed(kwargs):
me.parm('instancetype'+str(multiparm_count+1)).set(0)
me.parm('instancepath'+str(multiparm_count+1)).set(new_path)
me.parm('inputindex'+str(multiparm_count+1)).set(int(kwargs['input_index']))
+ me.parm('pack_from'+str(multiparm_count+1)).set(int(me.evalParm("packfromdefault")))
elif len(input_indexes) > len(inputs):
# remove the multiparm entry whose index matches kwargs['input_index']
diff --git a/otls/MOPS_instancer.hda/MOPS_8_8Sop_1Instancer_8_81.3/TypePropertiesOptions b/otls/MOPS_instancer.hda/MOPS_8_8Sop_1Instancer_8_81.3/TypePropertiesOptions
index b4811492..a6d52acf 100644
--- a/otls/MOPS_instancer.hda/MOPS_8_8Sop_1Instancer_8_81.3/TypePropertiesOptions
+++ b/otls/MOPS_instancer.hda/MOPS_8_8Sop_1Instancer_8_81.3/TypePropertiesOptions
@@ -1,14 +1,14 @@
-SaveSpareParms := 0;
CheckExternal := 1;
-SaveIcon := 1;
-GzipContents := 1;
ContentsCompressionType := 1;
-UnlockOnCreate := 0;
-SaveCachedCode := 0;
+ForbidOutsideParms := 1;
+GzipContents := 1;
LockContents := 1;
MakeDefault := 1;
-UseDSParms := 1;
-ForbidOutsideParms := 1;
+ParmsFromVfl := 0;
PrefixDroppedParmLabel := 0;
PrefixDroppedParmName := 0;
-ParmsFromVfl := 0;
+SaveCachedCode := 0;
+SaveIcon := 1;
+SaveSpareParms := 0;
+UnlockOnCreate := 0;
+UseDSParms := 1;
diff --git a/otls/MOPS_instancer.hda/MOPS_8_8Sop_1Instancer_8_81.4/Contents.dir/.OPdummydefs b/otls/MOPS_instancer.hda/MOPS_8_8Sop_1Instancer_8_81.4/Contents.dir/.OPdummydefs
new file mode 100644
index 00000000..208ccb55
Binary files /dev/null and b/otls/MOPS_instancer.hda/MOPS_8_8Sop_1Instancer_8_81.4/Contents.dir/.OPdummydefs differ
diff --git a/otls/MOPS_instancer.hda/MOPS_8_8Sop_1Instancer_8_81.4/Contents.dir/.OPfallbacks b/otls/MOPS_instancer.hda/MOPS_8_8Sop_1Instancer_8_81.4/Contents.dir/.OPfallbacks
new file mode 100644
index 00000000..51837e6a
--- /dev/null
+++ b/otls/MOPS_instancer.hda/MOPS_8_8Sop_1Instancer_8_81.4/Contents.dir/.OPfallbacks
@@ -0,0 +1,36 @@
+MOPS::Sop/Apply_Attributes::1.4 C:/Users/Henry/Projects/VFX/MOPS/otls/MOPS_applyAttributes.hda
+MOPS::Sop/Apply_Attributes::1.4 otls/MOPS_applyAttributes.hda
+MOPS::Sop/Extract_Attributes::1.0 C:/Users/Henry/Projects/VFX/MOPS/otls/MOPS_extractAttributes.hda
+MOPS::Sop/Extract_Attributes::1.0 otls/MOPS_extractAttributes.hda
+MOPS::Sop/Mesh_Flow::1.1 C:/Users/Henry/Projects/VFX/MOPS/otls/MOPS_Mesh_Flow.hda
+MOPS::Sop/Mesh_Flow::1.1 otls/MOPS_Mesh_Flow.hda
+MOPS::Sop/Orient_Curve::1.0 C:/Users/Henry/Projects/VFX/MOPS/otls/MOPS_Orient_Curve.hda
+MOPS::Sop/Orient_Curve::1.0 otls/MOPS_Orient_Curve.hda
+MOPS::Sop/Parallel_Transport::1.0 C:/Users/Henry/Projects/VFX/MOPS/otls/MOPS_Parallel_Transport.hda
+MOPS::Sop/Parallel_Transport::1.0 otls/MOPS_Parallel_Transport.hda
+MOPS::Sop/Transform_Modifier::1.1 C:/Users/Henry/Projects/VFX/MOPS/otls/MOPS_transform.hda
+MOPS::Sop/Transform_Modifier::1.1 otls/MOPS_transform.hda
+MOPS::Sop/Visualize_Frame::1.0 C:/Users/Henry/Projects/VFX/MOPS/otls/MOPS_Visualize_Frame.hda
+MOPS::Sop/Visualize_Frame::1.0 otls/MOPS_Visualize_Frame.hda
+Sop/attribblur C:/PROGRA~1/SIDEEF~1/HOUDIN~1.391/houdini/otls/OPlibSop.hda
+Sop/attribblur otls/OPlibSop.hda
+Sop/attribdelete C:/PROGRA~1/SIDEEF~1/HOUDIN~1.391/houdini/otls/OPlibSop.hda
+Sop/attribdelete otls/OPlibSop.hda
+Sop/attribwrangle C:/PROGRA~1/SIDEEF~1/HOUDIN~1.391/houdini/otls/OPlibSop.hda
+Sop/attribwrangle otls/OPlibSop.hda
+Sop/convertline C:/PROGRA~1/SIDEEF~1/HOUDIN~1.391/houdini/otls/OPlibSop.hda
+Sop/convertline otls/OPlibSop.hda
+Vop/curlnoise C:/PROGRA~1/SIDEEF~1/HOUDIN~1.391/houdini/otls/OPlibScripted.hda
+Vop/curlnoise otls/OPlibScripted.hda
+Vop/geometryvopglobal::2.0 C:/PROGRA~1/SIDEEF~1/HOUDIN~1.391/houdini/otls/OPlibVop.hda
+Vop/geometryvopglobal::2.0 otls/OPlibVop.hda
+Vop/geometryvopoutput C:/PROGRA~1/SIDEEF~1/HOUDIN~1.391/houdini/otls/OPlibVop.hda
+Vop/geometryvopoutput otls/OPlibVop.hda
+Sop/groupexpression C:/PROGRA~1/SIDEEF~1/HOUDIN~1.391/houdini/otls/OPlibSop.hda
+Sop/groupexpression otls/OPlibSop.hda
+Vop/mix C:/PROGRA~1/SIDEEF~1/HOUDIN~1.391/houdini/otls/OPlibScripted.hda
+Vop/mix otls/OPlibScripted.hda
+Vop/normalize C:/PROGRA~1/SIDEEF~1/HOUDIN~1.391/houdini/otls/OPlibScripted.hda
+Vop/normalize otls/OPlibScripted.hda
+Sop/visualize C:/PROGRA~1/SIDEEF~1/HOUDIN~1.391/houdini/otls/OPlibSop.hda
+Sop/visualize otls/OPlibSop.hda
diff --git a/otls/MOPS_instancer.hda/MOPS_8_8Sop_1Instancer_8_81.4/Contents.dir/Contents.mime b/otls/MOPS_instancer.hda/MOPS_8_8Sop_1Instancer_8_81.4/Contents.dir/Contents.mime
new file mode 100644
index 00000000..4848c7a6
--- /dev/null
+++ b/otls/MOPS_instancer.hda/MOPS_8_8Sop_1Instancer_8_81.4/Contents.dir/Contents.mime
@@ -0,0 +1,21244 @@
+MIME-Version: 1.0
+Content-Type: multipart/mixed; boundary="HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY"
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename=".OPfallbacks"
+Content-Type: application/external-reference
+
+.OPfallbacks
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename=".OPdummydefs"
+Content-Type: application/external-reference
+
+.OPdummydefs
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="node_type"
+Content-Type: text/plain
+
+Sop
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot.init"
+Content-Type: text/plain
+
+type = MOPS::Instancer::1.4
+matchesdef = 0
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot.def"
+Content-Type: text/plain
+
+sopflags sopflags =
+comment ""
+position -11.0925 2.24131
+connectornextid 3
+flags = lock off model off template off footprint off xray off bypass off display on render on highlight off unload off savedata off compress on colordefault on exposed on
+outputsNamed3
+{
+}
+inputsNamed3
+{
+0 box1 0 1 "input1"
+1 sphere1 0 1 "input2"
+2 platonic1 0 1 "input3"
+}
+inputs
+{
+0 box1 0 1
+1 sphere1 0 1
+2 platonic1 0 1
+}
+stat
+{
+ create 1586054043
+ modify 1586055631
+ author Henry@LAPPY586
+ access 0777
+}
+color UT_Color RGB 0.8 0.8 0.8
+delscript ""
+exprlanguage hscript
+end
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot.userdata"
+Content-Type: text/plain
+
+{
+ "___Version___":{
+ "type":"string",
+ "value":""
+ }
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot.inp"
+Content-Type: text/plain
+
+500
+0 0 6.8941999999999997 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+1 3 7.3941999999999997 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+2 6 7.8941999999999997 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+3 9 8.3941999999999997 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+4 12 8.8941999999999997 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+5 15 9.3941999999999997 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+6 18 9.8941999999999997 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+7 21 10.3942 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+8 24 10.8942 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+9 27 11.3942 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+10 30 11.8942 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+11 33 12.3942 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+12 36 12.8942 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+13 39 13.3942 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+14 42 13.8942 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+15 45 14.3942 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+16 48 14.8942 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+17 51 15.3942 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+18 54 15.8942 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+19 57 16.394200000000001 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+20 60 16.894200000000001 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+21 63 17.394200000000001 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+22 66 17.894200000000001 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+23 69 18.394200000000001 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+24 72 18.894200000000001 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+25 75 19.394200000000001 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+26 78 19.894200000000001 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+27 81 20.394200000000001 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+28 84 20.894200000000001 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+29 87 21.394200000000001 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+30 90 21.894200000000001 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+31 93 22.394200000000001 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+32 96 22.894200000000001 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+33 99 23.394200000000001 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+34 102 23.894200000000001 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+35 105 24.394200000000001 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+36 108 24.894200000000001 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+37 111 25.394200000000001 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+38 114 25.894200000000001 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+39 117 26.394200000000001 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+40 120 26.894200000000001 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+41 123 27.394200000000001 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+42 126 27.894200000000001 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+43 129 28.394200000000001 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+44 132 28.894200000000001 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+45 135 29.394200000000001 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+46 138 29.894200000000001 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+47 141 30.394200000000001 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+48 144 30.894200000000001 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+49 147 31.394200000000001 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+50 150 31.894200000000001 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+51 153 32.394199999999998 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+52 156 32.894199999999998 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+53 159 33.394199999999998 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+54 162 33.894199999999998 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+55 165 34.394199999999998 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+56 168 34.894199999999998 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+57 171 35.394199999999998 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+58 174 35.894199999999998 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+59 177 36.394199999999998 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+60 180 36.894199999999998 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+61 183 37.394199999999998 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+62 186 37.894199999999998 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+63 189 38.394199999999998 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+64 192 38.894199999999998 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+65 195 39.394199999999998 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+66 198 39.894199999999998 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+67 201 40.394199999999998 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+68 204 40.894199999999998 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+69 207 41.394199999999998 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+70 210 41.894199999999998 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+71 213 42.394199999999998 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+72 216 42.894199999999998 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+73 219 43.394199999999998 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+74 222 43.894199999999998 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+75 225 44.394199999999998 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+76 228 44.894199999999998 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+77 231 45.394199999999998 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+78 234 45.894199999999998 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+79 237 46.394199999999998 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+80 240 46.894199999999998 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+81 243 47.394199999999998 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+82 246 47.894199999999998 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+83 249 48.394199999999998 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+84 252 48.894199999999998 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+85 255 49.394199999999998 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+86 258 49.894199999999998 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+87 261 50.394199999999998 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+88 264 50.894199999999998 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+89 267 51.394199999999998 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+90 270 51.894199999999998 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+91 273 52.394199999999998 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+92 276 52.894199999999998 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+93 279 53.394199999999998 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+94 282 53.894199999999998 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+95 285 54.394199999999998 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+96 288 54.894199999999998 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+97 291 55.394199999999998 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+98 294 55.894199999999998 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+99 297 56.394199999999998 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+100 300 56.894199999999998 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+101 303 57.394199999999998 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+102 306 57.894199999999998 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+103 309 58.394199999999998 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+104 312 58.894199999999998 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+105 315 59.394199999999998 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+106 318 59.894199999999998 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+107 321 60.394199999999998 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+108 324 60.894199999999998 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+109 327 61.394199999999998 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+110 330 61.894199999999998 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+111 333 62.394199999999998 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+112 336 62.894199999999998 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+113 339 63.394199999999998 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+114 342 63.894199999999998 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+115 345 64.394199999999998 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+116 348 64.894199999999998 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+117 351 65.394199999999998 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+118 354 65.894199999999998 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+119 357 66.394199999999998 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+120 360 66.894199999999998 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+121 363 67.394199999999998 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+122 366 67.894199999999998 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+123 369 68.394199999999998 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+124 372 68.894199999999998 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+125 375 69.394199999999998 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+126 378 69.894199999999998 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+127 381 70.394199999999998 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+128 384 70.894199999999998 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+129 387 71.394199999999998 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+130 390 71.894199999999998 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+131 393 72.394199999999998 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+132 396 72.894199999999998 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+133 399 73.394199999999998 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+134 402 73.894199999999998 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+135 405 74.394199999999998 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+136 408 74.894199999999998 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+137 411 75.394199999999998 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+138 414 75.894199999999998 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+139 417 76.394199999999998 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+140 420 76.894199999999998 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+141 423 77.394199999999998 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+142 426 77.894199999999998 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+143 429 78.394199999999998 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+144 432 78.894199999999998 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+145 435 79.394199999999998 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+146 438 79.894199999999998 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+147 441 80.394199999999998 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+148 444 80.894199999999998 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+149 447 81.394199999999998 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+150 450 81.894199999999998 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+151 453 82.394199999999998 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+152 456 82.894199999999998 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+153 459 83.394199999999998 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+154 462 83.894199999999998 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+155 465 84.394199999999998 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+156 468 84.894199999999998 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+157 471 85.394199999999998 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+158 474 85.894199999999998 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+159 477 86.394199999999998 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+160 480 86.894199999999998 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+161 483 87.394199999999998 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+162 486 87.894199999999998 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+163 489 88.394199999999998 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+164 492 88.894199999999998 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+165 495 89.394199999999998 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+166 498 89.894199999999998 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+167 501 90.394199999999998 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+168 504 90.894199999999998 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+169 507 91.394199999999998 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+170 510 91.894199999999998 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+171 513 92.394199999999998 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+172 516 92.894199999999998 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+173 519 93.394199999999998 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+174 522 93.894199999999998 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+175 525 94.394199999999998 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+176 528 94.894199999999998 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+177 531 95.394199999999998 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+178 534 95.894199999999998 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+179 537 96.394199999999998 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+180 540 96.894199999999998 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+181 543 97.394199999999998 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+182 546 97.894199999999998 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+183 549 98.394199999999998 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+184 552 98.894199999999998 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+185 555 99.394199999999998 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+186 558 99.894199999999998 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+187 561 100.3942 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+188 564 100.8942 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+189 567 101.3942 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+190 570 101.8942 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+191 573 102.3942 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+192 576 102.8942 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+193 579 103.3942 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+194 582 103.8942 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+195 585 104.3942 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+196 588 104.8942 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+197 591 105.3942 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+198 594 105.8942 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+199 597 106.3942 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+200 600 106.8942 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+201 603 107.3942 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+202 606 107.8942 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+203 609 108.3942 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+204 612 108.8942 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+205 615 109.3942 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+206 618 109.8942 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+207 621 110.3942 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+208 624 110.8942 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+209 627 111.3942 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+210 630 111.8942 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+211 633 112.3942 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+212 636 112.8942 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+213 639 113.3942 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+214 642 113.8942 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+215 645 114.3942 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+216 648 114.8942 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+217 651 115.3942 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+218 654 115.8942 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+219 657 116.3942 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+220 660 116.8942 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+221 663 117.3942 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+222 666 117.8942 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+223 669 118.3942 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+224 672 118.8942 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+225 675 119.3942 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+226 678 119.8942 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+227 681 120.3942 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+228 684 120.8942 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+229 687 121.3942 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+230 690 121.8942 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+231 693 122.3942 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+232 696 122.8942 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+233 699 123.3942 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+234 702 123.8942 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+235 705 124.3942 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+236 708 124.8942 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+237 711 125.3942 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+238 714 125.8942 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+239 717 126.3942 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+240 720 126.8942 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+241 723 127.3942 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+242 726 127.8942 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+243 729 128.39420000000001 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+244 732 128.89420000000001 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+245 735 129.39420000000001 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+246 738 129.89420000000001 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+247 741 130.39420000000001 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+248 744 130.89420000000001 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+249 747 131.39420000000001 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+250 750 131.89420000000001 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+251 753 132.39420000000001 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+252 756 132.89420000000001 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+253 759 133.39420000000001 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+254 762 133.89420000000001 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+255 765 134.39420000000001 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+256 768 134.89420000000001 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+257 771 135.39420000000001 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+258 774 135.89420000000001 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+259 777 136.39420000000001 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+260 780 136.89420000000001 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+261 783 137.39420000000001 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+262 786 137.89420000000001 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+263 789 138.39420000000001 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+264 792 138.89420000000001 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+265 795 139.39420000000001 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+266 798 139.89420000000001 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+267 801 140.39420000000001 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+268 804 140.89420000000001 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+269 807 141.39420000000001 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+270 810 141.89420000000001 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+271 813 142.39420000000001 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+272 816 142.89420000000001 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+273 819 143.39420000000001 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+274 822 143.89420000000001 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+275 825 144.39420000000001 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+276 828 144.89420000000001 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+277 831 145.39420000000001 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+278 834 145.89420000000001 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+279 837 146.39420000000001 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+280 840 146.89420000000001 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+281 843 147.39420000000001 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+282 846 147.89420000000001 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+283 849 148.39420000000001 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+284 852 148.89420000000001 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+285 855 149.39420000000001 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+286 858 149.89420000000001 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+287 861 150.39420000000001 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+288 864 150.89420000000001 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+289 867 151.39420000000001 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+290 870 151.89420000000001 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+291 873 152.39420000000001 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+292 876 152.89420000000001 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+293 879 153.39420000000001 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+294 882 153.89420000000001 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+295 885 154.39420000000001 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+296 888 154.89420000000001 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+297 891 155.39420000000001 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+298 894 155.89420000000001 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+299 897 156.39420000000001 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+300 900 156.89420000000001 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+301 903 157.39420000000001 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+302 906 157.89420000000001 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+303 909 158.39420000000001 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+304 912 158.89420000000001 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+305 915 159.39420000000001 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+306 918 159.89420000000001 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+307 921 160.39420000000001 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+308 924 160.89420000000001 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+309 927 161.39420000000001 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+310 930 161.89420000000001 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+311 933 162.39420000000001 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+312 936 162.89420000000001 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+313 939 163.39420000000001 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+314 942 163.89420000000001 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+315 945 164.39420000000001 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+316 948 164.89420000000001 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+317 951 165.39420000000001 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+318 954 165.89420000000001 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+319 957 166.39420000000001 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+320 960 166.89420000000001 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+321 963 167.39420000000001 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+322 966 167.89420000000001 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+323 969 168.39420000000001 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+324 972 168.89420000000001 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+325 975 169.39420000000001 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+326 978 169.89420000000001 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+327 981 170.39420000000001 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+328 984 170.89420000000001 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+329 987 171.39420000000001 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+330 990 171.89420000000001 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+331 993 172.39420000000001 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+332 996 172.89420000000001 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+333 999 173.39420000000001 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+334 1002 173.89420000000001 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+335 1005 174.39420000000001 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+336 1008 174.89420000000001 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+337 1011 175.39420000000001 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+338 1014 175.89420000000001 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+339 1017 176.39420000000001 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+340 1020 176.89420000000001 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+341 1023 177.39420000000001 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+342 1026 177.89420000000001 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+343 1029 178.39420000000001 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+344 1032 178.89420000000001 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+345 1035 179.39420000000001 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+346 1038 179.89420000000001 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+347 1041 180.39420000000001 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+348 1044 180.89420000000001 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+349 1047 181.39420000000001 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+350 1050 181.89420000000001 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+351 1053 182.39420000000001 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+352 1056 182.89420000000001 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+353 1059 183.39420000000001 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+354 1062 183.89420000000001 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+355 1065 184.39420000000001 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+356 1068 184.89420000000001 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+357 1071 185.39420000000001 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+358 1074 185.89420000000001 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+359 1077 186.39420000000001 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+360 1080 186.89420000000001 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+361 1083 187.39420000000001 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+362 1086 187.89420000000001 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+363 1089 188.39420000000001 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+364 1092 188.89420000000001 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+365 1095 189.39420000000001 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+366 1098 189.89420000000001 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+367 1101 190.39420000000001 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+368 1104 190.89420000000001 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+369 1107 191.39420000000001 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+370 1110 191.89420000000001 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+371 1113 192.39420000000001 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+372 1116 192.89420000000001 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+373 1119 193.39420000000001 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+374 1122 193.89420000000001 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+375 1125 194.39420000000001 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+376 1128 194.89420000000001 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+377 1131 195.39420000000001 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+378 1134 195.89420000000001 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+379 1137 196.39420000000001 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+380 1140 196.89420000000001 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+381 1143 197.39420000000001 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+382 1146 197.89420000000001 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+383 1149 198.39420000000001 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+384 1152 198.89420000000001 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+385 1155 199.39420000000001 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+386 1158 199.89420000000001 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+387 1161 200.39420000000001 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+388 1164 200.89420000000001 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+389 1167 201.39420000000001 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+390 1170 201.89420000000001 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+391 1173 202.39420000000001 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+392 1176 202.89420000000001 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+393 1179 203.39420000000001 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+394 1182 203.89420000000001 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+395 1185 204.39420000000001 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+396 1188 204.89420000000001 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+397 1191 205.39420000000001 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+398 1194 205.89420000000001 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+399 1197 206.39420000000001 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+400 1200 206.89420000000001 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+401 1203 207.39420000000001 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+402 1206 207.89420000000001 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+403 1209 208.39420000000001 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+404 1212 208.89420000000001 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+405 1215 209.39420000000001 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+406 1218 209.89420000000001 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+407 1221 210.39420000000001 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+408 1224 210.89420000000001 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+409 1227 211.39420000000001 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+410 1230 211.89420000000001 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+411 1233 212.39420000000001 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+412 1236 212.89420000000001 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+413 1239 213.39420000000001 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+414 1242 213.89420000000001 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+415 1245 214.39420000000001 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+416 1248 214.89420000000001 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+417 1251 215.39420000000001 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+418 1254 215.89420000000001 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+419 1257 216.39420000000001 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+420 1260 216.89420000000001 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+421 1263 217.39420000000001 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+422 1266 217.89420000000001 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+423 1269 218.39420000000001 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+424 1272 218.89420000000001 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+425 1275 219.39420000000001 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+426 1278 219.89420000000001 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+427 1281 220.39420000000001 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+428 1284 220.89420000000001 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+429 1287 221.39420000000001 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+430 1290 221.89420000000001 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+431 1293 222.39420000000001 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+432 1296 222.89420000000001 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+433 1299 223.39420000000001 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+434 1302 223.89420000000001 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+435 1305 224.39420000000001 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+436 1308 224.89420000000001 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+437 1311 225.39420000000001 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+438 1314 225.89420000000001 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+439 1317 226.39420000000001 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+440 1320 226.89420000000001 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+441 1323 227.39420000000001 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+442 1326 227.89420000000001 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+443 1329 228.39420000000001 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+444 1332 228.89420000000001 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+445 1335 229.39420000000001 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+446 1338 229.89420000000001 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+447 1341 230.39420000000001 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+448 1344 230.89420000000001 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+449 1347 231.39420000000001 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+450 1350 231.89420000000001 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+451 1353 232.39420000000001 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+452 1356 232.89420000000001 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+453 1359 233.39420000000001 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+454 1362 233.89420000000001 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+455 1365 234.39420000000001 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+456 1368 234.89420000000001 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+457 1371 235.39420000000001 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+458 1374 235.89420000000001 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+459 1377 236.39420000000001 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+460 1380 236.89420000000001 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+461 1383 237.39420000000001 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+462 1386 237.89420000000001 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+463 1389 238.39420000000001 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+464 1392 238.89420000000001 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+465 1395 239.39420000000001 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+466 1398 239.89420000000001 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+467 1401 240.39420000000001 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+468 1404 240.89420000000001 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+469 1407 241.39420000000001 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+470 1410 241.89420000000001 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+471 1413 242.39420000000001 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+472 1416 242.89420000000001 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+473 1419 243.39420000000001 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+474 1422 243.89420000000001 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+475 1425 244.39420000000001 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+476 1428 244.89420000000001 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+477 1431 245.39420000000001 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+478 1434 245.89420000000001 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+479 1437 246.39420000000001 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+480 1440 246.89420000000001 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+481 1443 247.39420000000001 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+482 1446 247.89420000000001 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+483 1449 248.39420000000001 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+484 1452 248.89420000000001 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+485 1455 249.39420000000001 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+486 1458 249.89420000000001 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+487 1461 250.39420000000001 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+488 1464 250.89420000000001 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+489 1467 251.39420000000001 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+490 1470 251.89420000000001 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+491 1473 252.39420000000001 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+492 1476 252.89420000000001 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+493 1479 253.39420000000001 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+494 1482 253.89420000000001 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+495 1485 254.39420000000001 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+496 1488 254.89420000000001 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+497 1491 255.39420000000001 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+498 1494 255.89420000000001 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+499 1497 256.39420000000001 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/MOPs_Orient_Curve1.init"
+Content-Type: text/plain
+
+type = MOPS::Orient_Curve::1.0
+matchesdef = 1
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/MOPs_Orient_Curve1.def"
+Content-Type: text/plain
+
+sopflags sopflags =
+comment ""
+position 66.4204 2.00369
+connectornextid 2
+flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
+outputsNamed3
+{
+1 "output1"
+}
+inputsNamed3
+{
+0 resample6 1 1 "input1"
+}
+inputs
+{
+0 resample6 0 1
+}
+stat
+{
+ create 1567573997
+ modify 1586054043
+ author Henry@LAPPY586
+ access 0777
+}
+color UT_Color RGB 0.8 0.8 0.8
+delscript ""
+exprlanguage hscript
+end
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/MOPs_Orient_Curve1.multiparm"
+Content-Type: text/plain
+
+3
+twist_ramp#pos ../distro_radial_twist_ramp#pos
+twist_ramp#value ../distro_radial_twist_ramp#value
+twist_ramp#interp ../distro_radial_twist_ramp#interp
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/MOPs_Orient_Curve1.chn"
+Content-Type: text/plain
+
+{
+ channel twist_ramp1pos {
+ lefttype = extend
+ righttype = extend
+ flags = 0
+ segment { length = 0 expr = ch(\"../distro_radial_twist_ramp1pos\") }
+ }
+ channel twist_ramp1value {
+ lefttype = extend
+ righttype = extend
+ flags = 0
+ segment { length = 0 expr = ch(\"../distro_radial_twist_ramp1value\") }
+ }
+ channel twist_ramp1interp {
+ lefttype = extend
+ righttype = extend
+ default = 1
+ flags = 0
+ segment { length = 0 value = 1 1 expr = ch(\"../distro_radial_twist_ramp1interp\") }
+ }
+ channel twist_ramp2pos {
+ lefttype = extend
+ righttype = extend
+ flags = 0
+ segment { length = 0 expr = ch(\"../distro_radial_twist_ramp2pos\") }
+ }
+ channel twist_ramp2value {
+ lefttype = extend
+ righttype = extend
+ flags = 0
+ segment { length = 0 expr = ch(\"../distro_radial_twist_ramp2value\") }
+ }
+ channel twist_ramp2interp {
+ lefttype = extend
+ righttype = extend
+ default = 1
+ flags = 0
+ segment { length = 0 value = 1 1 expr = ch(\"../distro_radial_twist_ramp2interp\") }
+ }
+ channel invert {
+ lefttype = extend
+ righttype = extend
+ default = 1
+ flags = 0
+ segment { length = 0 value = 1 1 expr = ch(\"../distro_radial_invert\") }
+ }
+ channel custom_first_tangent {
+ lefttype = extend
+ righttype = extend
+ flags = 0
+ segment { length = 0 expr = ch(\"../distro_radial_do_custom_first_tangent\") }
+ }
+ channel First_Tangentx {
+ lefttype = extend
+ righttype = extend
+ flags = 0
+ segment { length = 0 expr = ch(\"../distro_radial_first_tangentx\") }
+ }
+ channel First_Tangenty {
+ lefttype = extend
+ righttype = extend
+ default = 1
+ flags = 0
+ segment { length = 0 value = 1 1 expr = ch(\"../distro_radial_first_tangenty\") }
+ }
+ channel First_Tangentz {
+ lefttype = extend
+ righttype = extend
+ flags = 0
+ segment { length = 0 expr = ch(\"../distro_radial_first_tangentz\") }
+ }
+ channel twist_amount {
+ lefttype = extend
+ righttype = extend
+ flags = 0
+ segment { length = 0 expr = ch(\"../distro_radial_twist_amount\") }
+ }
+ channel twist_ramp {
+ lefttype = extend
+ righttype = extend
+ default = 2
+ flags = 0
+ segment { length = 0 value = 2 2 expr = ch(\"../distro_radial_twist_ramp\") }
+ }
+ }
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/MOPs_Orient_Curve1.parm"
+Content-Type: text/plain
+
+{
+version 0.8
+group [ 0 locks=0 ] ( "" )
+grouptype [ 0 locks=0 ] ( "guess" )
+sepparm [ 0 locks=0 ] ( )
+invert [ 0 locks=0 ] ( [ invert 1 ] )
+custom_first_tangent [ 0 locks=0 ] ( [ custom_first_tangent 0 ] )
+First_Tangent [ 0 locks=0 ] ( [ First_Tangentx 0 ] [ First_Tangenty 1 ] [ First_Tangentz 0 ] )
+sepparm2 [ 0 locks=0 ] ( )
+remove_temp [ 0 locks=0 ] ( "on" )
+sepparm3 [ 0 locks=0 ] ( )
+twist_amount [ 0 locks=0 ] ( [ twist_amount 0 ] )
+twist_ramp [ 0 locks=0 ] ( [ twist_ramp 2 ] )
+twist_ramp1pos [ 0 locks=0 ] ( [ twist_ramp1pos 0 ] )
+twist_ramp1value [ 0 locks=0 ] ( [ twist_ramp1value 0 ] )
+twist_ramp1interp [ 0 locks=0 ] ( [ twist_ramp1interp 1 ] )
+twist_ramp2pos [ 0 locks=0 ] ( [ twist_ramp2pos 1 ] )
+twist_ramp2value [ 0 locks=0 ] ( [ twist_ramp2value 1 ] )
+twist_ramp2interp [ 0 locks=0 ] ( [ twist_ramp2interp 1 ] )
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/MOPs_Orient_Curve1.userdata"
+Content-Type: text/plain
+
+{
+ "___Version___":{
+ "type":"string",
+ "value":""
+ }
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/sphere_align1.init"
+Content-Type: text/plain
+
+type = attribwrangle
+matchesdef = 1
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/sphere_align1.def"
+Content-Type: text/plain
+
+sopflags sopflags =
+comment ""
+position 72.4193 -0.75441
+connectornextid 2
+flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
+outputsNamed3
+{
+1 "output1"
+}
+inputsNamed3
+{
+0 do_sphere_fill1 1 1 "input1"
+}
+inputs
+{
+0 do_sphere_fill1 0 1
+}
+stat
+{
+ create 1509153811
+ modify 1586054043
+ author Henry@LAPPY586
+ access 0777
+}
+color UT_Color RGB 0.8 0.8 0.8
+delscript ""
+exprlanguage hscript
+end
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/sphere_align1.spareparmdef"
+Content-Type: text/plain
+
+ group {
+ name "folder1"
+ label "Code"
+
+ parm {
+ name "group"
+ baseparm
+ label "Group"
+ export none
+ bindselector points "Modify Points"
+ "Select the points to affect and press Enter to complete."
+ 0 1 0xffffffff 0 grouptype 0
+ }
+ parm {
+ name "grouptype"
+ baseparm
+ label "Group Type"
+ export none
+ }
+ parm {
+ name "class"
+ baseparm
+ label "Run Over"
+ export none
+ }
+ parm {
+ name "vex_numcount"
+ baseparm
+ label "Number Count"
+ export none
+ }
+ parm {
+ name "vex_threadjobsize"
+ baseparm
+ label "Thread Job Size"
+ export none
+ }
+ parm {
+ name "snippet"
+ baseparm
+ label "VEXpression"
+ export all
+ }
+ parm {
+ name "exportlist"
+ baseparm
+ label "Attributes to Create"
+ export none
+ }
+ parm {
+ name "vex_strict"
+ baseparm
+ label "Enforce Prototypes"
+ export none
+ }
+ }
+
+ group {
+ name "folder1_1"
+ label "Bindings"
+
+ parm {
+ name "autobind"
+ baseparm
+ label "Autobind by Name"
+ export none
+ }
+ multiparm {
+ name "bindings"
+ label "Number of Bindings"
+ baseparm
+ default 0
+ parmtag { "autoscope" "0000000000000000" }
+ parmtag { "multistartoffset" "1" }
+
+ parm {
+ name "bindname#"
+ baseparm
+ label "Attribute Name"
+ export none
+ }
+ parm {
+ name "bindparm#"
+ baseparm
+ label "VEX Parameter"
+ export none
+ }
+ }
+
+ parm {
+ name "groupautobind"
+ baseparm
+ label "Autobind Groups by Name"
+ export none
+ }
+ multiparm {
+ name "groupbindings"
+ label "Group Bindings"
+ baseparm
+ default 0
+ parmtag { "autoscope" "0000000000000000" }
+ parmtag { "multistartoffset" "1" }
+
+ parm {
+ name "bindgroupname#"
+ baseparm
+ label "Group Name"
+ export none
+ }
+ parm {
+ name "bindgroupparm#"
+ baseparm
+ label "VEX Parameter"
+ export none
+ }
+ }
+
+ parm {
+ name "vex_cwdpath"
+ baseparm
+ label "Evaluation Node Path"
+ export none
+ }
+ parm {
+ name "vex_outputmask"
+ baseparm
+ label "Export Parameters"
+ export none
+ }
+ parm {
+ name "vex_updatenmls"
+ baseparm
+ label "Update Normals If Displaced"
+ export none
+ }
+ parm {
+ name "vex_matchattrib"
+ baseparm
+ label "Attribute to Match"
+ export none
+ }
+ parm {
+ name "vex_inplace"
+ baseparm
+ label "Compute Results In Place"
+ export none
+ }
+ parm {
+ name "vex_selectiongroup"
+ baseparm
+ label "Output Selection Group"
+ export none
+ }
+ }
+
+ parm {
+ name "align"
+ label "Align"
+ type toggle
+ default { "1" }
+ }
+ parm {
+ name "cross_up"
+ label "Cross Up"
+ type integer
+ default { "0" }
+ range { 0 10 }
+ }
+ parm {
+ name "vex_precision"
+ baseparm
+ label "VEX Precision"
+ export none
+ }
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/sphere_align1.chn"
+Content-Type: text/plain
+
+{
+ channel align {
+ lefttype = extend
+ righttype = extend
+ default = 1
+ flags = 0
+ start = 41.666666666666664
+ segment { length = 0 value = 1 1 expr = ch(\"../sphere_align\") }
+ }
+ channel cross_up {
+ lefttype = extend
+ righttype = extend
+ default = 1
+ flags = 0
+ segment { length = 0 value = 1 1 expr = ch(\"../sphere_cross_up\") }
+ }
+ }
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/sphere_align1.parm"
+Content-Type: text/plain
+
+{
+version 0.8
+folder0 [ 0 locks=0 ] ( 0 0 )
+group [ 0 locks=0 ] ( "" )
+grouptype [ 0 locks=0 ] ( "guess" )
+class [ 0 locks=0 ] ( "point" )
+vex_numcount [ 0 locks=0 ] ( 10 )
+vex_threadjobsize [ 0 locks=0 ] ( 1024 )
+snippet [ 0 locks=0 ] ( "vector n = normalize(@P); // N
+vector up = normalize(chv(\"../sphere_cone_direction\")); // up
+if(chi(\"cross_up\")) {
+ up = cross(n, up);
+}
+matrix3 m = maketransform(n, up);
+
+if(!chi(\"align\")) {
+ m = ident();
+}
+v@N = n;
+v@up = up;
+p@orient = quaternion(m);
+" )
+exportlist [ 0 locks=0 ] ( * )
+vex_strict [ 0 locks=0 ] ( "off" )
+autobind [ 0 locks=0 ] ( "on" )
+bindings [ 0 locks=0 ] ( 0 )
+groupautobind [ 0 locks=0 ] ( "on" )
+groupbindings [ 0 locks=0 ] ( 0 )
+vex_cwdpath [ 0 locks=0 ] ( . )
+vex_outputmask [ 0 locks=0 ] ( * )
+vex_updatenmls [ 0 locks=0 ] ( "off" )
+vex_matchattrib [ 0 locks=0 ] ( id )
+vex_inplace [ 0 locks=0 ] ( "off" )
+vex_selectiongroup [ 0 locks=0 ] ( "" )
+vex_precision [ 0 locks=0 ] ( auto )
+folder1 [ 0 locks=0 ] ( 0 0 )
+align [ 0 locks=0 ] ( [ align 1 ] )
+cross_up [ 0 locks=0 ] ( [ cross_up 1 ] )
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/sphere_align1.userdata"
+Content-Type: text/plain
+
+{
+ "___Version___":{
+ "type":"string",
+ "value":""
+ }
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/determine_sphere_orientation.init"
+Content-Type: text/plain
+
+type = attribwrangle
+matchesdef = 1
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/determine_sphere_orientation.def"
+Content-Type: text/plain
+
+sopflags sopflags =
+comment ""
+position 71.7673 5.43566
+connectornextid 2
+flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
+outputsNamed3
+{
+1 "output1"
+}
+inputsNamed3
+{
+0 add6 0 1 "input1"
+}
+inputs
+{
+0 add6 0 1
+}
+stat
+{
+ create 1529112595
+ modify 1586054043
+ author Henry@LAPPY586
+ access 0777
+}
+color UT_Color RGB 0.8 0.8 0.8
+delscript ""
+exprlanguage hscript
+end
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/determine_sphere_orientation.spareparmdef"
+Content-Type: text/plain
+
+ group {
+ name "folder1"
+ label "Code"
+
+ parm {
+ name "group"
+ baseparm
+ label "Group"
+ export none
+ bindselector points "Modify Points"
+ "Select the points to affect and press Enter to complete."
+ 0 1 0xffffffff 0 grouptype 0
+ }
+ parm {
+ name "grouptype"
+ baseparm
+ label "Group Type"
+ export none
+ }
+ parm {
+ name "class"
+ baseparm
+ label "Run Over"
+ export none
+ }
+ parm {
+ name "vex_numcount"
+ baseparm
+ label "Number Count"
+ export none
+ }
+ parm {
+ name "vex_threadjobsize"
+ baseparm
+ label "Thread Job Size"
+ export none
+ }
+ parm {
+ name "snippet"
+ baseparm
+ label "VEXpression"
+ export all
+ }
+ parm {
+ name "exportlist"
+ baseparm
+ label "Attributes to Create"
+ export none
+ }
+ parm {
+ name "vex_strict"
+ baseparm
+ label "Enforce Prototypes"
+ export none
+ }
+ }
+
+ group {
+ name "folder1_1"
+ label "Bindings"
+
+ parm {
+ name "autobind"
+ baseparm
+ label "Autobind by Name"
+ export none
+ }
+ multiparm {
+ name "bindings"
+ label "Number of Bindings"
+ baseparm
+ default 0
+ parmtag { "autoscope" "0000000000000000" }
+ parmtag { "multistartoffset" "1" }
+
+ parm {
+ name "bindname#"
+ baseparm
+ label "Attribute Name"
+ export none
+ }
+ parm {
+ name "bindparm#"
+ baseparm
+ label "VEX Parameter"
+ export none
+ }
+ }
+
+ parm {
+ name "groupautobind"
+ baseparm
+ label "Autobind Groups by Name"
+ export none
+ }
+ multiparm {
+ name "groupbindings"
+ label "Group Bindings"
+ baseparm
+ default 0
+ parmtag { "autoscope" "0000000000000000" }
+ parmtag { "multistartoffset" "1" }
+
+ parm {
+ name "bindgroupname#"
+ baseparm
+ label "Group Name"
+ export none
+ }
+ parm {
+ name "bindgroupparm#"
+ baseparm
+ label "VEX Parameter"
+ export none
+ }
+ }
+
+ parm {
+ name "vex_cwdpath"
+ baseparm
+ label "Evaluation Node Path"
+ export none
+ }
+ parm {
+ name "vex_outputmask"
+ baseparm
+ label "Export Parameters"
+ export none
+ }
+ parm {
+ name "vex_updatenmls"
+ baseparm
+ label "Update Normals If Displaced"
+ export none
+ }
+ parm {
+ name "vex_matchattrib"
+ baseparm
+ label "Attribute to Match"
+ export none
+ }
+ parm {
+ name "vex_inplace"
+ baseparm
+ label "Compute Results In Place"
+ export none
+ }
+ parm {
+ name "vex_selectiongroup"
+ baseparm
+ label "Output Selection Group"
+ export none
+ }
+ }
+
+ parm {
+ name "up"
+ label "Up"
+ type vector
+ size 3
+ default { "0" "0" "0" }
+ range { 0 1 }
+ }
+ parm {
+ name "vex_precision"
+ baseparm
+ label "VEX Precision"
+ export none
+ }
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/determine_sphere_orientation.chn"
+Content-Type: text/plain
+
+{
+ channel upx {
+ lefttype = extend
+ righttype = extend
+ flags = 0
+ segment { length = 0 expr = ch(\"../sphere_cone_directionx\") }
+ }
+ channel upy {
+ lefttype = extend
+ righttype = extend
+ flags = 0
+ segment { length = 0 expr = ch(\"../sphere_cone_directiony\") }
+ }
+ channel upz {
+ lefttype = extend
+ righttype = extend
+ flags = 0
+ segment { length = 0 expr = ch(\"../sphere_cone_directionz\") }
+ }
+ }
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/determine_sphere_orientation.parm"
+Content-Type: text/plain
+
+{
+version 0.8
+folder0 [ 0 locks=0 ] ( 0 0 )
+group [ 0 locks=0 ] ( "" )
+grouptype [ 0 locks=0 ] ( "guess" )
+class [ 0 locks=0 ] ( "point" )
+vex_numcount [ 0 locks=0 ] ( 10 )
+vex_threadjobsize [ 0 locks=0 ] ( 1024 )
+snippet [ 0 locks=0 ] ( "v@up = chv(\"up\");
+v@N = {0,0,1};" )
+exportlist [ 0 locks=0 ] ( * )
+vex_strict [ 0 locks=0 ] ( "off" )
+autobind [ 0 locks=0 ] ( "on" )
+bindings [ 0 locks=0 ] ( 0 )
+groupautobind [ 0 locks=0 ] ( "on" )
+groupbindings [ 0 locks=0 ] ( 0 )
+vex_cwdpath [ 0 locks=0 ] ( . )
+vex_outputmask [ 0 locks=0 ] ( * )
+vex_updatenmls [ 0 locks=0 ] ( "off" )
+vex_matchattrib [ 0 locks=0 ] ( id )
+vex_inplace [ 0 locks=0 ] ( "off" )
+vex_selectiongroup [ 0 locks=0 ] ( "" )
+vex_precision [ 0 locks=0 ] ( auto )
+folder1 [ 0 locks=0 ] ( 0 0 )
+up [ 0 locks=0 ] ( [ upx 0 ] [ upy 1 ] [ upz 0 ] )
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/determine_sphere_orientation.userdata"
+Content-Type: text/plain
+
+{
+ "___Version___":{
+ "type":"string",
+ "value":""
+ }
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/grid_align1.init"
+Content-Type: text/plain
+
+type = attribwrangle
+matchesdef = 1
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/grid_align1.def"
+Content-Type: text/plain
+
+sopflags sopflags =
+comment ""
+position 79.1124 -0.43603
+connectornextid 2
+flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
+outputsNamed3
+{
+1 "output1"
+}
+inputsNamed3
+{
+0 grid_distribution_type1 1 1 "input1"
+}
+inputs
+{
+0 grid_distribution_type1 0 1
+}
+stat
+{
+ create 1509161781
+ modify 1586054043
+ author Henry@LAPPY586
+ access 0777
+}
+color UT_Color RGB 0.8 0.8 0.8
+delscript ""
+exprlanguage hscript
+end
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/grid_align1.parm"
+Content-Type: text/plain
+
+{
+version 0.8
+folder0 [ 0 locks=0 ] ( 0 0 )
+group [ 0 locks=0 ] ( "" )
+grouptype [ 0 locks=0 ] ( "guess" )
+class [ 0 locks=0 ] ( "point" )
+vex_numcount [ 0 locks=0 ] ( 10 )
+vex_threadjobsize [ 0 locks=0 ] ( 1024 )
+snippet [ 0 locks=0 ] ( "@N = {0,0,1};
+v@up = {0,1,0};
+
+matrix3 m = maketransform(@N, @up);
+p@orient = quaternion(m);
+
+vector center = getbbox_center(0);
+@P -= center;" )
+exportlist [ 0 locks=0 ] ( * )
+vex_strict [ 0 locks=0 ] ( "off" )
+autobind [ 0 locks=0 ] ( "on" )
+bindings [ 0 locks=0 ] ( 0 )
+groupautobind [ 0 locks=0 ] ( "on" )
+groupbindings [ 0 locks=0 ] ( 0 )
+vex_cwdpath [ 0 locks=0 ] ( . )
+vex_outputmask [ 0 locks=0 ] ( * )
+vex_updatenmls [ 0 locks=0 ] ( "off" )
+vex_matchattrib [ 0 locks=0 ] ( id )
+vex_inplace [ 0 locks=0 ] ( "off" )
+vex_selectiongroup [ 0 locks=0 ] ( "" )
+vex_precision [ 0 locks=0 ] ( auto )
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/grid_align1.userdata"
+Content-Type: text/plain
+
+{
+ "___Version___":{
+ "type":"string",
+ "value":""
+ }
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/generate_grid_points1.init"
+Content-Type: text/plain
+
+type = attribwrangle
+matchesdef = 1
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/generate_grid_points1.def"
+Content-Type: text/plain
+
+sopflags sopflags =
+comment ""
+position 78.5993 2.81927
+connectornextid 2
+flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
+outputsNamed3
+{
+0 "output1"
+}
+inputsNamed3
+{
+1 add7 0 1 "input1"
+}
+inputs
+{
+0 add7 0 1
+}
+stat
+{
+ create 1509161957
+ modify 1586054043
+ author Henry@LAPPY586
+ access 0777
+}
+color UT_Color RGB 0.8 0.8 0.8
+delscript ""
+exprlanguage hscript
+end
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/generate_grid_points1.spareparmdef"
+Content-Type: text/plain
+
+ group {
+ name "folder1"
+ label "Code"
+
+ parm {
+ name "group"
+ baseparm
+ label "Group"
+ export none
+ bindselector points "Modify Points"
+ "Select the points to affect and press Enter to complete."
+ 0 1 0xffffffff 0 grouptype 0
+ }
+ parm {
+ name "grouptype"
+ baseparm
+ label "Group Type"
+ export none
+ }
+ parm {
+ name "class"
+ baseparm
+ label "Run Over"
+ export none
+ }
+ parm {
+ name "vex_numcount"
+ baseparm
+ label "Number Count"
+ export none
+ }
+ parm {
+ name "vex_threadjobsize"
+ baseparm
+ label "Thread Job Size"
+ export none
+ }
+ parm {
+ name "snippet"
+ baseparm
+ label "VEXpression"
+ export all
+ }
+ parm {
+ name "exportlist"
+ baseparm
+ label "Attributes to Create"
+ export none
+ }
+ parm {
+ name "vex_strict"
+ baseparm
+ label "Enforce Prototypes"
+ export none
+ }
+ }
+
+ group {
+ name "folder1_1"
+ label "Bindings"
+
+ parm {
+ name "autobind"
+ baseparm
+ label "Autobind by Name"
+ export none
+ }
+ multiparm {
+ name "bindings"
+ label "Number of Bindings"
+ baseparm
+ default 0
+ parmtag { "autoscope" "0000000000000000" }
+ parmtag { "multistartoffset" "1" }
+
+ parm {
+ name "bindname#"
+ baseparm
+ label "Attribute Name"
+ export none
+ }
+ parm {
+ name "bindparm#"
+ baseparm
+ label "VEX Parameter"
+ export none
+ }
+ }
+
+ parm {
+ name "groupautobind"
+ baseparm
+ label "Autobind Groups by Name"
+ export none
+ }
+ multiparm {
+ name "groupbindings"
+ label "Group Bindings"
+ baseparm
+ default 0
+ parmtag { "autoscope" "0000000000000000" }
+ parmtag { "multistartoffset" "1" }
+
+ parm {
+ name "bindgroupname#"
+ baseparm
+ label "Group Name"
+ export none
+ }
+ parm {
+ name "bindgroupparm#"
+ baseparm
+ label "VEX Parameter"
+ export none
+ }
+ }
+
+ parm {
+ name "vex_cwdpath"
+ baseparm
+ label "Evaluation Node Path"
+ export none
+ }
+ parm {
+ name "vex_outputmask"
+ baseparm
+ label "Export Parameters"
+ export none
+ }
+ parm {
+ name "vex_updatenmls"
+ baseparm
+ label "Update Normals If Displaced"
+ export none
+ }
+ parm {
+ name "vex_matchattrib"
+ baseparm
+ label "Attribute to Match"
+ export none
+ }
+ parm {
+ name "vex_inplace"
+ baseparm
+ label "Compute Results In Place"
+ export none
+ }
+ parm {
+ name "vex_selectiongroup"
+ baseparm
+ label "Output Selection Group"
+ export none
+ }
+ }
+
+ parm {
+ name "grid_x"
+ label "Grid X"
+ type integer
+ default { "0" }
+ range { 0 10 }
+ }
+ parm {
+ name "grid_y"
+ label "Grid Y"
+ type integer
+ default { "0" }
+ range { 0 10 }
+ }
+ parm {
+ name "grid_z"
+ label "Grid Z"
+ type integer
+ default { "0" }
+ range { 0 10 }
+ }
+ parm {
+ name "distance"
+ label "Distance"
+ type vector
+ size 3
+ default { "0" "0" "0" }
+ range { 0 1 }
+ }
+ parm {
+ name "vex_precision"
+ baseparm
+ label "VEX Precision"
+ export none
+ }
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/generate_grid_points1.chn"
+Content-Type: text/plain
+
+{
+ channel grid_x {
+ lefttype = extend
+ righttype = extend
+ default = 3
+ flags = 0
+ segment { length = 0 value = 3 3 expr = ch(\"../grid_x\") }
+ }
+ channel grid_y {
+ lefttype = extend
+ righttype = extend
+ default = 3
+ flags = 0
+ segment { length = 0 value = 3 3 expr = ch(\"../grid_y\") }
+ }
+ channel grid_z {
+ lefttype = extend
+ righttype = extend
+ default = 3
+ flags = 0
+ segment { length = 0 value = 3 3 expr = ch(\"../grid_z\") }
+ }
+ channel distancex {
+ lefttype = extend
+ righttype = extend
+ default = 0.10000000000000001
+ flags = 0
+ segment { length = 0 value = 0.10000000000000001 0.10000000000000001 expr = ch(\"../grid_distancex\") }
+ }
+ channel distancey {
+ lefttype = extend
+ righttype = extend
+ default = 0.10000000000000001
+ flags = 0
+ segment { length = 0 value = 0.10000000000000001 0.10000000000000001 expr = ch(\"../grid_distancey\") }
+ }
+ channel distancez {
+ lefttype = extend
+ righttype = extend
+ default = 0.10000000000000001
+ flags = 0
+ segment { length = 0 value = 0.10000000000000001 0.10000000000000001 expr = ch(\"../grid_distancez\") }
+ }
+ }
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/generate_grid_points1.parm"
+Content-Type: text/plain
+
+{
+version 0.8
+folder0 [ 0 locks=0 ] ( 0 0 )
+group [ 0 locks=0 ] ( "" )
+grouptype [ 0 locks=0 ] ( "guess" )
+class [ 0 locks=0 ] ( "detail" )
+vex_numcount [ 0 locks=0 ] ( 10 )
+vex_threadjobsize [ 0 locks=0 ] ( 1024 )
+snippet [ 0 locks=0 ] ( "vector dist = chv(\"distance\");
+int rowsx = chi(\"grid_x\");
+int rowsy = chi(\"grid_y\");
+int rowsz = chi(\"grid_z\");
+
+for(int x=0; x
+if(!haspointattrib(0, \"scale\")) {
+ v@scale = {1,1,1};
+}
+if(!haspointattrib(0, \"pscale\")) {
+ f@pscale = 1;
+}
+v@scale *= chv(\"../instance_scale\" + itoa(i@mops_index+1));
+f@pscale *= ch(\"../instance_pscale\" + itoa(i@mops_index+1));
+vector r = chv(\"../instance_rotate\" + itoa(i@mops_index+1));
+vector4 rot = eulertoquaternion(radians(r), XFORM_XYZ);
+vector T = chv(\"../instance_translate\" + itoa(i@mops_index+1));
+vector pivot = chv(\"../instance_pivot\" + itoa(i@mops_index+1));
+if(!haspointattrib(0, \"orient\")) {
+ p@orient = quaternion(maketransform(v@N, v@up));
+}
+T = qrotate(p@orient, T);
+@P += T;
+p@orient = qmultiply(p@orient, rot);
+v@pivot = pivot;" )
+exportlist [ 0 locks=0 ] ( * )
+vex_strict [ 0 locks=0 ] ( "off" )
+autobind [ 0 locks=0 ] ( "on" )
+bindings [ 0 locks=0 ] ( 0 )
+groupautobind [ 0 locks=0 ] ( "on" )
+groupbindings [ 0 locks=0 ] ( 0 )
+vex_cwdpath [ 0 locks=0 ] ( . )
+vex_outputmask [ 0 locks=0 ] ( * )
+vex_updatenmls [ 0 locks=0 ] ( "off" )
+vex_matchattrib [ 0 locks=0 ] ( id )
+vex_inplace [ 0 locks=0 ] ( "off" )
+vex_selectiongroup [ 0 locks=0 ] ( "" )
+vex_precision [ 0 locks=0 ] ( auto )
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/define_local_user_transforms.userdata"
+Content-Type: text/plain
+
+{
+ "___Version___":{
+ "type":"string",
+ "value":""
+ }
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/define_name_attr.init"
+Content-Type: text/plain
+
+type = attribwrangle
+matchesdef = 1
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/define_name_attr.def"
+Content-Type: text/plain
+
+sopflags sopflags =
+comment ""
+position 73.7979 -34.8316
+connectornextid 2
+flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
+outputsNamed3
+{
+1 "output1"
+}
+inputsNamed3
+{
+0 define_local_user_transforms 1 1 "input1"
+}
+inputs
+{
+0 define_local_user_transforms 0 1
+}
+stat
+{
+ create 1557416320
+ modify 1586055239
+ author Henry@LAPPY586
+ access 0777
+}
+color UT_Color RGB 0.8 0.8 0.8
+delscript ""
+exprlanguage hscript
+end
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/define_name_attr.spareparmdef"
+Content-Type: text/plain
+
+ group {
+ name "folder1"
+ label "Code"
+
+ parm {
+ name "group"
+ baseparm
+ label "Group"
+ export none
+ bindselector points "Modify Points"
+ "Select the points to affect and press Enter to complete."
+ 0 1 0xffffffff 0 grouptype 0
+ }
+ parm {
+ name "grouptype"
+ baseparm
+ label "Group Type"
+ export none
+ }
+ parm {
+ name "class"
+ baseparm
+ label "Run Over"
+ export none
+ }
+ parm {
+ name "vex_numcount"
+ baseparm
+ label "Number Count"
+ export none
+ }
+ parm {
+ name "vex_threadjobsize"
+ baseparm
+ label "Thread Job Size"
+ export none
+ }
+ parm {
+ name "snippet"
+ baseparm
+ label "VEXpression"
+ export all
+ }
+ parm {
+ name "exportlist"
+ baseparm
+ label "Attributes to Create"
+ export none
+ }
+ parm {
+ name "vex_strict"
+ baseparm
+ label "Enforce Prototypes"
+ export none
+ }
+ }
+
+ group {
+ name "folder1_1"
+ label "Bindings"
+
+ parm {
+ name "autobind"
+ baseparm
+ label "Autobind by Name"
+ export none
+ }
+ multiparm {
+ name "bindings"
+ label "Number of Bindings"
+ baseparm
+ default 0
+ parmtag { "autoscope" "0000000000000000" }
+ parmtag { "multistartoffset" "1" }
+
+ parm {
+ name "bindname#"
+ baseparm
+ label "Attribute Name"
+ export none
+ }
+ parm {
+ name "bindparm#"
+ baseparm
+ label "VEX Parameter"
+ export none
+ }
+ }
+
+ parm {
+ name "groupautobind"
+ baseparm
+ label "Autobind Groups by Name"
+ export none
+ }
+ multiparm {
+ name "groupbindings"
+ label "Group Bindings"
+ baseparm
+ default 0
+ parmtag { "autoscope" "0000000000000000" }
+ parmtag { "multistartoffset" "1" }
+
+ parm {
+ name "bindgroupname#"
+ baseparm
+ label "Group Name"
+ export none
+ }
+ parm {
+ name "bindgroupparm#"
+ baseparm
+ label "VEX Parameter"
+ export none
+ }
+ }
+
+ parm {
+ name "vex_cwdpath"
+ baseparm
+ label "Evaluation Node Path"
+ export none
+ }
+ parm {
+ name "vex_outputmask"
+ baseparm
+ label "Export Parameters"
+ export none
+ }
+ parm {
+ name "vex_updatenmls"
+ baseparm
+ label "Update Normals If Displaced"
+ export none
+ }
+ parm {
+ name "vex_matchattrib"
+ baseparm
+ label "Attribute to Match"
+ export none
+ }
+ parm {
+ name "vex_inplace"
+ baseparm
+ label "Compute Results In Place"
+ export none
+ }
+ parm {
+ name "vex_selectiongroup"
+ baseparm
+ label "Output Selection Group"
+ export none
+ }
+ }
+
+ parm {
+ name "name_start"
+ label "Name Start"
+ type integer
+ default { "0" }
+ range { 0 10 }
+ }
+ parm {
+ name "name_prefix"
+ label "Name Prefix"
+ type string
+ default { "" }
+ }
+ parm {
+ name "vex_precision"
+ baseparm
+ label "VEX Precision"
+ export none
+ }
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/define_name_attr.chn"
+Content-Type: text/plain
+
+{
+ channel name_prefix {
+ lefttype = extend
+ righttype = extend
+ defaultString = \"piece\"
+ flags = 0
+ segment { length = 0 expr = chs(\"../name_prefix\") }
+ }
+ channel name_start {
+ lefttype = extend
+ righttype = extend
+ flags = 0
+ segment { length = 0 expr = ch(\"../name_start\") }
+ }
+ }
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/define_name_attr.parm"
+Content-Type: text/plain
+
+{
+version 0.8
+folder0 [ 0 locks=0 ] ( 0 0 )
+group [ 0 locks=0 ] ( "" )
+grouptype [ 0 locks=0 ] ( "guess" )
+class [ 0 locks=0 ] ( "point" )
+vex_numcount [ 0 locks=0 ] ( 10 )
+vex_threadjobsize [ 0 locks=0 ] ( 1024 )
+snippet [ 0 locks=0 ] ( "string name_prefix = chs(\"name_prefix\");
+int name_start = chi(\"name_start\");
+
+s@name = sprintf(\"%s%d\", name_prefix, name_start + i@id);
+v@rest = @P;
+if(!haspointattrib(0, \"mops_falloff\")) {
+ f@mops_falloff = 1;
+}" )
+exportlist [ 0 locks=0 ] ( * )
+vex_strict [ 0 locks=0 ] ( "off" )
+autobind [ 0 locks=0 ] ( "on" )
+bindings [ 0 locks=0 ] ( 0 )
+groupautobind [ 0 locks=0 ] ( "on" )
+groupbindings [ 0 locks=0 ] ( 0 )
+vex_cwdpath [ 0 locks=0 ] ( . )
+vex_outputmask [ 0 locks=0 ] ( * )
+vex_updatenmls [ 0 locks=0 ] ( "off" )
+vex_matchattrib [ 0 locks=0 ] ( id )
+vex_inplace [ 0 locks=0 ] ( "off" )
+vex_selectiongroup [ 0 locks=0 ] ( "" )
+vex_precision [ 0 locks=0 ] ( auto )
+folder1 [ 0 locks=0 ] ( 0 0 )
+name_start [ 0 locks=0 ] ( [ name_start 0 ] )
+name_prefix [ 0 locks=0 ] ( [ name_prefix piece ] )
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/define_name_attr.userdata"
+Content-Type: text/plain
+
+{
+ "___Version___":{
+ "type":"string",
+ "value":""
+ }
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/do_material_override1.init"
+Content-Type: text/plain
+
+type = attribwrangle
+matchesdef = 1
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/do_material_override1.def"
+Content-Type: text/plain
+
+sopflags sopflags =
+comment ""
+position 74.0886 -49.547
+connectornextid 2
+flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
+outputsNamed3
+{
+1 "output1"
+}
+inputsNamed3
+{
+0 foreach_end1 1 1 "input1"
+}
+inputs
+{
+0 foreach_end1 0 1
+}
+stat
+{
+ create 1523080271
+ modify 1586055239
+ author Henry@LAPPY586
+ access 0777
+}
+color UT_Color RGB 0.8 0.8 0.8
+delscript ""
+exprlanguage hscript
+end
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/do_material_override1.parm"
+Content-Type: text/plain
+
+{
+version 0.8
+folder0 [ 0 locks=0 ] ( 0 0 )
+group [ 0 locks=0 ] ( "" )
+grouptype [ 0 locks=0 ] ( "guess" )
+class [ 0 locks=0 ] ( "primitive" )
+vex_numcount [ 0 locks=0 ] ( 10 )
+vex_threadjobsize [ 0 locks=0 ] ( 1024 )
+snippet [ 0 locks=0 ] ( "int index = point(0, \"mops_index\", @primnum);
+s@shop_materialpath = chs(\"../instance_material\"+itoa(index+1));
+" )
+exportlist [ 0 locks=0 ] ( * )
+vex_strict [ 0 locks=0 ] ( "off" )
+autobind [ 0 locks=0 ] ( "on" )
+bindings [ 0 locks=0 ] ( 0 )
+groupautobind [ 0 locks=0 ] ( "on" )
+groupbindings [ 0 locks=0 ] ( 0 )
+vex_cwdpath [ 0 locks=0 ] ( . )
+vex_outputmask [ 0 locks=0 ] ( * )
+vex_updatenmls [ 0 locks=0 ] ( "off" )
+vex_matchattrib [ 0 locks=0 ] ( id )
+vex_inplace [ 0 locks=0 ] ( "off" )
+vex_selectiongroup [ 0 locks=0 ] ( "" )
+vex_precision [ 0 locks=0 ] ( auto )
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/do_material_override1.userdata"
+Content-Type: text/plain
+
+{
+ "___Version___":{
+ "type":"string",
+ "value":""
+ }
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/set_packed_sequence_attrs1.init"
+Content-Type: text/plain
+
+type = attribwrangle
+matchesdef = 1
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/set_packed_sequence_attrs1.def"
+Content-Type: text/plain
+
+sopflags sopflags =
+comment ""
+position 72.5573 -55.6908
+connectornextid 2
+flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
+outputsNamed3
+{
+1 "output1"
+}
+inputsNamed3
+{
+0 create_temp_sequence_groups 1 1 "input1"
+}
+inputs
+{
+0 create_temp_sequence_groups 0 1
+}
+stat
+{
+ create 1530946005
+ modify 1586055239
+ author Henry@LAPPY586
+ access 0777
+}
+color UT_Color RGB 0.8 0.8 0.8
+delscript ""
+exprlanguage hscript
+end
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/set_packed_sequence_attrs1.parm"
+Content-Type: text/plain
+
+{
+version 0.8
+folder0 [ 0 locks=0 ] ( 0 0 )
+group [ 0 locks=0 ] ( __sequence )
+grouptype [ 0 locks=0 ] ( "guess" )
+class [ 0 locks=0 ] ( "point" )
+vex_numcount [ 0 locks=0 ] ( 10 )
+vex_threadjobsize [ 0 locks=0 ] ( 1024 )
+snippet [ 0 locks=0 ] ( "// set packed primitive attributes
+int cycletype = chi(\"../cycletype\" + itoa(i@mops_index+1));
+int mode = chi(\"../frameselect\" + itoa(i@mops_index+1));
+float index;
+string cycle = \"cycle\";
+
+if(cycletype == 1) {
+ cycle = \"clamp\";
+} else if(cycletype == 2) {
+ cycle = \"mirror\";
+} else if(cycletype == 3) {
+ cycle = \"strict\";
+}
+
+if(mode == 0) {
+ index = ch(\"../frameindex\" + itoa(i@mops_index+1));
+} else {
+ string indexattr = chs(\"../frameattr\"+itoa(i@mops_index+1));
+ index = point(0, indexattr, @ptnum);
+}
+setprimintrinsic(0, \"index\", @ptnum, index, \"set\");
+setprimintrinsic(0, \"wrap\", @ptnum, cycle, \"set\");" )
+exportlist [ 0 locks=0 ] ( * )
+vex_strict [ 0 locks=0 ] ( "off" )
+autobind [ 0 locks=0 ] ( "on" )
+bindings [ 0 locks=0 ] ( 0 )
+groupautobind [ 0 locks=0 ] ( "on" )
+groupbindings [ 0 locks=0 ] ( 0 )
+vex_cwdpath [ 0 locks=0 ] ( . )
+vex_outputmask [ 0 locks=0 ] ( * )
+vex_updatenmls [ 0 locks=0 ] ( "off" )
+vex_matchattrib [ 0 locks=0 ] ( id )
+vex_inplace [ 0 locks=0 ] ( "off" )
+vex_selectiongroup [ 0 locks=0 ] ( "" )
+vex_precision [ 0 locks=0 ] ( auto )
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/set_packed_sequence_attrs1.userdata"
+Content-Type: text/plain
+
+{
+ "___Version___":{
+ "type":"string",
+ "value":""
+ }
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/create_temp_sequence_groups.init"
+Content-Type: text/plain
+
+type = attribwrangle
+matchesdef = 1
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/create_temp_sequence_groups.def"
+Content-Type: text/plain
+
+sopflags sopflags =
+comment ""
+position 72.5573 -54.68
+connectornextid 2
+flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
+outputsNamed3
+{
+1 "output1"
+}
+inputsNamed3
+{
+0 sort1 1 1 "input1"
+}
+inputs
+{
+0 sort1 0 1
+}
+stat
+{
+ create 1567747788
+ modify 1586055239
+ author Henry@LAPPY586
+ access 0777
+}
+color UT_Color RGB 0.8 0.8 0.8
+delscript ""
+exprlanguage hscript
+end
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/create_temp_sequence_groups.parm"
+Content-Type: text/plain
+
+{
+version 0.8
+folder0 [ 0 locks=0 ] ( 0 0 )
+group [ 0 locks=0 ] ( "" )
+grouptype [ 0 locks=0 ] ( "guess" )
+class [ 0 locks=0 ] ( "point" )
+vex_numcount [ 0 locks=0 ] ( 10 )
+vex_threadjobsize [ 0 locks=0 ] ( 1024 )
+snippet [ 0 locks=0 ] ( "string type = primintrinsic(0, \"typename\", @ptnum);
+if(type == \"PackedDiskSequence\") {
+ @group___sequence = 1;
+}
+if(type == \"AlembicRef\") {
+ @group___alembic = 1;
+}" )
+exportlist [ 0 locks=0 ] ( * )
+vex_strict [ 0 locks=0 ] ( "off" )
+autobind [ 0 locks=0 ] ( "on" )
+bindings [ 0 locks=0 ] ( 0 )
+groupautobind [ 0 locks=0 ] ( "on" )
+groupbindings [ 0 locks=0 ] ( 0 )
+vex_cwdpath [ 0 locks=0 ] ( . )
+vex_outputmask [ 0 locks=0 ] ( * )
+vex_updatenmls [ 0 locks=0 ] ( "off" )
+vex_matchattrib [ 0 locks=0 ] ( id )
+vex_inplace [ 0 locks=0 ] ( "off" )
+vex_selectiongroup [ 0 locks=0 ] ( "" )
+vex_precision [ 0 locks=0 ] ( auto )
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/create_temp_sequence_groups.userdata"
+Content-Type: text/plain
+
+{
+ "___Version___":{
+ "type":"string",
+ "value":""
+ }
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/set_alembic_attrs1.init"
+Content-Type: text/plain
+
+type = attribwrangle
+matchesdef = 1
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/set_alembic_attrs1.def"
+Content-Type: text/plain
+
+sopflags sopflags =
+comment ""
+position 73.8643 -56.7487
+connectornextid 2
+flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
+outputsNamed3
+{
+1 "output1"
+}
+inputsNamed3
+{
+0 set_packed_sequence_attrs1 1 1 "input1"
+}
+inputs
+{
+0 set_packed_sequence_attrs1 0 1
+}
+stat
+{
+ create 1531283685
+ modify 1586055239
+ author Henry@LAPPY586
+ access 0777
+}
+color UT_Color RGB 0.8 0.8 0.8
+delscript ""
+exprlanguage hscript
+end
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/set_alembic_attrs1.parm"
+Content-Type: text/plain
+
+{
+version 0.8
+folder0 [ 0 locks=0 ] ( 0 0 )
+group [ 0 locks=0 ] ( __alembic )
+grouptype [ 0 locks=0 ] ( "guess" )
+class [ 0 locks=0 ] ( "point" )
+vex_numcount [ 0 locks=0 ] ( 10 )
+vex_threadjobsize [ 0 locks=0 ] ( 1024 )
+snippet [ 0 locks=0 ] ( "// set abcframe intrinsic
+int cycletype = chi(\"../cycletype\" + itoa(i@mops_index+1));
+int mode = chi(\"../frameselect\" + itoa(i@mops_index+1));
+float start = ch(\"../frange\" + itoa(i@mops_index+1) + \"1\");
+float end = ch(\"../frange\" + itoa(i@mops_index+1) + \"2\");
+float index;
+
+@mops_abc_start = start;
+@mops_abc_end = end;
+
+if(mode == 0) {
+ index = ch(\"../frameindex\" + itoa(i@mops_index+1));
+} else {
+ string indexattr = chs(\"../frameattr\"+itoa(i@mops_index+1));
+ index = point(0, indexattr, @ptnum);
+}
+
+// have to manually clamp alembics...
+if(cycletype == 0) {
+ // cycle
+ index = ((index - 1) % (end-start)) + start;
+ s@mops_abc_wrap = \"cycle\";
+} else if(cycletype == 1) {
+ // clamp
+ index = clamp(index+(start-1), start, end);
+ s@mops_abc_wrap = \"clamp\";
+} else if(cycletype == 2) {
+ // mirror
+ // y = (A/P) * (P - abs(x % (2*P) - P) )
+ float A = 1;
+ float P = (end-start);
+ index -= 1;
+ float time = (A/P) * (P - abs((index) % (2*P) - P) );
+ //i@index = index;
+ //f@frame = time;
+ time = fit01(time, start, end);
+ s@mops_abc_wrap = \"mirror\";
+ index = time;
+} else {
+ // strict doesn't work with alembic.
+ index = index + (start-1);
+ if((index < start) || (index > end)) {
+ removeprim(0, @primnum, 1);
+ }
+ s@mops_abc_wrap = \"strict\";
+}
+
+
+setprimintrinsic(0, \"abcframe\", @ptnum, index*@TimeInc, \"set\");" )
+exportlist [ 0 locks=0 ] ( * )
+vex_strict [ 0 locks=0 ] ( "off" )
+autobind [ 0 locks=0 ] ( "on" )
+bindings [ 0 locks=0 ] ( 0 )
+groupautobind [ 0 locks=0 ] ( "on" )
+groupbindings [ 0 locks=0 ] ( 0 )
+vex_cwdpath [ 0 locks=0 ] ( . )
+vex_outputmask [ 0 locks=0 ] ( * )
+vex_updatenmls [ 0 locks=0 ] ( "off" )
+vex_matchattrib [ 0 locks=0 ] ( id )
+vex_inplace [ 0 locks=0 ] ( "off" )
+vex_selectiongroup [ 0 locks=0 ] ( "" )
+vex_precision [ 0 locks=0 ] ( auto )
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/set_alembic_attrs1.userdata"
+Content-Type: text/plain
+
+{
+ "___Version___":{
+ "type":"string",
+ "value":""
+ }
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/define_sourceprim_uv.init"
+Content-Type: text/plain
+
+type = attribwrangle
+matchesdef = 1
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/define_sourceprim_uv.def"
+Content-Type: text/plain
+
+sopflags sopflags =
+comment ""
+position 93.4046 0.309577
+connectornextid 2
+flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
+outputsNamed3
+{
+1 "output1"
+}
+inputsNamed3
+{
+0 convert_orient_to_N_up 1 1 "input1"
+}
+inputs
+{
+0 convert_orient_to_N_up 0 1
+}
+stat
+{
+ create 1568259839
+ modify 1586054043
+ author Henry@LAPPY586
+ access 0777
+}
+color UT_Color RGB 0.8 0.8 0.8
+delscript ""
+exprlanguage hscript
+end
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/define_sourceprim_uv.parm"
+Content-Type: text/plain
+
+{
+version 0.8
+folder0 [ 0 locks=0 ] ( 0 0 )
+group [ 0 locks=0 ] ( "" )
+grouptype [ 0 locks=0 ] ( "guess" )
+class [ 0 locks=0 ] ( "point" )
+vex_numcount [ 0 locks=0 ] ( 10 )
+vex_threadjobsize [ 0 locks=0 ] ( 1024 )
+snippet [ 0 locks=0 ] ( "v@__sourceprimuv = set(@__curveu, 0, 0);" )
+exportlist [ 0 locks=0 ] ( * )
+vex_strict [ 0 locks=0 ] ( "off" )
+autobind [ 0 locks=0 ] ( "on" )
+bindings [ 0 locks=0 ] ( 0 )
+groupautobind [ 0 locks=0 ] ( "on" )
+groupbindings [ 0 locks=0 ] ( 0 )
+vex_cwdpath [ 0 locks=0 ] ( . )
+vex_outputmask [ 0 locks=0 ] ( * )
+vex_updatenmls [ 0 locks=0 ] ( "off" )
+vex_matchattrib [ 0 locks=0 ] ( id )
+vex_inplace [ 0 locks=0 ] ( "off" )
+vex_selectiongroup [ 0 locks=0 ] ( "" )
+vex_precision [ 0 locks=0 ] ( auto )
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/define_sourceprim_uv.userdata"
+Content-Type: text/plain
+
+{
+ "___Version___":{
+ "type":"string",
+ "value":""
+ }
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/MOPs_Apply_Attributes.init"
+Content-Type: text/plain
+
+type = MOPS::Apply_Attributes::1.4
+matchesdef = 1
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/MOPs_Apply_Attributes.def"
+Content-Type: text/plain
+
+sopflags sopflags =
+comment ""
+position 77.9813 -58.9242
+connectornextid 3
+flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
+outputsNamed3
+{
+0 "output1"
+}
+inputsNamed3
+{
+1 attribdelete1 1 1 "input1"
+2 switch_interpolation_method 1 1 "input2"
+}
+inputs
+{
+0 attribdelete1 0 1
+1 switch_interpolation_method 0 1
+}
+stat
+{
+ create 1584173063
+ modify 1586055581
+ author Henry@LAPPY586
+ access 0777
+}
+color UT_Color RGB 0.8 0.8 0.8
+delscript ""
+exprlanguage hscript
+end
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/MOPs_Apply_Attributes.chn"
+Content-Type: text/plain
+
+{
+ channel do_copy_attrs {
+ lefttype = extend
+ righttype = extend
+ flags = 0
+ segment { length = 0 value = 1 1 expr = ch(\"../do_copy_attrs\") }
+ }
+ channel attribname {
+ lefttype = extend
+ righttype = extend
+ flags = 0
+ segment { length = 0 expr = chs(\"../attribname2\") }
+ }
+ }
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/MOPs_Apply_Attributes.parm"
+Content-Type: text/plain
+
+{
+version 0.8
+group [ 0 locks=0 ] ( "" )
+grouptype [ 0 locks=0 ] ( "guess" )
+sepparm [ 0 locks=0 ] ( )
+matchmode [ 0 locks=0 ] ( "0" )
+folder0 [ 0 locks=0 ] ( 0 0 0 )
+do_translate [ 0 locks=0 ] ( "on" )
+do_rotate [ 0 locks=0 ] ( "on" )
+do_scale [ 0 locks=0 autoscope=0 ] ( "on" )
+do_pivots [ 0 locks=0 autoscope=0 ] ( "off" )
+sepparm2 [ 0 locks=0 ] ( )
+local_space [ 0 locks=0 ] ( "on" )
+rotate_mode [ 0 locks=0 autoscope=0 ] ( 1 )
+rotate_order [ 0 locks=0 ] ( 0 )
+scale_mode [ 0 locks=0 autoscope=0 ] ( 0 )
+do_falloff [ 0 locks=0 autoscope=0 ] ( "off" )
+falloff_attribute [ 0 locks=0 ] ( mops_falloff )
+ignore_no_falloff [ 0 locks=0 ] ( "off" )
+do_copy_attrs [ 0 locks=0 autoscope=1 ] ( [ do_copy_attrs 1 ] )
+attribname [ 0 locks=0 autoscope=0 ] ( [ attribname mops_falloff ] )
+do_make_id [ 0 locks=0 ] ( "on" )
+do_orient [ 0 locks=0 autoscope=0 ] ( "off" )
+do_output_scale [ 0 locks=0 autoscope=0 ] ( "off" )
+sepparm3 [ 0 locks=0 ] ( )
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/MOPs_Apply_Attributes.userdata"
+Content-Type: text/plain
+
+{
+ "___Version___":{
+ "type":"string",
+ "value":""
+ }
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/mesh_error.init"
+Content-Type: text/plain
+
+type = attribwrangle
+matchesdef = 1
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/mesh_error.def"
+Content-Type: text/plain
+
+sopflags sopflags =
+comment ""
+position 106.571 20.0856
+connectornextid 2
+flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
+outputsNamed3
+{
+1 "output1"
+}
+inputsNamed3
+{
+0 input_mesh1 1 1 "input1"
+}
+inputs
+{
+0 input_mesh1 0 1
+}
+stat
+{
+ create 1568263803
+ modify 1586054043
+ author Henry@LAPPY586
+ access 0777
+}
+color UT_Color RGB 0.8 0.8 0.8
+delscript ""
+exprlanguage hscript
+end
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/mesh_error.parm"
+Content-Type: text/plain
+
+{
+version 0.8
+folder0 [ 0 locks=0 ] ( 0 0 )
+group [ 0 locks=0 ] ( "" )
+grouptype [ 0 locks=0 ] ( "guess" )
+class [ 0 locks=0 ] ( "primitive" )
+vex_numcount [ 0 locks=0 ] ( 10 )
+vex_threadjobsize [ 0 locks=0 ] ( 1024 )
+snippet [ 0 locks=0 ] ( "// validate that the input mesh is polygons
+string typename = primintrinsic(0, \"typename\", @primnum);
+if(typename != \"Poly\") {
+ error(\"Input template mesh must be polygons!\");
+}
+" )
+exportlist [ 0 locks=0 ] ( * )
+vex_strict [ 0 locks=0 ] ( "off" )
+autobind [ 0 locks=0 ] ( "on" )
+bindings [ 0 locks=0 ] ( 0 )
+groupautobind [ 0 locks=0 ] ( "on" )
+groupbindings [ 0 locks=0 ] ( 0 )
+vex_cwdpath [ 0 locks=0 ] ( . )
+vex_outputmask [ 0 locks=0 ] ( * )
+vex_updatenmls [ 0 locks=0 ] ( "off" )
+vex_matchattrib [ 0 locks=0 ] ( id )
+vex_inplace [ 0 locks=0 ] ( "off" )
+vex_selectiongroup [ 0 locks=0 ] ( "" )
+vex_precision [ 0 locks=0 ] ( auto )
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/mesh_error.userdata"
+Content-Type: text/plain
+
+{
+ "___Version___":{
+ "type":"string",
+ "value":""
+ }
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/MOPs_Orient_Mesh1.init"
+Content-Type: text/plain
+
+type = MOPS::Mesh_Flow::1.1
+matchesdef = 1
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/MOPs_Orient_Mesh1.def"
+Content-Type: text/plain
+
+sopflags sopflags =
+comment ""
+position 109.633 18.2679
+connectornextid 2
+flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
+outputsNamed3
+{
+1 "output1"
+}
+inputsNamed3
+{
+0 mesh_error 1 1 "input1"
+}
+inputs
+{
+0 mesh_error 0 1
+}
+stat
+{
+ create 1568523996
+ modify 1586054043
+ author Henry@LAPPY586
+ access 0777
+}
+color UT_Color RGB 0.8 0.8 0.8
+delscript ""
+exprlanguage hscript
+end
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/MOPs_Orient_Mesh1.chn"
+Content-Type: text/plain
+
+{
+ channel compute_method {
+ lefttype = extend
+ righttype = extend
+ default = 1
+ flags = 0
+ segment { length = 0 value = 1 1 expr = ch(\"../compute_method\") }
+ }
+ channel group {
+ lefttype = extend
+ righttype = extend
+ defaultString = \"\"
+ flags = 0
+ segment { length = 0 expr = chs(\"../group\") }
+ }
+ channel entity {
+ lefttype = extend
+ righttype = extend
+ flags = 0
+ segment { length = 0 expr = ch(\"../entity\") }
+ }
+ channel style {
+ lefttype = extend
+ righttype = extend
+ defaultString = \"edge2\"
+ flags = 0
+ segment { length = 0 expr = chs(\"../style\") }
+ }
+ channel attribname {
+ lefttype = extend
+ righttype = extend
+ defaultString = \"\"
+ flags = 0
+ segment { length = 0 expr = chs(\"../attribname\") }
+ }
+ channel Non {
+ lefttype = extend
+ righttype = extend
+ default = 1
+ flags = 0
+ segment { length = 0 value = 1 1 expr = ch(\"../Non\") }
+ }
+ channel N {
+ lefttype = extend
+ righttype = extend
+ defaultString = \"N\"
+ flags = 0
+ segment { length = 0 expr = chs(\"../N\") }
+ }
+ channel tangentuon {
+ lefttype = extend
+ righttype = extend
+ default = 1
+ flags = 0
+ segment { length = 0 value = 1 1 expr = ch(\"../tangentuon\") }
+ }
+ channel tangentu {
+ lefttype = extend
+ righttype = extend
+ defaultString = \"up\"
+ flags = 0
+ segment { length = 0 expr = chs(\"../tangentu\") }
+ }
+ channel tangentvon {
+ lefttype = extend
+ righttype = extend
+ flags = 0
+ segment { length = 0 expr = ch(\"../tangentvon\") }
+ }
+ channel tangentv {
+ lefttype = extend
+ righttype = extend
+ defaultString = \"tangentv\"
+ flags = 0
+ segment { length = 0 expr = chs(\"../tangentv\") }
+ }
+ channel ortho {
+ lefttype = extend
+ righttype = extend
+ flags = 0
+ segment { length = 0 expr = ch(\"../ortho\") }
+ }
+ channel lefthanded {
+ lefttype = extend
+ righttype = extend
+ flags = 0
+ segment { length = 0 expr = ch(\"../lefthanded\") }
+ }
+ channel do_normal {
+ lefttype = extend
+ righttype = extend
+ default = 1
+ flags = 0
+ segment { length = 0 value = 1 1 expr = ch(\"../do_normal\") }
+ }
+ channel do_up {
+ lefttype = extend
+ righttype = extend
+ default = 1
+ flags = 0
+ segment { length = 0 value = 1 1 expr = ch(\"../do_up\") }
+ }
+ channel up_vectorx {
+ lefttype = extend
+ righttype = extend
+ flags = 0
+ segment { length = 0 expr = ch(\"../up_vector2x\") }
+ }
+ channel up_vectory {
+ lefttype = extend
+ righttype = extend
+ default = 1
+ flags = 0
+ segment { length = 0 value = 1 1 expr = ch(\"../up_vector2y\") }
+ }
+ channel up_vectorz {
+ lefttype = extend
+ righttype = extend
+ flags = 0
+ segment { length = 0 expr = ch(\"../up_vector2z\") }
+ }
+ channel invert_N {
+ lefttype = extend
+ righttype = extend
+ flags = 0
+ segment { length = 0 expr = ch(\"../invert_N\") }
+ }
+ channel invert_up {
+ lefttype = extend
+ righttype = extend
+ flags = 0
+ segment { length = 0 expr = ch(\"../invert_up\") }
+ }
+ channel do_cross {
+ lefttype = extend
+ righttype = extend
+ flags = 0
+ segment { length = 0 expr = ch(\"../do_cross\") }
+ }
+ channel do_curl {
+ lefttype = extend
+ righttype = extend
+ flags = 0
+ segment { length = 0 expr = ch(\"../do_curl\") }
+ }
+ channel do_blur {
+ lefttype = extend
+ righttype = extend
+ flags = 0
+ segment { length = 0 expr = ch(\"../do_blur\") }
+ }
+ channel bias {
+ lefttype = extend
+ righttype = extend
+ default = 0.5
+ flags = 0
+ segment { length = 0 value = 0.5 0.5 expr = ch(\"../bias\") }
+ }
+ channel use_rest {
+ lefttype = extend
+ righttype = extend
+ flags = 0
+ segment { length = 0 expr = ch(\"../use_rest\") }
+ }
+ channel type {
+ lefttype = extend
+ righttype = extend
+ defaultString = \"pnoise\"
+ flags = 0
+ segment { length = 0 expr = chs(\"../type\") }
+ }
+ channel freq1 {
+ lefttype = extend
+ righttype = extend
+ default = 1
+ flags = 0
+ segment { length = 0 value = 1 1 expr = ch(\"../freq1\") }
+ }
+ channel freq2 {
+ lefttype = extend
+ righttype = extend
+ default = 1
+ flags = 0
+ segment { length = 0 value = 1 1 expr = ch(\"../freq2\") }
+ }
+ channel freq3 {
+ lefttype = extend
+ righttype = extend
+ default = 1
+ flags = 0
+ segment { length = 0 value = 1 1 expr = ch(\"../freq3\") }
+ }
+ channel offset1 {
+ lefttype = extend
+ righttype = extend
+ flags = 0
+ segment { length = 0 expr = ch(\"../offset1\") }
+ }
+ channel offset2 {
+ lefttype = extend
+ righttype = extend
+ flags = 0
+ segment { length = 0 expr = ch(\"../offset2\") }
+ }
+ channel offset3 {
+ lefttype = extend
+ righttype = extend
+ flags = 0
+ segment { length = 0 expr = ch(\"../offset3\") }
+ }
+ channel amp {
+ lefttype = extend
+ righttype = extend
+ default = 1
+ flags = 0
+ segment { length = 0 value = 1 1 expr = ch(\"../amp\") }
+ }
+ channel rough {
+ lefttype = extend
+ righttype = extend
+ default = 0.5
+ flags = 0
+ segment { length = 0 value = 0.5 0.5 expr = ch(\"../rough\") }
+ }
+ channel atten {
+ lefttype = extend
+ righttype = extend
+ default = 1
+ flags = 0
+ segment { length = 0 value = 1 1 expr = ch(\"../atten\") }
+ }
+ channel turb {
+ lefttype = extend
+ righttype = extend
+ default = 3
+ flags = 0
+ segment { length = 0 value = 3 3 expr = ch(\"../turb\") }
+ }
+ channel h {
+ lefttype = extend
+ righttype = extend
+ default = 0.0001
+ flags = 0
+ segment { length = 0 value = 0.0001 0.0001 expr = ch(\"../h\") }
+ }
+ channel iterations {
+ lefttype = extend
+ righttype = extend
+ default = 1
+ flags = 0
+ segment { length = 0 value = 1 1 expr = ch(\"../iterations\") }
+ }
+ channel stepsize {
+ lefttype = extend
+ righttype = extend
+ default = 0.5
+ flags = 0
+ segment { length = 0 value = 0.5 0.5 expr = ch(\"../stepsize\") }
+ }
+ channel influencetype {
+ lefttype = extend
+ righttype = extend
+ flags = 0
+ segment { length = 0 expr = ch(\"../influencetype\") }
+ }
+ channel auto_up {
+ lefttype = extend
+ righttype = extend
+ default = 1
+ flags = 0
+ segment { length = 0 value = 1 1 expr = ch(\"../auto_up\") }
+ }
+ }
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/MOPs_Orient_Mesh1.parm"
+Content-Type: text/plain
+
+{
+version 0.8
+do_viz [ 0 locks=0 ] ( "off" )
+compute_method [ 0 locks=0 ] ( [ compute_method 1 ] )
+folder1 [ 0 locks=0 ] ( 0 )
+group [ 0 locks=0 ] ( [ group "" ] )
+entity [ 0 locks=0 ] ( [ entity 0 ] )
+style [ 0 locks=0 ] ( [ style edge2 ] )
+attribname [ 0 locks=0 ] ( [ attribname "" ] )
+Non [ 0 locks=0 ] ( [ Non 1 ] )
+N [ 0 locks=0 ] ( [ N N ] )
+tangentuon [ 0 locks=0 ] ( [ tangentuon 1 ] )
+tangentu [ 0 locks=0 ] ( [ tangentu up ] )
+tangentvon [ 0 locks=0 ] ( [ tangentvon 0 ] )
+tangentv [ 0 locks=0 ] ( [ tangentv tangentv ] )
+ortho [ 0 locks=0 ] ( [ ortho 0 ] )
+lefthanded [ 0 locks=0 ] ( [ lefthanded 0 ] )
+folder2 [ 0 locks=0 ] ( 0 )
+do_normal [ 0 locks=0 ] ( [ do_normal 1 ] )
+do_up [ 0 locks=0 ] ( [ do_up 1 ] )
+folder3 [ 0 locks=0 ] ( 0 )
+auto_up [ 0 locks=0 ] ( [ auto_up 1 ] )
+up_vector [ 0 locks=0 ] ( [ up_vectorx 0 ] [ up_vectory 1 ] [ up_vectorz 0 ] )
+invert_N [ 0 locks=0 ] ( [ invert_N 0 ] )
+invert_up [ 0 locks=0 ] ( [ invert_up 0 ] )
+do_cross [ 0 locks=0 ] ( [ do_cross 0 ] )
+sepparm [ 0 locks=0 ] ( )
+do_curl [ 0 locks=0 ] ( [ do_curl 0 ] )
+do_blur [ 0 locks=0 ] ( [ do_blur 0 ] )
+folder0 [ 0 locks=0 ] ( 0 0 )
+bias [ 0 locks=0 ] ( [ bias 0.5 ] )
+use_rest [ 0 locks=0 ] ( [ use_rest 0 ] )
+type [ 0 locks=0 ] ( [ type pnoise ] )
+freq [ 0 locks=0 ] ( [ freq1 1 ] [ freq2 1 ] [ freq3 1 ] )
+offset [ 0 locks=0 ] ( [ offset1 0 ] [ offset2 0 ] [ offset3 0 ] )
+amp [ 0 locks=0 ] ( [ amp 1 ] )
+rough [ 0 locks=0 ] ( [ rough 0.5 ] )
+atten [ 0 locks=0 ] ( [ atten 1 ] )
+turb [ 0 locks=0 ] ( [ turb 3 ] )
+h [ 0 locks=0 ] ( [ h 0.0001 ] )
+iterations [ 0 locks=0 ] ( [ iterations 1 ] )
+stepsize [ 0 locks=0 ] ( [ stepsize 0.5 ] )
+influencetype [ 0 locks=0 ] ( [ influencetype 0 ] )
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/MOPs_Orient_Mesh1.userdata"
+Content-Type: text/plain
+
+{
+ "___Version___":{
+ "type":"string",
+ "value":""
+ }
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/validate_curve.init"
+Content-Type: text/plain
+
+type = attribwrangle
+matchesdef = 1
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/validate_curve.def"
+Content-Type: text/plain
+
+sopflags sopflags =
+comment ""
+position 93.1493 9.07621
+connectornextid 2
+flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
+outputsNamed3
+{
+1 "output1"
+}
+inputsNamed3
+{
+0 input_curve1 1 1 "input1"
+}
+inputs
+{
+0 input_curve1 0 1
+}
+stat
+{
+ create 1568524381
+ modify 1586054043
+ author Henry@LAPPY586
+ access 0777
+}
+color UT_Color RGB 0.8 0.8 0.8
+delscript ""
+exprlanguage hscript
+end
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/validate_curve.parm"
+Content-Type: text/plain
+
+{
+version 0.8
+folder0 [ 0 locks=0 ] ( 0 0 )
+group [ 0 locks=0 ] ( "" )
+grouptype [ 0 locks=0 ] ( "guess" )
+class [ 0 locks=0 ] ( "primitive" )
+vex_numcount [ 0 locks=0 ] ( 10 )
+vex_threadjobsize [ 0 locks=0 ] ( 1024 )
+snippet [ 0 locks=0 ] ( "string typename = primintrinsic(0, \"typename\", @primnum);
+if(typename != \"NURBCurve\" && typename != \"Poly\" && typename != \"BezierCurve\") {
+ error(\"Input curve must be a NURBS curve, polyline, or Bezier curve!\");
+}" )
+exportlist [ 0 locks=0 ] ( * )
+vex_strict [ 0 locks=0 ] ( "off" )
+autobind [ 0 locks=0 ] ( "on" )
+bindings [ 0 locks=0 ] ( 0 )
+groupautobind [ 0 locks=0 ] ( "on" )
+groupbindings [ 0 locks=0 ] ( 0 )
+vex_cwdpath [ 0 locks=0 ] ( . )
+vex_outputmask [ 0 locks=0 ] ( * )
+vex_updatenmls [ 0 locks=0 ] ( "off" )
+vex_matchattrib [ 0 locks=0 ] ( id )
+vex_inplace [ 0 locks=0 ] ( "off" )
+vex_selectiongroup [ 0 locks=0 ] ( "" )
+vex_precision [ 0 locks=0 ] ( auto )
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/validate_curve.userdata"
+Content-Type: text/plain
+
+{
+ "___Version___":{
+ "type":"string",
+ "value":""
+ }
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/convertline2.init"
+Content-Type: text/plain
+
+type = convertline
+matchesdef = 1
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/convertline2.def"
+Content-Type: text/plain
+
+sopflags sopflags =
+comment ""
+position 109.776 8.4361
+connectornextid 2
+flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
+outputsNamed3
+{
+1 "output1"
+}
+inputsNamed3
+{
+0 facet4 1 1 "input1"
+}
+inputs
+{
+0 facet4 0 1
+}
+stat
+{
+ create 1568608286
+ modify 1569714346
+ author Henry@LAPPY586
+ access 0777
+}
+color UT_Color RGB 0.8 0.8 0.8
+delscript ""
+exprlanguage hscript
+end
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/convertline2.parm"
+Content-Type: text/plain
+
+{
+version 0.8
+computelength [ 0 locks=0 ] ( "off" )
+lengthname [ 0 locks=0 ] ( restlength )
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/convertline2.userdata"
+Content-Type: text/plain
+
+{
+ "___Version___":{
+ "type":"string",
+ "value":""
+ }
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/align_to_gradient.init"
+Content-Type: text/plain
+
+type = attribwrangle
+matchesdef = 1
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/align_to_gradient.def"
+Content-Type: text/plain
+
+sopflags sopflags =
+comment ""
+position 115.838 6.92508
+connectornextid 3
+flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
+outputsNamed3
+{
+2 "output1"
+}
+inputsNamed3
+{
+0 voxel_fill_method 2 1 "input1"
+1 vdbfrompolygons4 1 1 "input2"
+}
+inputs
+{
+0 voxel_fill_method 0 1
+1 vdbfrompolygons4 0 1
+}
+stat
+{
+ create 1568609670
+ modify 1586054043
+ author Henry@LAPPY586
+ access 0777
+}
+color UT_Color RGB 0.8 0.8 0.8
+delscript ""
+exprlanguage hscript
+end
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/align_to_gradient.spareparmdef"
+Content-Type: text/plain
+
+ group {
+ name "folder1"
+ label "Code"
+
+ parm {
+ name "group"
+ baseparm
+ label "Group"
+ export none
+ bindselector points "Modify Points"
+ "Select the points to affect and press Enter to complete."
+ 0 1 0xffffffff 0 grouptype 0
+ }
+ parm {
+ name "grouptype"
+ baseparm
+ label "Group Type"
+ export none
+ }
+ parm {
+ name "class"
+ baseparm
+ label "Run Over"
+ export none
+ }
+ parm {
+ name "vex_numcount"
+ baseparm
+ label "Number Count"
+ export none
+ }
+ parm {
+ name "vex_threadjobsize"
+ baseparm
+ label "Thread Job Size"
+ export none
+ }
+ parm {
+ name "snippet"
+ baseparm
+ label "VEXpression"
+ export all
+ }
+ parm {
+ name "exportlist"
+ baseparm
+ label "Attributes to Create"
+ export none
+ }
+ parm {
+ name "vex_strict"
+ baseparm
+ label "Enforce Prototypes"
+ export none
+ }
+ }
+
+ group {
+ name "folder1_1"
+ label "Bindings"
+
+ parm {
+ name "autobind"
+ baseparm
+ label "Autobind by Name"
+ export none
+ }
+ multiparm {
+ name "bindings"
+ label "Number of Bindings"
+ baseparm
+ default 0
+ parmtag { "autoscope" "0000000000000000" }
+ parmtag { "multistartoffset" "1" }
+
+ parm {
+ name "bindname#"
+ baseparm
+ label "Attribute Name"
+ export none
+ }
+ parm {
+ name "bindparm#"
+ baseparm
+ label "VEX Parameter"
+ export none
+ }
+ }
+
+ parm {
+ name "groupautobind"
+ baseparm
+ label "Autobind Groups by Name"
+ export none
+ }
+ multiparm {
+ name "groupbindings"
+ label "Group Bindings"
+ baseparm
+ default 0
+ parmtag { "autoscope" "0000000000000000" }
+ parmtag { "multistartoffset" "1" }
+
+ parm {
+ name "bindgroupname#"
+ baseparm
+ label "Group Name"
+ export none
+ }
+ parm {
+ name "bindgroupparm#"
+ baseparm
+ label "VEX Parameter"
+ export none
+ }
+ }
+
+ parm {
+ name "vex_cwdpath"
+ baseparm
+ label "Evaluation Node Path"
+ export none
+ }
+ parm {
+ name "vex_outputmask"
+ baseparm
+ label "Export Parameters"
+ export none
+ }
+ parm {
+ name "vex_updatenmls"
+ baseparm
+ label "Update Normals If Displaced"
+ export none
+ }
+ parm {
+ name "vex_matchattrib"
+ baseparm
+ label "Attribute to Match"
+ export none
+ }
+ parm {
+ name "vex_inplace"
+ baseparm
+ label "Compute Results In Place"
+ export none
+ }
+ parm {
+ name "vex_selectiongroup"
+ baseparm
+ label "Output Selection Group"
+ export none
+ }
+ }
+
+ parm {
+ name "up"
+ label "Up"
+ type vector
+ size 3
+ default { "0" "0" "0" }
+ range { 0 1 }
+ }
+ parm {
+ name "vex_precision"
+ baseparm
+ label "VEX Precision"
+ export none
+ }
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/align_to_gradient.chn"
+Content-Type: text/plain
+
+{
+ channel upx {
+ lefttype = extend
+ righttype = extend
+ flags = 0
+ segment { length = 0 expr = ch(\"../voxel_align_upx\") }
+ }
+ channel upy {
+ lefttype = extend
+ righttype = extend
+ default = 1
+ flags = 0
+ segment { length = 0 value = 1 1 expr = ch(\"../voxel_align_upy\") }
+ }
+ channel upz {
+ lefttype = extend
+ righttype = extend
+ flags = 0
+ segment { length = 0 expr = ch(\"../voxel_align_upz\") }
+ }
+ }
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/align_to_gradient.parm"
+Content-Type: text/plain
+
+{
+version 0.8
+folder0 [ 0 locks=0 ] ( 0 0 )
+group [ 0 locks=0 ] ( "" )
+grouptype [ 0 locks=0 ] ( "guess" )
+class [ 0 locks=0 ] ( "point" )
+vex_numcount [ 0 locks=0 ] ( 10 )
+vex_threadjobsize [ 0 locks=0 ] ( 1024 )
+snippet [ 0 locks=0 ] ( "vector N = volumegradient(1, \"surface\", @P);
+v@N = N;
+v@up = chv(\"up\");
+p@orient = quaternion(maketransform(v@N, v@up));" )
+exportlist [ 0 locks=0 ] ( * )
+vex_strict [ 0 locks=0 ] ( "off" )
+autobind [ 0 locks=0 ] ( "on" )
+bindings [ 0 locks=0 ] ( 0 )
+groupautobind [ 0 locks=0 ] ( "on" )
+groupbindings [ 0 locks=0 ] ( 0 )
+vex_cwdpath [ 0 locks=0 ] ( . )
+vex_outputmask [ 0 locks=0 ] ( * )
+vex_updatenmls [ 0 locks=0 ] ( "off" )
+vex_matchattrib [ 0 locks=0 ] ( id )
+vex_inplace [ 0 locks=0 ] ( "off" )
+vex_selectiongroup [ 0 locks=0 ] ( "" )
+vex_precision [ 0 locks=0 ] ( auto )
+folder1 [ 0 locks=0 ] ( 0 0 )
+up [ 0 locks=0 ] ( [ upx 0 ] [ upy 1 ] [ upz 0 ] )
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/align_to_gradient.userdata"
+Content-Type: text/plain
+
+{
+ "___Version___":{
+ "type":"string",
+ "value":""
+ }
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/align_to_vector_volume.init"
+Content-Type: text/plain
+
+type = attribwrangle
+matchesdef = 1
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/align_to_vector_volume.def"
+Content-Type: text/plain
+
+sopflags sopflags =
+comment ""
+position 119.517 6.92608
+connectornextid 3
+flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
+outputsNamed3
+{
+2 "output1"
+}
+inputsNamed3
+{
+0 voxel_fill_method 2 1 "input1"
+1 vdbfrompolygons4 1 1 "input2"
+}
+inputs
+{
+0 voxel_fill_method 0 1
+1 vdbfrompolygons4 0 1
+}
+stat
+{
+ create 1568610675
+ modify 1586054043
+ author Henry@LAPPY586
+ access 0777
+}
+color UT_Color RGB 0.8 0.8 0.8
+delscript ""
+exprlanguage hscript
+end
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/align_to_vector_volume.spareparmdef"
+Content-Type: text/plain
+
+ group {
+ name "folder1"
+ label "Code"
+
+ parm {
+ name "group"
+ baseparm
+ label "Group"
+ export none
+ bindselector points "Modify Points"
+ "Select the points to affect and press Enter to complete."
+ 0 1 0xffffffff 0 grouptype 0
+ }
+ parm {
+ name "grouptype"
+ baseparm
+ label "Group Type"
+ export none
+ }
+ parm {
+ name "class"
+ baseparm
+ label "Run Over"
+ export none
+ }
+ parm {
+ name "vex_numcount"
+ baseparm
+ label "Number Count"
+ export none
+ }
+ parm {
+ name "vex_threadjobsize"
+ baseparm
+ label "Thread Job Size"
+ export none
+ }
+ parm {
+ name "snippet"
+ baseparm
+ label "VEXpression"
+ export all
+ }
+ parm {
+ name "exportlist"
+ baseparm
+ label "Attributes to Create"
+ export none
+ }
+ parm {
+ name "vex_strict"
+ baseparm
+ label "Enforce Prototypes"
+ export none
+ }
+ }
+
+ group {
+ name "folder1_1"
+ label "Bindings"
+
+ parm {
+ name "autobind"
+ baseparm
+ label "Autobind by Name"
+ export none
+ }
+ multiparm {
+ name "bindings"
+ label "Number of Bindings"
+ baseparm
+ default 0
+ parmtag { "autoscope" "0000000000000000" }
+ parmtag { "multistartoffset" "1" }
+
+ parm {
+ name "bindname#"
+ baseparm
+ label "Attribute Name"
+ export none
+ }
+ parm {
+ name "bindparm#"
+ baseparm
+ label "VEX Parameter"
+ export none
+ }
+ }
+
+ parm {
+ name "groupautobind"
+ baseparm
+ label "Autobind Groups by Name"
+ export none
+ }
+ multiparm {
+ name "groupbindings"
+ label "Group Bindings"
+ baseparm
+ default 0
+ parmtag { "autoscope" "0000000000000000" }
+ parmtag { "multistartoffset" "1" }
+
+ parm {
+ name "bindgroupname#"
+ baseparm
+ label "Group Name"
+ export none
+ }
+ parm {
+ name "bindgroupparm#"
+ baseparm
+ label "VEX Parameter"
+ export none
+ }
+ }
+
+ parm {
+ name "vex_cwdpath"
+ baseparm
+ label "Evaluation Node Path"
+ export none
+ }
+ parm {
+ name "vex_outputmask"
+ baseparm
+ label "Export Parameters"
+ export none
+ }
+ parm {
+ name "vex_updatenmls"
+ baseparm
+ label "Update Normals If Displaced"
+ export none
+ }
+ parm {
+ name "vex_matchattrib"
+ baseparm
+ label "Attribute to Match"
+ export none
+ }
+ parm {
+ name "vex_inplace"
+ baseparm
+ label "Compute Results In Place"
+ export none
+ }
+ parm {
+ name "vex_selectiongroup"
+ baseparm
+ label "Output Selection Group"
+ export none
+ }
+ }
+
+ parm {
+ name "use_volume_up"
+ label "Use Volume Up"
+ type integer
+ default { "0" }
+ range { 0 10 }
+ }
+ parm {
+ name "up"
+ label "Up"
+ type vector
+ size 3
+ default { "0" "0" "0" }
+ range { 0 1 }
+ }
+ parm {
+ name "N_volume_prim"
+ label "N Volume Prim"
+ type string
+ default { "" }
+ }
+ parm {
+ name "up_volume_prim"
+ label "Up Volume Prim"
+ type string
+ default { "" }
+ }
+ parm {
+ name "vex_precision"
+ baseparm
+ label "VEX Precision"
+ export none
+ }
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/align_to_vector_volume.chn"
+Content-Type: text/plain
+
+{
+ channel N_volume_prim {
+ lefttype = extend
+ righttype = extend
+ defaultString = \"vel\"
+ flags = 0
+ segment { length = 0 expr = chs(\"../N_volume_prim\") }
+ }
+ channel use_volume_up {
+ lefttype = extend
+ righttype = extend
+ flags = 0
+ segment { length = 0 expr = ch(\"../use_volume_up\") }
+ }
+ channel up_volume_prim {
+ lefttype = extend
+ righttype = extend
+ defaultString = \"\"
+ flags = 0
+ segment { length = 0 expr = chs(\"../up_volume_prim\") }
+ }
+ channel upx {
+ lefttype = extend
+ righttype = extend
+ flags = 0
+ segment { length = 0 expr = ch(\"../voxel_align_upx\") }
+ }
+ channel upy {
+ lefttype = extend
+ righttype = extend
+ default = 1
+ flags = 0
+ segment { length = 0 value = 1 1 expr = ch(\"../voxel_align_upy\") }
+ }
+ channel upz {
+ lefttype = extend
+ righttype = extend
+ flags = 0
+ segment { length = 0 expr = ch(\"../voxel_align_upz\") }
+ }
+ }
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/align_to_vector_volume.parm"
+Content-Type: text/plain
+
+{
+version 0.8
+folder0 [ 0 locks=0 ] ( 0 0 )
+group [ 0 locks=0 ] ( "" )
+grouptype [ 0 locks=0 ] ( "guess" )
+class [ 0 locks=0 ] ( "point" )
+vex_numcount [ 0 locks=0 ] ( 10 )
+vex_threadjobsize [ 0 locks=0 ] ( 1024 )
+snippet [ 0 locks=0 ] ( "string primname = chs(\"N_volume_prim\");
+string upprimname = chs(\"up_volume_prim\");
+vector N = volumesamplev(1, primname, @P);
+vector up = chv(\"up\");
+if(chi(\"use_volume_up\")) {
+ up = volumesamplev(1, upprimname, @P);
+}
+v@N = N;
+v@up = up;
+p@orient = quaternion(maketransform(v@N, v@up));" )
+exportlist [ 0 locks=0 ] ( * )
+vex_strict [ 0 locks=0 ] ( "off" )
+autobind [ 0 locks=0 ] ( "on" )
+bindings [ 0 locks=0 ] ( 0 )
+groupautobind [ 0 locks=0 ] ( "on" )
+groupbindings [ 0 locks=0 ] ( 0 )
+vex_cwdpath [ 0 locks=0 ] ( . )
+vex_outputmask [ 0 locks=0 ] ( * )
+vex_updatenmls [ 0 locks=0 ] ( "off" )
+vex_matchattrib [ 0 locks=0 ] ( id )
+vex_inplace [ 0 locks=0 ] ( "off" )
+vex_selectiongroup [ 0 locks=0 ] ( "" )
+vex_precision [ 0 locks=0 ] ( auto )
+folder1 [ 0 locks=0 ] ( 0 0 )
+use_volume_up [ 0 locks=0 ] ( [ use_volume_up 0 ] )
+up [ 0 locks=0 ] ( [ upx 0 ] [ upy 1 ] [ upz 0 ] )
+N_volume_prim [ 0 locks=0 ] ( [ N_volume_prim vel ] )
+up_volume_prim [ 0 locks=0 ] ( [ up_volume_prim "" ] )
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/align_to_vector_volume.userdata"
+Content-Type: text/plain
+
+{
+ "___Version___":{
+ "type":"string",
+ "value":""
+ }
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/center_linear_distro.init"
+Content-Type: text/plain
+
+type = attribwrangle
+matchesdef = 1
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/center_linear_distro.def"
+Content-Type: text/plain
+
+sopflags sopflags =
+comment ""
+position 62.3058 1.26849
+connectornextid 2
+flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
+outputsNamed3
+{
+1 "output1"
+}
+inputsNamed3
+{
+0 linear_distro_mode 1 1 "input1"
+}
+inputs
+{
+0 linear_distro_mode 0 1
+}
+stat
+{
+ create 1568698406
+ modify 1586054043
+ author Henry@LAPPY586
+ access 0777
+}
+color UT_Color RGB 0.8 0.8 0.8
+delscript ""
+exprlanguage hscript
+end
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/center_linear_distro.parm"
+Content-Type: text/plain
+
+{
+version 0.8
+folder0 [ 0 locks=0 ] ( 0 0 )
+group [ 0 locks=0 ] ( "" )
+grouptype [ 0 locks=0 ] ( "guess" )
+class [ 0 locks=0 ] ( "point" )
+vex_numcount [ 0 locks=0 ] ( 10 )
+vex_threadjobsize [ 0 locks=0 ] ( 1024 )
+snippet [ 0 locks=0 ] ( "vector center = primuv(0, \"P\", 0, set(0.5,0.5,0.5));
+@P -= center;" )
+exportlist [ 0 locks=0 ] ( * )
+vex_strict [ 0 locks=0 ] ( "off" )
+autobind [ 0 locks=0 ] ( "on" )
+bindings [ 0 locks=0 ] ( 0 )
+groupautobind [ 0 locks=0 ] ( "on" )
+groupbindings [ 0 locks=0 ] ( 0 )
+vex_cwdpath [ 0 locks=0 ] ( . )
+vex_outputmask [ 0 locks=0 ] ( * )
+vex_updatenmls [ 0 locks=0 ] ( "off" )
+vex_matchattrib [ 0 locks=0 ] ( id )
+vex_inplace [ 0 locks=0 ] ( "off" )
+vex_selectiongroup [ 0 locks=0 ] ( "" )
+vex_precision [ 0 locks=0 ] ( auto )
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/center_linear_distro.userdata"
+Content-Type: text/plain
+
+{
+ "___Version___":{
+ "type":"string",
+ "value":""
+ }
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/pointwrangle11.init"
+Content-Type: text/plain
+
+type = attribwrangle
+matchesdef = 1
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/pointwrangle11.def"
+Content-Type: text/plain
+
+sopflags sopflags =
+comment ""
+position 65.1517 0.777179
+connectornextid 2
+flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
+outputsNamed3
+{
+1 "output1"
+}
+inputsNamed3
+{
+0 resample6 1 1 "input1"
+}
+inputs
+{
+0 resample6 0 1
+}
+stat
+{
+ create 1568780508
+ modify 1586054043
+ author Henry@LAPPY586
+ access 0777
+}
+color UT_Color RGB 0.8 0.8 0.8
+delscript ""
+exprlanguage hscript
+end
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/pointwrangle11.parm"
+Content-Type: text/plain
+
+{
+version 0.8
+folder0 [ 0 locks=0 ] ( 0 0 )
+group [ 0 locks=0 ] ( "" )
+grouptype [ 0 locks=0 ] ( "guess" )
+class [ 0 locks=0 ] ( "point" )
+vex_numcount [ 0 locks=0 ] ( 10 )
+vex_threadjobsize [ 0 locks=0 ] ( 1024 )
+snippet [ 0 locks=0 ] ( "v@N = {0,0,1};
+v@up = {0,1,0};
+p@orient = quaternion(maketransform(v@N, v@up));" )
+exportlist [ 0 locks=0 ] ( * )
+vex_strict [ 0 locks=0 ] ( "off" )
+autobind [ 0 locks=0 ] ( "on" )
+bindings [ 0 locks=0 ] ( 0 )
+groupautobind [ 0 locks=0 ] ( "on" )
+groupbindings [ 0 locks=0 ] ( 0 )
+vex_cwdpath [ 0 locks=0 ] ( . )
+vex_outputmask [ 0 locks=0 ] ( * )
+vex_updatenmls [ 0 locks=0 ] ( "off" )
+vex_matchattrib [ 0 locks=0 ] ( id )
+vex_inplace [ 0 locks=0 ] ( "off" )
+vex_selectiongroup [ 0 locks=0 ] ( "" )
+vex_precision [ 0 locks=0 ] ( auto )
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/pointwrangle11.userdata"
+Content-Type: text/plain
+
+{
+ "___Version___":{
+ "type":"string",
+ "value":""
+ }
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/pointwrangle12.init"
+Content-Type: text/plain
+
+type = attribwrangle
+matchesdef = 1
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/pointwrangle12.def"
+Content-Type: text/plain
+
+sopflags sopflags =
+comment ""
+position 60.6319 -1.72404
+connectornextid 2
+flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
+outputsNamed3
+{
+1 "output1"
+}
+inputsNamed3
+{
+0 resample5 1 1 "input1"
+}
+inputs
+{
+0 resample5 0 1
+}
+stat
+{
+ create 1568780508
+ modify 1586054043
+ author Henry@LAPPY586
+ access 0777
+}
+color UT_Color RGB 0.8 0.8 0.8
+delscript ""
+exprlanguage hscript
+end
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/pointwrangle12.parm"
+Content-Type: text/plain
+
+{
+version 0.8
+folder0 [ 0 locks=0 ] ( 0 0 )
+group [ 0 locks=0 ] ( "" )
+grouptype [ 0 locks=0 ] ( "guess" )
+class [ 0 locks=0 ] ( "point" )
+vex_numcount [ 0 locks=0 ] ( 10 )
+vex_threadjobsize [ 0 locks=0 ] ( 1024 )
+snippet [ 0 locks=0 ] ( "v@N = {0,0,1};
+v@up = {0,1,0};
+p@orient = quaternion(maketransform(v@N, v@up));" )
+exportlist [ 0 locks=0 ] ( * )
+vex_strict [ 0 locks=0 ] ( "off" )
+autobind [ 0 locks=0 ] ( "on" )
+bindings [ 0 locks=0 ] ( 0 )
+groupautobind [ 0 locks=0 ] ( "on" )
+groupbindings [ 0 locks=0 ] ( 0 )
+vex_cwdpath [ 0 locks=0 ] ( . )
+vex_outputmask [ 0 locks=0 ] ( * )
+vex_updatenmls [ 0 locks=0 ] ( "off" )
+vex_matchattrib [ 0 locks=0 ] ( id )
+vex_inplace [ 0 locks=0 ] ( "off" )
+vex_selectiongroup [ 0 locks=0 ] ( "" )
+vex_precision [ 0 locks=0 ] ( auto )
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/pointwrangle12.userdata"
+Content-Type: text/plain
+
+{
+ "___Version___":{
+ "type":"string",
+ "value":""
+ }
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/groupexpression1.init"
+Content-Type: text/plain
+
+type = groupexpression
+matchesdef = 1
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/groupexpression1.def"
+Content-Type: text/plain
+
+sopflags sopflags =
+comment ""
+position 74.6169 -23.0474
+connectornextid 2
+flags = lock off model off template off footprint off xray off bypass off display off render off highlight on unload off savedata off compress on colordefault on exposed on
+outputsNamed3
+{
+1 "output1"
+}
+inputsNamed3
+{
+0 sort8 1 1 "input1"
+}
+inputs
+{
+0 sort8 0 1
+}
+stat
+{
+ create 1568866585
+ modify 1586055229
+ author Henry@LAPPY586
+ access 0777
+}
+color UT_Color RGB 0.8 0.8 0.8
+delscript ""
+exprlanguage hscript
+end
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/groupexpression1.parm"
+Content-Type: text/plain
+
+{
+version 0.8
+folder0 [ 0 locks=0 ] ( 0 0 0 )
+grouptype [ 0 locks=0 ] ( "point" )
+expressions [ 0 locks=0 ] ( 1 )
+vex_cwdpath [ 0 locks=0 ] ( . )
+vex_matchattrib [ 0 locks=0 ] ( id )
+updatecode [ 0 locks=0 ] ( 0 )
+generatedcode [ 0 locks=0 ] ( "" )
+enable1 [ 0 locks=0 ] ( "on" )
+groupname1 [ 0 locks=0 ] ( __blast )
+snippet1 [ 0 locks=0 ] ( @ptnum>`ch(\"../mesh_point_limit\")` )
+mergeop1 [ 0 locks=0 ] ( "replace" )
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/groupexpression1.userdata"
+Content-Type: text/plain
+
+{
+ "___Version___":{
+ "type":"string",
+ "value":""
+ }
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/create_N_up.init"
+Content-Type: text/plain
+
+type = attribwrangle
+matchesdef = 1
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/create_N_up.def"
+Content-Type: text/plain
+
+sopflags sopflags =
+comment ""
+position 106.571 15.1199
+connectornextid 2
+flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
+outputsNamed3
+{
+1 "output1"
+}
+inputsNamed3
+{
+0 do_orient_mesh 1 1 "input1"
+}
+inputs
+{
+0 do_orient_mesh 0 1
+}
+stat
+{
+ create 1568867654
+ modify 1586054043
+ author Henry@LAPPY586
+ access 0777
+}
+color UT_Color RGB 0.8 0.8 0.8
+delscript ""
+exprlanguage hscript
+end
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/create_N_up.parm"
+Content-Type: text/plain
+
+{
+version 0.8
+folder0 [ 0 locks=0 ] ( 0 0 )
+group [ 0 locks=0 ] ( "" )
+grouptype [ 0 locks=0 ] ( "guess" )
+class [ 0 locks=0 ] ( "point" )
+vex_numcount [ 0 locks=0 ] ( 10 )
+vex_threadjobsize [ 0 locks=0 ] ( 1024 )
+snippet [ 0 locks=0 ] ( "// orient can be a little weird to deal with down the line, so we'll decompose it
+matrix3 m = qconvert(p@orient);
+v@up = m * {0,1,0};
+v@N = m * {0,0,1};" )
+exportlist [ 0 locks=0 ] ( * )
+vex_strict [ 0 locks=0 ] ( "off" )
+autobind [ 0 locks=0 ] ( "on" )
+bindings [ 0 locks=0 ] ( 0 )
+groupautobind [ 0 locks=0 ] ( "on" )
+groupbindings [ 0 locks=0 ] ( 0 )
+vex_cwdpath [ 0 locks=0 ] ( . )
+vex_outputmask [ 0 locks=0 ] ( * )
+vex_updatenmls [ 0 locks=0 ] ( "off" )
+vex_matchattrib [ 0 locks=0 ] ( id )
+vex_inplace [ 0 locks=0 ] ( "off" )
+vex_selectiongroup [ 0 locks=0 ] ( "" )
+vex_precision [ 0 locks=0 ] ( auto )
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/create_N_up.userdata"
+Content-Type: text/plain
+
+{
+ "___Version___":{
+ "type":"string",
+ "value":""
+ }
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/recreate_orient.init"
+Content-Type: text/plain
+
+type = attribwrangle
+matchesdef = 1
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/recreate_orient.def"
+Content-Type: text/plain
+
+sopflags sopflags =
+comment ""
+position 106.186 3.03388
+connectornextid 2
+flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
+outputsNamed3
+{
+1 "output1"
+}
+inputsNamed3
+{
+0 enumerate5 1 1 "input1"
+}
+inputs
+{
+0 enumerate5 0 1
+}
+stat
+{
+ create 1568917672
+ modify 1586054043
+ author Henry@LAPPY586
+ access 0777
+}
+color UT_Color RGB 0.8 0.8 0.8
+delscript ""
+exprlanguage hscript
+end
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/recreate_orient.parm"
+Content-Type: text/plain
+
+{
+version 0.8
+folder0 [ 0 locks=0 ] ( 0 0 )
+group [ 0 locks=0 ] ( "" )
+grouptype [ 0 locks=0 ] ( "guess" )
+class [ 0 locks=0 ] ( "point" )
+vex_numcount [ 0 locks=0 ] ( 10 )
+vex_threadjobsize [ 0 locks=0 ] ( 1024 )
+snippet [ 0 locks=0 ] ( "v@N = normalize(v@N);
+v@up = normalize(v@up);
+//p@orient = quaternion(maketransform(v@N, v@up));" )
+exportlist [ 0 locks=0 ] ( * )
+vex_strict [ 0 locks=0 ] ( "off" )
+autobind [ 0 locks=0 ] ( "on" )
+bindings [ 0 locks=0 ] ( 0 )
+groupautobind [ 0 locks=0 ] ( "on" )
+groupbindings [ 0 locks=0 ] ( 0 )
+vex_cwdpath [ 0 locks=0 ] ( . )
+vex_outputmask [ 0 locks=0 ] ( * )
+vex_updatenmls [ 0 locks=0 ] ( "off" )
+vex_matchattrib [ 0 locks=0 ] ( id )
+vex_inplace [ 0 locks=0 ] ( "off" )
+vex_selectiongroup [ 0 locks=0 ] ( "" )
+vex_precision [ 0 locks=0 ] ( auto )
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/recreate_orient.userdata"
+Content-Type: text/plain
+
+{
+ "___Version___":{
+ "type":"string",
+ "value":""
+ }
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/create_default_orient.init"
+Content-Type: text/plain
+
+type = attribwrangle
+matchesdef = 1
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/create_default_orient.def"
+Content-Type: text/plain
+
+sopflags sopflags =
+comment ""
+position 105.222 17.003
+connectornextid 2
+flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
+outputsNamed3
+{
+1 "output1"
+}
+inputsNamed3
+{
+0 switch_auto_compute_N 1 1 "input1"
+}
+inputs
+{
+0 switch_auto_compute_N 0 1
+}
+stat
+{
+ create 1568918764
+ modify 1586054043
+ author Henry@LAPPY586
+ access 0777
+}
+color UT_Color RGB 0.8 0.8 0.8
+delscript ""
+exprlanguage hscript
+end
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/create_default_orient.parm"
+Content-Type: text/plain
+
+{
+version 0.8
+folder0 [ 0 locks=0 ] ( 0 0 )
+group [ 0 locks=0 ] ( "" )
+grouptype [ 0 locks=0 ] ( "guess" )
+class [ 0 locks=0 ] ( "point" )
+vex_numcount [ 0 locks=0 ] ( 10 )
+vex_threadjobsize [ 0 locks=0 ] ( 1024 )
+snippet [ 0 locks=0 ] ( "// if we have an orient attribute already, just passthrough. otherwise,
+// create an orient based on N and up. if we don't have an up vector,
+// use the difference between the local N and \"world\" N (+Z) to figure it out.
+if(!haspointattrib(0, \"orient\")) {
+ if(!haspointattrib(0, \"up\")) {
+ matrix3 N_offset = dihedral(v@N, {0,0,1});
+ v@up = N_offset * {0,1,0};
+ }
+ p@orient = quaternion(maketransform(v@N, v@up));
+}" )
+exportlist [ 0 locks=0 ] ( * )
+vex_strict [ 0 locks=0 ] ( "off" )
+autobind [ 0 locks=0 ] ( "on" )
+bindings [ 0 locks=0 ] ( 0 )
+groupautobind [ 0 locks=0 ] ( "on" )
+groupbindings [ 0 locks=0 ] ( 0 )
+vex_cwdpath [ 0 locks=0 ] ( . )
+vex_outputmask [ 0 locks=0 ] ( * )
+vex_updatenmls [ 0 locks=0 ] ( "off" )
+vex_matchattrib [ 0 locks=0 ] ( id )
+vex_inplace [ 0 locks=0 ] ( "off" )
+vex_selectiongroup [ 0 locks=0 ] ( "" )
+vex_precision [ 0 locks=0 ] ( auto )
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/create_default_orient.userdata"
+Content-Type: text/plain
+
+{
+ "___Version___":{
+ "type":"string",
+ "value":""
+ }
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/recreate_orient1.init"
+Content-Type: text/plain
+
+type = attribwrangle
+matchesdef = 1
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/recreate_orient1.def"
+Content-Type: text/plain
+
+sopflags sopflags =
+comment ""
+position 109.773 1.57162
+connectornextid 2
+flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
+outputsNamed3
+{
+1 "output1"
+}
+inputsNamed3
+{
+0 enumerate6 1 1 "input1"
+}
+inputs
+{
+0 enumerate6 0 1
+}
+stat
+{
+ create 1568917672
+ modify 1586054043
+ author Henry@LAPPY586
+ access 0777
+}
+color UT_Color RGB 0.8 0.8 0.8
+delscript ""
+exprlanguage hscript
+end
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/recreate_orient1.parm"
+Content-Type: text/plain
+
+{
+version 0.8
+folder0 [ 0 locks=0 ] ( 0 0 )
+group [ 0 locks=0 ] ( "" )
+grouptype [ 0 locks=0 ] ( "guess" )
+class [ 0 locks=0 ] ( "point" )
+vex_numcount [ 0 locks=0 ] ( 10 )
+vex_threadjobsize [ 0 locks=0 ] ( 1024 )
+snippet [ 0 locks=0 ] ( "v@N = normalize(v@N);
+v@up = normalize(v@up);
+//p@orient = quaternion(maketransform(v@N, v@up));" )
+exportlist [ 0 locks=0 ] ( * )
+vex_strict [ 0 locks=0 ] ( "off" )
+autobind [ 0 locks=0 ] ( "on" )
+bindings [ 0 locks=0 ] ( 0 )
+groupautobind [ 0 locks=0 ] ( "on" )
+groupbindings [ 0 locks=0 ] ( 0 )
+vex_cwdpath [ 0 locks=0 ] ( . )
+vex_outputmask [ 0 locks=0 ] ( * )
+vex_updatenmls [ 0 locks=0 ] ( "off" )
+vex_matchattrib [ 0 locks=0 ] ( id )
+vex_inplace [ 0 locks=0 ] ( "off" )
+vex_selectiongroup [ 0 locks=0 ] ( "" )
+vex_precision [ 0 locks=0 ] ( auto )
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/recreate_orient1.userdata"
+Content-Type: text/plain
+
+{
+ "___Version___":{
+ "type":"string",
+ "value":""
+ }
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/MOPs_Visualize_Frame.init"
+Content-Type: text/plain
+
+type = MOPS::Visualize_Frame::1.0
+matchesdef = 1
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/MOPs_Visualize_Frame.def"
+Content-Type: text/plain
+
+sopflags sopflags =
+comment ""
+position 102.28 14.3373
+connectornextid 2
+flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
+outputsNamed3
+{
+1 "output1"
+}
+inputsNamed3
+{
+0 create_N_up 1 1 "input1"
+}
+inputs
+{
+0 create_N_up 0 1
+}
+stat
+{
+ create 1569005404
+ modify 1569005646
+ author Henry@LAPPY586
+ access 0777
+}
+color UT_Color RGB 0.8 0.8 0.8
+delscript ""
+exprlanguage hscript
+end
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/MOPs_Visualize_Frame.spareparmdef"
+Content-Type: text/plain
+
+ parm {
+ name "scale"
+ baseparm
+ label "Length Scale"
+ export none
+ }
+ parm {
+ name "node_vis_enabled"
+ label "Visualization Enabled"
+ type toggle
+ invisible
+ default { "1" }
+ }
+ multiparm {
+ name "num_visualizers"
+ label "Visualizers"
+ invisible
+ default 0
+ parmtag { "multistartoffset" "0" }
+
+ parm {
+ name "vis_active#"
+ label "Active #"
+ type toggle
+ invisible
+ default { "0" }
+ }
+ parm {
+ name "vis_data#"
+ label "Raw Data #"
+ type string
+ invisible
+ nolabel
+ default { "" }
+ parmtag { "editor" "1" }
+ }
+ }
+
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/MOPs_Visualize_Frame.parm"
+Content-Type: text/plain
+
+{
+version 0.8
+scale [ 0 locks=0 ] ( 0.080000000000000002 )
+node_vis_enabled [ 0 locks=0 ] ( "on" )
+num_visualizers [ 0 locks=0 ] ( 3 )
+vis_active0 [ 0 locks=0 ] ( "on" )
+vis_data0 [ 0 locks=0 ] ( "{
+ \"flags\":{
+ \"type\":\"int\",
+ \"value\":27
+ },
+ \"icon\":{
+ \"type\":\"string\",
+ \"value\":\"VIEW_visualization_marker\"
+ },
+ \"label\":{
+ \"type\":\"string\",
+ \"value\":\"Marker 1\"
+ },
+ \"name\":{
+ \"type\":\"string\",
+ \"value\":\"vis_marker_1\"
+ },
+ \"parameters\":{
+ \"type\":\"string\",
+ \"value\":\"{\\nversion 0.8\\nstyle\\t[ 0\\tlocks=0 ]\\t(\\t\\\"vector\\\"\\t)\\nclass\\t[ 0\\tlocks=0 ]\\t(\\t\\\"auto\\\"\\t)\\nattrib\\t[ 0\\tlocks=0 ]\\t(\\tN\\t)\\nvisibility\\t[ 0\\tlocks=0 ]\\t(\\t\\\"always\\\"\\t)\\ndecorradius\\t[ 0\\tlocks=0 ]\\t(\\t0.5\\t)\\ngroup\\t[ 0\\tlocks=0 ]\\t(\\t\\\"\\\"\\t)\\npointsize\\t[ 0\\tlocks=0 ]\\t(\\t3\\t)\\nlengthscale\\t[ 0\\tlocks=0 ]\\t(\\t0.080000000000000002\\t)\\nunitlength\\t[ 0\\tlocks=0 ]\\t(\\t1\\t)\\nnormalize\\t[ 0\\tlocks=0 ]\\t(\\t\\\"off\\\"\\t)\\narrowheads\\t[ 0\\tlocks=0 ]\\t(\\t\\\"off\\\"\\t)\\nvectorcoloring\\t[ 0\\tlocks=0 ]\\t(\\t\\\"fixed\\\"\\t)\\ncolorattrib\\t[ 0\\tlocks=0 ]\\t(\\tCd\\t)\\nramptype\\t[ 0\\tlocks=0 ]\\t(\\t\\\"false\\\"\\t)\\ncolorramp\\t[ 0\\tlocks=0 ]\\t(\\t2\\t)\\nrangespec\\t[ 0\\tlocks=0 ]\\t(\\t\\\"min-max\\\"\\t)\\nminscalar\\t[ 0\\tlocks=0 ]\\t(\\t0\\t)\\nmaxscalar\\t[ 0\\tlocks=0 ]\\t(\\t1\\t)\\ncenterscalar\\t[ 0\\tlocks=0 ]\\t(\\t0\\t)\\nwidthscalar\\t[ 0\\tlocks=0 ]\\t(\\t1\\t)\\nclamptype\\t[ 0\\tlocks=0 ]\\t(\\t\\\"edge\\\"\\t)\\ntreatasscalar\\t[ 0\\tlocks=0 ]\\t(\\t\\\"off\\\"\\t)\\nusing\\t[ 0\\tlocks=0 ]\\t(\\t\\\"comp\\\"\\t)\\ncomponent\\t[ 0\\tlocks=0 ]\\t(\\t0\\t)\\nrefvec\\t[ 0\\tlocks=0 ]\\t(\\t0\\t1\\t0\\t)\\nmarkercolor\\t[ 0\\tlocks=0 ]\\t(\\t0\\t0\\t1\\t1\\t)\\ntrail\\t[ 0\\tlocks=0 ]\\t(\\t1\\t1\\t0\\t0.5\\t)\\ntextcolor\\t[ 0\\tlocks=0 ]\\t(\\t0.25\\t0.75\\t0.75\\t)\\nfontsize\\t[ 0\\tlocks=0 ]\\t(\\t\\\"guidefont\\\"\\t)\\nxcolor\\t[ 0\\tlocks=0 ]\\t(\\t1\\t0\\t0\\t1\\t)\\nycolor\\t[ 0\\tlocks=0 ]\\t(\\t0\\t1\\t0\\t1\\t)\\nzcolor\\t[ 0\\tlocks=0 ]\\t(\\t0\\t0\\t1\\t1\\t)\\ncolorramp1pos\\t[ 0\\tlocks=0 ]\\t(\\t0\\t)\\ncolorramp1c\\t[ 0\\tlocks=0 ]\\t(\\t0\\t0\\t1\\t)\\ncolorramp1interp\\t[ 0\\tlocks=0 ]\\t(\\t\\\"linear\\\"\\t)\\ncolorramp2pos\\t[ 0\\tlocks=0 ]\\t(\\t1\\t)\\ncolorramp2c\\t[ 0\\tlocks=0 ]\\t(\\t1\\t0\\t0\\t)\\ncolorramp2interp\\t[ 0\\tlocks=0 ]\\t(\\t\\\"linear\\\"\\t)\\n}\\n\"},
+
+ \"scope\":{
+ \"type\":\"int\",
+ \"value\":2
+ },
+ \"type\":{
+ \"type\":\"string\",
+ \"value\":\"vis_marker\"
+ }
+}
+" )
+vis_active1 [ 0 locks=0 ] ( "on" )
+vis_data1 [ 0 locks=0 ] ( "{
+ \"flags\":{
+ \"type\":\"int\",
+ \"value\":27
+ },
+ \"icon\":{
+ \"type\":\"string\",
+ \"value\":\"VIEW_visualization_marker\"
+ },
+ \"label\":{
+ \"type\":\"string\",
+ \"value\":\"Marker 2\"
+ },
+ \"name\":{
+ \"type\":\"string\",
+ \"value\":\"vis_marker_2\"
+ },
+ \"parameters\":{
+ \"type\":\"string\",
+ \"value\":\"{\\nversion 0.8\\nstyle\\t[ 0\\tlocks=0 ]\\t(\\t\\\"vector\\\"\\t)\\nclass\\t[ 0\\tlocks=0 ]\\t(\\t\\\"auto\\\"\\t)\\nattrib\\t[ 0\\tlocks=0 ]\\t(\\tup\\t)\\nvisibility\\t[ 0\\tlocks=0 ]\\t(\\t\\\"always\\\"\\t)\\ndecorradius\\t[ 0\\tlocks=0 ]\\t(\\t0.5\\t)\\ngroup\\t[ 0\\tlocks=0 ]\\t(\\t\\\"\\\"\\t)\\npointsize\\t[ 0\\tlocks=0 ]\\t(\\t3\\t)\\nlengthscale\\t[ 0\\tlocks=0 ]\\t(\\t0.080000000000000002\\t)\\nunitlength\\t[ 0\\tlocks=0 ]\\t(\\t1\\t)\\nnormalize\\t[ 0\\tlocks=0 ]\\t(\\t\\\"off\\\"\\t)\\narrowheads\\t[ 0\\tlocks=0 ]\\t(\\t\\\"off\\\"\\t)\\nvectorcoloring\\t[ 0\\tlocks=0 ]\\t(\\t\\\"fixed\\\"\\t)\\ncolorattrib\\t[ 0\\tlocks=0 ]\\t(\\tCd\\t)\\nramptype\\t[ 0\\tlocks=0 ]\\t(\\t\\\"false\\\"\\t)\\ncolorramp\\t[ 0\\tlocks=0 ]\\t(\\t2\\t)\\nrangespec\\t[ 0\\tlocks=0 ]\\t(\\t\\\"min-max\\\"\\t)\\nminscalar\\t[ 0\\tlocks=0 ]\\t(\\t0\\t)\\nmaxscalar\\t[ 0\\tlocks=0 ]\\t(\\t1\\t)\\ncenterscalar\\t[ 0\\tlocks=0 ]\\t(\\t0\\t)\\nwidthscalar\\t[ 0\\tlocks=0 ]\\t(\\t1\\t)\\nclamptype\\t[ 0\\tlocks=0 ]\\t(\\t\\\"edge\\\"\\t)\\ntreatasscalar\\t[ 0\\tlocks=0 ]\\t(\\t\\\"off\\\"\\t)\\nusing\\t[ 0\\tlocks=0 ]\\t(\\t\\\"comp\\\"\\t)\\ncomponent\\t[ 0\\tlocks=0 ]\\t(\\t0\\t)\\nrefvec\\t[ 0\\tlocks=0 ]\\t(\\t0\\t1\\t0\\t)\\nmarkercolor\\t[ 0\\tlocks=0 ]\\t(\\t0\\t1\\t0\\t1\\t)\\ntrail\\t[ 0\\tlocks=0 ]\\t(\\t1\\t1\\t0\\t0.5\\t)\\ntextcolor\\t[ 0\\tlocks=0 ]\\t(\\t0.25\\t0.75\\t0.75\\t)\\nfontsize\\t[ 0\\tlocks=0 ]\\t(\\t\\\"guidefont\\\"\\t)\\nxcolor\\t[ 0\\tlocks=0 ]\\t(\\t1\\t0\\t0\\t1\\t)\\nycolor\\t[ 0\\tlocks=0 ]\\t(\\t0\\t1\\t0\\t1\\t)\\nzcolor\\t[ 0\\tlocks=0 ]\\t(\\t0\\t0\\t1\\t1\\t)\\ncolorramp1pos\\t[ 0\\tlocks=0 ]\\t(\\t0\\t)\\ncolorramp1c\\t[ 0\\tlocks=0 ]\\t(\\t0\\t0\\t1\\t)\\ncolorramp1interp\\t[ 0\\tlocks=0 ]\\t(\\t\\\"linear\\\"\\t)\\ncolorramp2pos\\t[ 0\\tlocks=0 ]\\t(\\t1\\t)\\ncolorramp2c\\t[ 0\\tlocks=0 ]\\t(\\t1\\t0\\t0\\t)\\ncolorramp2interp\\t[ 0\\tlocks=0 ]\\t(\\t\\\"linear\\\"\\t)\\n}\\n\"},
+
+ \"scope\":{
+ \"type\":\"int\",
+ \"value\":2
+ },
+ \"type\":{
+ \"type\":\"string\",
+ \"value\":\"vis_marker\"
+ }
+}
+" )
+vis_active2 [ 0 locks=0 ] ( "on" )
+vis_data2 [ 0 locks=0 ] ( "{
+ \"flags\":{
+ \"type\":\"int\",
+ \"value\":27
+ },
+ \"icon\":{
+ \"type\":\"string\",
+ \"value\":\"VIEW_visualization_marker\"
+ },
+ \"label\":{
+ \"type\":\"string\",
+ \"value\":\"Marker 3\"
+ },
+ \"name\":{
+ \"type\":\"string\",
+ \"value\":\"vis_marker_3\"
+ },
+ \"parameters\":{
+ \"type\":\"string\",
+ \"value\":\"{\\nversion 0.8\\nstyle\\t[ 0\\tlocks=0 ]\\t(\\t\\\"vector\\\"\\t)\\nclass\\t[ 0\\tlocks=0 ]\\t(\\t\\\"auto\\\"\\t)\\nattrib\\t[ 0\\tlocks=0 ]\\t(\\tbinormal\\t)\\nvisibility\\t[ 0\\tlocks=0 ]\\t(\\t\\\"always\\\"\\t)\\ndecorradius\\t[ 0\\tlocks=0 ]\\t(\\t0.5\\t)\\ngroup\\t[ 0\\tlocks=0 ]\\t(\\t\\\"\\\"\\t)\\npointsize\\t[ 0\\tlocks=0 ]\\t(\\t3\\t)\\nlengthscale\\t[ 0\\tlocks=0 ]\\t(\\t0.080000000000000002\\t)\\nunitlength\\t[ 0\\tlocks=0 ]\\t(\\t1\\t)\\nnormalize\\t[ 0\\tlocks=0 ]\\t(\\t\\\"off\\\"\\t)\\narrowheads\\t[ 0\\tlocks=0 ]\\t(\\t\\\"off\\\"\\t)\\nvectorcoloring\\t[ 0\\tlocks=0 ]\\t(\\t\\\"fixed\\\"\\t)\\ncolorattrib\\t[ 0\\tlocks=0 ]\\t(\\tCd\\t)\\nramptype\\t[ 0\\tlocks=0 ]\\t(\\t\\\"false\\\"\\t)\\ncolorramp\\t[ 0\\tlocks=0 ]\\t(\\t2\\t)\\nrangespec\\t[ 0\\tlocks=0 ]\\t(\\t\\\"min-max\\\"\\t)\\nminscalar\\t[ 0\\tlocks=0 ]\\t(\\t0\\t)\\nmaxscalar\\t[ 0\\tlocks=0 ]\\t(\\t1\\t)\\ncenterscalar\\t[ 0\\tlocks=0 ]\\t(\\t0\\t)\\nwidthscalar\\t[ 0\\tlocks=0 ]\\t(\\t1\\t)\\nclamptype\\t[ 0\\tlocks=0 ]\\t(\\t\\\"edge\\\"\\t)\\ntreatasscalar\\t[ 0\\tlocks=0 ]\\t(\\t\\\"off\\\"\\t)\\nusing\\t[ 0\\tlocks=0 ]\\t(\\t\\\"comp\\\"\\t)\\ncomponent\\t[ 0\\tlocks=0 ]\\t(\\t0\\t)\\nrefvec\\t[ 0\\tlocks=0 ]\\t(\\t0\\t1\\t0\\t)\\nmarkercolor\\t[ 0\\tlocks=0 ]\\t(\\t1\\t0\\t0\\t1\\t)\\ntrail\\t[ 0\\tlocks=0 ]\\t(\\t1\\t1\\t0\\t0.5\\t)\\ntextcolor\\t[ 0\\tlocks=0 ]\\t(\\t0.25\\t0.75\\t0.75\\t)\\nfontsize\\t[ 0\\tlocks=0 ]\\t(\\t\\\"guidefont\\\"\\t)\\nxcolor\\t[ 0\\tlocks=0 ]\\t(\\t1\\t0\\t0\\t1\\t)\\nycolor\\t[ 0\\tlocks=0 ]\\t(\\t0\\t1\\t0\\t1\\t)\\nzcolor\\t[ 0\\tlocks=0 ]\\t(\\t0\\t0\\t1\\t1\\t)\\ncolorramp1pos\\t[ 0\\tlocks=0 ]\\t(\\t0\\t)\\ncolorramp1c\\t[ 0\\tlocks=0 ]\\t(\\t0\\t0\\t1\\t)\\ncolorramp1interp\\t[ 0\\tlocks=0 ]\\t(\\t\\\"linear\\\"\\t)\\ncolorramp2pos\\t[ 0\\tlocks=0 ]\\t(\\t1\\t)\\ncolorramp2c\\t[ 0\\tlocks=0 ]\\t(\\t1\\t0\\t0\\t)\\ncolorramp2interp\\t[ 0\\tlocks=0 ]\\t(\\t\\\"linear\\\"\\t)\\n}\\n\"},
+
+ \"scope\":{
+ \"type\":\"int\",
+ \"value\":2
+ },
+ \"type\":{
+ \"type\":\"string\",
+ \"value\":\"vis_marker\"
+ }
+}
+" )
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/MOPs_Visualize_Frame.userdata"
+Content-Type: text/plain
+
+{
+ "___Version___":{
+ "type":"string",
+ "value":""
+ }
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/rebuild_interpolated_orient.init"
+Content-Type: text/plain
+
+type = attribwrangle
+matchesdef = 1
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/rebuild_interpolated_orient.def"
+Content-Type: text/plain
+
+sopflags sopflags =
+comment ""
+position 78.7796 -38.9311
+connectornextid 2
+flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
+outputsNamed3
+{
+1 "output1"
+}
+inputsNamed3
+{
+0 attribinterpolate1 2 1 "input1"
+}
+inputs
+{
+0 attribinterpolate1 0 1
+}
+stat
+{
+ create 1569005739
+ modify 1586055239
+ author Henry@LAPPY586
+ access 0777
+}
+color UT_Color RGB 0.8 0.8 0.8
+delscript ""
+exprlanguage hscript
+end
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/rebuild_interpolated_orient.parm"
+Content-Type: text/plain
+
+{
+version 0.8
+folder0 [ 0 locks=0 ] ( 0 0 )
+group [ 0 locks=0 ] ( "" )
+grouptype [ 0 locks=0 ] ( "guess" )
+class [ 0 locks=0 ] ( "point" )
+vex_numcount [ 0 locks=0 ] ( 10 )
+vex_threadjobsize [ 0 locks=0 ] ( 1024 )
+snippet [ 0 locks=0 ] ( "// attribute interpolate doesn't seem to care for orient.
+// rebuild it from N/up here.
+
+p@orient = quaternion(maketransform(v@N, v@up));" )
+exportlist [ 0 locks=0 ] ( * )
+vex_strict [ 0 locks=0 ] ( "off" )
+autobind [ 0 locks=0 ] ( "on" )
+bindings [ 0 locks=0 ] ( 0 )
+groupautobind [ 0 locks=0 ] ( "on" )
+groupbindings [ 0 locks=0 ] ( 0 )
+vex_cwdpath [ 0 locks=0 ] ( . )
+vex_outputmask [ 0 locks=0 ] ( * )
+vex_updatenmls [ 0 locks=0 ] ( "off" )
+vex_matchattrib [ 0 locks=0 ] ( id )
+vex_inplace [ 0 locks=0 ] ( "off" )
+vex_selectiongroup [ 0 locks=0 ] ( "" )
+vex_precision [ 0 locks=0 ] ( auto )
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/rebuild_interpolated_orient.userdata"
+Content-Type: text/plain
+
+{
+ "___Version___":{
+ "type":"string",
+ "value":""
+ }
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/pointwrangle13.init"
+Content-Type: text/plain
+
+type = attribwrangle
+matchesdef = 1
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/pointwrangle13.def"
+Content-Type: text/plain
+
+sopflags sopflags =
+comment ""
+position 68.1734 1.26849
+connectornextid 2
+flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
+outputsNamed3
+{
+1 "output1"
+}
+inputsNamed3
+{
+0 MOPs_Orient_Curve1 1 1 "input1"
+}
+inputs
+{
+0 MOPs_Orient_Curve1 0 1
+}
+stat
+{
+ create 1569084328
+ modify 1586054043
+ author Henry@LAPPY586
+ access 0777
+}
+color UT_Color RGB 0.8 0.8 0.8
+delscript ""
+exprlanguage hscript
+end
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/pointwrangle13.spareparmdef"
+Content-Type: text/plain
+
+ group {
+ name "folder1"
+ label "Code"
+
+ parm {
+ name "group"
+ baseparm
+ label "Group"
+ export none
+ bindselector points "Modify Points"
+ "Select the points to affect and press Enter to complete."
+ 0 1 0xffffffff 0 grouptype 0
+ }
+ parm {
+ name "grouptype"
+ baseparm
+ label "Group Type"
+ export none
+ }
+ parm {
+ name "class"
+ baseparm
+ label "Run Over"
+ export none
+ }
+ parm {
+ name "vex_numcount"
+ baseparm
+ label "Number Count"
+ export none
+ }
+ parm {
+ name "vex_threadjobsize"
+ baseparm
+ label "Thread Job Size"
+ export none
+ }
+ parm {
+ name "snippet"
+ baseparm
+ label "VEXpression"
+ export all
+ }
+ parm {
+ name "exportlist"
+ baseparm
+ label "Attributes to Create"
+ export none
+ }
+ parm {
+ name "vex_strict"
+ baseparm
+ label "Enforce Prototypes"
+ export none
+ }
+ }
+
+ group {
+ name "folder1_1"
+ label "Bindings"
+
+ parm {
+ name "autobind"
+ baseparm
+ label "Autobind by Name"
+ export none
+ }
+ multiparm {
+ name "bindings"
+ label "Number of Bindings"
+ baseparm
+ default 0
+ parmtag { "autoscope" "0000000000000000" }
+ parmtag { "multistartoffset" "1" }
+
+ parm {
+ name "bindname#"
+ baseparm
+ label "Attribute Name"
+ export none
+ }
+ parm {
+ name "bindparm#"
+ baseparm
+ label "VEX Parameter"
+ export none
+ }
+ }
+
+ parm {
+ name "groupautobind"
+ baseparm
+ label "Autobind Groups by Name"
+ export none
+ }
+ multiparm {
+ name "groupbindings"
+ label "Group Bindings"
+ baseparm
+ default 0
+ parmtag { "autoscope" "0000000000000000" }
+ parmtag { "multistartoffset" "1" }
+
+ parm {
+ name "bindgroupname#"
+ baseparm
+ label "Group Name"
+ export none
+ }
+ parm {
+ name "bindgroupparm#"
+ baseparm
+ label "VEX Parameter"
+ export none
+ }
+ }
+
+ parm {
+ name "vex_cwdpath"
+ baseparm
+ label "Evaluation Node Path"
+ export none
+ }
+ parm {
+ name "vex_outputmask"
+ baseparm
+ label "Export Parameters"
+ export none
+ }
+ parm {
+ name "vex_updatenmls"
+ baseparm
+ label "Update Normals If Displaced"
+ export none
+ }
+ parm {
+ name "vex_matchattrib"
+ baseparm
+ label "Attribute to Match"
+ export none
+ }
+ parm {
+ name "vex_inplace"
+ baseparm
+ label "Compute Results In Place"
+ export none
+ }
+ parm {
+ name "vex_selectiongroup"
+ baseparm
+ label "Output Selection Group"
+ export none
+ }
+ }
+
+ parm {
+ name "invert"
+ label "Invert"
+ type integer
+ default { "0" }
+ range { 0 10 }
+ }
+ parm {
+ name "center"
+ label "Center"
+ type vector
+ size 3
+ default { "0" "0" "0" }
+ range { 0 1 }
+ }
+ parm {
+ name "vex_precision"
+ baseparm
+ label "VEX Precision"
+ export none
+ }
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/pointwrangle13.chn"
+Content-Type: text/plain
+
+{
+ channel invert {
+ lefttype = extend
+ righttype = extend
+ flags = 0
+ segment { length = 0 expr = ch(\"../distro_radial_invert\") }
+ }
+ }
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/pointwrangle13.parm"
+Content-Type: text/plain
+
+{
+version 0.8
+folder0 [ 0 locks=0 ] ( 0 0 )
+group [ 0 locks=0 ] ( "" )
+grouptype [ 0 locks=0 ] ( "guess" )
+class [ 0 locks=0 ] ( "point" )
+vex_numcount [ 0 locks=0 ] ( 10 )
+vex_threadjobsize [ 0 locks=0 ] ( 1024 )
+snippet [ 0 locks=0 ] ( "vector center = chv(\"center\");
+v@N = normalize(@P - center);
+matrix3 m = qconvert(p@orient);
+v@up = m * {0,1,0};
+if(chi(\"invert\")) {
+ v@N *= -1;
+} else {
+ v@up *= -1;
+}
+p@orient = quaternion(maketransform(v@N, v@up));" )
+exportlist [ 0 locks=0 ] ( * )
+vex_strict [ 0 locks=0 ] ( "off" )
+autobind [ 0 locks=0 ] ( "on" )
+bindings [ 0 locks=0 ] ( 0 )
+groupautobind [ 0 locks=0 ] ( "on" )
+groupbindings [ 0 locks=0 ] ( 0 )
+vex_cwdpath [ 0 locks=0 ] ( . )
+vex_outputmask [ 0 locks=0 ] ( * )
+vex_updatenmls [ 0 locks=0 ] ( "off" )
+vex_matchattrib [ 0 locks=0 ] ( id )
+vex_inplace [ 0 locks=0 ] ( "off" )
+vex_selectiongroup [ 0 locks=0 ] ( "" )
+vex_precision [ 0 locks=0 ] ( auto )
+folder1 [ 0 locks=0 ] ( 0 0 )
+invert [ 0 locks=0 ] ( [ invert 1 ] )
+center [ 0 locks=0 ] ( 0 0 0 )
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/pointwrangle13.userdata"
+Content-Type: text/plain
+
+{
+ "___Version___":{
+ "type":"string",
+ "value":""
+ }
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/generate_points_at_centroids.init"
+Content-Type: text/plain
+
+type = attribwrangle
+matchesdef = 1
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/generate_points_at_centroids.def"
+Content-Type: text/plain
+
+sopflags sopflags =
+comment ""
+position 105.77 8.49866
+connectornextid 2
+flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
+outputsNamed3
+{
+1 "output1"
+}
+inputsNamed3
+{
+0 compile_begin3 0 1 "input1"
+}
+inputs
+{
+0 compile_begin3 0 1
+}
+stat
+{
+ create 1569390549
+ modify 1586054043
+ author Henry@LAPPY586
+ access 0777
+}
+color UT_Color RGB 0.8 0.8 0.8
+delscript ""
+exprlanguage hscript
+end
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/generate_points_at_centroids.parm"
+Content-Type: text/plain
+
+{
+version 0.8
+folder0 [ 0 locks=0 ] ( 0 0 )
+group [ 0 locks=0 ] ( "" )
+grouptype [ 0 locks=0 ] ( "guess" )
+class [ 0 locks=0 ] ( "primitive" )
+vex_numcount [ 0 locks=0 ] ( 10 )
+vex_threadjobsize [ 0 locks=0 ] ( 1024 )
+snippet [ 0 locks=0 ] ( "int pts[] = primpoints(0, @primnum);
+vector barycenter = {0.5, 0.5, 0.5};
+if(len(pts) == 3) {
+ barycenter = {0.333, 0.333, 0.333};
+}
+int newpt = addpoint(0, @P);
+setpointattrib(0, \"__sourceprimuv\", newpt, barycenter, \"set\");
+setpointattrib(0, \"__sourceprim\", newpt, @primnum, \"set\");
+setpointgroup(0, \"newpoints\", newpt, 1, \"set\");
+" )
+exportlist [ 0 locks=0 ] ( * )
+vex_strict [ 0 locks=0 ] ( "off" )
+autobind [ 0 locks=0 ] ( "on" )
+bindings [ 0 locks=0 ] ( 0 )
+groupautobind [ 0 locks=0 ] ( "on" )
+groupbindings [ 0 locks=0 ] ( 0 )
+vex_cwdpath [ 0 locks=0 ] ( . )
+vex_outputmask [ 0 locks=0 ] ( * )
+vex_updatenmls [ 0 locks=0 ] ( "off" )
+vex_matchattrib [ 0 locks=0 ] ( id )
+vex_inplace [ 0 locks=0 ] ( "off" )
+vex_selectiongroup [ 0 locks=0 ] ( "" )
+vex_precision [ 0 locks=0 ] ( auto )
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/generate_points_at_centroids.userdata"
+Content-Type: text/plain
+
+{
+ "___Version___":{
+ "type":"string",
+ "value":""
+ }
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/generate_points_at_centroids1.init"
+Content-Type: text/plain
+
+type = attribwrangle
+matchesdef = 1
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/generate_points_at_centroids1.def"
+Content-Type: text/plain
+
+sopflags sopflags =
+comment ""
+position 108.922 6.28585
+connectornextid 2
+flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
+outputsNamed3
+{
+1 "output1"
+}
+inputsNamed3
+{
+0 convertline2 1 1 "input1"
+}
+inputs
+{
+0 convertline2 0 1
+}
+stat
+{
+ create 1569390549
+ modify 1586054043
+ author Henry@LAPPY586
+ access 0777
+}
+color UT_Color RGB 0.8 0.8 0.8
+delscript ""
+exprlanguage hscript
+end
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/generate_points_at_centroids1.parm"
+Content-Type: text/plain
+
+{
+version 0.8
+folder0 [ 0 locks=0 ] ( 0 0 )
+group [ 0 locks=0 ] ( "" )
+grouptype [ 0 locks=0 ] ( "guess" )
+class [ 0 locks=0 ] ( "primitive" )
+vex_numcount [ 0 locks=0 ] ( 10 )
+vex_threadjobsize [ 0 locks=0 ] ( 1024 )
+snippet [ 0 locks=0 ] ( "int newpt = addpoint(0, @P);
+setpointattrib(0, \"__sourceprim\", newpt, @primnum, \"set\");
+setpointattrib(0, \"__sourceprimuv\", newpt, set(0.5, 0.5, 0.5), \"set\");
+setpointgroup(0, \"newpoints\", newpt, 1, \"set\");
+" )
+exportlist [ 0 locks=0 ] ( * )
+vex_strict [ 0 locks=0 ] ( "off" )
+autobind [ 0 locks=0 ] ( "on" )
+bindings [ 0 locks=0 ] ( 0 )
+groupautobind [ 0 locks=0 ] ( "on" )
+groupbindings [ 0 locks=0 ] ( 0 )
+vex_cwdpath [ 0 locks=0 ] ( . )
+vex_outputmask [ 0 locks=0 ] ( * )
+vex_updatenmls [ 0 locks=0 ] ( "off" )
+vex_matchattrib [ 0 locks=0 ] ( id )
+vex_inplace [ 0 locks=0 ] ( "off" )
+vex_selectiongroup [ 0 locks=0 ] ( "" )
+vex_precision [ 0 locks=0 ] ( auto )
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/generate_points_at_centroids1.userdata"
+Content-Type: text/plain
+
+{
+ "___Version___":{
+ "type":"string",
+ "value":""
+ }
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/pointwrangle1.init"
+Content-Type: text/plain
+
+type = attribwrangle
+matchesdef = 1
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/pointwrangle1.def"
+Content-Type: text/plain
+
+sopflags sopflags =
+comment ""
+position 75.8165 -37.4338
+connectornextid 2
+flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
+outputsNamed3
+{
+1 "output1"
+}
+inputsNamed3
+{
+0 define_name_attr 1 1 "input1"
+}
+inputs
+{
+0 define_name_attr 0 1
+}
+stat
+{
+ create 1569470295
+ modify 1586055239
+ author Henry@LAPPY586
+ access 0777
+}
+color UT_Color RGB 0.8 0.8 0.8
+delscript ""
+exprlanguage hscript
+end
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/pointwrangle1.parm"
+Content-Type: text/plain
+
+{
+version 0.8
+folder0 [ 0 locks=0 ] ( 0 0 )
+group [ 0 locks=0 ] ( "" )
+grouptype [ 0 locks=0 ] ( "guess" )
+class [ 0 locks=0 ] ( "point" )
+vex_numcount [ 0 locks=0 ] ( 10 )
+vex_threadjobsize [ 0 locks=0 ] ( 1024 )
+snippet [ 0 locks=0 ] ( "f@mops_falloff = 1;
+" )
+exportlist [ 0 locks=0 ] ( * )
+vex_strict [ 0 locks=0 ] ( "off" )
+autobind [ 0 locks=0 ] ( "on" )
+bindings [ 0 locks=0 ] ( 0 )
+groupautobind [ 0 locks=0 ] ( "on" )
+groupbindings [ 0 locks=0 ] ( 0 )
+vex_cwdpath [ 0 locks=0 ] ( . )
+vex_outputmask [ 0 locks=0 ] ( * )
+vex_updatenmls [ 0 locks=0 ] ( "off" )
+vex_matchattrib [ 0 locks=0 ] ( id )
+vex_inplace [ 0 locks=0 ] ( "off" )
+vex_selectiongroup [ 0 locks=0 ] ( "" )
+vex_precision [ 0 locks=0 ] ( auto )
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/pointwrangle1.userdata"
+Content-Type: text/plain
+
+{
+ "___Version___":{
+ "type":"string",
+ "value":""
+ }
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/define_objpath.init"
+Content-Type: text/plain
+
+type = attribwrangle
+matchesdef = 1
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/define_objpath.def"
+Content-Type: text/plain
+
+sopflags sopflags =
+comment ""
+position 67.3158 -40.8116
+connectornextid 2
+flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
+outputsNamed3
+{
+1 "output1"
+}
+inputsNamed3
+{
+0 transform8 1 1 "input1"
+}
+inputs
+{
+0 transform8 0 1
+}
+stat
+{
+ create 1570128391
+ modify 1586055239
+ author Henry@LAPPY586
+ access 0777
+}
+color UT_Color RGB 0.8 0.8 0.8
+delscript ""
+exprlanguage hscript
+end
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/define_objpath.spareparmdef"
+Content-Type: text/plain
+
+ group {
+ name "folder1"
+ label "Code"
+
+ parm {
+ name "group"
+ baseparm
+ label "Group"
+ export none
+ bindselector points "Modify Points"
+ "Select the points to affect and press Enter to complete."
+ 0 1 0xffffffff 0 grouptype 0
+ }
+ parm {
+ name "grouptype"
+ baseparm
+ label "Group Type"
+ export none
+ }
+ parm {
+ name "class"
+ baseparm
+ label "Run Over"
+ export none
+ }
+ parm {
+ name "vex_numcount"
+ baseparm
+ label "Number Count"
+ export none
+ }
+ parm {
+ name "vex_threadjobsize"
+ baseparm
+ label "Thread Job Size"
+ export none
+ }
+ parm {
+ name "snippet"
+ baseparm
+ label "VEXpression"
+ export all
+ }
+ parm {
+ name "exportlist"
+ baseparm
+ label "Attributes to Create"
+ export none
+ }
+ parm {
+ name "vex_strict"
+ baseparm
+ label "Enforce Prototypes"
+ export none
+ }
+ }
+
+ group {
+ name "folder1_1"
+ label "Bindings"
+
+ parm {
+ name "autobind"
+ baseparm
+ label "Autobind by Name"
+ export none
+ }
+ multiparm {
+ name "bindings"
+ label "Number of Bindings"
+ baseparm
+ default 0
+ parmtag { "autoscope" "0000000000000000" }
+ parmtag { "multistartoffset" "1" }
+
+ parm {
+ name "bindname#"
+ baseparm
+ label "Attribute Name"
+ export none
+ }
+ parm {
+ name "bindparm#"
+ baseparm
+ label "VEX Parameter"
+ export none
+ }
+ }
+
+ parm {
+ name "groupautobind"
+ baseparm
+ label "Autobind Groups by Name"
+ export none
+ }
+ multiparm {
+ name "groupbindings"
+ label "Group Bindings"
+ baseparm
+ default 0
+ parmtag { "autoscope" "0000000000000000" }
+ parmtag { "multistartoffset" "1" }
+
+ parm {
+ name "bindgroupname#"
+ baseparm
+ label "Group Name"
+ export none
+ }
+ parm {
+ name "bindgroupparm#"
+ baseparm
+ label "VEX Parameter"
+ export none
+ }
+ }
+
+ parm {
+ name "vex_cwdpath"
+ baseparm
+ label "Evaluation Node Path"
+ export none
+ }
+ parm {
+ name "vex_outputmask"
+ baseparm
+ label "Export Parameters"
+ export none
+ }
+ parm {
+ name "vex_updatenmls"
+ baseparm
+ label "Update Normals If Displaced"
+ export none
+ }
+ parm {
+ name "vex_matchattrib"
+ baseparm
+ label "Attribute to Match"
+ export none
+ }
+ parm {
+ name "vex_inplace"
+ baseparm
+ label "Compute Results In Place"
+ export none
+ }
+ parm {
+ name "vex_selectiongroup"
+ baseparm
+ label "Output Selection Group"
+ export none
+ }
+ }
+
+ parm {
+ name "spare_input0"
+ label "Spare Input 0"
+ type oppath
+ default { "" }
+ help "Refer to this in expressions as -1, such as: npoint(-1)"
+ parmtag { "opfilter" "!!SOP!!" }
+ parmtag { "oprelative" "." }
+ }
+ parm {
+ name "vex_precision"
+ baseparm
+ label "VEX Precision"
+ export none
+ }
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/define_objpath.parm"
+Content-Type: text/plain
+
+{
+version 0.8
+folder0 [ 0 locks=0 ] ( 0 0 )
+group [ 0 locks=0 ] ( "" )
+grouptype [ 0 locks=0 ] ( "guess" )
+class [ 0 locks=0 ] ( "point" )
+vex_numcount [ 0 locks=0 ] ( 10 )
+vex_threadjobsize [ 0 locks=0 ] ( 1024 )
+snippet [ 0 locks=0 ] ( "string objpath = chs(\"../instancepath\" + itoa((detail(-1, \"value\", 0)+1)));
+if(objpath[0:3] == \"../\") {
+ objpath = \"../\"+objpath;
+}
+s@objpath = \"op:\"+opfullpath(objpath);" )
+exportlist [ 0 locks=0 ] ( * )
+vex_strict [ 0 locks=0 ] ( "off" )
+autobind [ 0 locks=0 ] ( "on" )
+bindings [ 0 locks=0 ] ( 0 )
+groupautobind [ 0 locks=0 ] ( "on" )
+groupbindings [ 0 locks=0 ] ( 0 )
+vex_cwdpath [ 0 locks=0 ] ( . )
+vex_outputmask [ 0 locks=0 ] ( * )
+vex_updatenmls [ 0 locks=0 ] ( "off" )
+vex_matchattrib [ 0 locks=0 ] ( id )
+vex_inplace [ 0 locks=0 ] ( "off" )
+vex_selectiongroup [ 0 locks=0 ] ( "" )
+vex_precision [ 0 locks=0 ] ( auto )
+folder1 [ 0 locks=0 ] ( 0 0 )
+spare_input0 [ 0 locks=0 ] ( ../foreach_begin1_metadata1 )
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/define_objpath.userdata"
+Content-Type: text/plain
+
+{
+ "___Version___":{
+ "type":"string",
+ "value":""
+ }
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/define_objpath_file.init"
+Content-Type: text/plain
+
+type = attribwrangle
+matchesdef = 1
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/define_objpath_file.def"
+Content-Type: text/plain
+
+sopflags sopflags =
+comment ""
+position 69.7882 -40.5567
+connectornextid 2
+flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
+outputsNamed3
+{
+1 "output1"
+}
+inputsNamed3
+{
+0 transform9 1 1 "input1"
+}
+inputs
+{
+0 transform9 0 1
+}
+stat
+{
+ create 1570128391
+ modify 1586055239
+ author Henry@LAPPY586
+ access 0777
+}
+color UT_Color RGB 0.8 0.8 0.8
+delscript ""
+exprlanguage hscript
+end
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/define_objpath_file.spareparmdef"
+Content-Type: text/plain
+
+ group {
+ name "folder1"
+ label "Code"
+
+ parm {
+ name "group"
+ baseparm
+ label "Group"
+ export none
+ bindselector points "Modify Points"
+ "Select the points to affect and press Enter to complete."
+ 0 1 0xffffffff 0 grouptype 0
+ }
+ parm {
+ name "grouptype"
+ baseparm
+ label "Group Type"
+ export none
+ }
+ parm {
+ name "class"
+ baseparm
+ label "Run Over"
+ export none
+ }
+ parm {
+ name "vex_numcount"
+ baseparm
+ label "Number Count"
+ export none
+ }
+ parm {
+ name "vex_threadjobsize"
+ baseparm
+ label "Thread Job Size"
+ export none
+ }
+ parm {
+ name "snippet"
+ baseparm
+ label "VEXpression"
+ export all
+ }
+ parm {
+ name "exportlist"
+ baseparm
+ label "Attributes to Create"
+ export none
+ }
+ parm {
+ name "vex_strict"
+ baseparm
+ label "Enforce Prototypes"
+ export none
+ }
+ }
+
+ group {
+ name "folder1_1"
+ label "Bindings"
+
+ parm {
+ name "autobind"
+ baseparm
+ label "Autobind by Name"
+ export none
+ }
+ multiparm {
+ name "bindings"
+ label "Number of Bindings"
+ baseparm
+ default 0
+ parmtag { "autoscope" "0000000000000000" }
+ parmtag { "multistartoffset" "1" }
+
+ parm {
+ name "bindname#"
+ baseparm
+ label "Attribute Name"
+ export none
+ }
+ parm {
+ name "bindparm#"
+ baseparm
+ label "VEX Parameter"
+ export none
+ }
+ }
+
+ parm {
+ name "groupautobind"
+ baseparm
+ label "Autobind Groups by Name"
+ export none
+ }
+ multiparm {
+ name "groupbindings"
+ label "Group Bindings"
+ baseparm
+ default 0
+ parmtag { "autoscope" "0000000000000000" }
+ parmtag { "multistartoffset" "1" }
+
+ parm {
+ name "bindgroupname#"
+ baseparm
+ label "Group Name"
+ export none
+ }
+ parm {
+ name "bindgroupparm#"
+ baseparm
+ label "VEX Parameter"
+ export none
+ }
+ }
+
+ parm {
+ name "vex_cwdpath"
+ baseparm
+ label "Evaluation Node Path"
+ export none
+ }
+ parm {
+ name "vex_outputmask"
+ baseparm
+ label "Export Parameters"
+ export none
+ }
+ parm {
+ name "vex_updatenmls"
+ baseparm
+ label "Update Normals If Displaced"
+ export none
+ }
+ parm {
+ name "vex_matchattrib"
+ baseparm
+ label "Attribute to Match"
+ export none
+ }
+ parm {
+ name "vex_inplace"
+ baseparm
+ label "Compute Results In Place"
+ export none
+ }
+ parm {
+ name "vex_selectiongroup"
+ baseparm
+ label "Output Selection Group"
+ export none
+ }
+ }
+
+ parm {
+ name "spare_input0"
+ label "Spare Input 0"
+ type oppath
+ default { "" }
+ help "Refer to this in expressions as -1, such as: npoint(-1)"
+ parmtag { "opfilter" "!!SOP!!" }
+ parmtag { "oprelative" "." }
+ }
+ parm {
+ name "vex_precision"
+ baseparm
+ label "VEX Precision"
+ export none
+ }
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/define_objpath_file.parm"
+Content-Type: text/plain
+
+{
+version 0.8
+folder0 [ 0 locks=0 ] ( 0 0 )
+group [ 0 locks=0 ] ( "" )
+grouptype [ 0 locks=0 ] ( "guess" )
+class [ 0 locks=0 ] ( "point" )
+vex_numcount [ 0 locks=0 ] ( 10 )
+vex_threadjobsize [ 0 locks=0 ] ( 1024 )
+snippet [ 0 locks=0 ] ( "string objpath = chs(\"../instancefilepath\" + itoa((detail(-1, \"value\", 0)+1)));
+s@objpath = objpath;" )
+exportlist [ 0 locks=0 ] ( * )
+vex_strict [ 0 locks=0 ] ( "off" )
+autobind [ 0 locks=0 ] ( "on" )
+bindings [ 0 locks=0 ] ( 0 )
+groupautobind [ 0 locks=0 ] ( "on" )
+groupbindings [ 0 locks=0 ] ( 0 )
+vex_cwdpath [ 0 locks=0 ] ( . )
+vex_outputmask [ 0 locks=0 ] ( * )
+vex_updatenmls [ 0 locks=0 ] ( "off" )
+vex_matchattrib [ 0 locks=0 ] ( id )
+vex_inplace [ 0 locks=0 ] ( "off" )
+vex_selectiongroup [ 0 locks=0 ] ( "" )
+vex_precision [ 0 locks=0 ] ( auto )
+folder1 [ 0 locks=0 ] ( 0 0 )
+spare_input0 [ 0 locks=0 ] ( ../foreach_begin1_metadata1 )
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/define_objpath_file.userdata"
+Content-Type: text/plain
+
+{
+ "___Version___":{
+ "type":"string",
+ "value":""
+ }
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/MOPs_Visualize_Frame1.init"
+Content-Type: text/plain
+
+type = MOPS::Visualize_Frame::1.0
+matchesdef = 1
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/MOPs_Visualize_Frame1.def"
+Content-Type: text/plain
+
+sopflags sopflags =
+comment ""
+position 80.4203 -39.4815
+connectornextid 1
+flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
+outputsNamed3
+{
+}
+inputsNamed3
+{
+0 rebuild_interpolated_orient 1 1 "input1"
+}
+inputs
+{
+0 rebuild_interpolated_orient 0 1
+}
+stat
+{
+ create 1579909387
+ modify 1586055239
+ author Henry@LAPPY586
+ access 0777
+}
+color UT_Color RGB 0.8 0.8 0.8
+delscript ""
+exprlanguage hscript
+end
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/MOPs_Visualize_Frame1.spareparmdef"
+Content-Type: text/plain
+
+ parm {
+ name "scale"
+ baseparm
+ label "Length Scale"
+ export none
+ }
+ parm {
+ name "node_vis_enabled"
+ label "Visualization Enabled"
+ type toggle
+ invisible
+ default { "1" }
+ }
+ multiparm {
+ name "num_visualizers"
+ label "Visualizers"
+ invisible
+ default 0
+ parmtag { "multistartoffset" "0" }
+
+ parm {
+ name "vis_active#"
+ label "Active #"
+ type toggle
+ invisible
+ default { "0" }
+ }
+ parm {
+ name "vis_data#"
+ label "Raw Data #"
+ type string
+ invisible
+ nolabel
+ default { "" }
+ parmtag { "editor" "1" }
+ }
+ }
+
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/MOPs_Visualize_Frame1.parm"
+Content-Type: text/plain
+
+{
+version 0.8
+scale [ 0 locks=0 ] ( 0.17999999999999999 )
+node_vis_enabled [ 0 locks=0 ] ( "on" )
+num_visualizers [ 0 locks=0 ] ( 3 )
+vis_active0 [ 0 locks=0 ] ( "on" )
+vis_data0 [ 0 locks=0 ] ( "{
+ \"flags\":{
+ \"type\":\"int\",
+ \"value\":27
+ },
+ \"icon\":{
+ \"type\":\"string\",
+ \"value\":\"VIEW_visualization_marker\"
+ },
+ \"label\":{
+ \"type\":\"string\",
+ \"value\":\"Marker 1\"
+ },
+ \"name\":{
+ \"type\":\"string\",
+ \"value\":\"vis_marker_1\"
+ },
+ \"parameters\":{
+ \"type\":\"string\",
+ \"value\":\"{\\nversion 0.8\\nstyle\\t[ 0\\tlocks=0 ]\\t(\\t\\\"vector\\\"\\t)\\nclass\\t[ 0\\tlocks=0 ]\\t(\\t\\\"auto\\\"\\t)\\nattrib\\t[ 0\\tlocks=0 ]\\t(\\tN\\t)\\nvisibility\\t[ 0\\tlocks=0 ]\\t(\\t\\\"always\\\"\\t)\\ndecorradius\\t[ 0\\tlocks=0 ]\\t(\\t0.5\\t)\\ngroup\\t[ 0\\tlocks=0 ]\\t(\\t\\\"\\\"\\t)\\npointsize\\t[ 0\\tlocks=0 ]\\t(\\t3\\t)\\nlengthscale\\t[ 0\\tlocks=0 ]\\t(\\t0.17999999999999999\\t)\\nunitlength\\t[ 0\\tlocks=0 ]\\t(\\t1\\t)\\nnormalize\\t[ 0\\tlocks=0 ]\\t(\\t\\\"off\\\"\\t)\\narrowheads\\t[ 0\\tlocks=0 ]\\t(\\t\\\"off\\\"\\t)\\nvectorcoloring\\t[ 0\\tlocks=0 ]\\t(\\t\\\"fixed\\\"\\t)\\ncolorattrib\\t[ 0\\tlocks=0 ]\\t(\\tCd\\t)\\nramptype\\t[ 0\\tlocks=0 ]\\t(\\t\\\"false\\\"\\t)\\ncolorramp\\t[ 0\\tlocks=0 ]\\t(\\t2\\t)\\nrangespec\\t[ 0\\tlocks=0 ]\\t(\\t\\\"min-max\\\"\\t)\\nminscalar\\t[ 0\\tlocks=0 ]\\t(\\t0\\t)\\nmaxscalar\\t[ 0\\tlocks=0 ]\\t(\\t1\\t)\\ncenterscalar\\t[ 0\\tlocks=0 ]\\t(\\t0\\t)\\nwidthscalar\\t[ 0\\tlocks=0 ]\\t(\\t1\\t)\\nclamptype\\t[ 0\\tlocks=0 ]\\t(\\t\\\"edge\\\"\\t)\\ntreatasscalar\\t[ 0\\tlocks=0 ]\\t(\\t\\\"off\\\"\\t)\\nusing\\t[ 0\\tlocks=0 ]\\t(\\t\\\"comp\\\"\\t)\\ncomponent\\t[ 0\\tlocks=0 ]\\t(\\t0\\t)\\nrefvec\\t[ 0\\tlocks=0 ]\\t(\\t0\\t1\\t0\\t)\\nmarkercolor\\t[ 0\\tlocks=0 ]\\t(\\t0\\t0\\t1\\t1\\t)\\ntrail\\t[ 0\\tlocks=0 ]\\t(\\t1\\t1\\t0\\t0.5\\t)\\ntextcolor\\t[ 0\\tlocks=0 ]\\t(\\t0.25\\t0.75\\t0.75\\t)\\nfontsize\\t[ 0\\tlocks=0 ]\\t(\\t\\\"guidefont\\\"\\t)\\nxcolor\\t[ 0\\tlocks=0 ]\\t(\\t1\\t0\\t0\\t1\\t)\\nycolor\\t[ 0\\tlocks=0 ]\\t(\\t0\\t1\\t0\\t1\\t)\\nzcolor\\t[ 0\\tlocks=0 ]\\t(\\t0\\t0\\t1\\t1\\t)\\ncolorramp1pos\\t[ 0\\tlocks=0 ]\\t(\\t0\\t)\\ncolorramp1c\\t[ 0\\tlocks=0 ]\\t(\\t0\\t0\\t1\\t)\\ncolorramp1interp\\t[ 0\\tlocks=0 ]\\t(\\t\\\"linear\\\"\\t)\\ncolorramp2pos\\t[ 0\\tlocks=0 ]\\t(\\t1\\t)\\ncolorramp2c\\t[ 0\\tlocks=0 ]\\t(\\t1\\t0\\t0\\t)\\ncolorramp2interp\\t[ 0\\tlocks=0 ]\\t(\\t\\\"linear\\\"\\t)\\n}\\n\"},
+
+ \"scope\":{
+ \"type\":\"int\",
+ \"value\":2
+ },
+ \"type\":{
+ \"type\":\"string\",
+ \"value\":\"vis_marker\"
+ }
+}
+" )
+vis_active1 [ 0 locks=0 ] ( "on" )
+vis_data1 [ 0 locks=0 ] ( "{
+ \"flags\":{
+ \"type\":\"int\",
+ \"value\":27
+ },
+ \"icon\":{
+ \"type\":\"string\",
+ \"value\":\"VIEW_visualization_marker\"
+ },
+ \"label\":{
+ \"type\":\"string\",
+ \"value\":\"Marker 2\"
+ },
+ \"name\":{
+ \"type\":\"string\",
+ \"value\":\"vis_marker_2\"
+ },
+ \"parameters\":{
+ \"type\":\"string\",
+ \"value\":\"{\\nversion 0.8\\nstyle\\t[ 0\\tlocks=0 ]\\t(\\t\\\"vector\\\"\\t)\\nclass\\t[ 0\\tlocks=0 ]\\t(\\t\\\"auto\\\"\\t)\\nattrib\\t[ 0\\tlocks=0 ]\\t(\\tup\\t)\\nvisibility\\t[ 0\\tlocks=0 ]\\t(\\t\\\"always\\\"\\t)\\ndecorradius\\t[ 0\\tlocks=0 ]\\t(\\t0.5\\t)\\ngroup\\t[ 0\\tlocks=0 ]\\t(\\t\\\"\\\"\\t)\\npointsize\\t[ 0\\tlocks=0 ]\\t(\\t3\\t)\\nlengthscale\\t[ 0\\tlocks=0 ]\\t(\\t0.17999999999999999\\t)\\nunitlength\\t[ 0\\tlocks=0 ]\\t(\\t1\\t)\\nnormalize\\t[ 0\\tlocks=0 ]\\t(\\t\\\"off\\\"\\t)\\narrowheads\\t[ 0\\tlocks=0 ]\\t(\\t\\\"off\\\"\\t)\\nvectorcoloring\\t[ 0\\tlocks=0 ]\\t(\\t\\\"fixed\\\"\\t)\\ncolorattrib\\t[ 0\\tlocks=0 ]\\t(\\tCd\\t)\\nramptype\\t[ 0\\tlocks=0 ]\\t(\\t\\\"false\\\"\\t)\\ncolorramp\\t[ 0\\tlocks=0 ]\\t(\\t2\\t)\\nrangespec\\t[ 0\\tlocks=0 ]\\t(\\t\\\"min-max\\\"\\t)\\nminscalar\\t[ 0\\tlocks=0 ]\\t(\\t0\\t)\\nmaxscalar\\t[ 0\\tlocks=0 ]\\t(\\t1\\t)\\ncenterscalar\\t[ 0\\tlocks=0 ]\\t(\\t0\\t)\\nwidthscalar\\t[ 0\\tlocks=0 ]\\t(\\t1\\t)\\nclamptype\\t[ 0\\tlocks=0 ]\\t(\\t\\\"edge\\\"\\t)\\ntreatasscalar\\t[ 0\\tlocks=0 ]\\t(\\t\\\"off\\\"\\t)\\nusing\\t[ 0\\tlocks=0 ]\\t(\\t\\\"comp\\\"\\t)\\ncomponent\\t[ 0\\tlocks=0 ]\\t(\\t0\\t)\\nrefvec\\t[ 0\\tlocks=0 ]\\t(\\t0\\t1\\t0\\t)\\nmarkercolor\\t[ 0\\tlocks=0 ]\\t(\\t0\\t1\\t0\\t1\\t)\\ntrail\\t[ 0\\tlocks=0 ]\\t(\\t1\\t1\\t0\\t0.5\\t)\\ntextcolor\\t[ 0\\tlocks=0 ]\\t(\\t0.25\\t0.75\\t0.75\\t)\\nfontsize\\t[ 0\\tlocks=0 ]\\t(\\t\\\"guidefont\\\"\\t)\\nxcolor\\t[ 0\\tlocks=0 ]\\t(\\t1\\t0\\t0\\t1\\t)\\nycolor\\t[ 0\\tlocks=0 ]\\t(\\t0\\t1\\t0\\t1\\t)\\nzcolor\\t[ 0\\tlocks=0 ]\\t(\\t0\\t0\\t1\\t1\\t)\\ncolorramp1pos\\t[ 0\\tlocks=0 ]\\t(\\t0\\t)\\ncolorramp1c\\t[ 0\\tlocks=0 ]\\t(\\t0\\t0\\t1\\t)\\ncolorramp1interp\\t[ 0\\tlocks=0 ]\\t(\\t\\\"linear\\\"\\t)\\ncolorramp2pos\\t[ 0\\tlocks=0 ]\\t(\\t1\\t)\\ncolorramp2c\\t[ 0\\tlocks=0 ]\\t(\\t1\\t0\\t0\\t)\\ncolorramp2interp\\t[ 0\\tlocks=0 ]\\t(\\t\\\"linear\\\"\\t)\\n}\\n\"},
+
+ \"scope\":{
+ \"type\":\"int\",
+ \"value\":2
+ },
+ \"type\":{
+ \"type\":\"string\",
+ \"value\":\"vis_marker\"
+ }
+}
+" )
+vis_active2 [ 0 locks=0 ] ( "on" )
+vis_data2 [ 0 locks=0 ] ( "{
+ \"flags\":{
+ \"type\":\"int\",
+ \"value\":27
+ },
+ \"icon\":{
+ \"type\":\"string\",
+ \"value\":\"VIEW_visualization_marker\"
+ },
+ \"label\":{
+ \"type\":\"string\",
+ \"value\":\"Marker 3\"
+ },
+ \"name\":{
+ \"type\":\"string\",
+ \"value\":\"vis_marker_3\"
+ },
+ \"parameters\":{
+ \"type\":\"string\",
+ \"value\":\"{\\nversion 0.8\\nstyle\\t[ 0\\tlocks=0 ]\\t(\\t\\\"vector\\\"\\t)\\nclass\\t[ 0\\tlocks=0 ]\\t(\\t\\\"auto\\\"\\t)\\nattrib\\t[ 0\\tlocks=0 ]\\t(\\tbinormal\\t)\\nvisibility\\t[ 0\\tlocks=0 ]\\t(\\t\\\"always\\\"\\t)\\ndecorradius\\t[ 0\\tlocks=0 ]\\t(\\t0.5\\t)\\ngroup\\t[ 0\\tlocks=0 ]\\t(\\t\\\"\\\"\\t)\\npointsize\\t[ 0\\tlocks=0 ]\\t(\\t3\\t)\\nlengthscale\\t[ 0\\tlocks=0 ]\\t(\\t0.17999999999999999\\t)\\nunitlength\\t[ 0\\tlocks=0 ]\\t(\\t1\\t)\\nnormalize\\t[ 0\\tlocks=0 ]\\t(\\t\\\"off\\\"\\t)\\narrowheads\\t[ 0\\tlocks=0 ]\\t(\\t\\\"off\\\"\\t)\\nvectorcoloring\\t[ 0\\tlocks=0 ]\\t(\\t\\\"fixed\\\"\\t)\\ncolorattrib\\t[ 0\\tlocks=0 ]\\t(\\tCd\\t)\\nramptype\\t[ 0\\tlocks=0 ]\\t(\\t\\\"false\\\"\\t)\\ncolorramp\\t[ 0\\tlocks=0 ]\\t(\\t2\\t)\\nrangespec\\t[ 0\\tlocks=0 ]\\t(\\t\\\"min-max\\\"\\t)\\nminscalar\\t[ 0\\tlocks=0 ]\\t(\\t0\\t)\\nmaxscalar\\t[ 0\\tlocks=0 ]\\t(\\t1\\t)\\ncenterscalar\\t[ 0\\tlocks=0 ]\\t(\\t0\\t)\\nwidthscalar\\t[ 0\\tlocks=0 ]\\t(\\t1\\t)\\nclamptype\\t[ 0\\tlocks=0 ]\\t(\\t\\\"edge\\\"\\t)\\ntreatasscalar\\t[ 0\\tlocks=0 ]\\t(\\t\\\"off\\\"\\t)\\nusing\\t[ 0\\tlocks=0 ]\\t(\\t\\\"comp\\\"\\t)\\ncomponent\\t[ 0\\tlocks=0 ]\\t(\\t0\\t)\\nrefvec\\t[ 0\\tlocks=0 ]\\t(\\t0\\t1\\t0\\t)\\nmarkercolor\\t[ 0\\tlocks=0 ]\\t(\\t1\\t0\\t0\\t1\\t)\\ntrail\\t[ 0\\tlocks=0 ]\\t(\\t1\\t1\\t0\\t0.5\\t)\\ntextcolor\\t[ 0\\tlocks=0 ]\\t(\\t0.25\\t0.75\\t0.75\\t)\\nfontsize\\t[ 0\\tlocks=0 ]\\t(\\t\\\"guidefont\\\"\\t)\\nxcolor\\t[ 0\\tlocks=0 ]\\t(\\t1\\t0\\t0\\t1\\t)\\nycolor\\t[ 0\\tlocks=0 ]\\t(\\t0\\t1\\t0\\t1\\t)\\nzcolor\\t[ 0\\tlocks=0 ]\\t(\\t0\\t0\\t1\\t1\\t)\\ncolorramp1pos\\t[ 0\\tlocks=0 ]\\t(\\t0\\t)\\ncolorramp1c\\t[ 0\\tlocks=0 ]\\t(\\t0\\t0\\t1\\t)\\ncolorramp1interp\\t[ 0\\tlocks=0 ]\\t(\\t\\\"linear\\\"\\t)\\ncolorramp2pos\\t[ 0\\tlocks=0 ]\\t(\\t1\\t)\\ncolorramp2c\\t[ 0\\tlocks=0 ]\\t(\\t1\\t0\\t0\\t)\\ncolorramp2interp\\t[ 0\\tlocks=0 ]\\t(\\t\\\"linear\\\"\\t)\\n}\\n\"},
+
+ \"scope\":{
+ \"type\":\"int\",
+ \"value\":2
+ },
+ \"type\":{
+ \"type\":\"string\",
+ \"value\":\"vis_marker\"
+ }
+}
+" )
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/MOPs_Visualize_Frame1.userdata"
+Content-Type: text/plain
+
+{
+ "___Version___":{
+ "type":"string",
+ "value":""
+ }
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/convert_orient_to_N_up.init"
+Content-Type: text/plain
+
+type = attribwrangle
+matchesdef = 1
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/convert_orient_to_N_up.def"
+Content-Type: text/plain
+
+sopflags sopflags =
+comment ""
+position 93.3863 1.63507
+connectornextid 2
+flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
+outputsNamed3
+{
+1 "output1"
+}
+inputsNamed3
+{
+0 do_orient_curve 2 1 "input1"
+}
+inputs
+{
+0 do_orient_curve 0 1
+}
+stat
+{
+ create 1579909738
+ modify 1586054043
+ author Henry@LAPPY586
+ access 0777
+}
+color UT_Color RGB 0.8 0.8 0.8
+delscript ""
+exprlanguage hscript
+end
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/convert_orient_to_N_up.parm"
+Content-Type: text/plain
+
+{
+version 0.8
+folder0 [ 0 locks=0 ] ( 0 0 )
+group [ 0 locks=0 ] ( "" )
+grouptype [ 0 locks=0 ] ( "guess" )
+class [ 0 locks=0 ] ( "point" )
+vex_numcount [ 0 locks=0 ] ( 10 )
+vex_threadjobsize [ 0 locks=0 ] ( 1024 )
+snippet [ 0 locks=0 ] ( "v@N = qrotate(p@orient, {0,0,1});
+v@up = qrotate(p@orient, {0,1,0});" )
+exportlist [ 0 locks=0 ] ( * )
+vex_strict [ 0 locks=0 ] ( "off" )
+autobind [ 0 locks=0 ] ( "on" )
+bindings [ 0 locks=0 ] ( 0 )
+groupautobind [ 0 locks=0 ] ( "on" )
+groupbindings [ 0 locks=0 ] ( 0 )
+vex_cwdpath [ 0 locks=0 ] ( . )
+vex_outputmask [ 0 locks=0 ] ( * )
+vex_updatenmls [ 0 locks=0 ] ( "off" )
+vex_matchattrib [ 0 locks=0 ] ( id )
+vex_inplace [ 0 locks=0 ] ( "off" )
+vex_selectiongroup [ 0 locks=0 ] ( "" )
+vex_precision [ 0 locks=0 ] ( auto )
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/convert_orient_to_N_up.userdata"
+Content-Type: text/plain
+
+{
+ "___Version___":{
+ "type":"string",
+ "value":""
+ }
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/MOPs_Transform_Modifier.init"
+Content-Type: text/plain
+
+type = MOPS::Transform_Modifier::1.1
+matchesdef = 1
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/MOPs_Transform_Modifier.def"
+Content-Type: text/plain
+
+sopflags sopflags =
+comment ""
+position 74.8035 -65.3576
+connectornextid 2
+flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
+outputsNamed3
+{
+1 "output1"
+}
+inputsNamed3
+{
+0 switch1 1 1 "input1"
+}
+inputs
+{
+0 switch1 0 1
+}
+stat
+{
+ create 1580880777
+ modify 1586055239
+ author Henry@LAPPY586
+ access 0777
+}
+color UT_Color RGB 0.8 0.8 0.8
+delscript ""
+exprlanguage hscript
+end
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/MOPs_Transform_Modifier.chn"
+Content-Type: text/plain
+
+{
+ channel translatex {
+ lefttype = extend
+ righttype = extend
+ flags = 0
+ segment { length = 0 expr = ch(\"../global_translatex\") }
+ }
+ channel translatey {
+ lefttype = extend
+ righttype = extend
+ flags = 0
+ segment { length = 0 expr = ch(\"../global_translatey\") }
+ }
+ channel translatez {
+ lefttype = extend
+ righttype = extend
+ flags = 0
+ segment { length = 0 expr = ch(\"../global_translatez\") }
+ }
+ channel rotatex {
+ lefttype = extend
+ righttype = extend
+ flags = 0
+ segment { length = 0 expr = ch(\"../global_rotatex\") }
+ }
+ channel rotatey {
+ lefttype = extend
+ righttype = extend
+ flags = 0
+ segment { length = 0 expr = ch(\"../global_rotatey\") }
+ }
+ channel rotatez {
+ lefttype = extend
+ righttype = extend
+ flags = 0
+ segment { length = 0 expr = ch(\"../global_rotatez\") }
+ }
+ channel scalex {
+ lefttype = extend
+ righttype = extend
+ default = 1
+ flags = 0
+ segment { length = 0 value = 1 1 expr = ch(\"../global_scalex\") }
+ }
+ channel scaley {
+ lefttype = extend
+ righttype = extend
+ default = 1
+ flags = 0
+ segment { length = 0 value = 1 1 expr = ch(\"../global_scaley\") }
+ }
+ channel scalez {
+ lefttype = extend
+ righttype = extend
+ default = 1
+ flags = 0
+ segment { length = 0 value = 1 1 expr = ch(\"../global_scalez\") }
+ }
+ channel uniform_scale {
+ lefttype = extend
+ righttype = extend
+ default = 1
+ flags = 0
+ segment { length = 0 value = 1 1 expr = ch(\"../global_pscale\") }
+ }
+ }
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/MOPs_Transform_Modifier.parm"
+Content-Type: text/plain
+
+{
+version 0.8
+group [ 0 locks=0 ] ( "" )
+grouptype [ 0 locks=0 ] ( "guess" )
+ignore_no_falloff [ 0 locks=0 ] ( "off" )
+local [ 0 locks=0 ] ( "on" )
+translate [ 8 locks=0 ] ( [ translatex 0 ] [ translatey 0 ] [ translatez 0 ] )
+rotate [ 8 locks=0 ] ( [ rotatex 0 ] [ rotatey 0 ] [ rotatez 0 ] )
+scale [ 8 locks=0 ] ( [ scalex 1 ] [ scaley 1 ] [ scalez 1 ] )
+uniform_scale [ 0 locks=0 ] ( [ uniform_scale 0.29999999999999999 ] )
+pivot [ 0 locks=0 ] ( 0 0 0 )
+do_weight [ 0 locks=0 ] ( "off" )
+falloff_attribute [ 0 locks=0 ] ( mops_falloff )
+do_vexpression [ 0 locks=0 ] ( "off" )
+vexpression [ 0 locks=0 ] ( "// translate = {0,0,0};
+// rotate = {0,0,0};
+// scale = {1,1,1};
+// pscale = 1;
+// local = 1;" )
+rotate_mode [ 0 locks=0 ] ( 0 )
+scale_mode [ 0 locks=0 ] ( 1 )
+rotate_order [ 0 locks=0 ] ( 0 )
+pivot_mode [ 0 locks=0 ] ( 0 )
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/MOPs_Transform_Modifier.userdata"
+Content-Type: text/plain
+
+{
+ "___Version___":{
+ "type":"string",
+ "value":""
+ },
+ "___toolcount___":{
+ "type":"string",
+ "value":"7"
+ },
+ "___toolid___":{
+ "type":"string",
+ "value":"MOPS::sop_Transform_Modifier::1.1"
+ }
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/pointwrangle2.init"
+Content-Type: text/plain
+
+type = attribwrangle
+matchesdef = 1
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/pointwrangle2.def"
+Content-Type: text/plain
+
+sopflags sopflags =
+comment ""
+position 77.3947 -63.7549
+connectornextid 2
+flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
+outputsNamed3
+{
+1 "output1"
+}
+inputsNamed3
+{
+0 add2 1 1 "input1"
+}
+inputs
+{
+0 add2 0 1
+}
+stat
+{
+ create 1580883336
+ modify 1586055239
+ author Henry@LAPPY586
+ access 0777
+}
+color UT_Color RGB 0.8 0.8 0.8
+delscript ""
+exprlanguage hscript
+end
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/pointwrangle2.parm"
+Content-Type: text/plain
+
+{
+version 0.8
+folder0 [ 0 locks=0 ] ( 0 0 )
+group [ 0 locks=0 ] ( "" )
+grouptype [ 0 locks=0 ] ( "guess" )
+class [ 0 locks=0 ] ( "point" )
+vex_numcount [ 0 locks=0 ] ( 10 )
+vex_threadjobsize [ 0 locks=0 ] ( 1024 )
+snippet [ 0 locks=0 ] ( "@pscale = 1;
+v@scale = 1;" )
+exportlist [ 0 locks=0 ] ( * )
+vex_strict [ 0 locks=0 ] ( "off" )
+autobind [ 0 locks=0 ] ( "on" )
+bindings [ 0 locks=0 ] ( 0 )
+groupautobind [ 0 locks=0 ] ( "on" )
+groupbindings [ 0 locks=0 ] ( 0 )
+vex_cwdpath [ 0 locks=0 ] ( . )
+vex_outputmask [ 0 locks=0 ] ( * )
+vex_updatenmls [ 0 locks=0 ] ( "off" )
+vex_matchattrib [ 0 locks=0 ] ( id )
+vex_inplace [ 0 locks=0 ] ( "off" )
+vex_selectiongroup [ 0 locks=0 ] ( "" )
+vex_precision [ 0 locks=0 ] ( auto )
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/pointwrangle2.userdata"
+Content-Type: text/plain
+
+{
+ "___Version___":{
+ "type":"string",
+ "value":""
+ }
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/pointwrangle3.init"
+Content-Type: text/plain
+
+type = attribwrangle
+matchesdef = 1
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/pointwrangle3.def"
+Content-Type: text/plain
+
+sopflags sopflags =
+comment ""
+position 62.5113 -1.41755
+connectornextid 2
+flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
+outputsNamed3
+{
+1 "output1"
+}
+inputsNamed3
+{
+0 resample5 1 1 "input1"
+}
+inputs
+{
+0 resample5 0 1
+}
+stat
+{
+ create 1581566136
+ modify 1586054043
+ author Henry@LAPPY586
+ access 0777
+}
+color UT_Color RGB 0.8 0.8 0.8
+delscript ""
+exprlanguage hscript
+end
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/pointwrangle3.multiparm"
+Content-Type: text/plain
+
+3
+twist_ramp#pos ../distro_line_twist_ramp#pos
+twist_ramp#value ../distro_line_twist_ramp#value
+twist_ramp#interp ../distro_line_twist_ramp#interp
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/pointwrangle3.spareparmdef"
+Content-Type: text/plain
+
+ group {
+ name "folder1"
+ label "Code"
+
+ parm {
+ name "group"
+ baseparm
+ label "Group"
+ export none
+ bindselector points "Modify Points"
+ "Select the points to affect and press Enter to complete."
+ 0 1 0xffffffff 0 grouptype 0
+ }
+ parm {
+ name "grouptype"
+ baseparm
+ label "Group Type"
+ export none
+ }
+ parm {
+ name "class"
+ baseparm
+ label "Run Over"
+ export none
+ }
+ parm {
+ name "vex_numcount"
+ baseparm
+ label "Number Count"
+ export none
+ }
+ parm {
+ name "vex_threadjobsize"
+ baseparm
+ label "Thread Job Size"
+ export none
+ }
+ parm {
+ name "snippet"
+ baseparm
+ label "VEXpression"
+ export all
+ }
+ parm {
+ name "exportlist"
+ baseparm
+ label "Attributes to Create"
+ export none
+ }
+ parm {
+ name "vex_strict"
+ baseparm
+ label "Enforce Prototypes"
+ export none
+ }
+ }
+
+ group {
+ name "folder1_1"
+ label "Bindings"
+
+ parm {
+ name "autobind"
+ baseparm
+ label "Autobind by Name"
+ export none
+ }
+ multiparm {
+ name "bindings"
+ label "Number of Bindings"
+ baseparm
+ default 0
+ parmtag { "autoscope" "0000000000000000" }
+ parmtag { "multistartoffset" "1" }
+
+ parm {
+ name "bindname#"
+ baseparm
+ label "Attribute Name"
+ export none
+ }
+ parm {
+ name "bindparm#"
+ baseparm
+ label "VEX Parameter"
+ export none
+ }
+ }
+
+ parm {
+ name "groupautobind"
+ baseparm
+ label "Autobind Groups by Name"
+ export none
+ }
+ multiparm {
+ name "groupbindings"
+ label "Group Bindings"
+ baseparm
+ default 0
+ parmtag { "autoscope" "0000000000000000" }
+ parmtag { "multistartoffset" "1" }
+
+ parm {
+ name "bindgroupname#"
+ baseparm
+ label "Group Name"
+ export none
+ }
+ parm {
+ name "bindgroupparm#"
+ baseparm
+ label "VEX Parameter"
+ export none
+ }
+ }
+
+ parm {
+ name "vex_cwdpath"
+ baseparm
+ label "Evaluation Node Path"
+ export none
+ }
+ parm {
+ name "vex_outputmask"
+ baseparm
+ label "Export Parameters"
+ export none
+ }
+ parm {
+ name "vex_updatenmls"
+ baseparm
+ label "Update Normals If Displaced"
+ export none
+ }
+ parm {
+ name "vex_matchattrib"
+ baseparm
+ label "Attribute to Match"
+ export none
+ }
+ parm {
+ name "vex_inplace"
+ baseparm
+ label "Compute Results In Place"
+ export none
+ }
+ parm {
+ name "vex_selectiongroup"
+ baseparm
+ label "Output Selection Group"
+ export none
+ }
+ parm {
+ name "vex_precision"
+ baseparm
+ label "VEX Precision"
+ export none
+ }
+ }
+
+ parm {
+ name "twist_amount"
+ label "Twist Amount"
+ type float
+ default { "0" }
+ range { 0 1 }
+ }
+ parm {
+ name "line_mode"
+ label "Line Mode"
+ type integer
+ default { "0" }
+ range { 0 10 }
+ }
+ parm {
+ name "invert"
+ label "Invert"
+ type integer
+ default { "0" }
+ range { 0 10 }
+ }
+ parm {
+ name "twist_ramp"
+ label "Twist Ramp"
+ type ramp_flt
+ default { "2" }
+ range { 1! 10 }
+ }
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/pointwrangle3.chn"
+Content-Type: text/plain
+
+{
+ channel twist_ramp1pos {
+ lefttype = extend
+ righttype = extend
+ flags = 0
+ segment { length = 0 expr = ch(\"../distro_line_twist_ramp1pos\") }
+ }
+ channel twist_ramp1value {
+ lefttype = extend
+ righttype = extend
+ flags = 0
+ segment { length = 0 expr = ch(\"../distro_line_twist_ramp1value\") }
+ }
+ channel twist_ramp1interp {
+ lefttype = extend
+ righttype = extend
+ default = 1
+ flags = 0
+ segment { length = 0 value = 1 1 expr = ch(\"../distro_line_twist_ramp1interp\") }
+ }
+ channel twist_ramp2pos {
+ lefttype = extend
+ righttype = extend
+ default = 1
+ flags = 0
+ segment { length = 0 value = 1 1 expr = ch(\"../distro_line_twist_ramp2pos\") }
+ }
+ channel twist_ramp2value {
+ lefttype = extend
+ righttype = extend
+ default = 1
+ flags = 0
+ segment { length = 0 value = 1 1 expr = ch(\"../distro_line_twist_ramp2value\") }
+ }
+ channel twist_ramp2interp {
+ lefttype = extend
+ righttype = extend
+ default = 1
+ flags = 0
+ segment { length = 0 value = 1 1 expr = ch(\"../distro_line_twist_ramp2interp\") }
+ }
+ channel line_mode {
+ lefttype = extend
+ righttype = extend
+ flags = 0
+ segment { length = 0 expr = ch(\"../linear_mode\") }
+ }
+ channel invert {
+ lefttype = extend
+ righttype = extend
+ flags = 0
+ segment { length = 0 expr = ch(\"../distro_line_invert_N\") }
+ }
+ channel twist_amount {
+ lefttype = extend
+ righttype = extend
+ flags = 0
+ segment { length = 0 expr = ch(\"../distro_line_twist_amount\") }
+ }
+ channel twist_ramp {
+ lefttype = extend
+ righttype = extend
+ default = 2
+ flags = 0
+ segment { length = 0 value = 2 2 expr = ch(\"../distro_line_twist_ramp\") }
+ }
+ }
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/pointwrangle3.parm"
+Content-Type: text/plain
+
+{
+version 0.8
+folder0 [ 0 locks=0 ] ( 0 0 )
+group [ 0 locks=0 ] ( "" )
+grouptype [ 0 locks=0 ] ( "guess" )
+class [ 0 locks=0 ] ( "point" )
+vex_numcount [ 0 locks=0 ] ( 10 )
+vex_threadjobsize [ 0 locks=0 ] ( 1024 )
+snippet [ 0 locks=0 ] ( "int mode = chi(\"line_mode\");
+vector N = {0,0,1};
+vector up = {0,1,0};
+if(mode == 1) {
+ // distance/direction
+ N = normalize(chv(\"../dir\"));
+ if(chi(\"invert\")) {
+ N *= -1;
+ }
+ matrix3 m = dihedral({0,0,1}, N);
+ up = up * m;
+
+} else {
+ // start/end
+ vector p0 = chv(\"../pt0\");
+ vector p1 = chv(\"../pt1\");
+ N = normalize(p1-p0);
+ if(chi(\"invert\")) {
+ N *= -1;
+ }
+ matrix3 m = dihedral({0,0,1}, N);
+ up = up * m;
+}
+
+vector4 rot = quaternion(maketransform(N, up));
+
+// twist
+float twist = ch(\"twist_amount\");
+float twist_ramp = chramp(\"twist_ramp\", f@__curveu);
+vector twist_axis = N;
+vector4 twistq = quaternion(radians(twist) * twist_ramp, twist_axis);
+vector4 orient = qmultiply(twistq, rot);
+
+p@orient = orient;
+" )
+exportlist [ 0 locks=0 ] ( * )
+vex_strict [ 0 locks=0 ] ( "off" )
+autobind [ 0 locks=0 ] ( "on" )
+bindings [ 0 locks=0 ] ( 0 )
+groupautobind [ 0 locks=0 ] ( "on" )
+groupbindings [ 0 locks=0 ] ( 0 )
+vex_cwdpath [ 0 locks=0 ] ( . )
+vex_outputmask [ 0 locks=0 ] ( * )
+vex_updatenmls [ 0 locks=0 ] ( "off" )
+vex_matchattrib [ 0 locks=0 ] ( id )
+vex_inplace [ 0 locks=0 ] ( "off" )
+vex_selectiongroup [ 0 locks=0 ] ( "" )
+vex_precision [ 0 locks=0 ] ( auto )
+folder1 [ 0 locks=0 ] ( 0 0 )
+twist_amount [ 0 locks=0 ] ( [ twist_amount 0 ] )
+line_mode [ 0 locks=0 ] ( [ line_mode 1 ] )
+invert [ 0 locks=0 ] ( [ invert 0 ] )
+twist_ramp [ 0 locks=0 ] ( [ twist_ramp 2 ] )
+twist_ramp1pos [ 0 locks=0 ] ( [ twist_ramp1pos 0 ] )
+twist_ramp1value [ 0 locks=0 ] ( [ twist_ramp1value 0 ] )
+twist_ramp1interp [ 0 locks=0 ] ( [ twist_ramp1interp 1 ] )
+twist_ramp2pos [ 0 locks=0 ] ( [ twist_ramp2pos 1 ] )
+twist_ramp2value [ 0 locks=0 ] ( [ twist_ramp2value 1 ] )
+twist_ramp2interp [ 0 locks=0 ] ( [ twist_ramp2interp 1 ] )
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/pointwrangle3.userdata"
+Content-Type: text/plain
+
+{
+ "___Version___":{
+ "type":"string",
+ "value":""
+ }
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/define_local_user_transforms1.init"
+Content-Type: text/plain
+
+type = attribwrangle
+matchesdef = 1
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/define_local_user_transforms1.def"
+Content-Type: text/plain
+
+sopflags sopflags =
+comment ""
+position 83.4905 -36.0728
+connectornextid 2
+flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
+outputsNamed3
+{
+1 "output1"
+}
+inputsNamed3
+{
+0 switch_mesh_or_points 1 1 "input1"
+}
+inputs
+{
+0 switch_mesh_or_points 0 1
+}
+stat
+{
+ create 1509148564
+ modify 1586055239
+ author Henry@LAPPY586
+ access 0777
+}
+color UT_Color RGB 0.8 0.8 0.8
+delscript ""
+exprlanguage hscript
+end
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/define_local_user_transforms1.parm"
+Content-Type: text/plain
+
+{
+version 0.8
+folder0 [ 0 locks=0 ] ( 0 0 )
+group [ 0 locks=0 ] ( "" )
+grouptype [ 0 locks=0 ] ( "guess" )
+class [ 0 locks=0 ] ( "point" )
+vex_numcount [ 0 locks=0 ] ( 10 )
+vex_threadjobsize [ 0 locks=0 ] ( 1024 )
+snippet [ 0 locks=0 ] ( "#include
+
+// using the interpolation mode here overwrites our global and per-instance transforms.
+// we need to re-apply those same transforms, *additively*.
+
+if(!haspointattrib(0, \"scale\")) {
+ v@scale = {1,1,1};
+}
+if(!haspointattrib(0, \"pscale\")) {
+ f@pscale = 1;
+}
+v@scale *= chv(\"../instance_scale\" + itoa(i@mops_index+1));
+f@pscale *= ch(\"../instance_pscale\" + itoa(i@mops_index+1));
+//v@scale *= chv(\"../global_scale\");
+//f@pscale *= ch(\"../global_pscale\");
+vector r = chv(\"../instance_rotate\" + itoa(i@mops_index+1));
+vector4 rot = eulertoquaternion(radians(r), XFORM_XYZ);
+vector r2 = chv(\"../global_rotate\");
+vector4 rot2 = eulertoquaternion(radians(r2), XFORM_XYZ);
+vector T = chv(\"../instance_translate\" + itoa(i@mops_index+1));
+vector T2 = chv(\"../global_translate\");
+vector pivot = chv(\"../instance_pivot\" + itoa(i@mops_index+1));
+if(!haspointattrib(0, \"orient\")) {
+ p@orient = quaternion(maketransform(v@N, v@up));
+}
+T = qrotate(p@orient, T);
+T2 = qrotate(p@orient, T2);
+@P += (T+T2);
+p@orient = qmultiply(p@orient, rot);
+p@orient = qmultiply(p@orient, rot2);
+v@pivot = pivot;" )
+exportlist [ 0 locks=0 ] ( * )
+vex_strict [ 0 locks=0 ] ( "off" )
+autobind [ 0 locks=0 ] ( "on" )
+bindings [ 0 locks=0 ] ( 0 )
+groupautobind [ 0 locks=0 ] ( "on" )
+groupbindings [ 0 locks=0 ] ( 0 )
+vex_cwdpath [ 0 locks=0 ] ( . )
+vex_outputmask [ 0 locks=0 ] ( * )
+vex_updatenmls [ 0 locks=0 ] ( "off" )
+vex_matchattrib [ 0 locks=0 ] ( id )
+vex_inplace [ 0 locks=0 ] ( "off" )
+vex_selectiongroup [ 0 locks=0 ] ( "" )
+vex_precision [ 0 locks=0 ] ( auto )
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/define_local_user_transforms1.userdata"
+Content-Type: text/plain
+
+{
+ "___Version___":{
+ "type":"string",
+ "value":""
+ }
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/globals.init"
+Content-Type: text/plain
+
+type = null
+matchesdef = 0
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/globals.def"
+Content-Type: text/plain
+
+sopflags sopflags =
+comment ""
+position 64.2544 6.85486
+connectornextid 0
+flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
+outputsNamed3
+{
+}
+inputsNamed3
+{
+}
+inputs
+{
+}
+stat
+{
+ create 1508907047
+ modify 1586054043
+ author Henry@LAPPY586
+ access 0777
+}
+color UT_Color RGB 0.6 0.7 0.77
+delscript ""
+exprlanguage hscript
+end
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/globals.spareparmdef"
+Content-Type: text/plain
+
+ parm {
+ name "copyinput"
+ baseparm
+ label "Copy Input (Note: Input will be still cooked if disabled)"
+ export none
+ }
+ parm {
+ name "cacheinput"
+ baseparm
+ label "Cache Input"
+ export none
+ }
+ parm {
+ name "npoints"
+ label "Number of Points"
+ type integer
+ default { "0" }
+ range { 0 10000 }
+ }
+ parm {
+ name "seed"
+ label "Random Seed"
+ type integer
+ default { "0" }
+ range { 0 1e+06 }
+ }
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/globals.chn"
+Content-Type: text/plain
+
+{
+ channel seed {
+ lefttype = extend
+ righttype = extend
+ flags = 0
+ start = 41.666666666666664
+ segment { length = 0 expr = ch(\"../id_gen_seed\") }
+ }
+ channel npoints {
+ lefttype = extend
+ righttype = extend
+ default = 200
+ flags = 0
+ segment { length = 0 value = 200 200 expr = ch(\"../radial_npoints\") }
+ }
+ }
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/globals.parm"
+Content-Type: text/plain
+
+{
+version 0.8
+copyinput [ 0 locks=0 ] ( "on" )
+cacheinput [ 0 locks=0 ] ( "off" )
+npoints [ 8 locks=0 ] ( [ npoints 10 ] )
+seed [ 0 locks=0 ] ( [ seed 0 ] )
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/globals.userdata"
+Content-Type: text/plain
+
+{
+ "___Version___":{
+ "type":"string",
+ "value":"18.0.391"
+ }
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/output1.init"
+Content-Type: text/plain
+
+type = output
+matchesdef = 0
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/output1.def"
+Content-Type: text/plain
+
+sopflags sopflags =
+comment ""
+position 72.6612 -71.7689
+connectornextid 1
+flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
+outputsNamed3
+{
+}
+inputsNamed3
+{
+0 groupdelete2 1 1 "input1"
+}
+inputs
+{
+0 groupdelete2 0 1
+}
+stat
+{
+ create 1510816622
+ modify 1586055239
+ author Henry@LAPPY586
+ access 0777
+}
+color UT_Color RGB 0.8 0.8 0.8
+delscript ""
+exprlanguage hscript
+end
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/output1.parm"
+Content-Type: text/plain
+
+{
+version 0.8
+outputidx [ 0 locks=0 ] ( 0 )
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/output1.userdata"
+Content-Type: text/plain
+
+{
+ "___Version___":{
+ "type":"string",
+ "value":"18.0.391"
+ }
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/distribution_linear1.init"
+Content-Type: text/plain
+
+type = null
+matchesdef = 0
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/distribution_linear1.def"
+Content-Type: text/plain
+
+sopflags sopflags =
+comment ""
+position 61.1711 -3.68987
+connectornextid 2
+flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
+outputsNamed3
+{
+0 "output1"
+}
+inputsNamed3
+{
+1 do_align_linear 2 1 "input1"
+}
+inputs
+{
+0 do_align_linear 0 1
+}
+stat
+{
+ create 1508906550
+ modify 1568780552
+ author Henry@LAPPY586
+ access 0777
+}
+color UT_Color RGB 0.6 0.7 0.77
+delscript ""
+exprlanguage hscript
+end
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/distribution_linear1.parm"
+Content-Type: text/plain
+
+{
+version 0.8
+copyinput [ 0 locks=0 ] ( "on" )
+cacheinput [ 0 locks=0 ] ( "off" )
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/distribution_linear1.userdata"
+Content-Type: text/plain
+
+{
+ "___Version___":{
+ "type":"string",
+ "value":"18.0.391"
+ }
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/resample5.init"
+Content-Type: text/plain
+
+type = resample
+matchesdef = 0
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/resample5.def"
+Content-Type: text/plain
+
+sopflags sopflags =
+comment ""
+position 61.1711 -0.496555
+connectornextid 2
+flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
+outputsNamed3
+{
+1 "output1"
+}
+inputsNamed3
+{
+0 do_center_linear 1 1 "input1"
+}
+inputs
+{
+0 do_center_linear 0 1
+}
+stat
+{
+ create 1508906585
+ modify 1586054043
+ author Henry@LAPPY586
+ access 0777
+}
+color UT_Color RGB 0.8 0.8 0.8
+delscript ""
+exprlanguage hscript
+end
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/resample5.chn"
+Content-Type: text/plain
+
+{
+ channel segs {
+ lefttype = extend
+ righttype = extend
+ default = 199
+ flags = 0
+ segment { length = 0 value = 199 199 expr = ch(\"../linear_npoints\")-1 }
+ }
+ }
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/resample5.parm"
+Content-Type: text/plain
+
+{
+version 0.8
+group [ 0 locks=0 ] ( "" )
+lod [ 0 locks=0 ] ( 1 )
+edge [ 0 locks=0 ] ( "off" )
+method [ 0 locks=0 ] ( "dist" )
+measure [ 0 locks=0 ] ( "arc" )
+dolength [ 0 locks=0 ] ( "off" )
+length [ 0 locks=0 ] ( 0.10000000000000001 )
+dosegs [ 0 locks=0 ] ( "on" )
+segs [ 8 locks=0 ] ( [ segs 9 ] )
+useattribs [ 0 locks=0 ] ( "on" )
+allequal [ 0 locks=0 ] ( "on" )
+last [ 0 locks=0 ] ( "off" )
+randomshift [ 0 locks=0 ] ( "off" )
+onlypoints [ 0 locks=0 ] ( "off" )
+treatpolysas [ 0 locks=0 ] ( "straight" )
+outputsubdpoly [ 0 locks=0 ] ( "off" )
+doptdistattr [ 0 locks=0 ] ( "off" )
+ptdistattr [ 0 locks=0 ] ( ptdist )
+dotangentattr [ 0 locks=0 ] ( "off" )
+tangentattr [ 0 locks=0 ] ( tangentu )
+docurveuattr [ 0 locks=0 ] ( "on" )
+curveuattr [ 0 locks=0 ] ( __curveu )
+docurvenumattr [ 0 locks=0 ] ( "off" )
+curvenumattr [ 0 locks=0 ] ( curvenum )
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/resample5.userdata"
+Content-Type: text/plain
+
+{
+ "___Version___":{
+ "type":"string",
+ "value":"18.0.391"
+ }
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/sort8.init"
+Content-Type: text/plain
+
+type = sort
+matchesdef = 0
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/sort8.def"
+Content-Type: text/plain
+
+sopflags sopflags =
+comment ""
+position 73.1356 -22.3358
+connectornextid 2
+flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
+outputsNamed3
+{
+1 "output1"
+}
+inputsNamed3
+{
+0 distribution_type1 6 1 "input1"
+}
+inputs
+{
+0 distribution_type1 0 1
+}
+stat
+{
+ create 1508911812
+ modify 1586055229
+ author Henry@LAPPY586
+ access 0777
+}
+color UT_Color RGB 0.8 0.8 0.8
+delscript ""
+exprlanguage hscript
+end
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/sort8.chn"
+Content-Type: text/plain
+
+{
+ channel ptsort {
+ lefttype = extend
+ righttype = extend
+ flags = 0
+ segment { length = 0 expr = ch(\"../ptsort\") }
+ }
+ channel pointseed {
+ lefttype = extend
+ righttype = extend
+ flags = 0
+ segment { length = 0 expr = ch(\"../pointseed\") }
+ }
+ channel pointoffset {
+ lefttype = extend
+ righttype = extend
+ flags = 0
+ segment { length = 0 expr = ch(\"../pointoffset\") }
+ }
+ channel pointproxx {
+ lefttype = extend
+ righttype = extend
+ flags = 0
+ segment { length = 0 expr = ch(\"../pointproxx\") }
+ }
+ channel pointproxy {
+ lefttype = extend
+ righttype = extend
+ flags = 0
+ segment { length = 0 expr = ch(\"../pointproxy\") }
+ }
+ channel pointproxz {
+ lefttype = extend
+ righttype = extend
+ flags = 0
+ segment { length = 0 expr = ch(\"../pointproxz\") }
+ }
+ channel pointobjpath {
+ lefttype = extend
+ righttype = extend
+ defaultString = \"\"
+ flags = 0
+ segment { length = 0 expr = chsop(\"../pointobjpath\") }
+ }
+ channel pointdirx {
+ lefttype = extend
+ righttype = extend
+ flags = 0
+ segment { length = 0 expr = ch(\"../pointdirx\") }
+ }
+ channel pointdiry {
+ lefttype = extend
+ righttype = extend
+ default = 1
+ flags = 0
+ segment { length = 0 value = 1 1 expr = ch(\"../pointdiry\") }
+ }
+ channel pointdirz {
+ lefttype = extend
+ righttype = extend
+ flags = 0
+ segment { length = 0 expr = ch(\"../pointdirz\") }
+ }
+ channel pointexpr {
+ lefttype = extend
+ righttype = extend
+ flags = 0
+ segment { length = 0 expr = ch(\"../pointexpr\") }
+ }
+ channel pointattrib {
+ lefttype = extend
+ righttype = extend
+ defaultString = \"\"
+ flags = 0
+ segment { length = 0 expr = chs(\"../pointattrib\") }
+ }
+ channel pointattribcomp {
+ lefttype = extend
+ righttype = extend
+ flags = 0
+ segment { length = 0 expr = ch(\"../pointattribcomp\") }
+ }
+ channel pointreverse {
+ lefttype = extend
+ righttype = extend
+ flags = 0
+ segment { length = 0 expr = ch(\"../pointreverse\") }
+ }
+ channel primsort {
+ lefttype = extend
+ righttype = extend
+ flags = 0
+ segment { length = 0 expr = ch(\"../primsort\") }
+ }
+ channel primseed {
+ lefttype = extend
+ righttype = extend
+ flags = 0
+ segment { length = 0 expr = ch(\"../primseed\") }
+ }
+ channel primoffset {
+ lefttype = extend
+ righttype = extend
+ flags = 0
+ segment { length = 0 expr = ch(\"../primoffset\") }
+ }
+ channel primproxx {
+ lefttype = extend
+ righttype = extend
+ flags = 0
+ segment { length = 0 expr = ch(\"../primproxx\") }
+ }
+ channel primproxy {
+ lefttype = extend
+ righttype = extend
+ flags = 0
+ segment { length = 0 expr = ch(\"../primproxy\") }
+ }
+ channel primproxz {
+ lefttype = extend
+ righttype = extend
+ flags = 0
+ segment { length = 0 expr = ch(\"../primproxz\") }
+ }
+ channel primobjpath {
+ lefttype = extend
+ righttype = extend
+ defaultString = \"\"
+ flags = 0
+ segment { length = 0 expr = chsop(\"../primobjpath\") }
+ }
+ channel primdirx {
+ lefttype = extend
+ righttype = extend
+ flags = 0
+ segment { length = 0 expr = ch(\"../primdirx\") }
+ }
+ channel primdiry {
+ lefttype = extend
+ righttype = extend
+ default = 1
+ flags = 0
+ segment { length = 0 value = 1 1 expr = ch(\"../primdiry\") }
+ }
+ channel primdirz {
+ lefttype = extend
+ righttype = extend
+ flags = 0
+ segment { length = 0 expr = ch(\"../primdirz\") }
+ }
+ channel primexpr {
+ lefttype = extend
+ righttype = extend
+ flags = 0
+ segment { length = 0 expr = ch(\"../primexpr\") }
+ }
+ channel primattrib {
+ lefttype = extend
+ righttype = extend
+ defaultString = \"\"
+ flags = 0
+ segment { length = 0 expr = chs(\"../primattrib\") }
+ }
+ channel primattribcomp {
+ lefttype = extend
+ righttype = extend
+ flags = 0
+ segment { length = 0 expr = ch(\"../primattribcomp\") }
+ }
+ channel primreverse {
+ lefttype = extend
+ righttype = extend
+ flags = 0
+ segment { length = 0 expr = ch(\"../primreverse\") }
+ }
+ channel vertexprimorder {
+ lefttype = extend
+ righttype = extend
+ default = 1
+ flags = 0
+ segment { length = 0 value = 1 1 expr = ch(\"../vertexprimorder\") }
+ }
+ }
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/sort8.parm"
+Content-Type: text/plain
+
+{
+version 0.8
+ptsort [ 0 locks=0 ] ( [ ptsort 0 ] )
+pointseed [ 0 locks=0 ] ( [ pointseed 0 ] )
+pointoffset [ 0 locks=0 ] ( [ pointoffset 0 ] )
+pointprox [ 0 locks=0 ] ( [ pointproxx 0 ] [ pointproxy 0 ] [ pointproxz 0 ] )
+pointobjpath [ 0 locks=0 ] ( [ pointobjpath "" ] )
+pointdir [ 0 locks=0 ] ( [ pointdirx 0 ] [ pointdiry 1 ] [ pointdirz 0 ] )
+pointexpr [ 0 locks=0 ] ( [ pointexpr 0 ] )
+pointattrib [ 0 locks=0 ] ( [ pointattrib "" ] )
+pointattribcomp [ 0 locks=0 ] ( [ pointattribcomp 0 ] )
+pointreverse [ 0 locks=0 ] ( [ pointreverse 0 ] )
+primsort [ 0 locks=0 ] ( [ primsort 0 ] )
+primseed [ 0 locks=0 ] ( [ primseed 0 ] )
+primoffset [ 0 locks=0 ] ( [ primoffset 0 ] )
+primprox [ 0 locks=0 ] ( [ primproxx 0 ] [ primproxy 0 ] [ primproxz 0 ] )
+primobjpath [ 0 locks=0 ] ( [ primobjpath "" ] )
+primdir [ 0 locks=0 ] ( [ primdirx 0 ] [ primdiry 1 ] [ primdirz 0 ] )
+primexpr [ 0 locks=0 ] ( [ primexpr 0 ] )
+primattrib [ 0 locks=0 ] ( [ primattrib "" ] )
+primattribcomp [ 0 locks=0 ] ( [ primattribcomp 0 ] )
+primreverse [ 0 locks=0 ] ( [ primreverse 0 ] )
+vertexprimorder [ 0 locks=0 ] ( [ vertexprimorder 1 ] )
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/sort8.userdata"
+Content-Type: text/plain
+
+{
+ "___Version___":{
+ "type":"string",
+ "value":"18.0.391"
+ }
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/linear_start_end.init"
+Content-Type: text/plain
+
+type = add
+matchesdef = 0
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/linear_start_end.def"
+Content-Type: text/plain
+
+sopflags sopflags =
+comment ""
+position 58.0971 3.67855
+connectornextid 1
+flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
+outputsNamed3
+{
+0 "output1"
+}
+inputsNamed3
+{
+}
+inputs
+{
+}
+stat
+{
+ create 1567573563
+ modify 1586054043
+ author Henry@LAPPY586
+ access 0777
+}
+color UT_Color RGB 0.8 0.8 0.8
+delscript ""
+exprlanguage hscript
+end
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/linear_start_end.chn"
+Content-Type: text/plain
+
+{
+ channel pt0x {
+ lefttype = extend
+ righttype = extend
+ flags = 0
+ segment { length = 0 expr = ch(\"../pt0x\") }
+ }
+ channel pt0y {
+ lefttype = extend
+ righttype = extend
+ flags = 0
+ segment { length = 0 expr = ch(\"../pt0y\") }
+ }
+ channel pt0z {
+ lefttype = extend
+ righttype = extend
+ flags = 0
+ segment { length = 0 expr = ch(\"../pt0z\") }
+ }
+ channel pt1x {
+ lefttype = extend
+ righttype = extend
+ flags = 0
+ segment { length = 0 expr = ch(\"../pt1x\") }
+ }
+ channel pt1y {
+ lefttype = extend
+ righttype = extend
+ flags = 0
+ segment { length = 0 expr = ch(\"../pt1y\") }
+ }
+ channel pt1z {
+ lefttype = extend
+ righttype = extend
+ default = 1
+ flags = 0
+ segment { length = 0 value = 1 1 expr = ch(\"../pt1z\") }
+ }
+ }
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/linear_start_end.parm"
+Content-Type: text/plain
+
+{
+version 0.8
+stdswitcher [ 0 locks=0 ] ( 0 0 0 )
+keep [ 0 locks=0 ] ( "off" )
+points [ 0 locks=0 ] ( 2 )
+remove [ 0 locks=0 ] ( "off" )
+switcher [ 0 locks=0 ] ( 1 1 )
+prims [ 0 locks=0 ] ( 1 )
+group [ 0 locks=0 ] ( "" )
+add [ 0 locks=0 ] ( "all" )
+inc [ 0 locks=0 ] ( 2 )
+attrname [ 0 locks=0 ] ( "" )
+closedall [ 0 locks=0 ] ( "off" )
+addparticlesystem [ 0 locks=0 ] ( "off" )
+particlegroup [ 0 locks=0 ] ( "" )
+appendunusedtoparticlesystem [ 0 locks=0 ] ( "off" )
+usept0 [ 0 locks=0 ] ( "on" )
+pt0 [ 0 locks=0 ] ( [ pt0x 0 ] [ pt0y 0 ] [ pt0z 0 ] )
+weight0 [ 0 locks=0 ] ( 1 )
+prim0 [ 0 locks=0 ] ( "" )
+closed0 [ 0 locks=0 ] ( "off" )
+usept1 [ 0 locks=0 ] ( "on" )
+pt1 [ 0 locks=0 ] ( [ pt1x 0 ] [ pt1y 0 ] [ pt1z 1 ] )
+weight1 [ 0 locks=0 ] ( 1 )
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/linear_start_end.userdata"
+Content-Type: text/plain
+
+{
+ "___Version___":{
+ "type":"string",
+ "value":"18.0.391"
+ }
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/circle3.init"
+Content-Type: text/plain
+
+type = circle
+matchesdef = 0
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/circle3.def"
+Content-Type: text/plain
+
+sopflags sopflags =
+comment ""
+position 65.5922 3.98142
+connectornextid 1
+flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
+outputsNamed3
+{
+0 "output1"
+}
+inputsNamed3
+{
+}
+inputs
+{
+}
+stat
+{
+ create 1508906579
+ modify 1586054043
+ author Henry@LAPPY586
+ access 0777
+}
+color UT_Color RGB 0.8 0.8 0.8
+delscript ""
+exprlanguage hscript
+end
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/circle3.chn"
+Content-Type: text/plain
+
+{
+ channel beginangle {
+ lefttype = extend
+ righttype = extend
+ flags = 0
+ start = 41.666666666666664
+ segment { length = 0 expr = ch(\"../beginradial_angle\") }
+ }
+ channel endangle {
+ lefttype = extend
+ righttype = extend
+ default = 360
+ flags = 0
+ start = 41.666666666666664
+ segment { length = 0 value = 360 360 expr = ch(\"../endradial_angle\") }
+ }
+ channel radx {
+ lefttype = extend
+ righttype = extend
+ default = 1
+ flags = 0
+ start = 41.666666666666664
+ segment { length = 0 value = 1 1 expr = ch(\"../radial_radiusx\") }
+ }
+ channel rady {
+ lefttype = extend
+ righttype = extend
+ default = 1
+ flags = 0
+ start = 41.666666666666664
+ segment { length = 0 value = 1 1 expr = ch(\"../radial_radiusy\") }
+ }
+ channel scale {
+ lefttype = extend
+ righttype = extend
+ default = 1
+ flags = 0
+ start = 41.666666666666664
+ segment { length = 0 value = 1 1 expr = ch(\"../radial_scale\") }
+ }
+ channel divs {
+ lefttype = extend
+ righttype = extend
+ default = 12
+ flags = 0
+ start = 41.666666666666664
+ segment { length = 0 value = 12 12 expr = ch(\"../radial_divisions\") }
+ }
+ channel tx {
+ lefttype = extend
+ righttype = extend
+ flags = 0
+ segment { length = 0 expr = ch(\"../tx\") }
+ }
+ channel ty {
+ lefttype = extend
+ righttype = extend
+ flags = 0
+ segment { length = 0 expr = ch(\"../ty\") }
+ }
+ channel tz {
+ lefttype = extend
+ righttype = extend
+ flags = 0
+ segment { length = 0 expr = ch(\"../tz\") }
+ }
+ channel rx {
+ lefttype = extend
+ righttype = extend
+ flags = 0
+ segment { length = 0 expr = ch(\"../rx\") }
+ }
+ channel ry {
+ lefttype = extend
+ righttype = extend
+ flags = 0
+ segment { length = 0 expr = ch(\"../ry\") }
+ }
+ channel rz {
+ lefttype = extend
+ righttype = extend
+ flags = 0
+ segment { length = 0 expr = ch(\"../rz\") }
+ }
+ channel orient {
+ lefttype = extend
+ righttype = extend
+ default = 2
+ flags = 0
+ segment { length = 0 value = 2 2 expr = ch(\"../radial_orient\") }
+ }
+ }
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/circle3.parm"
+Content-Type: text/plain
+
+{
+version 0.8
+type [ 0 locks=0 ] ( "poly" )
+orient [ 0 locks=0 ] ( [ orient 2 ] )
+rad [ 0 locks=0 ] ( [ radx 0.5 ] [ rady 0.5 ] )
+t [ 0 locks=0 ] ( [ tx 0 ] [ ty 0 ] [ tz 0 ] )
+r [ 0 locks=0 ] ( [ rx 0 ] [ ry 0 ] [ rz 0 ] )
+scale [ 0 locks=0 ] ( [ scale 1 ] )
+order [ 0 locks=0 ] ( 4 )
+divs [ 0 locks=0 ] ( [ divs 50 ] )
+arc [ 0 locks=0 ] ( "openarc" )
+angle [ 8 locks=0 ] ( [ beginangle 0 ] [ endangle 360 ] )
+imperfect [ 0 locks=0 ] ( "on" )
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/circle3.userdata"
+Content-Type: text/plain
+
+{
+ "___Version___":{
+ "type":"string",
+ "value":"18.0.391"
+ }
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/distribution_radial1.init"
+Content-Type: text/plain
+
+type = null
+matchesdef = 0
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/distribution_radial1.def"
+Content-Type: text/plain
+
+sopflags sopflags =
+comment ""
+position 65.7513 -3.30363
+connectornextid 2
+flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
+outputsNamed3
+{
+1 "output1"
+}
+inputsNamed3
+{
+0 transform5 1 1 "input1"
+}
+inputs
+{
+0 transform5 0 1
+}
+stat
+{
+ create 1508906600
+ modify 1569084319
+ author Henry@LAPPY586
+ access 0777
+}
+color UT_Color RGB 0.6 0.7 0.77
+delscript ""
+exprlanguage hscript
+end
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/distribution_radial1.parm"
+Content-Type: text/plain
+
+{
+version 0.8
+copyinput [ 0 locks=0 ] ( "on" )
+cacheinput [ 0 locks=0 ] ( "off" )
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/distribution_radial1.userdata"
+Content-Type: text/plain
+
+{
+ "___Version___":{
+ "type":"string",
+ "value":"18.0.391"
+ }
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/resample6.init"
+Content-Type: text/plain
+
+type = resample
+matchesdef = 0
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/resample6.def"
+Content-Type: text/plain
+
+sopflags sopflags =
+comment ""
+position 65.5922 3.00297
+connectornextid 2
+flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
+outputsNamed3
+{
+1 "output1"
+}
+inputsNamed3
+{
+0 circle3 0 1 "input1"
+}
+inputs
+{
+0 circle3 0 1
+}
+stat
+{
+ create 1508906585
+ modify 1586054043
+ author Henry@LAPPY586
+ access 0777
+}
+color UT_Color RGB 0.8 0.8 0.8
+delscript ""
+exprlanguage hscript
+end
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/resample6.chn"
+Content-Type: text/plain
+
+{
+ channel segs {
+ lefttype = extend
+ righttype = extend
+ default = 10
+ flags = 0
+ segment { length = 0 value = 10 10 expr = ch(\"../radial_npoints\") }
+ }
+ }
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/resample6.parm"
+Content-Type: text/plain
+
+{
+version 0.8
+group [ 0 locks=0 ] ( "" )
+lod [ 0 locks=0 ] ( 1 )
+edge [ 0 locks=0 ] ( "off" )
+method [ 0 locks=0 ] ( "dist" )
+measure [ 0 locks=0 ] ( "arc" )
+dolength [ 0 locks=0 ] ( "off" )
+length [ 0 locks=0 ] ( 0.10000000000000001 )
+dosegs [ 0 locks=0 ] ( "on" )
+segs [ 8 locks=0 ] ( [ segs 10 ] )
+useattribs [ 0 locks=0 ] ( "on" )
+allequal [ 0 locks=0 ] ( "on" )
+last [ 0 locks=0 ] ( "off" )
+randomshift [ 0 locks=0 ] ( "off" )
+onlypoints [ 0 locks=0 ] ( "off" )
+treatpolysas [ 0 locks=0 ] ( "subd" )
+outputsubdpoly [ 0 locks=0 ] ( "off" )
+doptdistattr [ 0 locks=0 ] ( "off" )
+ptdistattr [ 0 locks=0 ] ( ptdist )
+dotangentattr [ 0 locks=0 ] ( "off" )
+tangentattr [ 0 locks=0 ] ( tangentu )
+docurveuattr [ 0 locks=0 ] ( "off" )
+curveuattr [ 0 locks=0 ] ( curveu )
+docurvenumattr [ 0 locks=0 ] ( "off" )
+curvenumattr [ 0 locks=0 ] ( curvenum )
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/resample6.userdata"
+Content-Type: text/plain
+
+{
+ "___Version___":{
+ "type":"string",
+ "value":"18.0.391"
+ }
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/fuse1.init"
+Content-Type: text/plain
+
+type = fuse::2.0
+matchesdef = 0
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/fuse1.def"
+Content-Type: text/plain
+
+sopflags sopflags =
+comment ""
+position 65.7513 -1.26168
+connectornextid 2
+flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
+outputsNamed3
+{
+1 "output1"
+}
+inputsNamed3
+{
+0 do_align_radial 2 1 "input1"
+}
+inputs
+{
+0 do_align_radial 0 1
+}
+stat
+{
+ create 1567574022
+ modify 1569084319
+ author Henry@LAPPY586
+ access 0777
+}
+color UT_Color RGB 0.8 0.8 0.8
+delscript ""
+exprlanguage hscript
+end
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/fuse1.parm"
+Content-Type: text/plain
+
+{
+version 0.8
+querygroup [ 0 locks=0 ] ( "" )
+usetargetgroup [ 0 locks=0 ] ( "off" )
+targetgroup [ 0 locks=0 ] ( "" )
+modifyboth [ 0 locks=0 ] ( "off" )
+posattrib [ 0 locks=0 ] ( P )
+snapgroup [ 0 locks=0 ] ( 0 )
+snaptype [ 0 locks=0 ] ( "distancesnap" )
+algorithm [ 0 locks=0 ] ( "lowest" )
+usetol3d [ 0 locks=0 ] ( "on" )
+tol3d [ 0 locks=0 ] ( 0.001 )
+targetptattrib [ 0 locks=0 ] ( snap_to )
+targetclass [ 0 locks=0 ] ( "point" )
+usepositionsnapmethod [ 0 locks=0 ] ( "on" )
+positionsnapmethod [ 0 locks=0 ] ( "average" )
+useradiusattrib [ 0 locks=0 ] ( "off" )
+radiusattrib [ 0 locks=0 ] ( pscale )
+usematchattrib [ 0 locks=0 ] ( "off" )
+matchattrib [ 0 locks=0 ] ( name )
+matchtype [ 0 locks=0 ] ( "match" )
+matchtol [ 0 locks=0 ] ( 0 )
+gridtype [ 0 locks=0 ] ( "spacing" )
+gridspacing [ 0 locks=0 ] ( 0.10000000000000001 0.10000000000000001 0.10000000000000001 )
+gridlines [ 0 locks=0 ] ( 10 10 10 )
+gridpow2 [ 0 locks=0 ] ( 3 3 3 )
+gridoffset [ 0 locks=0 ] ( 0 0 0 )
+gridround [ 0 locks=0 ] ( "nearest" )
+usegridtol [ 0 locks=0 ] ( "on" )
+gridtol [ 0 locks=0 ] ( 10 )
+consolidategroup [ 0 locks=0 ] ( 0 )
+consolidatesnappedpoints [ 0 locks=0 ] ( "on" )
+keepconsolidatedpoints [ 0 locks=0 ] ( "off" )
+deldegen [ 0 locks=0 ] ( "on" )
+deldegenpoints [ 0 locks=0 ] ( "on" )
+delunusedpoints [ 0 locks=0 ] ( "off" )
+outputgroup [ 0 locks=0 ] ( 0 )
+recomputenml [ 0 locks=0 ] ( "on" )
+createsnappedgroup [ 0 locks=0 ] ( "off" )
+snappedgroupname [ 0 locks=0 ] ( snapped_points )
+createsnappedattrib [ 0 locks=0 ] ( "off" )
+snappedattribname [ 0 locks=0 ] ( snapped_to )
+numpointattribs [ 0 locks=0 ] ( 0 )
+numgroups [ 0 locks=0 ] ( 0 )
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/fuse1.userdata"
+Content-Type: text/plain
+
+{
+ "___Version___":{
+ "type":"string",
+ "value":"18.0.391"
+ }
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/transform5.init"
+Content-Type: text/plain
+
+type = xform
+matchesdef = 0
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/transform5.def"
+Content-Type: text/plain
+
+sopflags sopflags =
+comment ""
+position 65.7513 -2.20093
+connectornextid 2
+flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
+outputsNamed3
+{
+1 "output1"
+}
+inputsNamed3
+{
+0 fuse1 1 1 "input1"
+}
+inputs
+{
+0 fuse1 0 1
+}
+stat
+{
+ create 1567574335
+ modify 1569084319
+ author Henry@LAPPY586
+ access 0777
+}
+color UT_Color RGB 0.8 0.8 0.8
+delscript ""
+exprlanguage hscript
+end
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/transform5.parm"
+Content-Type: text/plain
+
+{
+version 0.8
+group [ 0 locks=0 ] ( "" )
+grouptype [ 0 locks=0 ] ( "guess" )
+xOrd [ 0 locks=0 ] ( "srt" )
+rOrd [ 0 locks=0 ] ( "xyz" )
+t [ 0 locks=0 ] ( 0 0 0 )
+r [ 0 locks=0 ] ( 0 0 0 )
+s [ 0 locks=0 ] ( 1 1 1 )
+shear [ 0 locks=0 ] ( 0 0 0 )
+scale [ 0 locks=0 ] ( 1 )
+parmgroup_pivotxform [ 0 locks=0 ] ( 0 )
+p [ 0 locks=0 ] ( 0 0 0 )
+pr [ 0 locks=0 ] ( 0 0 0 )
+parmgroup_prexform [ 0 locks=0 ] ( 0 )
+prexform_xOrd [ 0 locks=0 ] ( "srt" )
+prexform_rOrd [ 0 locks=0 ] ( "xyz" )
+prexform_t [ 0 locks=0 ] ( 0 0 0 )
+prexform_r [ 0 locks=0 ] ( 0 0 0 )
+prexform_s [ 0 locks=0 ] ( 1 1 1 )
+prexform_shear [ 0 locks=0 ] ( 0 0 0 )
+movecentroid [ 0 locks=0 ] ( 0 )
+attribs [ 0 locks=0 ] ( * )
+updatenmls [ 0 locks=0 ] ( "off" )
+updateaffectednmls [ 0 locks=0 ] ( "on" )
+vlength [ 0 locks=0 ] ( "on" )
+invertxform [ 0 locks=0 ] ( "off" )
+addattrib [ 0 locks=0 ] ( "off" )
+outputattrib [ 0 locks=0 ] ( xform )
+outputmerge [ 0 locks=0 ] ( "post" )
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/transform5.userdata"
+Content-Type: text/plain
+
+{
+ "___Version___":{
+ "type":"string",
+ "value":"18.0.391"
+ }
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/distribution_spherical1.init"
+Content-Type: text/plain
+
+type = null
+matchesdef = 0
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/distribution_spherical1.def"
+Content-Type: text/plain
+
+sopflags sopflags =
+comment ""
+position 72.4223 -2.53851
+connectornextid 2
+flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
+outputsNamed3
+{
+1 "output1"
+}
+inputsNamed3
+{
+0 sphere_align1 1 1 "input1"
+}
+inputs
+{
+0 sphere_align1 0 1
+}
+stat
+{
+ create 1508907126
+ modify 1568692328
+ author Henry@LAPPY586
+ access 0777
+}
+color UT_Color RGB 0.6 0.7 0.77
+delscript ""
+exprlanguage hscript
+end
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/distribution_spherical1.parm"
+Content-Type: text/plain
+
+{
+version 0.8
+copyinput [ 0 locks=0 ] ( "on" )
+cacheinput [ 0 locks=0 ] ( "off" )
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/distribution_spherical1.userdata"
+Content-Type: text/plain
+
+{
+ "___Version___":{
+ "type":"string",
+ "value":"18.0.391"
+ }
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/do_sphere_fill1.init"
+Content-Type: text/plain
+
+type = switch
+matchesdef = 0
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/do_sphere_fill1.def"
+Content-Type: text/plain
+
+sopflags sopflags =
+comment ""
+position 72.1561 0.562845
+connectornextid 3
+flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
+outputsNamed3
+{
+1 "output1"
+}
+inputsNamed3
+{
+0 scatter5 1 1 "input1"
+2 scatter6 1 1 "input2"
+}
+inputs
+{
+0 scatter5 0 1
+1 scatter6 0 1
+}
+stat
+{
+ create 1524779021
+ modify 1586054043
+ author Henry@LAPPY586
+ access 0777
+}
+color UT_Color RGB 0.8 1 0.7
+delscript ""
+exprlanguage hscript
+end
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/do_sphere_fill1.chn"
+Content-Type: text/plain
+
+{
+ channel input {
+ lefttype = extend
+ righttype = extend
+ flags = 0
+ segment { length = 0 expr = ch(\"../do_sphere_fill\") }
+ }
+ }
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/do_sphere_fill1.parm"
+Content-Type: text/plain
+
+{
+version 0.8
+input [ 0 locks=0 ] ( [ input 0 ] )
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/do_sphere_fill1.userdata"
+Content-Type: text/plain
+
+{
+ "___Version___":{
+ "type":"string",
+ "value":"18.0.391"
+ }
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/sphere2.init"
+Content-Type: text/plain
+
+type = sphere
+matchesdef = 0
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/sphere2.def"
+Content-Type: text/plain
+
+sopflags sopflags =
+comment ""
+position 68.8695 6.18907
+connectornextid 1
+flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
+outputsNamed3
+{
+0 "output1"
+}
+inputsNamed3
+{
+}
+inputs
+{
+}
+stat
+{
+ create 1529112153
+ modify 1586054043
+ author Henry@LAPPY586
+ access 0777
+}
+color UT_Color RGB 0.8 0.8 0.8
+delscript ""
+exprlanguage hscript
+end
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/sphere2.chn"
+Content-Type: text/plain
+
+{
+ channel scale {
+ lefttype = extend
+ righttype = extend
+ default = 1
+ flags = 0
+ segment { length = 0 value = 1 1 expr = ch(\"../sphere_radius\") }
+ }
+ }
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/sphere2.parm"
+Content-Type: text/plain
+
+{
+version 0.8
+type [ 0 locks=0 ] ( "nurbs" )
+surftype [ 0 locks=0 ] ( "quads" )
+rad [ 0 locks=0 ] ( 1 1 1 )
+t [ 0 locks=0 ] ( 0 0 0 )
+r [ 0 locks=0 ] ( 0 0 0 )
+scale [ 8 locks=0 ] ( [ scale 0.5 ] )
+orient [ 0 locks=0 ] ( "y" )
+freq [ 0 locks=0 ] ( 2 )
+rows [ 0 locks=0 ] ( 13 )
+cols [ 0 locks=0 ] ( 24 )
+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" )
+triangularpoles [ 0 locks=0 ] ( "on" )
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/sphere2.userdata"
+Content-Type: text/plain
+
+{
+ "___Version___":{
+ "type":"string",
+ "value":"18.0.391"
+ }
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/scatter5.init"
+Content-Type: text/plain
+
+type = scatter::2.0
+matchesdef = 0
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/scatter5.def"
+Content-Type: text/plain
+
+sopflags sopflags =
+comment ""
+position 70.0633 1.88861
+connectornextid 2
+flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
+outputsNamed3
+{
+1 "output1"
+}
+inputsNamed3
+{
+0 copytopoints3 1 1 "input1"
+}
+inputs
+{
+0 copytopoints3 0 1
+}
+stat
+{
+ create 1529112159
+ modify 1586054043
+ author Henry@LAPPY586
+ access 0777
+}
+color UT_Color RGB 0.8 0.8 0.8
+delscript ""
+exprlanguage hscript
+end
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/scatter5.chn"
+Content-Type: text/plain
+
+{
+ channel seed {
+ lefttype = extend
+ righttype = extend
+ flags = 0
+ segment { length = 0 expr = ch(\"../sphere_seed\")+12345 }
+ }
+ channel npts {
+ lefttype = extend
+ righttype = extend
+ default = 10
+ flags = 0
+ segment { length = 0 value = 10 10 expr = ch(\"../sphere_npoints\") }
+ }
+ channel relaxpoints {
+ lefttype = extend
+ righttype = extend
+ flags = 0
+ segment { length = 0 expr = ch(\"../relaxpoints\") }
+ }
+ channel relaxiterations {
+ lefttype = extend
+ righttype = extend
+ default = 10
+ flags = 0
+ segment { length = 0 value = 10 10 expr = ch(\"../relaxiterations3\") }
+ }
+ channel scaleradiiby {
+ lefttype = extend
+ righttype = extend
+ default = 1
+ flags = 0
+ segment { length = 0 value = 1 1 expr = ch(\"../scaleradiiby3\") }
+ }
+ channel maxradius {
+ lefttype = extend
+ righttype = extend
+ default = 10
+ flags = 0
+ segment { length = 0 value = 10 10 expr = ch(\"../maxradius\") }
+ }
+ }
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/scatter5.parm"
+Content-Type: text/plain
+
+{
+version 0.8
+group [ 0 locks=0 ] ( "" )
+stdswitcher [ 0 locks=0 ] ( 0 0 )
+generateby [ 0 locks=0 ] ( "bydensity" )
+densityscale [ 0 locks=0 ] ( 10 )
+usedensityattrib [ 0 locks=0 ] ( "off" )
+densityattrib [ 0 locks=0 ] ( density )
+useareaattrib [ 0 locks=0 ] ( "off" )
+areaattrib [ 0 locks=0 ] ( area )
+indepvoxel [ 0 locks=0 ] ( "off" )
+useareaforvolumes [ 0 locks=0 ] ( "off" )
+forcetotal [ 0 locks=0 ] ( "on" )
+npts [ 8 locks=0 ] ( [ npts 391 ] )
+usedensitytexture [ 0 locks=0 ] ( "off" )
+densitytexture [ 0 locks=0 ] ( default.pic )
+primcountattrib [ 0 locks=0 ] ( count )
+useemergencylimit [ 0 locks=0 ] ( "on" )
+emergencylimit [ 0 locks=0 ] ( 1000000 )
+seed [ 8 locks=0 ] ( [ seed 12345 ] )
+overrideprimseed [ 0 locks=0 ] ( "off" )
+primseedattrib [ 0 locks=0 ] ( primid )
+randomizeorder [ 0 locks=0 ] ( "on" )
+relaxpoints [ 0 locks=0 ] ( [ relaxpoints 1 ] )
+relaxiterations [ 0 locks=0 ] ( [ relaxiterations 10 ] )
+scaleradiiby [ 0 locks=0 ] ( [ scaleradiiby 2 ] )
+usemaxradius [ 0 locks=0 ] ( "on" )
+maxradius [ 0 locks=0 ] ( [ maxradius 100 ] )
+useprimnumattrib [ 0 locks=0 ] ( "off" )
+primnumattrib [ 0 locks=0 ] ( sourceprim )
+useprimuvwattrib [ 0 locks=0 ] ( "off" )
+primuvwattrib [ 0 locks=0 ] ( sourceprimuv )
+useoutputdensityattrib [ 0 locks=0 ] ( "off" )
+outputdensityattrib [ 0 locks=0 ] ( density )
+useoutputradiusattrib [ 0 locks=0 ] ( "off" )
+outputradiusattrib [ 0 locks=0 ] ( pscale )
+radiusintexturespace [ 0 locks=0 ] ( "off" )
+pointattribs [ 0 locks=0 ] ( * )
+vertattribs [ 0 locks=0 ] ( "" )
+primattribs [ 0 locks=0 ] ( "" )
+detailattribs [ 0 locks=0 ] ( "" )
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/scatter5.userdata"
+Content-Type: text/plain
+
+{
+ "___Version___":{
+ "type":"string",
+ "value":"18.0.391"
+ }
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/carve3.init"
+Content-Type: text/plain
+
+type = carve
+matchesdef = 0
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/carve3.def"
+Content-Type: text/plain
+
+sopflags sopflags =
+comment ""
+position 68.8695 5.43666
+connectornextid 2
+flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
+outputsNamed3
+{
+1 "output1"
+}
+inputsNamed3
+{
+0 sphere2 0 1 "input1"
+}
+inputs
+{
+0 sphere2 0 1
+}
+stat
+{
+ create 1529112407
+ modify 1586054043
+ author Henry@LAPPY586
+ access 0777
+}
+color UT_Color RGB 0.8 0.8 0.8
+delscript ""
+exprlanguage hscript
+end
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/carve3.chn"
+Content-Type: text/plain
+
+{
+ channel domainv2 {
+ lefttype = extend
+ righttype = extend
+ default = 1
+ flags = 0
+ segment { length = 0 value = 1 1 expr = ch(\"../sphere_cone\")/360.0 }
+ }
+ }
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/carve3.parm"
+Content-Type: text/plain
+
+{
+version 0.8
+group [ 0 locks=0 ] ( "" )
+firstu [ 0 locks=0 ] ( "off" )
+domainu1 [ 0 locks=0 ] ( 0 )
+secondu [ 0 locks=0 ] ( "off" )
+domainu2 [ 0 locks=0 ] ( 1 )
+firstv [ 0 locks=0 ] ( "on" )
+domainv1 [ 0 locks=0 ] ( 0 )
+secondv [ 0 locks=0 ] ( "on" )
+domainv2 [ 8 locks=0 ] ( [ domainv2 1 ] )
+onlybreakpoints [ 0 locks=0 ] ( "off" "off" )
+divsu [ 0 locks=0 ] ( 2 )
+divsv [ 0 locks=0 ] ( 2 )
+allubreakpoints [ 0 locks=0 ] ( "off" )
+allvbreakpoints [ 0 locks=0 ] ( "off" )
+stdswitcher [ 0 locks=0 ] ( 0 0 )
+keepin [ 0 locks=0 ] ( "on" )
+keepout [ 0 locks=0 ] ( "off" )
+extractop [ 0 locks=0 ] ( "xisoparm" )
+keepOriginal [ 0 locks=0 ] ( "off" )
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/carve3.userdata"
+Content-Type: text/plain
+
+{
+ "___Version___":{
+ "type":"string",
+ "value":"18.0.391"
+ }
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/add6.init"
+Content-Type: text/plain
+
+type = add
+matchesdef = 0
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/add6.def"
+Content-Type: text/plain
+
+sopflags sopflags =
+comment ""
+position 71.7703 6.33997
+connectornextid 1
+flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
+outputsNamed3
+{
+0 "output1"
+}
+inputsNamed3
+{
+}
+inputs
+{
+}
+stat
+{
+ create 1529112573
+ modify 1568608891
+ author Henry@LAPPY586
+ access 0777
+}
+color UT_Color RGB 0.8 0.8 0.8
+delscript ""
+exprlanguage hscript
+end
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/add6.parm"
+Content-Type: text/plain
+
+{
+version 0.8
+stdswitcher [ 0 locks=0 ] ( 0 0 0 )
+keep [ 0 locks=0 ] ( "off" )
+points [ 0 locks=0 ] ( 1 )
+remove [ 0 locks=0 ] ( "off" )
+switcher [ 0 locks=0 ] ( 0 0 )
+prims [ 0 locks=0 ] ( 1 )
+group [ 0 locks=0 ] ( "" )
+add [ 0 locks=0 ] ( "all" )
+inc [ 0 locks=0 ] ( 2 )
+attrname [ 0 locks=0 ] ( "" )
+closedall [ 0 locks=0 ] ( "off" )
+addparticlesystem [ 0 locks=0 ] ( "off" )
+particlegroup [ 0 locks=0 ] ( "" )
+appendunusedtoparticlesystem [ 0 locks=0 ] ( "off" )
+usept0 [ 0 locks=0 ] ( "on" )
+pt0 [ 0 locks=0 ] ( 0 0 0 )
+weight0 [ 0 locks=0 ] ( 1 )
+prim0 [ 0 locks=0 ] ( "" )
+closed0 [ 0 locks=0 ] ( "off" )
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/add6.userdata"
+Content-Type: text/plain
+
+{
+ "___Version___":{
+ "type":"string",
+ "value":"18.0.391"
+ }
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/copytopoints3.init"
+Content-Type: text/plain
+
+type = copytopoints
+matchesdef = 0
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/copytopoints3.def"
+Content-Type: text/plain
+
+sopflags sopflags =
+comment ""
+position 70.0633 4.47856
+connectornextid 3
+flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
+outputsNamed3
+{
+1 "output1"
+}
+inputsNamed3
+{
+0 carve3 1 1 "input1"
+2 determine_sphere_orientation 1 1 "input2"
+}
+inputs
+{
+0 carve3 0 1
+1 determine_sphere_orientation 0 1
+}
+stat
+{
+ create 1529112581
+ modify 1568612490
+ author Henry@LAPPY586
+ access 0777
+}
+color UT_Color RGB 1 0.65 0.1
+delscript ""
+exprlanguage hscript
+end
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/copytopoints3.parm"
+Content-Type: text/plain
+
+{
+version 0.8
+sourcegroup [ 0 locks=0 ] ( "" )
+targetgroup [ 0 locks=0 ] ( "" )
+showguide [ 0 locks=0 ] ( "on" )
+pack [ 0 locks=0 ] ( "off" )
+pivot [ 0 locks=0 ] ( "centroid" )
+viewportlod [ 0 locks=0 ] ( "full" )
+transform [ 0 locks=0 ] ( "on" )
+doattr [ 0 locks=0 ] ( "on" )
+labelparm [ 0 locks=0 ] ( Set Mult Add Sub )
+setpt [ 0 locks=0 ] ( *,^v,^Alpha )
+mulpt [ 0 locks=0 ] ( Alpha )
+addpt [ 0 locks=0 ] ( v )
+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 ] ( "" )
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/copytopoints3.userdata"
+Content-Type: text/plain
+
+{
+ "___Version___":{
+ "type":"string",
+ "value":"18.0.391"
+ }
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/vdbfrompolygons3.init"
+Content-Type: text/plain
+
+type = vdbfrompolygons
+matchesdef = 0
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/vdbfrompolygons3.def"
+Content-Type: text/plain
+
+sopflags sopflags =
+comment ""
+position 72.3893 2.77545
+connectornextid 2
+flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
+outputsNamed3
+{
+1 "output1"
+}
+inputsNamed3
+{
+0 polyfill2 1 1 "input1"
+}
+inputs
+{
+0 polyfill2 0 1
+}
+stat
+{
+ create 1529112948
+ modify 1586054043
+ author Henry@LAPPY586
+ access 0777
+}
+color UT_Color RGB 0.8 0.8 0.8
+delscript ""
+exprlanguage hscript
+end
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/vdbfrompolygons3.chn"
+Content-Type: text/plain
+
+{
+ channel voxelsize {
+ lefttype = extend
+ righttype = extend
+ default = 0.10000000000000001
+ flags = 0
+ segment { length = 0 value = 0.10000000000000001 0.10000000000000001 expr = "0.1 * ch(\"../sphere_radius\")" }
+ }
+ }
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/vdbfrompolygons3.parm"
+Content-Type: text/plain
+
+{
+version 0.8
+voxelsize [ 8 locks=0 ] ( [ voxelsize 0.10000000000000001 ] )
+group [ 0 locks=0 ] ( "" )
+builddistance [ 0 locks=0 ] ( "off" )
+distancename [ 0 locks=0 ] ( surface )
+buildfog [ 0 locks=0 ] ( "on" )
+fogname [ 0 locks=0 ] ( density )
+useworldspaceunits [ 0 locks=0 ] ( "off" )
+exteriorbandvoxels [ 0 locks=0 ] ( 3 )
+interiorbandvoxels [ 0 locks=0 ] ( 3 )
+exteriorband [ 0 locks=0 ] ( 1 )
+interiorband [ 0 locks=0 ] ( 1 )
+fillinterior [ 0 locks=0 ] ( "off" )
+unsigneddist [ 0 locks=0 ] ( "off" )
+numattrib [ 0 locks=0 ] ( 0 )
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/vdbfrompolygons3.userdata"
+Content-Type: text/plain
+
+{
+ "___Version___":{
+ "type":"string",
+ "value":"18.0.391"
+ }
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/polyfill2.init"
+Content-Type: text/plain
+
+type = polyfill
+matchesdef = 0
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/polyfill2.def"
+Content-Type: text/plain
+
+sopflags sopflags =
+comment ""
+position 72.3905 3.67855
+connectornextid 2
+flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
+outputsNamed3
+{
+1 "output1"
+}
+inputsNamed3
+{
+0 copytopoints3 1 1 "input1"
+}
+inputs
+{
+0 copytopoints3 0 1
+}
+stat
+{
+ create 1529113053
+ modify 1568608891
+ author Henry@LAPPY586
+ access 0777
+}
+color UT_Color RGB 0.8 0.8 0.8
+delscript ""
+exprlanguage hscript
+end
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/polyfill2.parm"
+Content-Type: text/plain
+
+{
+version 0.8
+group [ 0 locks=0 ] ( "" )
+fillmode [ 0 locks=0 ] ( "none" )
+completeloops [ 0 locks=0 ] ( "on" )
+reverse [ 0 locks=0 ] ( "off" )
+uniquepoints [ 0 locks=0 ] ( "off" )
+updatenorms [ 0 locks=0 ] ( "on" )
+looptoggle [ 0 locks=0 ] ( "off" )
+loopdistance [ 0 locks=0 ] ( 0.25 )
+smoothtoggle [ 0 locks=0 ] ( "on" )
+smoothstrength [ 0 locks=0 ] ( 50 )
+perfectgrid [ 0 locks=0 ] ( 0 )
+corneroffset [ 0 locks=0 ] ( 0 )
+customcornerstoggle [ 0 locks=0 ] ( "off" )
+customcorners [ 0 locks=0 ] ( "" )
+subdivtoggle [ 0 locks=0 ] ( "on" )
+translate [ 0 locks=0 ] ( 0.25 )
+tangentstrength [ 0 locks=0 ] ( 0.40000000000000002 )
+groups [ 0 locks=0 ] ( 0 )
+patchgrouptoggle [ 0 locks=0 ] ( "off" )
+patchgroup [ 0 locks=0 ] ( patch )
+loopgrouptoggle [ 0 locks=0 ] ( "off" )
+loopgroup [ 0 locks=0 ] ( loopgroup )
+groupappend [ 0 locks=0 ] ( "off" )
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/polyfill2.userdata"
+Content-Type: text/plain
+
+{
+ "___Version___":{
+ "type":"string",
+ "value":"18.0.391"
+ }
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/scatter6.init"
+Content-Type: text/plain
+
+type = scatter::2.0
+matchesdef = 0
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/scatter6.def"
+Content-Type: text/plain
+
+sopflags sopflags =
+comment ""
+position 72.3905 1.88861
+connectornextid 2
+flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
+outputsNamed3
+{
+1 "output1"
+}
+inputsNamed3
+{
+0 vdbfrompolygons3 1 1 "input1"
+}
+inputs
+{
+0 vdbfrompolygons3 0 1
+}
+stat
+{
+ create 1529112159
+ modify 1586054043
+ author Henry@LAPPY586
+ access 0777
+}
+color UT_Color RGB 0.8 0.8 0.8
+delscript ""
+exprlanguage hscript
+end
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/scatter6.chn"
+Content-Type: text/plain
+
+{
+ channel npts {
+ lefttype = extend
+ righttype = extend
+ default = 1000
+ flags = 0
+ segment { length = 0 value = 1000 1000 expr = ch(\"../globals/npoints\") }
+ }
+ channel seed {
+ lefttype = extend
+ righttype = extend
+ flags = 0
+ segment { length = 0 expr = ch(\"../sphere_seed\") }
+ }
+ channel relaxpoints {
+ lefttype = extend
+ righttype = extend
+ default = 1
+ flags = 0
+ segment { length = 0 value = 1 1 expr = ch(\"../relaxpoints\") }
+ }
+ channel relaxiterations {
+ lefttype = extend
+ righttype = extend
+ default = 10
+ flags = 0
+ segment { length = 0 value = 10 10 expr = ch(\"../relaxiterations3\") }
+ }
+ channel scaleradiiby {
+ lefttype = extend
+ righttype = extend
+ default = 1
+ flags = 0
+ segment { length = 0 value = 1 1 expr = ch(\"../scaleradiiby3\") }
+ }
+ channel maxradius {
+ lefttype = extend
+ righttype = extend
+ default = 10
+ flags = 0
+ segment { length = 0 value = 10 10 expr = ch(\"../maxradius\") }
+ }
+ }
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/scatter6.parm"
+Content-Type: text/plain
+
+{
+version 0.8
+group [ 0 locks=0 ] ( "" )
+stdswitcher [ 0 locks=0 ] ( 0 0 )
+generateby [ 0 locks=0 ] ( "bydensity" )
+densityscale [ 0 locks=0 ] ( 10 )
+usedensityattrib [ 0 locks=0 ] ( "off" )
+densityattrib [ 0 locks=0 ] ( density )
+useareaattrib [ 0 locks=0 ] ( "off" )
+areaattrib [ 0 locks=0 ] ( area )
+indepvoxel [ 0 locks=0 ] ( "off" )
+useareaforvolumes [ 0 locks=0 ] ( "off" )
+forcetotal [ 0 locks=0 ] ( "on" )
+npts [ 8 locks=0 ] ( [ npts 10 ] )
+usedensitytexture [ 0 locks=0 ] ( "off" )
+densitytexture [ 0 locks=0 ] ( default.pic )
+primcountattrib [ 0 locks=0 ] ( count )
+useemergencylimit [ 0 locks=0 ] ( "on" )
+emergencylimit [ 0 locks=0 ] ( 1000000 )
+seed [ 8 locks=0 ] ( [ seed 0 ] )
+overrideprimseed [ 0 locks=0 ] ( "off" )
+primseedattrib [ 0 locks=0 ] ( primid )
+randomizeorder [ 0 locks=0 ] ( "on" )
+relaxpoints [ 0 locks=0 ] ( [ relaxpoints 1 ] )
+relaxiterations [ 0 locks=0 ] ( [ relaxiterations 10 ] )
+scaleradiiby [ 0 locks=0 ] ( [ scaleradiiby 0.30399999999999999 ] )
+usemaxradius [ 0 locks=0 ] ( "on" )
+maxradius [ 0 locks=0 ] ( [ maxradius 5.0999999999999996 ] )
+useprimnumattrib [ 0 locks=0 ] ( "off" )
+primnumattrib [ 0 locks=0 ] ( sourceprim )
+useprimuvwattrib [ 0 locks=0 ] ( "off" )
+primuvwattrib [ 0 locks=0 ] ( sourceprimuv )
+useoutputdensityattrib [ 0 locks=0 ] ( "off" )
+outputdensityattrib [ 0 locks=0 ] ( density )
+useoutputradiusattrib [ 0 locks=0 ] ( "off" )
+outputradiusattrib [ 0 locks=0 ] ( pscale )
+radiusintexturespace [ 0 locks=0 ] ( "off" )
+pointattribs [ 0 locks=0 ] ( * )
+vertattribs [ 0 locks=0 ] ( "" )
+primattribs [ 0 locks=0 ] ( "" )
+detailattribs [ 0 locks=0 ] ( "" )
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/scatter6.userdata"
+Content-Type: text/plain
+
+{
+ "___Version___":{
+ "type":"string",
+ "value":"18.0.391"
+ }
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/distribution_grid1.init"
+Content-Type: text/plain
+
+type = null
+matchesdef = 0
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/distribution_grid1.def"
+Content-Type: text/plain
+
+sopflags sopflags =
+comment ""
+position 79.0145 -2.71152
+connectornextid 2
+flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
+outputsNamed3
+{
+1 "output1"
+}
+inputsNamed3
+{
+0 grid_align1 1 1 "input1"
+}
+inputs
+{
+0 grid_align1 0 1
+}
+stat
+{
+ create 1508908717
+ modify 1568608891
+ author Henry@LAPPY586
+ access 0777
+}
+color UT_Color RGB 0.6 0.7 0.77
+delscript ""
+exprlanguage hscript
+end
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/distribution_grid1.parm"
+Content-Type: text/plain
+
+{
+version 0.8
+copyinput [ 0 locks=0 ] ( "on" )
+cacheinput [ 0 locks=0 ] ( "off" )
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/distribution_grid1.userdata"
+Content-Type: text/plain
+
+{
+ "___Version___":{
+ "type":"string",
+ "value":"18.0.391"
+ }
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/add7.init"
+Content-Type: text/plain
+
+type = add
+matchesdef = 0
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/add7.def"
+Content-Type: text/plain
+
+sopflags sopflags =
+comment ""
+position 79.4272 3.90892
+connectornextid 1
+flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
+outputsNamed3
+{
+0 "output1"
+}
+inputsNamed3
+{
+}
+inputs
+{
+}
+stat
+{
+ create 1508908016
+ modify 1568608891
+ author Henry@LAPPY586
+ access 0777
+}
+color UT_Color RGB 0.8 0.8 0.8
+delscript ""
+exprlanguage hscript
+end
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/add7.parm"
+Content-Type: text/plain
+
+{
+version 0.8
+stdswitcher [ 0 locks=0 ] ( 0 0 0 )
+keep [ 0 locks=0 ] ( "off" )
+points [ 0 locks=0 ] ( 1 )
+remove [ 0 locks=0 ] ( "off" )
+switcher [ 0 locks=0 ] ( 0 0 )
+prims [ 0 locks=0 ] ( 1 )
+group [ 0 locks=0 ] ( "" )
+add [ 0 locks=0 ] ( "all" )
+inc [ 0 locks=0 ] ( 2 )
+attrname [ 0 locks=0 ] ( "" )
+closedall [ 0 locks=0 ] ( "off" )
+addparticlesystem [ 0 locks=0 ] ( "off" )
+particlegroup [ 0 locks=0 ] ( "" )
+appendunusedtoparticlesystem [ 0 locks=0 ] ( "off" )
+usept0 [ 0 locks=0 ] ( "off" )
+pt0 [ 0 locks=0 ] ( 0 0 0 )
+weight0 [ 0 locks=0 ] ( 1 )
+prim0 [ 0 locks=0 ] ( "" )
+closed0 [ 0 locks=0 ] ( "off" )
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/add7.userdata"
+Content-Type: text/plain
+
+{
+ "___Version___":{
+ "type":"string",
+ "value":"18.0.391"
+ }
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/grid_distribution_type1.init"
+Content-Type: text/plain
+
+type = switch
+matchesdef = 0
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/grid_distribution_type1.def"
+Content-Type: text/plain
+
+sopflags sopflags =
+comment ""
+position 79.1154 0.995922
+connectornextid 3
+flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
+outputsNamed3
+{
+1 "output1"
+}
+inputsNamed3
+{
+2 generate_alt_grid_points1 1 1 "input1"
+0 generate_grid_points1 0 1 "input2"
+}
+inputs
+{
+0 generate_alt_grid_points1 0 1
+1 generate_grid_points1 0 1
+}
+stat
+{
+ create 1522120313
+ modify 1586054043
+ author Henry@LAPPY586
+ access 0777
+}
+color UT_Color RGB 0.8 1 0.7
+delscript ""
+exprlanguage hscript
+end
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/grid_distribution_type1.chn"
+Content-Type: text/plain
+
+{
+ channel input {
+ lefttype = extend
+ righttype = extend
+ flags = 0
+ segment { length = 0 expr = ch(\"../grid_distrib_type\") }
+ }
+ }
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/grid_distribution_type1.parm"
+Content-Type: text/plain
+
+{
+version 0.8
+input [ 0 locks=0 ] ( [ input 0 ] )
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/grid_distribution_type1.userdata"
+Content-Type: text/plain
+
+{
+ "___Version___":{
+ "type":"string",
+ "value":"18.0.391"
+ }
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/input_curve1.init"
+Content-Type: text/plain
+
+type = null
+matchesdef = 0
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/input_curve1.def"
+Content-Type: text/plain
+
+sopflags sopflags =
+comment ""
+position 93.0064 10.5393
+connectornextid 2
+flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
+outputsNamed3
+{
+1 "output1"
+}
+inputsNamed3
+{
+0 enumerate4 1 1 "input1"
+}
+inputs
+{
+0 enumerate4 0 1
+}
+stat
+{
+ create 1508906106
+ modify 1568866915
+ author Henry@LAPPY586
+ access 0777
+}
+color UT_Color RGB 0.6 0.7 0.77
+delscript ""
+exprlanguage hscript
+end
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/input_curve1.parm"
+Content-Type: text/plain
+
+{
+version 0.8
+copyinput [ 0 locks=0 ] ( "on" )
+cacheinput [ 0 locks=0 ] ( "off" )
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/input_curve1.userdata"
+Content-Type: text/plain
+
+{
+ "___Version___":{
+ "type":"string",
+ "value":"18.0.391"
+ }
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/SOURCE_TEMPLATE.init"
+Content-Type: text/plain
+
+type = object_merge
+matchesdef = 0
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/SOURCE_TEMPLATE.def"
+Content-Type: text/plain
+
+sopflags sopflags =
+comment ""
+position 97.6536 22.0326
+connectornextid 1
+flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault off exposed on
+outputsNamed3
+{
+0 "output1"
+}
+inputsNamed3
+{
+}
+inputs
+{
+}
+stat
+{
+ create 1513226016
+ modify 1586054043
+ author Henry@LAPPY586
+ access 0777
+}
+color UT_Color RGB 0.8 1 0.8
+delscript ""
+exprlanguage hscript
+end
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/SOURCE_TEMPLATE.chn"
+Content-Type: text/plain
+
+{
+ channel objpath1 {
+ lefttype = extend
+ righttype = extend
+ defaultString = \"../null2\"
+ flags = 0
+ segment { length = 0 expr = chsop(\"../inputMesh\") }
+ }
+ channel group1 {
+ lefttype = extend
+ righttype = extend
+ defaultString = \"\"
+ flags = 0
+ segment { length = 0 expr = chs(\"../inputMeshGroup\") }
+ }
+ }
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/SOURCE_TEMPLATE.parm"
+Content-Type: text/plain
+
+{
+version 0.8
+numobj [ 0 locks=0 ] ( 1 )
+_separator [ 0 locks=0 ] ( )
+xformtype [ 0 locks=0 ] ( "local" )
+xformpath [ 0 locks=0 ] ( "" )
+invertxform [ 0 locks=0 ] ( "off" )
+createptgroups [ 0 locks=0 ] ( "off" )
+ptgroupprefix [ 0 locks=0 ] ( _ptgrp_ )
+createprimgroups [ 0 locks=0 ] ( "off" )
+primgroupprefix [ 0 locks=0 ] ( _primgrp_ )
+verbosegroups [ 0 locks=0 ] ( "off" )
+suffixfirstgroup [ 0 locks=0 ] ( "on" )
+createptstring [ 0 locks=0 ] ( "off" )
+createprimstring [ 0 locks=0 ] ( "off" )
+pathattrib [ 0 locks=0 ] ( objname )
+pack [ 0 locks=0 ] ( "off" )
+pivot [ 0 locks=0 ] ( "centroid" )
+viewportlod [ 0 locks=0 ] ( "full" )
+addpath [ 0 locks=0 ] ( "on" )
+enable1 [ 0 locks=0 ] ( "on" )
+objpath1 [ 0 locks=0 ] ( [ objpath1 /obj/geo1/TEMPLATE ] )
+group1 [ 0 locks=0 ] ( [ group1 "" ] )
+expand1 [ 0 locks=0 ] ( "off" )
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/SOURCE_TEMPLATE.userdata"
+Content-Type: text/plain
+
+{
+ "___Version___":{
+ "type":"string",
+ "value":"18.0.391"
+ }
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/resample7.init"
+Content-Type: text/plain
+
+type = resample
+matchesdef = 0
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/resample7.def"
+Content-Type: text/plain
+
+sopflags sopflags =
+comment ""
+position 94.3922 6.71642
+connectornextid 2
+flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
+outputsNamed3
+{
+1 "output1"
+}
+inputsNamed3
+{
+0 convert2 1 1 "input1"
+}
+inputs
+{
+0 convert2 0 1
+}
+stat
+{
+ create 1521087863
+ modify 1586054043
+ author Henry@LAPPY586
+ access 0777
+}
+color UT_Color RGB 0.8 0.8 0.8
+delscript ""
+exprlanguage hscript
+end
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/resample7.chn"
+Content-Type: text/plain
+
+{
+ channel edge {
+ lefttype = extend
+ righttype = extend
+ flags = 0
+ segment { length = 0 expr = ch(\"../edge\") }
+ }
+ channel method {
+ lefttype = extend
+ righttype = extend
+ flags = 0
+ segment { length = 0 expr = ch(\"../method\") }
+ }
+ channel measure {
+ lefttype = extend
+ righttype = extend
+ flags = 0
+ segment { length = 0 expr = ch(\"../measure\") }
+ }
+ channel dolength {
+ lefttype = extend
+ righttype = extend
+ default = 1
+ flags = 0
+ segment { length = 0 value = 1 1 expr = ch(\"../dolength\") }
+ }
+ channel length {
+ lefttype = extend
+ righttype = extend
+ default = 0.10000000000000001
+ flags = 0
+ segment { length = 0 value = 0.10000000000000001 0.10000000000000001 expr = ch(\"../length\") }
+ }
+ channel dosegs {
+ lefttype = extend
+ righttype = extend
+ flags = 0
+ segment { length = 0 expr = ch(\"../dosegs\") }
+ }
+ channel segs {
+ lefttype = extend
+ righttype = extend
+ default = 30
+ flags = 0
+ segment { length = 0 value = 30 30 expr = ch(\"../segs\") }
+ }
+ channel treatpolysas {
+ lefttype = extend
+ righttype = extend
+ default = 1
+ flags = 0
+ segment { length = 0 value = 1 1 expr = ch(\"../treatpolysas\") }
+ }
+ }
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/resample7.parm"
+Content-Type: text/plain
+
+{
+version 0.8
+group [ 0 locks=0 ] ( "" )
+lod [ 0 locks=0 ] ( 1 )
+edge [ 0 locks=0 ] ( [ edge 0 ] )
+method [ 0 locks=0 ] ( [ method 0 ] )
+measure [ 0 locks=0 ] ( [ measure 0 ] )
+dolength [ 0 locks=0 ] ( [ dolength 0 ] )
+length [ 8 locks=0 ] ( [ length 0.10000000000000001 ] )
+dosegs [ 0 locks=0 ] ( [ dosegs 1 ] )
+segs [ 0 locks=0 ] ( [ segs 10 ] )
+useattribs [ 0 locks=0 ] ( "on" )
+allequal [ 0 locks=0 ] ( "on" )
+last [ 0 locks=0 ] ( "on" )
+randomshift [ 0 locks=0 ] ( "off" )
+onlypoints [ 0 locks=0 ] ( "off" )
+treatpolysas [ 0 locks=0 ] ( [ treatpolysas 1 ] )
+outputsubdpoly [ 0 locks=0 ] ( "off" )
+doptdistattr [ 0 locks=0 ] ( "off" )
+ptdistattr [ 0 locks=0 ] ( ptdist )
+dotangentattr [ 0 locks=0 ] ( "off" )
+tangentattr [ 0 locks=0 ] ( tangentu )
+docurveuattr [ 0 locks=0 ] ( "on" )
+curveuattr [ 0 locks=0 ] ( __curveu )
+docurvenumattr [ 0 locks=0 ] ( "on" )
+curvenumattr [ 0 locks=0 ] ( __sourceprim )
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/resample7.userdata"
+Content-Type: text/plain
+
+{
+ "___Version___":{
+ "type":"string",
+ "value":"18.0.391"
+ }
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/do_orient_curve.init"
+Content-Type: text/plain
+
+type = switch
+matchesdef = 0
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/do_orient_curve.def"
+Content-Type: text/plain
+
+sopflags sopflags =
+comment ""
+position 93.3863 2.73457
+connectornextid 3
+flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
+outputsNamed3
+{
+2 "output1"
+}
+inputsNamed3
+{
+0 curve_orient_N_up 1 1 "input1"
+1 MOPs_Orient_Curve2 1 1 "input2"
+}
+inputs
+{
+0 curve_orient_N_up 0 1
+1 MOPs_Orient_Curve2 0 1
+}
+stat
+{
+ create 1567742580
+ modify 1586054043
+ author Henry@LAPPY586
+ access 0777
+}
+color UT_Color RGB 0.8 1 0.7
+delscript ""
+exprlanguage hscript
+end
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/do_orient_curve.chn"
+Content-Type: text/plain
+
+{
+ channel input {
+ lefttype = extend
+ righttype = extend
+ default = 1
+ flags = 0
+ segment { length = 0 value = 1 1 expr = ch(\"../do_orient_curve\") }
+ }
+ }
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/do_orient_curve.parm"
+Content-Type: text/plain
+
+{
+version 0.8
+input [ 8 locks=0 ] ( [ input 1 ] )
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/do_orient_curve.userdata"
+Content-Type: text/plain
+
+{
+ "___Version___":{
+ "type":"string",
+ "value":"18.0.391"
+ }
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/distribution_curve1.init"
+Content-Type: text/plain
+
+type = null
+matchesdef = 0
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/distribution_curve1.def"
+Content-Type: text/plain
+
+sopflags sopflags =
+comment ""
+position 93.3818 -3.39584
+connectornextid 2
+flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
+outputsNamed3
+{
+1 "output1"
+}
+inputsNamed3
+{
+0 timeshift3 1 1 "input1"
+}
+inputs
+{
+0 timeshift3 0 1
+}
+stat
+{
+ create 1567742951
+ modify 1579909422
+ author Henry@LAPPY586
+ access 0777
+}
+color UT_Color RGB 0.6 0.7 0.77
+delscript ""
+exprlanguage hscript
+end
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/distribution_curve1.parm"
+Content-Type: text/plain
+
+{
+version 0.8
+copyinput [ 0 locks=0 ] ( "on" )
+cacheinput [ 0 locks=0 ] ( "off" )
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/distribution_curve1.userdata"
+Content-Type: text/plain
+
+{
+ "___Version___":{
+ "type":"string",
+ "value":"18.0.391"
+ }
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/distribution_honeycomb1.init"
+Content-Type: text/plain
+
+type = null
+matchesdef = 0
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/distribution_honeycomb1.def"
+Content-Type: text/plain
+
+sopflags sopflags =
+comment ""
+position 85.8906 -2.71152
+connectornextid 2
+flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
+outputsNamed3
+{
+1 "output1"
+}
+inputsNamed3
+{
+0 center1 1 1 "input1"
+}
+inputs
+{
+0 center1 0 1
+}
+stat
+{
+ create 1522300885
+ modify 1568608891
+ author Henry@LAPPY586
+ access 0777
+}
+color UT_Color RGB 0.6 0.7 0.77
+delscript ""
+exprlanguage hscript
+end
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/distribution_honeycomb1.parm"
+Content-Type: text/plain
+
+{
+version 0.8
+copyinput [ 0 locks=0 ] ( "on" )
+cacheinput [ 0 locks=0 ] ( "off" )
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/distribution_honeycomb1.userdata"
+Content-Type: text/plain
+
+{
+ "___Version___":{
+ "type":"string",
+ "value":"18.0.391"
+ }
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/circle4.init"
+Content-Type: text/plain
+
+type = circle
+matchesdef = 0
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/circle4.def"
+Content-Type: text/plain
+
+sopflags sopflags =
+comment ""
+position 87.153 8.97633
+connectornextid 1
+flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
+outputsNamed3
+{
+0 "output1"
+}
+inputsNamed3
+{
+}
+inputs
+{
+}
+stat
+{
+ create 1522121547
+ modify 1568784491
+ author Henry@LAPPY586
+ access 0777
+}
+color UT_Color RGB 0.8 0.8 0.8
+delscript ""
+exprlanguage hscript
+end
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/circle4.parm"
+Content-Type: text/plain
+
+{
+version 0.8
+type [ 0 locks=0 ] ( "poly" )
+orient [ 0 locks=0 ] ( "zx" )
+rad [ 0 locks=0 ] ( 1.0029999999999999 1.0780000000000001 )
+t [ 0 locks=0 ] ( 0 0 0 )
+r [ 0 locks=0 ] ( 0 0 0 )
+scale [ 0 locks=0 ] ( 0.10000000000000001 )
+order [ 0 locks=0 ] ( 4 )
+divs [ 0 locks=0 ] ( 6 )
+arc [ 0 locks=0 ] ( "closed" )
+angle [ 0 locks=0 ] ( 0 360 )
+imperfect [ 0 locks=0 ] ( "on" )
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/circle4.userdata"
+Content-Type: text/plain
+
+{
+ "___Version___":{
+ "type":"string",
+ "value":"18.0.391"
+ }
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/copy_rows1.init"
+Content-Type: text/plain
+
+type = copyxform
+matchesdef = 0
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/copy_rows1.def"
+Content-Type: text/plain
+
+sopflags sopflags =
+comment ""
+position 86.1331 6.49644
+connectornextid 2
+flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
+outputsNamed3
+{
+1 "output1"
+}
+inputsNamed3
+{
+0 transform7 1 1 "input1"
+}
+inputs
+{
+0 transform7 0 1
+}
+stat
+{
+ create 1522121754
+ modify 1586054043
+ author Henry@LAPPY586
+ access 0777
+}
+color UT_Color RGB 1 0.65 0.1
+delscript ""
+exprlanguage hscript
+end
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/copy_rows1.chn"
+Content-Type: text/plain
+
+{
+ channel tz {
+ lefttype = extend
+ righttype = extend
+ flags = 0
+ segment { length = 0 expr = "bbox(\"../transform7\", D_ZSIZE) * 1.0" }
+ }
+ channel ncy {
+ lefttype = extend
+ righttype = extend
+ default = 6
+ flags = 0
+ segment { length = 0 value = 6 6 expr = ch(\"../honeycomb_rows\") }
+ }
+ }
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/copy_rows1.parm"
+Content-Type: text/plain
+
+{
+version 0.8
+sourcegroup [ 0 locks=0 ] ( "" )
+sourcegrouptype [ 0 locks=0 ] ( "guess" )
+ncy [ 0 locks=0 ] ( [ ncy 10 ] )
+pack [ 0 locks=0 ] ( "off" )
+pivot [ 0 locks=0 ] ( "centroid" )
+viewportlod [ 0 locks=0 ] ( "full" )
+xOrd [ 0 locks=0 ] ( "srt" )
+rOrd [ 0 locks=0 ] ( "xyz" )
+t [ 8 locks=0 ] ( 0 0 [ tz 0.17379124462604523 ] )
+r [ 0 locks=0 ] ( 0 0 0 )
+s [ 0 locks=0 ] ( 1 1 1 )
+shear [ 0 locks=0 ] ( 0 0 0 )
+scale [ 0 locks=0 ] ( 1 )
+parmgroup_pivotxform [ 0 locks=0 ] ( 0 )
+p [ 0 locks=0 ] ( 0 0 0 )
+pr [ 0 locks=0 ] ( 0 0 0 )
+newgroups [ 0 locks=0 ] ( "off" )
+newgroupprefix [ 0 locks=0 ] ( copyGroup )
+docopyattrib [ 0 locks=0 ] ( "off" )
+copyattrib [ 0 locks=0 ] ( copynum )
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/copy_rows1.userdata"
+Content-Type: text/plain
+
+{
+ "___Version___":{
+ "type":"string",
+ "value":"18.0.391"
+ }
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/copy_cols1.init"
+Content-Type: text/plain
+
+type = copyxform
+matchesdef = 0
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/copy_cols1.def"
+Content-Type: text/plain
+
+sopflags sopflags =
+comment ""
+position 86.1331 5.45004
+connectornextid 2
+flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
+outputsNamed3
+{
+1 "output1"
+}
+inputsNamed3
+{
+0 copy_rows1 1 1 "input1"
+}
+inputs
+{
+0 copy_rows1 0 1
+}
+stat
+{
+ create 1522121807
+ modify 1586054043
+ author Henry@LAPPY586
+ access 0777
+}
+color UT_Color RGB 1 0.65 0.1
+delscript ""
+exprlanguage hscript
+end
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/copy_cols1.chn"
+Content-Type: text/plain
+
+{
+ channel tx {
+ lefttype = extend
+ righttype = extend
+ flags = 0
+ segment { length = 0 expr = "bbox(\"../transform7\", D_XSIZE) * 0.75" }
+ }
+ channel ncy {
+ lefttype = extend
+ righttype = extend
+ default = 7
+ flags = 0
+ segment { length = 0 value = 7 7 expr = ch(\"../honeycomb_cols\") }
+ }
+ }
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/copy_cols1.parm"
+Content-Type: text/plain
+
+{
+version 0.8
+sourcegroup [ 0 locks=0 ] ( "" )
+sourcegrouptype [ 0 locks=0 ] ( "guess" )
+ncy [ 0 locks=0 ] ( [ ncy 10 ] )
+pack [ 0 locks=0 ] ( "off" )
+pivot [ 0 locks=0 ] ( "centroid" )
+viewportlod [ 0 locks=0 ] ( "full" )
+xOrd [ 0 locks=0 ] ( "srt" )
+rOrd [ 0 locks=0 ] ( "xyz" )
+t [ 8 locks=0 ] ( [ tx 0.15044999867677689 ] 0 0 )
+r [ 0 locks=0 ] ( 0 0 0 )
+s [ 0 locks=0 ] ( 1 1 1 )
+shear [ 0 locks=0 ] ( 0 0 0 )
+scale [ 0 locks=0 ] ( 1 )
+parmgroup_pivotxform [ 0 locks=0 ] ( 0 )
+p [ 0 locks=0 ] ( 0 0 0 )
+pr [ 0 locks=0 ] ( 0 0 0 )
+newgroups [ 0 locks=0 ] ( "off" )
+newgroupprefix [ 0 locks=0 ] ( copyGroup )
+docopyattrib [ 0 locks=0 ] ( "on" )
+copyattrib [ 0 locks=0 ] ( copynum )
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/copy_cols1.userdata"
+Content-Type: text/plain
+
+{
+ "___Version___":{
+ "type":"string",
+ "value":"18.0.391"
+ }
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/attribpromote4.init"
+Content-Type: text/plain
+
+type = attribpromote
+matchesdef = 0
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/attribpromote4.def"
+Content-Type: text/plain
+
+sopflags sopflags =
+comment ""
+position 86.1331 4.40538
+connectornextid 2
+flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
+outputsNamed3
+{
+1 "output1"
+}
+inputsNamed3
+{
+0 copy_cols1 1 1 "input1"
+}
+inputs
+{
+0 copy_cols1 0 1
+}
+stat
+{
+ create 1522207291
+ modify 1568608891
+ author Henry@LAPPY586
+ access 0777
+}
+color UT_Color RGB 0.8 0.8 0.8
+delscript ""
+exprlanguage hscript
+end
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/attribpromote4.parm"
+Content-Type: text/plain
+
+{
+version 0.8
+inname [ 0 locks=0 ] ( copynum )
+inclass [ 0 locks=0 ] ( "primitive" )
+outclass [ 0 locks=0 ] ( "point" )
+usepieceattrib [ 0 locks=0 ] ( "off" )
+pieceattrib [ 0 locks=0 ] ( name )
+method [ 0 locks=0 ] ( "mean" )
+useoutname [ 0 locks=0 ] ( "off" )
+outname [ 0 locks=0 ] ( "" )
+deletein [ 0 locks=0 ] ( "on" )
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/attribpromote4.userdata"
+Content-Type: text/plain
+
+{
+ "___Version___":{
+ "type":"string",
+ "value":"18.0.391"
+ }
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/switch_honeycomb_points1.init"
+Content-Type: text/plain
+
+type = switch
+matchesdef = 0
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/switch_honeycomb_points1.def"
+Content-Type: text/plain
+
+sopflags sopflags =
+comment ""
+position 85.8906 0.562083
+connectornextid 1
+flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
+outputsNamed3
+{
+2 "output1"
+}
+inputsNamed3
+{
+3 primitivewrangle4 1 1 "input1"
+0 attribdelete5 1 1 "input2"
+}
+inputs
+{
+0 primitivewrangle4 0 1
+1 attribdelete5 0 1
+}
+stat
+{
+ create 1522300910
+ modify 1586054043
+ author Henry@LAPPY586
+ access 0777
+}
+color UT_Color RGB 0.8 1 0.7
+delscript ""
+exprlanguage hscript
+end
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/switch_honeycomb_points1.chn"
+Content-Type: text/plain
+
+{
+ channel input {
+ lefttype = extend
+ righttype = extend
+ flags = 0
+ segment { length = 0 expr = ch(\"../honeycomb_type\") }
+ }
+ }
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/switch_honeycomb_points1.parm"
+Content-Type: text/plain
+
+{
+version 0.8
+input [ 0 locks=0 ] ( [ input 0 ] )
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/switch_honeycomb_points1.userdata"
+Content-Type: text/plain
+
+{
+ "___Version___":{
+ "type":"string",
+ "value":"18.0.391"
+ }
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/attribdelete5.init"
+Content-Type: text/plain
+
+type = attribdelete
+matchesdef = 1
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/attribdelete5.def"
+Content-Type: text/plain
+
+sopflags sopflags =
+comment ""
+position 85.7729 2.39158
+connectornextid 2
+flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
+outputsNamed3
+{
+1 "output1"
+}
+inputsNamed3
+{
+0 pointwrangle9 2 1 "input1"
+}
+inputs
+{
+0 pointwrangle9 0 1
+}
+stat
+{
+ create 1522301087
+ modify 1568608891
+ author Henry@LAPPY586
+ access 0777
+}
+color UT_Color RGB 0.8 0.8 0.8
+delscript ""
+exprlanguage hscript
+end
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/attribdelete5.parm"
+Content-Type: text/plain
+
+{
+version 0.8
+ptdel [ 0 locks=0 ] ( copynum )
+vtxdel [ 0 locks=0 ] ( "" )
+primdel [ 0 locks=0 ] ( "" )
+dtldel [ 0 locks=0 ] ( "" )
+updatevar [ 0 locks=0 ] ( "on" )
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/attribdelete5.userdata"
+Content-Type: text/plain
+
+{
+ "___Version___":{
+ "type":"string",
+ "value":""
+ }
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/transform6.init"
+Content-Type: text/plain
+
+type = xform
+matchesdef = 0
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/transform6.def"
+Content-Type: text/plain
+
+sopflags sopflags =
+comment ""
+position 87.153 8.24184
+connectornextid 2
+flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
+outputsNamed3
+{
+1 "output1"
+}
+inputsNamed3
+{
+0 circle4 0 1 "input1"
+}
+inputs
+{
+0 circle4 0 1
+}
+stat
+{
+ create 1523143901
+ modify 1586054043
+ author henry@GlaDOS
+ access 0777
+}
+color UT_Color RGB 0.8 0.8 0.8
+delscript ""
+exprlanguage hscript
+end
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/transform6.chn"
+Content-Type: text/plain
+
+{
+ channel sz {
+ lefttype = extend
+ righttype = extend
+ default = 0.9607
+ flags = 0
+ segment { length = 0 value = 2.266025 2.266025 expr = "bbox(\"../circle4\", D_ZSIZE) / bbox(\"../circle4\", D_XSIZE)" }
+ }
+ }
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/transform6.parm"
+Content-Type: text/plain
+
+{
+version 0.8
+group [ 0 locks=0 ] ( "" )
+grouptype [ 0 locks=0 ] ( "guess" )
+xOrd [ 0 locks=0 ] ( "srt" )
+rOrd [ 0 locks=0 ] ( "xyz" )
+t [ 0 locks=0 ] ( 0 0 0 )
+r [ 0 locks=0 ] ( 0 0 0 )
+s [ 8 locks=0 ] ( 1 1 [ sz 0.93078306568440827 ] )
+shear [ 0 locks=0 ] ( 0 0 0 )
+scale [ 0 locks=0 ] ( 1 )
+parmgroup_pivotxform [ 0 locks=0 ] ( 0 )
+p [ 0 locks=0 ] ( 0 0 0 )
+pr [ 0 locks=0 ] ( 0 0 0 )
+parmgroup_prexform [ 0 locks=0 ] ( 0 )
+prexform_xOrd [ 0 locks=0 ] ( "srt" )
+prexform_rOrd [ 0 locks=0 ] ( "xyz" )
+prexform_t [ 0 locks=0 ] ( 0 0 0 )
+prexform_r [ 0 locks=0 ] ( 0 0 0 )
+prexform_s [ 0 locks=0 ] ( 1 1 1 )
+prexform_shear [ 0 locks=0 ] ( 0 0 0 )
+movecentroid [ 0 locks=0 ] ( 0 )
+attribs [ 0 locks=0 ] ( * )
+updatenmls [ 0 locks=0 ] ( "off" )
+updateaffectednmls [ 0 locks=0 ] ( "on" )
+vlength [ 0 locks=0 ] ( "on" )
+invertxform [ 0 locks=0 ] ( "off" )
+addattrib [ 0 locks=0 ] ( "off" )
+outputattrib [ 0 locks=0 ] ( xform )
+outputmerge [ 0 locks=0 ] ( "post" )
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/transform6.userdata"
+Content-Type: text/plain
+
+{
+ "___Version___":{
+ "type":"string",
+ "value":"18.0.391"
+ }
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/transform7.init"
+Content-Type: text/plain
+
+type = xform
+matchesdef = 0
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/transform7.def"
+Content-Type: text/plain
+
+sopflags sopflags =
+comment ""
+position 87.153 7.46629
+connectornextid 2
+flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
+outputsNamed3
+{
+1 "output1"
+}
+inputsNamed3
+{
+0 transform6 1 1 "input1"
+}
+inputs
+{
+0 transform6 0 1
+}
+stat
+{
+ create 1523747481
+ modify 1586054043
+ author henry@GlaDOS
+ access 0777
+}
+color UT_Color RGB 0.8 0.8 0.8
+delscript ""
+exprlanguage hscript
+end
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/transform7.chn"
+Content-Type: text/plain
+
+{
+ channel sx {
+ lefttype = extend
+ righttype = extend
+ default = 1
+ flags = 0
+ segment { length = 0 value = 1 1 expr = ch(\"../honeycomb_radx\") }
+ }
+ channel sz {
+ lefttype = extend
+ righttype = extend
+ default = 1
+ flags = 0
+ segment { length = 0 value = 1 1 expr = ch(\"../honeycomb_rady\") }
+ }
+ }
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/transform7.parm"
+Content-Type: text/plain
+
+{
+version 0.8
+group [ 0 locks=0 ] ( "" )
+grouptype [ 0 locks=0 ] ( "guess" )
+xOrd [ 0 locks=0 ] ( "srt" )
+rOrd [ 0 locks=0 ] ( "xyz" )
+t [ 0 locks=0 ] ( 0 0 0 )
+r [ 0 locks=0 ] ( 0 0 0 )
+s [ 8 locks=0 ] ( [ sx 1 ] 1 [ sz 1 ] )
+shear [ 0 locks=0 ] ( 0 0 0 )
+scale [ 0 locks=0 ] ( 1 )
+parmgroup_pivotxform [ 0 locks=0 ] ( 0 )
+p [ 0 locks=0 ] ( 0 0 0 )
+pr [ 0 locks=0 ] ( 0 0 0 )
+parmgroup_prexform [ 0 locks=0 ] ( 0 )
+prexform_xOrd [ 0 locks=0 ] ( "srt" )
+prexform_rOrd [ 0 locks=0 ] ( "xyz" )
+prexform_t [ 0 locks=0 ] ( 0 0 0 )
+prexform_r [ 0 locks=0 ] ( 0 0 0 )
+prexform_s [ 0 locks=0 ] ( 1 1 1 )
+prexform_shear [ 0 locks=0 ] ( 0 0 0 )
+movecentroid [ 0 locks=0 ] ( 0 )
+attribs [ 0 locks=0 ] ( * )
+updatenmls [ 0 locks=0 ] ( "off" )
+updateaffectednmls [ 0 locks=0 ] ( "on" )
+vlength [ 0 locks=0 ] ( "on" )
+invertxform [ 0 locks=0 ] ( "off" )
+addattrib [ 0 locks=0 ] ( "off" )
+outputattrib [ 0 locks=0 ] ( xform )
+outputmerge [ 0 locks=0 ] ( "post" )
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/transform7.userdata"
+Content-Type: text/plain
+
+{
+ "___Version___":{
+ "type":"string",
+ "value":"18.0.391"
+ }
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/distribution_type1.init"
+Content-Type: text/plain
+
+type = switch
+matchesdef = 0
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/distribution_type1.def"
+Content-Type: text/plain
+
+sopflags sopflags =
+comment ""
+position 73.1356 -21.5087
+connectornextid 8
+flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
+outputsNamed3
+{
+6 "output1"
+}
+inputsNamed3
+{
+0 distribution_linear1 0 1 "input1"
+1 distribution_radial1 1 1 "input2"
+2 distribution_spherical1 1 1 "input3"
+3 distribution_grid1 1 1 "input4"
+4 distribution_honeycomb1 1 1 "input5"
+5 distribution_curve1 1 1 "input6"
+7 distribution_mesh1 0 1 "input7"
+}
+inputs
+{
+0 distribution_linear1 0 1
+1 distribution_radial1 0 1
+2 distribution_spherical1 0 1
+3 distribution_grid1 0 1
+4 distribution_honeycomb1 0 1
+5 distribution_curve1 0 1
+6 distribution_mesh1 0 1
+}
+stat
+{
+ create 1567743404
+ modify 1586054043
+ author Henry@LAPPY586
+ access 0777
+}
+color UT_Color RGB 0.8 1 0.7
+delscript ""
+exprlanguage hscript
+end
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/distribution_type1.chn"
+Content-Type: text/plain
+
+{
+ channel input {
+ lefttype = extend
+ righttype = extend
+ flags = 0
+ segment { length = 0 expr = ch(\"../distro_type\") }
+ }
+ }
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/distribution_type1.parm"
+Content-Type: text/plain
+
+{
+version 0.8
+input [ 0 locks=0 ] ( [ input 6 ] )
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/distribution_type1.userdata"
+Content-Type: text/plain
+
+{
+ "___Version___":{
+ "type":"string",
+ "value":"18.0.391"
+ }
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/generate_point_id.init"
+Content-Type: text/plain
+
+type = enumerate
+matchesdef = 0
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/generate_point_id.def"
+Content-Type: text/plain
+
+sopflags sopflags =
+comment ""
+position 73.1533 -25.5841
+connectornextid 2
+flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
+outputsNamed3
+{
+1 "output1"
+}
+inputsNamed3
+{
+0 impose_point_limit 1 1 "input1"
+}
+inputs
+{
+0 impose_point_limit 0 1
+}
+stat
+{
+ create 1567743491
+ modify 1586055229
+ author Henry@LAPPY586
+ access 0777
+}
+color UT_Color RGB 0.8 0.8 0.8
+delscript ""
+exprlanguage hscript
+end
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/generate_point_id.parm"
+Content-Type: text/plain
+
+{
+version 0.8
+group [ 0 locks=0 ] ( "" )
+grouptype [ 0 locks=0 ] ( "point" )
+usepieceattrib [ 0 locks=0 ] ( "off" )
+pieceattrib [ 0 locks=0 ] ( name )
+attribname [ 0 locks=0 ] ( id )
+attribtype [ 0 locks=0 ] ( "int" )
+prefix [ 0 locks=0 ] ( piece )
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/generate_point_id.userdata"
+Content-Type: text/plain
+
+{
+ "___Version___":{
+ "type":"string",
+ "value":"18.0.391"
+ }
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/do_randomize_probability1.init"
+Content-Type: text/plain
+
+type = switch
+matchesdef = 0
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/do_randomize_probability1.def"
+Content-Type: text/plain
+
+sopflags sopflags =
+comment ""
+position 73.2894 -32.4156
+connectornextid 3
+flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
+outputsNamed3
+{
+2 "output1"
+}
+inputsNamed3
+{
+0 generate_mops_index 1 1 "input1"
+1 pointwrangle10 1 1 "input2"
+}
+inputs
+{
+0 generate_mops_index 0 1
+1 pointwrangle10 0 1
+}
+stat
+{
+ create 1523145623
+ modify 1586055272
+ author henry@GlaDOS
+ access 0777
+}
+color UT_Color RGB 0.8 1 0.7
+delscript ""
+exprlanguage hscript
+end
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/do_randomize_probability1.chn"
+Content-Type: text/plain
+
+{
+ channel input {
+ lefttype = extend
+ righttype = extend
+ default = 1
+ flags = 0
+ segment { length = 0 value = 1 1 expr = "ch(\"../generate_mops_index/mode\") == 0" }
+ }
+ }
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/do_randomize_probability1.parm"
+Content-Type: text/plain
+
+{
+version 0.8
+input [ 0 locks=0 ] ( [ input 0 ] )
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/do_randomize_probability1.userdata"
+Content-Type: text/plain
+
+{
+ "___Version___":{
+ "type":"string",
+ "value":"18.0.391"
+ },
+ "___toolcount___":{
+ "type":"string",
+ "value":"1"
+ },
+ "___toolid___":{
+ "type":"string",
+ "value":"geometry_sphere"
+ }
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/foreach_end1.init"
+Content-Type: text/plain
+
+type = block_end
+matchesdef = 0
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/foreach_end1.def"
+Content-Type: text/plain
+
+sopflags sopflags =
+comment ""
+position 72.5638 -47.8321
+connectornextid 2
+flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault off exposed on
+outputsNamed3
+{
+1 "output1"
+}
+inputsNamed3
+{
+0 copytopoints5 2 1 "input1"
+}
+inputs
+{
+0 copytopoints5 0 1
+}
+stat
+{
+ create 1567744824
+ modify 1586055345
+ author Henry@LAPPY586
+ access 0777
+}
+color UT_Color RGB 0.75 0.4 0
+delscript ""
+exprlanguage hscript
+end
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/foreach_end1.chn"
+Content-Type: text/plain
+
+{
+ channel iterations {
+ lefttype = extend
+ righttype = extend
+ default = 10
+ flags = 0
+ segment { length = 0 value = 10 10 expr = ch(\"../instanceobjects\") }
+ }
+ }
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/foreach_end1.parm"
+Content-Type: text/plain
+
+{
+version 0.8
+itermethod [ 0 locks=0 ] ( "pieces" )
+method [ 0 locks=0 ] ( "merge" )
+iterations [ 8 locks=0 ] ( [ iterations 2 ] )
+startvalue [ 0 locks=0 ] ( 1 )
+increment [ 0 locks=0 ] ( 1 )
+class [ 0 locks=0 ] ( "point" )
+useattrib [ 0 locks=0 ] ( "on" )
+attrib [ 0 locks=0 ] ( mops_index )
+usemaxiter [ 0 locks=0 ] ( "off" )
+maxiter [ 0 locks=0 ] ( 10 )
+blockpath [ 0 locks=0 ] ( ../foreach_begin1 )
+templatepath [ 0 locks=0 ] ( ../foreach_begin1 )
+resetcookpass [ 0 locks=0 ] ( 0 )
+dosinglepass [ 0 locks=0 ] ( "off" )
+singlepass [ 0 locks=0 ] ( 0 )
+stopcondition [ 0 locks=0 ] ( 0 )
+multithread [ 0 locks=0 ] ( "off" )
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/foreach_end1.userdata"
+Content-Type: text/plain
+
+{
+ "___Version___":{
+ "type":"string",
+ "value":"18.0.391"
+ }
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/foreach_begin1.init"
+Content-Type: text/plain
+
+type = block_begin
+matchesdef = 0
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/foreach_begin1.def"
+Content-Type: text/plain
+
+sopflags sopflags =
+comment ""
+position 73.1193 -38.0067
+connectornextid 2
+flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault off exposed on
+outputsNamed3
+{
+0 "output1"
+}
+inputsNamed3
+{
+1 define_name_attr 1 1 "input1"
+}
+inputs
+{
+0 define_name_attr 0 1
+}
+stat
+{
+ create 1567744824
+ modify 1586058373
+ author Henry@LAPPY586
+ access 0777
+}
+color UT_Color RGB 0.75 0.4 0
+delscript ""
+exprlanguage hscript
+end
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/foreach_begin1.parm"
+Content-Type: text/plain
+
+{
+version 0.8
+method [ 0 locks=0 ] ( "piece" )
+blockpath [ 0 locks=0 ] ( ../foreach_end1 )
+resetcookpass [ 0 locks=0 ] ( 0 )
+createmetablock [ 0 locks=0 ] ( 0 )
+label1 [ 0 locks=0 ] ( "iteration, numiterations, value, ivalue" )
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/foreach_begin1.userdata"
+Content-Type: text/plain
+
+{
+ "___Version___":{
+ "type":"string",
+ "value":"18.0.391"
+ }
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/copytopoints5.init"
+Content-Type: text/plain
+
+type = copytopoints
+matchesdef = 0
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/copytopoints5.def"
+Content-Type: text/plain
+
+sopflags sopflags =
+comment ""
+position 72.3376 -45.7857
+connectornextid 3
+flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
+outputsNamed3
+{
+2 "output1"
+}
+inputsNamed3
+{
+0 switch_is_file 1 1 "input1"
+1 foreach_begin1 0 1 "input2"
+}
+inputs
+{
+0 switch_is_file 0 1
+1 foreach_begin1 0 1
+}
+stat
+{
+ create 1522969458
+ modify 1586055239
+ author Wolf_User@admin-hp
+ access 0777
+}
+color UT_Color RGB 1 0.65 0.1
+delscript ""
+exprlanguage hscript
+end
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/copytopoints5.chn"
+Content-Type: text/plain
+
+{
+ channel viewportlod {
+ lefttype = extend
+ righttype = extend
+ flags = 0
+ segment { length = 0 expr = ch(\"../viewportlod\") }
+ }
+ channel pivot {
+ lefttype = extend
+ righttype = extend
+ default = 1
+ flags = 0
+ segment { length = 0 value = 1 1 expr = "ch(\"../pack_from\" + (point(\"../foreach_begin3\", 0, mops_index, 0)+1))" }
+ }
+ }
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/copytopoints5.parm"
+Content-Type: text/plain
+
+{
+version 0.8
+sourcegroup [ 0 locks=0 ] ( "" )
+targetgroup [ 0 locks=0 ] ( "" )
+showguide [ 0 locks=0 ] ( "on" )
+pack [ 0 locks=0 ] ( "off" )
+pivot [ 0 locks=0 ] ( [ pivot 0 ] )
+viewportlod [ 0 locks=0 ] ( [ viewportlod 0 ] )
+transform [ 0 locks=0 ] ( "on" )
+doattr [ 0 locks=0 ] ( "on" )
+labelparm [ 0 locks=0 ] ( Set Mult Add Sub )
+setpt [ 0 locks=0 ] ( *,^v,^Alpha )
+mulpt [ 0 locks=0 ] ( Alpha )
+addpt [ 0 locks=0 ] ( v )
+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 ] ( "" )
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/copytopoints5.userdata"
+Content-Type: text/plain
+
+{
+ "___Version___":{
+ "type":"string",
+ "value":"18.0.391"
+ }
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/file3.init"
+Content-Type: text/plain
+
+type = file
+matchesdef = 0
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/file3.def"
+Content-Type: text/plain
+
+sopflags sopflags =
+comment ""
+position 63.9679 -37.2542
+connectornextid 1
+flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
+outputsNamed3
+{
+0 "output1"
+}
+inputsNamed3
+{
+}
+inputs
+{
+}
+stat
+{
+ create 1567744114
+ modify 1586055239
+ author Henry@LAPPY586
+ access 0777
+}
+color UT_Color RGB 0.9 0.8 0.55
+delscript ""
+exprlanguage hscript
+end
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/file3.spareparmdef"
+Content-Type: text/plain
+
+ parm {
+ name "filemode"
+ baseparm
+ label "File Mode"
+ export none
+ }
+ parm {
+ name "file"
+ baseparm
+ label "Geometry File"
+ export all
+ }
+ parm {
+ name "reload"
+ baseparm
+ label "Reload Geometry"
+ export none
+ }
+ parm {
+ name "objpattern"
+ baseparm
+ label "Object Mask"
+ export none
+ }
+ parm {
+ name "geodatapath"
+ baseparm
+ label "Geometry Data Path"
+ export none
+ }
+ parm {
+ name "missingframe"
+ baseparm
+ label "Missing Frame"
+ export none
+ }
+ parm {
+ name "loadtype"
+ baseparm
+ label "Load"
+ export none
+ }
+ parm {
+ name "packedviewedit"
+ baseparm
+ label "Display Packed As"
+ export none
+ }
+ parm {
+ name "viewportlod"
+ baseparm
+ label "Display As"
+ export none
+ }
+ parm {
+ name "packexpanded"
+ baseparm
+ label "Pack Using Expanded/Absolute File Path"
+ export none
+ }
+ parm {
+ name "delayload"
+ baseparm
+ label "Delay Load Geometry"
+ export none
+ }
+ parm {
+ name "mkpath"
+ baseparm
+ label "Create Intermediate Directories"
+ export none
+ }
+ parm {
+ name "cachesize"
+ baseparm
+ label "Cache Frames"
+ export none
+ }
+ parm {
+ name "prefetch"
+ baseparm
+ label "Pre-fetch Geometry"
+ export none
+ }
+ parm {
+ name "f"
+ baseparm
+ label "Frame Range"
+ export none
+ }
+ parm {
+ name "index"
+ baseparm
+ label "Sequence Index"
+ export none
+ }
+ parm {
+ name "wrap"
+ baseparm
+ label "Wrap Mode"
+ export none
+ }
+ parm {
+ name "retry"
+ baseparm
+ label "Save/Load Retries"
+ export none
+ }
+ parm {
+ name "spare_input0"
+ label "Spare Input 0"
+ type oppath
+ default { "" }
+ help "Refer to this in expressions as -1, such as: npoint(-1)"
+ parmtag { "opfilter" "!!SOP!!" }
+ parmtag { "oprelative" "." }
+ }
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/file3.chn"
+Content-Type: text/plain
+
+{
+ channel index {
+ lefttype = extend
+ righttype = extend
+ flags = 0
+ segment { length = 0 expr = $FF-ch(\"f1\") }
+ }
+ }
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/file3.parm"
+Content-Type: text/plain
+
+{
+version 0.8
+filemode [ 0 locks=0 ] ( "read" )
+file [ 0 locks=0 ] ( "op:`chsop(\"../instancepath\" + (detail(-1, \"value\", 0)+1))`" )
+reload [ 0 locks=0 ] ( 0 )
+objpattern [ 0 locks=0 ] ( * )
+geodatapath [ 0 locks=0 ] ( "" )
+missingframe [ 0 locks=0 ] ( "error" )
+loadtype [ 0 locks=0 ] ( "full" )
+packedviewedit [ 0 locks=0 ] ( "unchanged" )
+viewportlod [ 0 locks=0 ] ( "full" )
+packexpanded [ 0 locks=0 ] ( "on" )
+delayload [ 0 locks=0 ] ( "off" )
+mkpath [ 0 locks=0 ] ( "on" )
+cachesize [ 0 locks=0 ] ( 0 )
+prefetch [ 0 locks=0 ] ( "off" )
+f [ 0 locks=0 ] ( 1 24 )
+index [ 0 locks=0 ] ( [ index 0 ] )
+wrap [ 0 locks=0 ] ( "cycle" )
+retry [ 0 locks=0 ] ( 0 )
+spare_input0 [ 0 locks=0 ] ( ../foreach_begin1_metadata1 )
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/file3.userdata"
+Content-Type: text/plain
+
+{
+ "___Version___":{
+ "type":"string",
+ "value":"18.0.391"
+ }
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/switch_file_sequence_type.init"
+Content-Type: text/plain
+
+type = switch
+matchesdef = 0
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/switch_file_sequence_type.def"
+Content-Type: text/plain
+
+sopflags sopflags =
+comment ""
+position 69.1846 -37.5994
+connectornextid 3
+flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
+outputsNamed3
+{
+0 "output1"
+}
+inputsNamed3
+{
+1 load_file_sequence 0 1 "input1"
+2 load_alembic 0 1 "input2"
+}
+inputs
+{
+0 load_file_sequence 0 1
+1 load_alembic 0 1
+}
+stat
+{
+ create 1530848870
+ modify 1586055239
+ author Henry@LAPPY586
+ access 0777
+}
+color UT_Color RGB 0.8 1 0.7
+delscript ""
+exprlanguage hscript
+end
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/switch_file_sequence_type.spareparmdef"
+Content-Type: text/plain
+
+ parm {
+ name "input"
+ baseparm
+ label "Select Input"
+ export all
+ }
+ parm {
+ name "spare_input0"
+ label "Spare Input 0"
+ type oppath
+ default { "" }
+ help "Refer to this in expressions as -1, such as: npoint(-1)"
+ parmtag { "opfilter" "!!SOP!!" }
+ parmtag { "oprelative" "." }
+ }
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/switch_file_sequence_type.chn"
+Content-Type: text/plain
+
+{
+ channel input {
+ lefttype = extend
+ righttype = extend
+ flags = 0
+ segment { length = 0 expr = "strmatch(\"*.abc\",chsop(\"../instancefilepath\" + (detail(-1, \"value\", 0)+1)))" }
+ }
+ }
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/switch_file_sequence_type.parm"
+Content-Type: text/plain
+
+{
+version 0.8
+input [ 8 locks=0 ] ( [ input 0 ] )
+spare_input0 [ 0 locks=0 ] ( ../foreach_begin1_metadata1 )
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/switch_file_sequence_type.userdata"
+Content-Type: text/plain
+
+{
+ "___Version___":{
+ "type":"string",
+ "value":"18.0.391"
+ }
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/switch_is_file.init"
+Content-Type: text/plain
+
+type = switch
+matchesdef = 0
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/switch_is_file.def"
+Content-Type: text/plain
+
+sopflags sopflags =
+comment ""
+position 69.5086 -41.9682
+connectornextid 3
+flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
+outputsNamed3
+{
+1 "output1"
+}
+inputsNamed3
+{
+0 define_objpath 1 1 "input1"
+2 define_objpath_file 1 1 "input2"
+}
+inputs
+{
+0 define_objpath 0 1
+1 define_objpath_file 0 1
+}
+stat
+{
+ create 1530848814
+ modify 1586055239
+ author Henry@LAPPY586
+ access 0777
+}
+color UT_Color RGB 0.8 1 0.7
+delscript ""
+exprlanguage hscript
+end
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/switch_is_file.spareparmdef"
+Content-Type: text/plain
+
+ parm {
+ name "input"
+ baseparm
+ label "Select Input"
+ export all
+ }
+ parm {
+ name "spare_input0"
+ label "Spare Input 0"
+ type oppath
+ default { "" }
+ help "Refer to this in expressions as -1, such as: npoint(-1)"
+ parmtag { "opfilter" "!!SOP!!" }
+ parmtag { "oprelative" "." }
+ }
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/switch_is_file.chn"
+Content-Type: text/plain
+
+{
+ channel input {
+ lefttype = extend
+ righttype = extend
+ flags = 0
+ segment { length = 0 expr = "ch(\"../instancetype\" + (detail(-1, \"value\", 0)+1))" }
+ }
+ }
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/switch_is_file.parm"
+Content-Type: text/plain
+
+{
+version 0.8
+input [ 8 locks=0 ] ( [ input 0 ] )
+spare_input0 [ 0 locks=0 ] ( ../foreach_begin1_metadata1 )
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/switch_is_file.userdata"
+Content-Type: text/plain
+
+{
+ "___Version___":{
+ "type":"string",
+ "value":"18.0.391"
+ }
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/load_file_sequence.init"
+Content-Type: text/plain
+
+type = file
+matchesdef = 0
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/load_file_sequence.def"
+Content-Type: text/plain
+
+sopflags sopflags =
+comment ""
+position 67.0371 -35.4154
+connectornextid 1
+flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
+outputsNamed3
+{
+0 "output1"
+}
+inputsNamed3
+{
+}
+inputs
+{
+}
+stat
+{
+ create 1530848881
+ modify 1586055239
+ author Henry@LAPPY586
+ access 0777
+}
+color UT_Color RGB 0.9 0.8 0.55
+delscript ""
+exprlanguage hscript
+end
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/load_file_sequence.spareparmdef"
+Content-Type: text/plain
+
+ parm {
+ name "filemode"
+ baseparm
+ label "File Mode"
+ export none
+ }
+ parm {
+ name "file"
+ baseparm
+ label "Geometry File"
+ export all
+ }
+ parm {
+ name "reload"
+ baseparm
+ label "Reload Geometry"
+ export none
+ }
+ parm {
+ name "objpattern"
+ baseparm
+ label "Object Mask"
+ export none
+ }
+ parm {
+ name "geodatapath"
+ baseparm
+ label "Geometry Data Path"
+ export none
+ }
+ parm {
+ name "missingframe"
+ baseparm
+ label "Missing Frame"
+ export none
+ }
+ parm {
+ name "loadtype"
+ baseparm
+ label "Load"
+ export none
+ }
+ parm {
+ name "packedviewedit"
+ baseparm
+ label "Display Packed As"
+ export none
+ }
+ parm {
+ name "viewportlod"
+ baseparm
+ label "Display As"
+ export none
+ }
+ parm {
+ name "packexpanded"
+ baseparm
+ label "Pack Using Expanded/Absolute File Path"
+ export none
+ }
+ parm {
+ name "delayload"
+ baseparm
+ label "Delay Load Geometry"
+ export none
+ }
+ parm {
+ name "mkpath"
+ baseparm
+ label "Create Intermediate Directories"
+ export none
+ }
+ parm {
+ name "cachesize"
+ baseparm
+ label "Cache Frames"
+ export none
+ }
+ parm {
+ name "prefetch"
+ baseparm
+ label "Pre-fetch Geometry"
+ export none
+ }
+ parm {
+ name "f"
+ baseparm
+ label "Frame Range"
+ export none
+ }
+ parm {
+ name "index"
+ baseparm
+ label "Sequence Index"
+ export none
+ }
+ parm {
+ name "wrap"
+ baseparm
+ label "Wrap Mode"
+ export none
+ }
+ parm {
+ name "retry"
+ baseparm
+ label "Save/Load Retries"
+ export none
+ }
+ parm {
+ name "spare_input0"
+ label "Spare Input 0"
+ type oppath
+ default { "" }
+ help "Refer to this in expressions as -1, such as: npoint(-1)"
+ parmtag { "opfilter" "!!SOP!!" }
+ parmtag { "oprelative" "." }
+ }
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/load_file_sequence.chn"
+Content-Type: text/plain
+
+{
+ channel index {
+ lefttype = extend
+ righttype = extend
+ flags = 0
+ segment { length = 0 expr = $FF-ch(\"f1\") }
+ }
+ channel f1 {
+ lefttype = extend
+ righttype = extend
+ default = 1
+ flags = 0
+ segment { length = 0 value = 1 1 expr = "ch(\"../frange\" + (detail(-1, \"iteration\", 0)+1)+\"1\")" }
+ }
+ channel f2 {
+ lefttype = extend
+ righttype = extend
+ flags = 0
+ segment { length = 0 expr = "ch(\"../frange\" + (detail(-1, \"iteration\", 0)+1) + \"2\")" }
+ }
+ channel viewportlod {
+ lefttype = extend
+ righttype = extend
+ flags = 0
+ segment { length = 0 expr = ch(\"../viewportlod\") }
+ }
+ }
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/load_file_sequence.parm"
+Content-Type: text/plain
+
+{
+version 0.8
+filemode [ 0 locks=0 ] ( "read" )
+file [ 0 locks=0 ] ( "`chsop(\"../instancefilepath\" + (detail(-1, \"value\", 0)+1))`" )
+reload [ 0 locks=0 ] ( 0 )
+objpattern [ 0 locks=0 ] ( * )
+geodatapath [ 0 locks=0 ] ( "" )
+missingframe [ 0 locks=0 ] ( "error" )
+loadtype [ 0 locks=0 ] ( "packedseq" )
+packedviewedit [ 0 locks=0 ] ( "unchanged" )
+viewportlod [ 8 locks=0 ] ( [ viewportlod 0 ] )
+packexpanded [ 0 locks=0 ] ( "on" )
+delayload [ 0 locks=0 ] ( "off" )
+mkpath [ 0 locks=0 ] ( "on" )
+cachesize [ 0 locks=0 ] ( 0 )
+prefetch [ 0 locks=0 ] ( "off" )
+f [ 0 locks=0 ] ( [ f1 1 ] [ f2 24 ] )
+index [ 0 locks=0 ] ( [ index 0 ] )
+wrap [ 0 locks=0 ] ( "cycle" )
+retry [ 0 locks=0 ] ( 0 )
+spare_input0 [ 0 locks=0 ] ( ../foreach_begin1_metadata1 )
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/load_file_sequence.userdata"
+Content-Type: text/plain
+
+{
+ "___Version___":{
+ "type":"string",
+ "value":"18.0.391"
+ }
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/load_alembic.init"
+Content-Type: text/plain
+
+type = alembic
+matchesdef = 0
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/load_alembic.def"
+Content-Type: text/plain
+
+sopflags sopflags =
+comment ""
+position 70.6065 -36.1205
+connectornextid 1
+flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
+outputsNamed3
+{
+0 "output1"
+}
+inputsNamed3
+{
+}
+inputs
+{
+}
+stat
+{
+ create 1530848886
+ modify 1586055239
+ author Henry@LAPPY586
+ access 0777
+}
+color UT_Color RGB 0.8 0.8 0.8
+delscript ""
+exprlanguage hscript
+end
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/load_alembic.spareparmdef"
+Content-Type: text/plain
+
+ parm {
+ name "reload"
+ baseparm
+ label "Reload Geometry"
+ export none
+ }
+ multiparm {
+ name "numlayers"
+ label "Number of Layers"
+ baseparm
+ parmtag { "multistartoffset" "1" }
+
+ parm {
+ name "enablelayer#"
+ baseparm
+ label ""
+ export none
+ }
+ parm {
+ name "layer#"
+ baseparm
+ label "Layer #"
+ export none
+ }
+ }
+
+ parm {
+ name "fileName"
+ baseparm
+ label "File Name"
+ export none
+ }
+ parm {
+ name "frame"
+ baseparm
+ label "Frame"
+ export none
+ }
+ parm {
+ name "fps"
+ baseparm
+ label "Frames Per Second"
+ export none
+ }
+ parm {
+ name "missingfile"
+ baseparm
+ label "Missing File"
+ export none
+ }
+ group {
+ name "stdswitcher4"
+ label "Geometry"
+
+ parm {
+ name "abcxform"
+ baseparm
+ label "Create Primitives For"
+ export none
+ }
+ parm {
+ name "loadmode"
+ baseparm
+ label "Load As"
+ export none
+ }
+ parm {
+ name "viewportlod"
+ baseparm
+ label "Display As"
+ export none
+ }
+ parm {
+ name "pointmode"
+ baseparm
+ label "Point Mode"
+ export none
+ }
+ parm {
+ name "polysoup"
+ baseparm
+ label "Poly Soup Primitives"
+ export none
+ }
+ parm {
+ name "includeXform"
+ baseparm
+ label "Transform Geometry To World Space"
+ export none
+ }
+ parm {
+ name "usevisibility"
+ baseparm
+ label "Use Visibility"
+ export none
+ }
+ parm {
+ name "statictimezero"
+ baseparm
+ label "Set Zero Time for Static Geometry"
+ export none
+ }
+ parm {
+ name "groupnames"
+ baseparm
+ label "Primitive Groups"
+ export none
+ }
+ parm {
+ name "subdgroup"
+ baseparm
+ label "Subdivision Group"
+ export none
+ }
+ }
+
+ group {
+ name "stdswitcher4_1"
+ label "Selection"
+
+ parm {
+ name "rootPath"
+ baseparm
+ label "Root Path"
+ joinnext
+ export none
+ }
+ parm {
+ name "pickrootPath"
+ baseparm
+ label "Pick"
+ nolabel
+ export none
+ }
+ parm {
+ name "objectPath"
+ baseparm
+ label "Object Path"
+ joinnext
+ export none
+ }
+ parm {
+ name "pickobjectPath"
+ baseparm
+ label "Pick"
+ nolabel
+ export none
+ }
+ parm {
+ name "objectExclude"
+ baseparm
+ label "Object Exclude"
+ joinnext
+ export none
+ }
+ parm {
+ name "pickobjectExclude"
+ baseparm
+ label "Pick"
+ nolabel
+ export none
+ }
+ parm {
+ name "objectPattern"
+ baseparm
+ label "Object Pattern"
+ export none
+ }
+ parm {
+ name "animationfilter"
+ baseparm
+ label "Animating Objects"
+ export none
+ }
+ parm {
+ name "polygonFilter"
+ baseparm
+ label "Load Polygons"
+ export none
+ }
+ parm {
+ name "curveFilter"
+ baseparm
+ label "Load Curves"
+ export none
+ }
+ parm {
+ name "NURBSFilter"
+ baseparm
+ label "Load NURBS"
+ export none
+ }
+ parm {
+ name "pointsFilter"
+ baseparm
+ label "Load Points"
+ export none
+ }
+ parm {
+ name "subdFilter"
+ baseparm
+ label "Load Subdivision Surfaces"
+ export none
+ }
+ parm {
+ name "loadLocator"
+ baseparm
+ label "Load Maya Locator"
+ export none
+ }
+ parm {
+ name "boxcull"
+ baseparm
+ label "Box Culling"
+ export none
+ }
+ parm {
+ name "boxsource"
+ baseparm
+ label "Use First Input To Specify Box"
+ export none
+ }
+ parm {
+ name "boxsize"
+ baseparm
+ label "Box Size"
+ export none
+ }
+ parm {
+ name "boxcenter"
+ baseparm
+ label "Box Center"
+ export none
+ }
+ parm {
+ name "sizecull"
+ baseparm
+ label "Size Culling"
+ export none
+ }
+ parm {
+ name "sizecompare"
+ baseparm
+ label "Size Compare"
+ export none
+ }
+ parm {
+ name "size"
+ baseparm
+ label "Size"
+ export none
+ }
+ }
+
+ group {
+ name "stdswitcher4_2"
+ label "Attributes"
+
+ parm {
+ name "pointAttributes"
+ baseparm
+ label "Point Attributes"
+ export none
+ }
+ parm {
+ name "vertexAttributes"
+ baseparm
+ label "Vertex Attributes"
+ export none
+ }
+ parm {
+ name "primitiveAttributes"
+ baseparm
+ label "Primitive Attributes"
+ export none
+ }
+ parm {
+ name "detailAttributes"
+ baseparm
+ label "Detail Attributes"
+ export none
+ }
+ parm {
+ name "facesetAttributes"
+ baseparm
+ label "Faceset Attributes"
+ export none
+ }
+ parm {
+ name "loadUserProps"
+ baseparm
+ label "User Properties"
+ export none
+ }
+ parm {
+ name "addpath"
+ baseparm
+ label "Add Path Attribute"
+ export none
+ }
+ parm {
+ name "pathattrib"
+ baseparm
+ label "Path Attribute"
+ export none
+ }
+ parm {
+ name "addfile"
+ baseparm
+ label "Add Filename Attribute"
+ export none
+ }
+ parm {
+ name "fileattrib"
+ baseparm
+ label "Filename Attribute"
+ export none
+ }
+ multiparm {
+ name "remapAttributes"
+ label "Remap Attributes"
+ baseparm
+ default 0
+ parmtag { "multistartoffset" "1" }
+
+ parm {
+ name "abcName#"
+ baseparm
+ label "Alembic Name #"
+ export none
+ }
+ parm {
+ name "hName#"
+ baseparm
+ label "Houdini Name #"
+ export none
+ }
+ parm {
+ name "typeInfo#"
+ baseparm
+ label "Type Info"
+ export none
+ }
+ }
+
+ }
+
+ parm {
+ name "spare_input0"
+ label "Spare Input 0"
+ type oppath
+ default { "" }
+ help "Refer to this in expressions as -1, such as: npoint(-1)"
+ parmtag { "opfilter" "!!SOP!!" }
+ parmtag { "oprelative" "." }
+ }
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/load_alembic.chn"
+Content-Type: text/plain
+
+{
+ channel frame {
+ lefttype = extend
+ righttype = extend
+ default = 1
+ flags = 0
+ segment { length = 0 value = 1 1 expr = $FF }
+ }
+ channel fps {
+ lefttype = extend
+ righttype = extend
+ default = 24
+ flags = 0
+ segment { length = 0 value = 24 24 expr = $FPS }
+ }
+ channel viewportlod {
+ lefttype = extend
+ righttype = extend
+ flags = 0
+ segment { length = 0 expr = ch(\"../viewportlod\") }
+ }
+ }
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/load_alembic.parm"
+Content-Type: text/plain
+
+{
+version 0.8
+reload [ 0 locks=0 ] ( 0 )
+numlayers [ 0 locks=0 ] ( 0 )
+fileName [ 0 locks=0 ] ( "`chsop(\"../instancefilepath\" + (detail(-1, \"value\", 0)+1))`" )
+frame [ 0 locks=0 ] ( [ frame 1 ] )
+fps [ 0 locks=0 ] ( [ fps 24 ] )
+missingfile [ 0 locks=0 ] ( "error" )
+stdswitcher [ 0 locks=0 ] ( 0 0 0 )
+abcxform [ 0 locks=0 ] ( "off" )
+loadmode [ 0 locks=0 ] ( "alembic" )
+viewportlod [ 0 locks=0 ] ( [ viewportlod 0 ] )
+pointmode [ 0 locks=0 ] ( "centroid" )
+polysoup [ 0 locks=0 ] ( "polymesh" )
+includeXform [ 0 locks=0 ] ( "on" )
+usevisibility [ 0 locks=0 ] ( "on" )
+statictimezero [ 0 locks=0 ] ( "on" )
+groupnames [ 0 locks=0 ] ( "none" )
+subdgroup [ 0 locks=0 ] ( "" )
+rootPath [ 0 locks=0 ] ( "" )
+pickrootPath [ 0 locks=0 ] ( 0 )
+objectPath [ 0 locks=0 ] ( "" )
+pickobjectPath [ 0 locks=0 ] ( 0 )
+objectExclude [ 0 locks=0 ] ( "" )
+pickobjectExclude [ 0 locks=0 ] ( 0 )
+objectPattern [ 0 locks=0 ] ( * )
+animationfilter [ 0 locks=0 ] ( "all" )
+polygonFilter [ 0 locks=0 ] ( "on" )
+curveFilter [ 0 locks=0 ] ( "on" )
+NURBSFilter [ 0 locks=0 ] ( "on" )
+pointsFilter [ 0 locks=0 ] ( "on" )
+subdFilter [ 0 locks=0 ] ( "on" )
+loadLocator [ 0 locks=0 ] ( "off" )
+boxcull [ 0 locks=0 ] ( "none" )
+boxsource [ 0 locks=0 ] ( "off" )
+boxsize [ 0 locks=0 ] ( 1 1 1 )
+boxcenter [ 0 locks=0 ] ( 0 0 0 )
+sizecull [ 0 locks=0 ] ( "none" )
+sizecompare [ 0 locks=0 ] ( "greaterthan" )
+size [ 0 locks=0 ] ( 1 )
+pointAttributes [ 0 locks=0 ] ( * )
+vertexAttributes [ 0 locks=0 ] ( * )
+primitiveAttributes [ 0 locks=0 ] ( * )
+detailAttributes [ 0 locks=0 ] ( * )
+facesetAttributes [ 0 locks=0 ] ( * )
+loadUserProps [ 0 locks=0 ] ( "none" )
+addpath [ 0 locks=0 ] ( "off" )
+pathattrib [ 0 locks=0 ] ( path )
+addfile [ 0 locks=0 ] ( "off" )
+fileattrib [ 0 locks=0 ] ( abcFileName )
+remapAttributes [ 0 locks=0 ] ( 0 )
+stdswitcher4 [ 0 locks=0 ] ( 0 0 0 )
+spare_input0 [ 0 locks=0 ] ( ../foreach_begin1_metadata1 )
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/load_alembic.userdata"
+Content-Type: text/plain
+
+{
+ "___Version___":{
+ "type":"string",
+ "value":"18.0.391"
+ }
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/foreach_begin1_metadata1.init"
+Content-Type: text/plain
+
+type = block_begin
+matchesdef = 0
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/foreach_begin1_metadata1.def"
+Content-Type: text/plain
+
+sopflags sopflags =
+comment ""
+position 70.3851 -34.5211
+connectornextid 0
+flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault off exposed on
+outputsNamed3
+{
+}
+inputsNamed3
+{
+}
+inputs
+{
+}
+stat
+{
+ create 1567746994
+ modify 1586058373
+ author Henry@LAPPY586
+ access 0777
+}
+color UT_Color RGB 0.75 0.4 0
+delscript ""
+exprlanguage hscript
+end
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/foreach_begin1_metadata1.parm"
+Content-Type: text/plain
+
+{
+version 0.8
+method [ 0 locks=0 ] ( "metadata" )
+blockpath [ 0 locks=0 ] ( ../foreach_end1 )
+resetcookpass [ 0 locks=0 ] ( 0 )
+createmetablock [ 0 locks=0 ] ( 0 )
+label1 [ 0 locks=0 ] ( "iteration, numiterations, value, ivalue" )
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/foreach_begin1_metadata1.userdata"
+Content-Type: text/plain
+
+{
+ "___Version___":{
+ "type":"string",
+ "value":"18.0.391"
+ }
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/enable_material_overrides1.init"
+Content-Type: text/plain
+
+type = switch
+matchesdef = 0
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/enable_material_overrides1.def"
+Content-Type: text/plain
+
+sopflags sopflags =
+comment ""
+position 72.5603 -50.6943
+connectornextid 3
+flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
+outputsNamed3
+{
+1 "output1"
+}
+inputsNamed3
+{
+0 foreach_end1 1 1 "input1"
+2 do_material_override1 1 1 "input2"
+}
+inputs
+{
+0 foreach_end1 0 1
+1 do_material_override1 0 1
+}
+stat
+{
+ create 1523081344
+ modify 1586055239
+ author Henry@LAPPY586
+ access 0777
+}
+color UT_Color RGB 0.8 1 0.7
+delscript ""
+exprlanguage hscript
+end
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/enable_material_overrides1.chn"
+Content-Type: text/plain
+
+{
+ channel input {
+ lefttype = extend
+ righttype = extend
+ flags = 0
+ segment { length = 0 expr = ch(\"../do_material_overrides\") }
+ }
+ }
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/enable_material_overrides1.parm"
+Content-Type: text/plain
+
+{
+version 0.8
+input [ 8 locks=0 ] ( [ input 0 ] )
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/enable_material_overrides1.userdata"
+Content-Type: text/plain
+
+{
+ "___Version___":{
+ "type":"string",
+ "value":"18.0.391"
+ }
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/switch_has_abc1.init"
+Content-Type: text/plain
+
+type = switch
+matchesdef = 0
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/switch_has_abc1.def"
+Content-Type: text/plain
+
+sopflags sopflags =
+comment ""
+position 72.6693 -57.7255
+connectornextid 3
+flags = lock off model off template off footprint off xray off bypass off display on render on highlight off unload off savedata off compress on colordefault on exposed on
+outputsNamed3
+{
+1 "output1"
+}
+inputsNamed3
+{
+0 set_packed_sequence_attrs1 1 1 "input1"
+2 set_alembic_attrs1 1 1 "input2"
+}
+inputs
+{
+0 set_packed_sequence_attrs1 0 1
+1 set_alembic_attrs1 0 1
+}
+stat
+{
+ create 1540442277
+ modify 1586055239
+ author henry@GlaDOS
+ access 0777
+}
+color UT_Color RGB 0.8 1 0.7
+delscript ""
+exprlanguage hscript
+end
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/switch_has_abc1.chn"
+Content-Type: text/plain
+
+{
+ channel input {
+ lefttype = extend
+ righttype = extend
+ flags = 0
+ segment { length = 0 expr = "npointsgroup(\"../create_temp_sequence_groups\", \"__alembic\") > 0" }
+ }
+ }
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/switch_has_abc1.parm"
+Content-Type: text/plain
+
+{
+version 0.8
+input [ 8 locks=0 ] ( [ input 0 ] )
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/switch_has_abc1.userdata"
+Content-Type: text/plain
+
+{
+ "___Version___":{
+ "type":"string",
+ "value":"18.0.391"
+ }
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/groupdelete2.init"
+Content-Type: text/plain
+
+type = groupdelete
+matchesdef = 0
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/groupdelete2.def"
+Content-Type: text/plain
+
+sopflags sopflags =
+comment ""
+position 72.6612 -69.6911
+connectornextid 2
+flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
+outputsNamed3
+{
+1 "output1"
+}
+inputsNamed3
+{
+0 attribdelete6 1 1 "input1"
+}
+inputs
+{
+0 attribdelete6 0 1
+}
+stat
+{
+ create 1567748193
+ modify 1586055239
+ author Henry@LAPPY586
+ access 0777
+}
+color UT_Color RGB 0.8 0.8 0.8
+delscript ""
+exprlanguage hscript
+end
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/groupdelete2.parm"
+Content-Type: text/plain
+
+{
+version 0.8
+deletions [ 0 locks=0 ] ( 1 )
+removegrp [ 0 locks=0 ] ( "off" )
+enable1 [ 0 locks=0 ] ( "on" )
+grouptype1 [ 0 locks=0 ] ( "any" )
+group1 [ 0 locks=0 ] ( "__alembic __sequence" )
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/groupdelete2.userdata"
+Content-Type: text/plain
+
+{
+ "___Version___":{
+ "type":"string",
+ "value":"18.0.391"
+ }
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/switch_time_dependent.init"
+Content-Type: text/plain
+
+type = switch
+matchesdef = 0
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/switch_time_dependent.def"
+Content-Type: text/plain
+
+sopflags sopflags =
+comment ""
+position 72.6693 -61.0402
+connectornextid 3
+flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
+outputsNamed3
+{
+1 "output1"
+}
+inputsNamed3
+{
+0 switch_do_copy_attrs 2 1 "input1"
+2 MOPs_Apply_Attributes 0 1 "input2"
+}
+inputs
+{
+0 switch_do_copy_attrs 0 1
+1 MOPs_Apply_Attributes 0 1
+}
+stat
+{
+ create 1568260279
+ modify 1586055338
+ author Henry@LAPPY586
+ access 0777
+}
+color UT_Color RGB 0.8 1 0.7
+delscript ""
+exprlanguage hscript
+end
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/switch_time_dependent.chn"
+Content-Type: text/plain
+
+{
+ channel input {
+ lefttype = extend
+ righttype = extend
+ flags = 0
+ segment { options = { autoslope ai ao }
+
+ length = 0 accel = 0.33333333333333331 0.33333333333333331 expr = "test = hou.pwd().node(\"../SOURCE_TEMPLATE\").isTimeDependent()
+enable_interpolation = hou.pwd().node(\"..\").evalParm(\"do_interpolation\")
+input_type = hou.pwd().node(\"../distribution_type1\").evalParm(\"input\")
+return test and input_type > 4 and enable_interpolation" language = python }
+ }
+ }
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/switch_time_dependent.parm"
+Content-Type: text/plain
+
+{
+version 0.8
+input [ 8 locks=0 autoscope=1 autosel=4294967295 ] ( [ input 1 ] )
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/switch_time_dependent.userdata"
+Content-Type: text/plain
+
+{
+ "___Version___":{
+ "type":"string",
+ "value":"18.0.391"
+ }
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/attribinterpolate1.init"
+Content-Type: text/plain
+
+type = attribinterpolate
+matchesdef = 0
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/attribinterpolate1.def"
+Content-Type: text/plain
+
+sopflags sopflags =
+comment ""
+position 78.8844 -37.8912
+connectornextid 3
+flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
+outputsNamed3
+{
+2 "output1"
+}
+inputsNamed3
+{
+0 define_name_attr 1 1 "input1"
+1 switch_mesh_or_points 1 1 "input2"
+}
+inputs
+{
+0 define_name_attr 0 1
+1 switch_mesh_or_points 0 1
+}
+stat
+{
+ create 1568260337
+ modify 1586055239
+ author Henry@LAPPY586
+ access 0777
+}
+color UT_Color RGB 0.8 0.8 0.8
+delscript ""
+exprlanguage hscript
+end
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/attribinterpolate1.parm"
+Content-Type: text/plain
+
+{
+version 0.8
+group [ 0 locks=0 ] ( "" )
+totype [ 0 locks=0 ] ( "points" )
+interpby [ 0 locks=0 ] ( "primuvw" )
+numberattrib [ 0 locks=0 ] ( __sourceprim )
+weightsattrib [ 0 locks=0 ] ( __sourceprimuv )
+pointattribs [ 0 locks=0 ] ( "* ^orient" )
+vertattribs [ 0 locks=0 ] ( "" )
+primattribs [ 0 locks=0 ] ( "" )
+detailattribs [ 0 locks=0 ] ( "" )
+computeweights [ 0 locks=0 ] ( "off" )
+computenumberstype [ 0 locks=0 ] ( "numbertypevertex" )
+computednumbersattrib [ 0 locks=0 ] ( sourcevtxnums )
+computedweightsattrib [ 0 locks=0 ] ( sourcevtxweights )
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/attribinterpolate1.userdata"
+Content-Type: text/plain
+
+{
+ "___Version___":{
+ "type":"string",
+ "value":"18.0.391"
+ }
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/timeshift3.init"
+Content-Type: text/plain
+
+type = timeshift
+matchesdef = 0
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/timeshift3.def"
+Content-Type: text/plain
+
+sopflags sopflags =
+comment ""
+position 93.1663 -2.28056
+connectornextid 2
+flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
+outputsNamed3
+{
+1 "output1"
+}
+inputsNamed3
+{
+0 processed_input_curve 1 1 "input1"
+}
+inputs
+{
+0 processed_input_curve 0 1
+}
+stat
+{
+ create 1567743257
+ modify 1586054043
+ author Henry@LAPPY586
+ access 0777
+}
+color UT_Color RGB 0.8 0.8 0.8
+delscript ""
+exprlanguage hscript
+end
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/timeshift3.chn"
+Content-Type: text/plain
+
+{
+ channel frame {
+ lefttype = extend
+ righttype = extend
+ default = 1
+ flags = 0
+ segment { length = 0 value = 1 1 expr = ch(\"../template_rest_frame\") }
+ }
+ channel time {
+ lefttype = extend
+ righttype = extend
+ flags = 0
+ segment { length = 0 expr = $T }
+ }
+ channel frange1 {
+ lefttype = extend
+ righttype = extend
+ flags = 0
+ segment { length = 0 expr = $FSTART }
+ }
+ channel frange2 {
+ lefttype = extend
+ righttype = extend
+ flags = 0
+ segment { length = 0 expr = $FEND }
+ }
+ channel trange1 {
+ lefttype = extend
+ righttype = extend
+ flags = 0
+ segment { length = 0 expr = $TSTART }
+ }
+ channel trange2 {
+ lefttype = extend
+ righttype = extend
+ flags = 0
+ segment { length = 0 expr = $TEND }
+ }
+ }
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/timeshift3.parm"
+Content-Type: text/plain
+
+{
+version 0.8
+method [ 0 locks=0 ] ( "byframe" )
+frame [ 8 locks=0 ] ( [ frame 24 ] )
+integerframe [ 0 locks=0 ] ( "on" )
+time [ 0 locks=0 ] ( [ time 15.041666666666666 ] )
+rangeclamp [ 0 locks=0 ] ( "none" )
+frange [ 0 locks=0 ] ( [ frange1 1 ] [ frange2 700 ] )
+trange [ 0 locks=0 ] ( [ trange1 0 ] [ trange2 0 ] )
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/timeshift3.userdata"
+Content-Type: text/plain
+
+{
+ "___Version___":{
+ "type":"string",
+ "value":"18.0.391"
+ }
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/input_mesh1.init"
+Content-Type: text/plain
+
+type = null
+matchesdef = 0
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/input_mesh1.def"
+Content-Type: text/plain
+
+sopflags sopflags =
+comment ""
+position 106.327 21.1181
+connectornextid 2
+flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
+outputsNamed3
+{
+1 "output1"
+}
+inputsNamed3
+{
+0 SOURCE_TEMPLATE 0 1 "input1"
+}
+inputs
+{
+0 SOURCE_TEMPLATE 0 1
+}
+stat
+{
+ create 1568263737
+ modify 1568918876
+ author Henry@LAPPY586
+ access 0777
+}
+color UT_Color RGB 0.6 0.7 0.77
+delscript ""
+exprlanguage hscript
+end
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/input_mesh1.parm"
+Content-Type: text/plain
+
+{
+version 0.8
+copyinput [ 0 locks=0 ] ( "on" )
+cacheinput [ 0 locks=0 ] ( "off" )
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/input_mesh1.userdata"
+Content-Type: text/plain
+
+{
+ "___Version___":{
+ "type":"string",
+ "value":"18.0.391"
+ }
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/distribution_mesh1.init"
+Content-Type: text/plain
+
+type = null
+matchesdef = 0
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/distribution_mesh1.def"
+Content-Type: text/plain
+
+sopflags sopflags =
+comment ""
+position 99.9383 -15.3251
+connectornextid 2
+flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
+outputsNamed3
+{
+0 "output1"
+}
+inputsNamed3
+{
+1 switch2 2 1 "input1"
+}
+inputs
+{
+0 switch2 0 1
+}
+stat
+{
+ create 1568264040
+ modify 1582053146
+ author Henry@LAPPY586
+ access 0777
+}
+color UT_Color RGB 0.6 0.7 0.77
+delscript ""
+exprlanguage hscript
+end
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/distribution_mesh1.parm"
+Content-Type: text/plain
+
+{
+version 0.8
+copyinput [ 0 locks=0 ] ( "on" )
+cacheinput [ 0 locks=0 ] ( "off" )
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/distribution_mesh1.userdata"
+Content-Type: text/plain
+
+{
+ "___Version___":{
+ "type":"string",
+ "value":"18.0.391"
+ }
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/mesh_distro_method.init"
+Content-Type: text/plain
+
+type = switch
+matchesdef = 0
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/mesh_distro_method.def"
+Content-Type: text/plain
+
+sopflags sopflags =
+comment ""
+position 106.085 -7.14063
+connectornextid 6
+flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
+outputsNamed3
+{
+5 "output1"
+}
+inputsNamed3
+{
+0 mesh_scatter1 0 1 "input1"
+1 blast3 1 1 "input2"
+2 mesh_primCenter1 0 1 "input3"
+3 mesh_edgeCenter1 0 1 "input4"
+4 mesh_voxel1 0 1 "input5"
+}
+inputs
+{
+0 mesh_scatter1 0 1
+1 blast3 0 1
+2 mesh_primCenter1 0 1
+3 mesh_edgeCenter1 0 1
+4 mesh_voxel1 0 1
+}
+stat
+{
+ create 1568264088
+ modify 1586054043
+ author Henry@LAPPY586
+ access 0777
+}
+color UT_Color RGB 0.8 1 0.7
+delscript ""
+exprlanguage hscript
+end
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/mesh_distro_method.chn"
+Content-Type: text/plain
+
+{
+ channel input {
+ lefttype = extend
+ righttype = extend
+ default = 1
+ flags = 0
+ segment { length = 0 value = 1 1 expr = ch(\"../mesh_distroMethod\") }
+ }
+ }
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/mesh_distro_method.parm"
+Content-Type: text/plain
+
+{
+version 0.8
+input [ 0 locks=0 ] ( [ input 1 ] )
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/mesh_distro_method.userdata"
+Content-Type: text/plain
+
+{
+ "___Version___":{
+ "type":"string",
+ "value":"18.0.391"
+ }
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/mesh_scatter1.init"
+Content-Type: text/plain
+
+type = null
+matchesdef = 0
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/mesh_scatter1.def"
+Content-Type: text/plain
+
+sopflags sopflags =
+comment ""
+position 99.0606 5.31394
+connectornextid 2
+flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
+outputsNamed3
+{
+0 "output1"
+}
+inputsNamed3
+{
+1 scatter7 1 1 "input1"
+}
+inputs
+{
+0 scatter7 0 1
+}
+stat
+{
+ create 1568264109
+ modify 1569005570
+ author Henry@LAPPY586
+ access 0777
+}
+color UT_Color RGB 0.6 0.7 0.77
+delscript ""
+exprlanguage hscript
+end
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/mesh_scatter1.parm"
+Content-Type: text/plain
+
+{
+version 0.8
+copyinput [ 0 locks=0 ] ( "on" )
+cacheinput [ 0 locks=0 ] ( "off" )
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/mesh_scatter1.userdata"
+Content-Type: text/plain
+
+{
+ "___Version___":{
+ "type":"string",
+ "value":"18.0.391"
+ }
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/mesh_points1.init"
+Content-Type: text/plain
+
+type = null
+matchesdef = 0
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/mesh_points1.def"
+Content-Type: text/plain
+
+sopflags sopflags =
+comment ""
+position 102.835 7.48693
+connectornextid 2
+flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
+outputsNamed3
+{
+0 "output1"
+}
+inputsNamed3
+{
+1 processed_input_mesh 1 1 "input1"
+}
+inputs
+{
+0 processed_input_mesh 0 1
+}
+stat
+{
+ create 1568264142
+ modify 1583819999
+ author Henry@LAPPY586
+ access 0777
+}
+color UT_Color RGB 0.6 0.7 0.77
+delscript ""
+exprlanguage hscript
+end
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/mesh_points1.parm"
+Content-Type: text/plain
+
+{
+version 0.8
+copyinput [ 0 locks=0 ] ( "on" )
+cacheinput [ 0 locks=0 ] ( "off" )
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/mesh_points1.userdata"
+Content-Type: text/plain
+
+{
+ "___Version___":{
+ "type":"string",
+ "value":"18.0.391"
+ }
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/mesh_primCenter1.init"
+Content-Type: text/plain
+
+type = null
+matchesdef = 0
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/mesh_primCenter1.def"
+Content-Type: text/plain
+
+sopflags sopflags =
+comment ""
+position 106.189 -0.192424
+connectornextid 2
+flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
+outputsNamed3
+{
+0 "output1"
+}
+inputsNamed3
+{
+1 compile_end3 1 1 "input1"
+}
+inputs
+{
+0 compile_end3 0 1
+}
+stat
+{
+ create 1568264149
+ modify 1569714436
+ author Henry@LAPPY586
+ access 0777
+}
+color UT_Color RGB 0.6 0.7 0.77
+delscript ""
+exprlanguage hscript
+end
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/mesh_primCenter1.parm"
+Content-Type: text/plain
+
+{
+version 0.8
+copyinput [ 0 locks=0 ] ( "on" )
+cacheinput [ 0 locks=0 ] ( "off" )
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/mesh_primCenter1.userdata"
+Content-Type: text/plain
+
+{
+ "___Version___":{
+ "type":"string",
+ "value":"18.0.391"
+ }
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/mesh_edgeCenter1.init"
+Content-Type: text/plain
+
+type = null
+matchesdef = 0
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/mesh_edgeCenter1.def"
+Content-Type: text/plain
+
+sopflags sopflags =
+comment ""
+position 109.776 -1.65468
+connectornextid 2
+flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
+outputsNamed3
+{
+0 "output1"
+}
+inputsNamed3
+{
+1 compile_end1 1 1 "input1"
+}
+inputs
+{
+0 compile_end1 0 1
+}
+stat
+{
+ create 1568264149
+ modify 1569714358
+ author Henry@LAPPY586
+ access 0777
+}
+color UT_Color RGB 0.6 0.7 0.77
+delscript ""
+exprlanguage hscript
+end
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/mesh_edgeCenter1.parm"
+Content-Type: text/plain
+
+{
+version 0.8
+copyinput [ 0 locks=0 ] ( "on" )
+cacheinput [ 0 locks=0 ] ( "off" )
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/mesh_edgeCenter1.userdata"
+Content-Type: text/plain
+
+{
+ "___Version___":{
+ "type":"string",
+ "value":"18.0.391"
+ }
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/mesh_voxel1.init"
+Content-Type: text/plain
+
+type = null
+matchesdef = 0
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/mesh_voxel1.def"
+Content-Type: text/plain
+
+sopflags sopflags =
+comment ""
+position 114.4 2.54537
+connectornextid 2
+flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
+outputsNamed3
+{
+0 "output1"
+}
+inputsNamed3
+{
+1 enumerate7 1 1 "input1"
+}
+inputs
+{
+0 enumerate7 0 1
+}
+stat
+{
+ create 1568264149
+ modify 1568918871
+ author Henry@LAPPY586
+ access 0777
+}
+color UT_Color RGB 0.6 0.7 0.77
+delscript ""
+exprlanguage hscript
+end
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/mesh_voxel1.parm"
+Content-Type: text/plain
+
+{
+version 0.8
+copyinput [ 0 locks=0 ] ( "on" )
+cacheinput [ 0 locks=0 ] ( "off" )
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/mesh_voxel1.userdata"
+Content-Type: text/plain
+
+{
+ "___Version___":{
+ "type":"string",
+ "value":"18.0.391"
+ }
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/do_cusp_input_mesh.init"
+Content-Type: text/plain
+
+type = switch
+matchesdef = 0
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/do_cusp_input_mesh.def"
+Content-Type: text/plain
+
+sopflags sopflags =
+comment ""
+position 106.571 13.6588
+connectornextid 3
+flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
+outputsNamed3
+{
+2 "output1"
+}
+inputsNamed3
+{
+0 create_N_up 1 1 "input1"
+1 facet2 1 1 "input2"
+}
+inputs
+{
+0 create_N_up 0 1
+1 facet2 0 1
+}
+stat
+{
+ create 1568520276
+ modify 1586054043
+ author Henry@LAPPY586
+ access 0777
+}
+color UT_Color RGB 0.8 1 0.7
+delscript ""
+exprlanguage hscript
+end
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/do_cusp_input_mesh.chn"
+Content-Type: text/plain
+
+{
+ channel input {
+ lefttype = extend
+ righttype = extend
+ flags = 0
+ segment { length = 0 expr = ch(\"../do_facet_mesh\") }
+ }
+ }
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/do_cusp_input_mesh.parm"
+Content-Type: text/plain
+
+{
+version 0.8
+input [ 0 locks=0 ] ( [ input 0 ] )
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/do_cusp_input_mesh.userdata"
+Content-Type: text/plain
+
+{
+ "___Version___":{
+ "type":"string",
+ "value":"18.0.391"
+ }
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/facet2.init"
+Content-Type: text/plain
+
+type = facet
+matchesdef = 0
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/facet2.def"
+Content-Type: text/plain
+
+sopflags sopflags =
+comment ""
+position 108.248 14.3373
+connectornextid 2
+flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
+outputsNamed3
+{
+1 "output1"
+}
+inputsNamed3
+{
+0 create_N_up 1 1 "input1"
+}
+inputs
+{
+0 create_N_up 0 1
+}
+stat
+{
+ create 1568520319
+ modify 1568918871
+ author Henry@LAPPY586
+ access 0777
+}
+color UT_Color RGB 0.8 0.8 0.8
+delscript ""
+exprlanguage hscript
+end
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/facet2.parm"
+Content-Type: text/plain
+
+{
+version 0.8
+group [ 0 locks=0 ] ( "" )
+grouptype [ 0 locks=0 ] ( "guess" )
+prenml [ 0 locks=0 ] ( "off" )
+unit [ 0 locks=0 ] ( "off" )
+unique [ 0 locks=0 ] ( "off" )
+cons [ 0 locks=0 ] ( "none" )
+dist [ 0 locks=0 ] ( 0.001 )
+accurate [ 0 locks=0 ] ( "on" )
+inline [ 0 locks=0 ] ( "off" )
+inlinedist [ 0 locks=0 ] ( 0.001 )
+orientPolys [ 0 locks=0 ] ( "off" )
+cusp [ 0 locks=0 ] ( "on" )
+angle [ 0 locks=0 ] ( 0 )
+remove [ 0 locks=0 ] ( "off" )
+mkplanar [ 0 locks=0 ] ( "off" )
+postnml [ 0 locks=0 ] ( "on" )
+reversenml [ 0 locks=0 ] ( "off" )
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/facet2.userdata"
+Content-Type: text/plain
+
+{
+ "___Version___":{
+ "type":"string",
+ "value":"18.0.391"
+ }
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/scatter7.init"
+Content-Type: text/plain
+
+type = scatter::2.0
+matchesdef = 0
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/scatter7.def"
+Content-Type: text/plain
+
+sopflags sopflags =
+comment ""
+position 99.0606 9.11555
+connectornextid 2
+flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
+outputsNamed3
+{
+1 "output1"
+}
+inputsNamed3
+{
+0 timeshift5 1 1 "input1"
+}
+inputs
+{
+0 timeshift5 0 1
+}
+stat
+{
+ create 1568520954
+ modify 1586054043
+ author Henry@LAPPY586
+ access 0777
+}
+color UT_Color RGB 0.8 0.8 0.8
+delscript ""
+exprlanguage hscript
+end
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/scatter7.chn"
+Content-Type: text/plain
+
+{
+ channel generateby {
+ lefttype = extend
+ righttype = extend
+ flags = 0
+ segment { length = 0 expr = ch(\"../generateby\") }
+ }
+ channel densityscale {
+ lefttype = extend
+ righttype = extend
+ default = 10
+ flags = 0
+ segment { length = 0 value = 10 10 expr = ch(\"../densityscale\") }
+ }
+ channel usedensityattrib {
+ lefttype = extend
+ righttype = extend
+ flags = 0
+ segment { length = 0 expr = ch(\"../usedensityattrib\") }
+ }
+ channel densityattrib {
+ lefttype = extend
+ righttype = extend
+ defaultString = \"density\"
+ flags = 0
+ segment { length = 0 expr = chs(\"../densityattrib\") }
+ }
+ channel useareaattrib {
+ lefttype = extend
+ righttype = extend
+ flags = 0
+ segment { length = 0 expr = ch(\"../useareaattrib\") }
+ }
+ channel areaattrib {
+ lefttype = extend
+ righttype = extend
+ defaultString = \"area\"
+ flags = 0
+ segment { length = 0 expr = chs(\"../areaattrib\") }
+ }
+ channel indepvoxel {
+ lefttype = extend
+ righttype = extend
+ flags = 0
+ segment { length = 0 expr = ch(\"../indepvoxel\") }
+ }
+ channel useareaforvolumes {
+ lefttype = extend
+ righttype = extend
+ flags = 0
+ segment { length = 0 expr = ch(\"../useareaforvolumes\") }
+ }
+ channel forcetotal {
+ lefttype = extend
+ righttype = extend
+ default = 1
+ flags = 0
+ segment { length = 0 value = 1 1 expr = ch(\"../forcetotal\") }
+ }
+ channel npts {
+ lefttype = extend
+ righttype = extend
+ default = 1000
+ flags = 0
+ segment { length = 0 value = 1000 1000 expr = ch(\"../npts\") }
+ }
+ channel usedensitytexture {
+ lefttype = extend
+ righttype = extend
+ flags = 0
+ segment { length = 0 expr = ch(\"../usedensitytexture\") }
+ }
+ channel densitytexture {
+ lefttype = extend
+ righttype = extend
+ defaultString = \"default.pic\"
+ flags = 0
+ segment { length = 0 expr = chs(\"../densitytexture\") }
+ }
+ channel primcountattrib {
+ lefttype = extend
+ righttype = extend
+ defaultString = \"count\"
+ flags = 0
+ segment { length = 0 expr = chs(\"../primcountattrib\") }
+ }
+ channel useemergencylimit {
+ lefttype = extend
+ righttype = extend
+ default = 1
+ flags = 0
+ segment { length = 0 value = 1 1 expr = ch(\"../useemergencylimit\") }
+ }
+ channel emergencylimit {
+ lefttype = extend
+ righttype = extend
+ default = 1000000
+ flags = 0
+ segment { length = 0 value = 1000000 1000000 expr = ch(\"../emergencylimit\") }
+ }
+ channel seed {
+ lefttype = extend
+ righttype = extend
+ flags = 0
+ segment { length = 0 expr = ch(\"../seed\") }
+ }
+ channel overrideprimseed {
+ lefttype = extend
+ righttype = extend
+ flags = 0
+ segment { length = 0 expr = ch(\"../overrideprimseed\") }
+ }
+ channel primseedattrib {
+ lefttype = extend
+ righttype = extend
+ defaultString = \"primid\"
+ flags = 0
+ segment { length = 0 expr = chs(\"../primseedattrib\") }
+ }
+ channel randomizeorder {
+ lefttype = extend
+ righttype = extend
+ default = 1
+ flags = 0
+ segment { length = 0 value = 1 1 expr = ch(\"../randomizeorder\") }
+ }
+ channel relaxpoints {
+ lefttype = extend
+ righttype = extend
+ default = 1
+ flags = 0
+ segment { length = 0 value = 1 1 expr = ch(\"../relaxpoints2\") }
+ }
+ channel relaxiterations {
+ lefttype = extend
+ righttype = extend
+ default = 10
+ flags = 0
+ segment { length = 0 value = 10 10 expr = ch(\"../relaxiterations\") }
+ }
+ channel scaleradiiby {
+ lefttype = extend
+ righttype = extend
+ default = 1
+ flags = 0
+ segment { length = 0 value = 1 1 expr = ch(\"../scaleradiiby\") }
+ }
+ channel usemaxradius {
+ lefttype = extend
+ righttype = extend
+ default = 1
+ flags = 0
+ segment { length = 0 value = 1 1 expr = ch(\"../usemaxradius\") }
+ }
+ channel maxradius {
+ lefttype = extend
+ righttype = extend
+ default = 10
+ flags = 0
+ segment { length = 0 value = 10 10 expr = ch(\"../maxradius2\") }
+ }
+ }
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/scatter7.parm"
+Content-Type: text/plain
+
+{
+version 0.8
+group [ 0 locks=0 ] ( "" )
+stdswitcher [ 0 locks=0 ] ( 0 0 )
+generateby [ 0 locks=0 ] ( [ generateby 0 ] )
+densityscale [ 0 locks=0 ] ( [ densityscale 10 ] )
+usedensityattrib [ 0 locks=0 ] ( [ usedensityattrib 0 ] )
+densityattrib [ 0 locks=0 ] ( [ densityattrib density ] )
+useareaattrib [ 0 locks=0 ] ( [ useareaattrib 0 ] )
+areaattrib [ 0 locks=0 ] ( [ areaattrib area ] )
+indepvoxel [ 0 locks=0 ] ( [ indepvoxel 0 ] )
+useareaforvolumes [ 0 locks=0 ] ( [ useareaforvolumes 0 ] )
+forcetotal [ 0 locks=0 ] ( [ forcetotal 1 ] )
+npts [ 0 locks=0 ] ( [ npts 1000 ] )
+usedensitytexture [ 0 locks=0 ] ( [ usedensitytexture 0 ] )
+densitytexture [ 0 locks=0 ] ( [ densitytexture default.pic ] )
+primcountattrib [ 0 locks=0 ] ( [ primcountattrib count ] )
+useemergencylimit [ 0 locks=0 ] ( [ useemergencylimit 1 ] )
+emergencylimit [ 0 locks=0 ] ( [ emergencylimit 1000000 ] )
+seed [ 0 locks=0 ] ( [ seed 0 ] )
+overrideprimseed [ 0 locks=0 ] ( [ overrideprimseed 0 ] )
+primseedattrib [ 0 locks=0 ] ( [ primseedattrib primid ] )
+randomizeorder [ 0 locks=0 ] ( [ randomizeorder 1 ] )
+relaxpoints [ 0 locks=0 ] ( [ relaxpoints 1 ] )
+relaxiterations [ 0 locks=0 ] ( [ relaxiterations 10 ] )
+scaleradiiby [ 0 locks=0 ] ( [ scaleradiiby 1 ] )
+usemaxradius [ 0 locks=0 ] ( [ usemaxradius 1 ] )
+maxradius [ 0 locks=0 ] ( [ maxradius 10 ] )
+useprimnumattrib [ 0 locks=0 ] ( "on" )
+primnumattrib [ 0 locks=0 ] ( __sourceprim )
+useprimuvwattrib [ 0 locks=0 ] ( "on" )
+primuvwattrib [ 0 locks=0 ] ( __sourceprimuv )
+useoutputdensityattrib [ 0 locks=0 ] ( "off" )
+outputdensityattrib [ 0 locks=0 ] ( density )
+useoutputradiusattrib [ 0 locks=0 ] ( "off" )
+outputradiusattrib [ 0 locks=0 ] ( pscale )
+radiusintexturespace [ 0 locks=0 ] ( "off" )
+pointattribs [ 0 locks=0 ] ( * )
+vertattribs [ 0 locks=0 ] ( "" )
+primattribs [ 0 locks=0 ] ( "" )
+detailattribs [ 0 locks=0 ] ( "" )
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/scatter7.userdata"
+Content-Type: text/plain
+
+{
+ "___Version___":{
+ "type":"string",
+ "value":"18.0.391"
+ }
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/timeshift4.init"
+Content-Type: text/plain
+
+type = timeshift
+matchesdef = 0
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/timeshift4.def"
+Content-Type: text/plain
+
+sopflags sopflags =
+comment ""
+position 101.789 -13.3245
+connectornextid 2
+flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
+outputsNamed3
+{
+1 "output1"
+}
+inputsNamed3
+{
+0 processed_input_points 1 1 "input1"
+}
+inputs
+{
+0 processed_input_points 0 1
+}
+stat
+{
+ create 1567743257
+ modify 1586054043
+ author Henry@LAPPY586
+ access 0777
+}
+color UT_Color RGB 0.8 0.8 0.8
+delscript ""
+exprlanguage hscript
+end
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/timeshift4.chn"
+Content-Type: text/plain
+
+{
+ channel frame {
+ lefttype = extend
+ righttype = extend
+ default = 1
+ flags = 0
+ segment { length = 0 value = 1 1 expr = ch(\"../template_rest_frame\") }
+ }
+ channel time {
+ lefttype = extend
+ righttype = extend
+ flags = 0
+ segment { length = 0 expr = $T }
+ }
+ channel frange1 {
+ lefttype = extend
+ righttype = extend
+ flags = 0
+ segment { length = 0 expr = $FSTART }
+ }
+ channel frange2 {
+ lefttype = extend
+ righttype = extend
+ flags = 0
+ segment { length = 0 expr = $FEND }
+ }
+ channel trange1 {
+ lefttype = extend
+ righttype = extend
+ flags = 0
+ segment { length = 0 expr = $TSTART }
+ }
+ channel trange2 {
+ lefttype = extend
+ righttype = extend
+ flags = 0
+ segment { length = 0 expr = $TEND }
+ }
+ }
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/timeshift4.parm"
+Content-Type: text/plain
+
+{
+version 0.8
+method [ 0 locks=0 ] ( "byframe" )
+frame [ 0 locks=0 ] ( [ frame 1 ] )
+integerframe [ 0 locks=0 ] ( "on" )
+time [ 0 locks=0 ] ( [ time 0 ] )
+rangeclamp [ 0 locks=0 ] ( "none" )
+frange [ 0 locks=0 ] ( [ frange1 1 ] [ frange2 240 ] )
+trange [ 0 locks=0 ] ( [ trange1 0 ] [ trange2 0 ] )
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/timeshift4.userdata"
+Content-Type: text/plain
+
+{
+ "___Version___":{
+ "type":"string",
+ "value":"18.0.391"
+ }
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/processed_input_points.init"
+Content-Type: text/plain
+
+type = null
+matchesdef = 0
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/processed_input_points.def"
+Content-Type: text/plain
+
+sopflags sopflags =
+comment ""
+position 99.9383 -12.4522
+connectornextid 2
+flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
+outputsNamed3
+{
+1 "output1"
+}
+inputsNamed3
+{
+0 mesh_distro_method 5 1 "input1"
+}
+inputs
+{
+0 mesh_distro_method 0 1
+}
+stat
+{
+ create 1568521417
+ modify 1584171446
+ author Henry@LAPPY586
+ access 0777
+}
+color UT_Color RGB 0.6 0.7 0.77
+delscript ""
+exprlanguage hscript
+end
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/processed_input_points.parm"
+Content-Type: text/plain
+
+{
+version 0.8
+copyinput [ 0 locks=0 ] ( "on" )
+cacheinput [ 0 locks=0 ] ( "off" )
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/processed_input_points.userdata"
+Content-Type: text/plain
+
+{
+ "___Version___":{
+ "type":"string",
+ "value":"18.0.391"
+ }
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/merge_in_template_mesh.init"
+Content-Type: text/plain
+
+type = object_merge
+matchesdef = 0
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/merge_in_template_mesh.def"
+Content-Type: text/plain
+
+sopflags sopflags =
+comment ""
+position 80.7669 -16.2605
+connectornextid 1
+flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault off exposed on
+outputsNamed3
+{
+0 "output1"
+}
+inputsNamed3
+{
+}
+inputs
+{
+}
+stat
+{
+ create 1568521638
+ modify 1586054043
+ author Henry@LAPPY586
+ access 0777
+}
+color UT_Color RGB 0.8 1 0.8
+delscript ""
+exprlanguage hscript
+end
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/merge_in_template_mesh.parm"
+Content-Type: text/plain
+
+{
+version 0.8
+numobj [ 0 locks=0 ] ( 1 )
+_separator [ 0 locks=0 ] ( )
+xformtype [ 0 locks=0 ] ( "local" )
+xformpath [ 0 locks=0 ] ( "" )
+invertxform [ 0 locks=0 ] ( "off" )
+createptgroups [ 0 locks=0 ] ( "off" )
+ptgroupprefix [ 0 locks=0 ] ( _ptgrp_ )
+createprimgroups [ 0 locks=0 ] ( "off" )
+primgroupprefix [ 0 locks=0 ] ( _primgrp_ )
+verbosegroups [ 0 locks=0 ] ( "off" )
+suffixfirstgroup [ 0 locks=0 ] ( "on" )
+createptstring [ 0 locks=0 ] ( "off" )
+createprimstring [ 0 locks=0 ] ( "off" )
+pathattrib [ 0 locks=0 ] ( objname )
+pack [ 0 locks=0 ] ( "off" )
+pivot [ 0 locks=0 ] ( "centroid" )
+viewportlod [ 0 locks=0 ] ( "full" )
+addpath [ 0 locks=0 ] ( "on" )
+enable1 [ 0 locks=0 ] ( "on" )
+objpath1 [ 0 locks=0 ] ( "`ifs(ch(\"../distribution_type1/input\")==5, \"../processed_input_curve\", \"../processed_input_mesh\")`" )
+group1 [ 0 locks=0 ] ( "" )
+expand1 [ 0 locks=0 ] ( "off" )
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/merge_in_template_mesh.userdata"
+Content-Type: text/plain
+
+{
+ "___Version___":{
+ "type":"string",
+ "value":"18.0.391"
+ }
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/do_orient_mesh.init"
+Content-Type: text/plain
+
+type = switch
+matchesdef = 0
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/do_orient_mesh.def"
+Content-Type: text/plain
+
+sopflags sopflags =
+comment ""
+position 106.574 16.0035
+connectornextid 3
+flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
+outputsNamed3
+{
+1 "output1"
+}
+inputsNamed3
+{
+0 create_default_orient 1 1 "input1"
+2 MOPs_Orient_Mesh1 1 1 "input2"
+}
+inputs
+{
+0 create_default_orient 0 1
+1 MOPs_Orient_Mesh1 0 1
+}
+stat
+{
+ create 1568523967
+ modify 1586054043
+ author Henry@LAPPY586
+ access 0777
+}
+color UT_Color RGB 0.8 1 0.7
+delscript ""
+exprlanguage hscript
+end
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/do_orient_mesh.chn"
+Content-Type: text/plain
+
+{
+ channel input {
+ lefttype = extend
+ righttype = extend
+ flags = 0
+ segment { length = 0 expr = ch(\"../do_orient_mesh\") }
+ }
+ }
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/do_orient_mesh.parm"
+Content-Type: text/plain
+
+{
+version 0.8
+input [ 0 locks=0 ] ( [ input 0 ] )
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/do_orient_mesh.userdata"
+Content-Type: text/plain
+
+{
+ "___Version___":{
+ "type":"string",
+ "value":"18.0.391"
+ }
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/switch_interpolation_method.init"
+Content-Type: text/plain
+
+type = switch
+matchesdef = 0
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/switch_interpolation_method.def"
+Content-Type: text/plain
+
+sopflags sopflags =
+comment ""
+position 78.8878 -41.6116
+connectornextid 3
+flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
+outputsNamed3
+{
+1 "output1"
+}
+inputsNamed3
+{
+0 interpolate_from_primuv 1 1 "input1"
+2 interpolate_from_points 1 1 "input2"
+}
+inputs
+{
+0 interpolate_from_primuv 0 1
+1 interpolate_from_points 0 1
+}
+stat
+{
+ create 1568587660
+ modify 1586055239
+ author Henry@LAPPY586
+ access 0777
+}
+color UT_Color RGB 0.8 1 0.7
+delscript ""
+exprlanguage hscript
+end
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/switch_interpolation_method.chn"
+Content-Type: text/plain
+
+{
+ channel input {
+ lefttype = extend
+ righttype = extend
+ default = 1
+ flags = 0
+ segment { length = 0 value = 1 1 expr = "(!haspointattrib(\"../define_name_attr\", \"__sourceprimuv\") && ch(\"../distribution_type1/input\") > 4)" }
+ }
+ }
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/switch_interpolation_method.parm"
+Content-Type: text/plain
+
+{
+version 0.8
+input [ 8 locks=0 ] ( [ input 1 ] )
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/switch_interpolation_method.userdata"
+Content-Type: text/plain
+
+{
+ "___Version___":{
+ "type":"string",
+ "value":"18.0.391"
+ }
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/interpolate_from_primuv.init"
+Content-Type: text/plain
+
+type = null
+matchesdef = 0
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/interpolate_from_primuv.def"
+Content-Type: text/plain
+
+sopflags sopflags =
+comment ""
+position 78.7857 -40.0717
+connectornextid 2
+flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
+outputsNamed3
+{
+1 "output1"
+}
+inputsNamed3
+{
+0 rebuild_interpolated_orient 1 1 "input1"
+}
+inputs
+{
+0 rebuild_interpolated_orient 0 1
+}
+stat
+{
+ create 1568587673
+ modify 1586055239
+ author Henry@LAPPY586
+ access 0777
+}
+color UT_Color RGB 0.6 0.7 0.77
+delscript ""
+exprlanguage hscript
+end
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/interpolate_from_primuv.parm"
+Content-Type: text/plain
+
+{
+version 0.8
+copyinput [ 0 locks=0 ] ( "on" )
+cacheinput [ 0 locks=0 ] ( "off" )
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/interpolate_from_primuv.userdata"
+Content-Type: text/plain
+
+{
+ "___Version___":{
+ "type":"string",
+ "value":"18.0.391"
+ }
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/interpolate_from_points.init"
+Content-Type: text/plain
+
+type = null
+matchesdef = 0
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/interpolate_from_points.def"
+Content-Type: text/plain
+
+sopflags sopflags =
+comment ""
+position 83.1595 -39.3029
+connectornextid 2
+flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
+outputsNamed3
+{
+1 "output1"
+}
+inputsNamed3
+{
+0 attribcopy4 1 1 "input1"
+}
+inputs
+{
+0 attribcopy4 0 1
+}
+stat
+{
+ create 1568587673
+ modify 1586055239
+ author Henry@LAPPY586
+ access 0777
+}
+color UT_Color RGB 0.6 0.7 0.77
+delscript ""
+exprlanguage hscript
+end
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/interpolate_from_points.parm"
+Content-Type: text/plain
+
+{
+version 0.8
+copyinput [ 0 locks=0 ] ( "on" )
+cacheinput [ 0 locks=0 ] ( "off" )
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/interpolate_from_points.userdata"
+Content-Type: text/plain
+
+{
+ "___Version___":{
+ "type":"string",
+ "value":"18.0.391"
+ }
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/attribcopy4.init"
+Content-Type: text/plain
+
+type = attribcopy
+matchesdef = 0
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/attribcopy4.def"
+Content-Type: text/plain
+
+sopflags sopflags =
+comment ""
+position 83.1561 -37.8912
+connectornextid 3
+flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
+outputsNamed3
+{
+1 "output1"
+}
+inputsNamed3
+{
+0 define_name_attr 1 1 "input1"
+2 define_local_user_transforms1 1 1 "input2"
+}
+inputs
+{
+0 define_name_attr 0 1
+1 define_local_user_transforms1 0 1
+}
+stat
+{
+ create 1568587719
+ modify 1586055239
+ author Henry@LAPPY586
+ access 0777
+}
+color UT_Color RGB 0.8 0.8 0.8
+delscript ""
+exprlanguage hscript
+end
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/attribcopy4.parm"
+Content-Type: text/plain
+
+{
+version 0.8
+srcgroup [ 0 locks=0 ] ( "" )
+srcgrouptype [ 0 locks=0 ] ( "points" )
+destgroup [ 0 locks=0 ] ( "" )
+destgrouptype [ 0 locks=0 ] ( "points" )
+matchbyattribute [ 0 locks=0 ] ( "on" )
+attributetomatch [ 0 locks=0 ] ( __templateid )
+attrib [ 0 locks=0 ] ( "otherattrib" )
+attribname [ 0 locks=0 ] ( * )
+copyp [ 0 locks=0 ] ( "on" )
+usenewname [ 0 locks=0 ] ( "off" )
+newname [ 0 locks=0 ] ( "" )
+class [ 0 locks=0 ] ( "guess" )
+copyvariable [ 0 locks=0 ] ( "on" )
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/attribcopy4.userdata"
+Content-Type: text/plain
+
+{
+ "___Version___":{
+ "type":"string",
+ "value":"18.0.391"
+ }
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/processed_input_curve.init"
+Content-Type: text/plain
+
+type = null
+matchesdef = 0
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/processed_input_curve.def"
+Content-Type: text/plain
+
+sopflags sopflags =
+comment ""
+position 93.295 -0.896274
+connectornextid 2
+flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
+outputsNamed3
+{
+1 "output1"
+}
+inputsNamed3
+{
+0 define_sourceprim_uv 1 1 "input1"
+}
+inputs
+{
+0 define_sourceprim_uv 0 1
+}
+stat
+{
+ create 1568588084
+ modify 1574107293
+ author Henry@LAPPY586
+ access 0777
+}
+color UT_Color RGB 0.6 0.7 0.77
+delscript ""
+exprlanguage hscript
+end
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/processed_input_curve.parm"
+Content-Type: text/plain
+
+{
+version 0.8
+copyinput [ 0 locks=0 ] ( "on" )
+cacheinput [ 0 locks=0 ] ( "off" )
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/processed_input_curve.userdata"
+Content-Type: text/plain
+
+{
+ "___Version___":{
+ "type":"string",
+ "value":"18.0.391"
+ }
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/facet4.init"
+Content-Type: text/plain
+
+type = facet
+matchesdef = 0
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/facet4.def"
+Content-Type: text/plain
+
+sopflags sopflags =
+comment ""
+position 109.776 9.0762
+connectornextid 2
+flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
+outputsNamed3
+{
+1 "output1"
+}
+inputsNamed3
+{
+0 compile_begin1 1 1 "input1"
+}
+inputs
+{
+0 compile_begin1 0 1
+}
+stat
+{
+ create 1568608393
+ modify 1569714362
+ author Henry@LAPPY586
+ access 0777
+}
+color UT_Color RGB 0.8 0.8 0.8
+delscript ""
+exprlanguage hscript
+end
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/facet4.parm"
+Content-Type: text/plain
+
+{
+version 0.8
+group [ 0 locks=0 ] ( "" )
+grouptype [ 0 locks=0 ] ( "guess" )
+prenml [ 0 locks=0 ] ( "off" )
+unit [ 0 locks=0 ] ( "off" )
+unique [ 0 locks=0 ] ( "off" )
+cons [ 0 locks=0 ] ( "none" )
+dist [ 0 locks=0 ] ( 0.001 )
+accurate [ 0 locks=0 ] ( "on" )
+inline [ 0 locks=0 ] ( "off" )
+inlinedist [ 0 locks=0 ] ( 0.001 )
+orientPolys [ 0 locks=0 ] ( "off" )
+cusp [ 0 locks=0 ] ( "on" )
+angle [ 0 locks=0 ] ( 0 )
+remove [ 0 locks=0 ] ( "off" )
+mkplanar [ 0 locks=0 ] ( "off" )
+postnml [ 0 locks=0 ] ( "off" )
+reversenml [ 0 locks=0 ] ( "off" )
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/facet4.userdata"
+Content-Type: text/plain
+
+{
+ "___Version___":{
+ "type":"string",
+ "value":"18.0.391"
+ }
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/vdbfrompolygons4.init"
+Content-Type: text/plain
+
+type = vdbfrompolygons
+matchesdef = 0
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/vdbfrompolygons4.def"
+Content-Type: text/plain
+
+sopflags sopflags =
+comment ""
+position 114.408 10.6273
+connectornextid 2
+flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
+outputsNamed3
+{
+1 "output1"
+}
+inputsNamed3
+{
+0 processed_input_mesh 1 1 "input1"
+}
+inputs
+{
+0 processed_input_mesh 0 1
+}
+stat
+{
+ create 1508909702
+ modify 1586054043
+ author Henry@LAPPY586
+ access 0777
+}
+color UT_Color RGB 0.8 0.8 0.8
+delscript ""
+exprlanguage hscript
+end
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/vdbfrompolygons4.chn"
+Content-Type: text/plain
+
+{
+ channel voxelsize {
+ lefttype = extend
+ righttype = extend
+ default = 0.10000000000000001
+ flags = 0
+ segment { length = 0 value = 0.10000000000000001 0.10000000000000001 expr = ch(\"../voxelsize\") }
+ }
+ }
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/vdbfrompolygons4.parm"
+Content-Type: text/plain
+
+{
+version 0.8
+voxelsize [ 0 locks=0 ] ( [ voxelsize 0.10000000000000001 ] )
+group [ 0 locks=0 ] ( "" )
+builddistance [ 0 locks=0 ] ( "on" )
+distancename [ 8 locks=0 ] ( surface )
+buildfog [ 0 locks=0 ] ( "on" )
+fogname [ 0 locks=0 ] ( density )
+useworldspaceunits [ 0 locks=0 ] ( "off" )
+exteriorbandvoxels [ 0 locks=0 ] ( 3 )
+interiorbandvoxels [ 0 locks=0 ] ( 3 )
+exteriorband [ 0 locks=0 ] ( 1 )
+interiorband [ 0 locks=0 ] ( 1 )
+fillinterior [ 0 locks=0 ] ( "on" )
+unsigneddist [ 0 locks=0 ] ( "off" )
+numattrib [ 0 locks=0 ] ( 0 )
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/vdbfrompolygons4.userdata"
+Content-Type: text/plain
+
+{
+ "___Version___":{
+ "type":"string",
+ "value":"18.0.391"
+ }
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/voxel_fill_method.init"
+Content-Type: text/plain
+
+type = switch
+matchesdef = 0
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/voxel_fill_method.def"
+Content-Type: text/plain
+
+sopflags sopflags =
+comment ""
+position 114.409 8.07536
+connectornextid 3
+flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
+outputsNamed3
+{
+2 "output1"
+}
+inputsNamed3
+{
+1 scatter8 1 1 "input1"
+0 vdbvisualizetree2 1 1 "input2"
+}
+inputs
+{
+0 scatter8 0 1
+1 vdbvisualizetree2 0 1
+}
+stat
+{
+ create 1568609578
+ modify 1586054043
+ author Henry@LAPPY586
+ access 0777
+}
+color UT_Color RGB 0.8 1 0.7
+delscript ""
+exprlanguage hscript
+end
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/voxel_fill_method.chn"
+Content-Type: text/plain
+
+{
+ channel input {
+ lefttype = extend
+ righttype = extend
+ flags = 0
+ segment { length = 0 expr = ch(\"../voxel_fill_method\") }
+ }
+ }
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/voxel_fill_method.parm"
+Content-Type: text/plain
+
+{
+version 0.8
+input [ 0 locks=0 ] ( [ input 0 ] )
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/voxel_fill_method.userdata"
+Content-Type: text/plain
+
+{
+ "___Version___":{
+ "type":"string",
+ "value":"18.0.391"
+ }
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/vdbvisualizetree2.init"
+Content-Type: text/plain
+
+type = vdbvisualizetree
+matchesdef = 0
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/vdbvisualizetree2.def"
+Content-Type: text/plain
+
+sopflags sopflags =
+comment ""
+position 113.423 9.71298
+connectornextid 2
+flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
+outputsNamed3
+{
+1 "output1"
+}
+inputsNamed3
+{
+0 vdbfrompolygons4 1 1 "input1"
+}
+inputs
+{
+0 vdbfrompolygons4 0 1
+}
+stat
+{
+ create 1568609590
+ modify 1568918871
+ author Henry@LAPPY586
+ access 0777
+}
+color UT_Color RGB 0.8 0.8 0.8
+delscript ""
+exprlanguage hscript
+end
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/vdbvisualizetree2.parm"
+Content-Type: text/plain
+
+{
+version 0.8
+group [ 0 locks=0 ] ( @name=density )
+addcolor [ 0 locks=0 ] ( "on" )
+previewfrustum [ 0 locks=0 ] ( "off" )
+drawleafnodes [ 0 locks=0 ] ( "off" )
+leafmode [ 0 locks=0 ] ( "wirebox" )
+drawinternalnodes [ 0 locks=0 ] ( "off" )
+internalmode [ 0 locks=0 ] ( "wirebox" )
+drawtiles [ 0 locks=0 ] ( "off" )
+tilemode [ 0 locks=0 ] ( "wirebox" )
+drawvoxels [ 0 locks=0 ] ( "on" )
+voxelmode [ 0 locks=0 ] ( "points" )
+ignorestaggered [ 0 locks=0 ] ( "off" )
+addindexcoord [ 0 locks=0 ] ( "off" )
+addvalue [ 0 locks=0 ] ( "off" )
+usegridname [ 0 locks=0 ] ( "off" )
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/vdbvisualizetree2.userdata"
+Content-Type: text/plain
+
+{
+ "___Version___":{
+ "type":"string",
+ "value":"18.0.391"
+ }
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/scatter8.init"
+Content-Type: text/plain
+
+type = scatter::2.0
+matchesdef = 0
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/scatter8.def"
+Content-Type: text/plain
+
+sopflags sopflags =
+comment ""
+position 116.429 9.71298
+connectornextid 2
+flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
+outputsNamed3
+{
+1 "output1"
+}
+inputsNamed3
+{
+0 vdbfrompolygons4 1 1 "input1"
+}
+inputs
+{
+0 vdbfrompolygons4 0 1
+}
+stat
+{
+ create 1568609633
+ modify 1586054043
+ author Henry@LAPPY586
+ access 0777
+}
+color UT_Color RGB 0.8 0.8 0.8
+delscript ""
+exprlanguage hscript
+end
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/scatter8.chn"
+Content-Type: text/plain
+
+{
+ channel npts {
+ lefttype = extend
+ righttype = extend
+ default = 1000
+ flags = 0
+ segment { length = 0 value = 1000 1000 expr = ch(\"../voxel_npoints\") }
+ }
+ }
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/scatter8.parm"
+Content-Type: text/plain
+
+{
+version 0.8
+group [ 0 locks=0 ] ( @name=density )
+stdswitcher [ 0 locks=0 ] ( 0 0 )
+generateby [ 0 locks=0 ] ( "bydensity" )
+densityscale [ 0 locks=0 ] ( 10 )
+usedensityattrib [ 0 locks=0 ] ( "off" )
+densityattrib [ 0 locks=0 ] ( density )
+useareaattrib [ 0 locks=0 ] ( "off" )
+areaattrib [ 0 locks=0 ] ( area )
+indepvoxel [ 0 locks=0 ] ( "off" )
+useareaforvolumes [ 0 locks=0 ] ( "off" )
+forcetotal [ 0 locks=0 ] ( "on" )
+npts [ 0 locks=0 ] ( [ npts 1000 ] )
+usedensitytexture [ 0 locks=0 ] ( "off" )
+densitytexture [ 0 locks=0 ] ( default.pic )
+primcountattrib [ 0 locks=0 ] ( count )
+useemergencylimit [ 0 locks=0 ] ( "on" )
+emergencylimit [ 0 locks=0 ] ( 1000000 )
+seed [ 0 locks=0 ] ( 0 )
+overrideprimseed [ 0 locks=0 ] ( "off" )
+primseedattrib [ 0 locks=0 ] ( primid )
+randomizeorder [ 0 locks=0 ] ( "on" )
+relaxpoints [ 0 locks=0 ] ( "on" )
+relaxiterations [ 0 locks=0 ] ( 10 )
+scaleradiiby [ 0 locks=0 ] ( 1 )
+usemaxradius [ 0 locks=0 ] ( "on" )
+maxradius [ 0 locks=0 ] ( 10 )
+useprimnumattrib [ 0 locks=0 ] ( "off" )
+primnumattrib [ 0 locks=0 ] ( __sourceprim )
+useprimuvwattrib [ 0 locks=0 ] ( "off" )
+primuvwattrib [ 0 locks=0 ] ( __sourceprimuv )
+useoutputdensityattrib [ 0 locks=0 ] ( "off" )
+outputdensityattrib [ 0 locks=0 ] ( density )
+useoutputradiusattrib [ 0 locks=0 ] ( "off" )
+outputradiusattrib [ 0 locks=0 ] ( pscale )
+radiusintexturespace [ 0 locks=0 ] ( "off" )
+pointattribs [ 0 locks=0 ] ( * )
+vertattribs [ 0 locks=0 ] ( "" )
+primattribs [ 0 locks=0 ] ( "" )
+detailattribs [ 0 locks=0 ] ( "" )
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/scatter8.userdata"
+Content-Type: text/plain
+
+{
+ "___Version___":{
+ "type":"string",
+ "value":"18.0.391"
+ }
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/vdb_align_method.init"
+Content-Type: text/plain
+
+type = switch
+matchesdef = 0
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/vdb_align_method.def"
+Content-Type: text/plain
+
+sopflags sopflags =
+comment ""
+position 115.281 5.72555
+connectornextid 0
+flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
+outputsNamed3
+{
+2 "output1"
+}
+inputsNamed3
+{
+1 align_to_gradient 2 1 "input1"
+3 align_to_vector_volume 2 1 "input2"
+}
+inputs
+{
+0 align_to_gradient 0 1
+1 align_to_vector_volume 0 1
+}
+stat
+{
+ create 1568609660
+ modify 1586054043
+ author Henry@LAPPY586
+ access 0777
+}
+color UT_Color RGB 0.8 1 0.7
+delscript ""
+exprlanguage hscript
+end
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/vdb_align_method.chn"
+Content-Type: text/plain
+
+{
+ channel input {
+ lefttype = extend
+ righttype = extend
+ flags = 0
+ segment { length = 0 expr = ch(\"../voxel_align_method\") }
+ }
+ }
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/vdb_align_method.parm"
+Content-Type: text/plain
+
+{
+version 0.8
+input [ 0 locks=0 ] ( [ input 0 ] )
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/vdb_align_method.userdata"
+Content-Type: text/plain
+
+{
+ "___Version___":{
+ "type":"string",
+ "value":"18.0.391"
+ }
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/pack3.init"
+Content-Type: text/plain
+
+type = pack
+matchesdef = 0
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/pack3.def"
+Content-Type: text/plain
+
+sopflags sopflags =
+comment ""
+position 65.1874 -38.3678
+connectornextid 2
+flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
+outputsNamed3
+{
+1 "output1"
+}
+inputsNamed3
+{
+0 file3 0 1 "input1"
+}
+inputs
+{
+0 file3 0 1
+}
+stat
+{
+ create 1560463831
+ modify 1586055239
+ author Henry@LAPPY586
+ access 0777
+}
+color UT_Color RGB 0.8 0.8 0.8
+delscript ""
+exprlanguage hscript
+end
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/pack3.spareparmdef"
+Content-Type: text/plain
+
+ parm {
+ name "viewportlod"
+ baseparm
+ label "Display As"
+ export none
+ }
+ parm {
+ name "createpath"
+ baseparm
+ label "Create Path Attribute"
+ joinnext
+ export none
+ }
+ parm {
+ name "path"
+ baseparm
+ label "Path Attribute"
+ export none
+ }
+ parm {
+ name "packbyname"
+ baseparm
+ label "Pack By Name"
+ joinnext
+ export none
+ }
+ parm {
+ name "nameattribute"
+ baseparm
+ label "Name Attribute"
+ export none
+ }
+ parm {
+ name "packedfragments"
+ baseparm
+ label "Create Packed Fragments"
+ export none
+ }
+ parm {
+ name "pivot"
+ baseparm
+ label "Pivot Location"
+ export all
+ }
+ parm {
+ name "transfer_attributes"
+ baseparm
+ label "Transfer Attributes"
+ export none
+ }
+ parm {
+ name "transfer_groups"
+ baseparm
+ label "Transfer Groups"
+ export none
+ }
+ parm {
+ name "spare_input0"
+ label "Spare Input 0"
+ type oppath
+ default { "" }
+ help "Refer to this in expressions as -1, such as: npoint(-1)"
+ parmtag { "opfilter" "!!SOP!!" }
+ parmtag { "oprelative" "." }
+ }
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/pack3.chn"
+Content-Type: text/plain
+
+{
+ channel pivot {
+ lefttype = extend
+ righttype = extend
+ default = 1
+ flags = 0
+ segment { length = 0 value = 1 1 expr = "ch(\"../pack_from\" + ((detail(-1, \"value\", 0)+1)))" }
+ }
+ channel viewportlod {
+ lefttype = extend
+ righttype = extend
+ flags = 0
+ segment { length = 0 expr = ch(\"../viewportlod\") }
+ }
+ }
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/pack3.parm"
+Content-Type: text/plain
+
+{
+version 0.8
+viewportlod [ 0 locks=0 ] ( [ viewportlod 0 ] )
+createpath [ 0 locks=0 ] ( "on" )
+path [ 0 locks=0 ] ( op:`opfullpath('.')` )
+packbyname [ 0 locks=0 ] ( "off" )
+nameattribute [ 0 locks=0 ] ( name )
+packedfragments [ 0 locks=0 ] ( "on" )
+pivot [ 0 locks=0 ] ( [ pivot 0 ] )
+transfer_attributes [ 0 locks=0 ] ( `chs(\"../transfer_attributes\")` )
+transfer_groups [ 0 locks=0 ] ( "" )
+spare_input0 [ 0 locks=0 ] ( ../foreach_begin1_metadata1 )
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/pack3.userdata"
+Content-Type: text/plain
+
+{
+ "___Version___":{
+ "type":"string",
+ "value":"18.0.391"
+ }
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/linear_distro_mode.init"
+Content-Type: text/plain
+
+type = switch
+matchesdef = 0
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/linear_distro_mode.def"
+Content-Type: text/plain
+
+sopflags sopflags =
+comment ""
+position 61.2021 2.00349
+connectornextid 3
+flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
+outputsNamed3
+{
+1 "output1"
+}
+inputsNamed3
+{
+0 linear_start_end 0 1 "input1"
+2 line_distance_direction 0 1 "input2"
+}
+inputs
+{
+0 linear_start_end 0 1
+1 line_distance_direction 0 1
+}
+stat
+{
+ create 1568697713
+ modify 1586054043
+ author Henry@LAPPY586
+ access 0777
+}
+color UT_Color RGB 0.8 1 0.7
+delscript ""
+exprlanguage hscript
+end
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/linear_distro_mode.chn"
+Content-Type: text/plain
+
+{
+ channel input {
+ lefttype = extend
+ righttype = extend
+ flags = 0
+ segment { length = 0 expr = ch(\"../linear_mode\") }
+ }
+ }
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/linear_distro_mode.parm"
+Content-Type: text/plain
+
+{
+version 0.8
+input [ 0 locks=0 ] ( [ input 1 ] )
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/linear_distro_mode.userdata"
+Content-Type: text/plain
+
+{
+ "___Version___":{
+ "type":"string",
+ "value":"18.0.391"
+ }
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/line_distance_direction.init"
+Content-Type: text/plain
+
+type = line
+matchesdef = 0
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/line_distance_direction.def"
+Content-Type: text/plain
+
+sopflags sopflags =
+comment ""
+position 62.5007 4.06172
+connectornextid 1
+flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
+outputsNamed3
+{
+0 "output1"
+}
+inputsNamed3
+{
+}
+inputs
+{
+}
+stat
+{
+ create 1568697731
+ modify 1586054043
+ author Henry@LAPPY586
+ access 0777
+}
+color UT_Color RGB 0.8 0.8 0.8
+delscript ""
+exprlanguage hscript
+end
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/line_distance_direction.chn"
+Content-Type: text/plain
+
+{
+ channel originx {
+ lefttype = extend
+ righttype = extend
+ flags = 0
+ segment { length = 0 expr = ch(\"../originx\") }
+ }
+ channel originy {
+ lefttype = extend
+ righttype = extend
+ flags = 0
+ segment { length = 0 expr = ch(\"../originy\") }
+ }
+ channel originz {
+ lefttype = extend
+ righttype = extend
+ flags = 0
+ segment { length = 0 expr = ch(\"../originz\") }
+ }
+ channel dirx {
+ lefttype = extend
+ righttype = extend
+ flags = 0
+ segment { length = 0 expr = ch(\"../dirx\") }
+ }
+ channel diry {
+ lefttype = extend
+ righttype = extend
+ default = 1
+ flags = 0
+ segment { length = 0 value = 1 1 expr = ch(\"../diry\") }
+ }
+ channel dirz {
+ lefttype = extend
+ righttype = extend
+ flags = 0
+ segment { length = 0 expr = ch(\"../dirz\") }
+ }
+ channel dist {
+ lefttype = extend
+ righttype = extend
+ default = 1
+ flags = 0
+ segment { length = 0 value = 1 1 expr = ch(\"../dist\") }
+ }
+ }
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/line_distance_direction.parm"
+Content-Type: text/plain
+
+{
+version 0.8
+type [ 0 locks=0 ] ( "poly" )
+origin [ 0 locks=0 ] ( [ originx 0 ] [ originy 0 ] [ originz 0 ] )
+dir [ 0 locks=0 ] ( [ dirx 0 ] [ diry 0 ] [ dirz 1 ] )
+dist [ 0 locks=0 ] ( [ dist 1 ] )
+points [ 0 locks=0 ] ( 2 )
+order [ 0 locks=0 ] ( 4 )
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/line_distance_direction.userdata"
+Content-Type: text/plain
+
+{
+ "___Version___":{
+ "type":"string",
+ "value":"18.0.391"
+ }
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/do_center_linear.init"
+Content-Type: text/plain
+
+type = switch
+matchesdef = 0
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/do_center_linear.def"
+Content-Type: text/plain
+
+sopflags sopflags =
+comment ""
+position 61.1816 0.563045
+connectornextid 3
+flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
+outputsNamed3
+{
+1 "output1"
+}
+inputsNamed3
+{
+0 linear_distro_mode 1 1 "input1"
+2 center_linear_distro 1 1 "input2"
+}
+inputs
+{
+0 linear_distro_mode 0 1
+1 center_linear_distro 0 1
+}
+stat
+{
+ create 1568698410
+ modify 1586054043
+ author Henry@LAPPY586
+ access 0777
+}
+color UT_Color RGB 0.8 1 0.7
+delscript ""
+exprlanguage hscript
+end
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/do_center_linear.chn"
+Content-Type: text/plain
+
+{
+ channel input {
+ lefttype = extend
+ righttype = extend
+ flags = 0
+ segment { length = 0 expr = ch(\"../linear_center_origin\") }
+ }
+ }
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/do_center_linear.parm"
+Content-Type: text/plain
+
+{
+version 0.8
+input [ 8 locks=0 ] ( [ input 0 ] )
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/do_center_linear.userdata"
+Content-Type: text/plain
+
+{
+ "___Version___":{
+ "type":"string",
+ "value":"18.0.391"
+ }
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/do_align_radial.init"
+Content-Type: text/plain
+
+type = switch
+matchesdef = 0
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/do_align_radial.def"
+Content-Type: text/plain
+
+sopflags sopflags =
+comment ""
+position 65.5862 -0.408898
+connectornextid 3
+flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
+outputsNamed3
+{
+2 "output1"
+}
+inputsNamed3
+{
+0 pointwrangle11 1 1 "input1"
+1 align_radial_type 1 1 "input2"
+}
+inputs
+{
+0 pointwrangle11 0 1
+1 align_radial_type 0 1
+}
+stat
+{
+ create 1568780457
+ modify 1586054043
+ author Henry@LAPPY586
+ access 0777
+}
+color UT_Color RGB 0.8 1 0.7
+delscript ""
+exprlanguage hscript
+end
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/do_align_radial.chn"
+Content-Type: text/plain
+
+{
+ channel input {
+ lefttype = extend
+ righttype = extend
+ flags = 0
+ segment { length = 0 expr = ch(\"../radial_align\") }
+ }
+ }
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/do_align_radial.parm"
+Content-Type: text/plain
+
+{
+version 0.8
+input [ 0 locks=0 ] ( [ input 1 ] )
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/do_align_radial.userdata"
+Content-Type: text/plain
+
+{
+ "___Version___":{
+ "type":"string",
+ "value":"18.0.391"
+ }
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/do_align_linear.init"
+Content-Type: text/plain
+
+type = switch
+matchesdef = 0
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/do_align_linear.def"
+Content-Type: text/plain
+
+sopflags sopflags =
+comment ""
+position 61.1711 -2.80502
+connectornextid 3
+flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
+outputsNamed3
+{
+2 "output1"
+}
+inputsNamed3
+{
+0 pointwrangle12 1 1 "input1"
+1 pointwrangle3 1 1 "input2"
+}
+inputs
+{
+0 pointwrangle12 0 1
+1 pointwrangle3 0 1
+}
+stat
+{
+ create 1568780547
+ modify 1586054043
+ author Henry@LAPPY586
+ access 0777
+}
+color UT_Color RGB 0.8 1 0.7
+delscript ""
+exprlanguage hscript
+end
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/do_align_linear.chn"
+Content-Type: text/plain
+
+{
+ channel input {
+ lefttype = extend
+ righttype = extend
+ default = 1
+ flags = 0
+ segment { length = 0 value = 1 1 expr = ch(\"../linear_align\") }
+ }
+ }
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/do_align_linear.parm"
+Content-Type: text/plain
+
+{
+version 0.8
+input [ 0 locks=0 ] ( [ input 1 ] )
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/do_align_linear.userdata"
+Content-Type: text/plain
+
+{
+ "___Version___":{
+ "type":"string",
+ "value":"18.0.391"
+ }
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/convert2.init"
+Content-Type: text/plain
+
+type = convert
+matchesdef = 0
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/convert2.def"
+Content-Type: text/plain
+
+sopflags sopflags =
+comment ""
+position 93.151 8.0512
+connectornextid 2
+flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
+outputsNamed3
+{
+1 "output1"
+}
+inputsNamed3
+{
+0 validate_curve 1 1 "input1"
+}
+inputs
+{
+0 validate_curve 0 1
+}
+stat
+{
+ create 1568863059
+ modify 1574108061
+ author Henry@LAPPY586
+ access 0777
+}
+color UT_Color RGB 0.8 0.8 0.8
+delscript ""
+exprlanguage hscript
+end
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/convert2.parm"
+Content-Type: text/plain
+
+{
+version 0.8
+group [ 0 locks=0 ] ( "" )
+fromtype [ 0 locks=0 ] ( "all" )
+totype [ 0 locks=0 ] ( "poly" )
+surftype [ 0 locks=0 ] ( "quads" )
+stdswitcher [ 0 locks=0 ] ( 0 0 )
+lodu [ 0 locks=0 ] ( 0.5 )
+lodv [ 0 locks=0 ] ( 0.5 )
+lodtrim [ 0 locks=0 ] ( 1 )
+divu [ 0 locks=0 ] ( 2 )
+divv [ 0 locks=0 ] ( 2 )
+divtrim [ 0 locks=0 ] ( 1 )
+orderu [ 0 locks=0 ] ( 4 )
+orderv [ 0 locks=0 ] ( 4 )
+pastecoord [ 0 locks=0 ] ( "cfeature" )
+pasteattrib [ 0 locks=0 ] ( "afeature" )
+new [ 0 locks=0 ] ( "off" )
+interphull [ 0 locks=0 ] ( "off" )
+offset [ 0 locks=0 ] ( 0 )
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/convert2.userdata"
+Content-Type: text/plain
+
+{
+ "___Version___":{
+ "type":"string",
+ "value":"18.0.391"
+ }
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/do_curve_resample.init"
+Content-Type: text/plain
+
+type = switch
+matchesdef = 0
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/do_curve_resample.def"
+Content-Type: text/plain
+
+sopflags sopflags =
+comment ""
+position 93.1523 5.48624
+connectornextid 3
+flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
+outputsNamed3
+{
+1 "output1"
+}
+inputsNamed3
+{
+2 resample8 1 1 "input1"
+0 resample7 1 1 "input2"
+}
+inputs
+{
+0 resample8 0 1
+1 resample7 0 1
+}
+stat
+{
+ create 1568863380
+ modify 1586054043
+ author Henry@LAPPY586
+ access 0777
+}
+color UT_Color RGB 0.8 1 0.7
+delscript ""
+exprlanguage hscript
+end
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/do_curve_resample.chn"
+Content-Type: text/plain
+
+{
+ channel input {
+ lefttype = extend
+ righttype = extend
+ flags = 0
+ segment { length = 0 expr = ch(\"../do_resample_curve\") }
+ }
+ }
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/do_curve_resample.parm"
+Content-Type: text/plain
+
+{
+version 0.8
+input [ 0 locks=0 ] ( [ input 0 ] )
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/do_curve_resample.userdata"
+Content-Type: text/plain
+
+{
+ "___Version___":{
+ "type":"string",
+ "value":"18.0.391"
+ }
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/resample8.init"
+Content-Type: text/plain
+
+type = resample
+matchesdef = 0
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/resample8.def"
+Content-Type: text/plain
+
+sopflags sopflags =
+comment ""
+position 91.5035 6.71642
+connectornextid 2
+flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
+outputsNamed3
+{
+1 "output1"
+}
+inputsNamed3
+{
+0 convert2 1 1 "input1"
+}
+inputs
+{
+0 convert2 0 1
+}
+stat
+{
+ create 1521087863
+ modify 1586054043
+ author Henry@LAPPY586
+ access 0777
+}
+color UT_Color RGB 0.8 0.8 0.8
+delscript ""
+exprlanguage hscript
+end
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/resample8.chn"
+Content-Type: text/plain
+
+{
+ channel segs {
+ lefttype = extend
+ righttype = extend
+ default = 30
+ flags = 0
+ segment { length = 0 value = 30 30 expr = ch(\"../segs\") }
+ }
+ }
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/resample8.parm"
+Content-Type: text/plain
+
+{
+version 0.8
+group [ 0 locks=0 ] ( "" )
+lod [ 0 locks=0 ] ( 1 )
+edge [ 0 locks=0 ] ( "off" )
+method [ 0 locks=0 ] ( "dist" )
+measure [ 0 locks=0 ] ( "arc" )
+dolength [ 0 locks=0 ] ( "off" )
+length [ 0 locks=0 ] ( 0.10000000000000001 )
+dosegs [ 0 locks=0 ] ( "off" )
+segs [ 0 locks=0 ] ( [ segs 10 ] )
+useattribs [ 0 locks=0 ] ( "on" )
+allequal [ 0 locks=0 ] ( "on" )
+last [ 0 locks=0 ] ( "on" )
+randomshift [ 0 locks=0 ] ( "off" )
+onlypoints [ 0 locks=0 ] ( "off" )
+treatpolysas [ 8 locks=0 ] ( "straight" )
+outputsubdpoly [ 0 locks=0 ] ( "off" )
+doptdistattr [ 0 locks=0 ] ( "off" )
+ptdistattr [ 0 locks=0 ] ( ptdist )
+dotangentattr [ 0 locks=0 ] ( "off" )
+tangentattr [ 0 locks=0 ] ( tangentu )
+docurveuattr [ 0 locks=0 ] ( "on" )
+curveuattr [ 0 locks=0 ] ( __curveu )
+docurvenumattr [ 0 locks=0 ] ( "on" )
+curvenumattr [ 0 locks=0 ] ( __sourceprim )
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/resample8.userdata"
+Content-Type: text/plain
+
+{
+ "___Version___":{
+ "type":"string",
+ "value":"18.0.391"
+ }
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/processed_input_mesh.init"
+Content-Type: text/plain
+
+type = null
+matchesdef = 0
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/processed_input_mesh.def"
+Content-Type: text/plain
+
+sopflags sopflags =
+comment ""
+position 106.441 11.4965
+connectornextid 2
+flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
+outputsNamed3
+{
+1 "output1"
+}
+inputsNamed3
+{
+0 enumerate3 1 1 "input1"
+}
+inputs
+{
+0 enumerate3 0 1
+}
+stat
+{
+ create 1568865580
+ modify 1569713472
+ author Henry@LAPPY586
+ access 0777
+}
+color UT_Color RGB 0.6 0.7 0.77
+delscript ""
+exprlanguage hscript
+end
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/processed_input_mesh.parm"
+Content-Type: text/plain
+
+{
+version 0.8
+copyinput [ 0 locks=0 ] ( "on" )
+cacheinput [ 0 locks=0 ] ( "off" )
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/processed_input_mesh.userdata"
+Content-Type: text/plain
+
+{
+ "___Version___":{
+ "type":"string",
+ "value":"18.0.391"
+ }
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/blast6.init"
+Content-Type: text/plain
+
+type = blast
+matchesdef = 0
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/blast6.def"
+Content-Type: text/plain
+
+sopflags sopflags =
+comment ""
+position 74.6169 -23.8979
+connectornextid 2
+flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
+outputsNamed3
+{
+1 "output1"
+}
+inputsNamed3
+{
+0 groupexpression1 1 1 "input1"
+}
+inputs
+{
+0 groupexpression1 0 1
+}
+stat
+{
+ create 1568866318
+ modify 1586055229
+ author Henry@LAPPY586
+ access 0777
+}
+color UT_Color RGB 0.8 0.8 0.8
+delscript ""
+exprlanguage hscript
+end
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/blast6.parm"
+Content-Type: text/plain
+
+{
+version 0.8
+group [ 0 locks=0 ] ( __blast )
+grouptype [ 0 locks=0 ] ( "points" )
+computenorms [ 0 locks=0 ] ( "off" )
+negate [ 0 locks=0 ] ( "off" )
+fillhole [ 0 locks=0 ] ( "off" )
+removegrp [ 0 locks=0 ] ( "on" )
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/blast6.userdata"
+Content-Type: text/plain
+
+{
+ "___Version___":{
+ "type":"string",
+ "value":"18.0.391"
+ }
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/impose_point_limit.init"
+Content-Type: text/plain
+
+type = switch
+matchesdef = 0
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/impose_point_limit.def"
+Content-Type: text/plain
+
+sopflags sopflags =
+comment ""
+position 73.1533 -24.7279
+connectornextid 3
+flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
+outputsNamed3
+{
+1 "output1"
+}
+inputsNamed3
+{
+0 sort8 1 1 "input1"
+2 blast6 1 1 "input2"
+}
+inputs
+{
+0 sort8 0 1
+1 blast6 0 1
+}
+stat
+{
+ create 1568866329
+ modify 1586055229
+ author Henry@LAPPY586
+ access 0777
+}
+color UT_Color RGB 0.8 1 0.7
+delscript ""
+exprlanguage hscript
+end
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/impose_point_limit.chn"
+Content-Type: text/plain
+
+{
+ channel input {
+ lefttype = extend
+ righttype = extend
+ flags = 0
+ segment { length = 0 expr = "ch(\"../do_mesh_point_limit\") && ch(\"../distribution_type1/input\")==6" }
+ }
+ }
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/impose_point_limit.parm"
+Content-Type: text/plain
+
+{
+version 0.8
+input [ 8 locks=0 ] ( [ input 0 ] )
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/impose_point_limit.userdata"
+Content-Type: text/plain
+
+{
+ "___Version___":{
+ "type":"string",
+ "value":"18.0.391"
+ }
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/enumerate3.init"
+Content-Type: text/plain
+
+type = enumerate
+matchesdef = 0
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/enumerate3.def"
+Content-Type: text/plain
+
+sopflags sopflags =
+comment ""
+position 106.431 12.5992
+connectornextid 2
+flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
+outputsNamed3
+{
+1 "output1"
+}
+inputsNamed3
+{
+0 do_cusp_input_mesh 2 1 "input1"
+}
+inputs
+{
+0 do_cusp_input_mesh 0 1
+}
+stat
+{
+ create 1568866904
+ modify 1569005505
+ author Henry@LAPPY586
+ access 0777
+}
+color UT_Color RGB 0.8 0.8 0.8
+delscript ""
+exprlanguage hscript
+end
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/enumerate3.parm"
+Content-Type: text/plain
+
+{
+version 0.8
+group [ 0 locks=0 ] ( "" )
+grouptype [ 0 locks=0 ] ( "point" )
+usepieceattrib [ 0 locks=0 ] ( "off" )
+pieceattrib [ 0 locks=0 ] ( name )
+attribname [ 0 locks=0 ] ( __templateid )
+attribtype [ 0 locks=0 ] ( "int" )
+prefix [ 0 locks=0 ] ( piece )
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/enumerate3.userdata"
+Content-Type: text/plain
+
+{
+ "___Version___":{
+ "type":"string",
+ "value":"18.0.391"
+ }
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/enumerate4.init"
+Content-Type: text/plain
+
+type = enumerate
+matchesdef = 0
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/enumerate4.def"
+Content-Type: text/plain
+
+sopflags sopflags =
+comment ""
+position 93.7965 12.705
+connectornextid 2
+flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
+outputsNamed3
+{
+1 "output1"
+}
+inputsNamed3
+{
+0 SOURCE_TEMPLATE 0 1 "input1"
+}
+inputs
+{
+0 SOURCE_TEMPLATE 0 1
+}
+stat
+{
+ create 1568866904
+ modify 1568867094
+ author Henry@LAPPY586
+ access 0777
+}
+color UT_Color RGB 0.8 0.8 0.8
+delscript ""
+exprlanguage hscript
+end
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/enumerate4.parm"
+Content-Type: text/plain
+
+{
+version 0.8
+group [ 0 locks=0 ] ( "" )
+grouptype [ 0 locks=0 ] ( "point" )
+usepieceattrib [ 0 locks=0 ] ( "off" )
+pieceattrib [ 0 locks=0 ] ( name )
+attribname [ 0 locks=0 ] ( __templateid )
+attribtype [ 0 locks=0 ] ( "int" )
+prefix [ 0 locks=0 ] ( piece )
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/enumerate4.userdata"
+Content-Type: text/plain
+
+{
+ "___Version___":{
+ "type":"string",
+ "value":"18.0.391"
+ }
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/merge_in_template_points.init"
+Content-Type: text/plain
+
+type = object_merge
+matchesdef = 0
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/merge_in_template_points.def"
+Content-Type: text/plain
+
+sopflags sopflags =
+comment ""
+position 84.1623 -17.969
+connectornextid 1
+flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault off exposed on
+outputsNamed3
+{
+0 "output1"
+}
+inputsNamed3
+{
+}
+inputs
+{
+}
+stat
+{
+ create 1568521638
+ modify 1586054043
+ author Henry@LAPPY586
+ access 0777
+}
+color UT_Color RGB 0.8 1 0.8
+delscript ""
+exprlanguage hscript
+end
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/merge_in_template_points.parm"
+Content-Type: text/plain
+
+{
+version 0.8
+numobj [ 0 locks=0 ] ( 1 )
+_separator [ 0 locks=0 ] ( )
+xformtype [ 0 locks=0 ] ( "local" )
+xformpath [ 0 locks=0 ] ( "" )
+invertxform [ 0 locks=0 ] ( "off" )
+createptgroups [ 0 locks=0 ] ( "off" )
+ptgroupprefix [ 0 locks=0 ] ( _ptgrp_ )
+createprimgroups [ 0 locks=0 ] ( "off" )
+primgroupprefix [ 0 locks=0 ] ( _primgrp_ )
+verbosegroups [ 0 locks=0 ] ( "off" )
+suffixfirstgroup [ 0 locks=0 ] ( "on" )
+createptstring [ 0 locks=0 ] ( "off" )
+createprimstring [ 0 locks=0 ] ( "off" )
+pathattrib [ 0 locks=0 ] ( objname )
+pack [ 0 locks=0 ] ( "off" )
+pivot [ 0 locks=0 ] ( "centroid" )
+viewportlod [ 0 locks=0 ] ( "full" )
+addpath [ 0 locks=0 ] ( "on" )
+enable1 [ 0 locks=0 ] ( "on" )
+objpath1 [ 0 locks=0 ] ( "`ifs(ch(\"../distribution_type1/input\")==5, \"../processed_input_curve\", \"../processed_input_points\")`" )
+group1 [ 0 locks=0 ] ( "" )
+expand1 [ 0 locks=0 ] ( "off" )
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/merge_in_template_points.userdata"
+Content-Type: text/plain
+
+{
+ "___Version___":{
+ "type":"string",
+ "value":"18.0.391"
+ }
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/switch_mesh_or_points.init"
+Content-Type: text/plain
+
+type = switch
+matchesdef = 0
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/switch_mesh_or_points.def"
+Content-Type: text/plain
+
+sopflags sopflags =
+comment ""
+position 81.093 -19.2395
+connectornextid 3
+flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
+outputsNamed3
+{
+1 "output1"
+}
+inputsNamed3
+{
+0 merge_in_template_mesh 0 1 "input1"
+2 merge_in_template_points 0 1 "input2"
+}
+inputs
+{
+0 merge_in_template_mesh 0 1
+1 merge_in_template_points 0 1
+}
+stat
+{
+ create 1568867356
+ modify 1586054043
+ author Henry@LAPPY586
+ access 0777
+}
+color UT_Color RGB 0.8 1 0.7
+delscript ""
+exprlanguage hscript
+end
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/switch_mesh_or_points.chn"
+Content-Type: text/plain
+
+{
+ channel input {
+ lefttype = extend
+ righttype = extend
+ flags = 0
+ segment { length = 0 expr = "ch(\"../mesh_distro_method/input\") != 0" }
+ }
+ }
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/switch_mesh_or_points.parm"
+Content-Type: text/plain
+
+{
+version 0.8
+input [ 8 locks=0 ] ( [ input 1 ] )
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/switch_mesh_or_points.userdata"
+Content-Type: text/plain
+
+{
+ "___Version___":{
+ "type":"string",
+ "value":"18.0.391"
+ }
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/enumerate5.init"
+Content-Type: text/plain
+
+type = enumerate
+matchesdef = 0
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/enumerate5.def"
+Content-Type: text/plain
+
+sopflags sopflags =
+comment ""
+position 106.186 4.16648
+connectornextid 2
+flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
+outputsNamed3
+{
+1 "output1"
+}
+inputsNamed3
+{
+0 attribinterpolate2 1 1 "input1"
+}
+inputs
+{
+0 attribinterpolate2 0 1
+}
+stat
+{
+ create 1568867529
+ modify 1569713778
+ author Henry@LAPPY586
+ access 0777
+}
+color UT_Color RGB 0.8 0.8 0.8
+delscript ""
+exprlanguage hscript
+end
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/enumerate5.parm"
+Content-Type: text/plain
+
+{
+version 0.8
+group [ 0 locks=0 ] ( "" )
+grouptype [ 0 locks=0 ] ( "point" )
+usepieceattrib [ 0 locks=0 ] ( "off" )
+pieceattrib [ 0 locks=0 ] ( name )
+attribname [ 0 locks=0 ] ( __templateid )
+attribtype [ 0 locks=0 ] ( "int" )
+prefix [ 0 locks=0 ] ( piece )
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/enumerate5.userdata"
+Content-Type: text/plain
+
+{
+ "___Version___":{
+ "type":"string",
+ "value":"18.0.391"
+ }
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/enumerate6.init"
+Content-Type: text/plain
+
+type = enumerate
+matchesdef = 0
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/enumerate6.def"
+Content-Type: text/plain
+
+sopflags sopflags =
+comment ""
+position 109.776 2.61152
+connectornextid 2
+flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
+outputsNamed3
+{
+1 "output1"
+}
+inputsNamed3
+{
+0 attribinterpolate3 1 1 "input1"
+}
+inputs
+{
+0 attribinterpolate3 0 1
+}
+stat
+{
+ create 1568867529
+ modify 1569714346
+ author Henry@LAPPY586
+ access 0777
+}
+color UT_Color RGB 0.8 0.8 0.8
+delscript ""
+exprlanguage hscript
+end
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/enumerate6.parm"
+Content-Type: text/plain
+
+{
+version 0.8
+group [ 0 locks=0 ] ( "" )
+grouptype [ 0 locks=0 ] ( "point" )
+usepieceattrib [ 0 locks=0 ] ( "off" )
+pieceattrib [ 0 locks=0 ] ( name )
+attribname [ 0 locks=0 ] ( __templateid )
+attribtype [ 0 locks=0 ] ( "int" )
+prefix [ 0 locks=0 ] ( piece )
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/enumerate6.userdata"
+Content-Type: text/plain
+
+{
+ "___Version___":{
+ "type":"string",
+ "value":"18.0.391"
+ }
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/enumerate7.init"
+Content-Type: text/plain
+
+type = enumerate
+matchesdef = 0
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/enumerate7.def"
+Content-Type: text/plain
+
+sopflags sopflags =
+comment ""
+position 114.4 3.79348
+connectornextid 2
+flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
+outputsNamed3
+{
+1 "output1"
+}
+inputsNamed3
+{
+0 vdb_do_align 2 1 "input1"
+}
+inputs
+{
+0 vdb_do_align 0 1
+}
+stat
+{
+ create 1568867529
+ modify 1568918871
+ author Henry@LAPPY586
+ access 0777
+}
+color UT_Color RGB 0.8 0.8 0.8
+delscript ""
+exprlanguage hscript
+end
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/enumerate7.parm"
+Content-Type: text/plain
+
+{
+version 0.8
+group [ 0 locks=0 ] ( "" )
+grouptype [ 0 locks=0 ] ( "point" )
+usepieceattrib [ 0 locks=0 ] ( "off" )
+pieceattrib [ 0 locks=0 ] ( name )
+attribname [ 0 locks=0 ] ( __templateid )
+attribtype [ 0 locks=0 ] ( "int" )
+prefix [ 0 locks=0 ] ( piece )
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/enumerate7.userdata"
+Content-Type: text/plain
+
+{
+ "___Version___":{
+ "type":"string",
+ "value":"18.0.391"
+ }
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/vdb_do_align.init"
+Content-Type: text/plain
+
+type = switch
+matchesdef = 0
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/vdb_do_align.def"
+Content-Type: text/plain
+
+sopflags sopflags =
+comment ""
+position 114.4 4.75096
+connectornextid 3
+flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
+outputsNamed3
+{
+2 "output1"
+}
+inputsNamed3
+{
+0 voxel_fill_method 2 1 "input1"
+1 vdb_align_method 2 1 "input2"
+}
+inputs
+{
+0 voxel_fill_method 0 1
+1 vdb_align_method 0 1
+}
+stat
+{
+ create 1568868406
+ modify 1586054043
+ author Henry@LAPPY586
+ access 0777
+}
+color UT_Color RGB 0.8 1 0.7
+delscript ""
+exprlanguage hscript
+end
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/vdb_do_align.chn"
+Content-Type: text/plain
+
+{
+ channel input {
+ lefttype = extend
+ righttype = extend
+ flags = 0
+ segment { length = 0 expr = ch(\"../voxel_align\") }
+ }
+ }
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/vdb_do_align.parm"
+Content-Type: text/plain
+
+{
+version 0.8
+input [ 0 locks=0 ] ( [ input 1 ] )
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/vdb_do_align.userdata"
+Content-Type: text/plain
+
+{
+ "___Version___":{
+ "type":"string",
+ "value":"18.0.391"
+ }
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/attribdelete8.init"
+Content-Type: text/plain
+
+type = attribdelete
+matchesdef = 1
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/attribdelete8.def"
+Content-Type: text/plain
+
+sopflags sopflags =
+comment ""
+position 106.189 1.99598
+connectornextid 2
+flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
+outputsNamed3
+{
+1 "output1"
+}
+inputsNamed3
+{
+0 recreate_orient 1 1 "input1"
+}
+inputs
+{
+0 recreate_orient 0 1
+}
+stat
+{
+ create 1568918239
+ modify 1569391010
+ author Henry@LAPPY586
+ access 0777
+}
+color UT_Color RGB 0.8 0.8 0.8
+delscript ""
+exprlanguage hscript
+end
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/attribdelete8.parm"
+Content-Type: text/plain
+
+{
+version 0.8
+ptdel [ 0 locks=0 ] ( orient )
+vtxdel [ 0 locks=0 ] ( "" )
+primdel [ 0 locks=0 ] ( "" )
+dtldel [ 0 locks=0 ] ( "" )
+updatevar [ 0 locks=0 ] ( "on" )
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/attribdelete8.userdata"
+Content-Type: text/plain
+
+{
+ "___Version___":{
+ "type":"string",
+ "value":""
+ }
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/switch_auto_compute_N.init"
+Content-Type: text/plain
+
+type = switch
+matchesdef = 0
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/switch_auto_compute_N.def"
+Content-Type: text/plain
+
+sopflags sopflags =
+comment ""
+position 105.252 18.1025
+connectornextid 3
+flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
+outputsNamed3
+{
+1 "output1"
+}
+inputsNamed3
+{
+0 mesh_error 1 1 "input1"
+2 normal2 1 1 "input2"
+}
+inputs
+{
+0 mesh_error 0 1
+1 normal2 0 1
+}
+stat
+{
+ create 1568918871
+ modify 1568919858
+ author Henry@LAPPY586
+ access 0777
+}
+color UT_Color RGB 0.8 1 0.7
+delscript ""
+exprlanguage hscript
+end
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/switch_auto_compute_N.chn"
+Content-Type: text/plain
+
+{
+ channel input {
+ lefttype = extend
+ righttype = extend
+ flags = 0
+ segment { length = 0 expr = "!haspointattrib(0, \"N\")" }
+ }
+ }
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/switch_auto_compute_N.parm"
+Content-Type: text/plain
+
+{
+version 0.8
+input [ 8 locks=0 ] ( [ input 1 ] )
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/switch_auto_compute_N.userdata"
+Content-Type: text/plain
+
+{
+ "___Version___":{
+ "type":"string",
+ "value":"18.0.391"
+ }
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/normal2.init"
+Content-Type: text/plain
+
+type = normal
+matchesdef = 0
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/normal2.def"
+Content-Type: text/plain
+
+sopflags sopflags =
+comment ""
+position 106.574 18.8468
+connectornextid 2
+flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
+outputsNamed3
+{
+1 "output1"
+}
+inputsNamed3
+{
+0 mesh_error 1 1 "input1"
+}
+inputs
+{
+0 mesh_error 0 1
+}
+stat
+{
+ create 1568918892
+ modify 1568919858
+ author Henry@LAPPY586
+ access 0777
+}
+color UT_Color RGB 0.8 0.8 0.8
+delscript ""
+exprlanguage hscript
+end
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/normal2.parm"
+Content-Type: text/plain
+
+{
+version 0.8
+group [ 0 locks=0 ] ( "" )
+grouptype [ 0 locks=0 ] ( "guess" )
+overridenormal [ 0 locks=0 ] ( "off" )
+normalattrib [ 0 locks=0 ] ( N )
+construct [ 0 locks=0 ] ( 0 )
+docompute [ 0 locks=0 ] ( "on" )
+type [ 0 locks=0 ] ( "typepoint" )
+cuspangle [ 0 locks=0 ] ( 60 )
+method [ 0 locks=0 ] ( 1 )
+origifzero [ 0 locks=0 ] ( "off" )
+modify [ 0 locks=0 ] ( 0 )
+normalize [ 0 locks=0 ] ( "off" )
+reverse [ 0 locks=0 ] ( "off" )
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/normal2.userdata"
+Content-Type: text/plain
+
+{
+ "___Version___":{
+ "type":"string",
+ "value":"18.0.391"
+ }
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/attribdelete9.init"
+Content-Type: text/plain
+
+type = attribdelete
+matchesdef = 1
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/attribdelete9.def"
+Content-Type: text/plain
+
+sopflags sopflags =
+comment ""
+position 109.776 0.533717
+connectornextid 2
+flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
+outputsNamed3
+{
+1 "output1"
+}
+inputsNamed3
+{
+0 recreate_orient1 1 1 "input1"
+}
+inputs
+{
+0 recreate_orient1 0 1
+}
+stat
+{
+ create 1568918239
+ modify 1569714346
+ author Henry@LAPPY586
+ access 0777
+}
+color UT_Color RGB 0.8 0.8 0.8
+delscript ""
+exprlanguage hscript
+end
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/attribdelete9.parm"
+Content-Type: text/plain
+
+{
+version 0.8
+ptdel [ 0 locks=0 ] ( orient )
+vtxdel [ 0 locks=0 ] ( "" )
+primdel [ 0 locks=0 ] ( "" )
+dtldel [ 0 locks=0 ] ( "" )
+updatevar [ 0 locks=0 ] ( "on" )
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/attribdelete9.userdata"
+Content-Type: text/plain
+
+{
+ "___Version___":{
+ "type":"string",
+ "value":""
+ }
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/transform8.init"
+Content-Type: text/plain
+
+type = xform
+matchesdef = 0
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/transform8.def"
+Content-Type: text/plain
+
+sopflags sopflags =
+comment ""
+position 65.7399 -39.3326
+connectornextid 2
+flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
+outputsNamed3
+{
+1 "output1"
+}
+inputsNamed3
+{
+0 pack3 1 1 "input1"
+}
+inputs
+{
+0 pack3 0 1
+}
+stat
+{
+ create 1568947590
+ modify 1586055239
+ author Henry@LAPPY586
+ access 0777
+}
+color UT_Color RGB 0.8 0.8 0.8
+delscript ""
+exprlanguage hscript
+end
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/transform8.chn"
+Content-Type: text/plain
+
+{
+ channel tx {
+ lefttype = extend
+ righttype = extend
+ flags = 0
+ segment { length = 0 expr = ch(\"../global_translatex\") }
+ }
+ channel ty {
+ lefttype = extend
+ righttype = extend
+ flags = 0
+ segment { length = 0 expr = ch(\"../global_translatey\") }
+ }
+ channel tz {
+ lefttype = extend
+ righttype = extend
+ flags = 0
+ segment { length = 0 expr = ch(\"../global_translatez\") }
+ }
+ channel rx {
+ lefttype = extend
+ righttype = extend
+ flags = 0
+ segment { length = 0 expr = ch(\"../global_rotatex\") }
+ }
+ channel ry {
+ lefttype = extend
+ righttype = extend
+ flags = 0
+ segment { length = 0 expr = ch(\"../global_rotatey\") }
+ }
+ channel rz {
+ lefttype = extend
+ righttype = extend
+ flags = 0
+ segment { length = 0 expr = ch(\"../global_rotatez\") }
+ }
+ channel sx {
+ lefttype = extend
+ righttype = extend
+ default = 1
+ flags = 0
+ segment { length = 0 value = 1 1 expr = ch(\"../global_scalex\") }
+ }
+ channel sy {
+ lefttype = extend
+ righttype = extend
+ default = 1
+ flags = 0
+ segment { length = 0 value = 1 1 expr = ch(\"../global_scaley\") }
+ }
+ channel sz {
+ lefttype = extend
+ righttype = extend
+ default = 1
+ flags = 0
+ segment { length = 0 value = 1 1 expr = ch(\"../global_scalez\") }
+ }
+ channel scale {
+ lefttype = extend
+ righttype = extend
+ default = 1
+ flags = 0
+ segment { length = 0 value = 1 1 expr = ch(\"../global_pscale\") }
+ }
+ }
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/transform8.parm"
+Content-Type: text/plain
+
+{
+version 0.8
+group [ 0 locks=0 ] ( "" )
+grouptype [ 0 locks=0 ] ( "guess" )
+xOrd [ 0 locks=0 ] ( "srt" )
+rOrd [ 0 locks=0 ] ( "xyz" )
+t [ 8 locks=0 ] ( [ tx 0 ] [ ty 0 ] [ tz 0 ] )
+r [ 8 locks=0 ] ( [ rx 0 ] [ ry 0 ] [ rz 0 ] )
+s [ 0 locks=0 ] ( [ sx 1 ] [ sy 1 ] [ sz 1 ] )
+shear [ 0 locks=0 ] ( 0 0 0 )
+scale [ 0 locks=0 ] ( [ scale 0.10000000000000001 ] )
+parmgroup_pivotxform [ 0 locks=0 ] ( 0 )
+p [ 0 locks=0 ] ( 0 0 0 )
+pr [ 0 locks=0 ] ( 0 0 0 )
+parmgroup_prexform [ 0 locks=0 ] ( 0 )
+prexform_xOrd [ 0 locks=0 ] ( "srt" )
+prexform_rOrd [ 0 locks=0 ] ( "xyz" )
+prexform_t [ 0 locks=0 ] ( 0 0 0 )
+prexform_r [ 0 locks=0 ] ( 0 0 0 )
+prexform_s [ 0 locks=0 ] ( 1 1 1 )
+prexform_shear [ 0 locks=0 ] ( 0 0 0 )
+movecentroid [ 0 locks=0 ] ( 0 )
+attribs [ 0 locks=0 ] ( * )
+updatenmls [ 0 locks=0 ] ( "off" )
+updateaffectednmls [ 0 locks=0 ] ( "on" )
+vlength [ 0 locks=0 ] ( "on" )
+invertxform [ 0 locks=0 ] ( "off" )
+addattrib [ 0 locks=0 ] ( "off" )
+outputattrib [ 0 locks=0 ] ( xform )
+outputmerge [ 0 locks=0 ] ( "post" )
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/transform8.userdata"
+Content-Type: text/plain
+
+{
+ "___Version___":{
+ "type":"string",
+ "value":"18.0.391"
+ }
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/transform9.init"
+Content-Type: text/plain
+
+type = xform
+matchesdef = 0
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/transform9.def"
+Content-Type: text/plain
+
+sopflags sopflags =
+comment "Referenced from transform8"
+position 69.646 -39.4954
+connectornextid 2
+flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on displaycomment on
+outputsNamed3
+{
+1 "output1"
+}
+inputsNamed3
+{
+0 switch_file_sequence_type 0 1 "input1"
+}
+inputs
+{
+0 switch_file_sequence_type 0 1
+}
+stat
+{
+ create 1568947590
+ modify 1586055239
+ author Henry@LAPPY586
+ access 0777
+}
+color UT_Color RGB 0.8 0.8 0.8
+delscript ""
+exprlanguage hscript
+end
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/transform9.chn"
+Content-Type: text/plain
+
+{
+ channel outputmerge {
+ lefttype = extend
+ righttype = extend
+ default = 2
+ flags = 0
+ segment { length = 0 value = 2 2 expr = ch(\"../transform8/outputmerge\") }
+ }
+ channel outputattrib {
+ lefttype = extend
+ righttype = extend
+ defaultString = \"xform\"
+ flags = 0
+ segment { length = 0 expr = chs(\"../transform8/outputattrib\") }
+ }
+ channel addattrib {
+ lefttype = extend
+ righttype = extend
+ flags = 0
+ segment { length = 0 expr = ch(\"../transform8/addattrib\") }
+ }
+ channel invertxform {
+ lefttype = extend
+ righttype = extend
+ flags = 0
+ segment { length = 0 expr = ch(\"../transform8/invertxform\") }
+ }
+ channel vlength {
+ lefttype = extend
+ righttype = extend
+ default = 1
+ flags = 0
+ segment { length = 0 value = 1 1 expr = ch(\"../transform8/vlength\") }
+ }
+ channel updateaffectednmls {
+ lefttype = extend
+ righttype = extend
+ default = 1
+ flags = 0
+ segment { length = 0 value = 1 1 expr = ch(\"../transform8/updateaffectednmls\") }
+ }
+ channel updatenmls {
+ lefttype = extend
+ righttype = extend
+ flags = 0
+ segment { length = 0 expr = ch(\"../transform8/updatenmls\") }
+ }
+ channel attribs {
+ lefttype = extend
+ righttype = extend
+ defaultString = \"*\"
+ flags = 0
+ segment { length = 0 expr = chs(\"../transform8/attribs\") }
+ }
+ channel movecentroid {
+ lefttype = extend
+ righttype = extend
+ flags = 0
+ segment { length = 0 expr = ch(\"../transform8/movecentroid\") }
+ }
+ channel prexform_shear3 {
+ lefttype = extend
+ righttype = extend
+ flags = 0
+ segment { length = 0 expr = ch(\"../transform8/prexform_shear3\") }
+ }
+ channel prexform_shear2 {
+ lefttype = extend
+ righttype = extend
+ flags = 0
+ segment { length = 0 expr = ch(\"../transform8/prexform_shear2\") }
+ }
+ channel prexform_shear1 {
+ lefttype = extend
+ righttype = extend
+ flags = 0
+ segment { length = 0 expr = ch(\"../transform8/prexform_shear1\") }
+ }
+ channel prexform_sz {
+ lefttype = extend
+ righttype = extend
+ default = 1
+ flags = 0
+ segment { length = 0 value = 1 1 expr = ch(\"../transform8/prexform_sz\") }
+ }
+ channel prexform_sy {
+ lefttype = extend
+ righttype = extend
+ default = 1
+ flags = 0
+ segment { length = 0 value = 1 1 expr = ch(\"../transform8/prexform_sy\") }
+ }
+ channel prexform_sx {
+ lefttype = extend
+ righttype = extend
+ default = 1
+ flags = 0
+ segment { length = 0 value = 1 1 expr = ch(\"../transform8/prexform_sx\") }
+ }
+ channel prexform_rz {
+ lefttype = extend
+ righttype = extend
+ flags = 0
+ segment { length = 0 expr = ch(\"../transform8/prexform_rz\") }
+ }
+ channel prexform_ry {
+ lefttype = extend
+ righttype = extend
+ flags = 0
+ segment { length = 0 expr = ch(\"../transform8/prexform_ry\") }
+ }
+ channel prexform_rx {
+ lefttype = extend
+ righttype = extend
+ flags = 0
+ segment { length = 0 expr = ch(\"../transform8/prexform_rx\") }
+ }
+ channel prexform_tz {
+ lefttype = extend
+ righttype = extend
+ flags = 0
+ segment { length = 0 expr = ch(\"../transform8/prexform_tz\") }
+ }
+ channel prexform_ty {
+ lefttype = extend
+ righttype = extend
+ flags = 0
+ segment { length = 0 expr = ch(\"../transform8/prexform_ty\") }
+ }
+ channel prexform_tx {
+ lefttype = extend
+ righttype = extend
+ flags = 0
+ segment { length = 0 expr = ch(\"../transform8/prexform_tx\") }
+ }
+ channel prexform_rOrd {
+ lefttype = extend
+ righttype = extend
+ flags = 0
+ segment { length = 0 expr = ch(\"../transform8/prexform_rOrd\") }
+ }
+ channel prexform_xOrd {
+ lefttype = extend
+ righttype = extend
+ flags = 0
+ segment { length = 0 expr = ch(\"../transform8/prexform_xOrd\") }
+ }
+ channel prz {
+ lefttype = extend
+ righttype = extend
+ flags = 0
+ segment { length = 0 expr = ch(\"../transform8/prz\") }
+ }
+ channel pry {
+ lefttype = extend
+ righttype = extend
+ flags = 0
+ segment { length = 0 expr = ch(\"../transform8/pry\") }
+ }
+ channel prx {
+ lefttype = extend
+ righttype = extend
+ flags = 0
+ segment { length = 0 expr = ch(\"../transform8/prx\") }
+ }
+ channel pz {
+ lefttype = extend
+ righttype = extend
+ flags = 0
+ segment { length = 0 expr = ch(\"../transform8/pz\") }
+ }
+ channel py {
+ lefttype = extend
+ righttype = extend
+ flags = 0
+ segment { length = 0 expr = ch(\"../transform8/py\") }
+ }
+ channel px {
+ lefttype = extend
+ righttype = extend
+ flags = 0
+ segment { length = 0 expr = ch(\"../transform8/px\") }
+ }
+ channel scale {
+ lefttype = extend
+ righttype = extend
+ default = 1
+ flags = 0
+ segment { length = 0 value = 1 1 expr = ch(\"../transform8/scale\") }
+ }
+ channel shear3 {
+ lefttype = extend
+ righttype = extend
+ flags = 0
+ segment { length = 0 expr = ch(\"../transform8/shear3\") }
+ }
+ channel shear2 {
+ lefttype = extend
+ righttype = extend
+ flags = 0
+ segment { length = 0 expr = ch(\"../transform8/shear2\") }
+ }
+ channel shear1 {
+ lefttype = extend
+ righttype = extend
+ flags = 0
+ segment { length = 0 expr = ch(\"../transform8/shear1\") }
+ }
+ channel sz {
+ lefttype = extend
+ righttype = extend
+ default = 1
+ flags = 0
+ segment { length = 0 value = 1 1 expr = ch(\"../transform8/sz\") }
+ }
+ channel sy {
+ lefttype = extend
+ righttype = extend
+ default = 1
+ flags = 0
+ segment { length = 0 value = 1 1 expr = ch(\"../transform8/sy\") }
+ }
+ channel sx {
+ lefttype = extend
+ righttype = extend
+ default = 1
+ flags = 0
+ segment { length = 0 value = 1 1 expr = ch(\"../transform8/sx\") }
+ }
+ channel rz {
+ lefttype = extend
+ righttype = extend
+ flags = 0
+ segment { length = 0 expr = ch(\"../transform8/rz\") }
+ }
+ channel ry {
+ lefttype = extend
+ righttype = extend
+ flags = 0
+ segment { length = 0 expr = ch(\"../transform8/ry\") }
+ }
+ channel rx {
+ lefttype = extend
+ righttype = extend
+ default = 90
+ flags = 0
+ segment { length = 0 value = 90 90 expr = ch(\"../transform8/rx\") }
+ }
+ channel tz {
+ lefttype = extend
+ righttype = extend
+ flags = 0
+ segment { length = 0 expr = ch(\"../transform8/tz\") }
+ }
+ channel ty {
+ lefttype = extend
+ righttype = extend
+ flags = 0
+ segment { length = 0 expr = ch(\"../transform8/ty\") }
+ }
+ channel tx {
+ lefttype = extend
+ righttype = extend
+ flags = 0
+ segment { length = 0 expr = ch(\"../transform8/tx\") }
+ }
+ channel rOrd {
+ lefttype = extend
+ righttype = extend
+ flags = 0
+ segment { length = 0 expr = ch(\"../transform8/rOrd\") }
+ }
+ channel xOrd {
+ lefttype = extend
+ righttype = extend
+ flags = 0
+ segment { length = 0 expr = ch(\"../transform8/xOrd\") }
+ }
+ channel grouptype {
+ lefttype = extend
+ righttype = extend
+ flags = 0
+ segment { length = 0 expr = ch(\"../transform8/grouptype\") }
+ }
+ channel group {
+ lefttype = extend
+ righttype = extend
+ defaultString = \"\"
+ flags = 0
+ segment { length = 0 expr = chs(\"../transform8/group\") }
+ }
+ }
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/transform9.parm"
+Content-Type: text/plain
+
+{
+version 0.8
+group [ 0 locks=0 ] ( [ group "" ] )
+grouptype [ 0 locks=0 ] ( [ grouptype 0 ] )
+xOrd [ 0 locks=0 ] ( [ xOrd 0 ] )
+rOrd [ 0 locks=0 ] ( [ rOrd 0 ] )
+t [ 8 locks=0 ] ( [ tx 0 ] [ ty 0 ] [ tz 0 ] )
+r [ 8 locks=0 ] ( [ rx 0 ] [ ry 0 ] [ rz 0 ] )
+s [ 8 locks=0 ] ( [ sx 1 ] [ sy 1 ] [ sz 1 ] )
+shear [ 0 locks=0 ] ( [ shear1 0 ] [ shear2 0 ] [ shear3 0 ] )
+scale [ 0 locks=0 ] ( [ scale 0.10000000000000001 ] )
+parmgroup_pivotxform [ 0 locks=0 ] ( 0 )
+p [ 0 locks=0 ] ( [ px 0 ] [ py 0 ] [ pz 0 ] )
+pr [ 0 locks=0 ] ( [ prx 0 ] [ pry 0 ] [ prz 0 ] )
+parmgroup_prexform [ 0 locks=0 ] ( 0 )
+prexform_xOrd [ 0 locks=0 ] ( [ prexform_xOrd 0 ] )
+prexform_rOrd [ 0 locks=0 ] ( [ prexform_rOrd 0 ] )
+prexform_t [ 0 locks=0 ] ( [ prexform_tx 0 ] [ prexform_ty 0 ] [ prexform_tz 0 ] )
+prexform_r [ 0 locks=0 ] ( [ prexform_rx 0 ] [ prexform_ry 0 ] [ prexform_rz 0 ] )
+prexform_s [ 0 locks=0 ] ( [ prexform_sx 1 ] [ prexform_sy 1 ] [ prexform_sz 1 ] )
+prexform_shear [ 0 locks=0 ] ( [ prexform_shear1 0 ] [ prexform_shear2 0 ] [ prexform_shear3 0 ] )
+movecentroid [ 0 locks=0 ] ( [ movecentroid 0 ] )
+attribs [ 0 locks=0 ] ( [ attribs * ] )
+updatenmls [ 0 locks=0 ] ( [ updatenmls 0 ] )
+updateaffectednmls [ 0 locks=0 ] ( [ updateaffectednmls 1 ] )
+vlength [ 0 locks=0 ] ( [ vlength 1 ] )
+invertxform [ 0 locks=0 ] ( [ invertxform 0 ] )
+addattrib [ 0 locks=0 ] ( [ addattrib 0 ] )
+outputattrib [ 0 locks=0 ] ( [ outputattrib xform ] )
+outputmerge [ 0 locks=0 ] ( [ outputmerge 2 ] )
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/transform9.userdata"
+Content-Type: text/plain
+
+{
+ "___Version___":{
+ "type":"string",
+ "value":"18.0.391"
+ }
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/timeshift5.init"
+Content-Type: text/plain
+
+type = timeshift
+matchesdef = 0
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/timeshift5.def"
+Content-Type: text/plain
+
+sopflags sopflags =
+comment ""
+position 101.866 10.1155
+connectornextid 2
+flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
+outputsNamed3
+{
+1 "output1"
+}
+inputsNamed3
+{
+0 processed_input_mesh 1 1 "input1"
+}
+inputs
+{
+0 processed_input_mesh 0 1
+}
+stat
+{
+ create 1567743257
+ modify 1586054043
+ author Henry@LAPPY586
+ access 0777
+}
+color UT_Color RGB 0.8 0.8 0.8
+delscript ""
+exprlanguage hscript
+end
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/timeshift5.chn"
+Content-Type: text/plain
+
+{
+ channel frame {
+ lefttype = extend
+ righttype = extend
+ default = 1
+ flags = 0
+ segment { length = 0 value = 1 1 expr = ch(\"../template_rest_frame\") }
+ }
+ channel time {
+ lefttype = extend
+ righttype = extend
+ flags = 0
+ segment { length = 0 expr = $T }
+ }
+ channel frange1 {
+ lefttype = extend
+ righttype = extend
+ flags = 0
+ segment { length = 0 expr = $FSTART }
+ }
+ channel frange2 {
+ lefttype = extend
+ righttype = extend
+ flags = 0
+ segment { length = 0 expr = $FEND }
+ }
+ channel trange1 {
+ lefttype = extend
+ righttype = extend
+ flags = 0
+ segment { length = 0 expr = $TSTART }
+ }
+ channel trange2 {
+ lefttype = extend
+ righttype = extend
+ flags = 0
+ segment { length = 0 expr = $TEND }
+ }
+ }
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/timeshift5.parm"
+Content-Type: text/plain
+
+{
+version 0.8
+method [ 0 locks=0 ] ( "byframe" )
+frame [ 0 locks=0 ] ( [ frame 1 ] )
+integerframe [ 0 locks=0 ] ( "on" )
+time [ 0 locks=0 ] ( [ time 0 ] )
+rangeclamp [ 0 locks=0 ] ( "none" )
+frange [ 0 locks=0 ] ( [ frange1 1 ] [ frange2 240 ] )
+trange [ 0 locks=0 ] ( [ trange1 0 ] [ trange2 0 ] )
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/timeshift5.userdata"
+Content-Type: text/plain
+
+{
+ "___Version___":{
+ "type":"string",
+ "value":"18.0.391"
+ }
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/align_radial_type.init"
+Content-Type: text/plain
+
+type = switch
+matchesdef = 0
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/align_radial_type.def"
+Content-Type: text/plain
+
+sopflags sopflags =
+comment ""
+position 66.7929 0.710702
+connectornextid 3
+flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
+outputsNamed3
+{
+1 "output1"
+}
+inputsNamed3
+{
+2 pointwrangle13 1 1 "input1"
+0 MOPs_Orient_Curve1 1 1 "input2"
+}
+inputs
+{
+0 pointwrangle13 0 1
+1 MOPs_Orient_Curve1 0 1
+}
+stat
+{
+ create 1569084319
+ modify 1586054043
+ author Henry@LAPPY586
+ access 0777
+}
+color UT_Color RGB 0.8 1 0.7
+delscript ""
+exprlanguage hscript
+end
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/align_radial_type.chn"
+Content-Type: text/plain
+
+{
+ channel input {
+ lefttype = extend
+ righttype = extend
+ flags = 0
+ segment { length = 0 expr = ch(\"../radial_align_type\") }
+ }
+ }
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/align_radial_type.parm"
+Content-Type: text/plain
+
+{
+version 0.8
+input [ 0 locks=0 ] ( [ input 0 ] )
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/align_radial_type.userdata"
+Content-Type: text/plain
+
+{
+ "___Version___":{
+ "type":"string",
+ "value":"18.0.391"
+ }
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/blast1.init"
+Content-Type: text/plain
+
+type = blast
+matchesdef = 0
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/blast1.def"
+Content-Type: text/plain
+
+sopflags sopflags =
+comment ""
+position 105.773 7.32619
+connectornextid 2
+flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
+outputsNamed3
+{
+1 "output1"
+}
+inputsNamed3
+{
+0 generate_points_at_centroids 1 1 "input1"
+}
+inputs
+{
+0 generate_points_at_centroids 0 1
+}
+stat
+{
+ create 1569390777
+ modify 1569713781
+ author Henry@LAPPY586
+ access 0777
+}
+color UT_Color RGB 0.8 0.8 0.8
+delscript ""
+exprlanguage hscript
+end
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/blast1.parm"
+Content-Type: text/plain
+
+{
+version 0.8
+group [ 0 locks=0 ] ( newpoints )
+grouptype [ 0 locks=0 ] ( "points" )
+computenorms [ 0 locks=0 ] ( "off" )
+negate [ 0 locks=0 ] ( "on" )
+fillhole [ 0 locks=0 ] ( "off" )
+removegrp [ 0 locks=0 ] ( "off" )
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/blast1.userdata"
+Content-Type: text/plain
+
+{
+ "___Version___":{
+ "type":"string",
+ "value":"18.0.391"
+ }
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/switch_points_only_mesh.init"
+Content-Type: text/plain
+
+type = switch
+matchesdef = 0
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/switch_points_only_mesh.def"
+Content-Type: text/plain
+
+sopflags sopflags =
+comment ""
+position 72.6693 -63.7503
+connectornextid 3
+flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
+outputsNamed3
+{
+1 "output1"
+}
+inputsNamed3
+{
+0 attribdelete10 1 1 "input1"
+2 (__dot1) "" 1 "input2"
+}
+inputs
+{
+0 attribdelete10 0 1
+1 (__dot1) 0 1
+}
+stat
+{
+ create 1569453856
+ modify 1586055239
+ author Henry@LAPPY586
+ access 0777
+}
+color UT_Color RGB 0.8 1 0.7
+delscript ""
+exprlanguage hscript
+end
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/switch_points_only_mesh.chn"
+Content-Type: text/plain
+
+{
+ channel input {
+ lefttype = extend
+ righttype = extend
+ default = 1
+ flags = 0
+ segment { length = 0 value = 1 1 expr = "ch(\"../points_only\") && ch(\"../distribution_type1/input\") > 4" }
+ }
+ }
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/switch_points_only_mesh.parm"
+Content-Type: text/plain
+
+{
+version 0.8
+input [ 8 locks=0 ] ( [ input 0 ] )
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/switch_points_only_mesh.userdata"
+Content-Type: text/plain
+
+{
+ "___Version___":{
+ "type":"string",
+ "value":"18.0.391"
+ }
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/add1.init"
+Content-Type: text/plain
+
+type = add
+matchesdef = 0
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/add1.def"
+Content-Type: text/plain
+
+sopflags sopflags =
+comment ""
+position 83.5509 -44.2534
+connectornextid 2
+flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
+outputsNamed3
+{
+1 "output1"
+}
+inputsNamed3
+{
+0 switch_interpolation_method 1 1 "input1"
+}
+inputs
+{
+0 switch_interpolation_method 0 1
+}
+stat
+{
+ create 1569453878
+ modify 1586055239
+ author Henry@LAPPY586
+ access 0777
+}
+color UT_Color RGB 0.8 0.8 0.8
+delscript ""
+exprlanguage hscript
+end
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/add1.parm"
+Content-Type: text/plain
+
+{
+version 0.8
+stdswitcher [ 0 locks=0 ] ( 0 0 0 )
+keep [ 0 locks=0 ] ( "on" )
+points [ 0 locks=0 ] ( 1 )
+remove [ 0 locks=0 ] ( "off" )
+switcher [ 0 locks=0 ] ( 0 0 )
+prims [ 0 locks=0 ] ( 1 )
+group [ 0 locks=0 ] ( "" )
+add [ 0 locks=0 ] ( "all" )
+inc [ 0 locks=0 ] ( 2 )
+attrname [ 0 locks=0 ] ( "" )
+closedall [ 0 locks=0 ] ( "off" )
+addparticlesystem [ 0 locks=0 ] ( "off" )
+particlegroup [ 0 locks=0 ] ( "" )
+appendunusedtoparticlesystem [ 0 locks=0 ] ( "off" )
+usept0 [ 0 locks=0 ] ( "off" )
+pt0 [ 0 locks=0 ] ( 0 0 0 )
+weight0 [ 0 locks=0 ] ( 1 )
+prim0 [ 0 locks=0 ] ( "" )
+closed0 [ 0 locks=0 ] ( "off" )
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/add1.userdata"
+Content-Type: text/plain
+
+{
+ "___Version___":{
+ "type":"string",
+ "value":"18.0.391"
+ }
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/attribdelete10.init"
+Content-Type: text/plain
+
+type = attribdelete
+matchesdef = 1
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/attribdelete10.def"
+Content-Type: text/plain
+
+sopflags sopflags =
+comment ""
+position 72.4616 -62.1371
+connectornextid 2
+flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
+outputsNamed3
+{
+1 "output1"
+}
+inputsNamed3
+{
+0 switch_time_dependent 1 1 "input1"
+}
+inputs
+{
+0 switch_time_dependent 0 1
+}
+stat
+{
+ create 1521092176
+ modify 1586055239
+ author Henry@LAPPY586
+ access 0777
+}
+color UT_Color RGB 0.8 0.8 0.8
+delscript ""
+exprlanguage hscript
+end
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/attribdelete10.parm"
+Content-Type: text/plain
+
+{
+version 0.8
+ptdel [ 0 locks=0 ] ( "__probability orient scale pscale N up pivot __templateid __sourceprim __sourceprimuv" )
+vtxdel [ 0 locks=0 ] ( "" )
+primdel [ 0 locks=0 ] ( __primid )
+dtldel [ 0 locks=0 ] ( "" )
+updatevar [ 0 locks=0 ] ( "on" )
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/attribdelete10.userdata"
+Content-Type: text/plain
+
+{
+ "___Version___":{
+ "type":"string",
+ "value":""
+ }
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/switch_points_only_not_mesh.init"
+Content-Type: text/plain
+
+type = switch
+matchesdef = 0
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/switch_points_only_not_mesh.def"
+Content-Type: text/plain
+
+sopflags sopflags =
+comment ""
+position 72.6612 -67.6315
+connectornextid 3
+flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
+outputsNamed3
+{
+1 "output1"
+}
+inputsNamed3
+{
+0 switch_points_only_mesh 1 1 "input1"
+2 MOPs_Transform_Modifier 1 1 "input2"
+}
+inputs
+{
+0 switch_points_only_mesh 0 1
+1 MOPs_Transform_Modifier 0 1
+}
+stat
+{
+ create 1569455704
+ modify 1586055239
+ author Henry@LAPPY586
+ access 0777
+}
+color UT_Color RGB 0.8 1 0.7
+delscript ""
+exprlanguage hscript
+end
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/switch_points_only_not_mesh.chn"
+Content-Type: text/plain
+
+{
+ channel input {
+ lefttype = extend
+ righttype = extend
+ flags = 0
+ segment { length = 0 expr = "ch(\"../points_only\") && ch(\"../distribution_type1/input\") < 5" }
+ }
+ }
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/switch_points_only_not_mesh.parm"
+Content-Type: text/plain
+
+{
+version 0.8
+input [ 8 locks=0 ] ( [ input 0 ] )
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/switch_points_only_not_mesh.userdata"
+Content-Type: text/plain
+
+{
+ "___Version___":{
+ "type":"string",
+ "value":"18.0.391"
+ }
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/POINT_CONFIG.init"
+Content-Type: text/plain
+
+type = null
+matchesdef = 0
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/POINT_CONFIG.def"
+Content-Type: text/plain
+
+sopflags sopflags =
+comment ""
+position 75.8195 -38.9351
+connectornextid 1
+flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
+outputsNamed3
+{
+}
+inputsNamed3
+{
+0 pointwrangle1 1 1 "input1"
+}
+inputs
+{
+0 pointwrangle1 0 1
+}
+stat
+{
+ create 1569455723
+ modify 1586055239
+ author Henry@LAPPY586
+ access 0777
+}
+color UT_Color RGB 0.6 0.7 0.77
+delscript ""
+exprlanguage hscript
+end
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/POINT_CONFIG.parm"
+Content-Type: text/plain
+
+{
+version 0.8
+copyinput [ 0 locks=0 ] ( "on" )
+cacheinput [ 0 locks=0 ] ( "off" )
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/POINT_CONFIG.userdata"
+Content-Type: text/plain
+
+{
+ "___Version___":{
+ "type":"string",
+ "value":"18.0.391"
+ }
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/object_merge1.init"
+Content-Type: text/plain
+
+type = object_merge
+matchesdef = 0
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/object_merge1.def"
+Content-Type: text/plain
+
+sopflags sopflags =
+comment ""
+position 77.7819 -61.6824
+connectornextid 1
+flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault off exposed on
+outputsNamed3
+{
+0 "output1"
+}
+inputsNamed3
+{
+}
+inputs
+{
+}
+stat
+{
+ create 1569455737
+ modify 1586055239
+ author Henry@LAPPY586
+ access 0777
+}
+color UT_Color RGB 0.8 1 0.8
+delscript ""
+exprlanguage hscript
+end
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/object_merge1.parm"
+Content-Type: text/plain
+
+{
+version 0.8
+numobj [ 0 locks=0 ] ( 1 )
+_separator [ 0 locks=0 ] ( )
+xformtype [ 0 locks=0 ] ( "object" )
+xformpath [ 0 locks=0 ] ( "" )
+invertxform [ 0 locks=0 ] ( "off" )
+createptgroups [ 0 locks=0 ] ( "off" )
+ptgroupprefix [ 0 locks=0 ] ( _ptgrp_ )
+createprimgroups [ 0 locks=0 ] ( "off" )
+primgroupprefix [ 0 locks=0 ] ( _primgrp_ )
+verbosegroups [ 0 locks=0 ] ( "off" )
+suffixfirstgroup [ 0 locks=0 ] ( "on" )
+createptstring [ 0 locks=0 ] ( "off" )
+createprimstring [ 0 locks=0 ] ( "off" )
+pathattrib [ 0 locks=0 ] ( objname )
+pack [ 0 locks=0 ] ( "off" )
+pivot [ 0 locks=0 ] ( "centroid" )
+viewportlod [ 0 locks=0 ] ( "full" )
+addpath [ 0 locks=0 ] ( "on" )
+enable1 [ 0 locks=0 ] ( "on" )
+objpath1 [ 0 locks=0 ] ( ../POINT_CONFIG )
+group1 [ 0 locks=0 ] ( "" )
+expand1 [ 0 locks=0 ] ( "off" )
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/object_merge1.userdata"
+Content-Type: text/plain
+
+{
+ "___Version___":{
+ "type":"string",
+ "value":"18.0.391"
+ }
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/attribdelete6.init"
+Content-Type: text/plain
+
+type = attribdelete
+matchesdef = 1
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/attribdelete6.def"
+Content-Type: text/plain
+
+sopflags sopflags =
+comment ""
+position 72.6578 -68.6911
+connectornextid 2
+flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
+outputsNamed3
+{
+1 "output1"
+}
+inputsNamed3
+{
+0 switch_points_only_not_mesh 1 1 "input1"
+}
+inputs
+{
+0 switch_points_only_not_mesh 0 1
+}
+stat
+{
+ create 1521092176
+ modify 1586055239
+ author Henry@LAPPY586
+ access 0777
+}
+color UT_Color RGB 0.8 0.8 0.8
+delscript ""
+exprlanguage hscript
+end
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/attribdelete6.parm"
+Content-Type: text/plain
+
+{
+version 0.8
+ptdel [ 0 locks=0 ] ( "__probability __templateid __sourceprim __sourceprimuv" )
+vtxdel [ 0 locks=0 ] ( "" )
+primdel [ 0 locks=0 ] ( "" )
+dtldel [ 0 locks=0 ] ( "" )
+updatevar [ 0 locks=0 ] ( "on" )
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/attribdelete6.userdata"
+Content-Type: text/plain
+
+{
+ "___Version___":{
+ "type":"string",
+ "value":""
+ }
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/attribinterpolate2.init"
+Content-Type: text/plain
+
+type = attribinterpolate
+matchesdef = 0
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/attribinterpolate2.def"
+Content-Type: text/plain
+
+sopflags sopflags =
+comment ""
+position 106.175 6.1276
+connectornextid 3
+flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
+outputsNamed3
+{
+1 "output1"
+}
+inputsNamed3
+{
+0 blast1 1 1 "input1"
+2 compile_begin3 0 1 "input2"
+}
+inputs
+{
+0 blast1 0 1
+1 compile_begin3 0 1
+}
+stat
+{
+ create 1569713772
+ modify 1569714427
+ author Henry@LAPPY586
+ access 0777
+}
+color UT_Color RGB 0.8 0.8 0.8
+delscript ""
+exprlanguage hscript
+end
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/attribinterpolate2.parm"
+Content-Type: text/plain
+
+{
+version 0.8
+group [ 0 locks=0 ] ( "" )
+totype [ 0 locks=0 ] ( "points" )
+interpby [ 0 locks=0 ] ( "primuvw" )
+numberattrib [ 0 locks=0 ] ( __sourceprim )
+weightsattrib [ 0 locks=0 ] ( __sourceprimuv )
+pointattribs [ 0 locks=0 ] ( * )
+vertattribs [ 0 locks=0 ] ( "" )
+primattribs [ 0 locks=0 ] ( "" )
+detailattribs [ 0 locks=0 ] ( "" )
+computeweights [ 0 locks=0 ] ( "off" )
+computenumberstype [ 0 locks=0 ] ( "numbertypevertex" )
+computednumbersattrib [ 0 locks=0 ] ( sourcevtxnums )
+computedweightsattrib [ 0 locks=0 ] ( sourcevtxweights )
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/attribinterpolate2.userdata"
+Content-Type: text/plain
+
+{
+ "___Version___":{
+ "type":"string",
+ "value":"18.0.391"
+ }
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/blast2.init"
+Content-Type: text/plain
+
+type = blast
+matchesdef = 0
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/blast2.def"
+Content-Type: text/plain
+
+sopflags sopflags =
+comment ""
+position 108.741 5.37807
+connectornextid 2
+flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
+outputsNamed3
+{
+1 "output1"
+}
+inputsNamed3
+{
+0 generate_points_at_centroids1 1 1 "input1"
+}
+inputs
+{
+0 generate_points_at_centroids1 0 1
+}
+stat
+{
+ create 1569390777
+ modify 1569714444
+ author Henry@LAPPY586
+ access 0777
+}
+color UT_Color RGB 0.8 0.8 0.8
+delscript ""
+exprlanguage hscript
+end
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/blast2.parm"
+Content-Type: text/plain
+
+{
+version 0.8
+group [ 0 locks=0 ] ( newpoints )
+grouptype [ 0 locks=0 ] ( "points" )
+computenorms [ 0 locks=0 ] ( "off" )
+negate [ 0 locks=0 ] ( "on" )
+fillhole [ 0 locks=0 ] ( "off" )
+removegrp [ 0 locks=0 ] ( "off" )
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/blast2.userdata"
+Content-Type: text/plain
+
+{
+ "___Version___":{
+ "type":"string",
+ "value":"18.0.391"
+ }
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/attribinterpolate3.init"
+Content-Type: text/plain
+
+type = attribinterpolate
+matchesdef = 0
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/attribinterpolate3.def"
+Content-Type: text/plain
+
+sopflags sopflags =
+comment ""
+position 109.636 4.22102
+connectornextid 3
+flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
+outputsNamed3
+{
+1 "output1"
+}
+inputsNamed3
+{
+0 blast2 1 1 "input1"
+2 convertline2 1 1 "input2"
+}
+inputs
+{
+0 blast2 0 1
+1 convertline2 0 1
+}
+stat
+{
+ create 1569713772
+ modify 1569714346
+ author Henry@LAPPY586
+ access 0777
+}
+color UT_Color RGB 0.8 0.8 0.8
+delscript ""
+exprlanguage hscript
+end
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/attribinterpolate3.parm"
+Content-Type: text/plain
+
+{
+version 0.8
+group [ 0 locks=0 ] ( "" )
+totype [ 0 locks=0 ] ( "points" )
+interpby [ 0 locks=0 ] ( "primuvw" )
+numberattrib [ 0 locks=0 ] ( __sourceprim )
+weightsattrib [ 0 locks=0 ] ( __sourceprimuv )
+pointattribs [ 0 locks=0 ] ( * )
+vertattribs [ 0 locks=0 ] ( "" )
+primattribs [ 0 locks=0 ] ( "" )
+detailattribs [ 0 locks=0 ] ( "" )
+computeweights [ 0 locks=0 ] ( "off" )
+computenumberstype [ 0 locks=0 ] ( "numbertypevertex" )
+computednumbersattrib [ 0 locks=0 ] ( sourcevtxnums )
+computedweightsattrib [ 0 locks=0 ] ( sourcevtxweights )
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/attribinterpolate3.userdata"
+Content-Type: text/plain
+
+{
+ "___Version___":{
+ "type":"string",
+ "value":"18.0.391"
+ }
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/compile_end1.init"
+Content-Type: text/plain
+
+type = compile_end
+matchesdef = 0
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/compile_end1.def"
+Content-Type: text/plain
+
+sopflags sopflags =
+comment ""
+position 110.008 -0.441753
+connectornextid 2
+flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault off exposed on
+outputsNamed3
+{
+1 "output1"
+}
+inputsNamed3
+{
+0 attribdelete9 1 1 "input1"
+}
+inputs
+{
+0 attribdelete9 0 1
+}
+stat
+{
+ create 1569714346
+ modify 1569714523
+ author Henry@LAPPY586
+ access 0777
+}
+color UT_Color RGB 0.75 0.75 0
+delscript ""
+exprlanguage hscript
+end
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/compile_end1.parm"
+Content-Type: text/plain
+
+{
+version 0.8
+docompile [ 0 locks=0 ] ( "on" )
+unload [ 0 locks=0 ] ( "always" )
+primarypath [ 0 locks=0 ] ( "" )
+forcerecompile [ 0 locks=0 ] ( 0 )
+delayillegal [ 0 locks=0 ] ( "off" )
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/compile_end1.userdata"
+Content-Type: text/plain
+
+{
+ "___Version___":{
+ "type":"string",
+ "value":"18.0.391"
+ }
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/compile_begin1.init"
+Content-Type: text/plain
+
+type = compile_begin
+matchesdef = 0
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/compile_begin1.def"
+Content-Type: text/plain
+
+sopflags sopflags =
+comment ""
+position 109.641 9.98778
+connectornextid 2
+flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault off exposed on
+outputsNamed3
+{
+1 "output1"
+}
+inputsNamed3
+{
+0 processed_input_mesh 1 1 "input1"
+}
+inputs
+{
+0 processed_input_mesh 0 1
+}
+stat
+{
+ create 1569714346
+ modify 1586054043
+ author Henry@LAPPY586
+ access 0777
+}
+color UT_Color RGB 0.75 0.75 0
+delscript ""
+exprlanguage hscript
+end
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/compile_begin1.parm"
+Content-Type: text/plain
+
+{
+version 0.8
+blockpath [ 0 locks=0 ] ( ../compile_end1 )
+name [ 0 locks=0 ] ( "" )
+optional [ 0 locks=0 ] ( "off" )
+createbeginblock [ 0 locks=0 ] ( 0 )
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/compile_begin1.userdata"
+Content-Type: text/plain
+
+{
+ "___Version___":{
+ "type":"string",
+ "value":"18.0.391"
+ }
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/compile_end3.init"
+Content-Type: text/plain
+
+type = compile_end
+matchesdef = 0
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/compile_end3.def"
+Content-Type: text/plain
+
+sopflags sopflags =
+comment ""
+position 106.191 0.841634
+connectornextid 2
+flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault off exposed on
+outputsNamed3
+{
+1 "output1"
+}
+inputsNamed3
+{
+0 attribdelete8 1 1 "input1"
+}
+inputs
+{
+0 attribdelete8 0 1
+}
+stat
+{
+ create 1569714414
+ modify 1569714438
+ author Henry@LAPPY586
+ access 0777
+}
+color UT_Color RGB 0.75 0.75 0
+delscript ""
+exprlanguage hscript
+end
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/compile_end3.parm"
+Content-Type: text/plain
+
+{
+version 0.8
+docompile [ 0 locks=0 ] ( "on" )
+unload [ 0 locks=0 ] ( "always" )
+primarypath [ 0 locks=0 ] ( "" )
+forcerecompile [ 0 locks=0 ] ( 0 )
+delayillegal [ 0 locks=0 ] ( "off" )
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/compile_end3.userdata"
+Content-Type: text/plain
+
+{
+ "___Version___":{
+ "type":"string",
+ "value":"18.0.391"
+ }
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/compile_begin3.init"
+Content-Type: text/plain
+
+type = compile_begin
+matchesdef = 0
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/compile_begin3.def"
+Content-Type: text/plain
+
+sopflags sopflags =
+comment ""
+position 107.415 9.71298
+connectornextid 2
+flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault off exposed on
+outputsNamed3
+{
+0 "output1"
+}
+inputsNamed3
+{
+1 processed_input_mesh 1 1 "input1"
+}
+inputs
+{
+0 processed_input_mesh 0 1
+}
+stat
+{
+ create 1569714414
+ modify 1586054043
+ author Henry@LAPPY586
+ access 0777
+}
+color UT_Color RGB 0.75 0.75 0
+delscript ""
+exprlanguage hscript
+end
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/compile_begin3.parm"
+Content-Type: text/plain
+
+{
+version 0.8
+blockpath [ 0 locks=0 ] ( ../compile_end3 )
+name [ 0 locks=0 ] ( "" )
+optional [ 0 locks=0 ] ( "off" )
+createbeginblock [ 0 locks=0 ] ( 0 )
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/compile_begin3.userdata"
+Content-Type: text/plain
+
+{
+ "___Version___":{
+ "type":"string",
+ "value":"18.0.391"
+ }
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/add2.init"
+Content-Type: text/plain
+
+type = add
+matchesdef = 0
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/add2.def"
+Content-Type: text/plain
+
+sopflags sopflags =
+comment ""
+position 76.1668 -62.7888
+connectornextid 2
+flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
+outputsNamed3
+{
+1 "output1"
+}
+inputsNamed3
+{
+0 object_merge1 0 1 "input1"
+}
+inputs
+{
+0 object_merge1 0 1
+}
+stat
+{
+ create 1570315039
+ modify 1586055239
+ author Henry@LAPPY586
+ access 0777
+}
+color UT_Color RGB 0.8 0.8 0.8
+delscript ""
+exprlanguage hscript
+end
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/add2.parm"
+Content-Type: text/plain
+
+{
+version 0.8
+stdswitcher [ 0 locks=0 ] ( 0 0 0 )
+keep [ 0 locks=0 ] ( "on" )
+points [ 0 locks=0 ] ( 1 )
+remove [ 0 locks=0 ] ( "off" )
+switcher [ 0 locks=0 ] ( 0 0 )
+prims [ 0 locks=0 ] ( 1 )
+group [ 0 locks=0 ] ( "" )
+add [ 0 locks=0 ] ( "all" )
+inc [ 0 locks=0 ] ( 2 )
+attrname [ 0 locks=0 ] ( "" )
+closedall [ 0 locks=0 ] ( "off" )
+addparticlesystem [ 0 locks=0 ] ( "off" )
+particlegroup [ 0 locks=0 ] ( "" )
+appendunusedtoparticlesystem [ 0 locks=0 ] ( "off" )
+usept0 [ 0 locks=0 ] ( "off" )
+pt0 [ 0 locks=0 ] ( 0 0 0 )
+weight0 [ 0 locks=0 ] ( 1 )
+prim0 [ 0 locks=0 ] ( "" )
+closed0 [ 0 locks=0 ] ( "off" )
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/add2.userdata"
+Content-Type: text/plain
+
+{
+ "___Version___":{
+ "type":"string",
+ "value":"18.0.391"
+ }
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/sort1.init"
+Content-Type: text/plain
+
+type = sort
+matchesdef = 0
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/sort1.def"
+Content-Type: text/plain
+
+sopflags sopflags =
+comment ""
+position 72.5603 -53.2822
+connectornextid 2
+flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
+outputsNamed3
+{
+1 "output1"
+}
+inputsNamed3
+{
+0 attribpromote1 1 1 "input1"
+}
+inputs
+{
+0 attribpromote1 0 1
+}
+stat
+{
+ create 1580676372
+ modify 1586055239
+ author Henry@LAPPY586
+ access 0777
+}
+color UT_Color RGB 0.8 0.8 0.8
+delscript ""
+exprlanguage hscript
+end
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/sort1.parm"
+Content-Type: text/plain
+
+{
+version 0.8
+ptsort [ 0 locks=0 ] ( "attribute" )
+pointseed [ 0 locks=0 ] ( 0 )
+pointoffset [ 0 locks=0 ] ( 0 )
+pointprox [ 0 locks=0 ] ( 0 0 0 )
+pointobjpath [ 0 locks=0 ] ( "" )
+pointdir [ 0 locks=0 ] ( 0 1 0 )
+pointexpr [ 0 locks=0 ] ( 0 )
+pointattrib [ 0 locks=0 ] ( id )
+pointattribcomp [ 0 locks=0 ] ( 0 )
+pointreverse [ 0 locks=0 ] ( "off" )
+primsort [ 0 locks=0 ] ( "attribute" )
+primseed [ 0 locks=0 ] ( 0 )
+primoffset [ 0 locks=0 ] ( 0 )
+primprox [ 0 locks=0 ] ( 0 0 0 )
+primobjpath [ 0 locks=0 ] ( "" )
+primdir [ 0 locks=0 ] ( 0 1 0 )
+primexpr [ 0 locks=0 ] ( 0 )
+primattrib [ 0 locks=0 ] ( __primid )
+primattribcomp [ 0 locks=0 ] ( 0 )
+primreverse [ 0 locks=0 ] ( "off" )
+vertexprimorder [ 0 locks=0 ] ( "on" )
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/sort1.userdata"
+Content-Type: text/plain
+
+{
+ "___Version___":{
+ "type":"string",
+ "value":"18.0.391"
+ }
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/attribpromote1.init"
+Content-Type: text/plain
+
+type = attribpromote
+matchesdef = 0
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/attribpromote1.def"
+Content-Type: text/plain
+
+sopflags sopflags =
+comment ""
+position 72.5569 -52.018
+connectornextid 2
+flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
+outputsNamed3
+{
+1 "output1"
+}
+inputsNamed3
+{
+0 enable_material_overrides1 1 1 "input1"
+}
+inputs
+{
+0 enable_material_overrides1 0 1
+}
+stat
+{
+ create 1580676398
+ modify 1586055239
+ author Henry@LAPPY586
+ access 0777
+}
+color UT_Color RGB 0.8 0.8 0.8
+delscript ""
+exprlanguage hscript
+end
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/attribpromote1.parm"
+Content-Type: text/plain
+
+{
+version 0.8
+inname [ 0 locks=0 ] ( id )
+inclass [ 0 locks=0 ] ( "point" )
+outclass [ 0 locks=0 ] ( "primitive" )
+usepieceattrib [ 0 locks=0 ] ( "off" )
+pieceattrib [ 0 locks=0 ] ( name )
+method [ 0 locks=0 ] ( "mean" )
+useoutname [ 0 locks=0 ] ( "on" )
+outname [ 0 locks=0 ] ( __primid )
+deletein [ 0 locks=0 ] ( "off" )
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/attribpromote1.userdata"
+Content-Type: text/plain
+
+{
+ "___Version___":{
+ "type":"string",
+ "value":"18.0.391"
+ }
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/switch1.init"
+Content-Type: text/plain
+
+type = switch
+matchesdef = 0
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/switch1.def"
+Content-Type: text/plain
+
+sopflags sopflags =
+comment ""
+position 75.1487 -64.298
+connectornextid 3
+flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
+outputsNamed3
+{
+1 "output1"
+}
+inputsNamed3
+{
+0 add2 1 1 "input1"
+2 pointwrangle2 1 1 "input2"
+}
+inputs
+{
+0 add2 0 1
+1 pointwrangle2 0 1
+}
+stat
+{
+ create 1580883319
+ modify 1586055239
+ author Henry@LAPPY586
+ access 0777
+}
+color UT_Color RGB 0.8 1 0.7
+delscript ""
+exprlanguage hscript
+end
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/switch1.chn"
+Content-Type: text/plain
+
+{
+ channel input {
+ lefttype = extend
+ righttype = extend
+ flags = 0
+ segment { length = 0 expr = ch(\"../points_only\") }
+ }
+ }
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/switch1.parm"
+Content-Type: text/plain
+
+{
+version 0.8
+input [ 8 locks=0 ] ( [ input 0 ] )
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/switch1.userdata"
+Content-Type: text/plain
+
+{
+ "___Version___":{
+ "type":"string",
+ "value":"18.0.391"
+ }
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/switch2.init"
+Content-Type: text/plain
+
+type = switch
+matchesdef = 0
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/switch2.def"
+Content-Type: text/plain
+
+sopflags sopflags =
+comment ""
+position 99.9383 -14.2203
+connectornextid 3
+flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
+outputsNamed3
+{
+2 "output1"
+}
+inputsNamed3
+{
+0 processed_input_points 1 1 "input1"
+1 timeshift4 1 1 "input2"
+}
+inputs
+{
+0 processed_input_points 0 1
+1 timeshift4 0 1
+}
+stat
+{
+ create 1582053141
+ modify 1586054043
+ author Henry@LAPPY586
+ access 0777
+}
+color UT_Color RGB 0.8 1 0.7
+delscript ""
+exprlanguage hscript
+end
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/switch2.chn"
+Content-Type: text/plain
+
+{
+ channel input {
+ lefttype = extend
+ righttype = extend
+ flags = 0
+ segment { length = 0 expr = ch(\"../do_interpolation\") }
+ }
+ }
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/switch2.parm"
+Content-Type: text/plain
+
+{
+version 0.8
+input [ 8 locks=0 ] ( [ input 1 ] )
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/switch2.userdata"
+Content-Type: text/plain
+
+{
+ "___Version___":{
+ "type":"string",
+ "value":"18.0.391"
+ }
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/blast3.init"
+Content-Type: text/plain
+
+type = blast
+matchesdef = 0
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/blast3.def"
+Content-Type: text/plain
+
+sopflags sopflags =
+comment ""
+position 102.646 4.22102
+connectornextid 2
+flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
+outputsNamed3
+{
+1 "output1"
+}
+inputsNamed3
+{
+0 mesh_points1 0 1 "input1"
+}
+inputs
+{
+0 mesh_points1 0 1
+}
+stat
+{
+ create 1583819843
+ modify 1586054043
+ author Henry@LAPPY586
+ access 0777
+}
+color UT_Color RGB 0.8 0.8 0.8
+delscript ""
+exprlanguage hscript
+end
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/blast3.chn"
+Content-Type: text/plain
+
+{
+ channel group {
+ lefttype = extend
+ righttype = extend
+ defaultString = \"\"
+ flags = 0
+ segment { length = 0 expr = chs(\"../inputMeshPointGroup\") }
+ }
+ }
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/blast3.parm"
+Content-Type: text/plain
+
+{
+version 0.8
+group [ 0 locks=0 ] ( [ group "" ] )
+grouptype [ 0 locks=0 ] ( "points" )
+computenorms [ 0 locks=0 ] ( "off" )
+negate [ 0 locks=0 ] ( "on" )
+fillhole [ 0 locks=0 ] ( "off" )
+removegrp [ 0 locks=0 ] ( "off" )
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/blast3.userdata"
+Content-Type: text/plain
+
+{
+ "___Version___":{
+ "type":"string",
+ "value":"18.0.391"
+ }
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/attribdelete1.init"
+Content-Type: text/plain
+
+type = attribdelete
+matchesdef = 1
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/attribdelete1.def"
+Content-Type: text/plain
+
+sopflags sopflags =
+comment ""
+position 70.7147 -58.0481
+connectornextid 2
+flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
+outputsNamed3
+{
+1 "output1"
+}
+inputsNamed3
+{
+0 switch_has_abc1 1 1 "input1"
+}
+inputs
+{
+0 switch_has_abc1 0 1
+}
+stat
+{
+ create 1584172035
+ modify 1586055588
+ author Henry@LAPPY586
+ access 0777
+}
+color UT_Color RGB 0.8 0.8 0.8
+delscript ""
+exprlanguage hscript
+end
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/attribdelete1.parm"
+Content-Type: text/plain
+
+{
+version 0.8
+ptdel [ 0 locks=0 ] ( "* ^mops_index ^id ^name ^rest ^objpath" )
+vtxdel [ 0 locks=0 ] ( "" )
+primdel [ 0 locks=0 ] ( "" )
+dtldel [ 0 locks=0 ] ( "" )
+updatevar [ 0 locks=0 ] ( "on" )
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/attribdelete1.userdata"
+Content-Type: text/plain
+
+{
+ "___Version___":{
+ "type":"string",
+ "value":""
+ }
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/attribcopy1.init"
+Content-Type: text/plain
+
+type = attribcopy
+matchesdef = 0
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/attribcopy1.def"
+Content-Type: text/plain
+
+sopflags sopflags =
+comment ""
+position 71.8137 -58.9242
+connectornextid 3
+flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
+outputsNamed3
+{
+2 "output1"
+}
+inputsNamed3
+{
+0 attribdelete1 1 1 "input1"
+1 switch_has_abc1 1 1 "input2"
+}
+inputs
+{
+0 attribdelete1 0 1
+1 switch_has_abc1 0 1
+}
+stat
+{
+ create 1584172109
+ modify 1586055239
+ author Henry@LAPPY586
+ access 0777
+}
+color UT_Color RGB 0.8 0.8 0.8
+delscript ""
+exprlanguage hscript
+end
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/attribcopy1.chn"
+Content-Type: text/plain
+
+{
+ channel attribname {
+ lefttype = extend
+ righttype = extend
+ defaultString = \"Cd\"
+ flags = 0
+ segment { length = 0 expr = chs(\"../attribname2\") }
+ }
+ }
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/attribcopy1.parm"
+Content-Type: text/plain
+
+{
+version 0.8
+srcgroup [ 0 locks=0 ] ( "" )
+srcgrouptype [ 0 locks=0 ] ( "points" )
+destgroup [ 0 locks=0 ] ( "" )
+destgrouptype [ 0 locks=0 ] ( "points" )
+matchbyattribute [ 0 locks=0 ] ( "off" )
+attributetomatch [ 0 locks=0 ] ( piece )
+attrib [ 0 locks=0 ] ( "otherattrib" )
+attribname [ 0 locks=0 ] ( [ attribname mops_falloff ] )
+copyp [ 0 locks=0 ] ( "on" )
+usenewname [ 0 locks=0 ] ( "off" )
+newname [ 0 locks=0 ] ( "" )
+class [ 0 locks=0 ] ( "guess" )
+copyvariable [ 0 locks=0 ] ( "on" )
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/attribcopy1.userdata"
+Content-Type: text/plain
+
+{
+ "___Version___":{
+ "type":"string",
+ "value":"18.0.391"
+ }
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/switch_do_copy_attrs.init"
+Content-Type: text/plain
+
+type = switch
+matchesdef = 0
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/switch_do_copy_attrs.def"
+Content-Type: text/plain
+
+sopflags sopflags =
+comment ""
+position 70.388 -59.6882
+connectornextid 3
+flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
+outputsNamed3
+{
+2 "output1"
+}
+inputsNamed3
+{
+0 attribdelete1 1 1 "input1"
+1 attribcopy1 2 1 "input2"
+}
+inputs
+{
+0 attribdelete1 0 1
+1 attribcopy1 0 1
+}
+stat
+{
+ create 1584172149
+ modify 1586055239
+ author Henry@LAPPY586
+ access 0777
+}
+color UT_Color RGB 0.8 1 0.7
+delscript ""
+exprlanguage hscript
+end
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/switch_do_copy_attrs.chn"
+Content-Type: text/plain
+
+{
+ channel input {
+ lefttype = extend
+ righttype = extend
+ flags = 0
+ segment { length = 0 expr = ch(\"../do_copy_attrs\") }
+ }
+ }
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/switch_do_copy_attrs.parm"
+Content-Type: text/plain
+
+{
+version 0.8
+input [ 0 locks=0 ] ( [ input 1 ] )
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/switch_do_copy_attrs.userdata"
+Content-Type: text/plain
+
+{
+ "___Version___":{
+ "type":"string",
+ "value":"18.0.391"
+ }
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/is_interpolation_active.init"
+Content-Type: text/plain
+
+type = switch
+matchesdef = 0
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/is_interpolation_active.def"
+Content-Type: text/plain
+
+sopflags sopflags =
+comment ""
+position 73.0398 -28.6952
+connectornextid 3
+flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
+outputsNamed3
+{
+1 "output1"
+}
+inputsNamed3
+{
+0 set_id_offset2 1 1 "input1"
+2 attribcopy5 1 1 "input2"
+}
+inputs
+{
+0 set_id_offset2 0 1
+1 attribcopy5 0 1
+}
+stat
+{
+ create 1586055305
+ modify 1586055442
+ author Henry@LAPPY586
+ access 0777
+}
+color UT_Color RGB 0.8 1 0.7
+delscript ""
+exprlanguage hscript
+end
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/is_interpolation_active.chn"
+Content-Type: text/plain
+
+{
+ channel input {
+ lefttype = extend
+ righttype = extend
+ flags = 0
+ segment { length = 0 expr = ch(\"../do_interpolation\") }
+ }
+ }
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/is_interpolation_active.parm"
+Content-Type: text/plain
+
+{
+version 0.8
+input [ 0 locks=0 ] ( [ input 1 ] )
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/is_interpolation_active.userdata"
+Content-Type: text/plain
+
+{
+ "___Version___":{
+ "type":"string",
+ "value":"18.0.391"
+ }
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/attribcopy5.init"
+Content-Type: text/plain
+
+type = attribcopy
+matchesdef = 0
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/attribcopy5.def"
+Content-Type: text/plain
+
+sopflags sopflags =
+comment ""
+position 74.7995 -27.5299
+connectornextid 3
+flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
+outputsNamed3
+{
+1 "output1"
+}
+inputsNamed3
+{
+0 set_id_offset2 1 1 "input1"
+2 processed_input_points 1 1 "input2"
+}
+inputs
+{
+0 set_id_offset2 0 1
+1 processed_input_points 0 1
+}
+stat
+{
+ create 1586055389
+ modify 1586055463
+ author Henry@LAPPY586
+ access 0777
+}
+color UT_Color RGB 0.8 0.8 0.8
+delscript ""
+exprlanguage hscript
+end
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/attribcopy5.chn"
+Content-Type: text/plain
+
+{
+ channel attribname {
+ lefttype = extend
+ righttype = extend
+ defaultString = \"Cd\"
+ flags = 0
+ segment { length = 0 expr = chs(\"../index_attr\") }
+ }
+ }
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/attribcopy5.parm"
+Content-Type: text/plain
+
+{
+version 0.8
+srcgroup [ 0 locks=0 ] ( "" )
+srcgrouptype [ 0 locks=0 ] ( "points" )
+destgroup [ 0 locks=0 ] ( "" )
+destgrouptype [ 0 locks=0 ] ( "points" )
+matchbyattribute [ 0 locks=0 ] ( "on" )
+attributetomatch [ 0 locks=0 ] ( __templateid )
+attrib [ 0 locks=0 ] ( "otherattrib" )
+attribname [ 0 locks=0 ] ( [ attribname mops_index ] )
+copyp [ 0 locks=0 ] ( "on" )
+usenewname [ 0 locks=0 ] ( "off" )
+newname [ 0 locks=0 ] ( "" )
+class [ 0 locks=0 ] ( "guess" )
+copyvariable [ 0 locks=0 ] ( "on" )
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/attribcopy5.userdata"
+Content-Type: text/plain
+
+{
+ "___Version___":{
+ "type":"string",
+ "value":"18.0.391"
+ }
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/__dot1.networkdotinit"
+Content-Type: text/plain
+
+{
+ "version":1,
+ "posx":83.4330657383945891,
+ "posy":-59.671907493640461,
+ "pinned":false,
+ "color":"FROMOUTPUT",
+ "input":"add1 0 1"
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot.order"
+Content-Type: text/plain
+
+187
+globals
+output1
+distribution_linear1
+resample5
+sort8
+linear_start_end
+circle3
+distribution_radial1
+resample6
+MOPs_Orient_Curve1
+fuse1
+transform5
+sphere_align1
+determine_sphere_orientation
+distribution_spherical1
+do_sphere_fill1
+sphere2
+scatter5
+carve3
+add6
+copytopoints3
+vdbfrompolygons3
+polyfill2
+scatter6
+grid_align1
+generate_grid_points1
+generate_alt_grid_points1
+distribution_grid1
+add7
+grid_distribution_type1
+input_curve1
+SOURCE_TEMPLATE
+resample7
+MOPs_Orient_Curve2
+do_orient_curve
+curve_orient_N_up
+distribution_curve1
+pointwrangle9
+primitivewrangle4
+center1
+distribution_honeycomb1
+circle4
+copy_rows1
+copy_cols1
+attribpromote4
+switch_honeycomb_points1
+attribdelete5
+transform6
+transform7
+distribution_type1
+generate_point_id
+generate_mops_index
+pointwrangle10
+sum_probability1
+set_id_offset2
+do_randomize_probability1
+define_local_user_transforms
+define_name_attr
+foreach_end1
+foreach_begin1
+copytopoints5
+file3
+switch_file_sequence_type
+switch_is_file
+load_file_sequence
+load_alembic
+foreach_begin1_metadata1
+do_material_override1
+enable_material_overrides1
+set_packed_sequence_attrs1
+create_temp_sequence_groups
+set_alembic_attrs1
+switch_has_abc1
+groupdelete2
+define_sourceprim_uv
+switch_time_dependent
+MOPs_Apply_Attributes
+attribinterpolate1
+timeshift3
+input_mesh1
+mesh_error
+distribution_mesh1
+mesh_distro_method
+mesh_scatter1
+mesh_points1
+mesh_primCenter1
+mesh_edgeCenter1
+mesh_voxel1
+do_cusp_input_mesh
+facet2
+scatter7
+timeshift4
+processed_input_points
+merge_in_template_mesh
+do_orient_mesh
+MOPs_Orient_Mesh1
+validate_curve
+switch_interpolation_method
+interpolate_from_primuv
+interpolate_from_points
+attribcopy4
+processed_input_curve
+convertline2
+facet4
+vdbfrompolygons4
+voxel_fill_method
+vdbvisualizetree2
+scatter8
+vdb_align_method
+align_to_gradient
+align_to_vector_volume
+pack3
+linear_distro_mode
+line_distance_direction
+center_linear_distro
+do_center_linear
+do_align_radial
+pointwrangle11
+do_align_linear
+pointwrangle12
+convert2
+do_curve_resample
+resample8
+processed_input_mesh
+blast6
+impose_point_limit
+groupexpression1
+enumerate3
+enumerate4
+merge_in_template_points
+switch_mesh_or_points
+enumerate5
+enumerate6
+enumerate7
+create_N_up
+vdb_do_align
+recreate_orient
+attribdelete8
+create_default_orient
+switch_auto_compute_N
+normal2
+recreate_orient1
+attribdelete9
+transform8
+transform9
+MOPs_Visualize_Frame
+timeshift5
+rebuild_interpolated_orient
+align_radial_type
+pointwrangle13
+generate_points_at_centroids
+blast1
+generate_points_at_centroids1
+switch_points_only_mesh
+add1
+attribdelete10
+switch_points_only_not_mesh
+POINT_CONFIG
+object_merge1
+attribdelete6
+pointwrangle1
+attribinterpolate2
+blast2
+attribinterpolate3
+compile_end1
+compile_begin1
+compile_end3
+compile_begin3
+define_objpath
+define_objpath_file
+add2
+MOPs_Visualize_Frame1
+convert_orient_to_N_up
+sort1
+attribpromote1
+MOPs_Transform_Modifier
+switch1
+pointwrangle2
+pointwrangle3
+switch2
+blast3
+attribdelete1
+attribcopy1
+switch_do_copy_attrs
+define_local_user_transforms1
+is_interpolation_active
+attribcopy5
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot.net"
+Content-Type: text/plain
+
+1
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY--
diff --git a/otls/MOPS_instancer.hda/MOPS_8_8Sop_1Instancer_8_81.4/Contents.dir/Sections.list b/otls/MOPS_instancer.hda/MOPS_8_8Sop_1Instancer_8_81.4/Contents.dir/Sections.list
new file mode 100644
index 00000000..49f2c152
--- /dev/null
+++ b/otls/MOPS_instancer.hda/MOPS_8_8Sop_1Instancer_8_81.4/Contents.dir/Sections.list
@@ -0,0 +1,2 @@
+""
+Contents.mime Contents.mime
diff --git a/otls/MOPS_instancer.hda/MOPS_8_8Sop_1Instancer_8_81.4/CreateScript b/otls/MOPS_instancer.hda/MOPS_8_8Sop_1Instancer_8_81.4/CreateScript
new file mode 100644
index 00000000..1237e1fa
--- /dev/null
+++ b/otls/MOPS_instancer.hda/MOPS_8_8Sop_1Instancer_8_81.4/CreateScript
@@ -0,0 +1,14 @@
+# Automatically generated script
+\set noalias = 1
+#
+# Creation script for MOPS::Instancer::1.4 operator
+#
+
+if ( "$arg1" == "" ) then
+ echo This script is intended as a creation script
+ exit
+endif
+
+# Node $arg1 (MOPS::Sop/Instancer::1.4)
+opexprlanguage -s hscript $arg1
+opuserdata -n '___Version___' -v '' $arg1
diff --git a/otls/MOPS_instancer.hda/MOPS_8_8Sop_1Instancer_8_81.4/DescriptiveParmName b/otls/MOPS_instancer.hda/MOPS_8_8Sop_1Instancer_8_81.4/DescriptiveParmName
new file mode 100644
index 00000000..4fd8eff4
--- /dev/null
+++ b/otls/MOPS_instancer.hda/MOPS_8_8Sop_1Instancer_8_81.4/DescriptiveParmName
@@ -0,0 +1 @@
+inputMesh
\ No newline at end of file
diff --git a/otls/MOPS_instancer.hda/MOPS_8_8Sop_1Instancer_8_81.4/DialogScript b/otls/MOPS_instancer.hda/MOPS_8_8Sop_1Instancer_8_81.4/DialogScript
new file mode 100644
index 00000000..6f129376
--- /dev/null
+++ b/otls/MOPS_instancer.hda/MOPS_8_8Sop_1Instancer_8_81.4/DialogScript
@@ -0,0 +1,2887 @@
+# Dialog script for MOPS::Instancer::1.4 automatically generated
+
+{
+ name MOPS::Instancer::1.4
+ script MOPS::Instancer::1.1
+ label "MOPs Instancer"
+
+ help {
+ ""
+ }
+
+ inputlabel 1 "Objects to Clone"
+ inputlabel 2 "Sub-Network Input #2"
+ inputlabel 3 "Sub-Network Input #3"
+ inputlabel 4 "Sub-Network Input #4"
+ inputlabel 5 "Sub-Network Input #5"
+ inputlabel 6 "Sub-Network Input #6"
+ inputlabel 7 "Sub-Network Input #7"
+ inputlabel 8 "Sub-Network Input #8"
+ inputlabel 9 "Sub-Network Input #9"
+ inputlabel 10 "Sub-Network Input #10"
+ inputlabel 11 "Sub-Network Input #11"
+ inputlabel 12 "Sub-Network Input #12"
+ inputlabel 13 "Sub-Network Input #13"
+ inputlabel 14 "Sub-Network Input #14"
+ inputlabel 15 "Sub-Network Input #15"
+ inputlabel 16 "Sub-Network Input #16"
+ inputlabel 17 "Sub-Network Input #17"
+ inputlabel 18 "Sub-Network Input #18"
+ inputlabel 19 "Sub-Network Input #19"
+ inputlabel 20 "Sub-Network Input #20"
+ inputlabel 21 "Sub-Network Input #21"
+ inputlabel 22 "Sub-Network Input #22"
+ inputlabel 23 "Sub-Network Input #23"
+ inputlabel 24 "Sub-Network Input #24"
+ inputlabel 25 "Sub-Network Input #25"
+ inputlabel 26 "Sub-Network Input #26"
+ inputlabel 27 "Sub-Network Input #27"
+ inputlabel 28 "Sub-Network Input #28"
+ inputlabel 29 "Sub-Network Input #29"
+ inputlabel 30 "Sub-Network Input #30"
+ inputlabel 31 "Sub-Network Input #31"
+ inputlabel 32 "Sub-Network Input #32"
+ inputlabel 33 "Sub-Network Input #33"
+ inputlabel 34 "Sub-Network Input #34"
+ inputlabel 35 "Sub-Network Input #35"
+ inputlabel 36 "Sub-Network Input #36"
+ inputlabel 37 "Sub-Network Input #37"
+ inputlabel 38 "Sub-Network Input #38"
+ inputlabel 39 "Sub-Network Input #39"
+ inputlabel 40 "Sub-Network Input #40"
+ inputlabel 41 "Sub-Network Input #41"
+ inputlabel 42 "Sub-Network Input #42"
+ inputlabel 43 "Sub-Network Input #43"
+ inputlabel 44 "Sub-Network Input #44"
+ inputlabel 45 "Sub-Network Input #45"
+ inputlabel 46 "Sub-Network Input #46"
+ inputlabel 47 "Sub-Network Input #47"
+ inputlabel 48 "Sub-Network Input #48"
+ inputlabel 49 "Sub-Network Input #49"
+ inputlabel 50 "Sub-Network Input #50"
+ inputlabel 51 "Sub-Network Input #51"
+ inputlabel 52 "Sub-Network Input #52"
+ inputlabel 53 "Sub-Network Input #53"
+ inputlabel 54 "Sub-Network Input #54"
+ inputlabel 55 "Sub-Network Input #55"
+ inputlabel 56 "Sub-Network Input #56"
+ inputlabel 57 "Sub-Network Input #57"
+ inputlabel 58 "Sub-Network Input #58"
+ inputlabel 59 "Sub-Network Input #59"
+ inputlabel 60 "Sub-Network Input #60"
+ inputlabel 61 "Sub-Network Input #61"
+ inputlabel 62 "Sub-Network Input #62"
+ inputlabel 63 "Sub-Network Input #63"
+ inputlabel 64 "Sub-Network Input #64"
+ inputlabel 65 "Sub-Network Input #65"
+ inputlabel 66 "Sub-Network Input #66"
+ inputlabel 67 "Sub-Network Input #67"
+ inputlabel 68 "Sub-Network Input #68"
+ inputlabel 69 "Sub-Network Input #69"
+ inputlabel 70 "Sub-Network Input #70"
+ inputlabel 71 "Sub-Network Input #71"
+ inputlabel 72 "Sub-Network Input #72"
+ inputlabel 73 "Sub-Network Input #73"
+ inputlabel 74 "Sub-Network Input #74"
+ inputlabel 75 "Sub-Network Input #75"
+ inputlabel 76 "Sub-Network Input #76"
+ inputlabel 77 "Sub-Network Input #77"
+ inputlabel 78 "Sub-Network Input #78"
+ inputlabel 79 "Sub-Network Input #79"
+ inputlabel 80 "Sub-Network Input #80"
+ inputlabel 81 "Sub-Network Input #81"
+ inputlabel 82 "Sub-Network Input #82"
+ inputlabel 83 "Sub-Network Input #83"
+ inputlabel 84 "Sub-Network Input #84"
+ inputlabel 85 "Sub-Network Input #85"
+ inputlabel 86 "Sub-Network Input #86"
+ inputlabel 87 "Sub-Network Input #87"
+ inputlabel 88 "Sub-Network Input #88"
+ inputlabel 89 "Sub-Network Input #89"
+ inputlabel 90 "Sub-Network Input #90"
+ inputlabel 91 "Sub-Network Input #91"
+ inputlabel 92 "Sub-Network Input #92"
+ inputlabel 93 "Sub-Network Input #93"
+ inputlabel 94 "Sub-Network Input #94"
+ inputlabel 95 "Sub-Network Input #95"
+ inputlabel 96 "Sub-Network Input #96"
+ inputlabel 97 "Sub-Network Input #97"
+ inputlabel 98 "Sub-Network Input #98"
+ inputlabel 99 "Sub-Network Input #99"
+ inputlabel 100 "Sub-Network Input #100"
+ inputlabel 101 "Sub-Network Input #101"
+ inputlabel 102 "Sub-Network Input #102"
+ inputlabel 103 "Sub-Network Input #103"
+ inputlabel 104 "Sub-Network Input #104"
+ inputlabel 105 "Sub-Network Input #105"
+ inputlabel 106 "Sub-Network Input #106"
+ inputlabel 107 "Sub-Network Input #107"
+ inputlabel 108 "Sub-Network Input #108"
+ inputlabel 109 "Sub-Network Input #109"
+ inputlabel 110 "Sub-Network Input #110"
+ inputlabel 111 "Sub-Network Input #111"
+ inputlabel 112 "Sub-Network Input #112"
+ inputlabel 113 "Sub-Network Input #113"
+ inputlabel 114 "Sub-Network Input #114"
+ inputlabel 115 "Sub-Network Input #115"
+ inputlabel 116 "Sub-Network Input #116"
+ inputlabel 117 "Sub-Network Input #117"
+ inputlabel 118 "Sub-Network Input #118"
+ inputlabel 119 "Sub-Network Input #119"
+ inputlabel 120 "Sub-Network Input #120"
+ inputlabel 121 "Sub-Network Input #121"
+ inputlabel 122 "Sub-Network Input #122"
+ inputlabel 123 "Sub-Network Input #123"
+ inputlabel 124 "Sub-Network Input #124"
+ inputlabel 125 "Sub-Network Input #125"
+ inputlabel 126 "Sub-Network Input #126"
+ inputlabel 127 "Sub-Network Input #127"
+ inputlabel 128 "Sub-Network Input #128"
+ inputlabel 129 "Sub-Network Input #129"
+ inputlabel 130 "Sub-Network Input #130"
+ inputlabel 131 "Sub-Network Input #131"
+ inputlabel 132 "Sub-Network Input #132"
+ inputlabel 133 "Sub-Network Input #133"
+ inputlabel 134 "Sub-Network Input #134"
+ inputlabel 135 "Sub-Network Input #135"
+ inputlabel 136 "Sub-Network Input #136"
+ inputlabel 137 "Sub-Network Input #137"
+ inputlabel 138 "Sub-Network Input #138"
+ inputlabel 139 "Sub-Network Input #139"
+ inputlabel 140 "Sub-Network Input #140"
+ inputlabel 141 "Sub-Network Input #141"
+ inputlabel 142 "Sub-Network Input #142"
+ inputlabel 143 "Sub-Network Input #143"
+ inputlabel 144 "Sub-Network Input #144"
+ inputlabel 145 "Sub-Network Input #145"
+ inputlabel 146 "Sub-Network Input #146"
+ inputlabel 147 "Sub-Network Input #147"
+ inputlabel 148 "Sub-Network Input #148"
+ inputlabel 149 "Sub-Network Input #149"
+ inputlabel 150 "Sub-Network Input #150"
+ inputlabel 151 "Sub-Network Input #151"
+ inputlabel 152 "Sub-Network Input #152"
+ inputlabel 153 "Sub-Network Input #153"
+ inputlabel 154 "Sub-Network Input #154"
+ inputlabel 155 "Sub-Network Input #155"
+ inputlabel 156 "Sub-Network Input #156"
+ inputlabel 157 "Sub-Network Input #157"
+ inputlabel 158 "Sub-Network Input #158"
+ inputlabel 159 "Sub-Network Input #159"
+ inputlabel 160 "Sub-Network Input #160"
+ inputlabel 161 "Sub-Network Input #161"
+ inputlabel 162 "Sub-Network Input #162"
+ inputlabel 163 "Sub-Network Input #163"
+ inputlabel 164 "Sub-Network Input #164"
+ inputlabel 165 "Sub-Network Input #165"
+ inputlabel 166 "Sub-Network Input #166"
+ inputlabel 167 "Sub-Network Input #167"
+ inputlabel 168 "Sub-Network Input #168"
+ inputlabel 169 "Sub-Network Input #169"
+ inputlabel 170 "Sub-Network Input #170"
+ inputlabel 171 "Sub-Network Input #171"
+ inputlabel 172 "Sub-Network Input #172"
+ inputlabel 173 "Sub-Network Input #173"
+ inputlabel 174 "Sub-Network Input #174"
+ inputlabel 175 "Sub-Network Input #175"
+ inputlabel 176 "Sub-Network Input #176"
+ inputlabel 177 "Sub-Network Input #177"
+ inputlabel 178 "Sub-Network Input #178"
+ inputlabel 179 "Sub-Network Input #179"
+ inputlabel 180 "Sub-Network Input #180"
+ inputlabel 181 "Sub-Network Input #181"
+ inputlabel 182 "Sub-Network Input #182"
+ inputlabel 183 "Sub-Network Input #183"
+ inputlabel 184 "Sub-Network Input #184"
+ inputlabel 185 "Sub-Network Input #185"
+ inputlabel 186 "Sub-Network Input #186"
+ inputlabel 187 "Sub-Network Input #187"
+ inputlabel 188 "Sub-Network Input #188"
+ inputlabel 189 "Sub-Network Input #189"
+ inputlabel 190 "Sub-Network Input #190"
+ inputlabel 191 "Sub-Network Input #191"
+ inputlabel 192 "Sub-Network Input #192"
+ inputlabel 193 "Sub-Network Input #193"
+ inputlabel 194 "Sub-Network Input #194"
+ inputlabel 195 "Sub-Network Input #195"
+ inputlabel 196 "Sub-Network Input #196"
+ inputlabel 197 "Sub-Network Input #197"
+ inputlabel 198 "Sub-Network Input #198"
+ inputlabel 199 "Sub-Network Input #199"
+ inputlabel 200 "Sub-Network Input #200"
+ inputlabel 201 "Sub-Network Input #201"
+ inputlabel 202 "Sub-Network Input #202"
+ inputlabel 203 "Sub-Network Input #203"
+ inputlabel 204 "Sub-Network Input #204"
+ inputlabel 205 "Sub-Network Input #205"
+ inputlabel 206 "Sub-Network Input #206"
+ inputlabel 207 "Sub-Network Input #207"
+ inputlabel 208 "Sub-Network Input #208"
+ inputlabel 209 "Sub-Network Input #209"
+ inputlabel 210 "Sub-Network Input #210"
+ inputlabel 211 "Sub-Network Input #211"
+ inputlabel 212 "Sub-Network Input #212"
+ inputlabel 213 "Sub-Network Input #213"
+ inputlabel 214 "Sub-Network Input #214"
+ inputlabel 215 "Sub-Network Input #215"
+ inputlabel 216 "Sub-Network Input #216"
+ inputlabel 217 "Sub-Network Input #217"
+ inputlabel 218 "Sub-Network Input #218"
+ inputlabel 219 "Sub-Network Input #219"
+ inputlabel 220 "Sub-Network Input #220"
+ inputlabel 221 "Sub-Network Input #221"
+ inputlabel 222 "Sub-Network Input #222"
+ inputlabel 223 "Sub-Network Input #223"
+ inputlabel 224 "Sub-Network Input #224"
+ inputlabel 225 "Sub-Network Input #225"
+ inputlabel 226 "Sub-Network Input #226"
+ inputlabel 227 "Sub-Network Input #227"
+ inputlabel 228 "Sub-Network Input #228"
+ inputlabel 229 "Sub-Network Input #229"
+ inputlabel 230 "Sub-Network Input #230"
+ inputlabel 231 "Sub-Network Input #231"
+ inputlabel 232 "Sub-Network Input #232"
+ inputlabel 233 "Sub-Network Input #233"
+ inputlabel 234 "Sub-Network Input #234"
+ inputlabel 235 "Sub-Network Input #235"
+ inputlabel 236 "Sub-Network Input #236"
+ inputlabel 237 "Sub-Network Input #237"
+ inputlabel 238 "Sub-Network Input #238"
+ inputlabel 239 "Sub-Network Input #239"
+ inputlabel 240 "Sub-Network Input #240"
+ inputlabel 241 "Sub-Network Input #241"
+ inputlabel 242 "Sub-Network Input #242"
+ inputlabel 243 "Sub-Network Input #243"
+ inputlabel 244 "Sub-Network Input #244"
+ inputlabel 245 "Sub-Network Input #245"
+ inputlabel 246 "Sub-Network Input #246"
+ inputlabel 247 "Sub-Network Input #247"
+ inputlabel 248 "Sub-Network Input #248"
+ inputlabel 249 "Sub-Network Input #249"
+ inputlabel 250 "Sub-Network Input #250"
+ inputlabel 251 "Sub-Network Input #251"
+ inputlabel 252 "Sub-Network Input #252"
+ inputlabel 253 "Sub-Network Input #253"
+ inputlabel 254 "Sub-Network Input #254"
+ inputlabel 255 "Sub-Network Input #255"
+ inputlabel 256 "Sub-Network Input #256"
+ inputlabel 257 "Sub-Network Input #257"
+ inputlabel 258 "Sub-Network Input #258"
+ inputlabel 259 "Sub-Network Input #259"
+ inputlabel 260 "Sub-Network Input #260"
+ inputlabel 261 "Sub-Network Input #261"
+ inputlabel 262 "Sub-Network Input #262"
+ inputlabel 263 "Sub-Network Input #263"
+ inputlabel 264 "Sub-Network Input #264"
+ inputlabel 265 "Sub-Network Input #265"
+ inputlabel 266 "Sub-Network Input #266"
+ inputlabel 267 "Sub-Network Input #267"
+ inputlabel 268 "Sub-Network Input #268"
+ inputlabel 269 "Sub-Network Input #269"
+ inputlabel 270 "Sub-Network Input #270"
+ inputlabel 271 "Sub-Network Input #271"
+ inputlabel 272 "Sub-Network Input #272"
+ inputlabel 273 "Sub-Network Input #273"
+ inputlabel 274 "Sub-Network Input #274"
+ inputlabel 275 "Sub-Network Input #275"
+ inputlabel 276 "Sub-Network Input #276"
+ inputlabel 277 "Sub-Network Input #277"
+ inputlabel 278 "Sub-Network Input #278"
+ inputlabel 279 "Sub-Network Input #279"
+ inputlabel 280 "Sub-Network Input #280"
+ inputlabel 281 "Sub-Network Input #281"
+ inputlabel 282 "Sub-Network Input #282"
+ inputlabel 283 "Sub-Network Input #283"
+ inputlabel 284 "Sub-Network Input #284"
+ inputlabel 285 "Sub-Network Input #285"
+ inputlabel 286 "Sub-Network Input #286"
+ inputlabel 287 "Sub-Network Input #287"
+ inputlabel 288 "Sub-Network Input #288"
+ inputlabel 289 "Sub-Network Input #289"
+ inputlabel 290 "Sub-Network Input #290"
+ inputlabel 291 "Sub-Network Input #291"
+ inputlabel 292 "Sub-Network Input #292"
+ inputlabel 293 "Sub-Network Input #293"
+ inputlabel 294 "Sub-Network Input #294"
+ inputlabel 295 "Sub-Network Input #295"
+ inputlabel 296 "Sub-Network Input #296"
+ inputlabel 297 "Sub-Network Input #297"
+ inputlabel 298 "Sub-Network Input #298"
+ inputlabel 299 "Sub-Network Input #299"
+ inputlabel 300 "Sub-Network Input #300"
+ inputlabel 301 "Sub-Network Input #301"
+ inputlabel 302 "Sub-Network Input #302"
+ inputlabel 303 "Sub-Network Input #303"
+ inputlabel 304 "Sub-Network Input #304"
+ inputlabel 305 "Sub-Network Input #305"
+ inputlabel 306 "Sub-Network Input #306"
+ inputlabel 307 "Sub-Network Input #307"
+ inputlabel 308 "Sub-Network Input #308"
+ inputlabel 309 "Sub-Network Input #309"
+ inputlabel 310 "Sub-Network Input #310"
+ inputlabel 311 "Sub-Network Input #311"
+ inputlabel 312 "Sub-Network Input #312"
+ inputlabel 313 "Sub-Network Input #313"
+ inputlabel 314 "Sub-Network Input #314"
+ inputlabel 315 "Sub-Network Input #315"
+ inputlabel 316 "Sub-Network Input #316"
+ inputlabel 317 "Sub-Network Input #317"
+ inputlabel 318 "Sub-Network Input #318"
+ inputlabel 319 "Sub-Network Input #319"
+ inputlabel 320 "Sub-Network Input #320"
+ inputlabel 321 "Sub-Network Input #321"
+ inputlabel 322 "Sub-Network Input #322"
+ inputlabel 323 "Sub-Network Input #323"
+ inputlabel 324 "Sub-Network Input #324"
+ inputlabel 325 "Sub-Network Input #325"
+ inputlabel 326 "Sub-Network Input #326"
+ inputlabel 327 "Sub-Network Input #327"
+ inputlabel 328 "Sub-Network Input #328"
+ inputlabel 329 "Sub-Network Input #329"
+ inputlabel 330 "Sub-Network Input #330"
+ inputlabel 331 "Sub-Network Input #331"
+ inputlabel 332 "Sub-Network Input #332"
+ inputlabel 333 "Sub-Network Input #333"
+ inputlabel 334 "Sub-Network Input #334"
+ inputlabel 335 "Sub-Network Input #335"
+ inputlabel 336 "Sub-Network Input #336"
+ inputlabel 337 "Sub-Network Input #337"
+ inputlabel 338 "Sub-Network Input #338"
+ inputlabel 339 "Sub-Network Input #339"
+ inputlabel 340 "Sub-Network Input #340"
+ inputlabel 341 "Sub-Network Input #341"
+ inputlabel 342 "Sub-Network Input #342"
+ inputlabel 343 "Sub-Network Input #343"
+ inputlabel 344 "Sub-Network Input #344"
+ inputlabel 345 "Sub-Network Input #345"
+ inputlabel 346 "Sub-Network Input #346"
+ inputlabel 347 "Sub-Network Input #347"
+ inputlabel 348 "Sub-Network Input #348"
+ inputlabel 349 "Sub-Network Input #349"
+ inputlabel 350 "Sub-Network Input #350"
+ inputlabel 351 "Sub-Network Input #351"
+ inputlabel 352 "Sub-Network Input #352"
+ inputlabel 353 "Sub-Network Input #353"
+ inputlabel 354 "Sub-Network Input #354"
+ inputlabel 355 "Sub-Network Input #355"
+ inputlabel 356 "Sub-Network Input #356"
+ inputlabel 357 "Sub-Network Input #357"
+ inputlabel 358 "Sub-Network Input #358"
+ inputlabel 359 "Sub-Network Input #359"
+ inputlabel 360 "Sub-Network Input #360"
+ inputlabel 361 "Sub-Network Input #361"
+ inputlabel 362 "Sub-Network Input #362"
+ inputlabel 363 "Sub-Network Input #363"
+ inputlabel 364 "Sub-Network Input #364"
+ inputlabel 365 "Sub-Network Input #365"
+ inputlabel 366 "Sub-Network Input #366"
+ inputlabel 367 "Sub-Network Input #367"
+ inputlabel 368 "Sub-Network Input #368"
+ inputlabel 369 "Sub-Network Input #369"
+ inputlabel 370 "Sub-Network Input #370"
+ inputlabel 371 "Sub-Network Input #371"
+ inputlabel 372 "Sub-Network Input #372"
+ inputlabel 373 "Sub-Network Input #373"
+ inputlabel 374 "Sub-Network Input #374"
+ inputlabel 375 "Sub-Network Input #375"
+ inputlabel 376 "Sub-Network Input #376"
+ inputlabel 377 "Sub-Network Input #377"
+ inputlabel 378 "Sub-Network Input #378"
+ inputlabel 379 "Sub-Network Input #379"
+ inputlabel 380 "Sub-Network Input #380"
+ inputlabel 381 "Sub-Network Input #381"
+ inputlabel 382 "Sub-Network Input #382"
+ inputlabel 383 "Sub-Network Input #383"
+ inputlabel 384 "Sub-Network Input #384"
+ inputlabel 385 "Sub-Network Input #385"
+ inputlabel 386 "Sub-Network Input #386"
+ inputlabel 387 "Sub-Network Input #387"
+ inputlabel 388 "Sub-Network Input #388"
+ inputlabel 389 "Sub-Network Input #389"
+ inputlabel 390 "Sub-Network Input #390"
+ inputlabel 391 "Sub-Network Input #391"
+ inputlabel 392 "Sub-Network Input #392"
+ inputlabel 393 "Sub-Network Input #393"
+ inputlabel 394 "Sub-Network Input #394"
+ inputlabel 395 "Sub-Network Input #395"
+ inputlabel 396 "Sub-Network Input #396"
+ inputlabel 397 "Sub-Network Input #397"
+ inputlabel 398 "Sub-Network Input #398"
+ inputlabel 399 "Sub-Network Input #399"
+ inputlabel 400 "Sub-Network Input #400"
+ inputlabel 401 "Sub-Network Input #401"
+ inputlabel 402 "Sub-Network Input #402"
+ inputlabel 403 "Sub-Network Input #403"
+ inputlabel 404 "Sub-Network Input #404"
+ inputlabel 405 "Sub-Network Input #405"
+ inputlabel 406 "Sub-Network Input #406"
+ inputlabel 407 "Sub-Network Input #407"
+ inputlabel 408 "Sub-Network Input #408"
+ inputlabel 409 "Sub-Network Input #409"
+ inputlabel 410 "Sub-Network Input #410"
+ inputlabel 411 "Sub-Network Input #411"
+ inputlabel 412 "Sub-Network Input #412"
+ inputlabel 413 "Sub-Network Input #413"
+ inputlabel 414 "Sub-Network Input #414"
+ inputlabel 415 "Sub-Network Input #415"
+ inputlabel 416 "Sub-Network Input #416"
+ inputlabel 417 "Sub-Network Input #417"
+ inputlabel 418 "Sub-Network Input #418"
+ inputlabel 419 "Sub-Network Input #419"
+ inputlabel 420 "Sub-Network Input #420"
+ inputlabel 421 "Sub-Network Input #421"
+ inputlabel 422 "Sub-Network Input #422"
+ inputlabel 423 "Sub-Network Input #423"
+ inputlabel 424 "Sub-Network Input #424"
+ inputlabel 425 "Sub-Network Input #425"
+ inputlabel 426 "Sub-Network Input #426"
+ inputlabel 427 "Sub-Network Input #427"
+ inputlabel 428 "Sub-Network Input #428"
+ inputlabel 429 "Sub-Network Input #429"
+ inputlabel 430 "Sub-Network Input #430"
+ inputlabel 431 "Sub-Network Input #431"
+ inputlabel 432 "Sub-Network Input #432"
+ inputlabel 433 "Sub-Network Input #433"
+ inputlabel 434 "Sub-Network Input #434"
+ inputlabel 435 "Sub-Network Input #435"
+ inputlabel 436 "Sub-Network Input #436"
+ inputlabel 437 "Sub-Network Input #437"
+ inputlabel 438 "Sub-Network Input #438"
+ inputlabel 439 "Sub-Network Input #439"
+ inputlabel 440 "Sub-Network Input #440"
+ inputlabel 441 "Sub-Network Input #441"
+ inputlabel 442 "Sub-Network Input #442"
+ inputlabel 443 "Sub-Network Input #443"
+ inputlabel 444 "Sub-Network Input #444"
+ inputlabel 445 "Sub-Network Input #445"
+ inputlabel 446 "Sub-Network Input #446"
+ inputlabel 447 "Sub-Network Input #447"
+ inputlabel 448 "Sub-Network Input #448"
+ inputlabel 449 "Sub-Network Input #449"
+ inputlabel 450 "Sub-Network Input #450"
+ inputlabel 451 "Sub-Network Input #451"
+ inputlabel 452 "Sub-Network Input #452"
+ inputlabel 453 "Sub-Network Input #453"
+ inputlabel 454 "Sub-Network Input #454"
+ inputlabel 455 "Sub-Network Input #455"
+ inputlabel 456 "Sub-Network Input #456"
+ inputlabel 457 "Sub-Network Input #457"
+ inputlabel 458 "Sub-Network Input #458"
+ inputlabel 459 "Sub-Network Input #459"
+ inputlabel 460 "Sub-Network Input #460"
+ inputlabel 461 "Sub-Network Input #461"
+ inputlabel 462 "Sub-Network Input #462"
+ inputlabel 463 "Sub-Network Input #463"
+ inputlabel 464 "Sub-Network Input #464"
+ inputlabel 465 "Sub-Network Input #465"
+ inputlabel 466 "Sub-Network Input #466"
+ inputlabel 467 "Sub-Network Input #467"
+ inputlabel 468 "Sub-Network Input #468"
+ inputlabel 469 "Sub-Network Input #469"
+ inputlabel 470 "Sub-Network Input #470"
+ inputlabel 471 "Sub-Network Input #471"
+ inputlabel 472 "Sub-Network Input #472"
+ inputlabel 473 "Sub-Network Input #473"
+ inputlabel 474 "Sub-Network Input #474"
+ inputlabel 475 "Sub-Network Input #475"
+ inputlabel 476 "Sub-Network Input #476"
+ inputlabel 477 "Sub-Network Input #477"
+ inputlabel 478 "Sub-Network Input #478"
+ inputlabel 479 "Sub-Network Input #479"
+ inputlabel 480 "Sub-Network Input #480"
+ inputlabel 481 "Sub-Network Input #481"
+ inputlabel 482 "Sub-Network Input #482"
+ inputlabel 483 "Sub-Network Input #483"
+ inputlabel 484 "Sub-Network Input #484"
+ inputlabel 485 "Sub-Network Input #485"
+ inputlabel 486 "Sub-Network Input #486"
+ inputlabel 487 "Sub-Network Input #487"
+ inputlabel 488 "Sub-Network Input #488"
+ inputlabel 489 "Sub-Network Input #489"
+ inputlabel 490 "Sub-Network Input #490"
+ inputlabel 491 "Sub-Network Input #491"
+ inputlabel 492 "Sub-Network Input #492"
+ inputlabel 493 "Sub-Network Input #493"
+ inputlabel 494 "Sub-Network Input #494"
+ inputlabel 495 "Sub-Network Input #495"
+ inputlabel 496 "Sub-Network Input #496"
+ inputlabel 497 "Sub-Network Input #497"
+ inputlabel 498 "Sub-Network Input #498"
+ inputlabel 499 "Sub-Network Input #499"
+ inputlabel 500 "Objects to Clone"
+ outputlabel 1 "Output Clones"
+
+ groupsimple {
+ name "folder1"
+ label "Transform"
+ invisibletab
+
+ parm {
+ name "rotate"
+ label "Rotate"
+ type vector
+ invisible
+ size 3
+ default { "0" "0" "0" }
+ range { 0 1 }
+ parmtag { "autoscope" "0000000000000000" }
+ }
+ parm {
+ name "scale"
+ label "Scale"
+ type vector
+ invisible
+ size 3
+ default { "1" "1" "1" }
+ range { 0 1 }
+ parmtag { "autoscope" "0000000000000000" }
+ }
+ }
+
+ parm {
+ name "id_gen_seed"
+ label "Id Random Seed"
+ type integer
+ invisible
+ default { "0" }
+ help "The random seed to use for the clone id attribute."
+ range { 0 1e+06 }
+ parmtag { "autoscope" "0000000000000000" }
+ }
+ group {
+ name "folder7"
+ label "Instancing"
+
+ parm {
+ name "index_mode"
+ label "Indexing Mode"
+ type ordinal
+ default { "0" }
+ menu {
+ "0" "Random"
+ "1" "Ordered"
+ "2" "Point Attribute"
+ }
+ range { 0 10 }
+ parmtag { "autoscope" "0000000000000000" }
+ }
+ parm {
+ name "index_attr"
+ label "Index Attr"
+ type string
+ default { "mops_index" }
+ hidewhen "{ index_mode != 2 }"
+ parmtag { "autoscope" "0000000000000000" }
+ }
+ parm {
+ name "index_seed"
+ label "Index Random Seed"
+ type integer
+ default { "0" }
+ disablewhen "{ index_mode != 0 }"
+ range { 0 10000 }
+ parmtag { "autoscope" "0000000000000000" }
+ }
+ parm {
+ name "quick_add"
+ label "Quick Add Objects"
+ type oplist
+ default { "" }
+ parmtag { "oprelative" "/" }
+ parmtag { "script_callback" "hou.phm().do_quick_select(kwargs)" }
+ parmtag { "script_callback_language" "python" }
+ }
+ group {
+ name "folder2"
+ label "Global Options"
+
+ parm {
+ name "points_only"
+ label "Points Only (No Instances)"
+ type toggle
+ default { "0" }
+ range { 0! 10 }
+ parmtag { "autoscope" "0000000000000000" }
+ }
+ parm {
+ name "sepparm3"
+ label "Separator"
+ type separator
+ default { "" }
+ }
+ parm {
+ name "viewportlod"
+ label "Display As"
+ type ordinal
+ default { "full" }
+ menu {
+ "full" "Full Geometry"
+ "points" "Point Cloud"
+ "box" "Bounding Box"
+ "centroid" "Centroid"
+ "hidden" "Hidden"
+ }
+ parmtag { "autoscope" "0000000000000000" }
+ }
+ parm {
+ name "xformtype"
+ label "Transform Type"
+ type ordinal
+ default { "none" }
+ menu {
+ "none" "None"
+ "local" "Into This Object"
+ "object" "Into Specified Object"
+ }
+ parmtag { "autoscope" "0000000000000000" }
+ }
+ parm {
+ name "xformpath"
+ label "Transform Object"
+ type oppath
+ default { "" }
+ hidewhen "{ xformtype != object }"
+ parmtag { "autoscope" "0000000000000000" }
+ parmtag { "opfilter" "!!OBJ!!" }
+ parmtag { "oprelative" "." }
+ }
+ parm {
+ name "invertxform"
+ label "Invert Transform"
+ type toggle
+ default { "off" }
+ disablewhen "{ xformtype == none }"
+ parmtag { "autoscope" "0000000000000000" }
+ }
+ parm {
+ name "packfromdefault"
+ label "Pack From Default"
+ type ordinal
+ default { "0" }
+ menu {
+ "0" "Origin"
+ "1" "Centroid"
+ }
+ parmtag { "script_callback_language" "python" }
+ }
+ parm {
+ name "sepparm2"
+ label "Separator"
+ type separator
+ default { "" }
+ }
+ parm {
+ name "do_material_overrides"
+ label "Enable Material Overrides"
+ type toggle
+ default { "0" }
+ range { 0! 10 }
+ parmtag { "autoscope" "0000000000000000" }
+ }
+ parm {
+ name "transfer_attributes"
+ label "Transfer Attributes"
+ type string
+ default { "" }
+ menutoggle {
+ [ "opmenu -l pack3 transfer_attributes" ]
+ }
+ parmtag { "autoscope" "0000000000000000" }
+ }
+ }
+
+ group {
+ name "folder2_1"
+ label "Global Transform"
+
+ parm {
+ name "global_translate"
+ label "Translate"
+ type vector
+ size 3
+ default { "0" "0" "0" }
+ range { -1 1 }
+ }
+ parm {
+ name "global_rotate"
+ label "Rotate"
+ type vector
+ size 3
+ default { "0" "0" "0" }
+ range { -1 1 }
+ }
+ parm {
+ name "global_scale"
+ label "Scale"
+ type vector
+ size 3
+ default { "1" "1" "1" }
+ range { -1 1 }
+ }
+ parm {
+ name "global_pscale"
+ label "Uniform Scale"
+ type float
+ default { "1" }
+ range { 0 10 }
+ }
+ }
+
+ multiparm {
+ name "instanceobjects"
+ label "Instance Objects"
+ parmtag { "multistartoffset" "1" }
+ parmtag { "script_callback" "hou.phm().on_multiparm_changed(kwargs)" }
+ parmtag { "script_callback_language" "python" }
+
+ parm {
+ name "instancetype#"
+ label "Instance Type"
+ type ordinal
+ default { "0" }
+ disablewhen "{ inputindex# > -1 }"
+ menu {
+ "0" "SOP or Object"
+ "1" "File"
+ }
+ parmtag { "script_callback" "hou.phm().on_instancetype_changed(kwargs)" }
+ }
+ parm {
+ name "instancepath#"
+ label "Path"
+ type oppath
+ default { "" }
+ disablewhen "{ inputindex# > -1 }"
+ hidewhen "{ instancetype# == 1 }"
+ parmtag { "opfilter" "!!SOP!!" }
+ parmtag { "oprelative" "." }
+ parmtag { "script_callback" "hou.pwd().hdaModule().onInstancePathChanged(kwargs)" }
+ parmtag { "script_callback_language" "python" }
+ }
+ parm {
+ name "instancefilepath#"
+ label "File Path"
+ type file
+ default { "default.bgeo" }
+ disablewhen "{ inputindex# > -1 }"
+ hidewhen "{ instancetype# == 0 }"
+ parmtag { "filechooser_mode" "read" }
+ parmtag { "filechooser_pattern" "*.*" }
+ }
+ parm {
+ name "inputindex#"
+ label "Input Index"
+ type integer
+ invisible
+ default { "-1" }
+ range { 0 10 }
+ }
+ parm {
+ name "cycletype#"
+ label "Cycle Method"
+ type ordinal
+ joinnext
+ default { "0" }
+ hidewhen "{ instancetype# == 0 }"
+ menu usetokenvalue {
+ "0" "Cycle"
+ "1" "Clamp"
+ "2" "Mirror"
+ "3" "Strict"
+ }
+ }
+ parm {
+ name "frange#"
+ label "Frame Range"
+ type integer
+ size 2
+ default { "1" "24" }
+ hidewhen "{ instancetype# == 0 }"
+ range { 0 10 }
+ }
+ parm {
+ name "frameselect#"
+ label "Frame Select"
+ type ordinal
+ joinnext
+ default { "0" }
+ hidewhen "{ instancetype# == 0 }"
+ menu {
+ "0" "Frame Number"
+ "1" "Attribute"
+ }
+ }
+ parm {
+ name "frameindex#"
+ label "Frame Number"
+ type float
+ joinnext
+ default { "@Frame-1" }
+ disablewhen "{ frameselect# == 1 }"
+ hidewhen "{ instancetype# == 0 }"
+ range { 0 10 }
+ }
+ parm {
+ name "frameattr#"
+ label "Frame Attribute"
+ type string
+ default { "mops_frame" }
+ disablewhen "{ frameselect# == 0 }"
+ hidewhen "{ instancetype# == 0 }"
+ }
+ groupcollapsible {
+ name "folder10_#"
+ label "Options"
+
+ parm {
+ name "instance_probability#"
+ label "Probability"
+ type float
+ default { "1" }
+ range { 0 1 }
+ }
+ parm {
+ name "sepparm5_#"
+ label "Separator"
+ type separator
+ default { "" }
+ }
+ parm {
+ name "instance_translate#"
+ label "Translate"
+ type vector
+ size 3
+ default { "0" "0" "0" }
+ range { -1 1 }
+ }
+ parm {
+ name "instance_rotate#"
+ label "Rotate"
+ type vector
+ size 3
+ default { "0" "0" "0" }
+ range { -1 1 }
+ }
+ parm {
+ name "instance_scale#"
+ label "Scale"
+ type vector
+ size 3
+ default { "1" "1" "1" }
+ range { -1 1 }
+ }
+ parm {
+ name "instance_pscale#"
+ label "Uniform Scale"
+ type float
+ default { "1" }
+ range { 0 10 }
+ }
+ parm {
+ name "instance_pivot#"
+ label "Pivot"
+ type vector
+ size 3
+ default { "0" "0" "0" }
+ range { -1 1 }
+ }
+ parm {
+ name "_sepparm6_#"
+ label "Separator"
+ type separator
+ default { "" }
+ }
+ parm {
+ name "pack_from#"
+ label "Pack From"
+ type ordinal
+ default { "0" }
+ menu {
+ "0" "Origin"
+ "1" "Centroid"
+ }
+ }
+ parm {
+ name "instance_material#"
+ label "Material Override"
+ type oppath
+ default { "" }
+ disablewhen "{ do_material_overrides == 0 }"
+ parmtag { "oprelative" "." }
+ }
+ }
+
+ }
+
+ }
+
+ group {
+ name "folder7_1"
+ label "Distribution"
+
+ parm {
+ name "num_points_enabled"
+ label "Manual Point Number Enabled"
+ type integer
+ invisible
+ default { "(ch(\"distro_type\") != 3) && (!ch(\"floodMesh\"))" }
+ range { 0 10 }
+ parmtag { "autoselect" "0000000000000000" }
+ }
+ parm {
+ name "distro_type"
+ label "Distribution Type"
+ type integer
+ default { "3" }
+ menu {
+ "0" "Linear"
+ "1" "Radial"
+ "2" "Spherical"
+ "3" "Grid"
+ "4" "Honeycomb"
+ "5" "Curve"
+ "6" "Mesh"
+ }
+ range { 0! 10 }
+ parmtag { "autoscope" "0000000000000000" }
+ }
+ parm {
+ name "inputMesh"
+ label "Template Object"
+ type oppath
+ default { "" }
+ disablewhen "{ distro_type < 5 }"
+ parmtag { "opfilter" "!!SOP!!" }
+ parmtag { "oprelative" "." }
+ }
+ parm {
+ name "inputMeshGroup"
+ label "Template Group"
+ type string
+ default { "" }
+ disablewhen "{ distro_type < 5 }"
+ menutoggle {
+ [ "opmenu -l object_merge1 group1" ]
+ }
+ parmtag { "autoscope" "0000000000000000" }
+ }
+ parm {
+ name "do_interpolation"
+ label "Enable Template Interpolation"
+ type toggle
+ default { "1" }
+ disablewhen "{ distro_type < 5 }"
+ parmtag { "script_callback_language" "python" }
+ }
+ parm {
+ name "template_rest_frame"
+ label "Template Rest Frame"
+ type float
+ default { [ "$RFSTART" hscript-expr ] }
+ disablewhen "{ do_interpolation == 0 }"
+ range { 0 10 }
+ parmtag { "autoscope" "0000000000000000" }
+ }
+ parm {
+ name "do_copy_attrs"
+ label "Copy Template Attributes"
+ type toggle
+ default { "on" }
+ disablewhen "{ distro_type < 5 }"
+ range { 0! 10 }
+ parmtag { "autoscope" "1000000000000000" }
+ }
+ parm {
+ name "attribname2"
+ label "Attributes To Copy"
+ type string
+ default { "mops_falloff" }
+ disablewhen "{ do_copy_attrs == 0 }"
+ menutoggle {
+ [ "opmenu -l -a MOPs_Apply_Attributes attribname" ]
+ }
+ parmtag { "autoscope" "0000000000000000" }
+ parmtag { "sop_input" "2else1" }
+ }
+ groupsimple {
+ name "folder0"
+ label "Linear"
+ hidewhentab "{ distro_type != 0 }"
+
+ parm {
+ name "linear_npoints"
+ label "Number of Points"
+ type integer
+ default { "10" }
+ range { 1! 10000 }
+ parmtag { "autoscope" "0000000000000000" }
+ }
+ parm {
+ name "linear_mode"
+ label "Linear Mode"
+ type ordinal
+ default { "1" }
+ menu {
+ "0" "Start/End"
+ "1" "Distance/Direction"
+ }
+ range { 0! 10 }
+ parmtag { "autoscope" "0000000000000000" }
+ }
+ parm {
+ name "linear_center_origin"
+ label "Center at Origin"
+ type toggle
+ default { "0" }
+ range { 0! 10 }
+ parmtag { "autoscope" "0000000000000000" }
+ }
+ group {
+ name "folder8"
+ label "Start - End "
+ hidewhentab "{ linear_mode == 1 }"
+
+ parm {
+ name "pt0"
+ label "Point 0"
+ type vector
+ size 3
+ default { "0" "0" "0" }
+ range { -1 1 }
+ parmtag { "autoscope" "0000000000000000" }
+ }
+ parm {
+ name "pt1"
+ label "Point 1"
+ type vector
+ size 3
+ default { "0" "0" "1" }
+ range { -1 1 }
+ parmtag { "autoscope" "0000000000000000" }
+ }
+ }
+
+ group {
+ name "folder8_1"
+ label "Distance - Direction"
+ hidewhentab "{ linear_mode == 0 }"
+
+ parm {
+ name "origin"
+ label "Origin"
+ type vector
+ size 3
+ default { "0" "0" "0" }
+ range { -1 1 }
+ parmtag { "autoscope" "0000000000000000" }
+ }
+ parm {
+ name "dir"
+ label "Direction"
+ type vector
+ size 3
+ default { "0" "0" "1" }
+ range { -1 1 }
+ parmtag { "autoscope" "0000000000000000" }
+ }
+ parm {
+ name "dist"
+ label "Length"
+ type float
+ default { "1" }
+ range { 0 10 }
+ parmtag { "autoscope" "0000000000000000" }
+ }
+ }
+
+ group {
+ name "folder8_2"
+ label "Orient"
+ tabbreak
+
+ parm {
+ name "linear_align"
+ label "Align"
+ type toggle
+ default { "1" }
+ range { 0! 10 }
+ parmtag { "autoscope" "0000000000000000" }
+ }
+ parm {
+ name "sepparm6"
+ label "Separator"
+ type separator
+ default { "" }
+ }
+ parm {
+ name "distro_line_invert_N"
+ label "Invert Normal"
+ type toggle
+ default { "off" }
+ disablewhen "{ linear_align == 0 }"
+ range { 0 10 }
+ parmtag { "autoscope" "0000000000000000" }
+ }
+ parm {
+ name "distro_line_custom_first_tangent"
+ label "Custom First Tangent"
+ type toggle
+ invisible
+ default { "off" }
+ disablewhen "{ linear_align == 0 }"
+ range { 0 1 }
+ parmtag { "autoscope" "0000000000000000" }
+ }
+ parm {
+ name "distro_line_first_tangent"
+ label "First Tangent"
+ type vector
+ invisible
+ size 3
+ default { "0" "1" "0" }
+ disablewhen "{ custom_first_tangent2 != 1 }"
+ range { 0 1 }
+ parmtag { "autoscope" "0000000000000000" }
+ }
+ parm {
+ name "distro_line_twist_amount"
+ label "Twist Amount"
+ type float
+ default { "0" }
+ disablewhen "{ linear_align == 0 }"
+ range { -360 360 }
+ parmtag { "autoscope" "0000000000000000" }
+ }
+ parm {
+ name "distro_line_twist_ramp"
+ label "Twist Ramp"
+ type ramp_flt
+ default { "2" }
+ disablewhen "{ linear_align == 0 }"
+ range { 1! 10 }
+ parmtag { "autoscope" "0000000000000000" }
+ parmtag { "rampfloatdefault" "1pos ( 0 ) 1value ( 0 ) 1interp ( linear ) 2pos ( 1 ) 2value ( 1 ) 2interp ( linear )" }
+ }
+ }
+
+ }
+
+ groupsimple {
+ name "folder0_1"
+ label "Radial"
+ hidewhentab "{ distro_type != 1 }"
+
+ parm {
+ name "radial_npoints"
+ label "Number of Points"
+ type integer
+ default { "10" }
+ range { 1! 10000 }
+ parmtag { "autoscope" "0000000000000000" }
+ }
+ group {
+ name "folder11"
+ label "Options"
+
+ parm {
+ name "radial_orient"
+ label "Orientation"
+ type ordinal
+ default { "zx" }
+ menu {
+ "xy" "XY Plane"
+ "yz" "YZ Plane"
+ "zx" "ZX Plane"
+ }
+ parmtag { "autoscope" "0000000000000000" }
+ }
+ parm {
+ name "radial_angle"
+ label "Arc Angles"
+ type angle
+ size 2
+ default { "0" "360" }
+ range { 0 360 }
+ parmtag { "autoscope" "0000000000000000" }
+ }
+ parm {
+ name "radial_radius"
+ label "Radius"
+ type vector2
+ size 2
+ default { "0.5" "0.5" }
+ range { -1 1 }
+ parmtag { "autoscope" "0000000000000000" }
+ }
+ parm {
+ name "radial_scale"
+ label "Uniform Scale"
+ type float
+ default { "1" }
+ range { 0 10 }
+ parmtag { "autoscope" "0000000000000000" }
+ }
+ parm {
+ name "radial_divisions"
+ label "Divisions"
+ type integer
+ default { "50" }
+ disablewhen "{ type == prim } { type == nurbs } { type == bezier }"
+ range { 1! 100 }
+ parmtag { "autoscope" "0000000000000000" }
+ }
+ parm {
+ name "t"
+ label "Center"
+ type vector
+ size 3
+ default { "0" "0" "0" }
+ range { -1 1 }
+ parmtag { "autoscope" "0000000000000000" }
+ }
+ parm {
+ name "r"
+ label "Rotate"
+ type vector
+ size 3
+ default { "0" "0" "0" }
+ range { 0 360 }
+ parmtag { "autoscope" "0000000000000000" }
+ }
+ }
+
+ group {
+ name "folder11_1"
+ label "Orient"
+ tabbreak
+
+ parm {
+ name "radial_align"
+ label "Align"
+ type toggle
+ default { "on" }
+ range { 0 10 }
+ parmtag { "autoscope" "0000000000000000" }
+ }
+ parm {
+ name "sepparm5"
+ label "Separator"
+ type separator
+ default { "" }
+ }
+ parm {
+ name "radial_align_type"
+ label "Align Type"
+ type integer
+ default { "0" }
+ menu {
+ "0" "To Center"
+ "1" "Along Perimeter"
+ }
+ range { 0! 10 }
+ parmtag { "autoscope" "0000000000000000" }
+ }
+ parm {
+ name "distro_radial_invert"
+ label "Invert Normal"
+ type toggle
+ default { "on" }
+ disablewhen "{ radial_align == 0 }"
+ range { 0 10 }
+ parmtag { "autoscope" "0000000000000000" }
+ }
+ parm {
+ name "distro_radial_do_custom_first_tangent"
+ label "Custom First Tangent"
+ type toggle
+ default { "off" }
+ disablewhen "{ radial_align == 0 }"
+ range { 0 1 }
+ parmtag { "autoscope" "0000000000000000" }
+ }
+ parm {
+ name "distro_radial_first_tangent"
+ label "First Tangent"
+ type vector
+ size 3
+ default { "0" "1" "0" }
+ disablewhen "{ custom_first_tangent2 != 1 }"
+ range { 0 1 }
+ parmtag { "autoscope" "0000000000000000" }
+ }
+ parm {
+ name "distro_radial_twist_amount"
+ label "Twist Amount"
+ type float
+ default { "0" }
+ disablewhen "{ radial_align == 0 }"
+ range { -360 360 }
+ parmtag { "autoscope" "0000000000000000" }
+ }
+ parm {
+ name "distro_radial_twist_ramp"
+ label "Twist Ramp"
+ type ramp_flt
+ default { "2" }
+ disablewhen "{ radial_align == 0 }"
+ range { 1! 10 }
+ parmtag { "autoscope" "0000000000000000" }
+ parmtag { "rampfloatdefault" "1pos ( 0 ) 1value ( 0 ) 1interp ( linear ) 2pos ( 1 ) 2value ( 1 ) 2interp ( linear )" }
+ }
+ }
+
+ }
+
+ groupsimple {
+ name "folder0_2"
+ label "Spherical"
+ hidewhentab "{ distro_type != 2 }"
+
+ parm {
+ name "sphere_npoints"
+ label "Number of Points"
+ type integer
+ default { "10" }
+ range { 1! 10000 }
+ parmtag { "autoscope" "0000000000000000" }
+ }
+ group {
+ name "folder12"
+ label "Sphere Options"
+
+ parm {
+ name "sphere_radius"
+ label "Radius"
+ type float
+ default { "0.5" }
+ range { 0 1 }
+ parmtag { "autoscope" "0000000000000000" }
+ }
+ parm {
+ name "sphere_cone"
+ label "Cone Angle"
+ type float
+ default { "360" }
+ range { 0! 360! }
+ parmtag { "autoscope" "0000000000000000" }
+ }
+ parm {
+ name "sphere_cone_direction"
+ label "Cone Direction"
+ type vector
+ size 3
+ default { "0" "1" "0" }
+ range { -1 1 }
+ parmtag { "autoscope" "0000000000000000" }
+ parmtag { "script_action" "" }
+ }
+ parm {
+ name "sphere_align"
+ label "Align"
+ type toggle
+ default { "on" }
+ range { 0 10 }
+ parmtag { "autoscope" "0000000000000000" }
+ }
+ parm {
+ name "sphere_cross_up"
+ label "Align to Equator"
+ type toggle
+ default { "1" }
+ range { 0 10 }
+ parmtag { "autoscope" "0000000000000000" }
+ }
+ parm {
+ name "do_sphere_fill"
+ label "Fill Sphere"
+ type toggle
+ default { "0" }
+ range { 0! 10 }
+ parmtag { "autoscope" "0000000000000000" }
+ }
+ }
+
+ group {
+ name "folder12_1"
+ label "Scatter Options"
+
+ parm {
+ name "sepparm7"
+ label "Separator"
+ type separator
+ default { "" }
+ }
+ parm {
+ name "sphere_seed"
+ label "Scatter Seed"
+ type integer
+ default { "0" }
+ range { 0 10000 }
+ parmtag { "autoscope" "0000000000000000" }
+ }
+ parm {
+ name "relaxpoints"
+ label "Relax Points"
+ type toggle
+ nolabel
+ joinnext
+ default { "on" }
+ parmtag { "autoscope" "0000000000000000" }
+ }
+ parm {
+ name "relaxiterations3"
+ label "Relax Iterations"
+ type integer
+ default { "10" }
+ range { 0! 100 }
+ parmtag { "autoscope" "0000000000000000" }
+ }
+ parm {
+ name "scaleradiiby3"
+ label "Scale Radii By"
+ type float
+ default { "1" }
+ disablewhen "{ relaxpoints == 0 }"
+ range { 0! 2 }
+ parmtag { "autoscope" "0000000000000000" }
+ }
+ parm {
+ name "maxradius"
+ label "Max Relax Radius"
+ type float
+ default { "10" }
+ disablewhen "{ relaxpoints == 0 }"
+ range { 0! 100 }
+ parmtag { "autoscope" "0000000000000000" }
+ parmtag { "units" "m-1" }
+ }
+ }
+
+ parm {
+ name "sphere_anim_speed"
+ label "Anim Speed"
+ type float
+ invisible
+ default { "1" }
+ help "The rate at which clones will move along polar coordinates."
+ range { 0 1 }
+ parmtag { "autoscope" "0000000000000000" }
+ }
+ parm {
+ name "sphere_anim_amount"
+ label "Anim Amount"
+ type float
+ invisible
+ default { "0" }
+ help "The amount to animate clones along polar coordinates."
+ range { 0 1 }
+ parmtag { "autoscope" "0000000000000000" }
+ }
+ }
+
+ groupsimple {
+ name "folder0_3"
+ label "Grid"
+ hidewhentab "{ distro_type != 3 }"
+
+ parm {
+ name "grid_distrib_type"
+ label "Distribution Type"
+ type ordinal
+ default { "0" }
+ menu {
+ "0" "Fixed Size"
+ "1" "Fixed Number"
+ }
+ range { 0! 10 }
+ parmtag { "autoscope" "0000000000000000" }
+ }
+ group {
+ name "folder5"
+ label "Fixed Number"
+ hidewhentab "{ grid_distrib_type == 0 }"
+
+ parm {
+ name "grid_x"
+ label "Grid X"
+ type integer
+ default { "5" }
+ range { 1! 10 }
+ parmtag { "autoscope" "0000000000000000" }
+ }
+ parm {
+ name "grid_y"
+ label "Grid Y"
+ type integer
+ default { "1" }
+ range { 1! 10 }
+ parmtag { "autoscope" "0000000000000000" }
+ }
+ parm {
+ name "grid_z"
+ label "Grid Z"
+ type integer
+ default { "5" }
+ range { 1! 10 }
+ parmtag { "autoscope" "0000000000000000" }
+ }
+ parm {
+ name "grid_distance"
+ label "Distance"
+ type vector
+ size 3
+ default { "0.2" "0.2" "0.2" }
+ range { 0 1 }
+ parmtag { "autoscope" "0000000000000000" }
+ }
+ }
+
+ group {
+ name "folder5_1"
+ label "Fixed Size"
+ tabbreak
+ hidewhentab "{ grid_distrib_type == 1 }"
+
+ parm {
+ name "grid_size"
+ label "Size"
+ type vector
+ size 3
+ default { "1" "0" "1" }
+ range { 0! 1 }
+ }
+ parm {
+ name "grid_step"
+ label "Step"
+ type vector
+ size 3
+ default { "0.2" "0.2" "0.2" }
+ range { 1e-05! 1 }
+ }
+ }
+
+ }
+
+ groupsimple {
+ name "folder6"
+ label "Honeycomb"
+ hidewhentab "{ distro_type != 4 }"
+
+ parm {
+ name "honeycomb_type"
+ label "Honeycomb Type"
+ type ordinal
+ default { "0" }
+ menu {
+ "0" "Cell Centers"
+ "1" "Points"
+ }
+ range { 0! 10 }
+ parmtag { "autoscope" "0000000000000000" }
+ }
+ parm {
+ name "honeycomb_rows"
+ label "Rows"
+ type integer
+ default { "5" }
+ range { 1! 20 }
+ parmtag { "autoscope" "0000000000000000" }
+ }
+ parm {
+ name "honeycomb_cols"
+ label "Columns"
+ type integer
+ default { "5" }
+ range { 1! 20 }
+ parmtag { "autoscope" "0000000000000000" }
+ }
+ parm {
+ name "honeycomb_rad"
+ label "Radius"
+ type vector2
+ size 2
+ default { "1" "1" }
+ range { -1 1 }
+ parmtag { "autoscope" "0000000000000000" }
+ }
+ }
+
+ groupsimple {
+ name "folder3"
+ label "Curve"
+ hidewhentab "{ distro_type != 5 }"
+
+ parm {
+ name "do_resample_curve"
+ label "Resample Curve"
+ type toggle
+ default { "1" }
+ range { 0! 10 }
+ parmtag { "autoscope" "0000000000000000" }
+ }
+ group {
+ name "folder4_2_1"
+ label "Resample Options"
+ disablewhentab "{ do_resample_curve == 0 }"
+
+ parm {
+ name "dolength"
+ label "Maximum Segment Length"
+ type toggle
+ default { "off" }
+ parmtag { "autoscope" "0000000000000000" }
+ }
+ parm {
+ name "length"
+ label "Length"
+ type float
+ default { "0.1" }
+ disablewhen "{ dolength == 0 }"
+ range { 0! 5 }
+ parmtag { "autoscope" "0000000000000000" }
+ parmtag { "units" "m1" }
+ }
+ parm {
+ name "dosegs"
+ label "Maximum Segments"
+ type toggle
+ default { "on" }
+ parmtag { "autoscope" "0000000000000000" }
+ }
+ parm {
+ name "segs"
+ label "Segments"
+ type integer
+ default { "10" }
+ disablewhen "{ dosegs == 0 }"
+ range { 1! 50 }
+ parmtag { "autoscope" "0000000000000000" }
+ }
+ parm {
+ name "sepparm9"
+ label "Separator"
+ type separator
+ default { "" }
+ }
+ parm {
+ name "edge"
+ label "Resample by Polygon Edge"
+ type toggle
+ default { "off" }
+ parmtag { "autoscope" "0000000000000000" }
+ }
+ parm {
+ name "method"
+ label "Method"
+ type ordinal
+ default { "dist" }
+ menu {
+ "dist" "Even Length Segments"
+ "x" "Even X Segments"
+ "y" "Even Y Segments"
+ "z" "Even Z Segments"
+ }
+ parmtag { "autoscope" "0000000000000000" }
+ }
+ parm {
+ name "measure"
+ label "Measure"
+ type ordinal
+ default { "arc" }
+ menu {
+ "arc" "Along Arc"
+ "chord" "Along Chord"
+ }
+ parmtag { "autoscope" "0000000000000000" }
+ }
+ parm {
+ name "treatpolysas"
+ label "Treat Polygons As"
+ type ordinal
+ default { "subd" }
+ menu {
+ "straight" "Straight Edges"
+ "subd" "Subdivision Curves"
+ "interp" "Interpolating Curves"
+ }
+ parmtag { "autoscope" "0000000000000000" }
+ }
+ }
+
+ group {
+ name "folder4_2_1_1"
+ label "Orient"
+ tabbreak
+
+ parm {
+ name "curve_align"
+ label "Align"
+ type toggle
+ default { "1" }
+ }
+ parm {
+ name "sepparm8"
+ label "Separator"
+ type separator
+ default { "" }
+ }
+ parm {
+ name "do_orient_curve"
+ label "Reorient Curve"
+ type toggle
+ default { "1" }
+ range { 0! 10 }
+ parmtag { "autoscope" "0000000000000000" }
+ }
+ parm {
+ name "invert"
+ label "Invert Normal"
+ type toggle
+ default { "off" }
+ disablewhen "{ do_orient_curve == 0 }"
+ range { 0 10 }
+ parmtag { "autoscope" "0000000000000000" }
+ }
+ parm {
+ name "custom_first_tangent"
+ label "Custom First Tangent"
+ type toggle
+ default { "off" }
+ disablewhen "{ do_orient_curve == 0 }"
+ range { 0 1 }
+ parmtag { "autoscope" "0000000000000000" }
+ }
+ parm {
+ name "First_Tangent"
+ label "First Tangent"
+ type vector
+ size 3
+ default { "0" "1" "0" }
+ disablewhen "{ custom_first_tangent != 1 }"
+ range { 0 1 }
+ parmtag { "autoscope" "0000000000000000" }
+ }
+ parm {
+ name "twist_amount"
+ label "Twist Amount"
+ type float
+ default { "0" }
+ disablewhen "{ do_orient_curve == 0 }"
+ range { -360 360 }
+ parmtag { "autoscope" "0000000000000000" }
+ }
+ parm {
+ name "twist_ramp"
+ label "Twist Ramp"
+ type ramp_flt
+ default { "2" }
+ disablewhen "{ do_orient_curve == 0 }"
+ range { 1! 10 }
+ parmtag { "autoscope" "0000000000000000" }
+ parmtag { "rampfloatdefault" "1pos ( 0 ) 1value ( 0 ) 1interp ( linear ) 2pos ( 1 ) 2value ( 1 ) 2interp ( linear )" }
+ }
+ }
+
+ }
+
+ groupsimple {
+ name "folder0_4"
+ label "Mesh"
+ hidewhentab "{ distro_type != 6 }"
+
+ parm {
+ name "mesh_distroMethod"
+ label "Mesh Distribution Method"
+ type integer
+ default { "0" }
+ menu {
+ "0" "Scatter"
+ "1" "Points"
+ "2" "Prim Centers"
+ "4" "Edge Centers"
+ "3" "Voxels"
+ }
+ range { 0! 10 }
+ parmtag { "autoscope" "0000000000000000" }
+ }
+ parm {
+ name "inputMeshPointGroup"
+ label "Template Point Group"
+ type string
+ default { "" }
+ hidewhen "{ mesh_distroMethod != 1 }"
+ menutoggle {
+ [ "opmenu -l blast3 group" ]
+ }
+ parmtag { "autoscope" "0000000000000000" }
+ parmtag { "script_action" "import soputils\nkwargs['geometrytype'] = kwargs['node'].node('blast3').parmTuple('grouptype')\nkwargs['inputindex'] = 0\nsoputils.selectGroupParm(kwargs)" }
+ parmtag { "script_action_help" "Select geometry from an available viewport.\nShift-click to turn on Select Groups." }
+ parmtag { "script_action_icon" "BUTTONS_reselect" }
+ }
+ parm {
+ name "do_mesh_point_limit"
+ label "Point Limit"
+ type toggle
+ nolabel
+ joinnext
+ default { "0" }
+ }
+ parm {
+ name "mesh_point_limit"
+ label "Point Limit"
+ type integer
+ default { "100" }
+ disablewhen "{ do_mesh_point_limit == 0 }"
+ range { 0 10 }
+ }
+ parm {
+ name "sepparm10"
+ label "Separator"
+ type separator
+ default { "" }
+ }
+ group {
+ name "folder15"
+ label "Scatter"
+ hidewhentab "{ mesh_distroMethod != 0 }"
+
+ parm {
+ name "sepparm11"
+ label "Separator"
+ type separator
+ default { "" }
+ }
+ parm {
+ name "generateby"
+ label "Generate"
+ type ordinal
+ default { "bydensity" }
+ menu {
+ "bydensity" "By Density"
+ "countperprimitive" "Count per Primitive"
+ "texturespace" "In Texture Space"
+ }
+ parmtag { "autoscope" "0000000000000000" }
+ }
+ parm {
+ name "densityscale"
+ label "Density Scale"
+ type float
+ default { "10" }
+ disablewhen "{ generateby == countperprimitive } { generateby == bydensity forcetotal == 1 indepvoxel == 0 }"
+ range { 0.1 10000 }
+ parmtag { "autoscope" "0000000000000000" }
+ parmtag { "units" "m-2" }
+ }
+ parm {
+ name "usedensityattrib"
+ label "Use Density Attribute"
+ type toggle
+ nolabel
+ joinnext
+ default { "off" }
+ disablewhen "{ generateby != bydensity }"
+ parmtag { "autoscope" "0000000000000000" }
+ }
+ parm {
+ name "densityattrib"
+ label "Density Attribute"
+ type string
+ default { "density" }
+ disablewhen "{ generateby != bydensity } { usedensityattrib == 0 }"
+ menutoggle {
+ [ "opmenu -l scatter7 densityattrib" ]
+ }
+ parmtag { "autoscope" "0000000000000000" }
+ }
+ parm {
+ name "useareaattrib"
+ label "Override Prim Area"
+ type toggle
+ nolabel
+ joinnext
+ default { "off" }
+ disablewhen "{ generateby != bydensity }"
+ parmtag { "autoscope" "0000000000000000" }
+ }
+ parm {
+ name "areaattrib"
+ label "Override Prim Area"
+ type string
+ default { "area" }
+ disablewhen "{ generateby != bydensity } { useareaattrib == 0 }"
+ menutoggle {
+ [ "opmenu -l scatter7 areaattrib" ]
+ }
+ parmtag { "autoscope" "0000000000000000" }
+ }
+ parm {
+ name "indepvoxel"
+ label "Scatter on Voxels Independently"
+ type toggle
+ default { "off" }
+ disablewhen "{ generateby != bydensity }"
+ parmtag { "autoscope" "0000000000000000" }
+ }
+ parm {
+ name "useareaforvolumes"
+ label "Use Area for 2D Volumes"
+ type toggle
+ default { "off" }
+ disablewhen "{ generateby != bydensity } { forcetotal == 1 indepvoxel == 0 }"
+ parmtag { "autoscope" "0000000000000000" }
+ }
+ parm {
+ name "forcetotal"
+ label "Force Total Count"
+ type toggle
+ nolabel
+ joinnext
+ default { "on" }
+ disablewhen "{ generateby != bydensity } { indepvoxel == 1 }"
+ parmtag { "autoscope" "0000000000000000" }
+ }
+ parm {
+ name "npts"
+ label "Force Total Count"
+ type integer
+ default { "1000" }
+ disablewhen "{ generateby != bydensity } { forcetotal == 0 } { indepvoxel == 1 }"
+ range { 1 100000 }
+ parmtag { "autoscope" "0000000000000000" }
+ }
+ parm {
+ name "usedensitytexture"
+ label "Use Density Texture"
+ type toggle
+ nolabel
+ joinnext
+ default { "off" }
+ disablewhen "{ generateby != texturespace }"
+ parmtag { "autoscope" "0000000000000000" }
+ }
+ parm {
+ name "densitytexture"
+ label "Density Texture"
+ type file
+ default { "default.pic" }
+ disablewhen "{ generateby != texturespace } { usedensitytexture == 0 }"
+ menureplace {
+ [ "opmenu -l scatter7 densitytexture" ]
+ }
+ parmtag { "autoscope" "0000000000000000" }
+ }
+ parm {
+ name "primcountattrib"
+ label "Count per Prim Attribute"
+ type string
+ default { "count" }
+ disablewhen "{ generateby != countperprimitive }"
+ menutoggle {
+ [ "opmenu -l scatter7 primcountattrib" ]
+ }
+ parmtag { "autoscope" "0000000000000000" }
+ }
+ parm {
+ name "useemergencylimit"
+ label "Use Max Points"
+ type toggle
+ nolabel
+ joinnext
+ default { "on" }
+ parmtag { "autoscope" "0000000000000000" }
+ }
+ parm {
+ name "emergencylimit"
+ label "Max Points"
+ type integer
+ default { "1e+06" }
+ disablewhen "{ useemergencylimit == 0 }"
+ range { 1000 1e+07 }
+ parmtag { "autoscope" "0000000000000000" }
+ }
+ parm {
+ name "seed"
+ label "Global Seed"
+ type float
+ default { "0" }
+ range { 0 10 }
+ parmtag { "autoscope" "0000000000000000" }
+ }
+ parm {
+ name "overrideprimseed"
+ label "Override Primitive Seed"
+ type toggle
+ nolabel
+ joinnext
+ default { "off" }
+ disablewhen "{ generateby == texturespace }"
+ parmtag { "autoscope" "0000000000000000" }
+ }
+ parm {
+ name "primseedattrib"
+ label "Primitive Seed Attribute"
+ type string
+ default { "primid" }
+ disablewhen "{ generateby == texturespace } { overrideprimseed == 0 }"
+ menutoggle {
+ [ "opmenu -l scatter7 primseedattrib" ]
+ }
+ parmtag { "autoscope" "0000000000000000" }
+ }
+ parm {
+ name "randomizeorder"
+ label "Randomize Point Order"
+ type toggle
+ default { "on" }
+ parmtag { "autoscope" "0000000000000000" }
+ }
+ parm {
+ name "relaxpoints2"
+ label "Relax Points"
+ type toggle
+ nolabel
+ joinnext
+ default { "on" }
+ parmtag { "autoscope" "0000000000000000" }
+ }
+ parm {
+ name "relaxiterations"
+ label "Relax Iterations"
+ type integer
+ default { "10" }
+ disablewhen "{ relaxpoints2 == 0 }"
+ range { 0! 100 }
+ parmtag { "autoscope" "0000000000000000" }
+ }
+ parm {
+ name "scaleradiiby"
+ label "Scale Radii By"
+ type float
+ default { "1" }
+ disablewhen "{ relaxpoints2 == 0 useoutputradiusattrib == 0 }"
+ range { 0! 2 }
+ parmtag { "autoscope" "0000000000000000" }
+ }
+ parm {
+ name "usemaxradius"
+ label "Use Max Relax Radius"
+ type toggle
+ nolabel
+ joinnext
+ default { "on" }
+ disablewhen "{ relaxpoints2 == 0 useoutputradiusattrib == 0 }"
+ parmtag { "autoscope" "0000000000000000" }
+ }
+ parm {
+ name "maxradius2"
+ label "Max Relax Radius"
+ type float
+ default { "10" }
+ disablewhen "{ relaxpoints2 == 0 useoutputradiusattrib == 0 } { usemaxradius == 0 }"
+ range { 0! 100 }
+ parmtag { "autoscope" "0000000000000000" }
+ parmtag { "units" "m-1" }
+ }
+ }
+
+ group {
+ name "folder15_1"
+ label "Voxel"
+ hidewhentab "{ mesh_distroMethod != 4 }"
+
+ parm {
+ name "voxelsize"
+ label "Voxel Size"
+ type float
+ default { "0.1" }
+ range { 0! 5 }
+ parmtag { "autoscope" "0000000000000000" }
+ }
+ parm {
+ name "voxel_fill_method"
+ label "Volume Fill Method"
+ type ordinal
+ default { "0" }
+ menu {
+ "0" "Scatter"
+ "1" "Voxel Grid"
+ }
+ range { 0! 10 }
+ parmtag { "autoscope" "0000000000000000" }
+ }
+ parm {
+ name "voxel_npoints"
+ label "Number of Points"
+ type integer
+ default { "1000" }
+ disablewhen "{ voxel_fill_method != 0 }"
+ range { 1! 100000 }
+ parmtag { "autoscope" "0000000000000000" }
+ }
+ parm {
+ name "voxel_align"
+ label "Orient to Volume"
+ type toggle
+ default { "0" }
+ range { 0! 10 }
+ parmtag { "autoscope" "0000000000000000" }
+ }
+ parm {
+ name "sepparm13"
+ label "Separator"
+ type separator
+ default { "" }
+ }
+ groupsimple {
+ name "folder10"
+ label "Voxel Orient"
+ disablewhentab "{ voxel_align == 0 }"
+
+ parm {
+ name "voxel_align_method"
+ label "Align Method"
+ type ordinal
+ default { "0" }
+ menu {
+ "0" "Align to Gradient"
+ "1" "Align to Vector Volume"
+ }
+ range { 0! 10 }
+ parmtag { "autoscope" "0000000000000000" }
+ }
+ parm {
+ name "voxel_align_up"
+ label "Up Vector"
+ type vector
+ size 3
+ default { "0" "1" "0" }
+ disablewhen "{ use_volume_up == 1 }"
+ range { 0 1 }
+ parmtag { "autoscope" "0000000000000000" }
+ }
+ parm {
+ name "N_volume_prim"
+ label "Normal Vector Volume"
+ type string
+ default { "vel" }
+ disablewhen "{ voxel_align_method == 0 }"
+ parmtag { "autoscope" "0000000000000000" }
+ }
+ parm {
+ name "use_volume_up"
+ label "Use Volume Up"
+ type toggle
+ nolabel
+ joinnext
+ default { "0" }
+ range { 0 10 }
+ parmtag { "autoscope" "0000000000000000" }
+ }
+ parm {
+ name "up_volume_prim"
+ label "Up Vector Volume"
+ type string
+ default { "" }
+ disablewhen "{ use_volume_up == 0 }"
+ parmtag { "autoscope" "0000000000000000" }
+ }
+ }
+
+ }
+
+ group {
+ name "folder15_2"
+ label "Orient"
+
+ parm {
+ name "do_facet_mesh"
+ label "Facet Input Mesh"
+ type toggle
+ default { "0" }
+ range { 0! 10 }
+ parmtag { "autoscope" "0000000000000000" }
+ }
+ parm {
+ name "do_orient_mesh"
+ label "Reorient Mesh"
+ type toggle
+ default { "0" }
+ range { 0! 10 }
+ parmtag { "autoscope" "0000000000000000" }
+ }
+ parm {
+ name "sepparm12"
+ label "Separator"
+ type separator
+ default { "" }
+ }
+ groupsimple {
+ name "folder16"
+ label "Orient Options"
+ disablewhentab "{ do_orient_mesh == 0 }"
+
+ parm {
+ name "compute_method"
+ label "Compute Method"
+ type integer
+ default { "1" }
+ disablewhen "{ do_orient_mesh == 0 }"
+ menu {
+ "0" "Compute From Polygons"
+ "1" "N and Up"
+ "2" "Use Orient"
+ }
+ range { 0! 10 }
+ parmtag { "autoscope" "0000000000000000" }
+ }
+ parm {
+ name "invert_N"
+ label "Invert N"
+ type toggle
+ default { "off" }
+ disablewhen "{ do_orient_mesh == 0 }"
+ range { 0 10 }
+ parmtag { "autoscope" "0000000000000000" }
+ }
+ parm {
+ name "invert_up"
+ label "Invert Up"
+ type toggle
+ default { "off" }
+ disablewhen "{ do_orient_mesh == 0 }"
+ range { 0 10 }
+ parmtag { "autoscope" "0000000000000000" }
+ }
+ parm {
+ name "do_cross"
+ label "Cross Up Vector"
+ type toggle
+ default { "off" }
+ disablewhen "{ do_orient_mesh == 0 }"
+ range { 0! 10 }
+ parmtag { "autoscope" "0000000000000000" }
+ }
+ parm {
+ name "do_curl"
+ label "Enable Curl Noise"
+ type toggle
+ default { "off" }
+ disablewhen "{ do_orient_mesh == 0 }"
+ range { 0! 10 }
+ parmtag { "autoscope" "0000000000000000" }
+ }
+ parm {
+ name "do_blur"
+ label "Enable Blur"
+ type toggle
+ default { "off" }
+ disablewhen "{ do_orient_mesh == 0 }"
+ range { 0! 10 }
+ parmtag { "autoscope" "0000000000000000" }
+ }
+ group {
+ name "folder9"
+ label "Compute From Polygons"
+ hidewhentab "{ compute_method != 0 }"
+
+ parm {
+ name "group"
+ label "Group"
+ type string
+ default { "" }
+ menutoggle {
+ [ "opmenu -l MOPs_Orient_Mesh1 group" ]
+ }
+ parmtag { "autoscope" "0000000000000000" }
+ parmtag { "script_action" "import soputils\nkwargs['geometrytype'] = kwargs['node'].parmTuple('entity')\nkwargs['inputindex'] = 0\nsoputils.selectGroupParm(kwargs)" }
+ parmtag { "script_action_help" "Select geometry from an available viewport.\nShift-click to turn on Select Groups." }
+ parmtag { "script_action_icon" "BUTTONS_reselect" }
+ }
+ parm {
+ name "entity"
+ label "Entity"
+ type ordinal
+ default { "primitive" }
+ menu {
+ "primitive" "Primitives"
+ "point" "Points"
+ }
+ parmtag { "autoscope" "0000000000000000" }
+ }
+ parm {
+ name "style"
+ label "Style"
+ type string
+ default { "edge2" }
+ menu {
+ "edge1" "First Edge"
+ "edge2" "Two Edges"
+ "primC" "Primitive Centroid"
+ "texuv" "Texture UV"
+ "tex" "Texture UV Gradient"
+ "attrib" "Attribute Gradient"
+ }
+ parmtag { "autoscope" "0000000000000000" }
+ }
+ parm {
+ name "attribname"
+ label "Attribute Name"
+ type string
+ default { "" }
+ disablewhen "{ style != attrib style != texuv }"
+ parmtag { "autoscope" "0000000000000000" }
+ }
+ parm {
+ name "Non"
+ label "Enable Normal"
+ type toggle
+ nolabel
+ joinnext
+ default { "on" }
+ parmtag { "autoscope" "0000000000000000" }
+ }
+ parm {
+ name "N"
+ label "Normal Name"
+ type string
+ default { "N" }
+ disablewhen "{ Non == 0 }"
+ parmtag { "autoscope" "0000000000000000" }
+ }
+ parm {
+ name "tangentuon"
+ label "Enable Tangent"
+ type toggle
+ nolabel
+ joinnext
+ default { "on" }
+ parmtag { "autoscope" "0000000000000000" }
+ }
+ parm {
+ name "tangentu"
+ label "Tangent Name"
+ type string
+ default { "up" }
+ disablewhen "{ tangentuon == 0 }"
+ parmtag { "autoscope" "0000000000000000" }
+ }
+ parm {
+ name "tangentvon"
+ label "Enable Bitangent"
+ type toggle
+ nolabel
+ joinnext
+ default { "off" }
+ parmtag { "autoscope" "0000000000000000" }
+ }
+ parm {
+ name "tangentv"
+ label "Bitangent Name"
+ type string
+ default { "tangentv" }
+ disablewhen "{ tangentvon == 0 }"
+ parmtag { "autoscope" "0000000000000000" }
+ }
+ parm {
+ name "ortho"
+ label "Make Frame Orthogonal"
+ type toggle
+ default { "off" }
+ parmtag { "autoscope" "0000000000000000" }
+ }
+ parm {
+ name "lefthanded"
+ label "Left-Handed Frame"
+ type toggle
+ default { "off" }
+ disablewhen "{ ortho == 0 }"
+ parmtag { "autoscope" "0000000000000000" }
+ }
+ }
+
+ group {
+ name "folder9_1"
+ label "N and Up"
+ hidewhentab "{ compute_method != 1 }"
+
+ parm {
+ name "do_normal"
+ label "Compute Normals"
+ type toggle
+ default { "on" }
+ range { 0! 10 }
+ parmtag { "autoscope" "0000000000000000" }
+ }
+ parm {
+ name "do_up"
+ label "Create Up "
+ type toggle
+ default { "on" }
+ range { 0! 10 }
+ parmtag { "autoscope" "0000000000000000" }
+ }
+ groupsimple {
+ name "folder4"
+ label "Up Vector"
+ disablewhentab "{ do_up == 0 }"
+
+ parm {
+ name "auto_up"
+ label "Auto Up"
+ type toggle
+ default { "on" }
+ range { 0 10 }
+ parmtag { "autoscope" "0000000000000000" }
+ }
+ parm {
+ name "up_vector2"
+ label "Up Vector"
+ type vector
+ size 3
+ default { "0" "1" "0" }
+ disablewhen "{ auto_up == 1 }"
+ range { 0 1 }
+ parmtag { "autoscope" "0000000000000000" }
+ }
+ }
+
+ }
+
+ group {
+ name "folder9_2"
+ label "Curl Noise"
+ disablewhentab "{ do_curl == 0 }"
+
+ parm {
+ name "bias"
+ label "Blend with Original"
+ type float
+ default { "0.5" }
+ range { 0 1 }
+ parmtag { "autoscope" "0000000000000000" }
+ parmtag { "parmvop" "1" }
+ parmtag { "shaderparmcontexts" "cvex" }
+ }
+ parm {
+ name "use_rest"
+ label "Use Rest Position"
+ type toggle
+ default { "off" }
+ parmtag { "autoscope" "0000000000000000" }
+ parmtag { "parmvop" "1" }
+ parmtag { "shaderparmcontexts" "cvex" }
+ }
+ parm {
+ name "type"
+ label "Noise Type"
+ type string
+ default { "pnoise" }
+ menu {
+ "pnoise" "Perlin Noise"
+ "onoise" "Original Perlin Noise"
+ "snoise" "Sparse Convolution Noise"
+ "anoise" "Alligator Noise"
+ "xnoise" "Simplex Noise"
+ "exact_pnoise" "Analytic Perlin Noise"
+ "exact_xnoise" "Analytic Simplex Noise"
+ }
+ parmtag { "autoscope" "0000000000000000" }
+ parmtag { "parmvop" "1" }
+ parmtag { "shaderparmcontexts" "cvex" }
+ }
+ parm {
+ name "freq"
+ label "Frequency"
+ type float
+ size 3
+ default { "1" "1" "1" }
+ range { 0 10 }
+ parmtag { "autoscope" "0000000000000000" }
+ parmtag { "parmvop" "1" }
+ parmtag { "shaderparmcontexts" "cvex" }
+ }
+ parm {
+ name "offset"
+ label "Offset"
+ type float
+ size 3
+ default { "0" "0" "0" }
+ range { 0 10 }
+ parmtag { "autoscope" "0000000000000000" }
+ parmtag { "parmvop" "1" }
+ parmtag { "shaderparmcontexts" "cvex" }
+ }
+ parm {
+ name "amp"
+ label "Amplitude"
+ type float
+ default { "1" }
+ range { -1 1 }
+ parmtag { "autoscope" "0000000000000000" }
+ parmtag { "parmvop" "1" }
+ parmtag { "shaderparmcontexts" "cvex" }
+ }
+ parm {
+ name "rough"
+ label "Roughness"
+ type float
+ default { "0.5" }
+ range { 0 1 }
+ parmtag { "autoscope" "0000000000000000" }
+ parmtag { "parmvop" "1" }
+ parmtag { "shaderparmcontexts" "cvex" }
+ }
+ parm {
+ name "atten"
+ label "Attenuation"
+ type float
+ default { "1" }
+ range { 0 1 }
+ parmtag { "autoscope" "0000000000000000" }
+ parmtag { "parmvop" "1" }
+ parmtag { "shaderparmcontexts" "cvex" }
+ }
+ parm {
+ name "turb"
+ label "Turbulence"
+ type integer
+ default { "3" }
+ range { 1 12 }
+ parmtag { "autoscope" "0000000000000000" }
+ parmtag { "parmvop" "1" }
+ parmtag { "shaderparmcontexts" "cvex" }
+ }
+ parm {
+ name "h"
+ label "Step Size"
+ type float
+ default { "0.0001" }
+ disablewhen "{ type == exact_pnoise } { type == exact_xnoise }"
+ range { 0 1 }
+ parmtag { "autoscope" "0000000000000000" }
+ parmtag { "parmvop" "1" }
+ parmtag { "shaderparmcontexts" "cvex" }
+ }
+ }
+
+ group {
+ name "folder9_3"
+ label "Blur"
+ disablewhentab "{ do_blur == 0 }"
+
+ parm {
+ name "iterations"
+ label "Blurring Iterations"
+ type integer
+ default { "1" }
+ range { 0 100 }
+ parmtag { "autoscope" "0000000000000000" }
+ }
+ parm {
+ name "stepsize"
+ label "Step Size"
+ type float
+ default { "0.5" }
+ range { 0 1 }
+ parmtag { "autoscope" "0000000000000000" }
+ }
+ parm {
+ name "influencetype"
+ label "Influence Type"
+ type ordinal
+ default { "connectivity" }
+ menu {
+ "connectivity" "Connectivity"
+ "proximity" "Proximity"
+ }
+ parmtag { "autoscope" "0000000000000000" }
+ }
+ }
+
+ }
+
+ }
+
+ }
+
+ }
+
+ group {
+ name "folder7_2"
+ label "Sorting"
+
+ parm {
+ name "ptsort"
+ label "Point Sort"
+ type ordinal
+ default { "none" }
+ menu {
+ "none" "No Change"
+ "vtxord" "By Vertex Order"
+ "byx" "By X"
+ "byy" "By Y"
+ "byz" "By Z"
+ "rev" "Reverse"
+ "seed" "Random"
+ "shif" "Shift"
+ "prox" "Proximity to Point"
+ "vector" "Along Vector"
+ "expression" "By Expression"
+ "spatial" "Spatial Locality"
+ "attribute" "By Attribute"
+ }
+ parmtag { "autoscope" "0000000000000000" }
+ }
+ parm {
+ name "pointseed"
+ label "Seed"
+ type integer
+ default { "0" }
+ hidewhen "{ ptsort != seed }"
+ range { 0 200 }
+ parmtag { "autoscope" "0000000000000000" }
+ }
+ parm {
+ name "pointoffset"
+ label "Offset"
+ type integer
+ default { "0" }
+ hidewhen "{ ptsort != shif }"
+ range { 0 200 }
+ parmtag { "autoscope" "0000000000000000" }
+ }
+ parm {
+ name "pointprox"
+ label "Point"
+ type vector
+ size 3
+ default { "0" "0" "0" }
+ hidewhen "{ ptsort != prox }"
+ range { -1 1 }
+ parmtag { "autoscope" "0000000000000000" }
+ }
+ parm {
+ name "pointobjpath"
+ label "Vector Object"
+ type oppath
+ default { "" }
+ hidewhen "{ ptsort != vector }"
+ parmtag { "autoscope" "0000000000000000" }
+ parmtag { "opfilter" "!!OBJ!!" }
+ parmtag { "oprelative" "." }
+ }
+ parm {
+ name "pointdir"
+ label "Vector"
+ type direction
+ size 3
+ default { "0" "1" "0" }
+ hidewhen "{ ptsort != vector }"
+ range { 0 1 }
+ parmtag { "autoscope" "0000000000000000" }
+ }
+ parm {
+ name "pointexpr"
+ label "Expression"
+ type float
+ default { "0" }
+ hidewhen "{ ptsort != expression }"
+ range { 0 200 }
+ parmtag { "autoscope" "0000000000000000" }
+ }
+ parm {
+ name "pointattrib"
+ label "Attribute"
+ type string
+ default { "" }
+ hidewhen "{ ptsort != attribute }"
+ menureplace {
+ [ "opmenu -l sort1 pointattrib" ]
+ }
+ parmtag { "autoscope" "0000000000000000" }
+ }
+ parm {
+ name "pointattribcomp"
+ label "Component"
+ type integer
+ default { "0" }
+ hidewhen "{ ptsort != attribute }"
+ range { 0 10 }
+ parmtag { "autoscope" "0000000000000000" }
+ }
+ parm {
+ name "pointreverse"
+ label "Reverse Point Sort"
+ type toggle
+ default { "off" }
+ parmtag { "autoscope" "0000000000000000" }
+ }
+ parm {
+ name "primsort"
+ label "Primitive Sort"
+ type ordinal
+ invisible
+ default { "none" }
+ menu {
+ "none" "No change"
+ "byx" "By X"
+ "byy" "By Y"
+ "byz" "By Z"
+ "rev" "Reverse"
+ "seed" "Random"
+ "shif" "Shift"
+ "prox" "Proximity to Point"
+ "vector" "Along Vector"
+ "expression" "By Expression"
+ "spatial" "Spatial Locality"
+ "attribute" "By Attribute"
+ }
+ parmtag { "autoscope" "0000000000000000" }
+ }
+ parm {
+ name "primseed"
+ label "Seed"
+ type integer
+ invisible
+ default { "0" }
+ hidewhen "{ primsort != seed }"
+ range { 0 200 }
+ parmtag { "autoscope" "0000000000000000" }
+ }
+ parm {
+ name "primoffset"
+ label "Offset"
+ type integer
+ invisible
+ default { "0" }
+ hidewhen "{ primsort != shif }"
+ range { 0 200 }
+ parmtag { "autoscope" "0000000000000000" }
+ }
+ parm {
+ name "primprox"
+ label "Point"
+ type vector
+ invisible
+ size 3
+ default { "0" "0" "0" }
+ hidewhen "{ primsort != prox }"
+ range { -1 1 }
+ parmtag { "autoscope" "0000000000000000" }
+ }
+ parm {
+ name "primobjpath"
+ label "Vector Object"
+ type oppath
+ invisible
+ default { "" }
+ hidewhen "{ primsort != vector }"
+ parmtag { "autoscope" "0000000000000000" }
+ parmtag { "opfilter" "!!OBJ!!" }
+ parmtag { "oprelative" "." }
+ }
+ parm {
+ name "primdir"
+ label "Vector"
+ type direction
+ invisible
+ size 3
+ default { "0" "1" "0" }
+ hidewhen "{ primsort != vector }"
+ range { 0 1 }
+ parmtag { "autoscope" "0000000000000000" }
+ }
+ parm {
+ name "primexpr"
+ label "Expression"
+ type float
+ invisible
+ default { "0" }
+ hidewhen "{ primsort != expression }"
+ range { 0 200 }
+ parmtag { "autoscope" "0000000000000000" }
+ }
+ parm {
+ name "primattrib"
+ label "Attribute"
+ type string
+ invisible
+ default { "" }
+ hidewhen "{ primsort != attribute }"
+ menureplace {
+ [ "opmenu -l sort1 primattrib" ]
+ }
+ parmtag { "autoscope" "0000000000000000" }
+ }
+ parm {
+ name "primattribcomp"
+ label "Component"
+ type integer
+ invisible
+ default { "0" }
+ hidewhen "{ primsort != attribute }"
+ range { 0 10 }
+ parmtag { "autoscope" "0000000000000000" }
+ }
+ parm {
+ name "primreverse"
+ label "Reverse Primitive Sort"
+ type toggle
+ invisible
+ default { "off" }
+ parmtag { "autoscope" "0000000000000000" }
+ }
+ parm {
+ name "vertexprimorder"
+ label "Sort Vertices by Order in Primitives"
+ type toggle
+ invisible
+ default { "on" }
+ parmtag { "autoscope" "0000000000000000" }
+ }
+ parm {
+ name "sepparm"
+ label "Separator"
+ type separator
+ default { "" }
+ }
+ parm {
+ name "name_prefix"
+ label "Name Prefix"
+ type string
+ default { "piece" }
+ parmtag { "autoscope" "0000000000000000" }
+ }
+ parm {
+ name "name_start"
+ label "Name Start Number"
+ type integer
+ default { "0" }
+ range { 0 10 }
+ parmtag { "autoscope" "0000000000000000" }
+ }
+ parm {
+ name "id_offset"
+ label "ID Start Number"
+ type integer
+ default { "0" }
+ range { 0 10 }
+ }
+ }
+
+ parm {
+ name "input_event"
+ label "Input Event"
+ type toggle
+ invisible
+ default { "0" }
+ }
+ parm {
+ name "multiparm_event"
+ label "Multiparm Event"
+ type toggle
+ invisible
+ default { "0" }
+ }
+}
diff --git a/otls/MOPS_instancer.hda/MOPS_8_8Sop_1Instancer_8_81.4/EditableNodes b/otls/MOPS_instancer.hda/MOPS_8_8Sop_1Instancer_8_81.4/EditableNodes
new file mode 100644
index 00000000..5549485b
--- /dev/null
+++ b/otls/MOPS_instancer.hda/MOPS_8_8Sop_1Instancer_8_81.4/EditableNodes
@@ -0,0 +1 @@
+CLONES
\ No newline at end of file
diff --git a/otls/MOPS_instancer.hda/MOPS_8_8Sop_1Instancer_8_81.4/ExtraFileOptions b/otls/MOPS_instancer.hda/MOPS_8_8Sop_1Instancer_8_81.4/ExtraFileOptions
new file mode 100644
index 00000000..007d29b2
--- /dev/null
+++ b/otls/MOPS_instancer.hda/MOPS_8_8Sop_1Instancer_8_81.4/ExtraFileOptions
@@ -0,0 +1,246 @@
+{
+ "OnCreated/Cursor":{
+ "type":"intarray",
+ "value":[1,1]
+ },
+ "OnCreated/IsExpr":{
+ "type":"bool",
+ "value":false
+ },
+ "OnCreated/IsPython":{
+ "type":"bool",
+ "value":true
+ },
+ "OnCreated/IsScript":{
+ "type":"bool",
+ "value":true
+ },
+ "OnCreated/Source":{
+ "type":"string",
+ "value":""
+ },
+ "OnInputChanged/Cursor":{
+ "type":"intarray",
+ "value":[1,52]
+ },
+ "OnInputChanged/IsExpr":{
+ "type":"bool",
+ "value":false
+ },
+ "OnInputChanged/IsPython":{
+ "type":"bool",
+ "value":true
+ },
+ "OnInputChanged/IsScript":{
+ "type":"bool",
+ "value":true
+ },
+ "OnInputChanged/Source":{
+ "type":"string",
+ "value":""
+ },
+ "PythonModule/Cursor":{
+ "type":"intarray",
+ "value":[184,100]
+ },
+ "PythonModule/IsExpr":{
+ "type":"bool",
+ "value":false
+ },
+ "PythonModule/IsPython":{
+ "type":"bool",
+ "value":true
+ },
+ "PythonModule/IsScript":{
+ "type":"bool",
+ "value":true
+ },
+ "PythonModule/Source":{
+ "type":"string",
+ "value":""
+ },
+ "ViewerStateModule/CodeGenInput":{
+ "type":"string",
+ "value":"{\n\t\"state_name\":\"\",\n\t\"state_label\":\"\",\n\t\"state_descr\":\"\",\n\t\"state_icon\":\"$HH/config/Icons\",\n\t\"state_debug_menu\":0,\n\t\"state_sample\":0,\n\t\"state_handler_indices\":[]\n}\n"
+ },
+ "mops_cloner_03.svg/Cursor":{
+ "type":"intarray",
+ "value":[1,1]
+ },
+ "mops_cloner_03.svg/IsExpr":{
+ "type":"bool",
+ "value":false
+ },
+ "mops_cloner_03.svg/IsPython":{
+ "type":"bool",
+ "value":false
+ },
+ "mops_cloner_03.svg/IsScript":{
+ "type":"bool",
+ "value":false
+ },
+ "mops_cloner_03.svg/Source":{
+ "type":"string",
+ "value":"C:/Users/Henry/Projects/VFX/MOPS/icons/mops_cloner_03.svg"
+ },
+ "mops_collapse.svg/Cursor":{
+ "type":"intarray",
+ "value":[1,1]
+ },
+ "mops_collapse.svg/IsExpr":{
+ "type":"bool",
+ "value":false
+ },
+ "mops_collapse.svg/IsPython":{
+ "type":"bool",
+ "value":false
+ },
+ "mops_collapse.svg/IsScript":{
+ "type":"bool",
+ "value":false
+ },
+ "mops_collapse.svg/Source":{
+ "type":"string",
+ "value":"C:/Users/Henry/Projects/VFX/MOPS/icons/mops_collapse_01.svg"
+ },
+ "mops_donate.svg/Cursor":{
+ "type":"intarray",
+ "value":[1,1]
+ },
+ "mops_donate.svg/IsExpr":{
+ "type":"bool",
+ "value":false
+ },
+ "mops_donate.svg/IsPython":{
+ "type":"bool",
+ "value":false
+ },
+ "mops_donate.svg/IsScript":{
+ "type":"bool",
+ "value":false
+ },
+ "mops_donate.svg/Source":{
+ "type":"string",
+ "value":"C:/Users/Henry/Projects/VFX/MOPS/icons/mops_donate_01.svg"
+ },
+ "mops_expand.svg/Cursor":{
+ "type":"intarray",
+ "value":[0,0]
+ },
+ "mops_expand.svg/IsExpr":{
+ "type":"bool",
+ "value":false
+ },
+ "mops_expand.svg/IsPython":{
+ "type":"bool",
+ "value":false
+ },
+ "mops_expand.svg/IsScript":{
+ "type":"bool",
+ "value":false
+ },
+ "mops_expand.svg/Source":{
+ "type":"string",
+ "value":"C:/Users/Henry/Projects/VFX/MOPS/icons/mops_expand_01.svg"
+ },
+ "mops_feedback.svg/Cursor":{
+ "type":"intarray",
+ "value":[1,1]
+ },
+ "mops_feedback.svg/IsExpr":{
+ "type":"bool",
+ "value":false
+ },
+ "mops_feedback.svg/IsPython":{
+ "type":"bool",
+ "value":false
+ },
+ "mops_feedback.svg/IsScript":{
+ "type":"bool",
+ "value":false
+ },
+ "mops_feedback.svg/Source":{
+ "type":"string",
+ "value":"C:/Users/Henry/Projects/VFX/MOPS/icons/mops_feedback_01.svg"
+ },
+ "mops_instancing.svg/Cursor":{
+ "type":"intarray",
+ "value":[1,1]
+ },
+ "mops_instancing.svg/IsExpr":{
+ "type":"bool",
+ "value":false
+ },
+ "mops_instancing.svg/IsPython":{
+ "type":"bool",
+ "value":false
+ },
+ "mops_instancing.svg/IsScript":{
+ "type":"bool",
+ "value":false
+ },
+ "mops_instancing.svg/Source":{
+ "type":"string",
+ "value":"D:/Projects/VFX/MOPS/icons/mops_instancing.svg"
+ },
+ "mops_logo_01.svg/Cursor":{
+ "type":"intarray",
+ "value":[0,0]
+ },
+ "mops_logo_01.svg/IsExpr":{
+ "type":"bool",
+ "value":false
+ },
+ "mops_logo_01.svg/IsPython":{
+ "type":"bool",
+ "value":false
+ },
+ "mops_logo_01.svg/IsScript":{
+ "type":"bool",
+ "value":false
+ },
+ "mops_logo_01.svg/Source":{
+ "type":"string",
+ "value":"D:/Projects/VFX/MOPS/dev_scenes/mops_logo_01.svg"
+ },
+ "mops_update.svg/Cursor":{
+ "type":"intarray",
+ "value":[1,1]
+ },
+ "mops_update.svg/IsExpr":{
+ "type":"bool",
+ "value":false
+ },
+ "mops_update.svg/IsPython":{
+ "type":"bool",
+ "value":false
+ },
+ "mops_update.svg/IsScript":{
+ "type":"bool",
+ "value":false
+ },
+ "mops_update.svg/Source":{
+ "type":"string",
+ "value":"C:/Users/Henry/Projects/VFX/MOPS/icons/mops_update_02.svg"
+ },
+ "mops_wiki.svg/Cursor":{
+ "type":"intarray",
+ "value":[0,0]
+ },
+ "mops_wiki.svg/IsExpr":{
+ "type":"bool",
+ "value":false
+ },
+ "mops_wiki.svg/IsPython":{
+ "type":"bool",
+ "value":false
+ },
+ "mops_wiki.svg/IsScript":{
+ "type":"bool",
+ "value":false
+ },
+ "mops_wiki.svg/Source":{
+ "type":"string",
+ "value":"C:/Users/Henry/Projects/VFX/MOPS/icons/mops_wiki.svg"
+ }
+}
diff --git a/otls/MOPS_instancer.hda/MOPS_8_8Sop_1Instancer_8_81.4/Help b/otls/MOPS_instancer.hda/MOPS_8_8Sop_1Instancer_8_81.4/Help
new file mode 100644
index 00000000..d1e94735
--- /dev/null
+++ b/otls/MOPS_instancer.hda/MOPS_8_8Sop_1Instancer_8_81.4/Help
@@ -0,0 +1,418 @@
+= MOPs Instancer =
+
+#icon: opdef:.?mops_cloner_03.svg
+
+"""Copies objects to various patterns, or onto a curve or mesh."""
+
+The MOPs Instancer generates MOPs packed primitives and distributes them in various ways. Each distribution type has its own set of parameters.
+Any number of objects can be input into the Instancer; the Index Attribute and Indexing Mode parameters determine which of the input objects is copied to each point.
+The objects that are generated are standard Houdini Packed Primitives, with a few extra attributes added for use with the rest of the MOPs system.
+
+@parameters
+
+== Instancing ==
+
+Indexing Mode:
+ #id: index_mode
+ The method by which indexes are generated, to determine which input object is copied to each point. This creates the i@mops_index point attribute.
+
+Index Random Seed:
+ #id: index_seed
+ When using the Random indexing mode, the random seed used to determine i@mops_index.
+
+Index Attribute:
+ #id: index_attr
+ When using the Input Mesh distribution method, you can provide an integer point attribute from the Input Mesh that will be used to create i@mops_index. Hint: You can use a MOPs Index From Attribute SOP to create this attribute on your Input Mesh.
+
+Quick Add Objects:
+ #id: quick_add
+ You can quickly add objects to the Instancer by picking them using the list button, or by simply dragging them into the parameter box.
+
+=== Global Options ===
+
+Points Only (No Instances):
+ #id: points_only
+ Only arrange points with the appropriate attributes; don't actually generate any packed primitives. You can use this if you intend to copy objects to the points later using Copy to Points.
+
+Display As:
+ #id: viewportlod
+ The display method to use when showing the instanced primitives in the viewport.
+
+Transform Type:
+ #id: xformtype
+ When loading SOPs into the Instancer, the method by which the objects are merged into the current Object network. See the Object Merge SOP for details.
+
+Pack From Default:
+ #id: packfromdefault
+ When connecting new inputs, the default packed pivot to use for the input. See "Pack From" in the Instance Objects Block.
+
+Enable Material Overrides:
+ #id: do_material_overrides
+ Enable the Material Override parameters for the Instance Objects.
+
+Transfer Attributes:
+ #id: transfer_attributes
+ A list of attributes to transfer from the source geometry to the newly-generated packed primitives.
+
+=== Global Transform ===
+
+The transforms defined here will apply to all instanced objects individually.
+
+=== Instance Objects Block ===
+
+Instance Objects:
+ #id: instanceobjects
+ A multiparm list of objects to generate with the Instancer.
+
+ === Instance Objects ===
+
+ Instance Type:
+ #id: instancetype#
+ The type of object to instance; either a SOP or Object, or a File (.bgeo or .abc).
+
+ Path:
+ #id: instancepath#
+ The path to the SOP or object to instance.
+
+ File Path:
+ #id: instancefilepath#
+ The path to the .bgeo or .abc file to instance. Bgeo files will be loaded as a Packed Disk Sequence.
+
+ Cycle Method:
+ #id: cycletype#
+ The method used to cycle file sequences or Alembics.
+
+ Frame Range:
+ #id: frange#
+ The starting and ending frame of the sequence.
+
+ Frame Select:
+ #id: frameselect#
+ The method by which to choose the frame to load for each instance. There are two modes available:
+
+ * Frame Number: You can directly set a frame number (such as @Frame) via the Frame Number attribute.
+ * Attribute: You can use a point attribute from the Template Object (if you are using Mesh or Curve instancing modes), specified via the Frame Attribute.
+
+ Probability:
+ #id: instance_probability#
+ The weighted probability of each instance type. Lower numbers are less likely to appear in the Random Indexing mode.
+
+ Pack From:
+ #id: pack_from#
+ Where the default pivot for the packed primitive should be placed: at the centroid of the instance geometry, or at the world origin.
+
+ Material Override:
+ #id: instance_material#
+ The material to apply to the instances under this path. Only active if "Enable Material Overrides" is enabled; otherwise the material already applied to the SOP or object is used.
+
+== Distribution ==
+
+Distribution Type:
+ #id: distro_type
+
+ The distribution method to use for positioning and orienting objects. There are several modes available:
+
+ * Linear: Arrange the instances in a straight line.
+ * Radial: Arrange the instances in a circle or spiral pattern.
+ * Spherical: Arrange the instances in a spherical pattern.
+ * Grid: Arrange the instances in a 2D grid or 3D matrix pattern.
+ * Mesh: Arrange the instances using a mesh.
+ * Curve: Arrange the instances along a NURBS or polyline curve.
+ * Honeycomb: Arrange the instances in a hexagonal pattern.
+
+Template Object:
+ #id: inputMesh
+ The object to distribute Instances on.
+
+Template Group:
+ #id: inputMeshGroup
+ Distribute Instances only on this group of the Template Object.
+
+Enable Template Interpolation:
+ #id: do_interpolation
+ When instancing onto an animated mesh or curves, enable automatic interpolation of the instances' position and orientation to match the template geometry. This makes the Instancer much faster. If your template geometry has a changing point count, you will want to disable this.
+
+Template Rest Frame:
+ #id: template_rest_frame
+ When instancing onto an animated mesh, the frame to use as the "rest" (default) frame. Instances will automatically interpolate their positions and orientations on an animated mesh, based on this default state.
+ If your template mesh has a changing point count, you will probably want to either disable interpolation entirely, or set this to @Frame in order to update the topology from the source.
+
+
+== Distribution Types ==
+
+
+=== Linear ===
+
+Number of Points:
+ #id: linear_npoints
+ The number of points dividing the line segment.
+
+Linear Mode:
+ #id: linear_mode
+ The method by which to define the line. There are two options:
+ * Distance / Direction: Draw a line from an origin point towards a given direction vector, scaled by the Length parameter.
+ * Start / End: Draw a line between the two given points in space.
+
+Center at Origin:
+ #id: linear_center_origin
+ If enabled, always place the center of the line segment at the world origin.
+
+==== Orient ====
+
+If Align is enabled, orient instances to the generated line. See [MOPs Orient Curve|Node:sop/MOPS--Orient_Curve-1.0] for details.
+
+=== Radial ===
+
+Number of Points:
+ #id: radial_npoints
+ The number of points defining the circle.
+
+==== Options ====
+
+Orientation:
+ #id: radial_orient
+ The orientation of the circle to clone on.
+
+Arc Angles:
+ #id: beginradial_rangle endradial_angle
+ The starting and ending angles of an open arc.
+
+Radius:
+ #id: radial_radiusx radial_radiusy
+ The u and v radius of the circle or ellipse.
+
+Uniform Scale:
+ #id: radial_scale
+ A scalar on the radius of the circle.
+
+Divisions:
+ #id: radial_divisions
+ The number of points along the arc (not to be confused with the number of instance points). Higher numbers make smoother arcs.
+
+Center:
+ #id: tx ty tz
+ The center of the generated circle.
+
+Rotate:
+ #id: rx ry rz
+ The Euler angles to apply to the circle's rotation.
+
+==== Orient ====
+
+Align:
+ #id: radial_align
+ Align copies to the arc.
+
+Align Type:
+ #id: radial_align_type
+ The method by which to align instances:
+ * To Center: Instances face inwards (or outwards, depending on the Invert Normal parameter) to the center.
+ * Along Perimeter: Instances face along the running edge of the circle.
+
+ See [MOPs Orient Curve|Node:sop/MOPS--Orient_Curve-1.0] for details on the other parameters.
+
+=== Spherical ===
+
+Number of Points:
+ #id: sphere_npoints
+ The number of points to generate on the sphere.
+
+==== Sphere Options ====
+
+Radius:
+ #id: sphere_radius
+ The radius of the sphere.
+
+Cone Angle:
+ #id: sphere_cone
+ The angle over which to distribute instances, relative to the Cone Direction vector. A value of 90 degrees would distribute instances in a hemisphere around the Cone Direction. The default value of 180 distributes around a complete sphere.
+
+Cone Direction:
+ #id: sphere_cone_direction
+ The axis around which the instances are distributed, depending on the Cone Angle.
+
+Align:
+ #id: sphere_align
+ Align clones to the surface of the sphere.
+
+Align to Equator:
+ #id: Align clones so that they circle the equator of the sphere rather than facing the center.
+
+Fill Sphere:
+ #id: do_sphere_fill
+ If enabled, instances are generated within the volume of the sphere as well as on the surface.
+
+==== Scatter Options ====
+
+Scatter Seed:
+ #id: sphere_seed
+ The random seed used for distributing spherical instances.
+
+Relax Iterations:
+ #id: relaxiterations3
+ See the Scatter SOP for more information.
+
+Scale Radii By:
+ #id: scaleradiiby3
+ See the Scatter SOP for more information.
+
+Max Relax Radius:
+ #id: maxradius
+ See the Scatter SOP for more information.
+
+
+=== Grid ===
+
+Distribution Type:
+ #id: grid_distrib_type
+ The method by which to generate instances on the grid:
+ * Fixed Size: determine a total size for the grid, and use the Step parameter to control the distance between instances.
+ * Fixed Number: determine a specific number of instances along each axis, and use the Distance parameter to adjust the distance between them.
+
+Size:
+ #id: grid_size
+ (Fixed Size) The total size of the grid.
+
+Step:
+ #id: grid_step
+ (Fixed Size) The distance between instances along each axis.
+
+Grid X, Grid Y, Grid Z:
+ #id: gridx gridy gridz
+ (Fixed Number) The number of clones to generate along each axis.
+
+Distance:
+ #id: grid_distancex grid_distancey grid_distancez
+ (Fixed Number) The total length of each axis.
+
+=== Honeycomb ===
+
+Honeycomb Type:
+ #id: honeycomb_type
+ The method by which to place instances in the honeycomb pattern.
+ * Cell Centers: Place an instance in the centroid of each honeycomb cell.
+ * Points: Place an instance at each of the six points comprising the edges of each honeycomb cell.
+
+Rows:
+ #id: honeycomb_rows
+ The number of honeycomb rows to generate.
+
+Columns:
+ #id: honeycomb_cols
+ The number of honeycomb columns to generate.
+
+Radius:
+ #id: honeycomb_rad
+ The approximate radius for each honeycomb cell, in U and V.
+
+=== Curve ===
+
+Resample Curve:
+ #id: do_resample_curve
+ Enable resampling of the template curve.
+
+==== Resample Options ====
+
+See the Resample SOP for details.
+
+==== Orient ====
+
+Align:
+ #id: curve_align
+ Align instances to the template curve.
+
+Reorient Curve:
+ #id: do_orient_curve
+ Generate a new orientation frame for the template curve. See [MOPs Orient Curve|Node:sop/MOPS--Orient_Curve-1.0] for details on the other parameters.
+
+=== Mesh ===
+
+Mesh Distribution Method:
+ #id: mesh_distroMethod
+
+ The method by which to distribute clones onto the Input Mesh. There are several options:
+
+ * Scatter: Scatter clones randomly across the input mesh.
+ * Points: Place one clone at each point of the input mesh.
+ * Prim Centers: Place one clone at the centroid of each primitive (face) of the input mesh.
+ * Voxels: Convert the input mesh into a fog volume, and place one clone at the center of each voxel.
+ * Edge Centers: Place one clone at the relative center of each edge of the input mesh.
+
+Point Limit:
+ #id: mesh_point_limit
+ If enabled, the maximum number of points that can be generated on this mesh. On certain distribution modes this may be an ordered set of points; use the Sorting tab to adjust this.
+
+ ==== Scatter ====
+
+ Scatter Seed:
+ #id: seed
+ The random seed to use for scatter points on the Input Mesh.
+
+ See the Scatter SOP for details on other parameters.
+
+ ==== Voxels ====
+
+ Voxel Size:
+ #id: voxelsize
+ The size of the voxel grid cells to create from the Input Mesh. Lower numbers mean a higher resolution volume.
+
+ Volume Fill Method:
+ #id: voxel_fill_method
+ The method by which to fill the generated volume:
+ * Scatter: Scatter instances randomly throughout the volume.
+ * Voxel Grid: Place an instance at the center of each volume cell.
+
+ Number of Points:
+ #id: voxel_npoints
+ The number of instances to generate.
+
+ Orient to Volume:
+ #id: Orient the instances according to either the volume gradient or given vector volume(s).
+
+ ==== Voxel Orient ====
+
+ Align Method:
+ #id: voxel_align_method
+ The method by which to align instances in a volume:
+ * Align to Gradient: Align voxels to the gradient of the generated volume. The gradient is analogous to the normal of a polygon mesh.
+ * Align to Vector Volume: Use a vector volume to determine the orientation of each instance.
+
+ Up Vector:
+ #id: voxel_align_up
+ The up vector to use when aligning instances, if an Up Vector Volume is not provided.
+
+ Normal Vector Volume:
+ #id: N_volume_prim
+ The name of a volume primitive to sample as the "normal" (+Z axis) of each instance.
+
+ Up Vector Volume:
+ #id: up_volume_prim
+ The name of a volume primitive to sample as the "up" (+Y axis) of each instance.
+
+ ==== Orient ====
+
+ Facet Input Mesh:
+ #id: do_facet_mesh
+ Split the vertex normals of each primitive of the template mesh. This will make instances align precisely to the apparent primitive normal of each polygon.
+
+ Reorient Mesh:
+ #id: do_orient_mesh
+ Generate a new orientation for the template mesh before instancing. See [MOPs Orient Mesh|Node:sop/MOPS--Mesh_Flow-1.1] for details.
+
+
+== Sorting ==
+
+These options enable sorting (setting the point number and i@id attribute) of the instances according to various methods. See the [Sort SOP|Node:sop/sort] for details.
+
+Name Prefix:
+ #id: name_prefix
+ The prefix to add to each instance's name attribute. This can be useful for ensuring that multiple MOPs streams don't have clashing names in a Packed RBD simulation, for example.
+
+Name Start Number:
+ #id: name_start
+ The starting number for each piece's s@name attribute.
+
+ID Start Number:
+ #id: id_offset
+ The starting number to use as the i@id attribute for each instance.
+
diff --git a/otls/MOPS_instancer.hda/MOPS_8_8Sop_1Instancer_8_81.4/IconSVG b/otls/MOPS_instancer.hda/MOPS_8_8Sop_1Instancer_8_81.4/IconSVG
new file mode 100644
index 00000000..0aca9dda
--- /dev/null
+++ b/otls/MOPS_instancer.hda/MOPS_8_8Sop_1Instancer_8_81.4/IconSVG
@@ -0,0 +1,9 @@
+
+
+
+
diff --git a/otls/MOPS_instancer.hda/MOPS_8_8Sop_1Instancer_8_81.4/InternalFileOptions b/otls/MOPS_instancer.hda/MOPS_8_8Sop_1Instancer_8_81.4/InternalFileOptions
new file mode 100644
index 00000000..222988aa
--- /dev/null
+++ b/otls/MOPS_instancer.hda/MOPS_8_8Sop_1Instancer_8_81.4/InternalFileOptions
@@ -0,0 +1,10 @@
+{
+ "nodeconntype":{
+ "type":"bool",
+ "value":false
+ },
+ "nodeparmtype":{
+ "type":"bool",
+ "value":false
+ }
+}
diff --git a/otls/MOPS_instancer.hda/MOPS_8_8Sop_1Instancer_8_81.4/OnCreated b/otls/MOPS_instancer.hda/MOPS_8_8Sop_1Instancer_8_81.4/OnCreated
new file mode 100644
index 00000000..481fd17f
--- /dev/null
+++ b/otls/MOPS_instancer.hda/MOPS_8_8Sop_1Instancer_8_81.4/OnCreated
@@ -0,0 +1,10 @@
+me = kwargs['node']
+me.setName('MOPs_Instancer', True)
+
+# send anonymous statistics if enabled.
+# see README.md for more information.
+try:
+ import mops_tools
+ mops_tools.send_on_create_analytics(me)
+except:
+ pass
\ No newline at end of file
diff --git a/otls/MOPS_instancer.hda/MOPS_8_8Sop_1Instancer_8_81.4/OnInputChanged b/otls/MOPS_instancer.hda/MOPS_8_8Sop_1Instancer_8_81.4/OnInputChanged
new file mode 100644
index 00000000..abb41074
--- /dev/null
+++ b/otls/MOPS_instancer.hda/MOPS_8_8Sop_1Instancer_8_81.4/OnInputChanged
@@ -0,0 +1 @@
+kwargs['node'].hdaModule().on_input_changed(kwargs)
\ No newline at end of file
diff --git a/otls/MOPS_instancer.hda/MOPS_8_8Sop_1Instancer_8_81.4/PythonModule b/otls/MOPS_instancer.hda/MOPS_8_8Sop_1Instancer_8_81.4/PythonModule
new file mode 100644
index 00000000..e9247921
--- /dev/null
+++ b/otls/MOPS_instancer.hda/MOPS_8_8Sop_1Instancer_8_81.4/PythonModule
@@ -0,0 +1,254 @@
+import re
+
+INSTANCER_PARMS = {'single': ['instancetype', 'instancepath', 'instancefilepath', 'cycletype',
+ 'frameselect', 'frameindex', 'frameattr',
+ 'instance_probability', 'pack_from', 'instance_material'],
+ 'vector2': ['frange'],
+ 'vector3': ['instance_translate', 'instance_rotate', 'instance_scale', 'instance_pivot']
+ }
+
+
+def swap_multi_parms(node, index1, index2):
+ """
+ given two multiparm indexes, exchange the underlying
+ parameter values. this is in case a user swaps inputs.
+ """
+ # print('swapping {} multiparm instances {} and {}'.format(node.name(), index1, index2))
+ index1_values = dict()
+ index2_values = dict()
+ for parmtype in INSTANCER_PARMS:
+ for p in INSTANCER_PARMS[parmtype]:
+
+ # print('storing parameter: {}'.format(p + str(index1)))
+ if parmtype == 'single':
+ index1_values[p] = node.parm(p + str(index1)).rawValue()
+ index2_values[p] = node.parm(p + str(index2)).rawValue()
+ elif parmtype == 'vector2':
+ for comp in ['1', '2']:
+ index1_values[p + comp] = node.parm(p + str(index1) + comp).rawValue()
+ index2_values[p + comp] = node.parm(p + str(index2) + comp).rawValue()
+ elif parmtype == 'vector3':
+ for comp in ['x', 'y', 'z']:
+ index1_values[p + comp] = node.parm(p + str(index1) + comp).rawValue()
+ index2_values[p + comp] = node.parm(p + str(index2) + comp).rawValue()
+ # now swap.
+ for parmtype in INSTANCER_PARMS:
+ for p in INSTANCER_PARMS[parmtype]:
+ if parmtype == 'single':
+ try:
+ node.parm(p + str(index1)).set(index2_values[p])
+ node.parm(p + str(index2)).set(index1_values[p])
+ except:
+ node.parm(p + str(index1)).setExpression(index2_values[p])
+ node.parm(p + str(index2)).setExpression(index1_values[p])
+ elif parmtype == 'vector2':
+ for comp in ['1', '2']:
+ try:
+ node.parm(p + str(index1) + comp).set(index2_values[p + comp])
+ node.parm(p + str(index2) + comp).set(index1_values[p + comp])
+ except:
+ node.parm(p + str(index1) + comp).setExpression(index2_values[p + comp])
+ node.parm(p + str(index2) + comp).setExpression(index1_values[p + comp])
+ elif parmtype == 'vector3':
+ for comp in ['x', 'y', 'z']:
+ try:
+ node.parm(p + str(index1) + comp).set(index2_values[p + comp])
+ node.parm(p + str(index2) + comp).set(index1_values[p + comp])
+ except:
+ node.parm(p + str(index1) + comp).setExpression(index2_values[p + comp])
+ node.parm(p + str(index2) + comp).setExpression(index1_values[p + comp])
+
+
+def onInstancePathChanged(kwargs):
+ node = kwargs['node']
+ parm = kwargs['parm']
+
+ """
+ get updated instance path, if it's an OBJ and not a SOP,
+ see if there's a material applied to that OBJ.
+ if there is, we're going to apply that as the override
+ material for this layer.
+ """
+
+ newPath = hou.node(parm.eval()).path()
+ relPath = node.relativePathTo(hou.node(newPath))
+ assigned = False
+ # get number of modified multiparm
+ test = re.match('^.+?(\d+)$', parm.name())
+ num = -1
+ if test:
+ num = test.groups()[0]
+ override_parm = node.parm('instance_material' + num)
+
+ if hou.node(newPath) is not None and override_parm:
+ newType = hou.node(newPath).type().name()
+ if newType == 'geo':
+ # get this object's material assignment
+ mat = hou.node(newPath).parm('shop_materialpath').eval()
+ if mat:
+ # apply as override to instance_material#
+ override_expr = '`chsop("{}/shop_materialpath")`'.format(newPath)
+ override_parm.set(override_expr, follow_parm_reference=True)
+ assigned = True
+ if not assigned:
+ override_parm.revertToDefaults()
+
+
+def do_quick_select(kwargs):
+ """ Fires when Quick Add parm is modified. Add all object paths to the multiparm list. """
+ me = kwargs['node']
+ paths = me.evalParm('quick_add').split()
+ me.parm('quick_add').set("")
+ # scale = me.evalParm('quick_scale')
+ if paths:
+ for i in paths:
+ index = me.parm('instanceobjects').evalAsInt()
+ # get path relative to instancer
+ relpath = me.relativePathTo(hou.node(i))
+ me.parm('instanceobjects').insertMultiParmInstance(index)
+ me.parm('instancepath' + str(index + 1)).set(relpath)
+ # me.parm('instance_pscale' + str(index + 1)).set(scale)
+
+def get_input_indexes(node):
+ """ Get the indexes of any multiparm entries that represent inputs. """
+ indexes = list()
+ for x in range(1, node.parm('instanceobjects').eval()+1):
+ index = node.parm('inputindex'+str(x)).eval()
+ if index != -1:
+ indexes.append(x)
+ return indexes
+
+def get_valid_inputs(node):
+ """ Get a list of valid input indexes (they point to an actual node). """
+ return [f for f in node.inputs() if f is not None]
+
+def on_input_changed(kwargs):
+ """ Determine what kind of change was made to inputs, and update the multiparm block. """
+ me = kwargs['node']
+ if me.parm('multiparm_event').eval() == 1:
+ return
+ # lock out multiparm event
+ me.parm('input_event').set(1)
+ multiparm_count = me.parm('instanceobjects').eval()
+ input_indexes = get_input_indexes(me)
+ inputs = get_valid_inputs(me)
+ if len(input_indexes) < len(inputs):
+ # make a new multiparm entry
+ new_input = me.inputs()[int(kwargs['input_index'])]
+ me.parm('instanceobjects').insertMultiParmInstance(multiparm_count)
+ # set attributes depending on input type (sop or file)
+ seq_type = is_input_sequence(new_input)
+ if seq_type:
+ path = None
+ if seq_type == 'file':
+ path = new_input.parm('file')
+ elif seq_type == 'alembic':
+ path = new_input.parm('fileName')
+ me.parm('instancetype'+str(multiparm_count+1)).set(1)
+ me.parm('instancefilepath'+str(multiparm_count+1)).setFromParm(path)
+ else:
+ new_path = me.relativePathTo(new_input)
+ me.parm('instancetype'+str(multiparm_count+1)).set(0)
+ me.parm('instancepath'+str(multiparm_count+1)).set(new_path)
+ me.parm('inputindex'+str(multiparm_count+1)).set(int(kwargs['input_index']))
+ me.parm('pack_from'+str(multiparm_count+1)).set(int(me.evalParm("packfromdefault")))
+
+ elif len(input_indexes) > len(inputs):
+ # remove the multiparm entry whose index matches kwargs['input_index']
+ for x in range(1, multiparm_count+1):
+ inputindex = me.parm('inputindex'+str(x)).eval()
+ if inputindex == int(kwargs['input_index']):
+ me.parm('instanceobjects').removeMultiParmInstance(x-1)
+ break
+
+ else:
+ # find the first two entries in the multiparm whose inputindex doesn't match the actual input, and switch
+ swap_indexes = list()
+ for x in range(1, multiparm_count+1):
+ parmindex = me.parm('inputindex'+str(x)).eval()
+ parmpath = me.parm('instancepath'+str(x)).eval()
+ parmfilepath = me.parm('instancefilepath'+str(x)).eval()
+ parminstancetype = me.parm('instancetype'+str(x)).eval()
+ if parmindex != -1:
+ # check index vs actual input.
+ parmfullpath = None
+ inputfullpath = None
+ if(parminstancetype == 0):
+ # if this node doesn't evaluate to anything, we deleted a
+ # node with other upstream connections.
+ try:
+ parmfullpath = me.node(parmpath).path()
+ except AttributeError:
+ # just update the input path and skip the rest.
+ parmfullpath = me.inputs()[parmindex].path()
+ me.parm('instancepath'+str(x)).set(me.relativePathTo(hou.node(parmfullpath)))
+ inputfullpath = me.inputs()[parmindex].path()
+ else:
+ # this is a File or Alembic
+ parmfullpath = parmfilepath
+ inputtype = me.inputs()[parmindex].type().name()
+ if inputtype == 'file':
+ inputfullpath = me.inputs()[parmindex].parm('file').rawValue()
+ elif inputtype == 'alembic':
+ inputfullpath = me.inputs()[parmindex].parm('fileName').rawValue()
+ if parmfullpath != inputfullpath:
+ swap_indexes.append(x)
+ if len(swap_indexes) == 2:
+ # print("swapping indexes")
+ swap_multi_parms(me, swap_indexes[0], swap_indexes[1])
+ break
+ # if only one index was mismatched, just update the multiparm.
+ if len(swap_indexes) == 1:
+ input = me.inputs()[int(kwargs['input_index'])]
+ # check input type and set parms as needed
+ seq_type = is_input_sequence(input)
+ if seq_type:
+ path = None
+ if seq_type == 'file':
+ path = input.parm('file')
+ elif seq_type == 'alembic':
+ path = input.parm('fileName')
+ me.parm('instancetype'+str(swap_indexes[0])).set(1)
+ me.parm('instancefilepath'+str(swap_indexes[0])).setFromParm(path)
+ else:
+ relativepath = me.relativePathTo(input)
+ me.parm('instancetype'+str(swap_indexes[0])).set(0)
+ me.parm('instancepath'+str(swap_indexes[0])).set(relativepath)
+ me.parm('input_event').set(0)
+
+def on_multiparm_changed(kwargs):
+ """ Determine what kind of change was made to the multiparm, and update inputs if required. """
+ me = kwargs['node']
+ if me.parm('input_event').eval() == 1:
+ return
+ # lock out input event
+ me.parm('multiparm_event').set(1)
+ # collect all multiparm inputindexes
+ multiparm_count = me.parm('instanceobjects').eval()
+ input_indexes = list()
+ for x in range(1, multiparm_count+1):
+ index = me.parm('inputindex'+str(x)).eval()
+ if index != -1:
+ input_indexes.append(index)
+ # for each input, see if it's in that list.
+ for x in reversed(range(0, len(me.inputs()))):
+ if x not in input_indexes:
+ me.setInput(x, None)
+
+ me.parm('multiparm_event').set(0)
+
+def is_input_sequence(node):
+ """ returns True if the incoming node is an Alembic or File SOP. """
+ nodetype = node.type().name()
+ if nodetype in ('file', 'alembic'):
+ return nodetype
+ return False
+
+def on_instancetype_changed(kwargs):
+ """ if inputindex of this same parm's index is not -1, disconnect. """
+ parmname = kwargs['parm'].name()
+ regex = "(\d+)$"
+ num = re.match(regex, parmname).group(0)
+ inputindex = kwargs['node'].parm('inputindex'+num).eval()
+ if inputindex != -1:
+ kwargs['node'].setInput(inputindex, None)
\ No newline at end of file
diff --git a/otls/MOPS_instancer.hda/MOPS_8_8Sop_1Instancer_8_81.4/Sections.list b/otls/MOPS_instancer.hda/MOPS_8_8Sop_1Instancer_8_81.4/Sections.list
new file mode 100644
index 00000000..39e96625
--- /dev/null
+++ b/otls/MOPS_instancer.hda/MOPS_8_8Sop_1Instancer_8_81.4/Sections.list
@@ -0,0 +1,24 @@
+""
+DialogScript DialogScript
+CreateScript CreateScript
+TypePropertiesOptions TypePropertiesOptions
+Help Help
+Tools.shelf Tools.shelf
+InternalFileOptions InternalFileOptions
+Contents.gz Contents.gz
+EditableNodes EditableNodes
+DescriptiveParmName DescriptiveParmName
+IconSVG IconSVG
+OnCreated OnCreated
+PythonModule PythonModule
+OnInputChanged OnInputChanged
+ExtraFileOptions ExtraFileOptions
+mops__cloner__03.svg mops_cloner_03.svg
+mops__logo__01.svg mops_logo_01.svg
+mops__instancing.svg mops_instancing.svg
+mops__update.svg mops_update.svg
+mops__expand.svg mops_expand.svg
+mops__collapse.svg mops_collapse.svg
+mops__wiki.svg mops_wiki.svg
+mops__donate.svg mops_donate.svg
+mops__feedback.svg mops_feedback.svg
diff --git a/otls/MOPS_instancer.hda/MOPS_8_8Sop_1Instancer_8_81.4/Tools.shelf b/otls/MOPS_instancer.hda/MOPS_8_8Sop_1Instancer_8_81.4/Tools.shelf
new file mode 100644
index 00000000..216dc5a8
--- /dev/null
+++ b/otls/MOPS_instancer.hda/MOPS_8_8Sop_1Instancer_8_81.4/Tools.shelf
@@ -0,0 +1,20 @@
+
+
+
+
+
+
+ SOP
+
+
+ $HDA_TABLE_AND_NAME
+
+ MOPs/Generators
+
+
+
diff --git a/otls/MOPS_instancer.hda/MOPS_8_8Sop_1Instancer_8_81.4/TypePropertiesOptions b/otls/MOPS_instancer.hda/MOPS_8_8Sop_1Instancer_8_81.4/TypePropertiesOptions
new file mode 100644
index 00000000..a6d52acf
--- /dev/null
+++ b/otls/MOPS_instancer.hda/MOPS_8_8Sop_1Instancer_8_81.4/TypePropertiesOptions
@@ -0,0 +1,14 @@
+CheckExternal := 1;
+ContentsCompressionType := 1;
+ForbidOutsideParms := 1;
+GzipContents := 1;
+LockContents := 1;
+MakeDefault := 1;
+ParmsFromVfl := 0;
+PrefixDroppedParmLabel := 0;
+PrefixDroppedParmName := 0;
+SaveCachedCode := 0;
+SaveIcon := 1;
+SaveSpareParms := 0;
+UnlockOnCreate := 0;
+UseDSParms := 1;
diff --git a/otls/MOPS_instancer.hda/MOPS_8_8Sop_1Instancer_8_81.4/mops__cloner__03.svg b/otls/MOPS_instancer.hda/MOPS_8_8Sop_1Instancer_8_81.4/mops__cloner__03.svg
new file mode 100644
index 00000000..0aca9dda
--- /dev/null
+++ b/otls/MOPS_instancer.hda/MOPS_8_8Sop_1Instancer_8_81.4/mops__cloner__03.svg
@@ -0,0 +1,9 @@
+
+
+
+
diff --git a/otls/MOPS_instancer.hda/MOPS_8_8Sop_1Instancer_8_81.4/mops__collapse.svg b/otls/MOPS_instancer.hda/MOPS_8_8Sop_1Instancer_8_81.4/mops__collapse.svg
new file mode 100644
index 00000000..f871aa73
--- /dev/null
+++ b/otls/MOPS_instancer.hda/MOPS_8_8Sop_1Instancer_8_81.4/mops__collapse.svg
@@ -0,0 +1,36 @@
+
+
+
diff --git a/otls/MOPS_instancer.hda/MOPS_8_8Sop_1Instancer_8_81.4/mops__donate.svg b/otls/MOPS_instancer.hda/MOPS_8_8Sop_1Instancer_8_81.4/mops__donate.svg
new file mode 100644
index 00000000..d60524c0
--- /dev/null
+++ b/otls/MOPS_instancer.hda/MOPS_8_8Sop_1Instancer_8_81.4/mops__donate.svg
@@ -0,0 +1,36 @@
+
+
+
diff --git a/otls/MOPS_instancer.hda/MOPS_8_8Sop_1Instancer_8_81.4/mops__expand.svg b/otls/MOPS_instancer.hda/MOPS_8_8Sop_1Instancer_8_81.4/mops__expand.svg
new file mode 100644
index 00000000..2d59ef9c
--- /dev/null
+++ b/otls/MOPS_instancer.hda/MOPS_8_8Sop_1Instancer_8_81.4/mops__expand.svg
@@ -0,0 +1,38 @@
+
+
+
diff --git a/otls/MOPS_instancer.hda/MOPS_8_8Sop_1Instancer_8_81.4/mops__feedback.svg b/otls/MOPS_instancer.hda/MOPS_8_8Sop_1Instancer_8_81.4/mops__feedback.svg
new file mode 100644
index 00000000..811954e3
--- /dev/null
+++ b/otls/MOPS_instancer.hda/MOPS_8_8Sop_1Instancer_8_81.4/mops__feedback.svg
@@ -0,0 +1,37 @@
+
+
+
diff --git a/otls/MOPS_instancer.hda/MOPS_8_8Sop_1Instancer_8_81.4/mops__instancing.svg b/otls/MOPS_instancer.hda/MOPS_8_8Sop_1Instancer_8_81.4/mops__instancing.svg
new file mode 100644
index 00000000..202e4fff
--- /dev/null
+++ b/otls/MOPS_instancer.hda/MOPS_8_8Sop_1Instancer_8_81.4/mops__instancing.svg
@@ -0,0 +1,230 @@
+
+
+
+
diff --git a/otls/MOPS_instancer.hda/MOPS_8_8Sop_1Instancer_8_81.4/mops__logo__01.svg b/otls/MOPS_instancer.hda/MOPS_8_8Sop_1Instancer_8_81.4/mops__logo__01.svg
new file mode 100644
index 00000000..18e72c60
--- /dev/null
+++ b/otls/MOPS_instancer.hda/MOPS_8_8Sop_1Instancer_8_81.4/mops__logo__01.svg
@@ -0,0 +1,38 @@
+
+
+
+
diff --git a/otls/MOPS_instancer.hda/MOPS_8_8Sop_1Instancer_8_81.4/mops__update.svg b/otls/MOPS_instancer.hda/MOPS_8_8Sop_1Instancer_8_81.4/mops__update.svg
new file mode 100644
index 00000000..d62a3f10
--- /dev/null
+++ b/otls/MOPS_instancer.hda/MOPS_8_8Sop_1Instancer_8_81.4/mops__update.svg
@@ -0,0 +1,18 @@
+
diff --git a/otls/MOPS_instancer.hda/MOPS_8_8Sop_1Instancer_8_81.4/mops__wiki.svg b/otls/MOPS_instancer.hda/MOPS_8_8Sop_1Instancer_8_81.4/mops__wiki.svg
new file mode 100644
index 00000000..0b2cfa25
--- /dev/null
+++ b/otls/MOPS_instancer.hda/MOPS_8_8Sop_1Instancer_8_81.4/mops__wiki.svg
@@ -0,0 +1,16 @@
+
+
+
diff --git a/otls/MOPS_instancer.hda/Sections.list b/otls/MOPS_instancer.hda/Sections.list
index e6c4130f..7e4a0fdf 100644
--- a/otls/MOPS_instancer.hda/Sections.list
+++ b/otls/MOPS_instancer.hda/Sections.list
@@ -5,3 +5,4 @@ MOPS_8_8Sop_1Instancer_8_81.0 MOPS::Sop/Instancer::1.0
MOPS_8_8Sop_1Instancer_8_81.1 MOPS::Sop/Instancer::1.1
MOPS_8_8Sop_1Instancer_8_81.2 MOPS::Sop/Instancer::1.2
MOPS_8_8Sop_1Instancer_8_81.3 MOPS::Sop/Instancer::1.3
+MOPS_8_8Sop_1Instancer_8_81.4 MOPS::Sop/Instancer::1.4
diff --git a/otls/MOPS_noise_modifier.hda/INDEX__SECTION b/otls/MOPS_noise_modifier.hda/INDEX__SECTION
index 27e92b07..b9c69f46 100644
--- a/otls/MOPS_noise_modifier.hda/INDEX__SECTION
+++ b/otls/MOPS_noise_modifier.hda/INDEX__SECTION
@@ -10,7 +10,7 @@ Inputs: 1 to 1
Subnet: true
Python: false
Empty: false
-Modified: Mon Aug 12 20:29:48 2019
+Modified: Wed Aug 14 00:29:48 2019
Operator: MOPS::Noise_Modifier::1.1
Label: MOPs Noise Modifier
@@ -24,5 +24,5 @@ Inputs: 1 to 1
Subnet: true
Python: false
Empty: false
-Modified: Sun Sep 29 21:34:46 2019
+Modified: Sun Apr 5 10:47:51 2020
diff --git a/otls/MOPS_noise_modifier.hda/MOPS_8_8Sop_1Noise__Modifier_8_81.1/Contents.dir/.OPdummydefs b/otls/MOPS_noise_modifier.hda/MOPS_8_8Sop_1Noise__Modifier_8_81.1/Contents.dir/.OPdummydefs
index 01475daa..c5debd26 100644
Binary files a/otls/MOPS_noise_modifier.hda/MOPS_8_8Sop_1Noise__Modifier_8_81.1/Contents.dir/.OPdummydefs and b/otls/MOPS_noise_modifier.hda/MOPS_8_8Sop_1Noise__Modifier_8_81.1/Contents.dir/.OPdummydefs differ
diff --git a/otls/MOPS_noise_modifier.hda/MOPS_8_8Sop_1Noise__Modifier_8_81.1/Contents.dir/.OPfallbacks b/otls/MOPS_noise_modifier.hda/MOPS_8_8Sop_1Noise__Modifier_8_81.1/Contents.dir/.OPfallbacks
index b410dde6..11965eba 100644
--- a/otls/MOPS_noise_modifier.hda/MOPS_8_8Sop_1Noise__Modifier_8_81.1/Contents.dir/.OPfallbacks
+++ b/otls/MOPS_noise_modifier.hda/MOPS_8_8Sop_1Noise__Modifier_8_81.1/Contents.dir/.OPfallbacks
@@ -2,15 +2,13 @@ MOPS::Sop/Apply_Attributes::1.4 C:/Users/Henry/Projects/VFX/MOPS/otls/MOPS_apply
MOPS::Sop/Apply_Attributes::1.4 otls/MOPS_applyAttributes.hda
MOPS::Sop/Extract_Attributes::1.0 C:/Users/Henry/Projects/VFX/MOPS/otls/MOPS_extractAttributes.hda
MOPS::Sop/Extract_Attributes::1.0 otls/MOPS_extractAttributes.hda
-MOPS::Sop/Noise_Patterns::1.1 C:/Users/Henry/Projects/VFX/MOPS/otls/MOPS_Noise_Patterns.hda
-MOPS::Sop/Noise_Patterns::1.1 otls/MOPS_Noise_Patterns.hda
MOPS::Sop/Noise_Patterns::1.2 C:/Users/Henry/Projects/VFX/MOPS/otls/MOPS_Noise_Patterns.hda
MOPS::Sop/Noise_Patterns::1.2 otls/MOPS_Noise_Patterns.hda
-Sop/attribdelete C:/PROGRA~1/SIDEEF~1/HOUDIN~1.229/houdini/otls/OPlibSop.hda
+Sop/attribdelete C:/PROGRA~1/SIDEEF~1/HOUDIN~1.391/houdini/otls/OPlibSop.hda
Sop/attribdelete otls/OPlibSop.hda
-Sop/attribwrangle C:/PROGRA~1/SIDEEF~1/HOUDIN~1.229/houdini/otls/OPlibSop.hda
+Sop/attribwrangle C:/PROGRA~1/SIDEEF~1/HOUDIN~1.391/houdini/otls/OPlibSop.hda
Sop/attribwrangle otls/OPlibSop.hda
-Sop/solver C:/PROGRA~1/SIDEEF~1/HOUDIN~1.229/houdini/otls/OPlibSop.hda
+Sop/solver C:/PROGRA~1/SIDEEF~1/HOUDIN~1.391/houdini/otls/OPlibSop.hda
Sop/solver otls/OPlibSop.hda
-Sop/split C:/PROGRA~1/SIDEEF~1/HOUDIN~1.229/houdini/otls/OPlibSop.hda
+Sop/split C:/PROGRA~1/SIDEEF~1/HOUDIN~1.391/houdini/otls/OPlibSop.hda
Sop/split otls/OPlibSop.hda
diff --git a/otls/MOPS_noise_modifier.hda/MOPS_8_8Sop_1Noise__Modifier_8_81.1/Contents.dir/Contents.mime b/otls/MOPS_noise_modifier.hda/MOPS_8_8Sop_1Noise__Modifier_8_81.1/Contents.dir/Contents.mime
index ad6dad5c..a6423340 100644
--- a/otls/MOPS_noise_modifier.hda/MOPS_8_8Sop_1Noise__Modifier_8_81.1/Contents.dir/Contents.mime
+++ b/otls/MOPS_noise_modifier.hda/MOPS_8_8Sop_1Noise__Modifier_8_81.1/Contents.dir/Contents.mime
@@ -32,24 +32,25 @@ Content-Type: text/plain
sopflags sopflags =
comment ""
-position 4.01918 -5.88298
-connectornextid 1
+position -6.67043 -7.01351
+connectornextid 2
flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
outputsNamed3
{
+1 "output1"
}
inputsNamed3
{
-0 MOPs_Move_Along_Spline 2 1 "input1"
+0 MOPs_Spread_Falloff 1 1 "input1"
}
inputs
{
-0 MOPs_Move_Along_Spline 0 1
+0 MOPs_Spread_Falloff 0 1
}
stat
{
- create 1569808879
- modify 1569818136
+ create 1586107414
+ modify 1586108851
author Henry@LAPPY586
access 0777
}
@@ -162,8 +163,8 @@ inputs
}
stat
{
- create 1569471192
- modify 1569471295
+ create 1583723904
+ modify 1586107415
author Henry@LAPPY586
access 0777
}
@@ -198,26 +199,28 @@ Content-Type: text/plain
{
version 0.8
group [ 0 locks=0 autoscope=0 ] ( __mops_orig )
-grouptype [ 0 locks=0 ] ( "guess" )
+grouptype [ 0 locks=0 autoscope=0 ] ( "guess" )
sepparm [ 0 locks=0 ] ( )
-folder0 [ 0 locks=0 ] ( 0 0 0 )
-do_translate [ 0 locks=0 ] ( "on" )
+matchmode [ 0 locks=0 autoscope=0 ] ( "0" )
+folder0 [ 0 locks=0 autoscope=0 ] ( 0 0 0 )
+do_translate [ 0 locks=0 autoscope=0 ] ( "on" )
do_rotate [ 0 locks=0 autoscope=0 ] ( [ do_rotate 1 ] )
do_scale [ 0 locks=0 autoscope=0 ] ( [ do_scale 0 ] )
-do_pivots [ 0 locks=0 ] ( "on" )
+do_pivots [ 0 locks=0 autoscope=0 ] ( "on" )
sepparm2 [ 0 locks=0 ] ( )
-local_space [ 0 locks=0 ] ( "on" )
+local_space [ 0 locks=0 autoscope=0 ] ( "on" )
rotate_mode [ 0 locks=0 autoscope=0 ] ( 1 )
-rotate_order [ 0 locks=0 ] ( 0 )
-scale_mode [ 0 locks=0 ] ( 0 )
+rotate_order [ 0 locks=0 autoscope=0 ] ( 0 )
+scale_mode [ 0 locks=0 autoscope=0 ] ( 0 )
do_falloff [ 0 locks=0 autoscope=0 ] ( "off" )
-falloff_attribute [ 0 locks=0 ] ( mops_falloff )
-ignore_no_falloff [ 0 locks=0 ] ( "off" )
-do_copy_attrs [ 0 locks=0 ] ( "off" )
-attribname [ 0 locks=0 ] ( "" )
-do_make_id [ 0 locks=0 ] ( "on" )
+falloff_attribute [ 0 locks=0 autoscope=0 ] ( mops_falloff )
+ignore_no_falloff [ 0 locks=0 autoscope=0 ] ( "off" )
+do_copy_attrs [ 0 locks=0 autoscope=1 ] ( "off" )
+attribname [ 0 locks=0 autoscope=0 ] ( "" )
+do_make_id [ 0 locks=0 autoscope=0 ] ( "on" )
do_orient [ 0 locks=0 autoscope=0 ] ( "on" )
-do_output_scale [ 0 locks=0 ] ( "on" )
+do_output_scale [ 0 locks=0 autoscope=0 ] ( "on" )
+sepparm3 [ 0 locks=0 ] ( )
}
--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
@@ -262,7 +265,7 @@ inputs
stat
{
create 1546923011
- modify 1565665809
+ modify 1586108130
author Henry@LAPPY586
access 0777
}
@@ -278,6 +281,7 @@ Content-Type: text/plain
{
version 0.8
do_pivot [ 0 locks=0 ] ( "on" )
+do_mops_orient [ 0 locks=0 ] ( "on" )
do_full_transform [ 0 locks=0 ] ( "off" )
}
@@ -323,7 +327,7 @@ inputs
stat
{
create 1546924805
- modify 1569468322
+ modify 1586107415
author Henry@LAPPY586
access 0777
}
@@ -361,6 +365,7 @@ vex_updatenmls [ 0 locks=0 ] ( "off" )
vex_matchattrib [ 0 locks=0 ] ( id )
vex_inplace [ 0 locks=0 ] ( "off" )
vex_selectiongroup [ 0 locks=0 ] ( "" )
+vex_precision [ 0 locks=0 ] ( auto )
}
--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
@@ -405,7 +410,7 @@ inputs
stat
{
create 1568176217
- modify 1569468322
+ modify 1586108689
author Henry@LAPPY586
access 0777
}
@@ -593,6 +598,128 @@ Content-Type: text/plain
flags = 0
segment { length = 0 value = 1 1 expr = ch(\"../output_rangevy\") }
}
+ channel do_remap_2D {
+ lefttype = extend
+ righttype = extend
+ flags = 0
+ segment { length = 0 expr = ch(\"../do_remap\") }
+ }
+ channel do_remap_3D {
+ lefttype = extend
+ righttype = extend
+ flags = 0
+ segment { length = 0 expr = ch(\"../do_remap\") }
+ }
+ channel input_rangex {
+ lefttype = extend
+ righttype = extend
+ flags = 0
+ segment { length = 0 expr = ch(\"../input_rangevx\") }
+ }
+ channel input_rangey {
+ lefttype = extend
+ righttype = extend
+ default = 1
+ flags = 0
+ segment { length = 0 value = 1 1 expr = ch(\"../input_rangevy\") }
+ }
+ channel output_rangex {
+ lefttype = extend
+ righttype = extend
+ flags = 0
+ segment { length = 0 expr = ch(\"../output_rangevx\") }
+ }
+ channel output_rangey {
+ lefttype = extend
+ righttype = extend
+ default = 1
+ flags = 0
+ segment { length = 0 value = 1 1 expr = ch(\"../output_rangevy\") }
+ }
+ channel input_min_3Dx {
+ lefttype = extend
+ righttype = extend
+ default = -1
+ flags = 0
+ segment { length = 0 value = -1 -1 expr = ch(\"../input_min_3Dx\") }
+ }
+ channel input_min_3Dy {
+ lefttype = extend
+ righttype = extend
+ default = -1
+ flags = 0
+ segment { length = 0 value = -1 -1 expr = ch(\"../input_min_3Dy\") }
+ }
+ channel input_min_3Dz {
+ lefttype = extend
+ righttype = extend
+ default = -1
+ flags = 0
+ segment { length = 0 value = -1 -1 expr = ch(\"../input_min_3Dz\") }
+ }
+ channel input_max_3Dx {
+ lefttype = extend
+ righttype = extend
+ default = 1
+ flags = 0
+ segment { length = 0 value = 1 1 expr = ch(\"../input_max_3Dx\") }
+ }
+ channel input_max_3Dy {
+ lefttype = extend
+ righttype = extend
+ default = 1
+ flags = 0
+ segment { length = 0 value = 1 1 expr = ch(\"../input_max_3Dy\") }
+ }
+ channel input_max_3Dz {
+ lefttype = extend
+ righttype = extend
+ default = 1
+ flags = 0
+ segment { length = 0 value = 1 1 expr = ch(\"../input_max_3Dz\") }
+ }
+ channel output_min_3Dx {
+ lefttype = extend
+ righttype = extend
+ default = -1
+ flags = 0
+ segment { length = 0 value = -1 -1 expr = ch(\"../output_min_3Dx\") }
+ }
+ channel output_min_3Dy {
+ lefttype = extend
+ righttype = extend
+ default = -1
+ flags = 0
+ segment { length = 0 value = -1 -1 expr = ch(\"../output_min_3Dy\") }
+ }
+ channel output_min_3Dz {
+ lefttype = extend
+ righttype = extend
+ default = -1
+ flags = 0
+ segment { length = 0 value = -1 -1 expr = ch(\"../output_min_3Dz\") }
+ }
+ channel output_max_3Dx {
+ lefttype = extend
+ righttype = extend
+ default = 1
+ flags = 0
+ segment { length = 0 value = 1 1 expr = ch(\"../output_max_3Dx\") }
+ }
+ channel output_max_3Dy {
+ lefttype = extend
+ righttype = extend
+ default = 1
+ flags = 0
+ segment { length = 0 value = 1 1 expr = ch(\"../output_max_3Dy\") }
+ }
+ channel output_max_3Dz {
+ lefttype = extend
+ righttype = extend
+ default = 1
+ flags = 0
+ segment { length = 0 value = 1 1 expr = ch(\"../output_max_3Dz\") }
+ }
}
--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
@@ -601,15 +728,15 @@ Content-Type: text/plain
{
version 0.8
-group [ 0 locks=0 autoscope=0 ] ( "" )
-grouptype [ 0 locks=0 autoscope=0 ] ( "guess" )
+group [ 0 locks=0 ] ( "" )
+grouptype [ 0 locks=0 ] ( "guess" )
sepparm3 [ 0 locks=0 ] ( )
signature [ 0 locks=0 autoscope=0 ] ( [ signature 1 ] )
attrname [ 0 locks=0 autoscope=0 ] ( __offset )
attrnamev [ 0 locks=0 autoscope=0 ] ( __offset )
sepparm [ 0 locks=0 ] ( )
-folder0 [ 0 locks=0 autoscope=0 ] ( 0 0 0 )
-input [ 0 locks=0 autoscope=0 ] ( [ input 0 ] )
+folder0 [ 0 locks=0 autoscope=0 ] ( 1 1 1 )
+input [ 0 locks=0 autoscope=0 ] ( [ input 9 ] )
use_rest [ 0 locks=0 autoscope=0 ] ( [ use_rest 0 ] )
sepparm2 [ 0 locks=0 ] ( )
amp [ 0 locks=0 autoscope=0 ] ( [ ampx 1 ] [ ampy 1 ] [ ampz 1 ] )
@@ -622,10 +749,16 @@ tile_size [ 0 locks=0 autoscope=0 ] ( [ tile_sizex 1 ] [ tile_sizey 1 ] [ tile
Distort [ 0 locks=0 autoscope=0 ] ( [ Distortx 0 ] [ Distorty 0 ] [ Distortz 0 ] )
time_varying [ 0 locks=0 autoscope=0 ] ( [ time_varying 0 ] )
time_scale [ 0 locks=0 autoscope=0 ] ( [ time_scale 1 ] )
+do_remap_2D [ 0 locks=0 ] ( [ do_remap_2D 0 ] )
input_rangev [ 0 locks=0 autoscope=0 ] ( [ input_rangevx -1 ] [ input_rangevy 1 ] )
output_rangev [ 0 locks=0 autoscope=0 ] ( [ output_rangevx -1 ] [ output_rangevy 1 ] )
-input_range [ 0 locks=0 autoscope=0 ] ( 0 1 )
-output_range [ 0 locks=0 autoscope=0 ] ( 0 1 )
+do_remap_3D [ 0 locks=0 ] ( [ do_remap_3D 0 ] )
+input_range [ 0 locks=0 autoscope=0 ] ( [ input_rangex -1 ] [ input_rangey 1 ] )
+output_range [ 0 locks=0 autoscope=0 ] ( [ output_rangex -1 ] [ output_rangey 1 ] )
+input_min_3D [ 0 locks=0 ] ( [ input_min_3Dx -1 ] [ input_min_3Dy -1 ] [ input_min_3Dz -1 ] )
+input_max_3D [ 0 locks=0 ] ( [ input_max_3Dx 1 ] [ input_max_3Dy 1 ] [ input_max_3Dz 1 ] )
+output_min_3D [ 0 locks=0 ] ( [ output_min_3Dx -1 ] [ output_min_3Dy -1 ] [ output_min_3Dz -1 ] )
+output_max_3D [ 0 locks=0 ] ( [ output_max_3Dx 1 ] [ output_max_3Dy 1 ] [ output_max_3Dz 1 ] )
}
--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
@@ -670,7 +803,7 @@ inputs
stat
{
create 1554928384
- modify 1569468322
+ modify 1586107415
author Henry@LAPPY586
access 0777
}
@@ -887,6 +1020,19 @@ Content-Type: text/plain
default { "0" }
range { 0 1 }
}
+ parm {
+ name "vex_precision"
+ baseparm
+ label "VEX Precision"
+ export none
+ }
+ parm {
+ name "do_P"
+ label "Do P"
+ type integer
+ default { "0" }
+ range { 0 10 }
+ }
--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
Content-Disposition: attachment; filename="hdaroot/compute_transform_scalar.chn"
@@ -944,6 +1090,12 @@ Content-Type: text/plain
flags = 0
segment { length = 0 expr = ch(\"../scale_rangey\") }
}
+ channel do_P {
+ lefttype = extend
+ righttype = extend
+ flags = 0
+ segment { length = 0 expr = ch(\"../do_P\") }
+ }
}
--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
@@ -974,7 +1126,9 @@ if(chi(\"do_scale\")) {
f@pscale = lerp(1, pscale, scale);
v@scale = 1;
}
-@P += disp;" )
+if(chi(\"do_P\")) {
+ @P += disp;
+}" )
exportlist [ 0 locks=0 ] ( * )
vex_strict [ 0 locks=0 ] ( "off" )
autobind [ 0 locks=0 ] ( "on" )
@@ -987,14 +1141,16 @@ vex_updatenmls [ 0 locks=0 ] ( "off" )
vex_matchattrib [ 0 locks=0 ] ( id )
vex_inplace [ 0 locks=0 ] ( "off" )
vex_selectiongroup [ 0 locks=0 ] ( "" )
+vex_precision [ 0 locks=0 ] ( auto )
folder1 [ 0 locks=0 ] ( 0 0 )
-do_falloff [ 0 locks=0 ] ( [ do_falloff 0 ] )
+do_falloff [ 0 locks=0 ] ( [ do_falloff 1 ] )
scale [ 0 locks=0 ] ( [ scale 1 ] )
do_scale [ 0 locks=0 ] ( [ do_scale 0 ] )
oldmin [ 0 locks=0 ] ( [ oldmin -1 ] )
oldmax [ 0 locks=0 ] ( [ oldmax 1 ] )
min [ 0 locks=0 ] ( [ min 0 ] )
max [ 0 locks=0 ] ( [ max 1 ] )
+do_P [ 0 locks=0 ] ( [ do_P 0 ] )
bindname1 [ 0 locks=0 ] ( [ bindname1 N ] )
bindparm1 [ 0 locks=0 ] ( axis )
}
@@ -1041,7 +1197,7 @@ inputs
stat
{
create 1554928384
- modify 1569818026
+ modify 1586107415
author Henry@LAPPY586
access 0777
}
@@ -1258,6 +1414,19 @@ Content-Type: text/plain
default { "0" }
range { 0 1 }
}
+ parm {
+ name "vex_precision"
+ baseparm
+ label "VEX Precision"
+ export none
+ }
+ parm {
+ name "do_P"
+ label "Do P"
+ type integer
+ default { "0" }
+ range { 0 10 }
+ }
--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
Content-Disposition: attachment; filename="hdaroot/compute_transform_vector.chn"
@@ -1310,6 +1479,12 @@ Content-Type: text/plain
flags = 0
segment { length = 0 value = 1 1 expr = ch(\"../scale_range_inputy\") }
}
+ channel do_P {
+ lefttype = extend
+ righttype = extend
+ flags = 0
+ segment { length = 0 expr = ch(\"../do_P\") }
+ }
}
--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
@@ -1351,6 +1526,10 @@ if(chi(\"do_scale\")) {
f@__test = pscale;
f@pscale = lerp(1, pscale, scale);
v@scale = 1;
+}
+
+if(!chi(\"do_P\")) {
+ @P = orig_P;
}" )
exportlist [ 0 locks=0 ] ( * )
vex_strict [ 0 locks=0 ] ( "off" )
@@ -1364,6 +1543,7 @@ vex_updatenmls [ 0 locks=0 ] ( "off" )
vex_matchattrib [ 0 locks=0 ] ( id )
vex_inplace [ 0 locks=0 ] ( "off" )
vex_selectiongroup [ 0 locks=0 ] ( "" )
+vex_precision [ 0 locks=0 ] ( auto )
folder1 [ 0 locks=0 ] ( 0 0 )
scale [ 0 locks=0 ] ( [ scale 1 ] )
do_falloff [ 0 locks=0 ] ( [ do_falloff 1 ] )
@@ -1372,6 +1552,7 @@ oldmin [ 8 locks=0 ] ( [ oldmin 0 ] )
oldmax [ 8 locks=0 ] ( [ oldmax 1 ] )
min [ 0 locks=0 ] ( [ min 0 ] )
max [ 0 locks=0 ] ( [ max 1 ] )
+do_P [ 0 locks=0 ] ( [ do_P 1 ] )
}
--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
@@ -1416,7 +1597,7 @@ inputs
stat
{
create 1546815258
- modify 1569468322
+ modify 1586107415
author Henry@LAPPY586
access 0777
}
@@ -1522,7 +1703,7 @@ inputs
stat
{
create 1324348265
- modify 1555736255
+ modify 1586049943
author nobody@nowhere.sidefx.com
access 0777
}
@@ -1555,6 +1736,8 @@ parmop_transformsopoutput [ 0 locks=0 autoscope=0 ] ( "default" )
transformsopoutput [ 0 locks=0 autoscope=0 ] ( "on" )
parmop_solveinitframe [ 0 locks=0 autoscope=0 ] ( "default" )
solveinitframe [ 0 locks=0 autoscope=0 ] ( "on" )
+parmop_numstamps [ 0 locks=0 ] ( "default" )
+numstamps [ 0 locks=0 ] ( 0 )
parmop_usetimestep [ 0 locks=0 ] ( "default" )
usetimestep [ 0 locks=0 ] ( "on" )
parmop_timescale [ 0 locks=0 ] ( "default" )
@@ -1574,7 +1757,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"17.5.229"
+ "value":"18.0.391"
}
}
@@ -1634,7 +1817,7 @@ inputs
stat
{
create 1546816119
- modify 1569468322
+ modify 1586107415
author Henry@LAPPY586
access 0777
}
@@ -1868,6 +2051,12 @@ Content-Type: text/plain
parmtag { "editor" "1" }
parmtag { "editorlang" "vex" }
}
+ parm {
+ name "vex_precision"
+ baseparm
+ label "VEX Precision"
+ export none
+ }
--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
Content-Disposition: attachment; filename="hdaroot/advect_noise/d/s/attribwrangle1.chn"
@@ -1961,6 +2150,7 @@ vex_updatenmls [ 0 locks=0 ] ( "off" )
vex_matchattrib [ 0 locks=0 ] ( id )
vex_inplace [ 0 locks=0 ] ( "off" )
vex_selectiongroup [ 0 locks=0 ] ( "" )
+vex_precision [ 0 locks=0 ] ( auto )
folder1 [ 0 locks=0 ] ( 0 0 )
scale [ 8 locks=0 ] ( [ scale 1 ] )
amplitude [ 0 locks=0 ] ( 0.5 0.5 0.5 )
@@ -2013,7 +2203,7 @@ outputsNamed3
}
inputsNamed3
{
-0 MOPs_Noise_Patterns1 1 1 "input1"
+0 MOPs_Noise_Patterns1 0 1 "input1"
}
inputs
{
@@ -2022,7 +2212,7 @@ inputs
stat
{
create 1554928384
- modify 1569468322
+ modify 1586107415
author Henry@LAPPY586
access 0777
}
@@ -2211,6 +2401,19 @@ Content-Type: text/plain
default { "0" }
range { 0 10 }
}
+ parm {
+ name "vex_precision"
+ baseparm
+ label "VEX Precision"
+ export none
+ }
+ parm {
+ name "do_P"
+ label "Do P"
+ type integer
+ default { "0" }
+ range { 0 10 }
+ }
--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
Content-Disposition: attachment; filename="hdaroot/advect_noise/d/s/compute_transform_scalar.chn"
@@ -2242,6 +2445,12 @@ Content-Type: text/plain
flags = 0
segment { length = 0 expr = chs(\"../../../../forwardaxis\") }
}
+ channel do_P {
+ lefttype = extend
+ righttype = extend
+ flags = 0
+ segment { length = 0 expr = ch(\"../../../../do_P\") }
+ }
}
--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
@@ -2257,6 +2466,7 @@ class [ 0 locks=0 ] ( "point" )
vex_numcount [ 0 locks=0 ] ( 10 )
vex_threadjobsize [ 0 locks=0 ] ( 1024 )
snippet [ 0 locks=0 ] ( "float scale = ch(\"scale\");
+vector orig_P = @P;
// compute displaced position
if(!haspointattrib(0, \"mops_falloff\")) {
f@mops_falloff = 1;
@@ -2277,6 +2487,10 @@ v@up = m * {0,1,0};
if(chi(\"do_trails\")) {
int newpt = addpoint(0, @ptnum);
setpointgroup(0, \"__mops_orig\", newpt, 0, \"set\");
+}
+
+if(!chi(\"do_P\")) {
+ @P = orig_P;
}" )
exportlist [ 0 locks=0 ] ( * )
vex_strict [ 0 locks=0 ] ( "off" )
@@ -2290,10 +2504,12 @@ vex_updatenmls [ 0 locks=0 ] ( "off" )
vex_matchattrib [ 0 locks=0 ] ( id )
vex_inplace [ 0 locks=0 ] ( "off" )
vex_selectiongroup [ 0 locks=0 ] ( "" )
+vex_precision [ 0 locks=0 ] ( auto )
folder1 [ 0 locks=0 ] ( 0 0 )
do_falloff [ 8 locks=0 ] ( [ do_falloff 1 ] )
scale [ 0 locks=0 ] ( [ scale 1 ] )
-do_trails [ 0 locks=0 ] ( [ do_trails 1 ] )
+do_trails [ 0 locks=0 ] ( [ do_trails 0 ] )
+do_P [ 0 locks=0 ] ( [ do_P 1 ] )
bindname1 [ 0 locks=0 ] ( [ bindname1 N ] )
bindparm1 [ 0 locks=0 ] ( axis )
}
@@ -2331,7 +2547,7 @@ outputsNamed3
}
inputsNamed3
{
-0 MOPs_Noise_Patterns1 1 1 "input1"
+0 MOPs_Noise_Patterns1 0 1 "input1"
}
inputs
{
@@ -2340,7 +2556,7 @@ inputs
stat
{
create 1554928384
- modify 1569468322
+ modify 1586107415
author Henry@LAPPY586
access 0777
}
@@ -2536,6 +2752,19 @@ Content-Type: text/plain
default { "0" }
range { 0 10 }
}
+ parm {
+ name "vex_precision"
+ baseparm
+ label "VEX Precision"
+ export none
+ }
+ parm {
+ name "do_P"
+ label "Do P"
+ type integer
+ default { "0" }
+ range { 0 10 }
+ }
--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
Content-Disposition: attachment; filename="hdaroot/advect_noise/d/s/compute_transform_vector.chn"
@@ -2569,6 +2798,12 @@ Content-Type: text/plain
flags = 0
segment { length = 0 expr = ch(\"../../../../do_trails\") }
}
+ channel do_P {
+ lefttype = extend
+ righttype = extend
+ flags = 0
+ segment { length = 0 expr = ch(\"../../../../do_P\") }
+ }
}
--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
@@ -2612,6 +2847,10 @@ matrix3 m = qconvert(p@orient);
v@N = m * {0,0,1};
v@up = m * {0,1,0};
+if(!chi(\"do_P\")) {
+ @P = orig_P;
+}
+
// optional trails
if(chi(\"do_trails\")) {
int newpt = addpoint(0, @ptnum);
@@ -2629,11 +2868,13 @@ vex_updatenmls [ 0 locks=0 ] ( "off" )
vex_matchattrib [ 0 locks=0 ] ( id )
vex_inplace [ 0 locks=0 ] ( "off" )
vex_selectiongroup [ 0 locks=0 ] ( "" )
+vex_precision [ 0 locks=0 ] ( auto )
folder1 [ 0 locks=0 ] ( 0 0 )
scale [ 0 locks=0 ] ( [ scale 1 ] )
do_falloff [ 0 locks=0 ] ( [ do_falloff 1 ] )
aim_weight [ 0 locks=0 ] ( [ aim_weight 0.10000000000000001 ] )
-do_trails [ 0 locks=0 ] ( [ do_trails 1 ] )
+do_trails [ 0 locks=0 ] ( [ do_trails 0 ] )
+do_P [ 0 locks=0 ] ( [ do_P 1 ] )
}
--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
@@ -2651,7 +2892,7 @@ Content-Type: text/plain
Content-Disposition: attachment; filename="hdaroot/advect_noise/d/s/MOPs_Noise_Patterns1.init"
Content-Type: text/plain
-type = MOPS::Noise_Patterns::1.1
+type = MOPS::Noise_Patterns::1.2
matchesdef = 1
--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
@@ -2665,11 +2906,11 @@ connectornextid 2
flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
outputsNamed3
{
-1 "output1"
+0 "output1"
}
inputsNamed3
{
-0 update_attrs 2 1 "input1"
+1 update_attrs 2 1 "input1"
}
inputs
{
@@ -2677,8 +2918,8 @@ inputs
}
stat
{
- create 1555736090
- modify 1569468322
+ create 1586049942
+ modify 1586108689
author Henry@LAPPY586
access 0777
}
@@ -2707,56 +2948,48 @@ Content-Type: text/plain
channel use_rest {
lefttype = extend
righttype = extend
- default = 1
flags = 0
segment { length = 0 value = 1 1 expr = ch(\"../../../../use_rest\") }
}
channel ampx {
lefttype = extend
righttype = extend
- default = 1
flags = 0
segment { length = 0 value = 1 1 expr = ch(\"../../../../ampx\") }
}
channel ampy {
lefttype = extend
righttype = extend
- default = 1
flags = 0
segment { length = 0 value = 1 1 expr = ch(\"../../../../ampy\") }
}
channel ampz {
lefttype = extend
righttype = extend
- default = 1
flags = 0
segment { length = 0 value = 1 1 expr = ch(\"../../../../ampz\") }
}
channel freqx {
lefttype = extend
righttype = extend
- default = 1
flags = 0
segment { length = 0 value = 1 1 expr = ch(\"../../../../freqx\") }
}
channel freqy {
lefttype = extend
righttype = extend
- default = 1
flags = 0
segment { length = 0 value = 1 1 expr = ch(\"../../../../freqy\") }
}
channel freqz {
lefttype = extend
righttype = extend
- default = 1
flags = 0
segment { length = 0 value = 1 1 expr = ch(\"../../../../freqz\") }
}
channel freqw {
lefttype = extend
righttype = extend
- default = 1
flags = 0
segment { length = 0 value = 1 1 expr = ch(\"../../../../freqw\") }
}
@@ -2769,14 +3002,12 @@ Content-Type: text/plain
channel roughness {
lefttype = extend
righttype = extend
- default = 0.5
flags = 0
segment { length = 0 value = 0.5 0.5 expr = ch(\"../../../../roughness\") }
}
channel octaves {
lefttype = extend
righttype = extend
- default = 1
flags = 0
segment { length = 0 value = 1 1 expr = ch(\"../../../../octaves\") }
}
@@ -2807,21 +3038,18 @@ Content-Type: text/plain
channel tile_sizex {
lefttype = extend
righttype = extend
- default = 1
flags = 0
segment { length = 0 value = 1 1 expr = ch(\"../../../../tile_sizex\") }
}
channel tile_sizey {
lefttype = extend
righttype = extend
- default = 1
flags = 0
segment { length = 0 value = 1 1 expr = ch(\"../../../../tile_sizey\") }
}
channel tile_sizez {
lefttype = extend
righttype = extend
- default = 1
flags = 0
segment { length = 0 value = 1 1 expr = ch(\"../../../../tile_sizez\") }
}
@@ -2852,38 +3080,129 @@ Content-Type: text/plain
channel time_scale {
lefttype = extend
righttype = extend
- default = 1
flags = 0
segment { length = 0 value = 1 1 expr = ch(\"../../../../time_scale\") }
}
channel input_rangevx {
lefttype = extend
righttype = extend
- default = -1
flags = 0
segment { length = 0 value = -1 -1 expr = ch(\"../../../../input_rangevx\") }
}
channel input_rangevy {
lefttype = extend
righttype = extend
- default = 1
flags = 0
segment { length = 0 value = 1 1 expr = ch(\"../../../../input_rangevy\") }
}
channel output_rangevx {
lefttype = extend
righttype = extend
- default = -1
flags = 0
segment { length = 0 value = -1 -1 expr = ch(\"../../../../output_rangevx\") }
}
channel output_rangevy {
lefttype = extend
righttype = extend
- default = 1
flags = 0
segment { length = 0 value = 1 1 expr = ch(\"../../../../output_rangevy\") }
}
+ channel do_remap_3D {
+ lefttype = extend
+ righttype = extend
+ flags = 0
+ segment { length = 0 expr = ch(\"../../../../do_remap\") }
+ }
+ channel input_min_3Dx {
+ lefttype = extend
+ righttype = extend
+ default = -1
+ flags = 0
+ segment { length = 0 value = -1 -1 expr = ch(\"../../../../input_min_3Dx\") }
+ }
+ channel input_min_3Dy {
+ lefttype = extend
+ righttype = extend
+ default = -1
+ flags = 0
+ segment { length = 0 value = -1 -1 expr = ch(\"../../../../input_min_3Dy\") }
+ }
+ channel input_min_3Dz {
+ lefttype = extend
+ righttype = extend
+ default = -1
+ flags = 0
+ segment { length = 0 value = -1 -1 expr = ch(\"../../../../input_min_3Dz\") }
+ }
+ channel input_max_3Dx {
+ lefttype = extend
+ righttype = extend
+ default = 1
+ flags = 0
+ segment { length = 0 value = 1 1 expr = ch(\"../../../../input_max_3Dx\") }
+ }
+ channel input_max_3Dy {
+ lefttype = extend
+ righttype = extend
+ default = 1
+ flags = 0
+ segment { length = 0 value = 1 1 expr = ch(\"../../../../input_max_3Dy\") }
+ }
+ channel input_max_3Dz {
+ lefttype = extend
+ righttype = extend
+ default = 1
+ flags = 0
+ segment { length = 0 value = 1 1 expr = ch(\"../../../../input_max_3Dz\") }
+ }
+ channel output_min_3Dx {
+ lefttype = extend
+ righttype = extend
+ default = -1
+ flags = 0
+ segment { length = 0 value = -1 -1 expr = ch(\"../../../../output_min_3Dx\") }
+ }
+ channel output_min_3Dy {
+ lefttype = extend
+ righttype = extend
+ default = -1
+ flags = 0
+ segment { length = 0 value = -1 -1 expr = ch(\"../../../../output_min_3Dy\") }
+ }
+ channel output_min_3Dz {
+ lefttype = extend
+ righttype = extend
+ default = -1
+ flags = 0
+ segment { length = 0 value = -1 -1 expr = ch(\"../../../../output_min_3Dz\") }
+ }
+ channel output_max_3Dx {
+ lefttype = extend
+ righttype = extend
+ default = 1
+ flags = 0
+ segment { length = 0 value = 1 1 expr = ch(\"../../../../output_max_3Dx\") }
+ }
+ channel output_max_3Dy {
+ lefttype = extend
+ righttype = extend
+ default = 1
+ flags = 0
+ segment { length = 0 value = 1 1 expr = ch(\"../../../../output_max_3Dy\") }
+ }
+ channel output_max_3Dz {
+ lefttype = extend
+ righttype = extend
+ default = 1
+ flags = 0
+ segment { length = 0 value = 1 1 expr = ch(\"../../../../output_max_3Dz\") }
+ }
+ channel do_remap_2D {
+ lefttype = extend
+ righttype = extend
+ flags = 0
+ segment { length = 0 expr = ch(\"../../../../do_remap\") }
+ }
}
--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
@@ -2892,31 +3211,37 @@ Content-Type: text/plain
{
version 0.8
-group [ 0 locks=0 ] ( __mops_orig )
+group [ 0 locks=0 autoscope=0 ] ( __mops_orig )
grouptype [ 0 locks=0 ] ( "guess" )
sepparm3 [ 0 locks=0 ] ( )
-signature [ 0 locks=0 ] ( [ signature 1 ] )
-attrname [ 0 locks=0 ] ( __offset )
-attrnamev [ 0 locks=0 ] ( __offset )
+signature [ 0 locks=0 autoscope=0 ] ( [ signature 1 ] )
+attrname [ 0 locks=0 autoscope=0 ] ( __offset )
+attrnamev [ 0 locks=0 autoscope=0 ] ( __offset )
sepparm [ 0 locks=0 ] ( )
folder0 [ 0 locks=0 ] ( 0 0 0 )
-input [ 0 locks=0 ] ( [ input 9 ] )
-use_rest [ 0 locks=0 ] ( [ use_rest 0 ] )
+input [ 0 locks=0 autoscope=0 ] ( [ input 9 ] )
+use_rest [ 0 locks=0 autoscope=0 ] ( [ use_rest 0 ] )
sepparm2 [ 0 locks=0 ] ( )
-amp [ 0 locks=0 ] ( [ ampx 1 ] [ ampy 1 ] [ ampz 1 ] )
-freq [ 0 locks=0 ] ( [ freqx 1 ] [ freqy 1 ] [ freqz 1 ] [ freqw 1 ] )
-uniform [ 0 locks=0 ] ( [ uniform 0 ] )
-roughness [ 0 locks=0 ] ( [ roughness 0.5 ] )
-octaves [ 0 locks=0 ] ( [ octaves 1 ] )
-offset [ 0 locks=0 ] ( [ offsetx 0 ] [ offsety 0 ] [ offsetz 0 ] [ offsetw 0 ] )
-tile_size [ 0 locks=0 ] ( [ tile_sizex 1 ] [ tile_sizey 1 ] [ tile_sizez 1 ] )
-Distort [ 0 locks=0 ] ( [ Distortx 0 ] [ Distorty 0 ] [ Distortz 0 ] )
-time_varying [ 0 locks=0 ] ( [ time_varying 0 ] )
-time_scale [ 0 locks=0 ] ( [ time_scale 1 ] )
-input_rangev [ 0 locks=0 ] ( [ input_rangevx -1 ] [ input_rangevy 1 ] )
-output_rangev [ 0 locks=0 ] ( [ output_rangevx -1 ] [ output_rangevy 1 ] )
+amp [ 0 locks=0 autoscope=0 ] ( [ ampx 1 ] [ ampy 1 ] [ ampz 1 ] )
+freq [ 0 locks=0 autoscope=0 ] ( [ freqx 1 ] [ freqy 1 ] [ freqz 1 ] [ freqw 1 ] )
+uniform [ 0 locks=0 autoscope=0 ] ( [ uniform 0 ] )
+roughness [ 0 locks=0 autoscope=0 ] ( [ roughness 0.5 ] )
+octaves [ 0 locks=0 autoscope=0 ] ( [ octaves 1 ] )
+offset [ 0 locks=0 autoscope=0 ] ( [ offsetx 0 ] [ offsety 0 ] [ offsetz 0 ] [ offsetw 0 ] )
+tile_size [ 0 locks=0 autoscope=0 ] ( [ tile_sizex 1 ] [ tile_sizey 1 ] [ tile_sizez 1 ] )
+Distort [ 0 locks=0 autoscope=0 ] ( [ Distortx 0 ] [ Distorty 0 ] [ Distortz 0 ] )
+time_varying [ 0 locks=0 autoscope=0 ] ( [ time_varying 0 ] )
+time_scale [ 0 locks=0 autoscope=0 ] ( [ time_scale 1 ] )
+do_remap_2D [ 0 locks=0 autoscope=0 ] ( [ do_remap_2D 0 ] )
+input_rangev [ 0 locks=0 autoscope=0 ] ( [ input_rangevx -1 ] [ input_rangevy 1 ] )
+output_rangev [ 0 locks=0 autoscope=0 ] ( [ output_rangevx -1 ] [ output_rangevy 1 ] )
+do_remap_3D [ 0 locks=0 autoscope=0 ] ( [ do_remap_3D 0 ] )
input_range [ 0 locks=0 ] ( 0 1 )
output_range [ 0 locks=0 ] ( 0 1 )
+input_min_3D [ 0 locks=0 autoscope=0 ] ( [ input_min_3Dx -1 ] [ input_min_3Dy -1 ] [ input_min_3Dz -1 ] )
+input_max_3D [ 0 locks=0 autoscope=0 ] ( [ input_max_3Dx 1 ] [ input_max_3Dy 1 ] [ input_max_3Dz 1 ] )
+output_min_3D [ 0 locks=0 autoscope=0 ] ( [ output_min_3Dx -1 ] [ output_min_3Dy -1 ] [ output_min_3Dz -1 ] )
+output_max_3D [ 0 locks=0 autoscope=0 ] ( [ output_max_3Dx 1 ] [ output_max_3Dy 1 ] [ output_max_3Dz 1 ] )
}
--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
@@ -2961,7 +3286,7 @@ inputs
stat
{
create 1557519690
- modify 1569468322
+ modify 1586107415
author Henry@LAPPY586
access 0777
}
@@ -3009,6 +3334,7 @@ vex_updatenmls [ 0 locks=0 ] ( "off" )
vex_matchattrib [ 0 locks=0 ] ( id )
vex_inplace [ 0 locks=0 ] ( "off" )
vex_selectiongroup [ 0 locks=0 ] ( "" )
+vex_precision [ 0 locks=0 ] ( auto )
bindname1 [ 0 locks=0 ] ( [ bindname1 curveu ] )
bindparm1 [ 0 locks=0 ] ( attr )
}
@@ -3081,7 +3407,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"17.5.229"
+ "value":"18.0.391"
}
}
@@ -3116,7 +3442,7 @@ inputs
stat
{
create 1523127556
- modify 1569468322
+ modify 1586107415
author Mo@Mo-PC
access 0777
}
@@ -3179,7 +3505,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"17.5.229"
+ "value":"18.0.391"
}
}
@@ -3215,7 +3541,7 @@ inputs
stat
{
create 1546818518
- modify 1565235649
+ modify 1583723892
author Henry@LAPPY586
access 0777
}
@@ -3280,7 +3606,7 @@ inputs
stat
{
create 1546818533
- modify 1569471192
+ modify 1583723904
author Henry@LAPPY586
access 0777
}
@@ -3304,7 +3630,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"17.5.229"
+ "value":"18.0.391"
}
}
@@ -3339,7 +3665,7 @@ inputs
stat
{
create 1546818553
- modify 1569468322
+ modify 1586107415
author Henry@LAPPY586
access 0777
}
@@ -3416,7 +3742,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"17.5.229"
+ "value":"18.0.391"
}
}
@@ -3453,7 +3779,7 @@ inputs
stat
{
create 1546818578
- modify 1569471192
+ modify 1586107415
author Henry@LAPPY586
access 0777
}
@@ -3492,7 +3818,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"17.5.229"
+ "value":"18.0.391"
}
}
@@ -3529,7 +3855,7 @@ inputs
stat
{
create 1546819340
- modify 1569468322
+ modify 1586107415
author Henry@LAPPY586
access 0777
}
@@ -3568,7 +3894,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"17.5.229"
+ "value":"18.0.391"
}
}
@@ -3646,7 +3972,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"17.5.229"
+ "value":"18.0.391"
}
}
@@ -3680,7 +4006,7 @@ inputs
stat
{
create 1546922096
- modify 1565235679
+ modify 1586049822
author Henry@LAPPY586
access 0777
}
@@ -3705,7 +4031,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"17.5.229"
+ "value":"18.0.391"
}
}
@@ -3769,7 +4095,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"17.5.229"
+ "value":"18.0.391"
}
}
@@ -3870,7 +4196,7 @@ inputs
stat
{
create 1546923929
- modify 1569468322
+ modify 1586107415
author Henry@LAPPY586
access 0777
}
@@ -3907,7 +4233,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"17.5.229"
+ "value":"18.0.391"
}
}
@@ -3944,7 +4270,7 @@ inputs
stat
{
create 1546925005
- modify 1569468322
+ modify 1586107415
author Henry@LAPPY586
access 0777
}
@@ -3982,7 +4308,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"17.5.229"
+ "value":"18.0.391"
}
}
@@ -4017,7 +4343,7 @@ inputs
stat
{
create 1546925057
- modify 1569468322
+ modify 1586107415
author Henry@LAPPY586
access 0777
}
@@ -4039,7 +4365,13 @@ totype1 [ 0 locks=0 ] ( "points" )
group1 [ 0 locks=0 ] ( `chs(\"../group\")` )
newname1 [ 0 locks=0 ] ( "" )
preserve1 [ 0 locks=0 ] ( "on" )
+onlyboundary1 [ 0 locks=0 ] ( "off" )
+includeunshared1 [ 0 locks=0 ] ( "on" )
+useconnectivityattrib1 [ 0 locks=0 ] ( "off" )
+connectivityattrib1 [ 0 locks=0 ] ( uv )
+primsbyattribbndpts1 [ 0 locks=0 ] ( "off" )
onlyfull1 [ 0 locks=0 ] ( "off" )
+removedegen1 [ 0 locks=0 ] ( "off" )
toattrib1 [ 0 locks=0 ] ( "off" )
}
@@ -4050,7 +4382,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"17.5.229"
+ "value":"18.0.391"
}
}
@@ -4087,7 +4419,7 @@ inputs
stat
{
create 1546925167
- modify 1569468322
+ modify 1586107415
author Henry@LAPPY586
access 0777
}
@@ -4125,7 +4457,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"17.5.229"
+ "value":"18.0.391"
}
}
@@ -4160,7 +4492,7 @@ inputs
stat
{
create 1546925176
- modify 1569468322
+ modify 1586107415
author Henry@LAPPY586
access 0777
}
@@ -4189,7 +4521,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"17.5.229"
+ "value":"18.0.391"
}
}
@@ -4290,7 +4622,7 @@ inputs
stat
{
create 1554924824
- modify 1569468322
+ modify 1586107415
author Henry@LAPPY586
access 0777
}
@@ -4328,7 +4660,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"17.5.229"
+ "value":"18.0.391"
}
}
@@ -4380,7 +4712,11 @@ Content-Type: text/plain
version 0.8
group [ 0 locks=0 ] ( "" )
grouptype [ 0 locks=0 ] ( "point" )
+usepieceattrib [ 0 locks=0 ] ( "off" )
+pieceattrib [ 0 locks=0 ] ( name )
attribname [ 0 locks=0 ] ( id )
+attribtype [ 0 locks=0 ] ( "int" )
+prefix [ 0 locks=0 ] ( piece )
}
--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
@@ -4390,7 +4726,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"17.5.229"
+ "value":"18.0.391"
}
}
@@ -4427,7 +4763,7 @@ inputs
stat
{
create 1554929951
- modify 1569468322
+ modify 1586107415
author Henry@LAPPY586
access 0777
}
@@ -4465,7 +4801,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"17.5.229"
+ "value":"18.0.391"
}
}
@@ -4502,7 +4838,7 @@ inputs
stat
{
create 1554930775
- modify 1569468322
+ modify 1586107415
author Henry@LAPPY586
access 0777
}
@@ -4530,7 +4866,7 @@ Content-Type: text/plain
{
version 0.8
-input [ 8 locks=0 ] ( [ input 0 ] )
+input [ 8 locks=0 ] ( [ input 1 ] )
}
--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
@@ -4540,7 +4876,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"17.5.229"
+ "value":"18.0.391"
}
}
@@ -4573,7 +4909,7 @@ inputs
stat
{
create 1324348265
- modify 1569468322
+ modify 1586109138
author nobody@nowhere.sidefx.com
access 0777
}
@@ -4622,6 +4958,8 @@ viewportlod [ 0 locks=0 ] ( "full" )
importbyname [ 0 locks=0 autoscope=0 ] ( "on" )
objectnames [ 0 locks=0 ] ( "dopobject" )
geodatapath [ 0 locks=0 autoscope=0 ] ( "`stamps(\"..\", \"DATANAME\", chs(\"../datapath\"))`" )
+transferattributes [ 0 locks=0 ] ( "" )
+transfergroups [ 0 locks=0 ] ( "" )
inverseop [ 0 locks=0 autoscope=0 ] ( "off" )
doposxform [ 0 locks=0 autoscope=0 ] ( [ doposxform 1 ] )
doxform [ 0 locks=0 autoscope=0 ] ( [ doxform 1 ] )
@@ -4644,7 +4982,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"17.5.229"
+ "value":"18.0.391"
}
}
@@ -4677,7 +5015,7 @@ inputs
stat
{
create 1324348294
- modify 1569468322
+ modify 1586107415
author nobody@nowhere.sidefx.com
access 0777
}
@@ -4723,7 +5061,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"17.5.229"
+ "value":"18.0.391"
}
}
@@ -4756,7 +5094,7 @@ inputs
stat
{
create 1324348294
- modify 1569468322
+ modify 1586107415
author nobody@nowhere.sidefx.com
access 0777
}
@@ -4802,7 +5140,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"17.5.229"
+ "value":"18.0.391"
}
}
@@ -4835,7 +5173,7 @@ inputs
stat
{
create 1324348294
- modify 1569468322
+ modify 1586107415
author nobody@nowhere.sidefx.com
access 0777
}
@@ -4881,7 +5219,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"17.5.229"
+ "value":"18.0.391"
}
}
@@ -4914,7 +5252,7 @@ inputs
stat
{
create 1324348294
- modify 1569468322
+ modify 1586107415
author nobody@nowhere.sidefx.com
access 0777
}
@@ -4960,7 +5298,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"17.5.229"
+ "value":"18.0.391"
}
}
@@ -5019,7 +5357,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"17.5.229"
+ "value":"18.0.391"
}
}
@@ -5056,7 +5394,7 @@ inputs
stat
{
create 1546995483
- modify 1569468322
+ modify 1586107415
author Henry@LAPPY586
access 0777
}
@@ -5107,7 +5445,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"17.5.229"
+ "value":"18.0.391"
}
}
@@ -5144,7 +5482,7 @@ inputs
stat
{
create 1554929951
- modify 1569468322
+ modify 1586107415
author Henry@LAPPY586
access 0777
}
@@ -5182,7 +5520,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"17.5.229"
+ "value":"18.0.391"
}
}
@@ -5243,7 +5581,7 @@ inputs
stat
{
create 1546819340
- modify 1569468322
+ modify 1586107415
author Henry@LAPPY586
access 0777
}
@@ -5272,7 +5610,7 @@ Content-Type: text/plain
{
version 0.8
-input [ 8 locks=0 ] ( [ input 1 ] )
+input [ 8 locks=0 ] ( [ input 0 ] )
}
--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
@@ -5282,7 +5620,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"17.5.229"
+ "value":"18.0.391"
}
}
@@ -5351,7 +5689,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"17.5.229"
+ "value":"18.0.391"
}
}
@@ -5450,7 +5788,7 @@ inputs
stat
{
create 1565235649
- modify 1569468322
+ modify 1586107415
author Henry@LAPPY586
access 0777
}
@@ -5495,7 +5833,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"17.5.229"
+ "value":"18.0.391"
}
}
@@ -5530,7 +5868,7 @@ inputs
stat
{
create 1565235679
- modify 1569468322
+ modify 1586107415
author Henry@LAPPY586
access 0777
}
@@ -5561,7 +5899,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"17.5.229"
+ "value":"18.0.391"
}
}
diff --git a/otls/MOPS_noise_modifier.hda/MOPS_8_8Sop_1Noise__Modifier_8_81.1/DialogScript b/otls/MOPS_noise_modifier.hda/MOPS_8_8Sop_1Noise__Modifier_8_81.1/DialogScript
index cf5093ed..340ff3eb 100644
--- a/otls/MOPS_noise_modifier.hda/MOPS_8_8Sop_1Noise__Modifier_8_81.1/DialogScript
+++ b/otls/MOPS_noise_modifier.hda/MOPS_8_8Sop_1Noise__Modifier_8_81.1/DialogScript
@@ -61,15 +61,24 @@
}
parm {
name "scale"
- label "Effect Scale"
+ label "Effect Amount"
type float
default { "1" }
range { 0 1 }
parmtag { "autoscope" "0000000000000000" }
}
+ parm {
+ name "do_P"
+ label "Affect Position"
+ type toggle
+ default { "1" }
+ range { 0 10 }
+ parmtag { "autoscope" "0000000000000000" }
+ parmtag { "script_callback_language" "python" }
+ }
parm {
name "orientclones"
- label "Orient Instances"
+ label "Affect Rotation"
type toggle
default { "1" }
}
@@ -267,6 +276,7 @@
label "Time Varying"
type toggle
default { "off" }
+ disablewhen "{ noisetype > 9 }"
range { 0 10 }
parmtag { "autoscope" "0000000000000000" }
}
@@ -285,12 +295,23 @@
name "folder0_1"
label "Remap"
+ parm {
+ name "do_remap"
+ label "Enable Remap"
+ type toggle
+ default { "off" }
+ range { 0! 10 }
+ parmtag { "autoscope" "0000000000000000" }
+ parmtag { "script_callback_language" "python" }
+ }
parm {
name "input_rangev"
label "Input Range"
type vector2
size 2
default { "-1" "1" }
+ disablewhen "{ do_remap == 0 }"
+ hidewhen "{ signature == 1 }"
range { 0 1 }
parmtag { "autoscope" "0000000000000000" }
}
@@ -300,8 +321,58 @@
type vector2
size 2
default { "-1" "1" }
+ disablewhen "{ do_remap == 0 }"
+ hidewhen "{ signature == 1 }"
+ range { 0 1 }
+ parmtag { "autoscope" "0000000000000000" }
+ }
+ parm {
+ name "input_min_3D"
+ label "Input Min"
+ type vector
+ size 3
+ default { "-1" "-1" "-1" }
+ disablewhen "{ do_remap == 0 }"
+ hidewhen "{ signature == 0 }"
+ range { 0 1 }
+ parmtag { "autoscope" "0000000000000000" }
+ parmtag { "script_callback_language" "python" }
+ }
+ parm {
+ name "input_max_3D"
+ label "Input Max"
+ type vector
+ size 3
+ default { "1" "1" "1" }
+ disablewhen "{ do_remap == 0 }"
+ hidewhen "{ signature == 0 }"
+ range { 0 1 }
+ parmtag { "autoscope" "0000000000000000" }
+ parmtag { "script_callback_language" "python" }
+ }
+ parm {
+ name "output_min_3D"
+ label "Output Min"
+ type vector
+ size 3
+ default { "-1" "-1" "-1" }
+ disablewhen "{ do_remap == 0 }"
+ hidewhen "{ signature == 0 }"
+ range { 0 1 }
+ parmtag { "autoscope" "0000000000000000" }
+ parmtag { "script_callback_language" "python" }
+ }
+ parm {
+ name "output_max_3D"
+ label "Output Max"
+ type vector
+ size 3
+ default { "1" "1" "1" }
+ disablewhen "{ do_remap == 0 }"
+ hidewhen "{ signature == 0 }"
range { 0 1 }
parmtag { "autoscope" "0000000000000000" }
+ parmtag { "script_callback_language" "python" }
}
}
diff --git a/otls/MOPS_noise_modifier.hda/MOPS_8_8Sop_1Noise__Modifier_8_81.1/ExtraFileOptions b/otls/MOPS_noise_modifier.hda/MOPS_8_8Sop_1Noise__Modifier_8_81.1/ExtraFileOptions
index 2cdf6c58..8c14df31 100644
--- a/otls/MOPS_noise_modifier.hda/MOPS_8_8Sop_1Noise__Modifier_8_81.1/ExtraFileOptions
+++ b/otls/MOPS_noise_modifier.hda/MOPS_8_8Sop_1Noise__Modifier_8_81.1/ExtraFileOptions
@@ -19,6 +19,10 @@
"type":"string",
"value":""
},
+ "ViewerStateModule/CodeGenInput":{
+ "type":"string",
+ "value":"{\n\t\"state_name\":\"\",\n\t\"state_label\":\"\",\n\t\"state_descr\":\"\",\n\t\"state_icon\":\"$HH/config/Icons\",\n\t\"state_debug_menu\":0,\n\t\"state_sample\":0,\n\t\"state_handler_indices\":[]\n}\n"
+ },
"mops_modifier_02.svg/Cursor":{
"type":"intarray",
"value":[1,1]
diff --git a/otls/MOPS_noise_modifier.hda/MOPS_8_8Sop_1Noise__Modifier_8_81.1/TypePropertiesOptions b/otls/MOPS_noise_modifier.hda/MOPS_8_8Sop_1Noise__Modifier_8_81.1/TypePropertiesOptions
index b4811492..a6d52acf 100644
--- a/otls/MOPS_noise_modifier.hda/MOPS_8_8Sop_1Noise__Modifier_8_81.1/TypePropertiesOptions
+++ b/otls/MOPS_noise_modifier.hda/MOPS_8_8Sop_1Noise__Modifier_8_81.1/TypePropertiesOptions
@@ -1,14 +1,14 @@
-SaveSpareParms := 0;
CheckExternal := 1;
-SaveIcon := 1;
-GzipContents := 1;
ContentsCompressionType := 1;
-UnlockOnCreate := 0;
-SaveCachedCode := 0;
+ForbidOutsideParms := 1;
+GzipContents := 1;
LockContents := 1;
MakeDefault := 1;
-UseDSParms := 1;
-ForbidOutsideParms := 1;
+ParmsFromVfl := 0;
PrefixDroppedParmLabel := 0;
PrefixDroppedParmName := 0;
-ParmsFromVfl := 0;
+SaveCachedCode := 0;
+SaveIcon := 1;
+SaveSpareParms := 0;
+UnlockOnCreate := 0;
+UseDSParms := 1;
diff --git a/otls/MOPS_transform.hda/INDEX__SECTION b/otls/MOPS_transform.hda/INDEX__SECTION
index 67e0d802..9ade1e97 100644
--- a/otls/MOPS_transform.hda/INDEX__SECTION
+++ b/otls/MOPS_transform.hda/INDEX__SECTION
@@ -10,7 +10,7 @@ Inputs: 1 to 1
Subnet: true
Python: false
Empty: false
-Modified: Mon Nov 12 03:28:24 2018
+Modified: Sun Nov 11 16:28:24 2018
Operator: MOPS::Transform_Modifier::1.1
Label: MOPs Transform Modifier
@@ -24,5 +24,5 @@ Inputs: 1 to 1
Subnet: true
Python: false
Empty: false
-Modified: Sat Jan 4 16:45:12 2020
+Modified: Sun Mar 22 12:11:17 2020
diff --git a/otls/MOPS_transform.hda/MOPS_8_8Sop_1Transform__Modifier_8_81.1/Contents.dir/.OPdummydefs b/otls/MOPS_transform.hda/MOPS_8_8Sop_1Transform__Modifier_8_81.1/Contents.dir/.OPdummydefs
index 19ae00ff..b53f2eb6 100644
Binary files a/otls/MOPS_transform.hda/MOPS_8_8Sop_1Transform__Modifier_8_81.1/Contents.dir/.OPdummydefs and b/otls/MOPS_transform.hda/MOPS_8_8Sop_1Transform__Modifier_8_81.1/Contents.dir/.OPdummydefs differ
diff --git a/otls/MOPS_transform.hda/MOPS_8_8Sop_1Transform__Modifier_8_81.1/Contents.dir/.OPfallbacks b/otls/MOPS_transform.hda/MOPS_8_8Sop_1Transform__Modifier_8_81.1/Contents.dir/.OPfallbacks
index 64e0ff2a..94133055 100644
--- a/otls/MOPS_transform.hda/MOPS_8_8Sop_1Transform__Modifier_8_81.1/Contents.dir/.OPfallbacks
+++ b/otls/MOPS_transform.hda/MOPS_8_8Sop_1Transform__Modifier_8_81.1/Contents.dir/.OPfallbacks
@@ -1,6 +1,6 @@
MOPS::Sop/Apply_Attributes::1.4 C:/Users/Henry/Projects/VFX/MOPS_Prime/otls/MOPS_applyAttributes.hda
MOPS::Sop/Apply_Attributes::1.4 otls/MOPS_applyAttributes.hda
-Sop/attribdelete C:/PROGRA~1/SIDEEF~1/HOUDIN~1.287/houdini/otls/OPlibSop.hda
+Sop/attribdelete C:/PROGRA~1/SIDEEF~1/HOUDIN~1.391/houdini/otls/OPlibSop.hda
Sop/attribdelete otls/OPlibSop.hda
-Sop/attribwrangle C:/PROGRA~1/SIDEEF~1/HOUDIN~1.287/houdini/otls/OPlibSop.hda
+Sop/attribwrangle C:/PROGRA~1/SIDEEF~1/HOUDIN~1.391/houdini/otls/OPlibSop.hda
Sop/attribwrangle otls/OPlibSop.hda
diff --git a/otls/MOPS_transform.hda/MOPS_8_8Sop_1Transform__Modifier_8_81.1/Contents.dir/Contents.mime b/otls/MOPS_transform.hda/MOPS_8_8Sop_1Transform__Modifier_8_81.1/Contents.dir/Contents.mime
index d3a1246e..954770a3 100644
--- a/otls/MOPS_transform.hda/MOPS_8_8Sop_1Transform__Modifier_8_81.1/Contents.dir/Contents.mime
+++ b/otls/MOPS_transform.hda/MOPS_8_8Sop_1Transform__Modifier_8_81.1/Contents.dir/Contents.mime
@@ -32,22 +32,25 @@ Content-Type: text/plain
sopflags sopflags =
comment ""
-position 1.60004 -0.945118
-connectornextid 0
+position -18.0001 3.21857
+connectornextid 2
flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
outputsNamed3
{
+1 "output1"
}
inputsNamed3
{
+0 MOPs_Explode 1 1 "input1"
}
inputs
{
+0 MOPs_Explode 0 1
}
stat
{
- create 1578185076
- modify 1578185083
+ create 1584210481
+ modify 1584904261
author Henry@LAPPY586
access 0777
}
@@ -95,7 +98,7 @@ Content-Type: text/plain
sopflags sopflags =
comment ""
-position -1.84652 4.20677
+position -1.84652 2.32396
connectornextid 2
flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
outputsNamed3
@@ -113,7 +116,7 @@ inputs
stat
{
create 1524060453
- modify 1578185076
+ modify 1584037852
author Henry@LAPPY586
access 0777
}
@@ -456,7 +459,7 @@ Content-Type: text/plain
version 0.8
folder0 [ 0 locks=0 autoscope=0 ] ( 0 0 )
group [ 0 locks=0 autoscope=0 ] ( `chs(\"../Apply_Attributes1/group\")` )
-grouptype [ 8 locks=0 autoscope=0 ] ( [ grouptype 4 ] )
+grouptype [ 8 locks=0 autoscope=0 ] ( [ grouptype 0 ] )
class [ 0 locks=0 autoscope=0 ] ( "point" )
vex_numcount [ 0 locks=0 autoscope=0 ] ( 10 )
vex_threadjobsize [ 0 locks=0 autoscope=0 ] ( 1024 )
@@ -493,8 +496,7 @@ if(local) {
// get existing xform, if any.
vector p = v@P;
// if this is not a packed primitive, use the orient attribute if possible.
- matrix3 m = primintrinsic(0, \"transform\", @ptnum);
- vector4 rot = quaternion(m);
+ vector4 rot = quaternion(3@__transform);
rot = qmultiply(mops_orient, rot);
translate = qrotate(rot, translate);
}
@@ -551,27 +553,27 @@ Content-Type: text/plain
sopflags sopflags =
comment ""
-position -3.13514 2.91562
+position -3.13514 -0.384687
connectornextid 3
-flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
+flags = lock off model off template off footprint off xray off bypass off display on render on highlight off unload off savedata off compress on colordefault on exposed on
outputsNamed3
{
0 "output1"
}
inputsNamed3
{
-1 pivot 0 1 "input1"
+1 attribdelete1 1 1 "input1"
2 compute_translate 1 1 "input2"
}
inputs
{
-0 pivot 0 1
+0 attribdelete1 0 1
1 compute_translate 0 1
}
stat
{
create 1569469174
- modify 1578185076
+ modify 1584904270
author Henry@LAPPY586
access 0777
}
@@ -647,8 +649,8 @@ Content-Type: text/plain
{
version 0.8
-group [ 0 locks=0 autoscope=0 ] ( [ group "7 11 14 17-18" ] )
-grouptype [ 0 locks=0 autoscope=0 ] ( [ grouptype 4 ] )
+group [ 0 locks=0 autoscope=0 ] ( [ group "" ] )
+grouptype [ 0 locks=0 autoscope=0 ] ( [ grouptype 0 ] )
sepparm [ 0 locks=0 ] ( )
matchmode [ 0 locks=0 ] ( "0" )
folder0 [ 0 locks=0 ] ( 0 0 0 )
@@ -663,7 +665,7 @@ rotate_order [ 0 locks=0 autoscope=0 ] ( [ rotate_order 0 ] )
scale_mode [ 0 locks=0 autoscope=0 ] ( [ scale_mode 0 ] )
do_falloff [ 0 locks=0 autoscope=0 ] ( [ do_falloff 1 ] )
falloff_attribute [ 0 locks=0 autoscope=0 ] ( [ falloff_attribute mops_falloff ] )
-ignore_no_falloff [ 0 locks=0 autoscope=0 ] ( [ ignore_no_falloff 1 ] )
+ignore_no_falloff [ 0 locks=0 autoscope=0 ] ( [ ignore_no_falloff 0 ] )
do_copy_attrs [ 0 locks=0 ] ( "off" )
attribname [ 0 locks=0 ] ( "" )
do_make_id [ 0 locks=0 ] ( "on" )
@@ -696,7 +698,7 @@ Content-Type: text/plain
sopflags sopflags =
comment ""
-position -5.35215 4.83893
+position -5.21941 4.81588
connectornextid 2
flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
outputsNamed3
@@ -705,16 +707,16 @@ outputsNamed3
}
inputsNamed3
{
-1 (0) "" 1 "input1"
+1 attribpromote1 1 1 "input1"
}
inputs
{
-0 (0) 0 1
+0 attribpromote1 0 1
}
stat
{
create 1524060453
- modify 1578185076
+ modify 1584037852
author Henry@LAPPY586
access 0777
}
@@ -949,22 +951,24 @@ Content-Type: text/plain
version 0.8
folder0 [ 0 locks=0 autoscope=0 ] ( 0 0 )
group [ 0 locks=0 autoscope=0 ] ( `chs(\"../Apply_Attributes1/group\")` )
-grouptype [ 8 locks=0 autoscope=0 ] ( [ grouptype 4 ] )
+grouptype [ 8 locks=0 autoscope=0 ] ( [ grouptype 0 ] )
class [ 0 locks=0 autoscope=0 ] ( "point" )
vex_numcount [ 0 locks=0 autoscope=0 ] ( 10 )
vex_threadjobsize [ 0 locks=0 autoscope=0 ] ( 1024 )
-snippet [ 0 locks=0 autoscope=0 ] ( "vector pivot = primintrinsic(0, \"pivot\", @primnum);
+snippet [ 0 locks=0 autoscope=0 ] ( "vector pivot = v@__pivot;
vector adjust_pivot = chv(\"pivot\");
-matrix3 m = primintrinsic(0, \"transform\", @primnum);
+matrix3 m = 3@__transform;
int mode = chi(\"pivot_mode\");
+i@__ingroup = 1;
if(mode == 0) {
- setprimintrinsic(0, \"pivot\", @primnum, adjust_pivot, \"add\");
+ // setprimintrinsic(0, \"pivot\", @primnum, adjust_pivot, \"add\");
+ v@__pivot += adjust_pivot;
@P += (m * adjust_pivot);
// we need to be multiplying against a matrix instead of just scale...
} else {
- setprimintrinsic(0, \"pivot\", @primnum, adjust_pivot, \"set\");
-
+ // setprimintrinsic(0, \"pivot\", @primnum, adjust_pivot, \"set\");
+ v@__pivot = adjust_pivot;
@P -= (m * pivot);
}
" )
@@ -997,6 +1001,166 @@ Content-Type: text/plain
}
}
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/get_intrinsics.init"
+Content-Type: text/plain
+
+type = attribwrangle
+matchesdef = 1
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/get_intrinsics.def"
+Content-Type: text/plain
+
+sopflags sopflags =
+comment ""
+position -5.46951 6.89368
+connectornextid 2
+flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
+outputsNamed3
+{
+1 "output1"
+}
+inputsNamed3
+{
+0 (0) "" 1 "input1"
+}
+inputs
+{
+0 (0) 0 1
+}
+stat
+{
+ create 1583690993
+ modify 1584037852
+ author Henry@LAPPY586
+ access 0777
+}
+color UT_Color RGB 0.8 0.8 0.8
+delscript ""
+exprlanguage hscript
+end
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/get_intrinsics.parm"
+Content-Type: text/plain
+
+{
+version 0.8
+folder0 [ 0 locks=0 ] ( 0 0 )
+group [ 0 locks=0 ] ( "" )
+grouptype [ 0 locks=0 ] ( "guess" )
+class [ 0 locks=0 ] ( "primitive" )
+vex_numcount [ 0 locks=0 ] ( 10 )
+vex_threadjobsize [ 0 locks=0 ] ( 1024 )
+snippet [ 0 locks=0 ] ( "3@__transform = primintrinsic(0, \"transform\", @elemnum);
+v@__pivot = primintrinsic(0, \"pivot\", @elemnum);" )
+exportlist [ 0 locks=0 ] ( * )
+vex_strict [ 0 locks=0 ] ( "off" )
+autobind [ 0 locks=0 ] ( "on" )
+bindings [ 0 locks=0 ] ( 0 )
+groupautobind [ 0 locks=0 ] ( "on" )
+groupbindings [ 0 locks=0 ] ( 0 )
+vex_cwdpath [ 0 locks=0 ] ( . )
+vex_outputmask [ 0 locks=0 ] ( * )
+vex_updatenmls [ 0 locks=0 ] ( "off" )
+vex_matchattrib [ 0 locks=0 ] ( id )
+vex_inplace [ 0 locks=0 ] ( "off" )
+vex_selectiongroup [ 0 locks=0 ] ( "" )
+vex_precision [ 0 locks=0 ] ( auto )
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/get_intrinsics.userdata"
+Content-Type: text/plain
+
+{
+ "___Version___":{
+ "type":"string",
+ "value":""
+ }
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/primitivewrangle1.init"
+Content-Type: text/plain
+
+type = attribwrangle
+matchesdef = 1
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/primitivewrangle1.def"
+Content-Type: text/plain
+
+sopflags sopflags =
+comment ""
+position -5.21941 2.52042
+connectornextid 2
+flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
+outputsNamed3
+{
+1 "output1"
+}
+inputsNamed3
+{
+0 attribpromote2 1 1 "input1"
+}
+inputs
+{
+0 attribpromote2 0 1
+}
+stat
+{
+ create 1583691244
+ modify 1584175463
+ author Henry@LAPPY586
+ access 0777
+}
+color UT_Color RGB 0.8 0.8 0.8
+delscript ""
+exprlanguage hscript
+end
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/primitivewrangle1.parm"
+Content-Type: text/plain
+
+{
+version 0.8
+folder0 [ 0 locks=0 ] ( 0 0 )
+group [ 0 locks=0 ] ( @__ingroup==1 )
+grouptype [ 0 locks=0 ] ( "guess" )
+class [ 0 locks=0 ] ( "primitive" )
+vex_numcount [ 0 locks=0 ] ( 10 )
+vex_threadjobsize [ 0 locks=0 ] ( 1024 )
+snippet [ 0 locks=0 ] ( "setprimintrinsic(0, \"pivot\", @elemnum, v@__pivot, \"set\");
+//setprimintrinsic(0, \"transform\", @elemnum, 3@__transform, \"set\");" )
+exportlist [ 0 locks=0 ] ( * )
+vex_strict [ 0 locks=0 ] ( "off" )
+autobind [ 0 locks=0 ] ( "on" )
+bindings [ 0 locks=0 ] ( 0 )
+groupautobind [ 0 locks=0 ] ( "on" )
+groupbindings [ 0 locks=0 ] ( 0 )
+vex_cwdpath [ 0 locks=0 ] ( . )
+vex_outputmask [ 0 locks=0 ] ( * )
+vex_updatenmls [ 0 locks=0 ] ( "off" )
+vex_matchattrib [ 0 locks=0 ] ( id )
+vex_inplace [ 0 locks=0 ] ( "off" )
+vex_selectiongroup [ 0 locks=0 ] ( "" )
+vex_precision [ 0 locks=0 ] ( auto )
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/primitivewrangle1.userdata"
+Content-Type: text/plain
+
+{
+ "___Version___":{
+ "type":"string",
+ "value":""
+ }
+}
+
--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
Content-Disposition: attachment; filename="hdaroot/output1.init"
Content-Type: text/plain
@@ -1010,9 +1174,9 @@ Content-Type: text/plain
sopflags sopflags =
comment ""
-position -3.13514 -0.572196
+position -3.13514 -3.04954
connectornextid 1
-flags = lock off model off template off footprint off xray off bypass off display on render on highlight off unload off savedata off compress on colordefault on exposed on
+flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
outputsNamed3
{
}
@@ -1027,7 +1191,7 @@ inputs
stat
{
create 1524060453
- modify 1575608343
+ modify 1584175498
author Henry@LAPPY586
access 0777
}
@@ -1052,7 +1216,207 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"18.0.287"
+ "value":"18.0.391"
+ }
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/attribpromote1.init"
+Content-Type: text/plain
+
+type = attribpromote
+matchesdef = 0
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/attribpromote1.def"
+Content-Type: text/plain
+
+sopflags sopflags =
+comment ""
+position -5.46996 5.85578
+connectornextid 2
+flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
+outputsNamed3
+{
+1 "output1"
+}
+inputsNamed3
+{
+0 get_intrinsics 1 1 "input1"
+}
+inputs
+{
+0 get_intrinsics 0 1
+}
+stat
+{
+ create 1583691010
+ modify 1583691125
+ author Henry@LAPPY586
+ access 0777
+}
+color UT_Color RGB 0.8 0.8 0.8
+delscript ""
+exprlanguage hscript
+end
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/attribpromote1.parm"
+Content-Type: text/plain
+
+{
+version 0.8
+inname [ 0 locks=0 ] ( "__transform __pivot" )
+inclass [ 0 locks=0 ] ( "primitive" )
+outclass [ 0 locks=0 ] ( "point" )
+usepieceattrib [ 0 locks=0 ] ( "off" )
+pieceattrib [ 0 locks=0 ] ( name )
+method [ 0 locks=0 ] ( "first" )
+useoutname [ 0 locks=0 ] ( "off" )
+outname [ 0 locks=0 ] ( "" )
+deletein [ 0 locks=0 ] ( "on" )
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/attribpromote1.userdata"
+Content-Type: text/plain
+
+{
+ "___Version___":{
+ "type":"string",
+ "value":"18.0.391"
+ }
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/attribpromote2.init"
+Content-Type: text/plain
+
+type = attribpromote
+matchesdef = 0
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/attribpromote2.def"
+Content-Type: text/plain
+
+sopflags sopflags =
+comment ""
+position -5.46996 3.51607
+connectornextid 2
+flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
+outputsNamed3
+{
+1 "output1"
+}
+inputsNamed3
+{
+0 pivot 0 1 "input1"
+}
+inputs
+{
+0 pivot 0 1
+}
+stat
+{
+ create 1583691229
+ modify 1583691285
+ author Henry@LAPPY586
+ access 0777
+}
+color UT_Color RGB 0.8 0.8 0.8
+delscript ""
+exprlanguage hscript
+end
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/attribpromote2.parm"
+Content-Type: text/plain
+
+{
+version 0.8
+inname [ 0 locks=0 ] ( "__transform __pivot __ingroup" )
+inclass [ 0 locks=0 ] ( "point" )
+outclass [ 0 locks=0 ] ( "primitive" )
+usepieceattrib [ 0 locks=0 ] ( "off" )
+pieceattrib [ 0 locks=0 ] ( name )
+method [ 0 locks=0 ] ( "first" )
+useoutname [ 0 locks=0 ] ( "off" )
+outname [ 0 locks=0 ] ( "" )
+deletein [ 0 locks=0 ] ( "on" )
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/attribpromote2.userdata"
+Content-Type: text/plain
+
+{
+ "___Version___":{
+ "type":"string",
+ "value":"18.0.391"
+ }
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/attribdelete1.init"
+Content-Type: text/plain
+
+type = attribdelete
+matchesdef = 1
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/attribdelete1.def"
+Content-Type: text/plain
+
+sopflags sopflags =
+comment ""
+position -5.21986 1.6064
+connectornextid 2
+flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
+outputsNamed3
+{
+1 "output1"
+}
+inputsNamed3
+{
+0 primitivewrangle1 1 1 "input1"
+}
+inputs
+{
+0 primitivewrangle1 0 1
+}
+stat
+{
+ create 1583691341
+ modify 1584175502
+ author Henry@LAPPY586
+ access 0777
+}
+color UT_Color RGB 0.8 0.8 0.8
+delscript ""
+exprlanguage hscript
+end
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/attribdelete1.parm"
+Content-Type: text/plain
+
+{
+version 0.8
+ptdel [ 0 locks=0 ] ( "" )
+vtxdel [ 0 locks=0 ] ( "" )
+primdel [ 0 locks=0 ] ( "__ingroup __pivot __transform" )
+dtldel [ 0 locks=0 ] ( "" )
+updatevar [ 0 locks=0 ] ( "on" )
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/attribdelete1.userdata"
+Content-Type: text/plain
+
+{
+ "___Version___":{
+ "type":"string",
+ "value":""
}
}
@@ -1060,11 +1424,16 @@ Content-Type: text/plain
Content-Disposition: attachment; filename="hdaroot.order"
Content-Type: text/plain
-4
+9
compute_translate
Apply_Attributes1
pivot
output1
+get_intrinsics
+attribpromote1
+attribpromote2
+primitivewrangle1
+attribdelete1
--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
Content-Disposition: attachment; filename="hdaroot.net"
diff --git a/otls/MOPS_transform.hda/MOPS_8_8Sop_1Transform__Modifier_8_81.1/DialogScript b/otls/MOPS_transform.hda/MOPS_8_8Sop_1Transform__Modifier_8_81.1/DialogScript
index d28e581a..9d117bce 100644
--- a/otls/MOPS_transform.hda/MOPS_8_8Sop_1Transform__Modifier_8_81.1/DialogScript
+++ b/otls/MOPS_transform.hda/MOPS_8_8Sop_1Transform__Modifier_8_81.1/DialogScript
@@ -57,7 +57,7 @@
name "ignore_no_falloff"
label "Ignore Zero Falloff Prims"
type toggle
- default { "on" }
+ default { "off" }
disablewhen "{ do_weight == 0 }"
parmtag { "autoscope" "0000000000000000" }
}
@@ -143,6 +143,7 @@
label "Vexpression"
type string
default { "// translate = {0,0,0};\n// rotate = {0,0,0};\n// scale = {1,1,1};\n// pscale = 1;\n// local = 1;" }
+ disablewhen "{ do_vexpression 0 }"
parmtag { "autoscope" "0000000000000000" }
parmtag { "editor" "1" }
parmtag { "editorlang" "vex" }
diff --git a/otls/MOPS_transform.hda/MOPS_8_8Sop_1Transform__Modifier_8_81.1/ExtraFileOptions b/otls/MOPS_transform.hda/MOPS_8_8Sop_1Transform__Modifier_8_81.1/ExtraFileOptions
index e5944c12..05e4edcf 100644
--- a/otls/MOPS_transform.hda/MOPS_8_8Sop_1Transform__Modifier_8_81.1/ExtraFileOptions
+++ b/otls/MOPS_transform.hda/MOPS_8_8Sop_1Transform__Modifier_8_81.1/ExtraFileOptions
@@ -1,7 +1,7 @@
{
"OnCreated/Cursor":{
"type":"intarray",
- "value":[16,9]
+ "value":[16,1]
},
"OnCreated/IsExpr":{
"type":"bool",
@@ -21,7 +21,7 @@
},
"ViewerStateModule/CodeGenInput":{
"type":"string",
- "value":"{\n\t\"state_name\":\"\",\n\t\"state_label\":\"\",\n\t\"state_descr\":\"\",\n\t\"state_icon\":\"$HH/config/Icons\",\n\t\"state_sample\":0,\n\t\"state_handler_indices\":[]\n}\n"
+ "value":"{\n\t\"state_name\":\"\",\n\t\"state_label\":\"\",\n\t\"state_descr\":\"\",\n\t\"state_icon\":\"$HH/config/Icons\",\n\t\"state_debug_menu\":0,\n\t\"state_sample\":0,\n\t\"state_handler_indices\":[]\n}\n"
},
"mops_modifier_02.svg/Cursor":{
"type":"intarray",
diff --git a/otls/MOPS_xplode.hda/INDEX__SECTION b/otls/MOPS_xplode.hda/INDEX__SECTION
index 76572b61..8a372475 100644
--- a/otls/MOPS_xplode.hda/INDEX__SECTION
+++ b/otls/MOPS_xplode.hda/INDEX__SECTION
@@ -10,7 +10,7 @@ Inputs: 1 to 1
Subnet: true
Python: false
Empty: false
-Modified: Fri Dec 21 22:07:18 2018
+Modified: Fri Dec 21 20:07:18 2018
Operator: MOPS::Explode::1.1
Label: MOPs Explode
@@ -24,7 +24,7 @@ Inputs: 1 to 1
Subnet: true
Python: false
Empty: false
-Modified: Tue Jul 23 21:23:31 2019
+Modified: Wed Jul 24 23:23:31 2019
Operator: MOPS::Explode::1.2
Label: MOPs Explode
@@ -38,5 +38,5 @@ Inputs: 1 to 1
Subnet: true
Python: false
Empty: false
-Modified: Fri Nov 8 20:11:49 2019
+Modified: Mon Mar 9 10:13:34 2020
diff --git a/otls/MOPS_xplode.hda/MOPS_8_8Sop_1Explode_8_81.2/Contents.dir/.OPdummydefs b/otls/MOPS_xplode.hda/MOPS_8_8Sop_1Explode_8_81.2/Contents.dir/.OPdummydefs
index 15eef81a..97f94f73 100644
Binary files a/otls/MOPS_xplode.hda/MOPS_8_8Sop_1Explode_8_81.2/Contents.dir/.OPdummydefs and b/otls/MOPS_xplode.hda/MOPS_8_8Sop_1Explode_8_81.2/Contents.dir/.OPdummydefs differ
diff --git a/otls/MOPS_xplode.hda/MOPS_8_8Sop_1Explode_8_81.2/Contents.dir/.OPfallbacks b/otls/MOPS_xplode.hda/MOPS_8_8Sop_1Explode_8_81.2/Contents.dir/.OPfallbacks
index 50e8368a..912136bd 100644
--- a/otls/MOPS_xplode.hda/MOPS_8_8Sop_1Explode_8_81.2/Contents.dir/.OPfallbacks
+++ b/otls/MOPS_xplode.hda/MOPS_8_8Sop_1Explode_8_81.2/Contents.dir/.OPfallbacks
@@ -1,12 +1,12 @@
-MOPS::Sop/Extract_Attributes::1.0 C:/Users/Henry/Projects/VFX/MOPS/otls/MOPS_extractAttributes.hda
+MOPS::Sop/Extract_Attributes::1.0 C:/Users/Henry/Projects/VFX/MOPS_Prime/otls/MOPS_extractAttributes.hda
MOPS::Sop/Extract_Attributes::1.0 otls/MOPS_extractAttributes.hda
-MOPS::Sop/Reorient::1.1 C:/Users/Henry/Projects/VFX/MOPS/otls/MOPS_Reorient.hda
+MOPS::Sop/Reorient::1.1 C:/Users/Henry/Projects/VFX/MOPS_Prime/otls/MOPS_Reorient.hda
MOPS::Sop/Reorient::1.1 otls/MOPS_Reorient.hda
-MOPS::Sop/Visualize_Frame::1.0 C:/Users/Henry/Projects/VFX/MOPS/otls/MOPS_Visualize_Frame.hda
+MOPS::Sop/Visualize_Frame::1.0 C:/Users/Henry/Projects/VFX/MOPS_Prime/otls/MOPS_Visualize_Frame.hda
MOPS::Sop/Visualize_Frame::1.0 otls/MOPS_Visualize_Frame.hda
-Sop/attribdelete C:/PROGRA~1/SIDEEF~1/HOUDIN~1.229/houdini/otls/OPlibSop.hda
+Sop/attribdelete C:/PROGRA~1/SIDEEF~1/HOUDIN~1.391/houdini/otls/OPlibSop.hda
Sop/attribdelete otls/OPlibSop.hda
-Sop/attribwrangle C:/PROGRA~1/SIDEEF~1/HOUDIN~1.229/houdini/otls/OPlibSop.hda
+Sop/attribwrangle C:/PROGRA~1/SIDEEF~1/HOUDIN~1.391/houdini/otls/OPlibSop.hda
Sop/attribwrangle otls/OPlibSop.hda
-Sop/color C:/PROGRA~1/SIDEEF~1/HOUDIN~1.229/houdini/otls/OPlibSop.hda
+Sop/color C:/PROGRA~1/SIDEEF~1/HOUDIN~1.391/houdini/otls/OPlibSop.hda
Sop/color otls/OPlibSop.hda
diff --git a/otls/MOPS_xplode.hda/MOPS_8_8Sop_1Explode_8_81.2/Contents.dir/Contents.mime b/otls/MOPS_xplode.hda/MOPS_8_8Sop_1Explode_8_81.2/Contents.dir/Contents.mime
index c68387fd..af21da91 100644
--- a/otls/MOPS_xplode.hda/MOPS_8_8Sop_1Explode_8_81.2/Contents.dir/Contents.mime
+++ b/otls/MOPS_xplode.hda/MOPS_8_8Sop_1Explode_8_81.2/Contents.dir/Contents.mime
@@ -32,23 +32,26 @@ Content-Type: text/plain
sopflags sopflags =
comment ""
-position -62.1989 74.4205
-connectornextid 0
+position -12.1875 -3.52328
+connectornextid 2
flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
outputsNamed3
{
+1 "output1"
}
inputsNamed3
{
+0 MOPs_Orient_Mesh1 1 1 "input1"
}
inputs
{
+0 MOPs_Orient_Mesh1 0 1
}
stat
{
- create 1573272243
- modify 1573272429
- author Henry@LAPPY586
+ create 1583605184
+ modify 1583616357
+ author herna@DESKTOP-6E8O9KU
access 0777
}
color UT_Color RGB 0.8 0.8 0.8
@@ -72,7 +75,7 @@ Content-Disposition: attachment; filename="hdaroot.inp"
Content-Type: text/plain
1
-0 1.1376000204890966 13.522589916383595 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
+0 0.99040133261912477 17.496954488872834 2 0 __NO_OWNER_NETWORK_BOX__ "FROMOUTPUT"
--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
Content-Disposition: attachment; filename="hdaroot/__stickynote1.postitinit"
@@ -88,7 +91,7 @@ Content-Type: text/plain
text "for each cluster, average the prim normal and assign it to each output prim using mops reorient
N is recomputed post-splitting. polyframe doesn't seem to compute good normals on individual faces, so the Normal SOP is used afterwards to correct for this."
-position 3.29182 -11.1194
+position 13.088 -10.3266
size 5.44284 6.32756
flags = minimize off
stat
@@ -102,39 +105,39 @@ color UT_Color RGB 1 0.969 0.522
end
--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
-Content-Disposition: attachment; filename="hdaroot/set_name_and_id.init"
+Content-Disposition: attachment; filename="hdaroot/set__id.init"
Content-Type: text/plain
type = attribwrangle
matchesdef = 1
--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
-Content-Disposition: attachment; filename="hdaroot/set_name_and_id.def"
+Content-Disposition: attachment; filename="hdaroot/set__id.def"
Content-Type: text/plain
sopflags sopflags =
comment ""
-position -1.98019 -4.90673
+position -2.60553 -4.7479
connectornextid 3
-flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
+flags = lock off model off template off footprint off xray off bypass on display off render off highlight off unload off savedata off compress on colordefault on exposed on
outputsNamed3
{
1 "output1"
}
inputsNamed3
{
-0 move_to_CoM 1 1 "input1"
+0 foreach_begin1 0 1 "input1"
2 foreach_begin1_metadata1 0 1 "input2"
}
inputs
{
-0 move_to_CoM 0 1
+0 foreach_begin1 0 1
1 foreach_begin1_metadata1 0 1
}
stat
{
create 1547174411
- modify 1573272243
+ modify 1583615492
author Henry@LAPPY586
access 0777
}
@@ -144,7 +147,7 @@ exprlanguage hscript
end
--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
-Content-Disposition: attachment; filename="hdaroot/set_name_and_id.spareparmdef"
+Content-Disposition: attachment; filename="hdaroot/set__id.spareparmdef"
Content-Type: text/plain
group {
@@ -156,7 +159,7 @@ Content-Type: text/plain
baseparm
label "Group"
export none
- bindselector uvselect "Modify Points"
+ bindselector points "Modify Points"
"Select the points to affect and press Enter to complete."
0 1 0xffffffff 0 grouptype 0
}
@@ -315,9 +318,15 @@ Content-Type: text/plain
type string
default { "" }
}
+ parm {
+ name "vex_precision"
+ baseparm
+ label "VEX Precision"
+ export none
+ }
--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
-Content-Disposition: attachment; filename="hdaroot/set_name_and_id.chn"
+Content-Disposition: attachment; filename="hdaroot/set__id.chn"
Content-Type: text/plain
{
@@ -337,7 +346,7 @@ Content-Type: text/plain
}
--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
-Content-Disposition: attachment; filename="hdaroot/set_name_and_id.parm"
+Content-Disposition: attachment; filename="hdaroot/set__id.parm"
Content-Type: text/plain
{
@@ -350,9 +359,7 @@ vex_numcount [ 0 locks=0 ] ( 10 )
vex_threadjobsize [ 0 locks=0 ] ( 1024 )
snippet [ 0 locks=0 ] ( "int id_offset = chi(\"id_offset\");
i@id = detail(1, \"iteration\") + id_offset;
-// set piece name for fragments
-string prefix = chs(\"name_prefix\");
-s@name = sprintf(\"%s%d\", prefix, i@id);" )
+" )
exportlist [ 0 locks=0 ] ( * )
vex_strict [ 0 locks=0 ] ( "off" )
autobind [ 0 locks=0 ] ( "on" )
@@ -365,13 +372,14 @@ vex_updatenmls [ 0 locks=0 ] ( "off" )
vex_matchattrib [ 0 locks=0 ] ( id )
vex_inplace [ 0 locks=0 ] ( "off" )
vex_selectiongroup [ 0 locks=0 ] ( "" )
+vex_precision [ 0 locks=0 ] ( auto )
folder1 [ 0 locks=0 ] ( 0 0 )
id_offset [ 0 locks=0 ] ( [ id_offset 0 ] )
name_prefix [ 0 locks=0 ] ( [ name_prefix piece ] )
}
--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
-Content-Disposition: attachment; filename="hdaroot/set_name_and_id.userdata"
+Content-Disposition: attachment; filename="hdaroot/set__id.userdata"
Content-Type: text/plain
{
@@ -394,7 +402,7 @@ Content-Type: text/plain
sopflags sopflags =
comment ""
-position 1.23317 -32.0141
+position 1.05612 -37.3798
connectornextid 3
flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
outputsNamed3
@@ -414,7 +422,7 @@ inputs
stat
{
create 1563913439
- modify 1573272243
+ modify 1583615492
author Henry@LAPPY586
access 0777
}
@@ -505,116 +513,37 @@ Content-Type: text/plain
}
--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
-Content-Disposition: attachment; filename="hdaroot/move_to_CoM.init"
-Content-Type: text/plain
-
-type = attribwrangle
-matchesdef = 1
-
---HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
-Content-Disposition: attachment; filename="hdaroot/move_to_CoM.def"
-Content-Type: text/plain
-
-sopflags sopflags =
-comment ""
-position -2.60548 -4.09214
-connectornextid 2
-flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
-outputsNamed3
-{
-1 "output1"
-}
-inputsNamed3
-{
-0 attribpromote2 1 1 "input1"
-}
-inputs
-{
-0 attribpromote2 0 1
-}
-stat
-{
- create 1547267571
- modify 1573272243
- author Henry@LAPPY586
- access 0777
-}
-color UT_Color RGB 0.8 0.8 0.8
-delscript ""
-exprlanguage hscript
-end
-
---HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
-Content-Disposition: attachment; filename="hdaroot/move_to_CoM.parm"
-Content-Type: text/plain
-
-{
-version 0.8
-folder0 [ 0 locks=0 ] ( 0 0 )
-group [ 0 locks=0 ] ( "" )
-grouptype [ 0 locks=0 ] ( "guess" )
-class [ 0 locks=0 ] ( "point" )
-vex_numcount [ 0 locks=0 ] ( 10 )
-vex_threadjobsize [ 0 locks=0 ] ( 1024 )
-snippet [ 0 locks=0 ] ( "v@centerofmass = detail(0, \"centerofmass\");
-@P -= v@centerofmass;" )
-exportlist [ 0 locks=0 ] ( * )
-vex_strict [ 0 locks=0 ] ( "off" )
-autobind [ 0 locks=0 ] ( "on" )
-bindings [ 0 locks=0 ] ( 0 )
-groupautobind [ 0 locks=0 ] ( "on" )
-groupbindings [ 0 locks=0 ] ( 0 )
-vex_cwdpath [ 0 locks=0 ] ( . )
-vex_outputmask [ 0 locks=0 ] ( * )
-vex_updatenmls [ 0 locks=0 ] ( "off" )
-vex_matchattrib [ 0 locks=0 ] ( id )
-vex_inplace [ 0 locks=0 ] ( "off" )
-vex_selectiongroup [ 0 locks=0 ] ( "" )
-}
-
---HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
-Content-Disposition: attachment; filename="hdaroot/move_to_CoM.userdata"
-Content-Type: text/plain
-
-{
- "___Version___":{
- "type":"string",
- "value":""
- }
-}
-
---HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
-Content-Disposition: attachment; filename="hdaroot/do_custom_up.init"
+Content-Disposition: attachment; filename="hdaroot/compute_orient.init"
Content-Type: text/plain
type = attribwrangle
matchesdef = 1
--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
-Content-Disposition: attachment; filename="hdaroot/do_custom_up.def"
+Content-Disposition: attachment; filename="hdaroot/compute_orient.def"
Content-Type: text/plain
sopflags sopflags =
comment ""
-position 5.08053 10.5175
+position 3.22277 12.3437
connectornextid 2
-flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
+flags = lock off model off template off footprint off xray off bypass off display on render on highlight off unload off savedata off compress on colordefault on exposed on
outputsNamed3
{
1 "output1"
}
inputsNamed3
{
-0 polyframe1 1 1 "input1"
+0 do_compute_N_up 2 1 "input1"
}
inputs
{
-0 polyframe1 0 1
+0 do_compute_N_up 0 1
}
stat
{
- create 1547416819
- modify 1573272243
+ create 1547417473
+ modify 1583616027
author Henry@LAPPY586
access 0777
}
@@ -624,7 +553,7 @@ exprlanguage hscript
end
--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
-Content-Disposition: attachment; filename="hdaroot/do_custom_up.spareparmdef"
+Content-Disposition: attachment; filename="hdaroot/compute_orient.spareparmdef"
Content-Type: text/plain
group {
@@ -636,7 +565,7 @@ Content-Type: text/plain
baseparm
label "Group"
export none
- bindselector uvselect "Modify Points"
+ bindselector points "Modify Points"
"Select the points to affect and press Enter to complete."
0 1 0xffffffff 0 grouptype 0
}
@@ -783,55 +712,47 @@ Content-Type: text/plain
}
parm {
- name "do_up"
- label "Do Up"
+ name "invert_N"
+ label "Invert N"
type integer
default { "0" }
range { 0 10 }
}
parm {
- name "custom_up_vector"
- label "Custom Up Vector"
- type vector
- size 3
- default { "0" "0" "0" }
- range { 0 1 }
+ name "invert_up"
+ label "Invert Up"
+ type integer
+ default { "0" }
+ range { 0 10 }
+ }
+ parm {
+ name "vex_precision"
+ baseparm
+ label "VEX Precision"
+ export none
}
--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
-Content-Disposition: attachment; filename="hdaroot/do_custom_up.chn"
+Content-Disposition: attachment; filename="hdaroot/compute_orient.chn"
Content-Type: text/plain
{
- channel do_up {
- lefttype = extend
- righttype = extend
- flags = 0
- segment { length = 0 expr = ch(\"../do_up\") }
- }
- channel custom_up_vectorx {
- lefttype = extend
- righttype = extend
- flags = 0
- segment { length = 0 expr = ch(\"../custom_up_vectorx\") }
- }
- channel custom_up_vectory {
+ channel invert_N {
lefttype = extend
righttype = extend
- default = 1
flags = 0
- segment { length = 0 value = 1 1 expr = ch(\"../custom_up_vectory\") }
+ segment { length = 0 expr = ch(\"../invert_N\") }
}
- channel custom_up_vectorz {
+ channel invert_up {
lefttype = extend
righttype = extend
flags = 0
- segment { length = 0 expr = ch(\"../custom_up_vectorz\") }
+ segment { length = 0 expr = ch(\"../invert_up\") }
}
}
--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
-Content-Disposition: attachment; filename="hdaroot/do_custom_up.parm"
+Content-Disposition: attachment; filename="hdaroot/compute_orient.parm"
Content-Type: text/plain
{
@@ -842,9 +763,15 @@ grouptype [ 0 locks=0 ] ( "guess" )
class [ 0 locks=0 ] ( "point" )
vex_numcount [ 0 locks=0 ] ( 10 )
vex_threadjobsize [ 0 locks=0 ] ( 1024 )
-snippet [ 0 locks=0 ] ( "if(chi(\"do_up\")) {
- v@up = chv(\"custom_up_vector\");
-}" )
+snippet [ 0 locks=0 ] ( "vector N = v@N;
+vector up = v@up;
+if(chi(\"invert_N\")) {
+ v@N *= -1;
+}
+if(chi(\"invert_up\")) {
+ v@up *= -1;
+}
+p@orient = quaternion(maketransform(v@N, v@up));" )
exportlist [ 0 locks=0 ] ( * )
vex_strict [ 0 locks=0 ] ( "off" )
autobind [ 0 locks=0 ] ( "on" )
@@ -857,13 +784,14 @@ vex_updatenmls [ 0 locks=0 ] ( "off" )
vex_matchattrib [ 0 locks=0 ] ( id )
vex_inplace [ 0 locks=0 ] ( "off" )
vex_selectiongroup [ 0 locks=0 ] ( "" )
+vex_precision [ 0 locks=0 ] ( auto )
folder1 [ 0 locks=0 ] ( 0 0 )
-do_up [ 0 locks=0 ] ( [ do_up 0 ] )
-custom_up_vector [ 0 locks=0 ] ( [ custom_up_vectorx 0 ] [ custom_up_vectory 1 ] [ custom_up_vectorz 0 ] )
+invert_N [ 0 locks=0 ] ( [ invert_N 0 ] )
+invert_up [ 0 locks=0 ] ( [ invert_up 0 ] )
}
--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
-Content-Disposition: attachment; filename="hdaroot/do_custom_up.userdata"
+Content-Disposition: attachment; filename="hdaroot/compute_orient.userdata"
Content-Type: text/plain
{
@@ -874,19 +802,19 @@ Content-Type: text/plain
}
--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
-Content-Disposition: attachment; filename="hdaroot/compute_orient.init"
+Content-Disposition: attachment; filename="hdaroot/define_initial_clusters.init"
Content-Type: text/plain
type = attribwrangle
matchesdef = 1
--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
-Content-Disposition: attachment; filename="hdaroot/compute_orient.def"
+Content-Disposition: attachment; filename="hdaroot/define_initial_clusters.def"
Content-Type: text/plain
sopflags sopflags =
comment ""
-position 3.36997 9.11728
+position -3.02481 9.63148
connectornextid 2
flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
outputsNamed3
@@ -895,16 +823,16 @@ outputsNamed3
}
inputsNamed3
{
-0 do_compute_N_up 2 1 "input1"
+0 do_compute_orient 1 1 "input1"
}
inputs
{
-0 do_compute_N_up 0 1
+0 do_compute_orient 0 1
}
stat
{
- create 1547417473
- modify 1573272243
+ create 1547418484
+ modify 1583615492
author Henry@LAPPY586
access 0777
}
@@ -914,7 +842,7 @@ exprlanguage hscript
end
--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
-Content-Disposition: attachment; filename="hdaroot/compute_orient.spareparmdef"
+Content-Disposition: attachment; filename="hdaroot/define_initial_clusters.spareparmdef"
Content-Type: text/plain
group {
@@ -926,7 +854,7 @@ Content-Type: text/plain
baseparm
label "Group"
export none
- bindselector uvselect "Modify Points"
+ bindselector points "Modify Points"
"Select the points to affect and press Enter to complete."
0 1 0xffffffff 0 grouptype 0
}
@@ -1073,41 +1001,47 @@ Content-Type: text/plain
}
parm {
- name "invert_N"
- label "Invert N"
+ name "use_piece_attribute"
+ label "Use Piece Attribute"
type integer
default { "0" }
range { 0 10 }
}
parm {
- name "invert_up"
- label "Invert Up"
- type integer
- default { "0" }
- range { 0 10 }
+ name "piece_attribute"
+ label "Piece Attribute"
+ type string
+ default { "" }
+ }
+ parm {
+ name "vex_precision"
+ baseparm
+ label "VEX Precision"
+ export none
}
--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
-Content-Disposition: attachment; filename="hdaroot/compute_orient.chn"
+Content-Disposition: attachment; filename="hdaroot/define_initial_clusters.chn"
Content-Type: text/plain
{
- channel invert_N {
+ channel piece_attribute {
lefttype = extend
righttype = extend
+ defaultString = \"\"
flags = 0
- segment { length = 0 expr = ch(\"../invert_N\") }
+ segment { length = 0 expr = chs(\"../piece_attribute\") }
}
- channel invert_up {
+ channel use_piece_attribute {
lefttype = extend
righttype = extend
flags = 0
- segment { length = 0 expr = ch(\"../invert_up\") }
+ segment { length = 0 expr = ch(\"../piece_method\")==1 }
}
}
--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
-Content-Disposition: attachment; filename="hdaroot/compute_orient.parm"
+Content-Disposition: attachment; filename="hdaroot/define_initial_clusters.parm"
Content-Type: text/plain
{
@@ -1115,18 +1049,17 @@ version 0.8
folder0 [ 0 locks=0 ] ( 0 0 )
group [ 0 locks=0 ] ( "" )
grouptype [ 0 locks=0 ] ( "guess" )
-class [ 0 locks=0 ] ( "point" )
+class [ 0 locks=0 ] ( "primitive" )
vex_numcount [ 0 locks=0 ] ( 10 )
vex_threadjobsize [ 0 locks=0 ] ( 1024 )
-snippet [ 0 locks=0 ] ( "vector N = v@N;
-vector up = v@up;
-if(chi(\"invert_N\")) {
- N *= -1;
-}
-if(chi(\"invert_up\")) {
- up *= -1;
-}
-p@orient = quaternion(maketransform(v@N, v@up));" )
+snippet [ 0 locks=0 ] ( "i@__cluster = @primnum;
+if(chi(\"use_piece_attribute\")) {
+ if(primattribtype(0, \"`chs(\"piece_attribute\")`\") == 2){
+ i@__cluster = random_shash(prim(0, \"`chs(\"piece_attribute\")`\", @primnum));
+ } else{
+ i@__cluster = prim(0, \"`chs(\"piece_attribute\")`\", @primnum);
+ }
+}" )
exportlist [ 0 locks=0 ] ( * )
vex_strict [ 0 locks=0 ] ( "off" )
autobind [ 0 locks=0 ] ( "on" )
@@ -1139,13 +1072,14 @@ vex_updatenmls [ 0 locks=0 ] ( "off" )
vex_matchattrib [ 0 locks=0 ] ( id )
vex_inplace [ 0 locks=0 ] ( "off" )
vex_selectiongroup [ 0 locks=0 ] ( "" )
+vex_precision [ 0 locks=0 ] ( auto )
folder1 [ 0 locks=0 ] ( 0 0 )
-invert_N [ 0 locks=0 ] ( [ invert_N 0 ] )
-invert_up [ 0 locks=0 ] ( [ invert_up 0 ] )
+use_piece_attribute [ 0 locks=0 ] ( [ use_piece_attribute 0 ] )
+piece_attribute [ 0 locks=0 ] ( [ piece_attribute name ] )
}
--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
-Content-Disposition: attachment; filename="hdaroot/compute_orient.userdata"
+Content-Disposition: attachment; filename="hdaroot/define_initial_clusters.userdata"
Content-Type: text/plain
{
@@ -1156,19 +1090,19 @@ Content-Type: text/plain
}
--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
-Content-Disposition: attachment; filename="hdaroot/define_initial_clusters.init"
+Content-Disposition: attachment; filename="hdaroot/pointwrangle1.init"
Content-Type: text/plain
type = attribwrangle
matchesdef = 1
--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
-Content-Disposition: attachment; filename="hdaroot/define_initial_clusters.def"
+Content-Disposition: attachment; filename="hdaroot/pointwrangle1.def"
Content-Type: text/plain
sopflags sopflags =
comment ""
-position -2.87761 5.91731
+position -1.13576 -32.5813
connectornextid 2
flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
outputsNamed3
@@ -1177,16 +1111,16 @@ outputsNamed3
}
inputsNamed3
{
-0 do_compute_orient 1 1 "input1"
+0 pack1 1 1 "input1"
}
inputs
{
-0 do_compute_orient 0 1
+0 pack1 0 1
}
stat
{
- create 1547418484
- modify 1573272243
+ create 1547605135
+ modify 1583615492
author Henry@LAPPY586
access 0777
}
@@ -1196,261 +1130,155 @@ exprlanguage hscript
end
--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
-Content-Disposition: attachment; filename="hdaroot/define_initial_clusters.spareparmdef"
+Content-Disposition: attachment; filename="hdaroot/pointwrangle1.parm"
Content-Type: text/plain
- group {
- name "folder1"
- label "Code"
+{
+version 0.8
+folder0 [ 0 locks=0 ] ( 0 0 )
+group [ 0 locks=0 ] ( "" )
+grouptype [ 0 locks=0 ] ( "guess" )
+class [ 0 locks=0 ] ( "point" )
+vex_numcount [ 0 locks=0 ] ( 10 )
+vex_threadjobsize [ 0 locks=0 ] ( 1024 )
+snippet [ 0 locks=0 ] ( "@P += v@centerofmass;" )
+exportlist [ 0 locks=0 ] ( * )
+vex_strict [ 0 locks=0 ] ( "off" )
+autobind [ 0 locks=0 ] ( "on" )
+bindings [ 0 locks=0 ] ( 0 )
+groupautobind [ 0 locks=0 ] ( "on" )
+groupbindings [ 0 locks=0 ] ( 0 )
+vex_cwdpath [ 0 locks=0 ] ( . )
+vex_outputmask [ 0 locks=0 ] ( * )
+vex_updatenmls [ 0 locks=0 ] ( "off" )
+vex_matchattrib [ 0 locks=0 ] ( id )
+vex_inplace [ 0 locks=0 ] ( "off" )
+vex_selectiongroup [ 0 locks=0 ] ( "" )
+vex_precision [ 0 locks=0 ] ( auto )
+}
- parm {
- name "group"
- baseparm
- label "Group"
- export none
- bindselector uvselect "Modify Points"
- "Select the points to affect and press Enter to complete."
- 0 1 0xffffffff 0 grouptype 0
- }
- parm {
- name "grouptype"
- baseparm
- label "Group Type"
- export none
- }
- parm {
- name "class"
- baseparm
- label "Run Over"
- export none
- }
- parm {
- name "vex_numcount"
- baseparm
- label "Number Count"
- export none
- }
- parm {
- name "vex_threadjobsize"
- baseparm
- label "Thread Job Size"
- export none
- }
- parm {
- name "snippet"
- baseparm
- label "VEXpression"
- export all
- }
- parm {
- name "exportlist"
- baseparm
- label "Attributes to Create"
- export none
- }
- parm {
- name "vex_strict"
- baseparm
- label "Enforce Prototypes"
- export none
- }
- }
-
- group {
- name "folder1_1"
- label "Bindings"
-
- parm {
- name "autobind"
- baseparm
- label "Autobind by Name"
- export none
- }
- multiparm {
- name "bindings"
- label "Number of Bindings"
- baseparm
- default 0
- parmtag { "autoscope" "0000000000000000" }
- parmtag { "multistartoffset" "1" }
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/pointwrangle1.userdata"
+Content-Type: text/plain
- parm {
- name "bindname#"
- baseparm
- label "Attribute Name"
- export none
- }
- parm {
- name "bindparm#"
- baseparm
- label "VEX Parameter"
- export none
- }
- }
+{
+ "___Version___":{
+ "type":"string",
+ "value":""
+ }
+}
- parm {
- name "groupautobind"
- baseparm
- label "Autobind Groups by Name"
- export none
- }
- multiparm {
- name "groupbindings"
- label "Group Bindings"
- baseparm
- default 0
- parmtag { "autoscope" "0000000000000000" }
- parmtag { "multistartoffset" "1" }
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/color1.init"
+Content-Type: text/plain
- parm {
- name "bindgroupname#"
- baseparm
- label "Group Name"
- export none
- }
- parm {
- name "bindgroupparm#"
- baseparm
- label "VEX Parameter"
- export none
- }
- }
+type = color
+matchesdef = 1
- parm {
- name "vex_cwdpath"
- baseparm
- label "Evaluation Node Path"
- export none
- }
- parm {
- name "vex_outputmask"
- baseparm
- label "Export Parameters"
- export none
- }
- parm {
- name "vex_updatenmls"
- baseparm
- label "Update Normals If Displaced"
- export none
- }
- parm {
- name "vex_matchattrib"
- baseparm
- label "Attribute to Match"
- export none
- }
- parm {
- name "vex_inplace"
- baseparm
- label "Compute Results In Place"
- export none
- }
- parm {
- name "vex_selectiongroup"
- baseparm
- label "Output Selection Group"
- export none
- }
- }
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/color1.def"
+Content-Type: text/plain
- parm {
- name "use_piece_attribute"
- label "Use Piece Attribute"
- type integer
- default { "0" }
- range { 0 10 }
- }
- parm {
- name "piece_attribute"
- label "Piece Attribute"
- type string
- default { "" }
- }
+sopflags sopflags =
+comment ""
+position 0.0923631 -24.8482
+connectornextid 2
+flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
+outputsNamed3
+{
+1 "output1"
+}
+inputsNamed3
+{
+0 attribwrangle1 1 1 "input1"
+}
+inputs
+{
+0 attribwrangle1 0 1
+}
+stat
+{
+ create 1547423262
+ modify 1583615492
+ author Henry@LAPPY586
+ access 0777
+}
+color UT_Color RGB 0.8 0.8 0.8
+delscript ""
+exprlanguage hscript
+end
--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
-Content-Disposition: attachment; filename="hdaroot/define_initial_clusters.chn"
+Content-Disposition: attachment; filename="hdaroot/color1.chn"
Content-Type: text/plain
{
- channel piece_attribute {
- lefttype = extend
- righttype = extend
- defaultString = \"\"
- flags = 0
- segment { length = 0 expr = chs(\"../piece_attribute\") }
- }
- channel use_piece_attribute {
+ channel seed {
lefttype = extend
righttype = extend
flags = 0
- segment { length = 0 expr = ch(\"../piece_method\")==1 }
+ segment { length = 0 expr = ch(\"../viz_seed\") }
}
}
--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
-Content-Disposition: attachment; filename="hdaroot/define_initial_clusters.parm"
+Content-Disposition: attachment; filename="hdaroot/color1.parm"
Content-Type: text/plain
{
version 0.8
-folder0 [ 0 locks=0 ] ( 0 0 )
group [ 0 locks=0 ] ( "" )
grouptype [ 0 locks=0 ] ( "guess" )
-class [ 0 locks=0 ] ( "primitive" )
-vex_numcount [ 0 locks=0 ] ( 10 )
-vex_threadjobsize [ 0 locks=0 ] ( 1024 )
-snippet [ 0 locks=0 ] ( "i@__cluster = @primnum;
-if(chi(\"use_piece_attribute\")) {
- if(primattribtype(0, \"`chs(\"piece_attribute\")`\") == 2){
- i@__cluster = random_shash(prim(0, \"`chs(\"piece_attribute\")`\", @primnum));
- } else{
- i@__cluster = prim(0, \"`chs(\"piece_attribute\")`\", @primnum);
- }
-}" )
-exportlist [ 0 locks=0 ] ( * )
-vex_strict [ 0 locks=0 ] ( "off" )
-autobind [ 0 locks=0 ] ( "on" )
-bindings [ 0 locks=0 ] ( 0 )
-groupautobind [ 0 locks=0 ] ( "on" )
-groupbindings [ 0 locks=0 ] ( 0 )
-vex_cwdpath [ 0 locks=0 ] ( . )
-vex_outputmask [ 0 locks=0 ] ( * )
-vex_updatenmls [ 0 locks=0 ] ( "off" )
-vex_matchattrib [ 0 locks=0 ] ( id )
-vex_inplace [ 0 locks=0 ] ( "off" )
-vex_selectiongroup [ 0 locks=0 ] ( "" )
-folder1 [ 0 locks=0 ] ( 0 0 )
-use_piece_attribute [ 0 locks=0 ] ( [ use_piece_attribute 0 ] )
-piece_attribute [ 0 locks=0 ] ( [ piece_attribute name ] )
+deleteallcolorattribs [ 0 locks=0 ] ( "off" )
+class [ 0 locks=0 ] ( 1 )
+colortype [ 0 locks=0 ] ( 4 )
+color [ 0 locks=0 ] ( 1 1 1 )
+seed [ 0 locks=0 ] ( [ seed 0 ] )
+rampattribute [ 0 locks=0 ] ( id )
+ramprange [ 0 locks=0 ] ( 0 1 )
+ramp [ 0 locks=0 ] ( 2 )
+ramp1pos [ 0 locks=0 ] ( 0 )
+ramp1c [ 0 locks=0 ] ( 0 0 0 )
+ramp1interp [ 0 locks=0 ] ( "linear" )
+ramp2pos [ 0 locks=0 ] ( 1 )
+ramp2c [ 0 locks=0 ] ( 1 1 1 )
+ramp2interp [ 0 locks=0 ] ( "linear" )
}
--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
-Content-Disposition: attachment; filename="hdaroot/define_initial_clusters.userdata"
+Content-Disposition: attachment; filename="hdaroot/color1.userdata"
Content-Type: text/plain
{
"___Version___":{
"type":"string",
"value":""
+ },
+ "___toolcount___":{
+ "type":"string",
+ "value":"2"
+ },
+ "___toolid___":{
+ "type":"string",
+ "value":"sop_color"
}
}
--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
-Content-Disposition: attachment; filename="hdaroot/pointwrangle1.init"
+Content-Disposition: attachment; filename="hdaroot/primitivewrangle1.init"
Content-Type: text/plain
type = attribwrangle
matchesdef = 1
--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
-Content-Disposition: attachment; filename="hdaroot/pointwrangle1.def"
+Content-Disposition: attachment; filename="hdaroot/primitivewrangle1.def"
Content-Type: text/plain
sopflags sopflags =
comment ""
-position -0.95871 -27.2156
-connectornextid 2
+position 4.13562 7.37017
+connectornextid 3
flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
outputsNamed3
{
@@ -1458,182 +1286,8 @@ outputsNamed3
}
inputsNamed3
{
-0 pack1 1 1 "input1"
-}
-inputs
-{
-0 pack1 0 1
-}
-stat
-{
- create 1547605135
- modify 1573272243
- author Henry@LAPPY586
- access 0777
-}
-color UT_Color RGB 0.8 0.8 0.8
-delscript ""
-exprlanguage hscript
-end
-
---HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
-Content-Disposition: attachment; filename="hdaroot/pointwrangle1.parm"
-Content-Type: text/plain
-
-{
-version 0.8
-folder0 [ 0 locks=0 ] ( 0 0 )
-group [ 0 locks=0 ] ( "" )
-grouptype [ 0 locks=0 ] ( "guess" )
-class [ 0 locks=0 ] ( "point" )
-vex_numcount [ 0 locks=0 ] ( 10 )
-vex_threadjobsize [ 0 locks=0 ] ( 1024 )
-snippet [ 0 locks=0 ] ( "@P += v@centerofmass;" )
-exportlist [ 0 locks=0 ] ( * )
-vex_strict [ 0 locks=0 ] ( "off" )
-autobind [ 0 locks=0 ] ( "on" )
-bindings [ 0 locks=0 ] ( 0 )
-groupautobind [ 0 locks=0 ] ( "on" )
-groupbindings [ 0 locks=0 ] ( 0 )
-vex_cwdpath [ 0 locks=0 ] ( . )
-vex_outputmask [ 0 locks=0 ] ( * )
-vex_updatenmls [ 0 locks=0 ] ( "off" )
-vex_matchattrib [ 0 locks=0 ] ( id )
-vex_inplace [ 0 locks=0 ] ( "off" )
-vex_selectiongroup [ 0 locks=0 ] ( "" )
-}
-
---HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
-Content-Disposition: attachment; filename="hdaroot/pointwrangle1.userdata"
-Content-Type: text/plain
-
-{
- "___Version___":{
- "type":"string",
- "value":""
- }
-}
-
---HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
-Content-Disposition: attachment; filename="hdaroot/color1.init"
-Content-Type: text/plain
-
-type = color
-matchesdef = 1
-
---HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
-Content-Disposition: attachment; filename="hdaroot/color1.def"
-Content-Type: text/plain
-
-sopflags sopflags =
-comment ""
-position -0.028971 -22.1532
-connectornextid 2
-flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
-outputsNamed3
-{
-1 "output1"
-}
-inputsNamed3
-{
-0 compile_end1 1 1 "input1"
-}
-inputs
-{
-0 compile_end1 0 1
-}
-stat
-{
- create 1547423262
- modify 1573272243
- author Henry@LAPPY586
- access 0777
-}
-color UT_Color RGB 0.8 0.8 0.8
-delscript ""
-exprlanguage hscript
-end
-
---HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
-Content-Disposition: attachment; filename="hdaroot/color1.chn"
-Content-Type: text/plain
-
-{
- channel seed {
- lefttype = extend
- righttype = extend
- flags = 0
- segment { length = 0 expr = ch(\"../viz_seed\") }
- }
- }
-
---HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
-Content-Disposition: attachment; filename="hdaroot/color1.parm"
-Content-Type: text/plain
-
-{
-version 0.8
-group [ 0 locks=0 ] ( "" )
-grouptype [ 0 locks=0 ] ( "guess" )
-deleteallcolorattribs [ 0 locks=0 ] ( "off" )
-class [ 0 locks=0 ] ( 1 )
-colortype [ 0 locks=0 ] ( 4 )
-color [ 0 locks=0 ] ( 1 1 1 )
-seed [ 0 locks=0 ] ( [ seed 0 ] )
-rampattribute [ 0 locks=0 ] ( id )
-ramprange [ 0 locks=0 ] ( 0 1 )
-ramp [ 0 locks=0 ] ( 2 )
-ramp1pos [ 0 locks=0 ] ( 0 )
-ramp1c [ 0 locks=0 ] ( 0 0 0 )
-ramp1interp [ 0 locks=0 ] ( "linear" )
-ramp2pos [ 0 locks=0 ] ( 1 )
-ramp2c [ 0 locks=0 ] ( 1 1 1 )
-ramp2interp [ 0 locks=0 ] ( "linear" )
-}
-
---HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
-Content-Disposition: attachment; filename="hdaroot/color1.userdata"
-Content-Type: text/plain
-
-{
- "___Version___":{
- "type":"string",
- "value":""
- },
- "___toolcount___":{
- "type":"string",
- "value":"2"
- },
- "___toolid___":{
- "type":"string",
- "value":"sop_color"
- }
-}
-
---HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
-Content-Disposition: attachment; filename="hdaroot/primitivewrangle1.init"
-Content-Type: text/plain
-
-type = attribwrangle
-matchesdef = 1
-
---HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
-Content-Disposition: attachment; filename="hdaroot/primitivewrangle1.def"
-Content-Type: text/plain
-
-sopflags sopflags =
-comment ""
-position 4.28282 3.656
-connectornextid 3
-flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
-outputsNamed3
-{
-1 "output1"
-}
-inputsNamed3
-{
-0 foreach_begin2 0 1 "input1"
-2 foreach_begin2_metadata1 0 1 "input2"
+0 foreach_begin2 0 1 "input1"
+2 foreach_begin2_metadata1 0 1 "input2"
}
inputs
{
@@ -1643,7 +1297,7 @@ inputs
stat
{
create 1555048732
- modify 1573272243
+ modify 1583615492
author Henry@LAPPY586
access 0777
}
@@ -1677,6 +1331,7 @@ vex_updatenmls [ 0 locks=0 ] ( "off" )
vex_matchattrib [ 0 locks=0 ] ( id )
vex_inplace [ 0 locks=0 ] ( "off" )
vex_selectiongroup [ 0 locks=0 ] ( "" )
+vex_precision [ 0 locks=0 ] ( auto )
}
--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
@@ -1703,7 +1358,7 @@ Content-Type: text/plain
sopflags sopflags =
comment ""
-position 1.23017 -35.3266
+position 1.05312 -40.6923
connectornextid 2
flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
outputsNamed3
@@ -1721,7 +1376,7 @@ inputs
stat
{
create 1555387902
- modify 1573272243
+ modify 1583774008
author Henry@LAPPY586
access 0777
}
@@ -1742,7 +1397,8 @@ grouptype [ 0 locks=0 ] ( "guess" )
class [ 0 locks=0 ] ( "point" )
vex_numcount [ 0 locks=0 ] ( 10 )
vex_threadjobsize [ 0 locks=0 ] ( 1024 )
-snippet [ 0 locks=0 ] ( "f@mops_falloff = 1;" )
+snippet [ 0 locks=0 ] ( "f@mops_falloff = 1;
+v@rest = @P;" )
exportlist [ 0 locks=0 ] ( * )
vex_strict [ 0 locks=0 ] ( "off" )
autobind [ 0 locks=0 ] ( "on" )
@@ -1755,6 +1411,7 @@ vex_updatenmls [ 0 locks=0 ] ( "off" )
vex_matchattrib [ 0 locks=0 ] ( id )
vex_inplace [ 0 locks=0 ] ( "off" )
vex_selectiongroup [ 0 locks=0 ] ( "" )
+vex_precision [ 0 locks=0 ] ( auto )
}
--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
@@ -1781,7 +1438,7 @@ Content-Type: text/plain
sopflags sopflags =
comment ""
-position 5.22566 -32.0141
+position 5.04861 -37.3798
connectornextid 2
flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
outputsNamed3
@@ -1799,7 +1456,7 @@ inputs
stat
{
create 1563896564
- modify 1563926813
+ modify 1583615492
author Henry@LAPPY586
access 0777
}
@@ -1859,7 +1516,7 @@ Content-Type: text/plain
sopflags sopflags =
comment ""
-position 5.11757 -30.9371
+position 4.94052 -36.3028
connectornextid 2
flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
outputsNamed3
@@ -1877,7 +1534,7 @@ inputs
stat
{
create 1563913738
- modify 1573272243
+ modify 1583615492
author Henry@LAPPY586
access 0777
}
@@ -1912,6 +1569,7 @@ vex_updatenmls [ 0 locks=0 ] ( "off" )
vex_matchattrib [ 0 locks=0 ] ( id )
vex_inplace [ 0 locks=0 ] ( "off" )
vex_selectiongroup [ 0 locks=0 ] ( "" )
+vex_precision [ 0 locks=0 ] ( auto )
}
--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
@@ -1926,37 +1584,37 @@ Content-Type: text/plain
}
--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
-Content-Disposition: attachment; filename="hdaroot/do_custom_up1.init"
+Content-Disposition: attachment; filename="hdaroot/compute_orient1.init"
Content-Type: text/plain
type = attribwrangle
matchesdef = 1
--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
-Content-Disposition: attachment; filename="hdaroot/do_custom_up1.def"
+Content-Disposition: attachment; filename="hdaroot/compute_orient1.def"
Content-Type: text/plain
sopflags sopflags =
comment ""
-position -0.793545 -9.12992
+position -2.1061 -12.7816
connectornextid 2
-flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
+flags = lock off model off template off footprint off xray off bypass on display off render off highlight off unload off savedata off compress on colordefault on exposed on
outputsNamed3
{
1 "output1"
}
inputsNamed3
{
-0 normal2 1 1 "input1"
+0 do_compute_N_up1 2 1 "input1"
}
inputs
{
-0 normal2 0 1
+0 do_compute_N_up1 0 1
}
stat
{
- create 1547416819
- modify 1573272243
+ create 1547417473
+ modify 1583615492
author Henry@LAPPY586
access 0777
}
@@ -1966,7 +1624,7 @@ exprlanguage hscript
end
--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
-Content-Disposition: attachment; filename="hdaroot/do_custom_up1.spareparmdef"
+Content-Disposition: attachment; filename="hdaroot/compute_orient1.spareparmdef"
Content-Type: text/plain
group {
@@ -1978,7 +1636,7 @@ Content-Type: text/plain
baseparm
label "Group"
export none
- bindselector uvselect "Modify Points"
+ bindselector points "Modify Points"
"Select the points to affect and press Enter to complete."
0 1 0xffffffff 0 grouptype 0
}
@@ -2125,55 +1783,47 @@ Content-Type: text/plain
}
parm {
- name "do_up"
- label "Do Up"
+ name "invert_N"
+ label "Invert N"
type integer
default { "0" }
range { 0 10 }
}
parm {
- name "custom_up_vector"
- label "Custom Up Vector"
- type vector
- size 3
- default { "0" "0" "0" }
- range { 0 1 }
+ name "invert_up"
+ label "Invert Up"
+ type integer
+ default { "0" }
+ range { 0 10 }
+ }
+ parm {
+ name "vex_precision"
+ baseparm
+ label "VEX Precision"
+ export none
}
--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
-Content-Disposition: attachment; filename="hdaroot/do_custom_up1.chn"
+Content-Disposition: attachment; filename="hdaroot/compute_orient1.chn"
Content-Type: text/plain
{
- channel do_up {
- lefttype = extend
- righttype = extend
- flags = 0
- segment { length = 0 expr = ch(\"../do_up\") }
- }
- channel custom_up_vectorx {
- lefttype = extend
- righttype = extend
- flags = 0
- segment { length = 0 expr = ch(\"../custom_up_vectorx\") }
- }
- channel custom_up_vectory {
+ channel invert_N {
lefttype = extend
righttype = extend
- default = 1
flags = 0
- segment { length = 0 value = 1 1 expr = ch(\"../custom_up_vectory\") }
+ segment { length = 0 expr = ch(\"../invert_N\") }
}
- channel custom_up_vectorz {
+ channel invert_up {
lefttype = extend
righttype = extend
flags = 0
- segment { length = 0 expr = ch(\"../custom_up_vectorz\") }
+ segment { length = 0 expr = ch(\"../invert_up\") }
}
}
--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
-Content-Disposition: attachment; filename="hdaroot/do_custom_up1.parm"
+Content-Disposition: attachment; filename="hdaroot/compute_orient1.parm"
Content-Type: text/plain
{
@@ -2184,9 +1834,15 @@ grouptype [ 0 locks=0 ] ( "guess" )
class [ 0 locks=0 ] ( "point" )
vex_numcount [ 0 locks=0 ] ( 10 )
vex_threadjobsize [ 0 locks=0 ] ( 1024 )
-snippet [ 0 locks=0 ] ( "if(chi(\"do_up\")) {
- v@up = chv(\"custom_up_vector\");
-}" )
+snippet [ 0 locks=0 ] ( "vector N = v@N;
+vector up = v@up;
+if(chi(\"invert_N\")) {
+ N *= -1;
+}
+if(chi(\"invert_up\")) {
+ up *= -1;
+}
+p@orient = quaternion(maketransform(v@N, v@up));" )
exportlist [ 0 locks=0 ] ( * )
vex_strict [ 0 locks=0 ] ( "off" )
autobind [ 0 locks=0 ] ( "on" )
@@ -2199,13 +1855,14 @@ vex_updatenmls [ 0 locks=0 ] ( "off" )
vex_matchattrib [ 0 locks=0 ] ( id )
vex_inplace [ 0 locks=0 ] ( "off" )
vex_selectiongroup [ 0 locks=0 ] ( "" )
+vex_precision [ 0 locks=0 ] ( auto )
folder1 [ 0 locks=0 ] ( 0 0 )
-do_up [ 0 locks=0 ] ( [ do_up 0 ] )
-custom_up_vector [ 0 locks=0 ] ( [ custom_up_vectorx 0 ] [ custom_up_vectory 1 ] [ custom_up_vectorz 0 ] )
+invert_N [ 0 locks=0 ] ( [ invert_N 0 ] )
+invert_up [ 0 locks=0 ] ( [ invert_up 0 ] )
}
--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
-Content-Disposition: attachment; filename="hdaroot/do_custom_up1.userdata"
+Content-Disposition: attachment; filename="hdaroot/compute_orient1.userdata"
Content-Type: text/plain
{
@@ -2216,37 +1873,36 @@ Content-Type: text/plain
}
--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
-Content-Disposition: attachment; filename="hdaroot/compute_orient1.init"
+Content-Disposition: attachment; filename="hdaroot/MOPs_Visualize_Frame.init"
Content-Type: text/plain
-type = attribwrangle
+type = MOPS::Visualize_Frame::1.0
matchesdef = 1
--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
-Content-Disposition: attachment; filename="hdaroot/compute_orient1.def"
+Content-Disposition: attachment; filename="hdaroot/MOPs_Visualize_Frame.def"
Content-Type: text/plain
sopflags sopflags =
comment ""
-position -2.07694 -11.0815
-connectornextid 2
+position -2.37969 -40.2339
+connectornextid 1
flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
outputsNamed3
{
-1 "output1"
}
inputsNamed3
{
-0 do_compute_N_up1 2 1 "input1"
+0 switch_orient_method 1 1 "input1"
}
inputs
{
-0 do_compute_N_up1 0 1
+0 switch_orient_method 0 1
}
stat
{
- create 1547417473
- modify 1573272243
+ create 1563925514
+ modify 1583615492
author Henry@LAPPY586
access 0777
}
@@ -2256,368 +1912,87 @@ exprlanguage hscript
end
--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
-Content-Disposition: attachment; filename="hdaroot/compute_orient1.spareparmdef"
+Content-Disposition: attachment; filename="hdaroot/MOPs_Visualize_Frame.spareparmdef"
Content-Type: text/plain
- group {
- name "folder1"
- label "Code"
-
- parm {
- name "group"
- baseparm
- label "Group"
- export none
- bindselector uvselect "Modify Points"
- "Select the points to affect and press Enter to complete."
- 0 1 0xffffffff 0 grouptype 0
- }
- parm {
- name "grouptype"
- baseparm
- label "Group Type"
- export none
- }
- parm {
- name "class"
- baseparm
- label "Run Over"
- export none
- }
- parm {
- name "vex_numcount"
- baseparm
- label "Number Count"
- export none
- }
- parm {
- name "vex_threadjobsize"
- baseparm
- label "Thread Job Size"
- export none
- }
- parm {
- name "snippet"
- baseparm
- label "VEXpression"
- export all
- }
- parm {
- name "exportlist"
- baseparm
- label "Attributes to Create"
- export none
- }
- parm {
- name "vex_strict"
- baseparm
- label "Enforce Prototypes"
- export none
- }
+ parm {
+ name "scale"
+ baseparm
+ label "Length Scale"
+ export none
}
+ parm {
+ name "node_vis_enabled"
+ label "Visualization Enabled"
+ type toggle
+ invisible
+ default { "1" }
+ }
+ multiparm {
+ name "num_visualizers"
+ label "Visualizers"
+ invisible
+ default 0
+ parmtag { "multistartoffset" "0" }
- group {
- name "folder1_1"
- label "Bindings"
-
- parm {
- name "autobind"
- baseparm
- label "Autobind by Name"
- export none
- }
- multiparm {
- name "bindings"
- label "Number of Bindings"
- baseparm
- default 0
- parmtag { "autoscope" "0000000000000000" }
- parmtag { "multistartoffset" "1" }
-
- parm {
- name "bindname#"
- baseparm
- label "Attribute Name"
- export none
- }
- parm {
- name "bindparm#"
- baseparm
- label "VEX Parameter"
- export none
- }
- }
-
- parm {
- name "groupautobind"
- baseparm
- label "Autobind Groups by Name"
- export none
- }
- multiparm {
- name "groupbindings"
- label "Group Bindings"
- baseparm
- default 0
- parmtag { "autoscope" "0000000000000000" }
- parmtag { "multistartoffset" "1" }
-
- parm {
- name "bindgroupname#"
- baseparm
- label "Group Name"
- export none
- }
- parm {
- name "bindgroupparm#"
- baseparm
- label "VEX Parameter"
- export none
- }
- }
-
- parm {
- name "vex_cwdpath"
- baseparm
- label "Evaluation Node Path"
- export none
- }
- parm {
- name "vex_outputmask"
- baseparm
- label "Export Parameters"
- export none
- }
- parm {
- name "vex_updatenmls"
- baseparm
- label "Update Normals If Displaced"
- export none
- }
- parm {
- name "vex_matchattrib"
- baseparm
- label "Attribute to Match"
- export none
- }
parm {
- name "vex_inplace"
- baseparm
- label "Compute Results In Place"
- export none
+ name "vis_active#"
+ label "Active #"
+ type toggle
+ invisible
+ default { "0" }
}
parm {
- name "vex_selectiongroup"
- baseparm
- label "Output Selection Group"
- export none
+ name "vis_data#"
+ label "Raw Data #"
+ type string
+ invisible
+ nolabel
+ default { "" }
+ parmtag { "editor" "1" }
}
}
- parm {
- name "invert_N"
- label "Invert N"
- type integer
- default { "0" }
- range { 0 10 }
- }
- parm {
- name "invert_up"
- label "Invert Up"
- type integer
- default { "0" }
- range { 0 10 }
- }
-
---HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
-Content-Disposition: attachment; filename="hdaroot/compute_orient1.chn"
-Content-Type: text/plain
-
-{
- channel invert_N {
- lefttype = extend
- righttype = extend
- flags = 0
- segment { length = 0 expr = ch(\"../invert_N\") }
- }
- channel invert_up {
- lefttype = extend
- righttype = extend
- flags = 0
- segment { length = 0 expr = ch(\"../invert_up\") }
- }
- }
--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
-Content-Disposition: attachment; filename="hdaroot/compute_orient1.parm"
+Content-Disposition: attachment; filename="hdaroot/MOPs_Visualize_Frame.parm"
Content-Type: text/plain
{
version 0.8
-folder0 [ 0 locks=0 ] ( 0 0 )
-group [ 0 locks=0 ] ( "" )
-grouptype [ 0 locks=0 ] ( "guess" )
-class [ 0 locks=0 ] ( "point" )
-vex_numcount [ 0 locks=0 ] ( 10 )
-vex_threadjobsize [ 0 locks=0 ] ( 1024 )
-snippet [ 0 locks=0 ] ( "vector N = v@N;
-vector up = v@up;
-if(chi(\"invert_N\")) {
- N *= -1;
-}
-if(chi(\"invert_up\")) {
- up *= -1;
-}
-p@orient = quaternion(maketransform(v@N, v@up));" )
-exportlist [ 0 locks=0 ] ( * )
-vex_strict [ 0 locks=0 ] ( "off" )
-autobind [ 0 locks=0 ] ( "on" )
-bindings [ 0 locks=0 ] ( 0 )
-groupautobind [ 0 locks=0 ] ( "on" )
-groupbindings [ 0 locks=0 ] ( 0 )
-vex_cwdpath [ 0 locks=0 ] ( . )
-vex_outputmask [ 0 locks=0 ] ( * )
-vex_updatenmls [ 0 locks=0 ] ( "off" )
-vex_matchattrib [ 0 locks=0 ] ( id )
-vex_inplace [ 0 locks=0 ] ( "off" )
-vex_selectiongroup [ 0 locks=0 ] ( "" )
-folder1 [ 0 locks=0 ] ( 0 0 )
-invert_N [ 0 locks=0 ] ( [ invert_N 0 ] )
-invert_up [ 0 locks=0 ] ( [ invert_up 0 ] )
-}
-
---HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
-Content-Disposition: attachment; filename="hdaroot/compute_orient1.userdata"
-Content-Type: text/plain
-
-{
- "___Version___":{
- "type":"string",
- "value":""
- }
-}
-
---HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
-Content-Disposition: attachment; filename="hdaroot/MOPs_Visualize_Frame.init"
-Content-Type: text/plain
-
-type = MOPS::Visualize_Frame::1.0
-matchesdef = 1
-
---HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
-Content-Disposition: attachment; filename="hdaroot/MOPs_Visualize_Frame.def"
-Content-Type: text/plain
-
-sopflags sopflags =
-comment ""
-position -2.20264 -34.8682
-connectornextid 1
-flags = lock off model off template off footprint off xray off bypass off display on render on highlight off unload off savedata off compress on colordefault on exposed on
-outputsNamed3
-{
-}
-inputsNamed3
-{
-0 switch_orient_method 1 1 "input1"
-}
-inputs
-{
-0 switch_orient_method 0 1
-}
-stat
-{
- create 1563925514
- modify 1563927193
- author Henry@LAPPY586
- access 0777
-}
-color UT_Color RGB 0.8 0.8 0.8
-delscript ""
-exprlanguage hscript
-end
-
---HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
-Content-Disposition: attachment; filename="hdaroot/MOPs_Visualize_Frame.spareparmdef"
-Content-Type: text/plain
-
- parm {
- name "scale"
- baseparm
- label "Length Scale"
- export none
- }
- parm {
- name "node_vis_enabled"
- label "Visualization Enabled"
- type toggle
- invisible
- default { "1" }
- }
- multiparm {
- name "num_visualizers"
- label "Visualizers"
- invisible
- default 0
- parmtag { "multistartoffset" "0" }
-
- parm {
- name "vis_active#"
- label "Active #"
- type toggle
- invisible
- default { "0" }
- }
- parm {
- name "vis_data#"
- label "Raw Data #"
- type string
- invisible
- nolabel
- default { "" }
- parmtag { "editor" "1" }
- }
- }
-
-
---HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
-Content-Disposition: attachment; filename="hdaroot/MOPs_Visualize_Frame.parm"
-Content-Type: text/plain
-
-{
-version 0.8
-scale [ 0 locks=0 ] ( 0.46000000000000002 )
-node_vis_enabled [ 0 locks=0 ] ( "on" )
-num_visualizers [ 0 locks=0 ] ( 3 )
-vis_active0 [ 0 locks=0 ] ( "on" )
-vis_data0 [ 0 locks=0 ] ( "{
- \"flags\":{
- \"type\":\"int\",
- \"value\":27
- },
- \"icon\":{
- \"type\":\"string\",
- \"value\":\"VIEW_visualization_marker\"
- },
- \"label\":{
- \"type\":\"string\",
- \"value\":\"Marker 1\"
- },
- \"name\":{
- \"type\":\"string\",
- \"value\":\"vis_marker_1\"
- },
- \"parameters\":{
- \"type\":\"string\",
- \"value\":\"{\\nversion 0.8\\nstyle\\t[ 0\\tlocks=0 ]\\t(\\t\\\"vector\\\"\\t)\\nclass\\t[ 0\\tlocks=0 ]\\t(\\t\\\"auto\\\"\\t)\\nattrib\\t[ 0\\tlocks=0 ]\\t(\\tN\\t)\\nvisibility\\t[ 0\\tlocks=0 ]\\t(\\t\\\"always\\\"\\t)\\ndecorradius\\t[ 0\\tlocks=0 ]\\t(\\t0.5\\t)\\ngroup\\t[ 0\\tlocks=0 ]\\t(\\t\\\"\\\"\\t)\\npointsize\\t[ 0\\tlocks=0 ]\\t(\\t3\\t)\\nlengthscale\\t[ 0\\tlocks=0 ]\\t(\\t0.46000000000000002\\t)\\nunitlength\\t[ 0\\tlocks=0 ]\\t(\\t1\\t)\\nnormalize\\t[ 0\\tlocks=0 ]\\t(\\t\\\"off\\\"\\t)\\narrowheads\\t[ 0\\tlocks=0 ]\\t(\\t\\\"off\\\"\\t)\\nvectorcoloring\\t[ 0\\tlocks=0 ]\\t(\\t\\\"fixed\\\"\\t)\\ncolorattrib\\t[ 0\\tlocks=0 ]\\t(\\tCd\\t)\\nramptype\\t[ 0\\tlocks=0 ]\\t(\\t\\\"false\\\"\\t)\\ncolorramp\\t[ 0\\tlocks=0 ]\\t(\\t2\\t)\\nrangespec\\t[ 0\\tlocks=0 ]\\t(\\t\\\"min-max\\\"\\t)\\nminscalar\\t[ 0\\tlocks=0 ]\\t(\\t0\\t)\\nmaxscalar\\t[ 0\\tlocks=0 ]\\t(\\t1\\t)\\ncenterscalar\\t[ 0\\tlocks=0 ]\\t(\\t0\\t)\\nwidthscalar\\t[ 0\\tlocks=0 ]\\t(\\t1\\t)\\nclamptype\\t[ 0\\tlocks=0 ]\\t(\\t\\\"edge\\\"\\t)\\ntreatasscalar\\t[ 0\\tlocks=0 ]\\t(\\t\\\"off\\\"\\t)\\nusing\\t[ 0\\tlocks=0 ]\\t(\\t\\\"comp\\\"\\t)\\ncomponent\\t[ 0\\tlocks=0 ]\\t(\\t0\\t)\\nrefvec\\t[ 0\\tlocks=0 ]\\t(\\t0\\t1\\t0\\t)\\nmarkercolor\\t[ 0\\tlocks=0 ]\\t(\\t0\\t0\\t1\\t1\\t)\\ntrail\\t[ 0\\tlocks=0 ]\\t(\\t1\\t1\\t0\\t0.5\\t)\\ntextcolor\\t[ 0\\tlocks=0 ]\\t(\\t0.25\\t0.75\\t0.75\\t)\\nfontsize\\t[ 0\\tlocks=0 ]\\t(\\t\\\"guidefont\\\"\\t)\\nxcolor\\t[ 0\\tlocks=0 ]\\t(\\t1\\t0\\t0\\t1\\t)\\nycolor\\t[ 0\\tlocks=0 ]\\t(\\t0\\t1\\t0\\t1\\t)\\nzcolor\\t[ 0\\tlocks=0 ]\\t(\\t0\\t0\\t1\\t1\\t)\\ncolorramp1pos\\t[ 0\\tlocks=0 ]\\t(\\t0\\t)\\ncolorramp1c\\t[ 0\\tlocks=0 ]\\t(\\t0\\t0\\t1\\t)\\ncolorramp1interp\\t[ 0\\tlocks=0 ]\\t(\\t\\\"linear\\\"\\t)\\ncolorramp2pos\\t[ 0\\tlocks=0 ]\\t(\\t1\\t)\\ncolorramp2c\\t[ 0\\tlocks=0 ]\\t(\\t1\\t0\\t0\\t)\\ncolorramp2interp\\t[ 0\\tlocks=0 ]\\t(\\t\\\"linear\\\"\\t)\\n}\\n\"},
-
- \"scope\":{
- \"type\":\"int\",
- \"value\":2
- },
- \"type\":{
- \"type\":\"string\",
- \"value\":\"vis_marker\"
- }
+scale [ 0 locks=0 ] ( 0.46000000000000002 )
+node_vis_enabled [ 0 locks=0 ] ( "on" )
+num_visualizers [ 0 locks=0 ] ( 3 )
+vis_active0 [ 0 locks=0 ] ( "on" )
+vis_data0 [ 0 locks=0 ] ( "{
+ \"flags\":{
+ \"type\":\"int\",
+ \"value\":27
+ },
+ \"icon\":{
+ \"type\":\"string\",
+ \"value\":\"VIEW_visualization_marker\"
+ },
+ \"label\":{
+ \"type\":\"string\",
+ \"value\":\"Marker 1\"
+ },
+ \"name\":{
+ \"type\":\"string\",
+ \"value\":\"vis_marker_1\"
+ },
+ \"parameters\":{
+ \"type\":\"string\",
+ \"value\":\"{\\nversion 0.8\\nstyle\\t[ 0\\tlocks=0 ]\\t(\\t\\\"vector\\\"\\t)\\nclass\\t[ 0\\tlocks=0 ]\\t(\\t\\\"auto\\\"\\t)\\nattrib\\t[ 0\\tlocks=0 ]\\t(\\tN\\t)\\nvisibility\\t[ 0\\tlocks=0 ]\\t(\\t\\\"always\\\"\\t)\\ndecorradius\\t[ 0\\tlocks=0 ]\\t(\\t0.5\\t)\\ngroup\\t[ 0\\tlocks=0 ]\\t(\\t\\\"\\\"\\t)\\npointsize\\t[ 0\\tlocks=0 ]\\t(\\t3\\t)\\nlengthscale\\t[ 0\\tlocks=0 ]\\t(\\t0.46000000000000002\\t)\\nunitlength\\t[ 0\\tlocks=0 ]\\t(\\t1\\t)\\nnormalize\\t[ 0\\tlocks=0 ]\\t(\\t\\\"off\\\"\\t)\\narrowheads\\t[ 0\\tlocks=0 ]\\t(\\t\\\"off\\\"\\t)\\nvectorcoloring\\t[ 0\\tlocks=0 ]\\t(\\t\\\"fixed\\\"\\t)\\ncolorattrib\\t[ 0\\tlocks=0 ]\\t(\\tCd\\t)\\nramptype\\t[ 0\\tlocks=0 ]\\t(\\t\\\"false\\\"\\t)\\ncolorramp\\t[ 0\\tlocks=0 ]\\t(\\t2\\t)\\nrangespec\\t[ 0\\tlocks=0 ]\\t(\\t\\\"min-max\\\"\\t)\\nminscalar\\t[ 0\\tlocks=0 ]\\t(\\t0\\t)\\nmaxscalar\\t[ 0\\tlocks=0 ]\\t(\\t1\\t)\\ncenterscalar\\t[ 0\\tlocks=0 ]\\t(\\t0\\t)\\nwidthscalar\\t[ 0\\tlocks=0 ]\\t(\\t1\\t)\\nclamptype\\t[ 0\\tlocks=0 ]\\t(\\t\\\"edge\\\"\\t)\\ntreatasscalar\\t[ 0\\tlocks=0 ]\\t(\\t\\\"off\\\"\\t)\\nusing\\t[ 0\\tlocks=0 ]\\t(\\t\\\"comp\\\"\\t)\\ncomponent\\t[ 0\\tlocks=0 ]\\t(\\t0\\t)\\nrefvec\\t[ 0\\tlocks=0 ]\\t(\\t0\\t1\\t0\\t)\\nmarkercolor\\t[ 0\\tlocks=0 ]\\t(\\t0\\t0\\t1\\t1\\t)\\ntrail\\t[ 0\\tlocks=0 ]\\t(\\t1\\t1\\t0\\t0.5\\t)\\ntextcolor\\t[ 0\\tlocks=0 ]\\t(\\t0.25\\t0.75\\t0.75\\t)\\nfontsize\\t[ 0\\tlocks=0 ]\\t(\\t\\\"guidefont\\\"\\t)\\nxcolor\\t[ 0\\tlocks=0 ]\\t(\\t1\\t0\\t0\\t1\\t)\\nycolor\\t[ 0\\tlocks=0 ]\\t(\\t0\\t1\\t0\\t1\\t)\\nzcolor\\t[ 0\\tlocks=0 ]\\t(\\t0\\t0\\t1\\t1\\t)\\ncolorramp1pos\\t[ 0\\tlocks=0 ]\\t(\\t0\\t)\\ncolorramp1c\\t[ 0\\tlocks=0 ]\\t(\\t0\\t0\\t1\\t)\\ncolorramp1interp\\t[ 0\\tlocks=0 ]\\t(\\t\\\"linear\\\"\\t)\\ncolorramp2pos\\t[ 0\\tlocks=0 ]\\t(\\t1\\t)\\ncolorramp2c\\t[ 0\\tlocks=0 ]\\t(\\t1\\t0\\t0\\t)\\ncolorramp2interp\\t[ 0\\tlocks=0 ]\\t(\\t\\\"linear\\\"\\t)\\n}\\n\"},
+
+ \"scope\":{
+ \"type\":\"int\",
+ \"value\":2
+ },
+ \"type\":{
+ \"type\":\"string\",
+ \"value\":\"vis_marker\"
+ }
}
" )
vis_active1 [ 0 locks=0 ] ( "on" )
@@ -2687,7 +2062,959 @@ vis_data2 [ 0 locks=0 ] ( "{
}
--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
-Content-Disposition: attachment; filename="hdaroot/MOPs_Visualize_Frame.userdata"
+Content-Disposition: attachment; filename="hdaroot/MOPs_Visualize_Frame.userdata"
+Content-Type: text/plain
+
+{
+ "___Version___":{
+ "type":"string",
+ "value":""
+ }
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/pointwrangle4.init"
+Content-Type: text/plain
+
+type = attribwrangle
+matchesdef = 1
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/pointwrangle4.def"
+Content-Type: text/plain
+
+sopflags sopflags =
+comment ""
+position -1.13576 -30.413
+connectornextid 2
+flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
+outputsNamed3
+{
+1 "output1"
+}
+inputsNamed3
+{
+0 attribpromote9 1 1 "input1"
+}
+inputs
+{
+0 attribpromote9 0 1
+}
+stat
+{
+ create 1583613803
+ modify 1583615492
+ author Henry@LAPPY586
+ access 0777
+}
+color UT_Color RGB 0.8 0.8 0.8
+delscript ""
+exprlanguage hscript
+end
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/pointwrangle4.parm"
+Content-Type: text/plain
+
+{
+version 0.8
+folder0 [ 0 locks=0 ] ( 0 0 )
+group [ 0 locks=0 ] ( "" )
+grouptype [ 0 locks=0 ] ( "guess" )
+class [ 0 locks=0 ] ( "point" )
+vex_numcount [ 0 locks=0 ] ( 10 )
+vex_threadjobsize [ 0 locks=0 ] ( 1024 )
+snippet [ 0 locks=0 ] ( "@P -= v@centerofmass;" )
+exportlist [ 0 locks=0 ] ( * )
+vex_strict [ 0 locks=0 ] ( "off" )
+autobind [ 0 locks=0 ] ( "on" )
+bindings [ 0 locks=0 ] ( 0 )
+groupautobind [ 0 locks=0 ] ( "on" )
+groupbindings [ 0 locks=0 ] ( 0 )
+vex_cwdpath [ 0 locks=0 ] ( . )
+vex_outputmask [ 0 locks=0 ] ( * )
+vex_updatenmls [ 0 locks=0 ] ( "off" )
+vex_matchattrib [ 0 locks=0 ] ( id )
+vex_inplace [ 0 locks=0 ] ( "off" )
+vex_selectiongroup [ 0 locks=0 ] ( "" )
+vex_precision [ 0 locks=0 ] ( auto )
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/pointwrangle4.userdata"
+Content-Type: text/plain
+
+{
+ "___Version___":{
+ "type":"string",
+ "value":""
+ }
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/pointwrangle5.init"
+Content-Type: text/plain
+
+type = attribwrangle
+matchesdef = 1
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/pointwrangle5.def"
+Content-Type: text/plain
+
+sopflags sopflags =
+comment ""
+position -2.84288 0.813568
+connectornextid 2
+flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
+outputsNamed3
+{
+1 "output1"
+}
+inputsNamed3
+{
+0 null1 1 1 "input1"
+}
+inputs
+{
+0 null1 0 1
+}
+stat
+{
+ create 1583614435
+ modify 1583615742
+ author Henry@LAPPY586
+ access 0777
+}
+color UT_Color RGB 0.8 0.8 0.8
+delscript ""
+exprlanguage hscript
+end
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/pointwrangle5.spareparmdef"
+Content-Type: text/plain
+
+ group {
+ name "folder1"
+ label "Code"
+
+ parm {
+ name "group"
+ baseparm
+ label "Group"
+ export none
+ bindselector points "Modify Points"
+ "Select the points to affect and press Enter to complete."
+ 0 1 0xffffffff 0 grouptype 0
+ }
+ parm {
+ name "grouptype"
+ baseparm
+ label "Group Type"
+ export none
+ }
+ parm {
+ name "class"
+ baseparm
+ label "Run Over"
+ export none
+ }
+ parm {
+ name "vex_numcount"
+ baseparm
+ label "Number Count"
+ export none
+ }
+ parm {
+ name "vex_threadjobsize"
+ baseparm
+ label "Thread Job Size"
+ export none
+ }
+ parm {
+ name "snippet"
+ baseparm
+ label "VEXpression"
+ export all
+ }
+ parm {
+ name "exportlist"
+ baseparm
+ label "Attributes to Create"
+ export none
+ }
+ parm {
+ name "vex_strict"
+ baseparm
+ label "Enforce Prototypes"
+ export none
+ }
+ }
+
+ group {
+ name "folder1_1"
+ label "Bindings"
+
+ parm {
+ name "autobind"
+ baseparm
+ label "Autobind by Name"
+ export none
+ }
+ multiparm {
+ name "bindings"
+ label "Number of Bindings"
+ baseparm
+ default 0
+ parmtag { "autoscope" "0000000000000000" }
+ parmtag { "multistartoffset" "1" }
+
+ parm {
+ name "bindname#"
+ baseparm
+ label "Attribute Name"
+ export none
+ }
+ parm {
+ name "bindparm#"
+ baseparm
+ label "VEX Parameter"
+ export none
+ }
+ }
+
+ parm {
+ name "groupautobind"
+ baseparm
+ label "Autobind Groups by Name"
+ export none
+ }
+ multiparm {
+ name "groupbindings"
+ label "Group Bindings"
+ baseparm
+ default 0
+ parmtag { "autoscope" "0000000000000000" }
+ parmtag { "multistartoffset" "1" }
+
+ parm {
+ name "bindgroupname#"
+ baseparm
+ label "Group Name"
+ export none
+ }
+ parm {
+ name "bindgroupparm#"
+ baseparm
+ label "VEX Parameter"
+ export none
+ }
+ }
+
+ parm {
+ name "vex_cwdpath"
+ baseparm
+ label "Evaluation Node Path"
+ export none
+ }
+ parm {
+ name "vex_outputmask"
+ baseparm
+ label "Export Parameters"
+ export none
+ }
+ parm {
+ name "vex_updatenmls"
+ baseparm
+ label "Update Normals If Displaced"
+ export none
+ }
+ parm {
+ name "vex_matchattrib"
+ baseparm
+ label "Attribute to Match"
+ export none
+ }
+ parm {
+ name "vex_inplace"
+ baseparm
+ label "Compute Results In Place"
+ export none
+ }
+ parm {
+ name "vex_selectiongroup"
+ baseparm
+ label "Output Selection Group"
+ export none
+ }
+ parm {
+ name "vex_precision"
+ baseparm
+ label "VEX Precision"
+ export none
+ }
+ }
+
+ parm {
+ name "up"
+ label "Up"
+ type vector
+ size 3
+ default { "0" "0" "0" }
+ range { 0 1 }
+ }
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/pointwrangle5.chn"
+Content-Type: text/plain
+
+{
+ channel upx {
+ lefttype = extend
+ righttype = extend
+ flags = 0
+ start = 41.666666666666664
+ segment { length = 0 expr = ch(\"../custom_up_vectorx\") }
+ }
+ channel upy {
+ lefttype = extend
+ righttype = extend
+ flags = 0
+ start = 41.666666666666664
+ segment { length = 0 expr = ch(\"../custom_up_vectory\") }
+ }
+ channel upz {
+ lefttype = extend
+ righttype = extend
+ flags = 0
+ start = 41.666666666666664
+ segment { length = 0 expr = ch(\"../custom_up_vectorz\") }
+ }
+ }
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/pointwrangle5.parm"
+Content-Type: text/plain
+
+{
+version 0.8
+folder0 [ 0 locks=0 ] ( 0 0 )
+group [ 0 locks=0 ] ( "" )
+grouptype [ 0 locks=0 ] ( "guess" )
+class [ 0 locks=0 ] ( "point" )
+vex_numcount [ 0 locks=0 ] ( 10 )
+vex_threadjobsize [ 0 locks=0 ] ( 1024 )
+snippet [ 0 locks=0 ] ( "v@__uniform_up = chv(\"up\");" )
+exportlist [ 0 locks=0 ] ( * )
+vex_strict [ 0 locks=0 ] ( "off" )
+autobind [ 0 locks=0 ] ( "on" )
+bindings [ 0 locks=0 ] ( 0 )
+groupautobind [ 0 locks=0 ] ( "on" )
+groupbindings [ 0 locks=0 ] ( 0 )
+vex_cwdpath [ 0 locks=0 ] ( . )
+vex_outputmask [ 0 locks=0 ] ( * )
+vex_updatenmls [ 0 locks=0 ] ( "off" )
+vex_matchattrib [ 0 locks=0 ] ( id )
+vex_inplace [ 0 locks=0 ] ( "off" )
+vex_selectiongroup [ 0 locks=0 ] ( "" )
+vex_precision [ 0 locks=0 ] ( auto )
+folder1 [ 0 locks=0 ] ( 0 0 )
+up [ 8 locks=0 ] ( [ upx 0 ] [ upy 1 ] [ upz 0 ] )
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/pointwrangle5.userdata"
+Content-Type: text/plain
+
+{
+ "___Version___":{
+ "type":"string",
+ "value":""
+ }
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/attribwrangle1.init"
+Content-Type: text/plain
+
+type = attribwrangle
+matchesdef = 1
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/attribwrangle1.def"
+Content-Type: text/plain
+
+sopflags sopflags =
+comment ""
+position -0.98787 -23.4676
+connectornextid 2
+flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
+outputsNamed3
+{
+1 "output1"
+}
+inputsNamed3
+{
+0 compile_end1 1 1 "input1"
+}
+inputs
+{
+0 compile_end1 0 1
+}
+stat
+{
+ create 1583614702
+ modify 1583615492
+ author Henry@LAPPY586
+ access 0777
+}
+color UT_Color RGB 0.8 0.8 0.8
+delscript ""
+exprlanguage hscript
+end
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/attribwrangle1.spareparmdef"
+Content-Type: text/plain
+
+ group {
+ name "folder1"
+ label "Code"
+
+ parm {
+ name "group"
+ baseparm
+ label "Group"
+ export none
+ bindselector points "Modify Points"
+ "Select the points to affect and press Enter to complete."
+ 0 1 0xffffffff 0 grouptype 0
+ }
+ parm {
+ name "grouptype"
+ baseparm
+ label "Group Type"
+ export none
+ }
+ parm {
+ name "class"
+ baseparm
+ label "Run Over"
+ export none
+ }
+ parm {
+ name "vex_numcount"
+ baseparm
+ label "Number Count"
+ export none
+ }
+ parm {
+ name "vex_threadjobsize"
+ baseparm
+ label "Thread Job Size"
+ export none
+ }
+ parm {
+ name "snippet"
+ baseparm
+ label "VEXpression"
+ export all
+ }
+ parm {
+ name "exportlist"
+ baseparm
+ label "Attributes to Create"
+ export none
+ }
+ parm {
+ name "vex_strict"
+ baseparm
+ label "Enforce Prototypes"
+ export none
+ }
+ }
+
+ group {
+ name "folder1_1"
+ label "Bindings"
+
+ parm {
+ name "autobind"
+ baseparm
+ label "Autobind by Name"
+ export none
+ }
+ multiparm {
+ name "bindings"
+ label "Number of Bindings"
+ baseparm
+ default 0
+ parmtag { "autoscope" "0000000000000000" }
+ parmtag { "multistartoffset" "1" }
+
+ parm {
+ name "bindname#"
+ baseparm
+ label "Attribute Name"
+ export none
+ }
+ parm {
+ name "bindparm#"
+ baseparm
+ label "VEX Parameter"
+ export none
+ }
+ }
+
+ parm {
+ name "groupautobind"
+ baseparm
+ label "Autobind Groups by Name"
+ export none
+ }
+ multiparm {
+ name "groupbindings"
+ label "Group Bindings"
+ baseparm
+ default 0
+ parmtag { "autoscope" "0000000000000000" }
+ parmtag { "multistartoffset" "1" }
+
+ parm {
+ name "bindgroupname#"
+ baseparm
+ label "Group Name"
+ export none
+ }
+ parm {
+ name "bindgroupparm#"
+ baseparm
+ label "VEX Parameter"
+ export none
+ }
+ }
+
+ parm {
+ name "vex_cwdpath"
+ baseparm
+ label "Evaluation Node Path"
+ export none
+ }
+ parm {
+ name "vex_outputmask"
+ baseparm
+ label "Export Parameters"
+ export none
+ }
+ parm {
+ name "vex_updatenmls"
+ baseparm
+ label "Update Normals If Displaced"
+ export none
+ }
+ parm {
+ name "vex_matchattrib"
+ baseparm
+ label "Attribute to Match"
+ export none
+ }
+ parm {
+ name "vex_inplace"
+ baseparm
+ label "Compute Results In Place"
+ export none
+ }
+ parm {
+ name "vex_selectiongroup"
+ baseparm
+ label "Output Selection Group"
+ export none
+ }
+ parm {
+ name "vex_precision"
+ baseparm
+ label "VEX Precision"
+ export none
+ }
+ }
+
+ parm {
+ name "name_prefix"
+ label "Name Prefix"
+ type string
+ default { "" }
+ }
+ parm {
+ name "id_offset"
+ label "Id Offset"
+ type integer
+ default { "0" }
+ range { 0 10 }
+ }
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/attribwrangle1.chn"
+Content-Type: text/plain
+
+{
+ channel name_prefix {
+ lefttype = extend
+ righttype = extend
+ defaultString = \"piece\"
+ flags = 0
+ start = 41.666666666666664
+ segment { length = 0 expr = chs(\"../name_prefix\") }
+ }
+ channel id_offset {
+ lefttype = extend
+ righttype = extend
+ flags = 0
+ start = 41.666666666666664
+ segment { length = 0 expr = ch(\"../id_offset\") }
+ }
+ }
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/attribwrangle1.parm"
+Content-Type: text/plain
+
+{
+version 0.8
+folder0 [ 0 locks=0 ] ( 0 0 )
+group [ 0 locks=0 ] ( "" )
+grouptype [ 0 locks=0 ] ( "guess" )
+class [ 0 locks=0 ] ( "primitive" )
+vex_numcount [ 0 locks=0 ] ( 10 )
+vex_threadjobsize [ 0 locks=0 ] ( 1024 )
+snippet [ 0 locks=0 ] ( "// set id
+i@id = i@__cluster + chi(\"id_offset\");
+
+// set piece name for fragments
+string prefix = chs(\"name_prefix\");
+s@name = sprintf(\"%s%d\", prefix, i@id);
+" )
+exportlist [ 0 locks=0 ] ( * )
+vex_strict [ 0 locks=0 ] ( "off" )
+autobind [ 0 locks=0 ] ( "on" )
+bindings [ 0 locks=0 ] ( 0 )
+groupautobind [ 0 locks=0 ] ( "on" )
+groupbindings [ 0 locks=0 ] ( 0 )
+vex_cwdpath [ 0 locks=0 ] ( . )
+vex_outputmask [ 0 locks=0 ] ( * )
+vex_updatenmls [ 0 locks=0 ] ( "off" )
+vex_matchattrib [ 0 locks=0 ] ( id )
+vex_inplace [ 0 locks=0 ] ( "off" )
+vex_selectiongroup [ 0 locks=0 ] ( "" )
+vex_precision [ 0 locks=0 ] ( auto )
+folder1 [ 0 locks=0 ] ( 0 0 )
+name_prefix [ 0 locks=0 ] ( [ name_prefix piece ] )
+id_offset [ 0 locks=0 ] ( [ id_offset 0 ] )
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/attribwrangle1.userdata"
+Content-Type: text/plain
+
+{
+ "___Version___":{
+ "type":"string",
+ "value":""
+ }
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/make_up.init"
+Content-Type: text/plain
+
+type = attribwrangle
+matchesdef = 1
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/make_up.def"
+Content-Type: text/plain
+
+sopflags sopflags =
+comment ""
+position 4.26179 14.3474
+connectornextid 2
+flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
+outputsNamed3
+{
+1 "output1"
+}
+inputsNamed3
+{
+0 normal3 1 1 "input1"
+}
+inputs
+{
+0 normal3 0 1
+}
+stat
+{
+ create 1529781411
+ modify 1583615655
+ author henry@GlaDOS
+ access 0777
+}
+color UT_Color RGB 0.8 0.8 0.8
+delscript ""
+exprlanguage hscript
+end
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/make_up.spareparmdef"
+Content-Type: text/plain
+
+ group {
+ name "folder1"
+ label "Code"
+
+ parm {
+ name "group"
+ baseparm
+ label "Group"
+ export none
+ bindselector points "Modify Points"
+ "Select the points to affect and press Enter to complete."
+ 0 1 0xffffffff 0 grouptype 0
+ }
+ parm {
+ name "grouptype"
+ baseparm
+ label "Group Type"
+ export none
+ }
+ parm {
+ name "class"
+ baseparm
+ label "Run Over"
+ export none
+ }
+ parm {
+ name "vex_numcount"
+ baseparm
+ label "Number Count"
+ export none
+ }
+ parm {
+ name "vex_threadjobsize"
+ baseparm
+ label "Thread Job Size"
+ export none
+ }
+ parm {
+ name "snippet"
+ baseparm
+ label "VEXpression"
+ export all
+ }
+ parm {
+ name "exportlist"
+ baseparm
+ label "Attributes to Create"
+ export none
+ }
+ parm {
+ name "vex_strict"
+ baseparm
+ label "Enforce Prototypes"
+ export none
+ }
+ }
+
+ group {
+ name "folder1_1"
+ label "Bindings"
+
+ parm {
+ name "autobind"
+ baseparm
+ label "Autobind by Name"
+ export none
+ }
+ multiparm {
+ name "bindings"
+ label "Number of Bindings"
+ baseparm
+ default 0
+ parmtag { "autoscope" "0000000000000000" }
+ parmtag { "multistartoffset" "1" }
+
+ parm {
+ name "bindname#"
+ baseparm
+ label "Attribute Name"
+ export none
+ }
+ parm {
+ name "bindparm#"
+ baseparm
+ label "VEX Parameter"
+ export none
+ }
+ }
+
+ parm {
+ name "groupautobind"
+ baseparm
+ label "Autobind Groups by Name"
+ export none
+ }
+ multiparm {
+ name "groupbindings"
+ label "Group Bindings"
+ baseparm
+ default 0
+ parmtag { "autoscope" "0000000000000000" }
+ parmtag { "multistartoffset" "1" }
+
+ parm {
+ name "bindgroupname#"
+ baseparm
+ label "Group Name"
+ export none
+ }
+ parm {
+ name "bindgroupparm#"
+ baseparm
+ label "VEX Parameter"
+ export none
+ }
+ }
+
+ parm {
+ name "vex_cwdpath"
+ baseparm
+ label "Evaluation Node Path"
+ export none
+ }
+ parm {
+ name "vex_outputmask"
+ baseparm
+ label "Export Parameters"
+ export none
+ }
+ parm {
+ name "vex_updatenmls"
+ baseparm
+ label "Update Normals If Displaced"
+ export none
+ }
+ parm {
+ name "vex_matchattrib"
+ baseparm
+ label "Attribute to Match"
+ export none
+ }
+ parm {
+ name "vex_inplace"
+ baseparm
+ label "Compute Results In Place"
+ export none
+ }
+ parm {
+ name "vex_selectiongroup"
+ baseparm
+ label "Output Selection Group"
+ export none
+ }
+ }
+
+ parm {
+ name "up_vector"
+ label "Up Vector"
+ type vector
+ size 3
+ default { "0" "0" "0" }
+ range { 0 1 }
+ }
+ parm {
+ name "auto_up"
+ label "Auto Up"
+ type integer
+ default { "0" }
+ range { 0 10 }
+ }
+ parm {
+ name "vex_precision"
+ baseparm
+ label "VEX Precision"
+ export none
+ }
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/make_up.chn"
+Content-Type: text/plain
+
+{
+ channel up_vectorx {
+ lefttype = extend
+ righttype = extend
+ flags = 0
+ segment { length = 0 expr = ch(\"../custom_up_vectorx\") }
+ }
+ channel up_vectory {
+ lefttype = extend
+ righttype = extend
+ default = 1
+ flags = 0
+ segment { length = 0 value = 1 1 expr = ch(\"../custom_up_vectory\") }
+ }
+ channel up_vectorz {
+ lefttype = extend
+ righttype = extend
+ flags = 0
+ segment { length = 0 expr = ch(\"../custom_up_vectorz\") }
+ }
+ channel auto_up {
+ lefttype = extend
+ righttype = extend
+ default = 1
+ flags = 0
+ segment { length = 0 value = 1 1 expr = !ch(\"../do_up\") }
+ }
+ }
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/make_up.parm"
+Content-Type: text/plain
+
+{
+version 0.8
+folder0 [ 0 locks=0 ] ( 0 0 )
+group [ 0 locks=0 ] ( "" )
+grouptype [ 0 locks=0 ] ( "guess" )
+class [ 0 locks=0 ] ( "point" )
+vex_numcount [ 0 locks=0 ] ( 10 )
+vex_threadjobsize [ 0 locks=0 ] ( 1024 )
+snippet [ 0 locks=0 ] ( "if(chi(\"auto_up\")) {
+ matrix3 m = dihedral(v@N, {0,0,1});
+ v@up = m * {0,1,0};
+} else {
+ v@up = chv(\"up_vector\");
+}" )
+exportlist [ 0 locks=0 ] ( * )
+vex_strict [ 0 locks=0 ] ( "off" )
+autobind [ 0 locks=0 ] ( "on" )
+bindings [ 0 locks=0 ] ( 0 )
+groupautobind [ 0 locks=0 ] ( "on" )
+groupbindings [ 0 locks=0 ] ( 0 )
+vex_cwdpath [ 0 locks=0 ] ( . )
+vex_outputmask [ 0 locks=0 ] ( * )
+vex_updatenmls [ 0 locks=0 ] ( "off" )
+vex_matchattrib [ 0 locks=0 ] ( id )
+vex_inplace [ 0 locks=0 ] ( "off" )
+vex_selectiongroup [ 0 locks=0 ] ( "" )
+vex_precision [ 0 locks=0 ] ( auto )
+folder1 [ 0 locks=0 ] ( 0 0 )
+up_vector [ 0 locks=0 ] ( [ up_vectorx 0 ] [ up_vectory 1 ] [ up_vectorz 0 ] )
+auto_up [ 0 locks=0 ] ( [ auto_up 1 ] )
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/make_up.userdata"
Content-Type: text/plain
{
@@ -2710,7 +3037,7 @@ Content-Type: text/plain
sopflags sopflags =
comment ""
-position 1.1376 12.506
+position 0.990401 16.4804
connectornextid 2
flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
outputsNamed3
@@ -2728,7 +3055,7 @@ inputs
stat
{
create 1520076009
- modify 1547421155
+ modify 1583614367
author Mo@Mo-PC
access 0777
}
@@ -2754,7 +3081,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"17.5.229"
+ "value":"18.0.391"
}
}
@@ -2771,7 +3098,7 @@ Content-Type: text/plain
sopflags sopflags =
comment ""
-position 1.23017 -36.5838
+position 1.20259 -44.341
connectornextid 1
flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
outputsNamed3
@@ -2788,7 +3115,7 @@ inputs
stat
{
create 1532405563
- modify 1563925518
+ modify 1583773997
author Henry@LAPPY586
access 0777
}
@@ -2813,7 +3140,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"17.5.229"
+ "value":"18.0.391"
}
}
@@ -2830,7 +3157,7 @@ Content-Type: text/plain
sopflags sopflags =
comment ""
-position -1.47586 -20.0636
+position -1.50502 -21.4042
connectornextid 2
flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault off exposed on
outputsNamed3
@@ -2848,7 +3175,7 @@ inputs
stat
{
create 1547173777
- modify 1573272243
+ modify 1583615492
author Henry@LAPPY586
access 0777
}
@@ -2879,7 +3206,7 @@ resetcookpass [ 0 locks=0 ] ( 0 )
dosinglepass [ 0 locks=0 ] ( "off" )
singlepass [ 0 locks=0 ] ( 0 )
stopcondition [ 0 locks=0 ] ( 0 )
-multithread [ 0 locks=0 ] ( "off" )
+multithread [ 0 locks=0 ] ( "on" )
}
--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
@@ -2889,7 +3216,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"17.5.229"
+ "value":"18.0.391"
}
}
@@ -2906,7 +3233,7 @@ Content-Type: text/plain
sopflags sopflags =
comment ""
-position -2.60093 -1.96695
+position -2.60093 -2.22714
connectornextid 2
flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault off exposed on
outputsNamed3
@@ -2924,7 +3251,7 @@ inputs
stat
{
create 1547173777
- modify 1573272243
+ modify 1583694411
author Henry@LAPPY586
access 0777
}
@@ -2953,7 +3280,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"17.5.229"
+ "value":"18.0.391"
}
}
@@ -2970,7 +3297,7 @@ Content-Type: text/plain
sopflags sopflags =
comment ""
-position -0.114958 4.83336
+position -0.262157 8.54753
connectornextid 2
flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
outputsNamed3
@@ -2988,7 +3315,7 @@ inputs
stat
{
create 1547173856
- modify 1573272243
+ modify 1583615492
author Henry@LAPPY586
access 0777
}
@@ -3059,7 +3386,7 @@ Content-Type: text/plain
{
version 0.8
-num_clusters [ 0 locks=0 ] ( [ num_clusters 220 ] )
+num_clusters [ 0 locks=0 ] ( [ num_clusters 10 ] )
cluster_attrib [ 0 locks=0 ] ( __cluster )
output_center [ 0 locks=0 ] ( "off" )
num_controls [ 0 locks=0 ] ( [ num_controls 1 ] )
@@ -3083,7 +3410,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"17.5.229"
+ "value":"18.0.391"
}
}
@@ -3100,7 +3427,7 @@ Content-Type: text/plain
sopflags sopflags =
comment ""
-position -0.270258 4.01245
+position -0.417457 7.72662
connectornextid 2
flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
outputsNamed3
@@ -3118,7 +3445,7 @@ inputs
stat
{
create 1547173871
- modify 1555048539
+ modify 1583615492
author Henry@LAPPY586
access 0777
}
@@ -3145,93 +3472,305 @@ deletein [ 0 locks=0 ] ( "on" )
}
--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
-Content-Disposition: attachment; filename="hdaroot/attribpromote1.userdata"
+Content-Disposition: attachment; filename="hdaroot/attribpromote1.userdata"
+Content-Type: text/plain
+
+{
+ "___Version___":{
+ "type":"string",
+ "value":"18.0.391"
+ }
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/foreach_begin1_metadata1.init"
+Content-Type: text/plain
+
+type = block_begin
+matchesdef = 0
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/foreach_begin1_metadata1.def"
+Content-Type: text/plain
+
+sopflags sopflags =
+comment ""
+position -0.0886865 -1.67159
+connectornextid 1
+flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault off exposed on
+outputsNamed3
+{
+0 "output1"
+}
+inputsNamed3
+{
+}
+inputs
+{
+}
+stat
+{
+ create 1547174427
+ modify 1583694410
+ author Henry@LAPPY586
+ access 0777
+}
+color UT_Color RGB 0.75 0.4 0
+delscript ""
+exprlanguage hscript
+end
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/foreach_begin1_metadata1.parm"
+Content-Type: text/plain
+
+{
+version 0.8
+method [ 0 locks=0 ] ( "metadata" )
+blockpath [ 0 locks=0 ] ( ../foreach_end1 )
+resetcookpass [ 0 locks=0 ] ( 0 )
+createmetablock [ 0 locks=0 ] ( 0 )
+label1 [ 0 locks=0 ] ( "iteration, numiterations, value, ivalue" )
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/foreach_begin1_metadata1.userdata"
+Content-Type: text/plain
+
+{
+ "___Version___":{
+ "type":"string",
+ "value":"18.0.391"
+ }
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/do_compute_N_up.init"
+Content-Type: text/plain
+
+type = switch
+matchesdef = 0
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/do_compute_N_up.def"
+Content-Type: text/plain
+
+sopflags sopflags =
+comment ""
+position 3.22577 13.2975
+connectornextid 3
+flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
+outputsNamed3
+{
+2 "output1"
+}
+inputsNamed3
+{
+0 IN 1 1 "input1"
+1 make_up 1 1 "input2"
+}
+inputs
+{
+0 IN 0 1
+1 make_up 0 1
+}
+stat
+{
+ create 1547416919
+ modify 1583615560
+ author Henry@LAPPY586
+ access 0777
+}
+color UT_Color RGB 0.8 1 0.7
+delscript ""
+exprlanguage hscript
+end
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/do_compute_N_up.chn"
+Content-Type: text/plain
+
+{
+ channel input {
+ lefttype = extend
+ righttype = extend
+ default = 1
+ flags = 0
+ segment { length = 0 value = 1 1 expr = ch(\"../compute_N_up\") }
+ }
+ }
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/do_compute_N_up.parm"
+Content-Type: text/plain
+
+{
+version 0.8
+input [ 8 locks=0 ] ( [ input 1 ] )
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/do_compute_N_up.userdata"
+Content-Type: text/plain
+
+{
+ "___Version___":{
+ "type":"string",
+ "value":"18.0.391"
+ }
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/switch_do_k_means_clustering.init"
+Content-Type: text/plain
+
+type = switch
+matchesdef = 0
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/switch_do_k_means_clustering.def"
+Content-Type: text/plain
+
+sopflags sopflags =
+comment ""
+position -3.01881 6.4704
+connectornextid 3
+flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
+outputsNamed3
+{
+2 "output1"
+}
+inputsNamed3
+{
+0 define_initial_clusters 1 1 "input1"
+1 attribpromote1 1 1 "input2"
+}
+inputs
+{
+0 define_initial_clusters 0 1
+1 attribpromote1 0 1
+}
+stat
+{
+ create 1547418460
+ modify 1583615492
+ author Henry@LAPPY586
+ access 0777
+}
+color UT_Color RGB 0.8 1 0.7
+delscript ""
+exprlanguage hscript
+end
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/switch_do_k_means_clustering.chn"
+Content-Type: text/plain
+
+{
+ channel input {
+ lefttype = extend
+ righttype = extend
+ flags = 0
+ segment { length = 0 expr = ch(\"../piece_method\")==2 }
+ }
+ }
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/switch_do_k_means_clustering.parm"
+Content-Type: text/plain
+
+{
+version 0.8
+input [ 8 locks=0 ] ( [ input 0 ] )
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/switch_do_k_means_clustering.userdata"
Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"17.5.229"
+ "value":"18.0.391"
}
}
--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
-Content-Disposition: attachment; filename="hdaroot/foreach_begin1_metadata1.init"
+Content-Disposition: attachment; filename="hdaroot/null1.init"
Content-Type: text/plain
-type = block_begin
+type = null
matchesdef = 0
--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
-Content-Disposition: attachment; filename="hdaroot/foreach_begin1_metadata1.def"
+Content-Disposition: attachment; filename="hdaroot/null1.def"
Content-Type: text/plain
sopflags sopflags =
comment ""
-position -0.0886865 -1.67159
-connectornextid 1
-flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault off exposed on
+position 0.987211 3.58563
+connectornextid 2
+flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
outputsNamed3
{
-0 "output1"
+1 "output1"
}
inputsNamed3
{
+0 switch_use_groups 1 1 "input1"
}
inputs
{
+0 switch_use_groups 0 1
}
stat
{
- create 1547174427
- modify 1573272243
+ create 1547418531
+ modify 1583615492
author Henry@LAPPY586
access 0777
}
-color UT_Color RGB 0.75 0.4 0
+color UT_Color RGB 0.6 0.7 0.77
delscript ""
exprlanguage hscript
end
--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
-Content-Disposition: attachment; filename="hdaroot/foreach_begin1_metadata1.parm"
+Content-Disposition: attachment; filename="hdaroot/null1.parm"
Content-Type: text/plain
{
version 0.8
-method [ 0 locks=0 ] ( "metadata" )
-blockpath [ 0 locks=0 ] ( ../foreach_end1 )
-resetcookpass [ 0 locks=0 ] ( 0 )
-createmetablock [ 0 locks=0 ] ( 0 )
-label1 [ 0 locks=0 ] ( "iteration, numiterations, value, ivalue" )
+copyinput [ 0 locks=0 ] ( "on" )
+cacheinput [ 0 locks=0 ] ( "off" )
}
--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
-Content-Disposition: attachment; filename="hdaroot/foreach_begin1_metadata1.userdata"
+Content-Disposition: attachment; filename="hdaroot/null1.userdata"
Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"17.5.229"
+ "value":"18.0.391"
}
}
--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
-Content-Disposition: attachment; filename="hdaroot/attribpromote2.init"
+Content-Disposition: attachment; filename="hdaroot/do_compute_orient.init"
Content-Type: text/plain
-type = attribpromote
+type = switch
matchesdef = 0
--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
-Content-Disposition: attachment; filename="hdaroot/attribpromote2.def"
+Content-Disposition: attachment; filename="hdaroot/do_compute_orient.def"
Content-Type: text/plain
sopflags sopflags =
comment ""
-position -2.60598 -3.17029
-connectornextid 2
+position 0.990401 10.8861
+connectornextid 3
flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
outputsNamed3
{
@@ -3239,311 +3778,268 @@ outputsNamed3
}
inputsNamed3
{
-0 foreach_begin1 0 1 "input1"
+2 IN 1 1 "input1"
+0 compute_orient 1 1 "input2"
}
inputs
{
-0 foreach_begin1 0 1
+0 IN 0 1
+1 compute_orient 0 1
}
stat
{
- create 1547267541
- modify 1555048774
+ create 1547420832
+ modify 1583615492
author Henry@LAPPY586
access 0777
}
-color UT_Color RGB 0.8 0.8 0.8
+color UT_Color RGB 0.8 1 0.7
delscript ""
exprlanguage hscript
end
--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
-Content-Disposition: attachment; filename="hdaroot/attribpromote2.parm"
+Content-Disposition: attachment; filename="hdaroot/do_compute_orient.chn"
+Content-Type: text/plain
+
+{
+ channel input {
+ lefttype = extend
+ righttype = extend
+ flags = 0
+ segment { length = 0 expr = ch(\"../compute_orient\") }
+ }
+ }
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/do_compute_orient.parm"
Content-Type: text/plain
{
version 0.8
-inname [ 0 locks=0 ] ( P )
-inclass [ 0 locks=0 ] ( "point" )
-outclass [ 0 locks=0 ] ( "detail" )
-usepieceattrib [ 0 locks=0 ] ( "off" )
-pieceattrib [ 0 locks=0 ] ( name )
-method [ 0 locks=0 ] ( "mean" )
-useoutname [ 0 locks=0 ] ( "on" )
-outname [ 0 locks=0 ] ( centerofmass )
-deletein [ 0 locks=0 ] ( "off" )
+input [ 8 locks=0 ] ( [ input 0 ] )
}
--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
-Content-Disposition: attachment; filename="hdaroot/attribpromote2.userdata"
+Content-Disposition: attachment; filename="hdaroot/do_compute_orient.userdata"
Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"17.5.229"
+ "value":"18.0.391"
}
}
--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
-Content-Disposition: attachment; filename="hdaroot/do_compute_N_up.init"
+Content-Disposition: attachment; filename="hdaroot/compile_end1.init"
Content-Type: text/plain
-type = switch
+type = compile_end
matchesdef = 0
--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
-Content-Disposition: attachment; filename="hdaroot/do_compute_N_up.def"
+Content-Disposition: attachment; filename="hdaroot/compile_end1.def"
Content-Type: text/plain
sopflags sopflags =
comment ""
-position 3.37297 9.93178
-connectornextid 3
-flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
+position -0.94743 -22.3884
+connectornextid 2
+flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault off exposed on
outputsNamed3
{
-2 "output1"
+1 "output1"
}
inputsNamed3
{
-0 IN 1 1 "input1"
-1 do_custom_up 1 1 "input2"
+0 foreach_end1 1 1 "input1"
}
inputs
{
-0 IN 0 1
-1 do_custom_up 0 1
+0 foreach_end1 0 1
}
stat
{
- create 1547416919
- modify 1573272243
+ create 1547422647
+ modify 1583615492
author Henry@LAPPY586
access 0777
}
-color UT_Color RGB 0.8 1 0.7
+color UT_Color RGB 0.75 0.75 0
delscript ""
exprlanguage hscript
end
--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
-Content-Disposition: attachment; filename="hdaroot/do_compute_N_up.chn"
-Content-Type: text/plain
-
-{
- channel input {
- lefttype = extend
- righttype = extend
- default = 1
- flags = 0
- segment { length = 0 value = 1 1 expr = ch(\"../compute_N_up\") }
- }
- }
-
---HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
-Content-Disposition: attachment; filename="hdaroot/do_compute_N_up.parm"
+Content-Disposition: attachment; filename="hdaroot/compile_end1.parm"
Content-Type: text/plain
{
version 0.8
-input [ 0 locks=0 ] ( [ input 1 ] )
+docompile [ 0 locks=0 ] ( "on" )
+unload [ 0 locks=0 ] ( "always" )
+primarypath [ 0 locks=0 ] ( "" )
+forcerecompile [ 0 locks=0 ] ( 0 )
+delayillegal [ 0 locks=0 ] ( "off" )
}
--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
-Content-Disposition: attachment; filename="hdaroot/do_compute_N_up.userdata"
+Content-Disposition: attachment; filename="hdaroot/compile_end1.userdata"
Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"17.5.229"
+ "value":"18.0.391"
}
}
--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
-Content-Disposition: attachment; filename="hdaroot/polyframe1.init"
+Content-Disposition: attachment; filename="hdaroot/compile_begin1.init"
Content-Type: text/plain
-type = polyframe
+type = compile_begin
matchesdef = 0
--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
-Content-Disposition: attachment; filename="hdaroot/polyframe1.def"
+Content-Disposition: attachment; filename="hdaroot/compile_begin1.def"
Content-Type: text/plain
sopflags sopflags =
comment ""
-position 4.96054 11.3123
+position -2.83828 -1.08001
connectornextid 2
-flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
+flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault off exposed on
outputsNamed3
{
-1 "output1"
+0 "output1"
}
inputsNamed3
{
-0 IN 1 1 "input1"
+1 extractcentroid1 1 1 "input1"
}
inputs
{
-0 IN 0 1
+0 extractcentroid1 0 1
}
stat
{
- create 1547416957
- modify 1573272243
+ create 1547422647
+ modify 1583615492
author Henry@LAPPY586
access 0777
}
-color UT_Color RGB 0.8 0.8 0.8
+color UT_Color RGB 0.75 0.75 0
delscript ""
exprlanguage hscript
end
--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
-Content-Disposition: attachment; filename="hdaroot/polyframe1.chn"
-Content-Type: text/plain
-
-{
- channel style {
- lefttype = extend
- righttype = extend
- defaultString = \"edge2\"
- flags = 0
- segment { length = 0 expr = chs(\"../style\") }
- }
- channel attribname {
- lefttype = extend
- righttype = extend
- defaultString = \"\"
- flags = 0
- segment { length = 0 expr = chs(\"../attribname\") }
- }
- }
-
---HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
-Content-Disposition: attachment; filename="hdaroot/polyframe1.parm"
+Content-Disposition: attachment; filename="hdaroot/compile_begin1.parm"
Content-Type: text/plain
{
version 0.8
-group [ 0 locks=0 ] ( "" )
-entity [ 0 locks=0 ] ( "primitive" )
-style [ 0 locks=0 ] ( [ style edge2 ] )
-attribname [ 0 locks=0 ] ( [ attribname "" ] )
-Non [ 0 locks=0 ] ( "on" )
-N [ 0 locks=0 ] ( N )
-tangentuon [ 0 locks=0 ] ( "on" )
-tangentu [ 0 locks=0 ] ( up )
-tangentvon [ 0 locks=0 ] ( "off" )
-tangentv [ 0 locks=0 ] ( tangentv )
-signson [ 0 locks=0 ] ( "off" )
-signs [ 0 locks=0 ] ( signs )
-ortho [ 0 locks=0 ] ( "off" )
-lefthanded [ 0 locks=0 ] ( "off" )
+blockpath [ 0 locks=0 ] ( ../compile_end1 )
+name [ 0 locks=0 ] ( "" )
+optional [ 0 locks=0 ] ( "off" )
+createbeginblock [ 0 locks=0 ] ( 0 )
}
--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
-Content-Disposition: attachment; filename="hdaroot/polyframe1.userdata"
+Content-Disposition: attachment; filename="hdaroot/compile_begin1.userdata"
Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"17.5.229"
+ "value":"18.0.391"
}
}
--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
-Content-Disposition: attachment; filename="hdaroot/switch_do_k_means_clustering.init"
+Content-Disposition: attachment; filename="hdaroot/pack1.init"
Content-Type: text/plain
-type = switch
+type = pack
matchesdef = 0
--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
-Content-Disposition: attachment; filename="hdaroot/switch_do_k_means_clustering.def"
+Content-Disposition: attachment; filename="hdaroot/pack1.def"
Content-Type: text/plain
sopflags sopflags =
comment ""
-position -2.87161 2.75623
-connectornextid 3
+position -1.13066 -31.4961
+connectornextid 2
flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
outputsNamed3
{
-2 "output1"
+1 "output1"
}
inputsNamed3
{
-0 define_initial_clusters 1 1 "input1"
-1 attribpromote1 1 1 "input2"
+0 pointwrangle4 1 1 "input1"
}
inputs
{
-0 define_initial_clusters 0 1
-1 attribpromote1 0 1
+0 pointwrangle4 0 1
}
stat
{
- create 1547418460
- modify 1573272243
+ create 1547605082
+ modify 1583615492
author Henry@LAPPY586
access 0777
}
-color UT_Color RGB 0.8 1 0.7
+color UT_Color RGB 0.8 0.8 0.8
delscript ""
exprlanguage hscript
end
--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
-Content-Disposition: attachment; filename="hdaroot/switch_do_k_means_clustering.chn"
-Content-Type: text/plain
-
-{
- channel input {
- lefttype = extend
- righttype = extend
- flags = 0
- segment { length = 0 expr = ch(\"../piece_method\")==2 }
- }
- }
-
---HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
-Content-Disposition: attachment; filename="hdaroot/switch_do_k_means_clustering.parm"
+Content-Disposition: attachment; filename="hdaroot/pack1.parm"
Content-Type: text/plain
{
version 0.8
-input [ 8 locks=0 ] ( [ input 1 ] )
+viewportlod [ 0 locks=0 ] ( "full" )
+createpath [ 0 locks=0 ] ( "on" )
+path [ 0 locks=0 ] ( op:`opfullpath('.')` )
+packbyname [ 0 locks=0 ] ( "on" )
+nameattribute [ 0 locks=0 ] ( name )
+packedfragments [ 0 locks=0 ] ( "on" )
+pivot [ 0 locks=0 ] ( "origin" )
+transfer_attributes [ 0 locks=0 ] ( "id name centerofmass __avgN __avgup" )
+transfer_groups [ 0 locks=0 ] ( "" )
}
--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
-Content-Disposition: attachment; filename="hdaroot/switch_do_k_means_clustering.userdata"
+Content-Disposition: attachment; filename="hdaroot/pack1.userdata"
Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"17.5.229"
+ "value":"18.0.391"
}
}
--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
-Content-Disposition: attachment; filename="hdaroot/null1.init"
+Content-Disposition: attachment; filename="hdaroot/attribpromote3.init"
Content-Type: text/plain
-type = null
+type = attribpromote
matchesdef = 0
--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
-Content-Disposition: attachment; filename="hdaroot/null1.def"
+Content-Disposition: attachment; filename="hdaroot/attribpromote3.def"
Content-Type: text/plain
sopflags sopflags =
comment ""
-position 1.13441 -0.128549
+position -1.13621 -33.302
connectornextid 2
flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
outputsNamed3
@@ -3552,60 +4048,67 @@ outputsNamed3
}
inputsNamed3
{
-0 switch_use_groups 1 1 "input1"
+0 pointwrangle1 1 1 "input1"
}
inputs
{
-0 switch_use_groups 0 1
+0 pointwrangle1 0 1
}
stat
{
- create 1547418531
- modify 1563913584
+ create 1547605163
+ modify 1583615492
author Henry@LAPPY586
access 0777
}
-color UT_Color RGB 0.6 0.7 0.77
+color UT_Color RGB 0.8 0.8 0.8
delscript ""
exprlanguage hscript
end
--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
-Content-Disposition: attachment; filename="hdaroot/null1.parm"
+Content-Disposition: attachment; filename="hdaroot/attribpromote3.parm"
Content-Type: text/plain
{
version 0.8
-copyinput [ 0 locks=0 ] ( "on" )
-cacheinput [ 0 locks=0 ] ( "off" )
+inname [ 0 locks=0 ] ( name )
+inclass [ 0 locks=0 ] ( "primitive" )
+outclass [ 0 locks=0 ] ( "point" )
+usepieceattrib [ 0 locks=0 ] ( "off" )
+pieceattrib [ 0 locks=0 ] ( name )
+method [ 0 locks=0 ] ( "mean" )
+useoutname [ 0 locks=0 ] ( "off" )
+outname [ 0 locks=0 ] ( "" )
+deletein [ 0 locks=0 ] ( "on" )
}
--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
-Content-Disposition: attachment; filename="hdaroot/null1.userdata"
+Content-Disposition: attachment; filename="hdaroot/attribpromote3.userdata"
Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"17.5.229"
+ "value":"18.0.391"
}
}
--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
-Content-Disposition: attachment; filename="hdaroot/do_compute_orient.init"
+Content-Disposition: attachment; filename="hdaroot/attribdelete1.init"
Content-Type: text/plain
-type = switch
-matchesdef = 0
+type = attribdelete
+matchesdef = 1
--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
-Content-Disposition: attachment; filename="hdaroot/do_compute_orient.def"
+Content-Disposition: attachment; filename="hdaroot/attribdelete1.def"
Content-Type: text/plain
sopflags sopflags =
comment ""
-position 1.1376 7.17198
-connectornextid 3
+position -1.13621 -35.302
+connectornextid 2
flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
outputsNamed3
{
@@ -3613,400 +4116,419 @@ outputsNamed3
}
inputsNamed3
{
-2 IN 1 1 "input1"
-0 compute_orient 1 1 "input2"
+0 attribpromote4 1 1 "input1"
}
inputs
{
-0 IN 0 1
-1 compute_orient 0 1
+0 attribpromote4 0 1
}
stat
{
- create 1547420832
- modify 1573272243
+ create 1547605176
+ modify 1583615492
author Henry@LAPPY586
access 0777
}
-color UT_Color RGB 0.8 1 0.7
+color UT_Color RGB 0.8 0.8 0.8
delscript ""
exprlanguage hscript
end
--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
-Content-Disposition: attachment; filename="hdaroot/do_compute_orient.chn"
-Content-Type: text/plain
-
-{
- channel input {
- lefttype = extend
- righttype = extend
- flags = 0
- segment { length = 0 expr = ch(\"../compute_orient\") }
- }
- }
-
---HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
-Content-Disposition: attachment; filename="hdaroot/do_compute_orient.parm"
+Content-Disposition: attachment; filename="hdaroot/attribdelete1.parm"
Content-Type: text/plain
{
version 0.8
-input [ 8 locks=0 ] ( [ input 1 ] )
+ptdel [ 0 locks=0 ] ( centerofmass )
+vtxdel [ 0 locks=0 ] ( "" )
+primdel [ 0 locks=0 ] ( "" )
+dtldel [ 0 locks=0 ] ( "" )
+updatevar [ 0 locks=0 ] ( "on" )
}
--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
-Content-Disposition: attachment; filename="hdaroot/do_compute_orient.userdata"
+Content-Disposition: attachment; filename="hdaroot/attribdelete1.userdata"
Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"17.5.229"
+ "value":""
}
}
--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
-Content-Disposition: attachment; filename="hdaroot/compile_end1.init"
+Content-Disposition: attachment; filename="hdaroot/do_viz_pieces.init"
Content-Type: text/plain
-type = compile_end
+type = switch
matchesdef = 0
--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
-Content-Disposition: attachment; filename="hdaroot/compile_end1.def"
+Content-Disposition: attachment; filename="hdaroot/do_viz_pieces.def"
Content-Type: text/plain
sopflags sopflags =
comment ""
-position -0.91827 -21.0478
-connectornextid 2
-flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault off exposed on
+position -0.98487 -25.8984
+connectornextid 3
+flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
outputsNamed3
{
1 "output1"
}
inputsNamed3
{
-0 foreach_end1 1 1 "input1"
+2 attribwrangle1 1 1 "input1"
+0 color1 1 1 "input2"
}
inputs
{
-0 foreach_end1 0 1
+0 attribwrangle1 0 1
+1 color1 0 1
}
stat
{
- create 1547422647
- modify 1563924638
+ create 1547423273
+ modify 1583615492
author Henry@LAPPY586
access 0777
}
-color UT_Color RGB 0.75 0.75 0
+color UT_Color RGB 0.8 1 0.7
delscript ""
exprlanguage hscript
end
--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
-Content-Disposition: attachment; filename="hdaroot/compile_end1.parm"
+Content-Disposition: attachment; filename="hdaroot/do_viz_pieces.chn"
+Content-Type: text/plain
+
+{
+ channel input {
+ lefttype = extend
+ righttype = extend
+ default = 1
+ flags = 0
+ segment { length = 0 value = 1 1 expr = ch(\"../do_viz_pieces\") }
+ }
+ }
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/do_viz_pieces.parm"
Content-Type: text/plain
{
version 0.8
-docompile [ 0 locks=0 ] ( "on" )
-unload [ 0 locks=0 ] ( "always" )
-primarypath [ 0 locks=0 ] ( "" )
-forcerecompile [ 0 locks=0 ] ( 0 )
-delayillegal [ 0 locks=0 ] ( "off" )
+input [ 0 locks=0 ] ( [ input 0 ] )
}
--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
-Content-Disposition: attachment; filename="hdaroot/compile_end1.userdata"
+Content-Disposition: attachment; filename="hdaroot/do_viz_pieces.userdata"
Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"17.5.229"
+ "value":"18.0.391"
}
}
--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
-Content-Disposition: attachment; filename="hdaroot/compile_begin1.init"
+Content-Disposition: attachment; filename="hdaroot/name1.init"
Content-Type: text/plain
-type = compile_begin
+type = name
matchesdef = 0
--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
-Content-Disposition: attachment; filename="hdaroot/compile_begin1.def"
+Content-Disposition: attachment; filename="hdaroot/name1.def"
Content-Type: text/plain
sopflags sopflags =
comment ""
-position -2.83828 -0.819821
+position 4.13862 9.87481
connectornextid 2
-flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault off exposed on
+flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
outputsNamed3
{
-0 "output1"
+1 "output1"
}
inputsNamed3
{
-1 null1 1 1 "input1"
+0 do_compute_orient 1 1 "input1"
}
inputs
{
-0 null1 0 1
+0 do_compute_orient 0 1
}
stat
{
- create 1547422647
- modify 1573272243
+ create 1555048475
+ modify 1583615492
author Henry@LAPPY586
access 0777
}
-color UT_Color RGB 0.75 0.75 0
+color UT_Color RGB 0.8 0.8 0.8
delscript ""
exprlanguage hscript
end
--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
-Content-Disposition: attachment; filename="hdaroot/compile_begin1.parm"
+Content-Disposition: attachment; filename="hdaroot/name1.chn"
+Content-Type: text/plain
+
+{
+ channel namefromgroupmask {
+ lefttype = extend
+ righttype = extend
+ defaultString = \"*\"
+ flags = 0
+ segment { length = 0 expr = chs(\"../namefromgroupmask\") }
+ }
+ }
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/name1.parm"
Content-Type: text/plain
{
version 0.8
-blockpath [ 0 locks=0 ] ( ../compile_end1 )
-name [ 0 locks=0 ] ( "" )
-optional [ 0 locks=0 ] ( "off" )
-createbeginblock [ 0 locks=0 ] ( 0 )
+attribname [ 0 locks=0 ] ( name )
+class [ 0 locks=0 ] ( "primitive" )
+donamefromgroup [ 0 locks=0 ] ( "on" )
+namefromgroupmask [ 0 locks=0 ] ( [ namefromgroupmask * ] )
+numnames [ 0 locks=0 ] ( 0 )
+numrenames [ 0 locks=0 ] ( 0 )
}
--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
-Content-Disposition: attachment; filename="hdaroot/compile_begin1.userdata"
+Content-Disposition: attachment; filename="hdaroot/name1.userdata"
Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"17.5.229"
+ "value":"18.0.391"
}
}
--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
-Content-Disposition: attachment; filename="hdaroot/pack1.init"
+Content-Disposition: attachment; filename="hdaroot/foreach_end2.init"
Content-Type: text/plain
-type = pack
+type = block_end
matchesdef = 0
--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
-Content-Disposition: attachment; filename="hdaroot/pack1.def"
+Content-Disposition: attachment; filename="hdaroot/foreach_end2.def"
Content-Type: text/plain
sopflags sopflags =
comment ""
-position -0.95361 -26.3096
+position 4.31837 6.51734
connectornextid 2
-flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
+flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault off exposed on
outputsNamed3
{
1 "output1"
}
inputsNamed3
{
-0 do_vertex_normals 1 1 "input1"
+0 primitivewrangle1 1 1 "input1"
}
inputs
{
-0 do_vertex_normals 0 1
+0 primitivewrangle1 0 1
}
stat
{
- create 1547605082
- modify 1573272243
+ create 1555048678
+ modify 1583615492
author Henry@LAPPY586
access 0777
}
-color UT_Color RGB 0.8 0.8 0.8
+color UT_Color RGB 0.75 0.4 0
delscript ""
exprlanguage hscript
end
--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
-Content-Disposition: attachment; filename="hdaroot/pack1.parm"
+Content-Disposition: attachment; filename="hdaroot/foreach_end2.parm"
Content-Type: text/plain
{
version 0.8
-viewportlod [ 0 locks=0 ] ( "full" )
-createpath [ 0 locks=0 ] ( "on" )
-path [ 0 locks=0 ] ( op:`opfullpath('.')` )
-packbyname [ 0 locks=0 ] ( "on" )
-nameattribute [ 0 locks=0 ] ( name )
-packedfragments [ 0 locks=0 ] ( "on" )
-pivot [ 0 locks=0 ] ( "origin" )
-transfer_attributes [ 0 locks=0 ] ( "id name centerofmass __avgN __avgup" )
-transfer_groups [ 0 locks=0 ] ( "" )
+itermethod [ 0 locks=0 ] ( "pieces" )
+method [ 0 locks=0 ] ( "merge" )
+iterations [ 0 locks=0 ] ( 10 )
+startvalue [ 0 locks=0 ] ( 1 )
+increment [ 0 locks=0 ] ( 1 )
+class [ 0 locks=0 ] ( "primitive" )
+useattrib [ 0 locks=0 ] ( "on" )
+attrib [ 0 locks=0 ] ( name )
+usemaxiter [ 0 locks=0 ] ( "off" )
+maxiter [ 0 locks=0 ] ( 10 )
+blockpath [ 0 locks=0 ] ( ../foreach_begin2 )
+templatepath [ 0 locks=0 ] ( ../foreach_begin2 )
+resetcookpass [ 0 locks=0 ] ( 0 )
+dosinglepass [ 0 locks=0 ] ( "off" )
+singlepass [ 0 locks=0 ] ( 0 )
+stopcondition [ 0 locks=0 ] ( 0 )
+multithread [ 0 locks=0 ] ( "off" )
}
--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
-Content-Disposition: attachment; filename="hdaroot/pack1.userdata"
+Content-Disposition: attachment; filename="hdaroot/foreach_end2.userdata"
Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"17.5.229"
+ "value":"18.0.391"
}
}
--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
-Content-Disposition: attachment; filename="hdaroot/attribpromote3.init"
+Content-Disposition: attachment; filename="hdaroot/foreach_begin2.init"
Content-Type: text/plain
-type = attribpromote
+type = block_begin
matchesdef = 0
--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
-Content-Disposition: attachment; filename="hdaroot/attribpromote3.def"
+Content-Disposition: attachment; filename="hdaroot/foreach_begin2.def"
Content-Type: text/plain
sopflags sopflags =
comment ""
-position -0.95916 -27.9363
+position 4.31837 8.68154
connectornextid 2
-flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
+flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault off exposed on
outputsNamed3
{
-1 "output1"
+0 "output1"
}
inputsNamed3
{
-0 pointwrangle1 1 1 "input1"
+1 name1 1 1 "input1"
}
inputs
{
-0 pointwrangle1 0 1
+0 name1 0 1
}
stat
{
- create 1547605163
- modify 1563924497
+ create 1555048678
+ modify 1583615492
author Henry@LAPPY586
access 0777
}
-color UT_Color RGB 0.8 0.8 0.8
+color UT_Color RGB 0.75 0.4 0
delscript ""
exprlanguage hscript
end
--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
-Content-Disposition: attachment; filename="hdaroot/attribpromote3.parm"
+Content-Disposition: attachment; filename="hdaroot/foreach_begin2.parm"
Content-Type: text/plain
{
version 0.8
-inname [ 0 locks=0 ] ( name )
-inclass [ 0 locks=0 ] ( "primitive" )
-outclass [ 0 locks=0 ] ( "point" )
-usepieceattrib [ 0 locks=0 ] ( "off" )
-pieceattrib [ 0 locks=0 ] ( name )
-method [ 0 locks=0 ] ( "mean" )
-useoutname [ 0 locks=0 ] ( "off" )
-outname [ 0 locks=0 ] ( "" )
-deletein [ 0 locks=0 ] ( "on" )
+method [ 0 locks=0 ] ( "piece" )
+blockpath [ 0 locks=0 ] ( ../foreach_end2 )
+resetcookpass [ 0 locks=0 ] ( 0 )
+createmetablock [ 0 locks=0 ] ( 0 )
+label1 [ 0 locks=0 ] ( "iteration, numiterations, value, ivalue" )
}
--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
-Content-Disposition: attachment; filename="hdaroot/attribpromote3.userdata"
+Content-Disposition: attachment; filename="hdaroot/foreach_begin2.userdata"
Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"17.5.229"
+ "value":"18.0.391"
}
}
--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
-Content-Disposition: attachment; filename="hdaroot/attribdelete1.init"
+Content-Disposition: attachment; filename="hdaroot/foreach_begin2_metadata1.init"
Content-Type: text/plain
-type = attribdelete
-matchesdef = 1
+type = block_begin
+matchesdef = 0
--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
-Content-Disposition: attachment; filename="hdaroot/attribdelete1.def"
+Content-Disposition: attachment; filename="hdaroot/foreach_begin2_metadata1.def"
Content-Type: text/plain
sopflags sopflags =
comment ""
-position -0.95916 -29.9363
-connectornextid 2
-flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
+position 7.31837 8.94173
+connectornextid 1
+flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault off exposed on
outputsNamed3
{
-1 "output1"
+0 "output1"
}
inputsNamed3
{
-0 attribpromote4 1 1 "input1"
}
inputs
{
-0 attribpromote4 0 1
}
stat
{
- create 1547605176
- modify 1563924497
+ create 1555048724
+ modify 1583614367
author Henry@LAPPY586
access 0777
}
-color UT_Color RGB 0.8 0.8 0.8
+color UT_Color RGB 0.75 0.4 0
delscript ""
exprlanguage hscript
end
--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
-Content-Disposition: attachment; filename="hdaroot/attribdelete1.parm"
+Content-Disposition: attachment; filename="hdaroot/foreach_begin2_metadata1.parm"
Content-Type: text/plain
{
version 0.8
-ptdel [ 0 locks=0 ] ( centerofmass )
-vtxdel [ 0 locks=0 ] ( "" )
-primdel [ 0 locks=0 ] ( "" )
-dtldel [ 0 locks=0 ] ( "" )
-updatevar [ 0 locks=0 ] ( "on" )
+method [ 0 locks=0 ] ( "metadata" )
+blockpath [ 0 locks=0 ] ( ../foreach_end2 )
+resetcookpass [ 0 locks=0 ] ( 0 )
+createmetablock [ 0 locks=0 ] ( 0 )
+label1 [ 0 locks=0 ] ( "iteration, numiterations, value, ivalue" )
}
--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
-Content-Disposition: attachment; filename="hdaroot/attribdelete1.userdata"
+Content-Disposition: attachment; filename="hdaroot/foreach_begin2_metadata1.userdata"
Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":""
+ "value":"18.0.391"
}
}
--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
-Content-Disposition: attachment; filename="hdaroot/do_viz_pieces.init"
+Content-Disposition: attachment; filename="hdaroot/switch_use_groups.init"
Content-Type: text/plain
type = switch
matchesdef = 0
--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
-Content-Disposition: attachment; filename="hdaroot/do_viz_pieces.def"
+Content-Disposition: attachment; filename="hdaroot/switch_use_groups.def"
Content-Type: text/plain
sopflags sopflags =
comment ""
-position -0.92379 -23.0957
+position 0.144702 4.74792
connectornextid 3
flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
outputsNamed3
@@ -4015,18 +4537,18 @@ outputsNamed3
}
inputsNamed3
{
-2 compile_end1 1 1 "input1"
-0 color1 1 1 "input2"
+0 switch_do_k_means_clustering 2 1 "input1"
+2 foreach_end2 1 1 "input2"
}
inputs
{
-0 compile_end1 0 1
-1 color1 0 1
+0 switch_do_k_means_clustering 0 1
+1 foreach_end2 0 1
}
stat
{
- create 1547423273
- modify 1573272243
+ create 1555048774
+ modify 1583615492
author Henry@LAPPY586
access 0777
}
@@ -4036,53 +4558,52 @@ exprlanguage hscript
end
--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
-Content-Disposition: attachment; filename="hdaroot/do_viz_pieces.chn"
+Content-Disposition: attachment; filename="hdaroot/switch_use_groups.chn"
Content-Type: text/plain
{
channel input {
lefttype = extend
righttype = extend
- default = 1
flags = 0
- segment { length = 0 value = 1 1 expr = ch(\"../do_viz_pieces\") }
+ segment { length = 0 expr = "ch(\"../piece_method\") == 3" }
}
}
--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
-Content-Disposition: attachment; filename="hdaroot/do_viz_pieces.parm"
+Content-Disposition: attachment; filename="hdaroot/switch_use_groups.parm"
Content-Type: text/plain
{
version 0.8
-input [ 0 locks=0 ] ( [ input 1 ] )
+input [ 8 locks=0 ] ( [ input 0 ] )
}
--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
-Content-Disposition: attachment; filename="hdaroot/do_viz_pieces.userdata"
+Content-Disposition: attachment; filename="hdaroot/switch_use_groups.userdata"
Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"17.5.229"
+ "value":"18.0.391"
}
}
--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
-Content-Disposition: attachment; filename="hdaroot/name1.init"
+Content-Disposition: attachment; filename="hdaroot/attribpromote4.init"
Content-Type: text/plain
-type = name
+type = attribpromote
matchesdef = 0
--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
-Content-Disposition: attachment; filename="hdaroot/name1.def"
+Content-Disposition: attachment; filename="hdaroot/attribpromote4.def"
Content-Type: text/plain
sopflags sopflags =
comment ""
-position 4.28582 6.16066
+position -1.13276 -34.302
connectornextid 2
flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
outputsNamed3
@@ -4091,16 +4612,16 @@ outputsNamed3
}
inputsNamed3
{
-0 do_compute_orient 1 1 "input1"
+0 attribpromote3 1 1 "input1"
}
inputs
{
-0 do_compute_orient 0 1
+0 attribpromote3 0 1
}
stat
{
- create 1555048475
- modify 1573272243
+ create 1555388743
+ modify 1583615492
author Henry@LAPPY586
access 0777
}
@@ -4110,261 +4631,252 @@ exprlanguage hscript
end
--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
-Content-Disposition: attachment; filename="hdaroot/name1.chn"
-Content-Type: text/plain
-
-{
- channel namefromgroupmask {
- lefttype = extend
- righttype = extend
- defaultString = \"*\"
- flags = 0
- segment { length = 0 expr = chs(\"../namefromgroupmask\") }
- }
- }
-
---HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
-Content-Disposition: attachment; filename="hdaroot/name1.parm"
+Content-Disposition: attachment; filename="hdaroot/attribpromote4.parm"
Content-Type: text/plain
{
version 0.8
-attribname [ 0 locks=0 ] ( name )
-class [ 0 locks=0 ] ( "primitive" )
-donamefromgroup [ 0 locks=0 ] ( "on" )
-namefromgroupmask [ 0 locks=0 ] ( [ namefromgroupmask * ] )
-numnames [ 0 locks=0 ] ( 0 )
-numrenames [ 0 locks=0 ] ( 0 )
+inname [ 0 locks=0 ] ( id )
+inclass [ 0 locks=0 ] ( "primitive" )
+outclass [ 0 locks=0 ] ( "point" )
+usepieceattrib [ 0 locks=0 ] ( "off" )
+pieceattrib [ 0 locks=0 ] ( name )
+method [ 0 locks=0 ] ( "mean" )
+useoutname [ 0 locks=0 ] ( "off" )
+outname [ 0 locks=0 ] ( "" )
+deletein [ 0 locks=0 ] ( "on" )
}
--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
-Content-Disposition: attachment; filename="hdaroot/name1.userdata"
+Content-Disposition: attachment; filename="hdaroot/attribpromote4.userdata"
Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"17.5.229"
+ "value":"18.0.391"
}
}
--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
-Content-Disposition: attachment; filename="hdaroot/foreach_end2.init"
+Content-Disposition: attachment; filename="hdaroot/attribpromote5.init"
Content-Type: text/plain
-type = block_end
+type = attribpromote
matchesdef = 0
--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
-Content-Disposition: attachment; filename="hdaroot/foreach_end2.def"
+Content-Disposition: attachment; filename="hdaroot/attribpromote5.def"
Content-Type: text/plain
sopflags sopflags =
comment ""
-position 4.46557 2.80317
+position -2.0098 -17.8272
connectornextid 2
-flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault off exposed on
+flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
outputsNamed3
{
1 "output1"
}
inputsNamed3
{
-0 primitivewrangle1 1 1 "input1"
+0 do_compute_orient1 1 1 "input1"
}
inputs
{
-0 primitivewrangle1 0 1
+0 do_compute_orient1 0 1
}
stat
{
- create 1555048678
- modify 1573272243
+ create 1563901452
+ modify 1583615492
author Henry@LAPPY586
access 0777
}
-color UT_Color RGB 0.75 0.4 0
+color UT_Color RGB 0.8 0.8 0.8
delscript ""
exprlanguage hscript
end
--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
-Content-Disposition: attachment; filename="hdaroot/foreach_end2.parm"
+Content-Disposition: attachment; filename="hdaroot/attribpromote5.parm"
Content-Type: text/plain
{
version 0.8
-itermethod [ 0 locks=0 ] ( "pieces" )
-method [ 0 locks=0 ] ( "merge" )
-iterations [ 0 locks=0 ] ( 10 )
-startvalue [ 0 locks=0 ] ( 1 )
-increment [ 0 locks=0 ] ( 1 )
-class [ 0 locks=0 ] ( "primitive" )
-useattrib [ 0 locks=0 ] ( "on" )
-attrib [ 0 locks=0 ] ( name )
-usemaxiter [ 0 locks=0 ] ( "off" )
-maxiter [ 0 locks=0 ] ( 10 )
-blockpath [ 0 locks=0 ] ( ../foreach_begin2 )
-templatepath [ 0 locks=0 ] ( ../foreach_begin2 )
-resetcookpass [ 0 locks=0 ] ( 0 )
-dosinglepass [ 0 locks=0 ] ( "off" )
-singlepass [ 0 locks=0 ] ( 0 )
-stopcondition [ 0 locks=0 ] ( 0 )
-multithread [ 0 locks=0 ] ( "off" )
+inname [ 0 locks=0 ] ( N )
+inclass [ 0 locks=0 ] ( "point" )
+outclass [ 0 locks=0 ] ( "primitive" )
+usepieceattrib [ 0 locks=0 ] ( "off" )
+pieceattrib [ 0 locks=0 ] ( name )
+method [ 0 locks=0 ] ( "mean" )
+useoutname [ 0 locks=0 ] ( "on" )
+outname [ 0 locks=0 ] ( __avgN )
+deletein [ 0 locks=0 ] ( "off" )
}
--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
-Content-Disposition: attachment; filename="hdaroot/foreach_end2.userdata"
+Content-Disposition: attachment; filename="hdaroot/attribpromote5.userdata"
Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"17.5.229"
+ "value":"18.0.391"
}
}
--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
-Content-Disposition: attachment; filename="hdaroot/foreach_begin2.init"
+Content-Disposition: attachment; filename="hdaroot/attribpromote6.init"
Content-Type: text/plain
-type = block_begin
+type = attribpromote
matchesdef = 0
--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
-Content-Disposition: attachment; filename="hdaroot/foreach_begin2.def"
+Content-Disposition: attachment; filename="hdaroot/attribpromote6.def"
Content-Type: text/plain
sopflags sopflags =
comment ""
-position 4.46557 4.96737
+position -2.0098 -18.569
connectornextid 2
-flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault off exposed on
+flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
outputsNamed3
{
-0 "output1"
+1 "output1"
}
inputsNamed3
{
-1 name1 1 1 "input1"
+0 attribpromote5 1 1 "input1"
}
inputs
{
-0 name1 0 1
+0 attribpromote5 0 1
}
stat
{
- create 1555048678
- modify 1573272243
+ create 1563901452
+ modify 1583615492
author Henry@LAPPY586
access 0777
}
-color UT_Color RGB 0.75 0.4 0
+color UT_Color RGB 0.8 0.8 0.8
delscript ""
exprlanguage hscript
end
--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
-Content-Disposition: attachment; filename="hdaroot/foreach_begin2.parm"
+Content-Disposition: attachment; filename="hdaroot/attribpromote6.parm"
Content-Type: text/plain
{
version 0.8
-method [ 0 locks=0 ] ( "piece" )
-blockpath [ 0 locks=0 ] ( ../foreach_end2 )
-resetcookpass [ 0 locks=0 ] ( 0 )
-createmetablock [ 0 locks=0 ] ( 0 )
-label1 [ 0 locks=0 ] ( "iteration, numiterations, value, ivalue" )
+inname [ 0 locks=0 ] ( up )
+inclass [ 0 locks=0 ] ( "point" )
+outclass [ 0 locks=0 ] ( "primitive" )
+usepieceattrib [ 0 locks=0 ] ( "off" )
+pieceattrib [ 0 locks=0 ] ( name )
+method [ 0 locks=0 ] ( "first" )
+useoutname [ 0 locks=0 ] ( "on" )
+outname [ 0 locks=0 ] ( __avgup )
+deletein [ 0 locks=0 ] ( "off" )
}
--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
-Content-Disposition: attachment; filename="hdaroot/foreach_begin2.userdata"
+Content-Disposition: attachment; filename="hdaroot/attribpromote6.userdata"
Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"17.5.229"
+ "value":"18.0.391"
}
}
--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
-Content-Disposition: attachment; filename="hdaroot/foreach_begin2_metadata1.init"
+Content-Disposition: attachment; filename="hdaroot/attribpromote7.init"
Content-Type: text/plain
-type = block_begin
+type = attribpromote
matchesdef = 0
--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
-Content-Disposition: attachment; filename="hdaroot/foreach_begin2_metadata1.def"
+Content-Disposition: attachment; filename="hdaroot/attribpromote7.def"
Content-Type: text/plain
sopflags sopflags =
comment ""
-position 7.46557 4.96737
-connectornextid 1
-flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault off exposed on
+position -2.00635 -19.3578
+connectornextid 2
+flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
outputsNamed3
{
-0 "output1"
+1 "output1"
}
inputsNamed3
{
+0 attribpromote6 1 1 "input1"
}
inputs
{
+0 attribpromote6 0 1
}
stat
{
- create 1555048724
- modify 1573272243
+ create 1563901578
+ modify 1583615492
author Henry@LAPPY586
access 0777
}
-color UT_Color RGB 0.75 0.4 0
+color UT_Color RGB 0.8 0.8 0.8
delscript ""
exprlanguage hscript
end
--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
-Content-Disposition: attachment; filename="hdaroot/foreach_begin2_metadata1.parm"
+Content-Disposition: attachment; filename="hdaroot/attribpromote7.parm"
Content-Type: text/plain
{
version 0.8
-method [ 0 locks=0 ] ( "metadata" )
-blockpath [ 0 locks=0 ] ( ../foreach_end2 )
-resetcookpass [ 0 locks=0 ] ( 0 )
-createmetablock [ 0 locks=0 ] ( 0 )
-label1 [ 0 locks=0 ] ( "iteration, numiterations, value, ivalue" )
+inname [ 0 locks=0 ] ( __avgN )
+inclass [ 0 locks=0 ] ( "primitive" )
+outclass [ 0 locks=0 ] ( "point" )
+usepieceattrib [ 0 locks=0 ] ( "off" )
+pieceattrib [ 0 locks=0 ] ( name )
+method [ 0 locks=0 ] ( "mean" )
+useoutname [ 0 locks=0 ] ( "off" )
+outname [ 0 locks=0 ] ( N )
+deletein [ 0 locks=0 ] ( "on" )
}
--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
-Content-Disposition: attachment; filename="hdaroot/foreach_begin2_metadata1.userdata"
+Content-Disposition: attachment; filename="hdaroot/attribpromote7.userdata"
Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"17.5.229"
+ "value":"18.0.391"
}
}
--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
-Content-Disposition: attachment; filename="hdaroot/switch_use_groups.init"
+Content-Disposition: attachment; filename="hdaroot/attribpromote8.init"
Content-Type: text/plain
-type = switch
+type = attribpromote
matchesdef = 0
--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
-Content-Disposition: attachment; filename="hdaroot/switch_use_groups.def"
+Content-Disposition: attachment; filename="hdaroot/attribpromote8.def"
Content-Type: text/plain
sopflags sopflags =
comment ""
-position 0.291901 1.03375
-connectornextid 3
+position -1.88805 -20.3578
+connectornextid 2
flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
outputsNamed3
{
@@ -4372,73 +4884,66 @@ outputsNamed3
}
inputsNamed3
{
-0 switch_do_k_means_clustering 2 1 "input1"
-2 foreach_end2 1 1 "input2"
+0 attribpromote7 1 1 "input1"
}
inputs
{
-0 switch_do_k_means_clustering 0 1
-1 foreach_end2 0 1
+0 attribpromote7 0 1
}
stat
{
- create 1555048774
- modify 1573272243
+ create 1563901578
+ modify 1583615492
author Henry@LAPPY586
access 0777
}
-color UT_Color RGB 0.8 1 0.7
+color UT_Color RGB 0.8 0.8 0.8
delscript ""
exprlanguage hscript
end
--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
-Content-Disposition: attachment; filename="hdaroot/switch_use_groups.chn"
-Content-Type: text/plain
-
-{
- channel input {
- lefttype = extend
- righttype = extend
- flags = 0
- segment { length = 0 expr = "ch(\"../piece_method\") == 3" }
- }
- }
-
---HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
-Content-Disposition: attachment; filename="hdaroot/switch_use_groups.parm"
+Content-Disposition: attachment; filename="hdaroot/attribpromote8.parm"
Content-Type: text/plain
{
version 0.8
-input [ 8 locks=0 ] ( [ input 0 ] )
+inname [ 0 locks=0 ] ( __avgup )
+inclass [ 0 locks=0 ] ( "primitive" )
+outclass [ 0 locks=0 ] ( "point" )
+usepieceattrib [ 0 locks=0 ] ( "off" )
+pieceattrib [ 0 locks=0 ] ( name )
+method [ 0 locks=0 ] ( "mean" )
+useoutname [ 0 locks=0 ] ( "off" )
+outname [ 0 locks=0 ] ( N )
+deletein [ 0 locks=0 ] ( "on" )
}
--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
-Content-Disposition: attachment; filename="hdaroot/switch_use_groups.userdata"
+Content-Disposition: attachment; filename="hdaroot/attribpromote8.userdata"
Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"17.5.229"
+ "value":"18.0.391"
}
}
--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
-Content-Disposition: attachment; filename="hdaroot/attribpromote4.init"
+Content-Disposition: attachment; filename="hdaroot/attribdelete2.init"
Content-Type: text/plain
-type = attribpromote
-matchesdef = 0
+type = attribdelete
+matchesdef = 1
--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
-Content-Disposition: attachment; filename="hdaroot/attribpromote4.def"
+Content-Disposition: attachment; filename="hdaroot/attribdelete2.def"
Content-Type: text/plain
sopflags sopflags =
comment ""
-position -0.95571 -28.9363
+position 5.04861 -38.6461
connectornextid 2
flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
outputsNamed3
@@ -4447,16 +4952,16 @@ outputsNamed3
}
inputsNamed3
{
-0 attribpromote3 1 1 "input1"
+0 MOPs_Reorient 1 1 "input1"
}
inputs
{
-0 attribpromote3 0 1
+0 MOPs_Reorient 0 1
}
stat
{
- create 1555388743
- modify 1563924497
+ create 1563913393
+ modify 1583615492
author Henry@LAPPY586
access 0777
}
@@ -4466,48 +4971,44 @@ exprlanguage hscript
end
--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
-Content-Disposition: attachment; filename="hdaroot/attribpromote4.parm"
+Content-Disposition: attachment; filename="hdaroot/attribdelete2.parm"
Content-Type: text/plain
{
version 0.8
-inname [ 0 locks=0 ] ( id )
-inclass [ 0 locks=0 ] ( "primitive" )
-outclass [ 0 locks=0 ] ( "point" )
-usepieceattrib [ 0 locks=0 ] ( "off" )
-pieceattrib [ 0 locks=0 ] ( name )
-method [ 0 locks=0 ] ( "mean" )
-useoutname [ 0 locks=0 ] ( "off" )
-outname [ 0 locks=0 ] ( "" )
-deletein [ 0 locks=0 ] ( "on" )
+ptdel [ 0 locks=0 ] ( "__avgN __avgup" )
+vtxdel [ 0 locks=0 ] ( "" )
+primdel [ 0 locks=0 ] ( "" )
+dtldel [ 0 locks=0 ] ( "" )
+updatevar [ 0 locks=0 ] ( "on" )
}
--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
-Content-Disposition: attachment; filename="hdaroot/attribpromote4.userdata"
+Content-Disposition: attachment; filename="hdaroot/attribdelete2.userdata"
Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"17.5.229"
+ "value":""
}
}
--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
-Content-Disposition: attachment; filename="hdaroot/attribpromote5.init"
+Content-Disposition: attachment; filename="hdaroot/switch_orient_method.init"
Content-Type: text/plain
-type = attribpromote
+type = switch
matchesdef = 0
--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
-Content-Disposition: attachment; filename="hdaroot/attribpromote5.def"
+Content-Disposition: attachment; filename="hdaroot/switch_orient_method.def"
Content-Type: text/plain
sopflags sopflags =
comment ""
-position -1.98064 -16.4866
-connectornextid 2
+position 1.05612 -39.7805
+connectornextid 3
flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
outputsNamed3
{
@@ -4515,152 +5016,168 @@ outputsNamed3
}
inputsNamed3
{
-0 do_compute_orient1 1 1 "input1"
+0 MOPs_Reorient1 0 1 "input1"
+2 attribdelete2 1 1 "input2"
}
inputs
{
-0 do_compute_orient1 0 1
+0 MOPs_Reorient1 0 1
+1 attribdelete2 0 1
}
stat
{
- create 1563901452
- modify 1563924497
+ create 1563913408
+ modify 1583615492
author Henry@LAPPY586
access 0777
}
-color UT_Color RGB 0.8 0.8 0.8
+color UT_Color RGB 0.8 1 0.7
delscript ""
exprlanguage hscript
end
--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
-Content-Disposition: attachment; filename="hdaroot/attribpromote5.parm"
+Content-Disposition: attachment; filename="hdaroot/switch_orient_method.chn"
+Content-Type: text/plain
+
+{
+ channel input {
+ lefttype = extend
+ righttype = extend
+ default = 1
+ flags = 0
+ segment { length = 0 value = 1 1 expr = ch(\"../orient_method\") }
+ }
+ }
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/switch_orient_method.parm"
Content-Type: text/plain
{
version 0.8
-inname [ 0 locks=0 ] ( N )
-inclass [ 0 locks=0 ] ( "point" )
-outclass [ 0 locks=0 ] ( "primitive" )
-usepieceattrib [ 0 locks=0 ] ( "off" )
-pieceattrib [ 0 locks=0 ] ( name )
-method [ 0 locks=0 ] ( "mean" )
-useoutname [ 0 locks=0 ] ( "on" )
-outname [ 0 locks=0 ] ( __avgN )
-deletein [ 0 locks=0 ] ( "off" )
+input [ 0 locks=0 ] ( [ input 1 ] )
}
--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
-Content-Disposition: attachment; filename="hdaroot/attribpromote5.userdata"
+Content-Disposition: attachment; filename="hdaroot/switch_orient_method.userdata"
Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"17.5.229"
+ "value":"18.0.391"
}
}
--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
-Content-Disposition: attachment; filename="hdaroot/attribpromote6.init"
+Content-Disposition: attachment; filename="hdaroot/do_compute_N_up1.init"
Content-Type: text/plain
-type = attribpromote
+type = switch
matchesdef = 0
--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
-Content-Disposition: attachment; filename="hdaroot/attribpromote6.def"
+Content-Disposition: attachment; filename="hdaroot/do_compute_N_up1.def"
Content-Type: text/plain
sopflags sopflags =
comment ""
-position -1.98064 -17.2284
-connectornextid 2
+position -2.1031 -11.6076
+connectornextid 3
flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
outputsNamed3
{
-1 "output1"
+2 "output1"
}
inputsNamed3
{
-0 attribpromote5 1 1 "input1"
+0 null2 0 1 "input1"
+1 switch1 1 1 "input2"
}
inputs
{
-0 attribpromote5 0 1
+0 null2 0 1
+1 switch1 0 1
}
stat
{
- create 1563901452
- modify 1563924497
+ create 1547416919
+ modify 1583615492
author Henry@LAPPY586
access 0777
}
-color UT_Color RGB 0.8 0.8 0.8
+color UT_Color RGB 0.8 1 0.7
delscript ""
exprlanguage hscript
end
--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
-Content-Disposition: attachment; filename="hdaroot/attribpromote6.parm"
+Content-Disposition: attachment; filename="hdaroot/do_compute_N_up1.chn"
+Content-Type: text/plain
+
+{
+ channel input {
+ lefttype = extend
+ righttype = extend
+ default = 1
+ flags = 0
+ segment { length = 0 value = 1 1 expr = ch(\"../compute_N_up\") }
+ }
+ }
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/do_compute_N_up1.parm"
Content-Type: text/plain
{
version 0.8
-inname [ 0 locks=0 ] ( up )
-inclass [ 0 locks=0 ] ( "point" )
-outclass [ 0 locks=0 ] ( "primitive" )
-usepieceattrib [ 0 locks=0 ] ( "off" )
-pieceattrib [ 0 locks=0 ] ( name )
-method [ 0 locks=0 ] ( "first" )
-useoutname [ 0 locks=0 ] ( "on" )
-outname [ 0 locks=0 ] ( __avgup )
-deletein [ 0 locks=0 ] ( "off" )
+input [ 8 locks=0 ] ( [ input 1 ] )
}
--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
-Content-Disposition: attachment; filename="hdaroot/attribpromote6.userdata"
+Content-Disposition: attachment; filename="hdaroot/do_compute_N_up1.userdata"
Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"17.5.229"
+ "value":"18.0.391"
}
}
--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
-Content-Disposition: attachment; filename="hdaroot/attribpromote7.init"
+Content-Disposition: attachment; filename="hdaroot/polyframe2.init"
Content-Type: text/plain
-type = attribpromote
+type = polyframe
matchesdef = 0
--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
-Content-Disposition: attachment; filename="hdaroot/attribpromote7.def"
+Content-Disposition: attachment; filename="hdaroot/polyframe2.def"
Content-Type: text/plain
sopflags sopflags =
comment ""
-position -1.97719 -18.0172
+position -0.790545 -7.35021
connectornextid 2
-flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
+flags = lock off model off template off footprint off xray off bypass on display off render off highlight off unload off savedata off compress on colordefault on exposed on
outputsNamed3
{
1 "output1"
}
inputsNamed3
{
-0 attribpromote6 1 1 "input1"
+0 null2 0 1 "input1"
}
inputs
{
-0 attribpromote6 0 1
+0 null2 0 1
}
stat
{
- create 1563901578
- modify 1563924497
+ create 1547416957
+ modify 1583615822
author Henry@LAPPY586
access 0777
}
@@ -4670,275 +5187,301 @@ exprlanguage hscript
end
--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
-Content-Disposition: attachment; filename="hdaroot/attribpromote7.parm"
+Content-Disposition: attachment; filename="hdaroot/polyframe2.chn"
+Content-Type: text/plain
+
+{
+ channel style {
+ lefttype = extend
+ righttype = extend
+ defaultString = \"edge2\"
+ flags = 0
+ segment { length = 0 expr = chs(\"../style\") }
+ }
+ channel attribname {
+ lefttype = extend
+ righttype = extend
+ defaultString = \"\"
+ flags = 0
+ segment { length = 0 expr = chs(\"../attribname\") }
+ }
+ }
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/polyframe2.parm"
Content-Type: text/plain
{
version 0.8
-inname [ 0 locks=0 ] ( __avgN )
-inclass [ 0 locks=0 ] ( "primitive" )
-outclass [ 0 locks=0 ] ( "point" )
-usepieceattrib [ 0 locks=0 ] ( "off" )
-pieceattrib [ 0 locks=0 ] ( name )
-method [ 0 locks=0 ] ( "mean" )
-useoutname [ 0 locks=0 ] ( "off" )
-outname [ 0 locks=0 ] ( N )
-deletein [ 0 locks=0 ] ( "on" )
+group [ 0 locks=0 ] ( "" )
+entity [ 0 locks=0 ] ( "primitive" )
+style [ 0 locks=0 ] ( [ style edge2 ] )
+attribname [ 0 locks=0 ] ( [ attribname "" ] )
+Non [ 0 locks=0 ] ( "on" )
+N [ 8 locks=0 ] ( N )
+tangentuon [ 0 locks=0 ] ( "on" )
+tangentu [ 0 locks=0 ] ( up )
+tangentvon [ 0 locks=0 ] ( "off" )
+tangentv [ 0 locks=0 ] ( tangentv )
+signson [ 0 locks=0 ] ( "off" )
+signs [ 0 locks=0 ] ( signs )
+ortho [ 0 locks=0 ] ( "off" )
+lefthanded [ 0 locks=0 ] ( "off" )
}
--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
-Content-Disposition: attachment; filename="hdaroot/attribpromote7.userdata"
+Content-Disposition: attachment; filename="hdaroot/polyframe2.userdata"
Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"17.5.229"
+ "value":"18.0.391"
}
}
--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
-Content-Disposition: attachment; filename="hdaroot/attribpromote8.init"
+Content-Disposition: attachment; filename="hdaroot/do_compute_orient1.init"
Content-Type: text/plain
-type = attribpromote
+type = switch
matchesdef = 0
--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
-Content-Disposition: attachment; filename="hdaroot/attribpromote8.def"
+Content-Disposition: attachment; filename="hdaroot/do_compute_orient1.def"
Content-Type: text/plain
sopflags sopflags =
comment ""
-position -1.85889 -19.0172
-connectornextid 2
-flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
+position -3.3245 -13.6914
+connectornextid 3
+flags = lock off model off template off footprint off xray off bypass on display off render off highlight off unload off savedata off compress on colordefault on exposed on
outputsNamed3
{
1 "output1"
}
inputsNamed3
{
-0 attribpromote7 1 1 "input1"
+2 null2 0 1 "input1"
+0 compute_orient1 1 1 "input2"
}
inputs
{
-0 attribpromote7 0 1
+0 null2 0 1
+1 compute_orient1 0 1
}
stat
{
- create 1563901578
- modify 1563924497
+ create 1547420832
+ modify 1583619347
author Henry@LAPPY586
access 0777
}
-color UT_Color RGB 0.8 0.8 0.8
+color UT_Color RGB 0.8 1 0.7
delscript ""
exprlanguage hscript
end
--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
-Content-Disposition: attachment; filename="hdaroot/attribpromote8.parm"
+Content-Disposition: attachment; filename="hdaroot/do_compute_orient1.chn"
+Content-Type: text/plain
+
+{
+ channel input {
+ lefttype = extend
+ righttype = extend
+ flags = 0
+ segment { length = 0 expr = ch(\"../compute_orient\") }
+ }
+ }
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/do_compute_orient1.parm"
Content-Type: text/plain
{
version 0.8
-inname [ 0 locks=0 ] ( __avgup )
-inclass [ 0 locks=0 ] ( "primitive" )
-outclass [ 0 locks=0 ] ( "point" )
-usepieceattrib [ 0 locks=0 ] ( "off" )
-pieceattrib [ 0 locks=0 ] ( name )
-method [ 0 locks=0 ] ( "mean" )
-useoutname [ 0 locks=0 ] ( "off" )
-outname [ 0 locks=0 ] ( N )
-deletein [ 0 locks=0 ] ( "on" )
+input [ 0 locks=0 ] ( [ input 0 ] )
}
--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
-Content-Disposition: attachment; filename="hdaroot/attribpromote8.userdata"
+Content-Disposition: attachment; filename="hdaroot/do_compute_orient1.userdata"
Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"17.5.229"
+ "value":"18.0.391"
}
}
--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
-Content-Disposition: attachment; filename="hdaroot/attribdelete2.init"
+Content-Disposition: attachment; filename="hdaroot/null2.init"
Content-Type: text/plain
-type = attribdelete
-matchesdef = 1
+type = null
+matchesdef = 0
--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
-Content-Disposition: attachment; filename="hdaroot/attribdelete2.def"
+Content-Disposition: attachment; filename="hdaroot/null2.def"
Content-Type: text/plain
sopflags sopflags =
comment ""
-position 5.22566 -33.2804
+position -2.83244 -6.30136
connectornextid 2
flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
outputsNamed3
{
-1 "output1"
+0 "output1"
}
inputsNamed3
{
-0 MOPs_Reorient 1 1 "input1"
+1 set__id 1 1 "input1"
}
inputs
{
-0 MOPs_Reorient 0 1
+0 set__id 0 1
}
stat
{
- create 1563913393
- modify 1563924497
+ create 1563915006
+ modify 1583615492
author Henry@LAPPY586
access 0777
}
-color UT_Color RGB 0.8 0.8 0.8
+color UT_Color RGB 0.6 0.7 0.77
delscript ""
exprlanguage hscript
end
--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
-Content-Disposition: attachment; filename="hdaroot/attribdelete2.parm"
+Content-Disposition: attachment; filename="hdaroot/null2.parm"
Content-Type: text/plain
{
version 0.8
-ptdel [ 0 locks=0 ] ( "__avgN __avgup" )
-vtxdel [ 0 locks=0 ] ( "" )
-primdel [ 0 locks=0 ] ( "" )
-dtldel [ 0 locks=0 ] ( "" )
-updatevar [ 0 locks=0 ] ( "on" )
+copyinput [ 0 locks=0 ] ( "on" )
+cacheinput [ 0 locks=0 ] ( "off" )
}
--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
-Content-Disposition: attachment; filename="hdaroot/attribdelete2.userdata"
+Content-Disposition: attachment; filename="hdaroot/null2.userdata"
Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":""
+ "value":"18.0.391"
}
}
--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
-Content-Disposition: attachment; filename="hdaroot/switch_orient_method.init"
+Content-Disposition: attachment; filename="hdaroot/normal2.init"
Content-Type: text/plain
-type = switch
+type = normal
matchesdef = 0
--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
-Content-Disposition: attachment; filename="hdaroot/switch_orient_method.def"
+Content-Disposition: attachment; filename="hdaroot/normal2.def"
Content-Type: text/plain
sopflags sopflags =
comment ""
-position 1.23317 -34.4148
-connectornextid 3
-flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
+position -0.790545 -8.35021
+connectornextid 2
+flags = lock off model off template off footprint off xray off bypass on display off render off highlight off unload off savedata off compress on colordefault on exposed on
outputsNamed3
{
1 "output1"
}
inputsNamed3
{
-0 MOPs_Reorient1 0 1 "input1"
-2 attribdelete2 1 1 "input2"
+0 polyframe2 1 1 "input1"
}
inputs
-{
-0 MOPs_Reorient1 0 1
-1 attribdelete2 0 1
-}
-stat
-{
- create 1563913408
- modify 1573272243
- author Henry@LAPPY586
- access 0777
-}
-color UT_Color RGB 0.8 1 0.7
-delscript ""
-exprlanguage hscript
-end
-
---HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
-Content-Disposition: attachment; filename="hdaroot/switch_orient_method.chn"
-Content-Type: text/plain
-
-{
- channel input {
- lefttype = extend
- righttype = extend
- default = 1
- flags = 0
- segment { length = 0 value = 1 1 expr = ch(\"../orient_method\") }
- }
- }
+{
+0 polyframe2 0 1
+}
+stat
+{
+ create 1563921261
+ modify 1583615822
+ author Henry@LAPPY586
+ access 0777
+}
+color UT_Color RGB 0.8 0.8 0.8
+delscript ""
+exprlanguage hscript
+end
--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
-Content-Disposition: attachment; filename="hdaroot/switch_orient_method.parm"
+Content-Disposition: attachment; filename="hdaroot/normal2.parm"
Content-Type: text/plain
{
version 0.8
-input [ 0 locks=0 ] ( [ input 1 ] )
+group [ 0 locks=0 ] ( "" )
+grouptype [ 0 locks=0 ] ( "guess" )
+overridenormal [ 0 locks=0 ] ( "off" )
+normalattrib [ 0 locks=0 ] ( N )
+construct [ 0 locks=0 ] ( 0 )
+docompute [ 0 locks=0 ] ( "on" )
+type [ 0 locks=0 ] ( "typepoint" )
+cuspangle [ 0 locks=0 ] ( 60 )
+method [ 0 locks=0 ] ( 1 )
+origifzero [ 0 locks=0 ] ( "off" )
+modify [ 0 locks=0 ] ( 0 )
+normalize [ 0 locks=0 ] ( "off" )
+reverse [ 0 locks=0 ] ( "off" )
}
--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
-Content-Disposition: attachment; filename="hdaroot/switch_orient_method.userdata"
+Content-Disposition: attachment; filename="hdaroot/normal2.userdata"
Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"17.5.229"
+ "value":"18.0.391"
}
}
--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
-Content-Disposition: attachment; filename="hdaroot/do_compute_N_up1.init"
+Content-Disposition: attachment; filename="hdaroot/do_vertex_normals.init"
Content-Type: text/plain
type = switch
matchesdef = 0
--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
-Content-Disposition: attachment; filename="hdaroot/do_compute_N_up1.def"
+Content-Disposition: attachment; filename="hdaroot/do_vertex_normals.def"
Content-Type: text/plain
sopflags sopflags =
comment ""
-position -2.07394 -10.267
+position -1.01679 -27.5564
connectornextid 3
flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
outputsNamed3
{
-2 "output1"
+1 "output1"
}
inputsNamed3
{
-0 null2 0 1 "input1"
-1 do_custom_up1 1 1 "input2"
+0 do_viz_pieces 1 1 "input1"
+2 normal1 1 1 "input2"
}
inputs
{
-0 null2 0 1
-1 do_custom_up1 0 1
+0 do_viz_pieces 0 1
+1 normal1 0 1
}
stat
{
- create 1547416919
- modify 1573272243
+ create 1563927239
+ modify 1583615492
author Henry@LAPPY586
access 0777
}
@@ -4948,21 +5491,20 @@ exprlanguage hscript
end
--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
-Content-Disposition: attachment; filename="hdaroot/do_compute_N_up1.chn"
+Content-Disposition: attachment; filename="hdaroot/do_vertex_normals.chn"
Content-Type: text/plain
{
channel input {
lefttype = extend
righttype = extend
- default = 1
flags = 0
- segment { length = 0 value = 1 1 expr = ch(\"../compute_N_up\") }
+ segment { length = 0 expr = ch(\"../do_vertex_normals\") }
}
}
--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
-Content-Disposition: attachment; filename="hdaroot/do_compute_N_up1.parm"
+Content-Disposition: attachment; filename="hdaroot/do_vertex_normals.parm"
Content-Type: text/plain
{
@@ -4971,30 +5513,30 @@ input [ 0 locks=0 ] ( [ input 1 ] )
}
--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
-Content-Disposition: attachment; filename="hdaroot/do_compute_N_up1.userdata"
+Content-Disposition: attachment; filename="hdaroot/do_vertex_normals.userdata"
Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"17.5.229"
+ "value":"18.0.391"
}
}
--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
-Content-Disposition: attachment; filename="hdaroot/polyframe2.init"
+Content-Disposition: attachment; filename="hdaroot/normal1.init"
Content-Type: text/plain
-type = polyframe
+type = normal
matchesdef = 0
--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
-Content-Disposition: attachment; filename="hdaroot/polyframe2.def"
+Content-Disposition: attachment; filename="hdaroot/normal1.def"
Content-Type: text/plain
sopflags sopflags =
comment ""
-position -0.790545 -7.09002
+position 0.454806 -26.8355
connectornextid 2
flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
outputsNamed3
@@ -5003,16 +5545,16 @@ outputsNamed3
}
inputsNamed3
{
-0 null2 0 1 "input1"
+0 do_viz_pieces 1 1 "input1"
}
inputs
{
-0 null2 0 1
+0 do_viz_pieces 0 1
}
stat
{
- create 1547416957
- modify 1573272243
+ create 1563927246
+ modify 1583615492
author Henry@LAPPY586
access 0777
}
@@ -5022,74 +5564,66 @@ exprlanguage hscript
end
--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
-Content-Disposition: attachment; filename="hdaroot/polyframe2.chn"
+Content-Disposition: attachment; filename="hdaroot/normal1.chn"
Content-Type: text/plain
{
- channel style {
- lefttype = extend
- righttype = extend
- defaultString = \"edge2\"
- flags = 0
- segment { length = 0 expr = chs(\"../style\") }
- }
- channel attribname {
+ channel cuspangle {
lefttype = extend
righttype = extend
- defaultString = \"\"
+ default = 60
flags = 0
- segment { length = 0 expr = chs(\"../attribname\") }
+ segment { length = 0 value = 60 60 expr = ch(\"../cuspangle\") }
}
}
--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
-Content-Disposition: attachment; filename="hdaroot/polyframe2.parm"
+Content-Disposition: attachment; filename="hdaroot/normal1.parm"
Content-Type: text/plain
{
version 0.8
group [ 0 locks=0 ] ( "" )
-entity [ 0 locks=0 ] ( "primitive" )
-style [ 0 locks=0 ] ( [ style edge2 ] )
-attribname [ 0 locks=0 ] ( [ attribname "" ] )
-Non [ 0 locks=0 ] ( "on" )
-N [ 8 locks=0 ] ( N )
-tangentuon [ 0 locks=0 ] ( "on" )
-tangentu [ 0 locks=0 ] ( up )
-tangentvon [ 0 locks=0 ] ( "off" )
-tangentv [ 0 locks=0 ] ( tangentv )
-signson [ 0 locks=0 ] ( "off" )
-signs [ 0 locks=0 ] ( signs )
-ortho [ 0 locks=0 ] ( "off" )
-lefthanded [ 0 locks=0 ] ( "off" )
+grouptype [ 0 locks=0 ] ( "guess" )
+overridenormal [ 0 locks=0 ] ( "off" )
+normalattrib [ 0 locks=0 ] ( N )
+construct [ 0 locks=0 ] ( 0 )
+docompute [ 0 locks=0 ] ( "on" )
+type [ 0 locks=0 ] ( "typevertex" )
+cuspangle [ 0 locks=0 ] ( [ cuspangle 60 ] )
+method [ 0 locks=0 ] ( 1 )
+origifzero [ 0 locks=0 ] ( "off" )
+modify [ 0 locks=0 ] ( 0 )
+normalize [ 0 locks=0 ] ( "off" )
+reverse [ 0 locks=0 ] ( "off" )
}
--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
-Content-Disposition: attachment; filename="hdaroot/polyframe2.userdata"
+Content-Disposition: attachment; filename="hdaroot/normal1.userdata"
Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"17.5.229"
+ "value":"18.0.391"
}
}
--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
-Content-Disposition: attachment; filename="hdaroot/do_compute_orient1.init"
+Content-Disposition: attachment; filename="hdaroot/extractcentroid1.init"
Content-Type: text/plain
-type = switch
+type = extractcentroid
matchesdef = 0
--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
-Content-Disposition: attachment; filename="hdaroot/do_compute_orient1.def"
+Content-Disposition: attachment; filename="hdaroot/extractcentroid1.def"
Content-Type: text/plain
sopflags sopflags =
comment ""
-position -3.29534 -12.3508
-connectornextid 3
+position -2.83988 -0.203553
+connectornextid 2
flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
outputsNamed3
{
@@ -5097,280 +5631,275 @@ outputsNamed3
}
inputsNamed3
{
-2 null2 0 1 "input1"
-0 compute_orient1 1 1 "input2"
+0 pointwrangle5 1 1 "input1"
}
inputs
{
-0 null2 0 1
-1 compute_orient1 0 1
+0 pointwrangle5 0 1
}
stat
{
- create 1547420832
- modify 1573272243
+ create 1583612803
+ modify 1583615742
author Henry@LAPPY586
access 0777
}
-color UT_Color RGB 0.8 1 0.7
+color UT_Color RGB 0.8 0.8 0.8
delscript ""
exprlanguage hscript
end
--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
-Content-Disposition: attachment; filename="hdaroot/do_compute_orient1.chn"
-Content-Type: text/plain
-
-{
- channel input {
- lefttype = extend
- righttype = extend
- flags = 0
- segment { length = 0 expr = ch(\"../compute_orient\") }
- }
- }
-
---HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
-Content-Disposition: attachment; filename="hdaroot/do_compute_orient1.parm"
+Content-Disposition: attachment; filename="hdaroot/extractcentroid1.parm"
Content-Type: text/plain
{
version 0.8
-input [ 8 locks=0 ] ( [ input 1 ] )
+partitiontype [ 0 locks=0 ] ( "pieces" )
+pieceattrib [ 0 locks=0 ] ( __cluster )
+class [ 0 locks=0 ] ( "prim" )
+method [ 0 locks=0 ] ( "com" )
+output [ 0 locks=0 ] ( "attrib" )
+centroidattrib [ 0 locks=0 ] ( centerofmass )
+transferattributes [ 0 locks=0 ] ( "" )
+transfergroups [ 0 locks=0 ] ( "" )
}
--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
-Content-Disposition: attachment; filename="hdaroot/do_compute_orient1.userdata"
+Content-Disposition: attachment; filename="hdaroot/extractcentroid1.userdata"
Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"17.5.229"
+ "value":"18.0.391"
}
}
--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
-Content-Disposition: attachment; filename="hdaroot/null2.init"
+Content-Disposition: attachment; filename="hdaroot/attribpromote9.init"
Content-Type: text/plain
-type = null
+type = attribpromote
matchesdef = 0
--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
-Content-Disposition: attachment; filename="hdaroot/null2.def"
+Content-Disposition: attachment; filename="hdaroot/attribpromote9.def"
Content-Type: text/plain
sopflags sopflags =
comment ""
-position -2.83244 -6.04117
+position -1.01679 -28.698
connectornextid 2
flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
outputsNamed3
{
-0 "output1"
+1 "output1"
}
inputsNamed3
{
-1 set_name_and_id 1 1 "input1"
+0 do_vertex_normals 1 1 "input1"
}
inputs
{
-0 set_name_and_id 0 1
+0 do_vertex_normals 0 1
}
stat
{
- create 1563915006
- modify 1563924503
+ create 1583613824
+ modify 1583615492
author Henry@LAPPY586
access 0777
}
-color UT_Color RGB 0.6 0.7 0.77
+color UT_Color RGB 0.8 0.8 0.8
delscript ""
exprlanguage hscript
end
--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
-Content-Disposition: attachment; filename="hdaroot/null2.parm"
+Content-Disposition: attachment; filename="hdaroot/attribpromote9.parm"
Content-Type: text/plain
{
version 0.8
-copyinput [ 0 locks=0 ] ( "on" )
-cacheinput [ 0 locks=0 ] ( "off" )
+inname [ 0 locks=0 ] ( centerofmass )
+inclass [ 0 locks=0 ] ( "primitive" )
+outclass [ 0 locks=0 ] ( "point" )
+usepieceattrib [ 0 locks=0 ] ( "off" )
+pieceattrib [ 0 locks=0 ] ( name )
+method [ 0 locks=0 ] ( "mean" )
+useoutname [ 0 locks=0 ] ( "off" )
+outname [ 0 locks=0 ] ( "" )
+deletein [ 0 locks=0 ] ( "on" )
}
--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
-Content-Disposition: attachment; filename="hdaroot/null2.userdata"
+Content-Disposition: attachment; filename="hdaroot/attribpromote9.userdata"
Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"17.5.229"
+ "value":"18.0.391"
}
}
--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
-Content-Disposition: attachment; filename="hdaroot/normal2.init"
+Content-Disposition: attachment; filename="hdaroot/switch1.init"
Content-Type: text/plain
-type = normal
+type = switch
matchesdef = 0
--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
-Content-Disposition: attachment; filename="hdaroot/normal2.def"
+Content-Disposition: attachment; filename="hdaroot/switch1.def"
Content-Type: text/plain
sopflags sopflags =
comment ""
-position -0.790545 -8.09002
-connectornextid 2
-flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
+position -0.790545 -10.5272
+connectornextid 3
+flags = lock off model off template off footprint off xray off bypass on display off render off highlight off unload off savedata off compress on colordefault on exposed on
outputsNamed3
{
1 "output1"
}
inputsNamed3
{
-0 polyframe2 1 1 "input1"
+2 normal2 1 1 "input1"
+0 attribswap1 1 1 "input2"
}
inputs
{
-0 polyframe2 0 1
+0 normal2 0 1
+1 attribswap1 0 1
}
stat
{
- create 1563921261
- modify 1563924503
+ create 1583614284
+ modify 1583615822
author Henry@LAPPY586
access 0777
}
-color UT_Color RGB 0.8 0.8 0.8
+color UT_Color RGB 0.8 1 0.7
delscript ""
exprlanguage hscript
end
--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
-Content-Disposition: attachment; filename="hdaroot/normal2.parm"
+Content-Disposition: attachment; filename="hdaroot/switch1.chn"
+Content-Type: text/plain
+
+{
+ channel input {
+ lefttype = extend
+ righttype = extend
+ flags = 0
+ start = 41.666666666666664
+ segment { length = 0 expr = ch(\"../do_up\") }
+ }
+ }
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/switch1.parm"
Content-Type: text/plain
{
version 0.8
-group [ 0 locks=0 ] ( "" )
-grouptype [ 0 locks=0 ] ( "guess" )
-overridenormal [ 0 locks=0 ] ( "off" )
-normalattrib [ 0 locks=0 ] ( N )
-construct [ 0 locks=0 ] ( 0 )
-docompute [ 0 locks=0 ] ( "on" )
-type [ 0 locks=0 ] ( "typepoint" )
-cuspangle [ 0 locks=0 ] ( 60 )
-method [ 0 locks=0 ] ( 1 )
-modify [ 0 locks=0 ] ( 0 )
-normalize [ 0 locks=0 ] ( "off" )
-reverse [ 0 locks=0 ] ( "off" )
+input [ 0 locks=0 ] ( [ input 0 ] )
}
--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
-Content-Disposition: attachment; filename="hdaroot/normal2.userdata"
+Content-Disposition: attachment; filename="hdaroot/switch1.userdata"
Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"17.5.229"
+ "value":"18.0.391"
}
}
--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
-Content-Disposition: attachment; filename="hdaroot/do_vertex_normals.init"
+Content-Disposition: attachment; filename="hdaroot/attribswap1.init"
Content-Type: text/plain
-type = switch
+type = attribswap
matchesdef = 0
--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
-Content-Disposition: attachment; filename="hdaroot/do_vertex_normals.def"
+Content-Disposition: attachment; filename="hdaroot/attribswap1.def"
Content-Type: text/plain
sopflags sopflags =
comment ""
-position -0.95571 -24.7537
-connectornextid 3
-flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
+position 0.0392081 -9.35384
+connectornextid 2
+flags = lock off model off template off footprint off xray off bypass on display off render off highlight off unload off savedata off compress on colordefault on exposed on
outputsNamed3
{
1 "output1"
}
inputsNamed3
{
-0 do_viz_pieces 1 1 "input1"
-2 normal1 1 1 "input2"
+0 normal2 1 1 "input1"
}
inputs
{
-0 do_viz_pieces 0 1
-1 normal1 0 1
+0 normal2 0 1
}
stat
{
- create 1563927239
- modify 1573272243
+ create 1583614550
+ modify 1583615822
author Henry@LAPPY586
access 0777
}
-color UT_Color RGB 0.8 1 0.7
+color UT_Color RGB 0.8 0.8 0.8
delscript ""
exprlanguage hscript
end
--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
-Content-Disposition: attachment; filename="hdaroot/do_vertex_normals.chn"
-Content-Type: text/plain
-
-{
- channel input {
- lefttype = extend
- righttype = extend
- flags = 0
- segment { length = 0 expr = ch(\"../do_vertex_normals\") }
- }
- }
-
---HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
-Content-Disposition: attachment; filename="hdaroot/do_vertex_normals.parm"
+Content-Disposition: attachment; filename="hdaroot/attribswap1.parm"
Content-Type: text/plain
{
version 0.8
-input [ 0 locks=0 ] ( [ input 1 ] )
+numswaps [ 0 locks=0 ] ( 1 )
+enable1 [ 0 locks=0 ] ( "on" )
+method1 [ 0 locks=0 ] ( "copy" )
+class1 [ 0 locks=0 ] ( "point" )
+srcattribs1 [ 0 locks=0 ] ( __custom_up )
+dstattribs1 [ 0 locks=0 ] ( up )
+typeinfo1 [ 0 locks=0 ] ( "dest" )
}
--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
-Content-Disposition: attachment; filename="hdaroot/do_vertex_normals.userdata"
+Content-Disposition: attachment; filename="hdaroot/attribswap1.userdata"
Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"17.5.229"
+ "value":"18.0.391"
}
}
--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
-Content-Disposition: attachment; filename="hdaroot/normal1.init"
+Content-Disposition: attachment; filename="hdaroot/normal3.init"
Content-Type: text/plain
type = normal
matchesdef = 0
--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
-Content-Disposition: attachment; filename="hdaroot/normal1.def"
+Content-Disposition: attachment; filename="hdaroot/normal3.def"
Content-Type: text/plain
sopflags sopflags =
comment ""
-position 0.515886 -24.0328
+position 3.95127 15.2716
connectornextid 2
flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
outputsNamed3
@@ -5379,16 +5908,16 @@ outputsNamed3
}
inputsNamed3
{
-0 do_viz_pieces 1 1 "input1"
+0 IN 1 1 "input1"
}
inputs
{
-0 do_viz_pieces 0 1
+0 IN 0 1
}
stat
{
- create 1563927246
- modify 1573272243
+ create 1583615492
+ modify 1583615882
author Henry@LAPPY586
access 0777
}
@@ -5398,21 +5927,7 @@ exprlanguage hscript
end
--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
-Content-Disposition: attachment; filename="hdaroot/normal1.chn"
-Content-Type: text/plain
-
-{
- channel cuspangle {
- lefttype = extend
- righttype = extend
- default = 60
- flags = 0
- segment { length = 0 value = 60 60 expr = ch(\"../cuspangle\") }
- }
- }
-
---HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
-Content-Disposition: attachment; filename="hdaroot/normal1.parm"
+Content-Disposition: attachment; filename="hdaroot/normal3.parm"
Content-Type: text/plain
{
@@ -5423,22 +5938,23 @@ overridenormal [ 0 locks=0 ] ( "off" )
normalattrib [ 0 locks=0 ] ( N )
construct [ 0 locks=0 ] ( 0 )
docompute [ 0 locks=0 ] ( "on" )
-type [ 0 locks=0 ] ( "typevertex" )
-cuspangle [ 0 locks=0 ] ( [ cuspangle 60 ] )
+type [ 0 locks=0 ] ( "typepoint" )
+cuspangle [ 0 locks=0 ] ( 60 )
method [ 0 locks=0 ] ( 1 )
+origifzero [ 0 locks=0 ] ( "off" )
modify [ 0 locks=0 ] ( 0 )
normalize [ 0 locks=0 ] ( "off" )
reverse [ 0 locks=0 ] ( "off" )
}
--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
-Content-Disposition: attachment; filename="hdaroot/normal1.userdata"
+Content-Disposition: attachment; filename="hdaroot/normal3.userdata"
Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"17.5.229"
+ "value":"18.0.391"
}
}
@@ -5446,21 +5962,17 @@ Content-Type: text/plain
Content-Disposition: attachment; filename="hdaroot.order"
Content-Type: text/plain
-53
+57
IN
OUT
-set_name_and_id
+set__id
MOPs_Reorient1
-move_to_CoM
foreach_end1
foreach_begin1
cluster1
attribpromote1
foreach_begin1_metadata1
-attribpromote2
-do_custom_up
do_compute_N_up
-polyframe1
compute_orient
switch_do_k_means_clustering
define_initial_clusters
@@ -5490,7 +6002,6 @@ attribpromote8
attribdelete2
switch_orient_method
pointwrangle3
-do_custom_up1
compute_orient1
do_compute_N_up1
polyframe2
@@ -5500,6 +6011,15 @@ normal2
MOPs_Visualize_Frame
do_vertex_normals
normal1
+extractcentroid1
+pointwrangle4
+attribpromote9
+switch1
+pointwrangle5
+attribswap1
+attribwrangle1
+normal3
+make_up
--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
Content-Disposition: attachment; filename="hdaroot.net"
diff --git a/otls/MOPS_xplode.hda/MOPS_8_8Sop_1Explode_8_81.2/DialogScript b/otls/MOPS_xplode.hda/MOPS_8_8Sop_1Explode_8_81.2/DialogScript
index 099465fb..e2a6d9d3 100644
--- a/otls/MOPS_xplode.hda/MOPS_8_8Sop_1Explode_8_81.2/DialogScript
+++ b/otls/MOPS_xplode.hda/MOPS_8_8Sop_1Explode_8_81.2/DialogScript
@@ -46,6 +46,7 @@
name "compute_N_up"
label "Compute N/Up"
type toggle
+ invisible
default { "1" }
range { 0! 10 }
parmtag { "autoscope" "0000000000000000" }
@@ -54,6 +55,7 @@
name "style"
label "Style"
type string
+ invisible
default { "edge2" }
disablewhen "{ compute_N_up == 0 }"
menu {
@@ -68,6 +70,7 @@
name "attribname"
label "Attribute Name"
type string
+ invisible
default { "" }
disablewhen "{ style != attrib style != texuv }"
parmtag { "autoscope" "0000000000000000" }
diff --git a/otls/MOPS_xplode.hda/MOPS_8_8Sop_1Explode_8_81.2/ExtraFileOptions b/otls/MOPS_xplode.hda/MOPS_8_8Sop_1Explode_8_81.2/ExtraFileOptions
index 17fc656e..ceb1baa7 100644
--- a/otls/MOPS_xplode.hda/MOPS_8_8Sop_1Explode_8_81.2/ExtraFileOptions
+++ b/otls/MOPS_xplode.hda/MOPS_8_8Sop_1Explode_8_81.2/ExtraFileOptions
@@ -19,6 +19,10 @@
"type":"string",
"value":""
},
+ "ViewerStateModule/CodeGenInput":{
+ "type":"string",
+ "value":"{\n\t\"state_name\":\"\",\n\t\"state_label\":\"\",\n\t\"state_descr\":\"\",\n\t\"state_icon\":\"$HH/config/Icons\",\n\t\"state_debug_menu\":0,\n\t\"state_sample\":0,\n\t\"state_handler_indices\":[]\n}\n"
+ },
"mops_misc_05.svg/Cursor":{
"type":"intarray",
"value":[1,1]
diff --git a/otls/MOPS_xplode.hda/MOPS_8_8Sop_1Explode_8_81.2/Help b/otls/MOPS_xplode.hda/MOPS_8_8Sop_1Explode_8_81.2/Help
index ba517145..fb7bedbb 100644
--- a/otls/MOPS_xplode.hda/MOPS_8_8Sop_1Explode_8_81.2/Help
+++ b/otls/MOPS_xplode.hda/MOPS_8_8Sop_1Explode_8_81.2/Help
@@ -37,18 +37,8 @@ Cusp Angle:
== Compute Source Orient ==
-Compute N/Up:
- #id: compute_N_up
- Compute normal and up vectors on the input mesh, to be used in creating the orientation frame.
-
-Style:
- #id: style
- The method by which the initial N and up vectors are computed. See the Polyframe SOP for details.
-
-Attribute Name:
- #id: attribname
- If Style is set to "Texture UV", the vector point attribute to read to determine the directionality of the tangent and bitangent vectors.
-
+For more precise control over the source orientation, consider using MOPs Orient Mesh.
+
Custom Up Vector:
#id: custom_up_vector
If enabled, use this up vector instead of the one computed via the above parameters.
diff --git a/otls/MOPS_xplode.hda/MOPS_8_8Sop_1Explode_8_81.2/TypePropertiesOptions b/otls/MOPS_xplode.hda/MOPS_8_8Sop_1Explode_8_81.2/TypePropertiesOptions
index b4811492..a6d52acf 100644
--- a/otls/MOPS_xplode.hda/MOPS_8_8Sop_1Explode_8_81.2/TypePropertiesOptions
+++ b/otls/MOPS_xplode.hda/MOPS_8_8Sop_1Explode_8_81.2/TypePropertiesOptions
@@ -1,14 +1,14 @@
-SaveSpareParms := 0;
CheckExternal := 1;
-SaveIcon := 1;
-GzipContents := 1;
ContentsCompressionType := 1;
-UnlockOnCreate := 0;
-SaveCachedCode := 0;
+ForbidOutsideParms := 1;
+GzipContents := 1;
LockContents := 1;
MakeDefault := 1;
-UseDSParms := 1;
-ForbidOutsideParms := 1;
+ParmsFromVfl := 0;
PrefixDroppedParmLabel := 0;
PrefixDroppedParmName := 0;
-ParmsFromVfl := 0;
+SaveCachedCode := 0;
+SaveIcon := 1;
+SaveSpareParms := 0;
+UnlockOnCreate := 0;
+UseDSParms := 1;
diff --git a/otls/MOPs_Trails.hda/INDEX__SECTION b/otls/MOPs_Trails.hda/INDEX__SECTION
index 2b831c81..753668ba 100644
--- a/otls/MOPs_Trails.hda/INDEX__SECTION
+++ b/otls/MOPs_Trails.hda/INDEX__SECTION
@@ -10,7 +10,7 @@ Inputs: 1 to 1
Subnet: true
Python: false
Empty: false
-Modified: Tue Nov 19 18:52:19 2019
+Modified: Tue Nov 19 13:52:19 2019
Operator: MOPS::Trails::1.1
Label: MOPs Trails
@@ -24,5 +24,5 @@ Inputs: 1 to 1
Subnet: true
Python: false
Empty: false
-Modified: Tue Nov 19 18:54:17 2019
+Modified: Sun Mar 15 18:21:28 2020
diff --git a/otls/MOPs_Trails.hda/MOPS_8_8Sop_1Trails_8_81.1/Contents.dir/.OPdummydefs b/otls/MOPs_Trails.hda/MOPS_8_8Sop_1Trails_8_81.1/Contents.dir/.OPdummydefs
index 6473cfd6..28f317bf 100644
Binary files a/otls/MOPs_Trails.hda/MOPS_8_8Sop_1Trails_8_81.1/Contents.dir/.OPdummydefs and b/otls/MOPs_Trails.hda/MOPS_8_8Sop_1Trails_8_81.1/Contents.dir/.OPdummydefs differ
diff --git a/otls/MOPs_Trails.hda/MOPS_8_8Sop_1Trails_8_81.1/Contents.dir/.OPfallbacks b/otls/MOPs_Trails.hda/MOPS_8_8Sop_1Trails_8_81.1/Contents.dir/.OPfallbacks
index a16532d0..f7c4f483 100644
--- a/otls/MOPs_Trails.hda/MOPS_8_8Sop_1Trails_8_81.1/Contents.dir/.OPfallbacks
+++ b/otls/MOPs_Trails.hda/MOPS_8_8Sop_1Trails_8_81.1/Contents.dir/.OPfallbacks
@@ -1,16 +1,18 @@
-MOPS::Sop/Extract_Attributes::1.0 C:/Users/Henry/Projects/VFX/MOPS/otls/MOPS_extractAttributes.hda
+MOPS::Sop/Extract_Attributes::1.0 C:/Users/Henry/Projects/VFX/MOPS_Prime/otls/MOPS_extractAttributes.hda
MOPS::Sop/Extract_Attributes::1.0 otls/MOPS_extractAttributes.hda
-MOPS::Sop/Orient_Curve::1.0 C:/Users/Henry/Projects/VFX/MOPS/otls/MOPS_Orient_Curve.hda
+MOPS::Sop/Orient_Curve::1.0 C:/Users/Henry/Projects/VFX/MOPS_Prime/otls/MOPS_Orient_Curve.hda
MOPS::Sop/Orient_Curve::1.0 otls/MOPS_Orient_Curve.hda
-MOPS::Sop/Visualize_Frame::1.0 C:/Users/Henry/Projects/VFX/MOPS/otls/MOPS_Visualize_Frame.hda
+MOPS::Sop/Parallel_Transport::1.0 C:/Users/Henry/Projects/VFX/MOPS_Prime/otls/MOPS_Parallel_Transport.hda
+MOPS::Sop/Parallel_Transport::1.0 otls/MOPS_Parallel_Transport.hda
+MOPS::Sop/Visualize_Frame::1.0 C:/Users/Henry/Projects/VFX/MOPS_Prime/otls/MOPS_Visualize_Frame.hda
MOPS::Sop/Visualize_Frame::1.0 otls/MOPS_Visualize_Frame.hda
-Sop/attribdelete C:/PROGRA~1/SIDEEF~1/HOUDIN~1.229/houdini/otls/OPlibSop.hda
+Sop/attribdelete C:/PROGRA~1/SIDEEF~1/HOUDIN~1.391/houdini/otls/OPlibSop.hda
Sop/attribdelete otls/OPlibSop.hda
-Sop/attribwrangle C:/PROGRA~1/SIDEEF~1/HOUDIN~1.229/houdini/otls/OPlibSop.hda
+Sop/attribwrangle C:/PROGRA~1/SIDEEF~1/HOUDIN~1.391/houdini/otls/OPlibSop.hda
Sop/attribwrangle otls/OPlibSop.hda
-Sop/solver C:/PROGRA~1/SIDEEF~1/HOUDIN~1.229/houdini/otls/OPlibSop.hda
+Sop/solver C:/PROGRA~1/SIDEEF~1/HOUDIN~1.391/houdini/otls/OPlibSop.hda
Sop/solver otls/OPlibSop.hda
-Sop/split C:/PROGRA~1/SIDEEF~1/HOUDIN~1.229/houdini/otls/OPlibSop.hda
+Sop/split C:/PROGRA~1/SIDEEF~1/HOUDIN~1.391/houdini/otls/OPlibSop.hda
Sop/split otls/OPlibSop.hda
-Sop/visualize C:/PROGRA~1/SIDEEF~1/HOUDIN~1.229/houdini/otls/OPlibSop.hda
+Sop/visualize C:/PROGRA~1/SIDEEF~1/HOUDIN~1.391/houdini/otls/OPlibSop.hda
Sop/visualize otls/OPlibSop.hda
diff --git a/otls/MOPs_Trails.hda/MOPS_8_8Sop_1Trails_8_81.1/Contents.dir/Contents.mime b/otls/MOPs_Trails.hda/MOPS_8_8Sop_1Trails_8_81.1/Contents.dir/Contents.mime
index ed691acc..c619206c 100644
--- a/otls/MOPs_Trails.hda/MOPS_8_8Sop_1Trails_8_81.1/Contents.dir/Contents.mime
+++ b/otls/MOPs_Trails.hda/MOPS_8_8Sop_1Trails_8_81.1/Contents.dir/Contents.mime
@@ -32,25 +32,24 @@ Content-Type: text/plain
sopflags sopflags =
comment ""
-position 2.77497 -21.6312
-connectornextid 2
-flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
+position -5.17631 -5.95474
+connectornextid 1
+flags = lock off model off template on footprint off xray off bypass off display on render on highlight off unload off savedata off compress on colordefault on exposed on
outputsNamed3
{
-0 "output1"
}
inputsNamed3
{
-1 OUT_BALL 1 1 "input1"
+0 MOPs_Align1 1 1 "input1"
}
inputs
{
-0 OUT_BALL 0 1
+0 MOPs_Align1 0 1
}
stat
{
- create 1574218447
- modify 1574218567
+ create 1584321169
+ modify 1584321683
author Henry@LAPPY586
access 0777
}
@@ -160,7 +159,7 @@ inputs
stat
{
create 1562627194
- modify 1574218448
+ modify 1584321444
author Henry@LAPPY586
access 0777
}
@@ -299,6 +298,8 @@ parmop_transformsopoutput [ 0 locks=0 autoscope=0 ] ( "default" )
transformsopoutput [ 0 locks=0 autoscope=0 ] ( "on" )
parmop_solveinitframe [ 0 locks=0 autoscope=0 ] ( "default" )
solveinitframe [ 0 locks=0 autoscope=0 ] ( "on" )
+parmop_numstamps [ 0 locks=0 ] ( "default" )
+numstamps [ 0 locks=0 ] ( 0 )
parmop_usetimestep [ 0 locks=0 ] ( "default" )
usetimestep [ 0 locks=0 ] ( "on" )
parmop_timescale [ 0 locks=0 ] ( "default" )
@@ -318,7 +319,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"17.5.229"
+ "value":"18.0.391"
}
}
@@ -527,6 +528,12 @@ Content-Type: text/plain
type string
default { "" }
}
+ parm {
+ name "vex_precision"
+ baseparm
+ label "VEX Precision"
+ export none
+ }
--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
Content-Disposition: attachment; filename="hdaroot/solver1/d/s/generate_trails.parm"
@@ -555,6 +562,7 @@ vex_updatenmls [ 0 locks=0 ] ( "off" )
vex_matchattrib [ 0 locks=0 ] ( id )
vex_inplace [ 0 locks=0 ] ( "off" )
vex_selectiongroup [ 0 locks=0 ] ( "" )
+vex_precision [ 0 locks=0 ] ( auto )
folder1 [ 0 locks=0 ] ( 0 0 )
trail_group [ 0 locks=0 ] ( trails )
}
@@ -601,7 +609,7 @@ inputs
stat
{
create 1562629529
- modify 1574218448
+ modify 1584321620
author Henry@LAPPY586
access 0777
}
@@ -636,6 +644,7 @@ vex_updatenmls [ 0 locks=0 ] ( "off" )
vex_matchattrib [ 0 locks=0 ] ( id )
vex_inplace [ 0 locks=0 ] ( "off" )
vex_selectiongroup [ 0 locks=0 ] ( "" )
+vex_precision [ 0 locks=0 ] ( auto )
}
--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
@@ -680,7 +689,7 @@ inputs
stat
{
create 1562629600
- modify 1574218448
+ modify 1584321635
author Henry@LAPPY586
access 0777
}
@@ -714,6 +723,7 @@ vex_updatenmls [ 0 locks=0 ] ( "off" )
vex_matchattrib [ 0 locks=0 ] ( id )
vex_inplace [ 0 locks=0 ] ( "off" )
vex_selectiongroup [ 0 locks=0 ] ( "" )
+vex_precision [ 0 locks=0 ] ( auto )
}
--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
@@ -740,7 +750,7 @@ Content-Type: text/plain
sopflags sopflags =
comment ""
-position 9.38277 -28.8217
+position 9.38277 -29.7275
connectornextid 1
flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
outputsNamed3
@@ -757,7 +767,7 @@ inputs
stat
{
create 1562629721
- modify 1563744479
+ modify 1582051420
author Henry@LAPPY586
access 0777
}
@@ -1007,7 +1017,7 @@ First_Tangent [ 0 locks=0 ] ( [ First_Tangentx 0 ] [ First_Tangenty 1 ] [ Firs
sepparm2 [ 0 locks=0 ] ( )
remove_temp [ 0 locks=0 ] ( [ remove_temp 1 ] )
sepparm3 [ 0 locks=0 ] ( )
-twist_amount [ 0 locks=0 ] ( [ twist_amount 0 ] )
+twist_amount [ 0 locks=0 ] ( [ twist_amount 180 ] )
twist_ramp [ 0 locks=0 ] ( [ twist_ramp 2 ] )
twist_ramp1pos [ 0 locks=0 ] ( [ twist_ramp1pos 0 ] )
twist_ramp1value [ 0 locks=0 ] ( [ twist_ramp1value 0 ] )
@@ -1256,6 +1266,12 @@ Content-Type: text/plain
parmtag { "editor" "1" }
parmtag { "editorlang" "vex" }
}
+ parm {
+ name "vex_precision"
+ baseparm
+ label "VEX Precision"
+ export none
+ }
--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
Content-Disposition: attachment; filename="hdaroot/scale_duration.chn"
@@ -1328,8 +1344,9 @@ vex_updatenmls [ 0 locks=0 ] ( "off" )
vex_matchattrib [ 0 locks=0 ] ( id )
vex_inplace [ 0 locks=0 ] ( "off" )
vex_selectiongroup [ 0 locks=0 ] ( "" )
+vex_precision [ 0 locks=0 ] ( auto )
folder1 [ 0 locks=0 ] ( 0 0 )
-max_duration [ 0 locks=0 ] ( [ max_duration 48 ] )
+max_duration [ 0 locks=0 ] ( [ max_duration 18 ] )
do_falloff [ 0 locks=0 ] ( [ do_falloff 0 ] )
do_vexpression [ 0 locks=0 ] ( [ do_vexpression 0 ] )
vexpression [ 0 locks=0 ] ( [ vexpression "// falloff = 1;
@@ -1575,6 +1592,12 @@ Content-Type: text/plain
parmtag { "editor" "1" }
parmtag { "editorlang" "vex" }
}
+ parm {
+ name "vex_precision"
+ baseparm
+ label "VEX Precision"
+ export none
+ }
--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
Content-Disposition: attachment; filename="hdaroot/to_clip_space1.chn"
@@ -1649,6 +1672,7 @@ vex_updatenmls [ 0 locks=0 ] ( "off" )
vex_matchattrib [ 0 locks=0 ] ( id )
vex_inplace [ 0 locks=0 ] ( "off" )
vex_selectiongroup [ 0 locks=0 ] ( "" )
+vex_precision [ 0 locks=0 ] ( auto )
folder1 [ 0 locks=0 ] ( 0 0 )
max_length [ 0 locks=0 ] ( [ max_length 2 ] )
do_vexpression [ 0 locks=0 ] ( [ do_vexpression 0 ] )
@@ -1733,6 +1757,7 @@ vex_updatenmls [ 0 locks=0 ] ( "off" )
vex_matchattrib [ 0 locks=0 ] ( id )
vex_inplace [ 0 locks=0 ] ( "off" )
vex_selectiongroup [ 0 locks=0 ] ( "" )
+vex_precision [ 0 locks=0 ] ( auto )
}
--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
@@ -1975,6 +2000,12 @@ Content-Type: text/plain
parmtag { "editor" "1" }
parmtag { "editorlang" "vex" }
}
+ parm {
+ name "vex_precision"
+ baseparm
+ label "VEX Precision"
+ export none
+ }
--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
Content-Disposition: attachment; filename="hdaroot/pointwrangle2.chn"
@@ -2047,6 +2078,7 @@ vex_updatenmls [ 0 locks=0 ] ( "off" )
vex_matchattrib [ 0 locks=0 ] ( id )
vex_inplace [ 0 locks=0 ] ( "off" )
vex_selectiongroup [ 0 locks=0 ] ( "" )
+vex_precision [ 0 locks=0 ] ( auto )
folder1 [ 0 locks=0 ] ( 0 0 )
seed [ 0 locks=0 ] ( [ seed 0 ] )
random_range [ 0 locks=0 ] ( [ random_rangex 0.5 ] [ random_rangey 1 ] )
@@ -2065,6 +2097,87 @@ Content-Type: text/plain
}
}
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/pointwrangle3.init"
+Content-Type: text/plain
+
+type = attribwrangle
+matchesdef = 1
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/pointwrangle3.def"
+Content-Type: text/plain
+
+sopflags sopflags =
+comment ""
+position 7.06463 -25.0216
+connectornextid 2
+flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
+outputsNamed3
+{
+1 "output1"
+}
+inputsNamed3
+{
+0 resample3 1 1 "input1"
+}
+inputs
+{
+0 resample3 0 1
+}
+stat
+{
+ create 1582051420
+ modify 1584321653
+ author Henry@LAPPY586
+ access 0777
+}
+color UT_Color RGB 0.8 0.8 0.8
+delscript ""
+exprlanguage hscript
+end
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/pointwrangle3.parm"
+Content-Type: text/plain
+
+{
+version 0.8
+folder0 [ 0 locks=0 ] ( 0 0 )
+group [ 0 locks=0 ] ( "" )
+grouptype [ 0 locks=0 ] ( "guess" )
+class [ 0 locks=0 ] ( "point" )
+vex_numcount [ 0 locks=0 ] ( 10 )
+vex_threadjobsize [ 0 locks=0 ] ( 1024 )
+snippet [ 0 locks=0 ] ( "@attr = 1-@attr;" )
+exportlist [ 0 locks=0 ] ( * )
+vex_strict [ 0 locks=0 ] ( "off" )
+autobind [ 0 locks=0 ] ( "on" )
+bindings [ 0 locks=0 ] ( 1 )
+groupautobind [ 0 locks=0 ] ( "on" )
+groupbindings [ 0 locks=0 ] ( 0 )
+vex_cwdpath [ 0 locks=0 ] ( . )
+vex_outputmask [ 0 locks=0 ] ( * )
+vex_updatenmls [ 0 locks=0 ] ( "off" )
+vex_matchattrib [ 0 locks=0 ] ( id )
+vex_inplace [ 0 locks=0 ] ( "off" )
+vex_selectiongroup [ 0 locks=0 ] ( "" )
+vex_precision [ 0 locks=0 ] ( auto )
+bindname1 [ 0 locks=0 ] ( `chs(\"../resample3/curveuattr\")` )
+bindparm1 [ 0 locks=0 ] ( attr )
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/pointwrangle3.userdata"
+Content-Type: text/plain
+
+{
+ "___Version___":{
+ "type":"string",
+ "value":""
+ }
+}
+
--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
Content-Disposition: attachment; filename="hdaroot/solver1/d/s/Prev_Frame.init"
Content-Type: text/plain
@@ -2094,7 +2207,7 @@ inputs
stat
{
create 1324348265
- modify 1574218636
+ modify 1584321625
author nobody@nowhere.sidefx.com
access 0777
}
@@ -2143,6 +2256,8 @@ viewportlod [ 0 locks=0 ] ( "full" )
importbyname [ 0 locks=0 autoscope=0 ] ( "on" )
objectnames [ 0 locks=0 ] ( "dopobject" )
geodatapath [ 0 locks=0 autoscope=0 ] ( "`stamps(\"..\", \"DATANAME\", chs(\"../datapath\"))`" )
+transferattributes [ 0 locks=0 ] ( "" )
+transfergroups [ 0 locks=0 ] ( "" )
inverseop [ 0 locks=0 autoscope=0 ] ( "off" )
doposxform [ 0 locks=0 autoscope=0 ] ( [ doposxform 1 ] )
doxform [ 0 locks=0 autoscope=0 ] ( [ doxform 1 ] )
@@ -2165,7 +2280,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"17.5.229"
+ "value":"18.0.391"
}
}
@@ -2244,7 +2359,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"17.5.229"
+ "value":"18.0.391"
}
}
@@ -2323,7 +2438,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"17.5.229"
+ "value":"18.0.391"
}
}
@@ -2402,7 +2517,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"17.5.229"
+ "value":"18.0.391"
}
}
@@ -2481,7 +2596,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"17.5.229"
+ "value":"18.0.391"
}
}
@@ -2556,7 +2671,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"17.5.229"
+ "value":"18.0.391"
}
}
@@ -2681,7 +2796,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"17.5.229"
+ "value":"18.0.391"
}
}
@@ -2741,7 +2856,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"17.5.229"
+ "value":"18.0.391"
}
}
@@ -2824,7 +2939,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"17.5.229"
+ "value":"18.0.391"
}
}
@@ -2841,7 +2956,7 @@ Content-Type: text/plain
sopflags sopflags =
comment ""
-position 2.99521 -34.7472
+position 2.99521 -35.653
connectornextid 1
flags = lock off model off template off footprint off xray off bypass off display on render on highlight off unload off savedata off compress on colordefault on exposed on
outputsNamed3
@@ -2858,7 +2973,7 @@ inputs
stat
{
create 1562627924
- modify 1574218453
+ modify 1584321682
author Henry@LAPPY586
access 0777
}
@@ -2883,7 +2998,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"17.5.229"
+ "value":"18.0.391"
}
}
@@ -2900,7 +3015,7 @@ Content-Type: text/plain
sopflags sopflags =
comment ""
-position 3.25377 -28.4275
+position 3.25377 -29.3333
connectornextid 3
flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
outputsNamed3
@@ -2920,7 +3035,7 @@ inputs
stat
{
create 1562628186
- modify 1563744481
+ modify 1584321683
author Henry@LAPPY586
access 0777
}
@@ -2945,7 +3060,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"17.5.229"
+ "value":"18.0.391"
}
}
@@ -3037,7 +3152,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"17.5.229"
+ "value":"18.0.391"
}
}
@@ -3102,7 +3217,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"17.5.229"
+ "value":"18.0.391"
}
}
@@ -3197,7 +3312,7 @@ Content-Type: text/plain
{
version 0.8
method [ 0 locks=0 ] ( "byframe" )
-frame [ 8 locks=0 ] ( [ frame 120 ] )
+frame [ 8 locks=0 ] ( [ frame 240 ] )
integerframe [ 0 locks=0 ] ( "on" )
time [ 0 locks=0 ] ( [ time 0 ] )
rangeclamp [ 0 locks=0 ] ( "none" )
@@ -3212,7 +3327,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"17.5.229"
+ "value":"18.0.391"
}
}
@@ -3247,7 +3362,7 @@ inputs
stat
{
create 1562629569
- modify 1562732312
+ modify 1584321622
author Henry@LAPPY586
access 0777
}
@@ -3277,7 +3392,7 @@ Content-Type: text/plain
version 0.8
group [ 0 locks=0 ] ( "" )
clipop [ 0 locks=0 ] ( "below" )
-origin [ 8 locks=0 ] ( 0 [ originy 54 ] 0 )
+origin [ 8 locks=0 ] ( 0 [ originy 64 ] 0 )
dist [ 0 locks=0 ] ( 0 )
dir [ 0 locks=0 ] ( 0 1 0 )
newg [ 0 locks=0 ] ( "off" )
@@ -3293,7 +3408,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"17.5.229"
+ "value":"18.0.391"
}
}
@@ -3394,7 +3509,7 @@ inputs
stat
{
create 1562630025
- modify 1574218448
+ modify 1584321616
author Henry@LAPPY586
access 0777
}
@@ -3432,7 +3547,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"17.5.229"
+ "value":"18.0.391"
}
}
@@ -3579,7 +3694,7 @@ allequal [ 0 locks=0 ] ( [ allequal 1 ] )
last [ 0 locks=0 ] ( [ last 0 ] )
randomshift [ 0 locks=0 ] ( [ randomshift 0 ] )
onlypoints [ 0 locks=0 ] ( "off" )
-treatpolysas [ 0 locks=0 ] ( [ treatpolysas 0 ] )
+treatpolysas [ 0 locks=0 ] ( [ treatpolysas 1 ] )
outputsubdpoly [ 0 locks=0 ] ( [ outputsubdpoly 0 ] )
doptdistattr [ 0 locks=0 ] ( "off" )
ptdistattr [ 0 locks=0 ] ( ptdist )
@@ -3598,7 +3713,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"17.5.229"
+ "value":"18.0.391"
}
}
@@ -3663,7 +3778,7 @@ Content-Type: text/plain
{
version 0.8
-input [ 0 locks=0 ] ( [ input 1 ] )
+input [ 0 locks=0 ] ( [ input 0 ] )
}
--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
@@ -3673,7 +3788,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"17.5.229"
+ "value":"18.0.391"
}
}
@@ -3741,7 +3856,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"17.5.229"
+ "value":"18.0.391"
}
}
@@ -3780,7 +3895,7 @@ inputs
stat
{
create 1562640647
- modify 1574218448
+ modify 1584321625
author Henry@LAPPY586
access 0777
}
@@ -3819,7 +3934,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"17.5.229"
+ "value":"18.0.391"
}
}
@@ -3887,7 +4002,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"17.5.229"
+ "value":"18.0.391"
}
}
@@ -3960,7 +4075,9 @@ snapgroup [ 0 locks=0 ] ( 0 )
snaptype [ 0 locks=0 ] ( "distancesnap" )
algorithm [ 0 locks=0 ] ( "lowest" )
usetol3d [ 0 locks=0 ] ( "on" )
-tol3d [ 0 locks=0 ] ( [ tol3d 0.001 ] )
+tol3d [ 0 locks=0 ] ( [ tol3d 0.0001 ] )
+targetptattrib [ 0 locks=0 ] ( snap_to )
+targetclass [ 0 locks=0 ] ( "point" )
usepositionsnapmethod [ 0 locks=0 ] ( "on" )
positionsnapmethod [ 0 locks=0 ] ( "average" )
useradiusattrib [ 0 locks=0 ] ( "off" )
@@ -3968,6 +4085,7 @@ radiusattrib [ 0 locks=0 ] ( pscale )
usematchattrib [ 0 locks=0 ] ( "off" )
matchattrib [ 0 locks=0 ] ( name )
matchtype [ 0 locks=0 ] ( "match" )
+matchtol [ 0 locks=0 ] ( 0 )
gridtype [ 0 locks=0 ] ( "spacing" )
gridspacing [ 0 locks=0 ] ( 0.10000000000000001 0.10000000000000001 0.10000000000000001 )
gridlines [ 0 locks=0 ] ( 10 10 10 )
@@ -3999,7 +4117,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"17.5.229"
+ "value":"18.0.391"
}
}
@@ -4072,7 +4190,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"17.5.229"
+ "value":"18.0.391"
}
}
@@ -4109,7 +4227,7 @@ inputs
stat
{
create 1562730130
- modify 1574218448
+ modify 1584321629
author Henry@LAPPY586
access 0777
}
@@ -4148,7 +4266,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"17.5.229"
+ "value":"18.0.391"
}
}
@@ -4216,7 +4334,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"17.5.229"
+ "value":"18.0.391"
}
}
@@ -4299,7 +4417,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"17.5.229"
+ "value":"18.0.391"
}
}
@@ -4375,7 +4493,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"17.5.229"
+ "value":"18.0.391"
}
}
@@ -4458,7 +4576,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"17.5.229"
+ "value":"18.0.391"
}
}
@@ -4475,7 +4593,7 @@ Content-Type: text/plain
sopflags sopflags =
comment ""
-position 2.87629 -24.9996
+position 0.789383 -24.899
connectornextid 2
flags = lock off model off template off footprint off xray off bypass off display off render off highlight on unload off savedata off compress on colordefault on exposed on
outputsNamed3
@@ -4493,7 +4611,7 @@ inputs
stat
{
create 1563744429
- modify 1574218448
+ modify 1582051169
author Henry@LAPPY586
access 0777
}
@@ -4556,7 +4674,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"17.5.229"
+ "value":"18.0.391"
}
}
@@ -4573,7 +4691,7 @@ Content-Type: text/plain
sopflags sopflags =
comment ""
-position 4.11168 -26.1007
+position 4.34902 -27.7608
connectornextid 2
flags = lock off model off template off footprint off xray off bypass off display off render off highlight on unload off savedata off compress on colordefault on exposed on
outputsNamed3
@@ -4582,16 +4700,16 @@ outputsNamed3
}
inputsNamed3
{
-0 from_clip_space 1 1 "input1"
+0 switch1 1 1 "input1"
}
inputs
{
-0 from_clip_space 0 1
+0 switch1 0 1
}
stat
{
create 1563744429
- modify 1574218448
+ modify 1582051420
author Henry@LAPPY586
access 0777
}
@@ -4668,68 +4786,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"17.5.229"
- }
-}
-
---HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
-Content-Disposition: attachment; filename="hdaroot/merge1.init"
-Content-Type: text/plain
-
-type = merge
-matchesdef = 0
-
---HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
-Content-Disposition: attachment; filename="hdaroot/merge1.def"
-Content-Type: text/plain
-
-sopflags sopflags =
-comment ""
-position 1.36062 -31.6713
-connectornextid 3
-flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
-outputsNamed3
-{
-1 "output1"
-}
-inputsNamed3
-{
-2 (__dot1) "" 1 "input1"
-0 groupdelete1 1 1 "input2"
-}
-inputs
-{
-0 (__dot1) 0 1
-1 groupdelete1 0 1
-}
-stat
-{
- create 1563744450
- modify 1574218454
- author Henry@LAPPY586
- access 0777
-}
-color UT_Color RGB 0.8 0.8 0.8
-delscript ""
-exprlanguage hscript
-end
-
---HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
-Content-Disposition: attachment; filename="hdaroot/merge1.parm"
-Content-Type: text/plain
-
-{
-version 0.8
-}
-
---HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
-Content-Disposition: attachment; filename="hdaroot/merge1.userdata"
-Content-Type: text/plain
-
-{
- "___Version___":{
- "type":"string",
- "value":"17.5.229"
+ "value":"18.0.391"
}
}
@@ -4746,7 +4803,7 @@ Content-Type: text/plain
sopflags sopflags =
comment ""
-position 3.25032 -29.5906
+position 3.25032 -30.4964
connectornextid 2
flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
outputsNamed3
@@ -4764,7 +4821,7 @@ inputs
stat
{
create 1562646479
- modify 1563744479
+ modify 1582052378
author Henry@LAPPY586
access 0777
}
@@ -4773,6 +4830,20 @@ delscript ""
exprlanguage hscript
end
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/attribute1.chn"
+Content-Type: text/plain
+
+{
+ channel ptkeep {
+ lefttype = extend
+ righttype = extend
+ defaultString = chs(\"../inherit_attrs\")
+ flags = 0
+ segment { length = 0 expr = chs(\"../inherit_attrs\") }
+ }
+ }
+
--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
Content-Disposition: attachment; filename="hdaroot/attribute1.parm"
Content-Type: text/plain
@@ -4783,7 +4854,7 @@ stdswitcher [ 0 locks=0 ] ( 0 0 0 0 0 )
_label1_ [ 0 locks=0 ] ( From To )
ptrenames [ 0 locks=0 ] ( 0 )
ptdel [ 0 locks=0 ] ( "__distance __rest __trail_frame" )
-ptkeep [ 0 locks=0 ] ( * )
+ptkeep [ 8 locks=0 ] ( [ ptkeep "* ^id" ] )
_label2_ [ 0 locks=0 ] ( From To )
vtxrenames [ 0 locks=0 ] ( 5 )
vtxdel [ 0 locks=0 ] ( "" )
@@ -4861,7 +4932,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"17.5.229"
+ "value":"18.0.391"
}
}
@@ -4878,7 +4949,7 @@ Content-Type: text/plain
sopflags sopflags =
comment ""
-position 3.25377 -30.5906
+position 3.1532 -32.9547
connectornextid 2
flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
outputsNamed3
@@ -4896,7 +4967,7 @@ inputs
stat
{
create 1563745500
- modify 1563745505
+ modify 1582051420
author Henry@LAPPY586
access 0777
}
@@ -4925,7 +4996,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"17.5.229"
+ "value":"18.0.391"
}
}
@@ -4990,7 +5061,7 @@ Content-Type: text/plain
{
version 0.8
-input [ 8 locks=0 ] ( [ input 1 ] )
+input [ 8 locks=0 ] ( [ input 0 ] )
}
--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
@@ -5000,7 +5071,7 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"17.5.229"
+ "value":"18.0.391"
}
}
@@ -5052,7 +5123,11 @@ Content-Type: text/plain
version 0.8
group [ 0 locks=0 ] ( "" )
grouptype [ 0 locks=0 ] ( "point" )
+usepieceattrib [ 0 locks=0 ] ( "off" )
+pieceattrib [ 0 locks=0 ] ( name )
attribname [ 0 locks=0 ] ( id )
+attribtype [ 0 locks=0 ] ( "int" )
+prefix [ 0 locks=0 ] ( piece )
}
--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
@@ -5062,7 +5137,179 @@ Content-Type: text/plain
{
"___Version___":{
"type":"string",
- "value":"17.5.229"
+ "value":"18.0.391"
+ }
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/resample3.init"
+Content-Type: text/plain
+
+type = resample
+matchesdef = 0
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/resample3.def"
+Content-Type: text/plain
+
+sopflags sopflags =
+comment ""
+position 7.06763 -24.0433
+connectornextid 2
+flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
+outputsNamed3
+{
+1 "output1"
+}
+inputsNamed3
+{
+0 from_clip_space 1 1 "input1"
+}
+inputs
+{
+0 from_clip_space 0 1
+}
+stat
+{
+ create 1582051174
+ modify 1584321650
+ author Henry@LAPPY586
+ access 0777
+}
+color UT_Color RGB 0.8 0.8 0.8
+delscript ""
+exprlanguage hscript
+end
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/resample3.chn"
+Content-Type: text/plain
+
+{
+ channel curveuattr {
+ lefttype = extend
+ righttype = extend
+ defaultString = \"mops_falloff\"
+ flags = 0
+ segment { length = 0 expr = chs(\"../trail_falloff_attr\") }
+ }
+ }
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/resample3.parm"
+Content-Type: text/plain
+
+{
+version 0.8
+group [ 0 locks=0 ] ( "" )
+lod [ 0 locks=0 ] ( 1 )
+edge [ 0 locks=0 ] ( "off" )
+method [ 0 locks=0 ] ( "dist" )
+measure [ 0 locks=0 ] ( "arc" )
+dolength [ 0 locks=0 ] ( "off" )
+length [ 0 locks=0 ] ( 0.10000000000000001 )
+dosegs [ 0 locks=0 ] ( "off" )
+segs [ 0 locks=0 ] ( 10 )
+useattribs [ 0 locks=0 ] ( "on" )
+allequal [ 0 locks=0 ] ( "on" )
+last [ 0 locks=0 ] ( "off" )
+randomshift [ 0 locks=0 ] ( "off" )
+onlypoints [ 0 locks=0 ] ( "off" )
+treatpolysas [ 0 locks=0 ] ( "straight" )
+outputsubdpoly [ 0 locks=0 ] ( "off" )
+doptdistattr [ 0 locks=0 ] ( "off" )
+ptdistattr [ 0 locks=0 ] ( ptdist )
+dotangentattr [ 0 locks=0 ] ( "off" )
+tangentattr [ 0 locks=0 ] ( tangentu )
+docurveuattr [ 0 locks=0 ] ( "on" )
+curveuattr [ 0 locks=0 ] ( [ curveuattr mops_falloff ] )
+docurvenumattr [ 0 locks=0 ] ( "off" )
+curvenumattr [ 0 locks=0 ] ( curvenum )
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/resample3.userdata"
+Content-Type: text/plain
+
+{
+ "___Version___":{
+ "type":"string",
+ "value":"18.0.391"
+ }
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/switch1.init"
+Content-Type: text/plain
+
+type = switch
+matchesdef = 0
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/switch1.def"
+Content-Type: text/plain
+
+sopflags sopflags =
+comment ""
+position 4.34902 -26.1811
+connectornextid 3
+flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault on exposed on
+outputsNamed3
+{
+1 "output1"
+}
+inputsNamed3
+{
+0 from_clip_space 1 1 "input1"
+2 pointwrangle3 1 1 "input2"
+}
+inputs
+{
+0 from_clip_space 0 1
+1 pointwrangle3 0 1
+}
+stat
+{
+ create 1582051189
+ modify 1584321679
+ author Henry@LAPPY586
+ access 0777
+}
+color UT_Color RGB 0.8 1 0.7
+delscript ""
+exprlanguage hscript
+end
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/switch1.chn"
+Content-Type: text/plain
+
+{
+ channel input {
+ lefttype = extend
+ righttype = extend
+ flags = 0
+ segment { length = 0 expr = ch(\"../do_trail_falloff\") }
+ }
+ }
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/switch1.parm"
+Content-Type: text/plain
+
+{
+version 0.8
+input [ 8 locks=0 ] ( [ input 1 ] )
+}
+
+--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
+Content-Disposition: attachment; filename="hdaroot/switch1.userdata"
+Content-Type: text/plain
+
+{
+ "___Version___":{
+ "type":"string",
+ "value":"18.0.391"
}
}
@@ -5083,7 +5330,7 @@ Content-Type: text/plain
Content-Disposition: attachment; filename="hdaroot.order"
Content-Type: text/plain
-38
+40
solver1
to_clip_space
from_clip_space
@@ -5117,11 +5364,13 @@ switch_do_uv
resample2
group1
group2
-merge1
attribute1
groupdelete1
make_id
enumerate1
+resample3
+switch1
+pointwrangle3
--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
Content-Disposition: attachment; filename="hdaroot.net"
diff --git a/otls/MOPs_Trails.hda/MOPS_8_8Sop_1Trails_8_81.1/DialogScript b/otls/MOPs_Trails.hda/MOPS_8_8Sop_1Trails_8_81.1/DialogScript
index 098f8952..27fde75e 100644
--- a/otls/MOPs_Trails.hda/MOPS_8_8Sop_1Trails_8_81.1/DialogScript
+++ b/otls/MOPs_Trails.hda/MOPS_8_8Sop_1Trails_8_81.1/DialogScript
@@ -289,15 +289,8 @@
group {
name "folder2_1"
- label "Output"
+ label "Attributes"
- parm {
- name "groupname"
- label "Trails Group Name"
- type string
- default { "trails" }
- parmtag { "autoscope" "0000000000000000" }
- }
parm {
name "do_uv"
label "Create Trail UVs"
@@ -318,6 +311,48 @@
parmtag { "autoscope" "0000000000000000" }
parmtag { "sidefx::attrib_access" "write" }
}
+ parm {
+ name "inherit_attrs"
+ label "Inherit Attributes"
+ type string
+ default { "* ^id" }
+ menutoggle {
+ [ "opmenu -l -a attribute1 ptkeep" ]
+ }
+ parmtag { "autoscope" "0000000000000000" }
+ parmtag { "script_callback_language" "python" }
+ }
+ parm {
+ name "do_trail_falloff"
+ label "Create Trail Falloff"
+ type toggle
+ default { "1" }
+ range { 0! 10 }
+ parmtag { "autoscope" "0000000000000000" }
+ parmtag { "script_callback_language" "python" }
+ }
+ parm {
+ name "trail_falloff_attr"
+ label "Falloff Attribute"
+ type string
+ default { "mops_falloff" }
+ disablewhen "{ trail_falloff_attr == 0 }"
+ parmtag { "autoscope" "0000000000000000" }
+ parmtag { "script_callback_language" "python" }
+ }
+ }
+
+ group {
+ name "folder2_2"
+ label "Output"
+
+ parm {
+ name "groupname"
+ label "Trails Group Name"
+ type string
+ default { "trails" }
+ parmtag { "autoscope" "0000000000000000" }
+ }
parm {
name "clip_mode"
label "Clipping Mode"
diff --git a/otls/MOPs_Trails.hda/MOPS_8_8Sop_1Trails_8_81.1/ExtraFileOptions b/otls/MOPs_Trails.hda/MOPS_8_8Sop_1Trails_8_81.1/ExtraFileOptions
index 17b6a72a..0d5f8239 100644
--- a/otls/MOPs_Trails.hda/MOPS_8_8Sop_1Trails_8_81.1/ExtraFileOptions
+++ b/otls/MOPs_Trails.hda/MOPS_8_8Sop_1Trails_8_81.1/ExtraFileOptions
@@ -19,6 +19,10 @@
"type":"string",
"value":""
},
+ "ViewerStateModule/CodeGenInput":{
+ "type":"string",
+ "value":"{\n\t\"state_name\":\"\",\n\t\"state_label\":\"\",\n\t\"state_descr\":\"\",\n\t\"state_icon\":\"$HH/config/Icons\",\n\t\"state_sample\":0,\n\t\"state_handler_indices\":[]\n}\n"
+ },
"mops_misc_05.svg/Cursor":{
"type":"intarray",
"value":[1,1]
diff --git a/otls/MOPs_Trails.hda/MOPS_8_8Sop_1Trails_8_81.1/Help b/otls/MOPs_Trails.hda/MOPS_8_8Sop_1Trails_8_81.1/Help
index cbf8db2e..1b571b5b 100644
--- a/otls/MOPs_Trails.hda/MOPS_8_8Sop_1Trails_8_81.1/Help
+++ b/otls/MOPs_Trails.hda/MOPS_8_8Sop_1Trails_8_81.1/Help
@@ -49,11 +49,7 @@ Orient Trails:
#id: do_orient
If enabled, the trail points will be reoriented after generation (by default they inherit any orientation from the source points). See [MOPs Orient Curve|Node:/sop/MOPS--Orient_Curve-1.0] for details.
-== Output ==
-
-Trails Group Name:
- #id: groupname
- The name of the point group the trails will be placed into.
+== Attributes ==
Create Trail UVs:
#id: do_uv
@@ -63,6 +59,24 @@ UV Attribute:
#id: uvattrib
The name of the vector point attribute to generate for UVs.
+Inherit Attributes:
+ #id: inherit_attrs
+ A list of attributes to inherit from the source points.
+
+Create Trail Falloff:
+ #id: do_trail_falloff
+ If enabled, create a Falloff attribute over the parametric length of each trail (0-1, starting from each trail head).
+
+Falloff Attribute:
+ #id: trail_falloff_attr
+ The name of the Falloff attribute to generate if Create Trail Falloff is enabled.
+
+== Output ==
+
+Trails Group Name:
+ #id: groupname
+ The name of the point group the trails will be placed into.
+
Clipping Mode:
#id: clip_mode
The method by which to clip the tail ends of the trails.
diff --git a/otls/MOPs_Trails.hda/MOPS_8_8Sop_1Trails_8_81.1/TypePropertiesOptions b/otls/MOPs_Trails.hda/MOPS_8_8Sop_1Trails_8_81.1/TypePropertiesOptions
index b4811492..a6d52acf 100644
--- a/otls/MOPs_Trails.hda/MOPS_8_8Sop_1Trails_8_81.1/TypePropertiesOptions
+++ b/otls/MOPs_Trails.hda/MOPS_8_8Sop_1Trails_8_81.1/TypePropertiesOptions
@@ -1,14 +1,14 @@
-SaveSpareParms := 0;
CheckExternal := 1;
-SaveIcon := 1;
-GzipContents := 1;
ContentsCompressionType := 1;
-UnlockOnCreate := 0;
-SaveCachedCode := 0;
+ForbidOutsideParms := 1;
+GzipContents := 1;
LockContents := 1;
MakeDefault := 1;
-UseDSParms := 1;
-ForbidOutsideParms := 1;
+ParmsFromVfl := 0;
PrefixDroppedParmLabel := 0;
PrefixDroppedParmName := 0;
-ParmsFromVfl := 0;
+SaveCachedCode := 0;
+SaveIcon := 1;
+SaveSpareParms := 0;
+UnlockOnCreate := 0;
+UseDSParms := 1;
diff --git a/scripts/python/mops_tools.py b/scripts/python/mops_tools.py
index 711cbcaa..5b16ffe2 100644
--- a/scripts/python/mops_tools.py
+++ b/scripts/python/mops_tools.py
@@ -11,6 +11,8 @@
import platform
from PySide2 import QtCore, QtWebEngineWidgets, QtWidgets
+import toolutils
+
REQUESTS_ENABLED = True
try:
@@ -73,7 +75,8 @@ def can_send_anonymous_stats():
def track_event(category, action, label=None, value=0):
""" this actually sends the tracking event to google analytics.
the event includes an anonymous userid and some information about the node/action. """
-
+ # forget this shit, it's slowing everything down
+ return
userid = str(get_uuid())
data = {
@@ -111,6 +114,7 @@ def dislike_node(node):
def send_on_create_analytics(node):
+ return
if can_send_anonymous_stats():
# only track the event if the node were actually just put down (not as a child of a parent node!)
n = node.node('..')
@@ -127,9 +131,9 @@ def collapse_hdas(directory):
:return: None
"""
if not os.path.exists(directory):
- raise FileNotFoundError, "Directory does not exist!"
+ raise(FileNotFoundError, "Directory does not exist!")
if not os.path.isdir(directory):
- raise FileNotFoundError, "Given path is not a directory!"
+ raise(FileNotFoundError, "Given path is not a directory!")
for i in os.listdir(directory):
in_dir = os.path.join(directory, i)
if os.path.isdir(in_dir) and os.path.splitext(i)[-1] == '.hda':
@@ -148,7 +152,7 @@ def collapse_hdas(directory):
proc = subprocess.Popen(cmd, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
out, err = proc.communicate()
if err:
- raise RuntimeError, err
+ raise(RuntimeError, err)
# rename file and remove original
shutil.rmtree(in_dir)
os.rename(out_hda, in_dir)
@@ -163,9 +167,9 @@ def expand_hdas(directory):
:return: None
"""
if not os.path.exists(directory):
- raise FileNotFoundError, "Directory does not exist!"
+ raise(FileNotFoundError, "Directory does not exist!")
if not os.path.isdir(directory):
- raise FileNotFoundError, "Given path is not a directory!"
+ raise(FileNotFoundError, "Given path is not a directory!")
for i in os.listdir(directory):
in_hda = os.path.join(directory, i)
if not os.path.isdir(in_hda) and os.path.splitext(i)[-1] == '.hda':
@@ -185,7 +189,7 @@ def expand_hdas(directory):
proc = subprocess.Popen(cmd, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
out, err = proc.communicate()
if err:
- raise RuntimeError, err
+ raise(RuntimeError, err)
# rename file and remove original
os.remove(in_hda)
os.rename(out_dir, in_hda)
@@ -194,54 +198,27 @@ def expand_hdas(directory):
print('Error expanding {}: {}'.format(i, traceback.format_exc()))
-
-
-
-
-""" WEB SERVER STUFF FOR LAUNCHING FEEDBACK WINDOW """
-
-""" NONE OF THIS SHIT WORKS YET, IGNORE IT UNTIL I CAN UNDERSTAND WHAT'S EVEN HAPPENING """
-
-# Simple HTTPHandler using SimpleHTTPServer Module
-class HTTPHandler(SimpleHTTPRequestHandler):
- def translate_path(self, path):
- path = SimpleHTTPRequestHandler.translate_path(self, path)
- relpath = os.path.relpath(path, os.getcwd())
- fullpath = os.path.join(self.server.basePath, relpath)
- return fullpath
- def log_message(self, format, *args):
- return
-
-# Simple HTTPServer using BaseHTTPServer Module
-class HTTPServer(BaseHTTPServer):
- def __init__(self, basePath, serverAddress, requestHandlerClass=HTTPHandler):
- self.basePath = basePath
- BaseHTTPServer.__init__(self, serverAddress, requestHandlerClass)
-
-# Target Function for HTTP Thread
-def ThreadProcess():
- HTTPServer(MOPS_FEEDBACK_ADDRESS, ("", 8000)).serve_forever()
-
-# Starting a new Thread
-def StartThreadWithHTTP():
- SimpleThread = threading.Thread(name='child procs', target=ThreadProcess)
- SimpleThread.start()
-
-class MOPS_FeedbackDialog(QtWidgets.QDialog):
- def __init__(self, parent):
- super(MOPS_FeedbackDialog, self).__init__(parent)
- self.setAttribute(QtCore.Qt.WA_DeleteOnClose)
- # UI Title
- self.setWindowTitle("Houdini - Marmoset Toolbag Viewer")
-
- # Constructing UI
- windowUILayout = QtWidgets.QVBoxLayout()
-
- self.webViewer = QtWebEngineWidgets.QWebEngineView()
- self.webViewer.load(QtCore.QUrl("http://localhost:8000"))
- windowUILayout.addWidget(self.webViewer)
- self.setLayout(windowUILayout)
- self.activateWindow()
-
-def send_feedback():
- webViewer = MOPS_FeedbackDialog(hou.ui.mainQtWindow())
\ No newline at end of file
+def viewport_selection(kwargs, groupparm="group", grouptypeparm="grouptype"):
+ me = kwargs['node']
+ # enable active viewport interactive grouping
+ if hou.isUIAvailable():
+ scene_viewer = toolutils.sceneViewer()
+ selection = scene_viewer.currentGeometrySelection()
+ if selection:
+ me.parm('group').set(selection.mergedSelectionString())
+ type = selection.geometryType()
+ if type == hou.geometryType.Points:
+ me.parm('grouptype').set(3)
+ if type == hou.geometryType.Primitives:
+ me.parm('grouptype').set(4)
+
+def blackbox_definitions(out_folder):
+ # given the selected nodes, create a blackboxed definition for each asset and save to out_folder.
+ nodes = hou.selectedNodes()
+ for node in nodes:
+ definition = node.type().definition()
+ if definition:
+ def_filename = definition.libraryFilePath()
+ out_file = os.path.join(out_folder, os.path.basename(def_filename))
+ print("saving blackboxed file: {}".format(out_file))
+ definition.save(file_name=out_file, template_node=node, compile_contents=True, black_box=True)
\ No newline at end of file
diff --git a/toolbar/MOPs_tools.shelf b/toolbar/MOPs_tools.shelf
index b024c86c..416193fd 100644
--- a/toolbar/MOPs_tools.shelf
+++ b/toolbar/MOPs_tools.shelf
@@ -21,7 +21,7 @@
# generate a MOPs Move Along Spline modifier, enable Snap to Centroid,
# set the starting attachment position to 0, and set Offset to 1.
-node = soptoolutils.genericTool(kwargs, "MOPS::move_along_spline::1.4", force_filter=True)
+node = soptoolutils.genericTool(kwargs, "MOPS::move_along_spline::1.5", force_filter=True)
node.parm('do_snap').set(1)
node.parm('maintain_offset').set(1.0)
node.parm('attach_mode').set(1)
@@ -38,21 +38,21 @@ node.parm('attach_attr').set("")]]>
# generate a MOPs Move Along Spline modifier, then set it to distribute
# everything onto the spline.
-node = soptoolutils.genericTool(kwargs, 'MOPS::move_along_spline::1.4', force_filter=True)
+node = soptoolutils.genericTool(kwargs, 'MOPS::move_along_spline::1.5', force_filter=True)
node.parm('attach_mode').set(2)
node.parm('curve_select_mode').set(1)]]>
-
- SOP
-
+
+ SOP
+
MOPs/Modifiers
+node = soptoolutils.genericTool(kwargs, "MOPS::Align::1.2", force_filter=True)]]>