<?xml version="1.0" encoding="iso-8859-1"?>
<xsi_file type="CompoundNode" name="Bounce off Surface with Friction" tasks="Particles/Surface Interaction" formatversion="1.4" compoundversion="1.0" constructionmode="Current" backgroundcolor="6732954">
	<description><![CDATA[This compound makes particles bounce off one or more objects' surfaces upon collision. Plug its Execute output into a Port of the ICETree node or in an Execute port of a State compound, if you're using the state system.]]></description>
	<definition>
		<nodes>
			<node type="[embedded_0]" index="0">
				<datablob category="ui_infos">
					<prop name="posx">-619</prop>
					<prop name="posy">713</prop>
					<prop name="state">ConnectedOnly</prop>
				</datablob>
			</node>
			<node type="ExecuteNode" index="1">
				<portdef name="port1" type="4096" structure="1" group="0" instance="0" port="0"></portdef>
				<datablob category="ui_infos">
					<prop name="posx">-619</prop>
					<prop name="posy">820</prop>
					<prop name="state">Normal</prop>
				</datablob>
			</node>
			<node type="IfNode" index="2">
				<param name="condition" type="11" value="true"></param>
				<portdef name="condition" type="1" structure="1" group="0" instance="0" port="0"></portdef>
				<portdef name="iftrue" type="4096" structure="1" group="0" instance="0" port="1"></portdef>
				<portdef name="iffalse" type="4096" structure="1" group="0" instance="0" port="2"></portdef>
				<datablob category="ui_infos">
					<prop name="posx">1</prop>
					<prop name="posy">804</prop>
					<prop name="state">Normal</prop>
				</datablob>
			</node>
			<node type="ExecuteNode" index="3">
				<portdef name="port1" type="4096" structure="1" group="0" instance="0" port="0"></portdef>
				<portdef name="port2" type="4096" structure="1" group="0" instance="1" port="0"></portdef>
				<portdef name="port3" type="4096" structure="1" group="0" instance="2" port="0"></portdef>
				<portdef name="port4" type="4096" structure="1" group="0" instance="3" port="0"></portdef>
				<portdef name="port5" type="4096" structure="1" group="0" instance="4" port="0"></portdef>
				<datablob category="ui_infos">
					<prop name="posx">121</prop>
					<prop name="posy">551</prop>
					<prop name="state">Normal</prop>
				</datablob>
			</node>
			<node type="SimulateParticlesNode" index="4">
				<param name="reference" type="31" value="Self"></param>
				<param name="mute" type="11" value="false"></param>
				<param_ext name="reference" type="31" value="Self"></param_ext>
				<portdef name="mute" type="1" structure="1" group="1" instance="0" port="0"></portdef>
				<portdef name="inname" type="8192" structure="1" group="3" instance="0" port="0"></portdef>
				<datablob category="ui_infos">
					<prop name="posx">-58</prop>
					<prop name="posy">569</prop>
					<prop name="state">ConnectedOnly</prop>
				</datablob>
			</node>
			<node type="IfNode" index="5">
				<param name="condition" type="11" value="false"></param>
				<portdef name="condition" type="1" structure="1" group="0" instance="0" port="0"></portdef>
				<portdef name="iftrue" type="4096" structure="1" group="0" instance="0" port="1"></portdef>
				<portdef name="iffalse" type="4096" structure="1" group="0" instance="0" port="2"></portdef>
				<datablob category="ui_infos">
					<prop name="posx">-444</prop>
					<prop name="posy">951</prop>
					<prop name="state">Normal</prop>
				</datablob>
			</node>
			<node type="[embedded_4]" index="6">
				<param name="max_repeat" type="3" value="10"></param>
				<portdef name="port" type="4096" structure="1" group="-1" instance="-1" port="-1"></portdef>
				<portdef name="max_repeat" type="2" structure="1" group="-1" instance="-1" port="-1"></portdef>
				<datablob category="ui_infos">
					<prop name="posx">255</prop>
					<prop name="posy">560</prop>
					<prop name="state">Normal</prop>
				</datablob>
			</node>
			<node type="[embedded_6]" index="7">
				<param name="Collision_Method" type="3" value="0"></param>
				<param name="Offset_Method" type="3" value="0"></param>
				<param name="Offset_Distance" type="4" value="0.500000"></param>
				<portdef name="Offset_Method" type="2" structure="1" group="-1" instance="-1" port="-1"></portdef>
				<portdef name="Offset_Distance" type="4" structure="1" group="-1" instance="-1" port="-1"></portdef>
				<portdef name="Surface1" type="1024" structure="1" group="2" instance="0" port="0" groupname="Surface1"></portdef>
				<datablob category="ui_infos">
					<prop name="posx">-621</prop>
					<prop name="posy">548</prop>
					<prop name="state">Normal</prop>
				</datablob>
			</node>
			<node type="[embedded_19]" index="8">
				<datablob category="ui_infos">
					<prop name="posx">-68</prop>
					<prop name="posy">517</prop>
					<prop name="state">Normal</prop>
				</datablob>
			</node>
			<node type="[embedded_21]" index="9">
				<param name="Reference" type="31" value="Self.__FirstIteration"></param>
				<param name="Value" type="11" value="false"></param>
				<param_ext name="Reference" type="31" value="Self.__FirstIteration"></param_ext>
				<portdef name="Value" type="1" structure="1" group="2" instance="0" port="0" groupname="Value"></portdef>
				<portdef name="In_Name" type="8192" structure="1" group="-1" instance="-1" port="-1"></portdef>
				<datablob category="ui_infos">
					<prop name="posx">-31</prop>
					<prop name="posy">461</prop>
					<prop name="state">ConnectedOnly</prop>
				</datablob>
			</node>
			<node type="[embedded_22]" index="10">
				<datablob category="ui_infos">
					<prop name="posx">-258</prop>
					<prop name="posy">1018</prop>
					<prop name="state">Normal</prop>
				</datablob>
			</node>
			<node type="GetDataNode" index="11">
				<param name="reference" type="31" value="Self.__Hit"></param>
				<param_ext name="reference" type="31" value="Self.__Hit"></param_ext>
				<portdef name="source" type="2048" structure="1" group="1" instance="0" port="0"></portdef>
				<portdef name="inname" type="8192" structure="1" group="3" instance="0" port="0"></portdef>
				<datablob category="ui_infos">
					<prop name="posx">-368</prop>
					<prop name="posy">614</prop>
					<prop name="state">ConnectedOnly</prop>
				</datablob>
			</node>
			<node type="ExecuteNode" index="12">
				<portdef name="port1" type="4096" structure="1" group="0" instance="0" port="0"></portdef>
				<portdef name="port2" type="4096" structure="1" group="0" instance="1" port="0"></portdef>
				<datablob category="ui_infos">
					<prop name="posx">-194</prop>
					<prop name="posy">877</prop>
					<prop name="state">Normal</prop>
				</datablob>
			</node>
			<node type="PassThroughNode" index="13">
				<param name="in" type="11" value="true"></param>
				<portdef name="in" type="1" structure="1" group="0" instance="0" port="0"></portdef>
				<datablob category="passthrough">
					<prop name="private">true</prop>
				</datablob>
				<datablob category="ui_infos">
					<prop name="posx">-623</prop>
					<prop name="posy">915</prop>
					<prop name="state">Normal</prop>
				</datablob>
			</node>
			<node type="[embedded_24]" index="14">
				<param name="Bounce_Factor" type="4" value="1.000000"></param>
				<param name="Randomness_Angle" type="4" value="0.000000"></param>
				<param name="Friction" type="4" value="0.200000"></param>
				<portdef name="Bounce_Factor" type="4" structure="1" group="-1" instance="-1" port="-1"></portdef>
				<portdef name="Friction" type="4" structure="1" group="-1" instance="-1" port="-1"></portdef>
				<portdef name="Randomness_Angle" type="4" structure="1" group="-1" instance="-1" port="-1"></portdef>
				<datablob category="ui_infos">
					<prop name="posx">-626</prop>
					<prop name="posy">998</prop>
					<prop name="state">Normal</prop>
				</datablob>
			</node>
			<node type="SelectCaseNode" index="15">
				<param name="condition" type="3" value="2"></param>
				<param name="case0" type="11" value="false"></param>
				<param name="case1" type="11" value="false"></param>
				<param name="case2" type="11" value="true"></param>
				<param name="default" type="11" value="true"></param>
				<portdef name="condition" type="2" structure="1" group="0" instance="0" port="0"></portdef>
				<portdef name="case0" type="1" structure="1" group="1" instance="0" port="0"></portdef>
				<portdef name="case1" type="1" structure="1" group="1" instance="1" port="0"></portdef>
				<portdef name="case2" type="1" structure="1" group="1" instance="2" port="0"></portdef>
				<portdef name="default" type="1" structure="1" group="2" instance="0" port="0"></portdef>
				<datablob category="ui_infos">
					<prop name="posx">-351</prop>
					<prop name="posy">685</prop>
					<prop name="state">Normal</prop>
				</datablob>
			</node>
			<node type="NotNode" index="16">
				<param name="value" type="11" value="false"></param>
				<portdef name="value" type="1" structure="1" group="0" instance="0" port="0"></portdef>
				<datablob category="ui_infos">
					<prop name="posx">-464</prop>
					<prop name="posy">764</prop>
					<prop name="state">Normal</prop>
				</datablob>
			</node>
			<node type="CombineLogicNode" index="17">
				<param name="type" type="3" value="0"></param>
				<param name="value1" type="11" value="true"></param>
				<param name="value2" type="11" value="true"></param>
				<portdef name="value1" type="1" structure="1" group="0" instance="0" port="0"></portdef>
				<portdef name="value2" type="1" structure="1" group="0" instance="1" port="0"></portdef>
				<datablob category="ui_infos">
					<prop name="posx">-199</prop>
					<prop name="posy">643</prop>
					<prop name="state">Normal</prop>
				</datablob>
			</node>
			<comment type="node" state="maximized" wordwrap="true" autoresize="true" background="0" background_alpha="0.000000" title="14876671" title_text="0" offsetx="-618" offsety="422" sizex="474" sizey="20"><![CDATA[We move the particles using 'Simulate Particles', and then test to see if we have passed through some geometry.
If we have colllided with something, then we rewind the simulation back to the point where the collision occured, then we apply the bouce effect and any other effects that might be plugged into the 'Execute on Collide' ports, and the continue simulating. 
We keep simulating untill either we have simulated the entire frame, or we reach the threshold 'Max Bounces Per Frame'.]]></comment>
		</nodes>
		<exposed_ports>
			<port index="1" portname="port1" username="Execute_on_Collide1" basename="Execute on Collide1" portlabel="Execute on Collide1" exposetype="all_instances">
				<description><![CDATA[When the particle collides with an object, whatever compound or node is plugged into this port is executed. For example, if the Set Particle Color compound is plugged in here, the particles change color upon collision.]]></description>
			</port>
			<port index="6" portname="execute" username="Execute" basename="Execute" portlabel="Execute" exposetype="single"> </port>
			<port index="6" portname="max_repeat" username="Max_Bounces_Per_Frame" basename="Max Bounces Per Frame" portlabel="Max Bounces Per Frame" exposetype="single">
				<description><![CDATA[The maximum number of times per frame that the particles bounce off the object. This is good for limiting the bounces for fast-moving particles or complicated geometry.]]></description>
			</port>
			<port index="7" portname="Surface1" username="Surface1" basename="Surface1" portlabel="Surface1" exposetype="all_instances">
				<description><![CDATA[The object off which the particles bounce upon collision. This object must have a surface. Plug the object's Value output into this port.]]></description>
			</port>
			<port index="7" portname="Offset_Method" username="Offset_Method" basename="Offset Method" portlabel="Offset Method" exposetype="single">
				<description><![CDATA[The method by which the particles are offset from the object off which they're bouncing: Use Particle Size or Use Offset Distance, then set the Offset Distance below.]]></description>
			</port>
			<port index="7" portname="Offset_Distance" username="Offset_Distance" basename="Offset Distance" portlabel="Offset Distance" exposetype="single">
				<description><![CDATA[If you selected Use Offset Distance as the Offset Method, you must enter the number of Softimage units by which the particles are offset from the object.]]></description>
			</port>
			<port index="7" portname="Collision_Method" username="Collision_Method" basename="Collision_Method" portlabel="Collision_Method" exposetype="single">
				<description><![CDATA[The type of method for colliding with an object: Static Collision, for use with objects that don't deform over time; or Deformed Collision (Continuous), for use with object that are shape-animated or whose geometry deforms over time, such as envelopes.]]></description>
			</port>
			<port index="13" portname="in" username="Enable_Bounce" basename="Enable Bounce" portlabel="Enable Bounce" exposetype="single"> </port>
			<port index="14" portname="Randomness_Angle" username="Randomness_Angle" basename="Randomness Angle" portlabel="Randomness Angle" exposetype="single">
				<description><![CDATA[Adds a random variation to the bounce angle after the first bounce so that the particles move in a less rigid way. You could use this for a splash-type effect: at the first bounce, the particles are randomly sprayed away in different directions.]]></description>
			</port>
			<port index="14" portname="Bounce_Factor" username="Bounce_Factor" basename="Bounce Factor" portlabel="Bounce Factor" exposetype="single"> </port>
			<port index="14" portname="Friction" username="Friction" basename="Friction" portlabel="Friction" exposetype="single"> </port>
			<port index="15" portname="condition" username="Select_Bounce_Side" basename="Select Bounce Side" portlabel="Select Bounce Side" exposetype="single"> </port>
		</exposed_ports>
		<connections>
			<cnx from_node="0" from_port="Result" to_node="15" to_port="case0"> </cnx>
			<cnx from_node="0" from_port="Result" to_node="16" to_port="value"> </cnx>
			<cnx from_node="2" from_port="result" to_node="3" to_port="port5"> </cnx>
			<cnx from_node="4" from_port="simulate" to_node="3" to_port="port3"> </cnx>
			<cnx from_node="5" from_port="result" to_node="12" to_port="port2"> </cnx>
			<cnx from_node="1" from_port="execute" to_node="12" to_port="port1"> </cnx>
			<cnx from_node="3" from_port="execute" to_node="6" to_port="port"> </cnx>
			<cnx from_node="8" from_port="Execute" to_node="3" to_port="port2"> </cnx>
			<cnx from_node="7" from_port="Save_Collision_Location" to_node="3" to_port="port4"> </cnx>
			<cnx from_node="10" from_port="Execute" to_node="2" to_port="iffalse"> </cnx>
			<cnx from_node="9" from_port="Execute" to_node="3" to_port="port1"> </cnx>
			<cnx from_node="14" from_port="Execute" to_node="5" to_port="iftrue"> </cnx>
			<cnx from_node="12" from_port="execute" to_node="2" to_port="iftrue"> </cnx>
			<cnx from_node="13" from_port="out" to_node="5" to_port="condition"> </cnx>
			<cnx from_node="11" from_port="value" to_node="17" to_port="value1"> </cnx>
			<cnx from_node="16" from_port="result" to_node="15" to_port="case1"> </cnx>
			<cnx from_node="17" from_port="result" to_node="2" to_port="condition"> </cnx>
			<cnx from_node="15" from_port="result" to_node="17" to_port="value2"> </cnx>
		</connections>
		<layout>
			<item type="input" name="Surface1" min="0" max="0"> </item>
			<item type="input" name="Collision_Method"> </item>
			<item type="input" name="Offset_Method" min="0" max="1">
				<enum value="0"><![CDATA[Use Particle Size]]></enum>
				<enum value="1"><![CDATA[Use Offset Distance]]></enum>
			</item>
			<item type="input" name="Offset_Distance"> </item>
			<item type="input" name="Max_Bounces_Per_Frame"> </item>
			<item type="input" name="Execute_on_Collide1" min="0" max="0"> </item>
			<item type="input" name="Enable_Bounce"> </item>
			<item type="input" name="Bounce_Factor" min="0" max="1"> </item>
			<item type="input" name="Randomness_Angle" min="0" max="1"> </item>
			<item type="input" name="Select_Bounce_Side" min="0" max="0">
				<enum value="0"><![CDATA[Bounce off Outside of Surface]]></enum>
				<enum value="1"><![CDATA[Bounce off Inside of Surface]]></enum>
				<enum value="2"><![CDATA[Bounce off Both Sides of Surface]]></enum>
			</item>
			<item type="input" name="Friction" min="0" max="1"> </item>
			<item type="output" name="Execute"> </item>
		</layout>
	</definition>
	<embedded_1 name="Is Invalid Bounce" formatversion="1.4" compoundversion="1.0" constructionmode="Current" backgroundcolor="6732954">
		<nodes>
			<node type="CompareNode" index="0">
				<param name="type" type="3" value="0"></param>
				<param name="epsilon" type="5" value="0.000000"></param>
				<param name="first" type="4" value="0.000000"></param>
				<param name="second" type="4" value="0.000000"></param>
				<portdef name="first" type="4" structure="1" group="0" instance="0" port="0"></portdef>
				<portdef name="second" type="4" structure="1" group="0" instance="0" port="1"></portdef>
				<datablob category="ui_infos">
					<prop name="posx">450</prop>
					<prop name="posy">941</prop>
					<prop name="state">Normal</prop>
				</datablob>
			</node>
			<node type="GetDataNode" index="1">
				<param name="reference" type="31" value="Self.__PreSimulateFrameFraction"></param>
				<param_ext name="reference" type="31" value="Self.__PreSimulateFrameFraction"></param_ext>
				<portdef name="source" type="2048" structure="1" group="1" instance="0" port="0"></portdef>
				<portdef name="inname" type="8192" structure="1" group="3" instance="0" port="0"></portdef>
				<datablob category="ui_infos">
					<prop name="posx">129</prop>
					<prop name="posy">998</prop>
					<prop name="state">ConnectedOnly</prop>
				</datablob>
			</node>
			<node type="GetDataNode" index="2">
				<param name="reference" type="31" value="Self.SimulatedFrameFraction"></param>
				<param_ext name="reference" type="31" value="Self.SimulatedFrameFraction"></param_ext>
				<portdef name="source" type="2048" structure="1" group="1" instance="0" port="0"></portdef>
				<portdef name="inname" type="8192" structure="1" group="3" instance="0" port="0"></portdef>
				<datablob category="ui_infos">
					<prop name="posx">155</prop>
					<prop name="posy">922</prop>
					<prop name="state">ConnectedOnly</prop>
				</datablob>
			</node>
		</nodes>
		<exposed_ports>
			<port index="0" portname="result" username="Result" basename="Result" portlabel="Result" exposetype="single"> </port>
		</exposed_ports>
		<connections>
			<cnx from_node="1" from_port="value" to_node="0" to_port="second"> </cnx>
			<cnx from_node="2" from_port="value" to_node="0" to_port="first"> </cnx>
		</connections>
		<layout>
			<item type="output" name="Result"> </item>
		</layout>
	</embedded_1>
	<embedded_3 name="Get Particle Velocity" tasks="Particles/Getters" formatversion="1.4" compoundversion="1.0" constructionmode="Current" backgroundcolor="12228200">
	<description><![CDATA[This compound gets the particle's current velocity data as defined by its PointVelocity attribute. You can output the Velocity Vector and Speed data.]]></description>
		<nodes>
			<node type="GetDataNode" index="0">
				<param name="reference" type="31" value="Self.PointVelocity"></param>
				<param_ext name="reference" type="31" value="Self.PointVelocity"></param_ext>
				<portdef name="source" type="2048" structure="1" group="1" instance="0" port="0"></portdef>
				<portdef name="inname" type="8192" structure="1" group="3" instance="0" port="0"></portdef>
				<datablob category="ui_infos">
					<prop name="posx">-345</prop>
					<prop name="posy">255</prop>
				</datablob>
			</node>
			<node type="LengthNode" index="1">
				<param name="vector.vector_x" type="4" value="0.000000"></param>
				<param name="vector.vector_y" type="4" value="0.000000"></param>
				<param name="vector.vector_z" type="4" value="0.000000"></param>
				<portdef name="vector" type="16" structure="1" group="0" instance="0" port="0"></portdef>
				<datablob category="ui_infos">
					<prop name="posx">-93</prop>
					<prop name="posy">303</prop>
				</datablob>
			</node>
		</nodes>
		<exposed_ports>
			<port index="0" portname="value" username="Velocity" basename="Velocity" portlabel="Velocity" exposetype="single"> </port>
			<port index="0" portname="reference" username="Reference" basename="Reference" portlabel="Reference" exposetype="single">
				<description><![CDATA[The particle's PointVelocity attribute. Click the Explorer button to open up an explorer and select a different particle attribute.]]></description>
			</port>
			<port index="1" portname="result" username="Speed" basename="Speed" portlabel="Speed" exposetype="single"> </port>
		</exposed_ports>
		<connections>
			<cnx from_node="0" from_port="value" to_node="1" to_port="vector"> </cnx>
		</connections>
		<layout>
			<item type="input" name="Reference"> </item>
			<item type="output" name="Velocity"> </item>
			<item type="output" name="Speed"> </item>
		</layout>
	</embedded_3>
	<embedded_2 name="Get Particle Collision Location" tasks="Particles/Getters" formatversion="1.4" compoundversion="1.0" constructionmode="Current" backgroundcolor="12228200">
	<description><![CDATA[This compound gets the particle's location at the point of collision with an obstacle. You can output the particle's Hit Location, Position, Normal, and Hit Force data.]]></description>
		<nodes>
			<node type="[embedded_3]" index="0">
				<param name="Reference" type="31" value="Self.PointVelocity"></param>
				<param_ext name="Reference" type="31" value="Self.PointVelocity"></param_ext>
				<datablob category="ui_infos">
					<prop name="posx">-1473</prop>
					<prop name="posy">1486</prop>
					<prop name="state">Normal</prop>
				</datablob>
			</node>
			<node type="SubtractNode" index="1">
				<param name="first.first_x" type="4" value="0.000000"></param>
				<param name="first.first_y" type="4" value="0.000000"></param>
				<param name="first.first_z" type="4" value="0.000000"></param>
				<param name="second.second_x" type="4" value="0.000000"></param>
				<param name="second.second_y" type="4" value="0.000000"></param>
				<param name="second.second_z" type="4" value="0.000000"></param>
				<portdef name="first" type="16" structure="1" group="0" instance="0" port="0"></portdef>
				<portdef name="second" type="16" structure="1" group="0" instance="0" port="1"></portdef>
				<datablob category="ui_infos">
					<prop name="posx">-1200</prop>
					<prop name="posy">1524</prop>
					<prop name="state">Normal</prop>
				</datablob>
			</node>
			<node type="GetDataNode" index="2">
				<param name="reference" type="31" value="PointVelocity"></param>
				<param_ext name="reference" type="31" value="PointVelocity"></param_ext>
				<portdef name="source" type="2048" structure="1" group="1" instance="0" port="0"></portdef>
				<portdef name="inname" type="8192" structure="1" group="3" instance="0" port="0"></portdef>
				<datablob category="ui_infos">
					<prop name="posx">-1472</prop>
					<prop name="posy">1579</prop>
					<prop name="state">Normal</prop>
				</datablob>
			</node>
			<node type="LinearInterpolateNode" index="3">
				<param name="first.first_x" type="4" value="0.000000"></param>
				<param name="first.first_y" type="4" value="0.000000"></param>
				<param name="first.first_z" type="4" value="0.000000"></param>
				<param name="second.second_x" type="4" value="0.000000"></param>
				<param name="second.second_y" type="4" value="0.000000"></param>
				<param name="second.second_z" type="4" value="0.000000"></param>
				<param name="blend" type="4" value="0.000000"></param>
				<param name="clamp" type="11" value="false"></param>
				<portdef name="first" type="16" structure="1" group="0" instance="0" port="0"></portdef>
				<portdef name="second" type="16" structure="1" group="0" instance="0" port="1"></portdef>
				<portdef name="blend" type="4" structure="1" group="0" instance="0" port="2"></portdef>
				<portdef name="clamp" type="1" structure="1" group="0" instance="0" port="3"></portdef>
				<datablob category="ui_infos">
					<prop name="posx">-1108</prop>
					<prop name="posy">1315</prop>
					<prop name="state">Normal</prop>
				</datablob>
			</node>
			<node type="GetDataAtPreviousFrameNode" index="4">
				<param name="reference" type="31" value=""></param>
				<param_ext name="reference" type="31" value=""></param_ext>
				<portdef name="source" type="2048" structure="1" group="1" instance="0" port="0"></portdef>
				<portdef name="inname" type="8192" structure="1" group="3" instance="0" port="0"></portdef>
				<datablob category="ui_infos">
					<prop name="posx">-1460</prop>
					<prop name="posy">1089</prop>
					<prop name="state">ConnectedOnly</prop>
				</datablob>
			</node>
			<node type="GetDataNode" index="5">
				<param name="reference" type="31" value="SurfaceGeometricNormal"></param>
				<param_ext name="reference" type="31" value="SurfaceGeometricNormal"></param_ext>
				<portdef name="source" type="2048" structure="1" group="1" instance="0" port="0"></portdef>
				<portdef name="inname" type="8192" structure="1" group="3" instance="0" port="0"></portdef>
				<datablob category="ui_infos">
					<prop name="posx">-1470</prop>
					<prop name="posy">1379</prop>
					<prop name="state">ConnectedOnly</prop>
				</datablob>
			</node>
			<node type="GetDataAtPreviousFrameNode" index="6">
				<param name="reference" type="31" value=""></param>
				<param_ext name="reference" type="31" value=""></param_ext>
				<portdef name="source" type="2048" structure="1" group="1" instance="0" port="0"></portdef>
				<portdef name="inname" type="8192" structure="1" group="3" instance="0" port="0"></portdef>
				<datablob category="ui_infos">
					<prop name="posx">-1471</prop>
					<prop name="posy">1279</prop>
					<prop name="state">ConnectedOnly</prop>
				</datablob>
			</node>
			<node type="DotProductNode" index="7">
				<param name="first.first_x" type="4" value="0.000000"></param>
				<param name="first.first_y" type="4" value="0.000000"></param>
				<param name="first.first_z" type="4" value="0.000000"></param>
				<param name="second.second_x" type="4" value="0.000000"></param>
				<param name="second.second_y" type="4" value="0.000000"></param>
				<param name="second.second_z" type="4" value="0.000000"></param>
				<portdef name="first" type="16" structure="1" group="0" instance="0" port="0"></portdef>
				<portdef name="second" type="16" structure="1" group="0" instance="0" port="1"></portdef>
				<datablob category="ui_infos">
					<prop name="posx">-1062</prop>
					<prop name="posy">1569</prop>
					<prop name="state">Normal</prop>
				</datablob>
			</node>
			<node type="GetDataNode" index="8">
				<param name="reference" type="31" value="SimulatedFrameFraction"></param>
				<param_ext name="reference" type="31" value="SimulatedFrameFraction"></param_ext>
				<portdef name="source" type="2048" structure="1" group="1" instance="0" port="0"></portdef>
				<portdef name="inname" type="8192" structure="1" group="3" instance="0" port="0"></portdef>
				<datablob category="ui_infos">
					<prop name="posx">-1900</prop>
					<prop name="posy">1146</prop>
					<prop name="state">ConnectedOnly</prop>
				</datablob>
			</node>
			<node type="GetDataNode" index="9">
				<param name="reference" type="31" value="__Hit"></param>
				<param_ext name="reference" type="31" value="__Hit"></param_ext>
				<portdef name="source" type="2048" structure="1" group="1" instance="0" port="0"></portdef>
				<portdef name="inname" type="8192" structure="1" group="3" instance="0" port="0"></portdef>
				<datablob category="ui_infos">
					<prop name="posx">-1899</prop>
					<prop name="posy">1218</prop>
					<prop name="state">ConnectedOnly</prop>
				</datablob>
			</node>
			<node type="GetDataNode" index="10">
				<param name="reference" type="31" value="PointPosition"></param>
				<param_ext name="reference" type="31" value="PointPosition"></param_ext>
				<portdef name="source" type="2048" structure="1" group="1" instance="0" port="0"></portdef>
				<portdef name="inname" type="8192" structure="1" group="3" instance="0" port="0"></portdef>
				<datablob category="ui_infos">
					<prop name="posx">-1462</prop>
					<prop name="posy">1191</prop>
					<prop name="state">ConnectedOnly</prop>
				</datablob>
			</node>
			<node type="GetDataNode" index="11">
				<param name="reference" type="31" value="CollisionLocation"></param>
				<param_ext name="reference" type="31" value="CollisionLocation"></param_ext>
				<portdef name="source" type="2048" structure="1" group="1" instance="0" port="0"></portdef>
				<portdef name="inname" type="8192" structure="1" group="3" instance="0" port="0"></portdef>
				<datablob category="ui_infos">
					<prop name="posx">-1940</prop>
					<prop name="posy">1322</prop>
					<prop name="state">ConnectedOnly</prop>
				</datablob>
			</node>
			<node type="GetDataNode" index="12">
				<param name="reference" type="31" value="Self"></param>
				<param_ext name="reference" type="31" value="Self"></param_ext>
				<portdef name="source" type="2048" structure="1" group="1" instance="0" port="0"></portdef>
				<portdef name="inname" type="8192" structure="1" group="3" instance="0" port="0"></portdef>
				<datablob category="ui_infos">
					<prop name="posx">-2058</prop>
					<prop name="posy">1203</prop>
					<prop name="state">Normal</prop>
				</datablob>
			</node>
			<node type="NegateNode" index="13">
				<param name="value.value_x" type="4" value="0.000000"></param>
				<param name="value.value_y" type="4" value="0.000000"></param>
				<param name="value.value_z" type="4" value="0.000000"></param>
				<portdef name="value" type="16" structure="1" group="0" instance="0" port="0"></portdef>
				<datablob category="ui_infos">
					<prop name="posx">-1192</prop>
					<prop name="posy">1612</prop>
					<prop name="state">Normal</prop>
				</datablob>
			</node>
			<node type="NormalizeNode" index="16">
				<param name="vector.vector_x" type="4" value="1.000000"></param>
				<param name="vector.vector_y" type="4" value="0.000000"></param>
				<param name="vector.vector_z" type="4" value="0.000000"></param>
				<portdef name="vector" type="16" structure="1" group="0" instance="0" port="0"></portdef>
				<datablob category="ui_infos">
					<prop name="posx">-918</prop>
					<prop name="posy">1304</prop>
					<prop name="state">Normal</prop>
				</datablob>
			</node>
			<node type="LinearInterpolateNode" index="18">
				<param name="first.first_x" type="4" value="0.000000"></param>
				<param name="first.first_y" type="4" value="0.000000"></param>
				<param name="first.first_z" type="4" value="0.000000"></param>
				<param name="second.second_x" type="4" value="0.000000"></param>
				<param name="second.second_y" type="4" value="0.000000"></param>
				<param name="second.second_z" type="4" value="0.000000"></param>
				<param name="blend" type="4" value="0.000000"></param>
				<param name="clamp" type="11" value="false"></param>
				<portdef name="first" type="16" structure="1" group="0" instance="0" port="0"></portdef>
				<portdef name="second" type="16" structure="1" group="0" instance="0" port="1"></portdef>
				<portdef name="blend" type="4" structure="1" group="0" instance="0" port="2"></portdef>
				<portdef name="clamp" type="1" structure="1" group="0" instance="0" port="3"></portdef>
				<datablob category="ui_infos">
					<prop name="posx">-1108</prop>
					<prop name="posy">1154</prop>
					<prop name="state">Normal</prop>
				</datablob>
			</node>
			<node type="IfNode" index="19">
				<param name="condition" type="11" value="false"></param>
				<portdef name="condition" type="1" structure="1" group="0" instance="0" port="0"></portdef>
				<portdef name="iftrue" type="2048" structure="1" group="0" instance="0" port="1"></portdef>
				<portdef name="iffalse" type="2048" structure="1" group="0" instance="0" port="2"></portdef>
				<datablob category="ui_infos">
					<prop name="posx">-1729</prop>
					<prop name="posy">1243</prop>
					<prop name="state">Normal</prop>
				</datablob>
			</node>
		</nodes>
		<exposed_ports>
			<port index="7" portname="result" username="Collision_Force" basename="Collision Force" portlabel="Collision Force" exposetype="single"> </port>
			<port index="12" portname="inname" username="In_Name" basename="In Name" portlabel="In Name" exposetype="single"> </port>
			<port index="12" portname="reference" username="Reference" basename="Reference" portlabel="Reference" exposetype="single">
				<description><![CDATA[The particle's GoalLocation attribute. Click the Explorer button to open up an explorer and select a different particle attribute.]]></description>
			</port>
			<port index="16" portname="result" username="Normal" basename="Normal" portlabel="Normal" exposetype="single"> </port>
			<port index="18" portname="result" username="Position" basename="Position" portlabel="Position" exposetype="single"> </port>
			<port index="19" portname="result" username="Location" basename="Location" portlabel="Location" exposetype="single"> </port>
		</exposed_ports>
		<connections>
			<cnx from_node="2" from_port="value" to_node="1" to_port="second"> </cnx>
			<cnx from_node="19" from_port="result" to_node="2" to_port="source"> </cnx>
			<cnx from_node="19" from_port="result" to_node="6" to_port="source"> </cnx>
			<cnx from_node="19" from_port="result" to_node="5" to_port="source"> </cnx>
			<cnx from_node="19" from_port="result" to_node="10" to_port="source"> </cnx>
			<cnx from_node="19" from_port="result" to_node="4" to_port="source"> </cnx>
			<cnx from_node="4" from_port="value" to_node="18" to_port="first"> </cnx>
			<cnx from_node="5" from_port="value" to_node="3" to_port="second"> </cnx>
			<cnx from_node="5" from_port="outname" to_node="6" to_port="inname"> </cnx>
			<cnx from_node="6" from_port="value" to_node="3" to_port="first"> </cnx>
			<cnx from_node="8" from_port="value" to_node="3" to_port="blend"> </cnx>
			<cnx from_node="8" from_port="value" to_node="18" to_port="blend"> </cnx>
			<cnx from_node="9" from_port="value" to_node="19" to_port="condition"> </cnx>
			<cnx from_node="10" from_port="value" to_node="18" to_port="second"> </cnx>
			<cnx from_node="10" from_port="outname" to_node="4" to_port="inname"> </cnx>
			<cnx from_node="11" from_port="value" to_node="19" to_port="iftrue"> </cnx>
			<cnx from_node="12" from_port="outname" to_node="9" to_port="inname"> </cnx>
			<cnx from_node="12" from_port="outname" to_node="11" to_port="inname"> </cnx>
			<cnx from_node="12" from_port="outname" to_node="8" to_port="inname"> </cnx>
			<cnx from_node="1" from_port="result" to_node="7" to_port="first"> </cnx>
			<cnx from_node="3" from_port="result" to_node="16" to_port="vector"> </cnx>
			<cnx from_node="13" from_port="result" to_node="7" to_port="second"> </cnx>
			<cnx from_node="16" from_port="result" to_node="13" to_port="value"> </cnx>
			<cnx from_node="0" from_port="Velocity" to_node="1" to_port="first"> </cnx>
		</connections>
		<layout>
			<item type="input" name="In_Name"> </item>
			<item type="input" name="Reference"> </item>
			<item type="output" name="Location"> </item>
			<item type="output" name="Position"> </item>
			<item type="output" name="Normal"> </item>
			<item type="output" name="Collision_Force"> </item>
		</layout>
	</embedded_2>
	<embedded_0 name="Is Outside" formatversion="1.4" compoundversion="1.0" constructionmode="Modeling" backgroundcolor="6732954">
		<nodes>
			<node type="[embedded_1]" index="0">
				<datablob category="ui_infos">
					<prop name="posx">-302</prop>
					<prop name="posy">1878</prop>
					<prop name="state">Normal</prop>
				</datablob>
			</node>
			<node type="DotProductNode" index="1">
				<param name="first.first_x" type="4" value="0.000000"></param>
				<param name="first.first_y" type="4" value="0.000000"></param>
				<param name="first.first_z" type="4" value="0.000000"></param>
				<param name="second.second_x" type="4" value="0.000000"></param>
				<param name="second.second_y" type="4" value="0.000000"></param>
				<param name="second.second_z" type="4" value="0.000000"></param>
				<portdef name="first" type="16" structure="1" group="0" instance="0" port="0"></portdef>
				<portdef name="second" type="16" structure="1" group="0" instance="0" port="1"></portdef>
				<datablob category="ui_infos">
					<prop name="posx">-373</prop>
					<prop name="posy">1949</prop>
					<prop name="state">Normal</prop>
				</datablob>
			</node>
			<node type="[embedded_2]" index="2">
				<param name="Reference" type="31" value="Self"></param>
				<param_ext name="Reference" type="31" value="Self"></param_ext>
				<portdef name="In_Name" type="8192" structure="1" group="-1" instance="-1" port="-1"></portdef>
				<datablob category="ui_infos">
					<prop name="posx">-789</prop>
					<prop name="posy">1829</prop>
					<prop name="state">Normal</prop>
				</datablob>
			</node>
			<node type="IfNode" index="3">
				<param name="condition" type="11" value="false"></param>
				<param name="iftrue" type="11" value="false"></param>
				<param name="iffalse" type="11" value="false"></param>
				<portdef name="condition" type="1" structure="1" group="0" instance="0" port="0"></portdef>
				<portdef name="iftrue" type="1" structure="1" group="0" instance="0" port="1"></portdef>
				<portdef name="iffalse" type="1" structure="1" group="0" instance="0" port="2"></portdef>
				<datablob category="ui_infos">
					<prop name="posx">-77</prop>
					<prop name="posy">1930</prop>
					<prop name="state">Normal</prop>
				</datablob>
			</node>
			<node type="SubtractNode" index="4">
				<param name="first.first_x" type="4" value="0.000000"></param>
				<param name="first.first_y" type="4" value="0.000000"></param>
				<param name="first.first_z" type="4" value="0.000000"></param>
				<param name="second.second_x" type="4" value="0.000000"></param>
				<param name="second.second_y" type="4" value="0.000000"></param>
				<param name="second.second_z" type="4" value="0.000000"></param>
				<portdef name="first" type="16" structure="1" group="0" instance="0" port="0"></portdef>
				<portdef name="second" type="16" structure="1" group="0" instance="0" port="1"></portdef>
				<datablob category="ui_infos">
					<prop name="posx">-508</prop>
					<prop name="posy">2013</prop>
					<prop name="state">Normal</prop>
				</datablob>
			</node>
			<node type="CompareNode" index="5">
				<param name="type" type="3" value="2"></param>
				<param name="epsilon" type="5" value="0.000000"></param>
				<param name="first" type="4" value="0.000000"></param>
				<param name="second" type="4" value="0.000000"></param>
				<portdef name="first" type="4" structure="1" group="0" instance="0" port="0"></portdef>
				<portdef name="second" type="4" structure="1" group="0" instance="0" port="1"></portdef>
				<datablob category="ui_infos">
					<prop name="posx">-212</prop>
					<prop name="posy">1942</prop>
					<prop name="state">Normal</prop>
				</datablob>
			</node>
			<node type="GetDataNode" index="6">
				<param name="reference" type="31" value="Self.__HitIsOutside"></param>
				<param_ext name="reference" type="31" value="Self.__HitIsOutside"></param_ext>
				<portdef name="source" type="2048" structure="1" group="1" instance="0" port="0"></portdef>
				<portdef name="inname" type="8192" structure="1" group="3" instance="0" port="0"></portdef>
				<datablob category="ui_infos">
					<prop name="posx">-341</prop>
					<prop name="posy">2060</prop>
					<prop name="state">ConnectedOnly</prop>
				</datablob>
			</node>
			<node type="GetDataNode" index="8">
				<param name="reference" type="31" value="PointVelocity"></param>
				<param_ext name="reference" type="31" value="PointVelocity"></param_ext>
				<portdef name="source" type="2048" structure="1" group="1" instance="0" port="0"></portdef>
				<portdef name="inname" type="8192" structure="1" group="3" instance="0" port="0"></portdef>
				<datablob category="ui_infos">
					<prop name="posx">-716</prop>
					<prop name="posy">1965</prop>
					<prop name="state">Normal</prop>
				</datablob>
			</node>
			<node type="GetDataNode" index="10">
				<param name="reference" type="31" value="Self.PointVelocity"></param>
				<param_ext name="reference" type="31" value="Self.PointVelocity"></param_ext>
				<portdef name="source" type="2048" structure="1" group="1" instance="0" port="0"></portdef>
				<portdef name="inname" type="8192" structure="1" group="3" instance="0" port="0"></portdef>
				<datablob category="ui_infos">
					<prop name="posx">-742</prop>
					<prop name="posy">2083</prop>
					<prop name="state">ConnectedOnly</prop>
				</datablob>
			</node>
		</nodes>
		<exposed_ports>
			<port index="3" portname="result" username="Result" basename="Result" portlabel="Result" exposetype="single"> </port>
		</exposed_ports>
		<connections>
			<cnx from_node="1" from_port="result" to_node="5" to_port="first"> </cnx>
			<cnx from_node="6" from_port="value" to_node="3" to_port="iffalse"> </cnx>
			<cnx from_node="8" from_port="value" to_node="4" to_port="second"> </cnx>
			<cnx from_node="10" from_port="value" to_node="4" to_port="first"> </cnx>
			<cnx from_node="4" from_port="result" to_node="1" to_port="first"> </cnx>
			<cnx from_node="5" from_port="result" to_node="3" to_port="iftrue"> </cnx>
			<cnx from_node="0" from_port="Result" to_node="3" to_port="condition"> </cnx>
			<cnx from_node="2" from_port="Location" to_node="8" to_port="source"> </cnx>
			<cnx from_node="2" from_port="Normal" to_node="1" to_port="second"> </cnx>
		</connections>
		<layout>
			<item type="output" name="Result"> </item>
		</layout>
	</embedded_0>
	<embedded_5 name="Set Data" category="Data Access" author="Softimage" formatversion="1.4" compoundversion="1.0" constructionmode="Current" backgroundcolor="12228200">
	<description><![CDATA[Sets the specified attributes to the supplied values.]]></description>
		<nodes>
			<node type="PassThroughNode" index="0">
				<portdef name="in" type="8192" structure="1" group="0" instance="0" port="0"></portdef>
				<datablob category="ui_infos">
					<prop name="posx">49</prop>
					<prop name="posy">114</prop>
					<prop name="state">Normal</prop>
				</datablob>
			</node>
			<node type="SetOneDataNode" index="1">
				<param name="reference" type="31" value="Self.__FirstIteration"></param>
				<param name="source" type="11" value="false"></param>
				<param_ext name="reference" type="31" value="Self.__FirstIteration"></param_ext>
				<portdef name="source" type="1" structure="1" group="1" instance="0" port="0"></portdef>
				<portdef name="inname" type="8192" structure="1" group="3" instance="0" port="0"></portdef>
				<datablob category="ui_infos">
					<prop name="posx">209</prop>
					<prop name="posy">114</prop>
					<prop name="state">Normal</prop>
				</datablob>
			</node>
			<node type="ExecuteNode" index="2">
				<portdef name="port1" type="4096" structure="1" group="0" instance="0" port="0"></portdef>
				<portdef name="port2" type="4096" structure="1" group="0" instance="1" port="0"></portdef>
				<portdef name="port3" type="4096" structure="1" group="0" instance="2" port="0"></portdef>
				<datablob category="ui_infos">
					<prop name="posx">368</prop>
					<prop name="posy">114</prop>
					<prop name="state">Normal</prop>
				</datablob>
			</node>
			<node type="SetOneDataNode" index="3">
				<param name="reference" type="31" value="Self.__Hit"></param>
				<param name="source" type="11" value="false"></param>
				<param_ext name="reference" type="31" value="Self.__Hit"></param_ext>
				<portdef name="source" type="1" structure="1" group="1" instance="0" port="0"></portdef>
				<portdef name="inname" type="8192" structure="1" group="3" instance="0" port="0"></portdef>
			</node>
			<node type="SetOneDataNode" index="4">
				<param name="reference" type="31" value="Self.CollisionLocation"></param>
				<param_ext name="reference" type="31" value="Self.CollisionLocation"></param_ext>
				<portdef name="source" type="2048" structure="1" group="1" instance="0" port="0"></portdef>
				<portdef name="inname" type="8192" structure="1" group="3" instance="0" port="0"></portdef>
			</node>
		</nodes>
		<exposed_ports>
			<port index="0" portname="in" username="In_Name" basename="In Name" portlabel="In Name" exposetype="single">
				<description><![CDATA[Name prefixed to each attribute to be set. Use this to specify the object name, and then specify each attribute in the Reference ports.]]></description>
			</port>
			<port index="1" portname="source" username="Value" basename="Value" overridelabel="Reference" portlabel="Value" exposetype="use_node_import">
				<description><![CDATA[The value to set.]]></description>
			</port>
			<port index="1" portname="reference" username="Reference" basename="Reference" portlabel="Reference" exposetype="use_node_import">
				<description><![CDATA[The name of the attribute to set.]]></description>
			</port>
			<port index="2" portname="execute" username="Execute" basename="Execute" portlabel="Execute" exposetype="single"> </port>
			<port index="3" portname="source" username="Value1" basename="Value" overridelabel="Reference" portlabel="Value1" exposetype="use_node_import">
				<description><![CDATA[The value to set.]]></description>
			</port>
			<port index="3" portname="reference" username="Reference1" basename="Reference" portlabel="Reference1" exposetype="use_node_import">
				<description><![CDATA[The name of the attribute to set.]]></description>
			</port>
			<port index="4" portname="source" username="Value2" basename="Value" overridelabel="Reference" portlabel="Value2" exposetype="use_node_import">
				<description><![CDATA[The value to set.]]></description>
			</port>
			<port index="4" portname="reference" username="Reference2" basename="Reference" portlabel="Reference2" exposetype="use_node_import">
				<description><![CDATA[The name of the attribute to set.]]></description>
			</port>
		</exposed_ports>
		<connections>
			<cnx from_node="3" from_port="value" to_node="2" to_port="port2"> </cnx>
			<cnx from_node="4" from_port="value" to_node="2" to_port="port3"> </cnx>
			<cnx from_node="1" from_port="value" to_node="2" to_port="port1"> </cnx>
			<cnx from_node="0" from_port="out" to_node="3" to_port="inname"> </cnx>
			<cnx from_node="0" from_port="out" to_node="4" to_port="inname"> </cnx>
			<cnx from_node="0" from_port="out" to_node="1" to_port="inname"> </cnx>
		</connections>
		<layout>
			<item type="input" name="In_Name"> </item>
			<item type="input" name="Value" min="0" max="0"> </item>
			<item type="input" name="Reference"> </item>
			<item type="input" name="Value1" min="0" max="0"> </item>
			<item type="input" name="Reference1"> </item>
			<item type="input" name="Value2" min="0" max="0"> </item>
			<item type="input" name="Reference2"> </item>
			<item type="output" name="Execute"> </item>
		</layout>
	</embedded_5>
	<embedded_4 name="Loop on Simulated Frame Fraction" formatversion="1.4" compoundversion="1.0" constructionmode="Current" backgroundcolor="6732954">
		<nodes>
			<node type="GetDataNode" index="0">
				<param name="reference" type="31" value="Self.__Hit"></param>
				<param_ext name="reference" type="31" value="Self.__Hit"></param_ext>
				<portdef name="source" type="2048" structure="1" group="1" instance="0" port="0"></portdef>
				<portdef name="inname" type="8192" structure="1" group="3" instance="0" port="0"></portdef>
				<datablob category="ui_infos">
					<prop name="posx">-583</prop>
					<prop name="posy">190</prop>
					<prop name="state">ConnectedOnly</prop>
				</datablob>
			</node>
			<node type="WhileNode" index="1">
				<param name="condition" type="11" value="false"></param>
				<param name="maxrepeat" type="3" value="10"></param>
				<portdef name="condition" type="1" structure="1" group="0" instance="0" port="0"></portdef>
				<portdef name="maxrepeat" type="2" structure="1" group="0" instance="0" port="1"></portdef>
				<portdef name="port" type="4096" structure="1" group="0" instance="0" port="2"></portdef>
				<datablob category="ui_infos">
					<prop name="posx">-57</prop>
					<prop name="posy">335</prop>
					<prop name="state">Normal</prop>
				</datablob>
			</node>
			<node type="ExecuteNode" index="2">
				<portdef name="port1" type="4096" structure="1" group="0" instance="0" port="0"></portdef>
				<portdef name="port2" type="4096" structure="1" group="0" instance="1" port="0"></portdef>
				<datablob category="ui_infos">
					<prop name="posx">206</prop>
					<prop name="posy">306</prop>
					<prop name="state">Normal</prop>
				</datablob>
			</node>
			<node type="BooleanNode" index="3">
				<param name="value" type="11" value="true"></param>
				<portdef name="value" type="1" structure="1" group="0" instance="0" port="0"></portdef>
				<datablob category="ui_infos">
					<prop name="posx">-53</prop>
					<prop name="posy">176</prop>
					<prop name="state">Normal</prop>
				</datablob>
			</node>
			<node type="CombineLogicNode" index="4">
				<param name="type" type="3" value="1"></param>
				<param name="value1" type="11" value="false"></param>
				<param name="value2" type="11" value="false"></param>
				<portdef name="value1" type="1" structure="1" group="0" instance="0" port="0"></portdef>
				<portdef name="value2" type="1" structure="1" group="0" instance="1" port="0"></portdef>
				<datablob category="ui_infos">
					<prop name="posx">-194</prop>
					<prop name="posy">334</prop>
					<prop name="state">Normal</prop>
				</datablob>
			</node>
			<node type="[embedded_5]" index="5">
				<param name="Reference1" type="31" value="Self.__Hit"></param>
				<param name="Reference2" type="31" value="Self.CollisionLocation"></param>
				<param name="Reference" type="31" value="Self.__FirstIteration"></param>
				<param name="Value" type="11" value="false"></param>
				<param name="Value1" type="11" value="false"></param>
				<param_ext name="Reference1" type="31" value="Self.__Hit"></param_ext>
				<param_ext name="Reference2" type="31" value="Self.CollisionLocation"></param_ext>
				<param_ext name="Reference" type="31" value="Self.__FirstIteration"></param_ext>
				<portdef name="Value1" type="1" structure="1" group="2" instance="0" port="0" groupname="Value"></portdef>
				<portdef name="Value2" type="2048" structure="1" group="2" instance="1" port="0" groupname="Value"></portdef>
				<portdef name="Value" type="1" structure="1" group="2" instance="2" port="0" groupname="Value"></portdef>
				<portdef name="In_Name" type="8192" structure="1" group="-1" instance="-1" port="-1"></portdef>
				<datablob category="ui_infos">
					<prop name="posx">60</prop>
					<prop name="posy">176</prop>
					<prop name="state">Normal</prop>
				</datablob>
			</node>
			<node type="GetDataNode" index="6">
				<param name="reference" type="31" value="Self.__FirstIteration"></param>
				<param_ext name="reference" type="31" value="Self.__FirstIteration"></param_ext>
				<portdef name="source" type="2048" structure="1" group="1" instance="0" port="0"></portdef>
				<portdef name="inname" type="8192" structure="1" group="3" instance="0" port="0"></portdef>
				<datablob category="ui_infos">
					<prop name="posx">-420</prop>
					<prop name="posy">469</prop>
					<prop name="state">ConnectedOnly</prop>
				</datablob>
			</node>
			<node type="BooleanNode" index="7">
				<param name="value" type="11" value="false"></param>
				<portdef name="value" type="1" structure="1" group="0" instance="0" port="0"></portdef>
				<datablob category="ui_infos">
					<prop name="posx">-54</prop>
					<prop name="posy">239</prop>
					<prop name="state">Normal</prop>
				</datablob>
			</node>
			<node type="GetDataNode" index="8">
				<param name="reference" type="31" value="Self.SimulatedFrameFraction"></param>
				<param_ext name="reference" type="31" value="Self.SimulatedFrameFraction"></param_ext>
				<portdef name="source" type="2048" structure="1" group="1" instance="0" port="0"></portdef>
				<portdef name="inname" type="8192" structure="1" group="3" instance="0" port="0"></portdef>
				<datablob category="ui_infos">
					<prop name="posx">-808</prop>
					<prop name="posy">280</prop>
					<prop name="state">ConnectedOnly</prop>
				</datablob>
			</node>
			<node type="GetDataNode" index="9">
				<param name="reference" type="31" value="Self.__PreSimulateFrameFraction"></param>
				<param_ext name="reference" type="31" value="Self.__PreSimulateFrameFraction"></param_ext>
				<portdef name="source" type="2048" structure="1" group="1" instance="0" port="0"></portdef>
				<portdef name="inname" type="8192" structure="1" group="3" instance="0" port="0"></portdef>
				<datablob category="ui_infos">
					<prop name="posx">-836</prop>
					<prop name="posy">373</prop>
					<prop name="state">ConnectedOnly</prop>
				</datablob>
			</node>
			<node type="CompareNode" index="10">
				<param name="type" type="3" value="4"></param>
				<param name="epsilon" type="5" value="0.000000"></param>
				<param name="first" type="4" value="0.000000"></param>
				<param name="second" type="4" value="0.000000"></param>
				<portdef name="first" type="4" structure="1" group="0" instance="0" port="0"></portdef>
				<portdef name="second" type="4" structure="1" group="0" instance="0" port="1"></portdef>
				<datablob category="ui_infos">
					<prop name="posx">-513</prop>
					<prop name="posy">305</prop>
					<prop name="state">Normal</prop>
				</datablob>
			</node>
			<node type="CombineLogicNode" index="11">
				<param name="type" type="3" value="0"></param>
				<param name="value1" type="11" value="true"></param>
				<param name="value2" type="11" value="true"></param>
				<param name="value3" type="11" value="true"></param>
				<portdef name="value1" type="1" structure="1" group="0" instance="0" port="0"></portdef>
				<portdef name="value2" type="1" structure="1" group="0" instance="1" port="0"></portdef>
				<portdef name="value3" type="1" structure="1" group="0" instance="2" port="0"></portdef>
				<datablob category="ui_infos">
					<prop name="posx">-331</prop>
					<prop name="posy">247</prop>
					<prop name="state">Normal</prop>
				</datablob>
			</node>
			<node type="CompareNode" index="12">
				<param name="type" type="3" value="2"></param>
				<param name="epsilon" type="5" value="0.000000"></param>
				<param name="first" type="4" value="0.000000"></param>
				<param name="second" type="4" value="1.000000"></param>
				<portdef name="first" type="4" structure="1" group="0" instance="0" port="0"></portdef>
				<portdef name="second" type="4" structure="1" group="0" instance="0" port="1"></portdef>
				<datablob category="ui_infos">
					<prop name="posx">-513</prop>
					<prop name="posy">438</prop>
					<prop name="state">Normal</prop>
				</datablob>
			</node>
			<node type="GetDataNode" index="13">
				<param name="reference" type="31" value="Self.SimulatedFrameFraction"></param>
				<param_ext name="reference" type="31" value="Self.SimulatedFrameFraction"></param_ext>
				<portdef name="source" type="2048" structure="1" group="1" instance="0" port="0"></portdef>
				<portdef name="inname" type="8192" structure="1" group="3" instance="0" port="0"></portdef>
				<datablob category="ui_infos">
					<prop name="posx">-809</prop>
					<prop name="posy">450</prop>
					<prop name="state">ConnectedOnly</prop>
				</datablob>
			</node>
		</nodes>
		<exposed_ports>
			<port index="1" portname="port" username="port" basename="port" portlabel="port" exposetype="single"> </port>
			<port index="1" portname="maxrepeat" username="max_repeat" basename="max repeat" portlabel="max repeat" exposetype="single"> </port>
			<port index="2" portname="execute" username="execute" basename="execute" portlabel="execute" exposetype="single"> </port>
		</exposed_ports>
		<connections>
			<cnx from_node="1" from_port="execute" to_node="2" to_port="port2"> </cnx>
			<cnx from_node="13" from_port="value" to_node="12" to_port="first"> </cnx>
			<cnx from_node="0" from_port="value" to_node="11" to_port="value1"> </cnx>
			<cnx from_node="6" from_port="value" to_node="4" to_port="value2"> </cnx>
			<cnx from_node="8" from_port="value" to_node="10" to_port="first"> </cnx>
			<cnx from_node="9" from_port="value" to_node="10" to_port="second"> </cnx>
			<cnx from_node="3" from_port="result" to_node="5" to_port="Value"> </cnx>
			<cnx from_node="4" from_port="result" to_node="1" to_port="condition"> </cnx>
			<cnx from_node="7" from_port="result" to_node="5" to_port="Value1"> </cnx>
			<cnx from_node="10" from_port="result" to_node="11" to_port="value2"> </cnx>
			<cnx from_node="11" from_port="result" to_node="4" to_port="value1"> </cnx>
			<cnx from_node="12" from_port="result" to_node="11" to_port="value3"> </cnx>
			<cnx from_node="5" from_port="Execute" to_node="2" to_port="port1"> </cnx>
		</connections>
		<layout>
			<item type="input" name="port"> </item>
			<item type="input" name="max_repeat"> </item>
			<item type="output" name="execute"> </item>
		</layout>
	</embedded_4>
	<embedded_7 name="Get Prev Hit Location" formatversion="1.4" compoundversion="1.0" constructionmode="Current" backgroundcolor="6732954">
		<nodes>
			<node type="GetDataNode" index="0">
				<param name="reference" type="31" value="Self.__Hit"></param>
				<param_ext name="reference" type="31" value="Self.__Hit"></param_ext>
				<portdef name="source" type="2048" structure="1" group="1" instance="0" port="0"></portdef>
				<portdef name="inname" type="8192" structure="1" group="3" instance="0" port="0"></portdef>
				<datablob category="ui_infos">
					<prop name="posx">-997</prop>
					<prop name="posy">-86</prop>
					<prop name="state">ConnectedOnly</prop>
				</datablob>
			</node>
			<node type="GetDataNode" index="1">
				<param name="reference" type="31" value="Self.__HitIsOutside"></param>
				<param_ext name="reference" type="31" value="Self.__HitIsOutside"></param_ext>
				<portdef name="source" type="2048" structure="1" group="1" instance="0" port="0"></portdef>
				<portdef name="inname" type="8192" structure="1" group="3" instance="0" port="0"></portdef>
				<datablob category="ui_infos">
					<prop name="posx">-870</prop>
					<prop name="posy">76</prop>
					<prop name="state">ConnectedOnly</prop>
				</datablob>
			</node>
			<node type="FirstValidNode" index="4">
				<portdef name="in1" type="2048" structure="1" group="0" instance="0" port="0"></portdef>
				<portdef name="in2" type="2048" structure="1" group="0" instance="1" port="0"></portdef>
				<datablob category="ui_infos">
					<prop name="posx">-628</prop>
					<prop name="posy">-47</prop>
					<prop name="state">Normal</prop>
				</datablob>
			</node>
			<node type="IfNode" index="7">
				<param name="condition" type="11" value="false"></param>
				<portdef name="condition" type="1" structure="1" group="0" instance="0" port="0"></portdef>
				<portdef name="iftrue" type="2048" structure="1" group="0" instance="0" port="1"></portdef>
				<portdef name="iffalse" type="2048" structure="1" group="0" instance="0" port="2"></portdef>
				<datablob category="ui_infos">
					<prop name="posx">-745</prop>
					<prop name="posy">-43</prop>
					<prop name="state">Normal</prop>
				</datablob>
			</node>
			<node type="FirstValidNode" index="8">
				<param name="in1" type="11" value="false"></param>
				<param name="in2" type="11" value="false"></param>
				<portdef name="in1" type="1" structure="1" group="0" instance="0" port="0"></portdef>
				<portdef name="in2" type="1" structure="1" group="0" instance="1" port="0"></portdef>
				<datablob category="ui_infos">
					<prop name="posx">-634</prop>
					<prop name="posy">52</prop>
					<prop name="state">Normal</prop>
				</datablob>
			</node>
			<node type="GetDataNode" index="15">
				<param name="reference" type="31" value="Self.CollisionLocation"></param>
				<param_ext name="reference" type="31" value="Self.CollisionLocation"></param_ext>
				<portdef name="source" type="2048" structure="1" group="1" instance="0" port="0"></portdef>
				<portdef name="inname" type="8192" structure="1" group="3" instance="0" port="0"></portdef>
				<datablob category="ui_infos">
					<prop name="posx">-1062</prop>
					<prop name="posy">-18</prop>
					<prop name="state">ConnectedOnly</prop>
				</datablob>
			</node>
		</nodes>
		<exposed_ports>
			<port index="4" portname="out" username="Prev_Hit_Location" basename="Prev Hit Location" portlabel="Prev Hit Location" exposetype="single"> </port>
			<port index="8" portname="out" username="Prev_Hit_Value" basename="Prev Hit Value" portlabel="Prev Hit Value" exposetype="single"> </port>
		</exposed_ports>
		<connections>
			<cnx from_node="0" from_port="value" to_node="7" to_port="condition"> </cnx>
			<cnx from_node="1" from_port="value" to_node="8" to_port="in1"> </cnx>
			<cnx from_node="15" from_port="value" to_node="7" to_port="iftrue"> </cnx>
			<cnx from_node="7" from_port="result" to_node="4" to_port="in1"> </cnx>
		</connections>
		<layout>
			<item type="output" name="Prev_Hit_Location"> </item>
			<item type="output" name="Prev_Hit_Value"> </item>
		</layout>
	</embedded_7>
	<embedded_8 name="Resize Vector" category="Vector" formatversion="1.4" compoundversion="1.0" constructionmode="Current" backgroundcolor="6732954">
		<nodes>
			<node type="MultiplyByScalarNode" index="0">
				<param name="value.value_x" type="4" value="0.000000"></param>
				<param name="value.value_y" type="4" value="0.000000"></param>
				<param name="value.value_z" type="4" value="0.000000"></param>
				<param name="factor" type="4" value="1.000000"></param>
				<portdef name="value" type="16" structure="1" group="0" instance="0" port="0"></portdef>
				<portdef name="factor" type="4" structure="1" group="0" instance="0" port="1"></portdef>
				<datablob category="ui_infos">
					<prop name="posx">2298</prop>
					<prop name="posy">2833</prop>
					<prop name="state">Normal</prop>
				</datablob>
			</node>
			<node type="IfNode" index="1">
				<param name="condition" type="11" value="false"></param>
				<param name="iftrue.iftrue_x" type="4" value="0.000000"></param>
				<param name="iftrue.iftrue_y" type="4" value="0.000000"></param>
				<param name="iftrue.iftrue_z" type="4" value="0.000000"></param>
				<param name="iffalse.iffalse_x" type="4" value="0.000000"></param>
				<param name="iffalse.iffalse_y" type="4" value="0.000000"></param>
				<param name="iffalse.iffalse_z" type="4" value="0.000000"></param>
				<portdef name="condition" type="1" structure="1" group="0" instance="0" port="0"></portdef>
				<portdef name="iftrue" type="16" structure="1" group="0" instance="0" port="1"></portdef>
				<portdef name="iffalse" type="16" structure="1" group="0" instance="0" port="2"></portdef>
				<datablob category="ui_infos">
					<prop name="posx">2483</prop>
					<prop name="posy">2778</prop>
					<prop name="state">Normal</prop>
				</datablob>
			</node>
			<node type="NormalizeNode" index="2">
				<param name="vector.vector_x" type="4" value="1.000000"></param>
				<param name="vector.vector_y" type="4" value="0.000000"></param>
				<param name="vector.vector_z" type="4" value="0.000000"></param>
				<portdef name="vector" type="16" structure="1" group="0" instance="0" port="0"></portdef>
				<datablob category="ui_infos">
					<prop name="posx">2168</prop>
					<prop name="posy">2775</prop>
					<prop name="state">Normal</prop>
				</datablob>
			</node>
		</nodes>
		<exposed_ports>
			<port index="0" portname="factor" username="New_Length" basename="New Length" portlabel="New Length" exposetype="single"> </port>
			<port index="1" portname="result" username="Result" basename="Result" portlabel="Result" exposetype="single"> </port>
			<port index="2" portname="vector" username="Vector" basename="Vector" portlabel="Vector" exposetype="single"> </port>
		</exposed_ports>
		<connections>
			<cnx from_node="0" from_port="result" to_node="1" to_port="iftrue"> </cnx>
			<cnx from_node="2" from_port="result" to_node="0" to_port="value"> </cnx>
			<cnx from_node="2" from_port="valid" to_node="1" to_port="condition"> </cnx>
		</connections>
		<layout>
			<item type="input" name="Vector"> </item>
			<item type="input" name="New_Length"> </item>
			<item type="output" name="Result"> </item>
		</layout>
	</embedded_8>
	<embedded_9 name="Get Particle Size" tasks="Particles/Getters" formatversion="1.4" compoundversion="1.0" constructionmode="Current" backgroundcolor="12228200">
	<description><![CDATA[This compound gets the particle's current size data as set by its Size attribute. You can output the Value as scalar data.]]></description>
		<nodes>
			<node type="GetDataNode" index="0">
				<param name="reference" type="31" value="Self.Size"></param>
				<param_ext name="reference" type="31" value="Self.Size"></param_ext>
				<portdef name="source" type="2048" structure="1" group="1" instance="0" port="0"></portdef>
				<portdef name="inname" type="8192" structure="1" group="3" instance="0" port="0"></portdef>
				<datablob category="ui_infos">
					<prop name="posx">1779</prop>
					<prop name="posy">2331</prop>
				</datablob>
			</node>
		</nodes>
		<exposed_ports>
			<port index="0" portname="reference" username="Reference" basename="Reference" portlabel="Reference" exposetype="single">
				<description><![CDATA[The particle's Size attribute. Click the Explorer button to open up an explorer and select a different particle attribute.]]></description>
			</port>
			<port index="0" portname="value" username="Value" basename="Value" portlabel="Value" exposetype="single"> </port>
		</exposed_ports>
		<connections>
		</connections>
		<layout>
			<item type="input" name="Reference"> </item>
			<item type="output" name="Value"> </item>
		</layout>
	</embedded_9>
	<embedded_10 name="Get Particle Position" tasks="Particles/Getters" formatversion="1.4" compoundversion="1.0" constructionmode="Current" backgroundcolor="12228200">
	<description><![CDATA[This compound gets the particle's current position data as set by its PointPosition attribute. You can output the Position value as a 3D vector.]]></description>
		<nodes>
			<node type="GetDataNode" index="0">
				<param name="reference" type="31" value="Self.PointPosition"></param>
				<param_ext name="reference" type="31" value="Self.PointPosition"></param_ext>
				<portdef name="source" type="2048" structure="1" group="1" instance="0" port="0"></portdef>
				<portdef name="inname" type="8192" structure="1" group="3" instance="0" port="0"></portdef>
				<datablob category="ui_infos">
					<prop name="posx">-345</prop>
					<prop name="posy">255</prop>
				</datablob>
			</node>
		</nodes>
		<exposed_ports>
			<port index="0" portname="value" username="Position" basename="Position" portlabel="Position" exposetype="single"> </port>
			<port index="0" portname="reference" username="Reference" basename="Reference" portlabel="Reference" exposetype="single">
				<description><![CDATA[The particle's PointPosition attribute. Click the Explorer button to open up an explorer and select a different particle attribute.]]></description>
			</port>
		</exposed_ports>
		<connections>
		</connections>
		<layout>
			<item type="input" name="Reference"> </item>
			<item type="output" name="Position"> </item>
		</layout>
	</embedded_10>
	<embedded_12 name="Get Particle Position" tasks="Particles/Getters" formatversion="1.4" compoundversion="1.0" constructionmode="Current" backgroundcolor="12228200">
	<description><![CDATA[This compound gets the particle's current position data as set by its PointPosition attribute. You can output the Position value as a 3D vector.]]></description>
		<nodes>
			<node type="GetDataNode" index="0">
				<param name="reference" type="31" value="Self.PointPosition"></param>
				<param_ext name="reference" type="31" value="Self.PointPosition"></param_ext>
				<portdef name="source" type="2048" structure="1" group="1" instance="0" port="0"></portdef>
				<portdef name="inname" type="8192" structure="1" group="3" instance="0" port="0"></portdef>
				<datablob category="ui_infos">
					<prop name="posx">-345</prop>
					<prop name="posy">255</prop>
				</datablob>
			</node>
		</nodes>
		<exposed_ports>
			<port index="0" portname="value" username="Position" basename="Position" portlabel="Position" exposetype="single"> </port>
			<port index="0" portname="reference" username="Reference" basename="Reference" portlabel="Reference" exposetype="single">
				<description><![CDATA[The particle's PointPosition attribute. Click the Explorer button to open up an explorer and select a different particle attribute.]]></description>
			</port>
		</exposed_ports>
		<connections>
		</connections>
		<layout>
			<item type="input" name="Reference"> </item>
			<item type="output" name="Position"> </item>
		</layout>
	</embedded_12>
	<embedded_11 name="Calc New Particle Position" formatversion="1.4" compoundversion="1.0" constructionmode="Current" backgroundcolor="6732954">
		<nodes>
			<node type="FirstValidNode" index="0">
				<param name="in1" type="4" value="0.000000"></param>
				<param name="in2" type="4" value="0.000000"></param>
				<portdef name="in1" type="4" structure="1" group="0" instance="0" port="0"></portdef>
				<portdef name="in2" type="4" structure="1" group="0" instance="1" port="0"></portdef>
				<datablob category="ui_infos">
					<prop name="posx">-364</prop>
					<prop name="posy">652</prop>
					<prop name="state">Normal</prop>
				</datablob>
			</node>
			<node type="GetDataNode" index="1">
				<param name="reference" type="31" value="Self.CollisionLocation"></param>
				<param_ext name="reference" type="31" value="Self.CollisionLocation"></param_ext>
				<portdef name="source" type="2048" structure="1" group="1" instance="0" port="0"></portdef>
				<portdef name="inname" type="8192" structure="1" group="3" instance="0" port="0"></portdef>
				<datablob category="ui_infos">
					<prop name="posx">-621</prop>
					<prop name="posy">557</prop>
					<prop name="state">ConnectedOnly</prop>
				</datablob>
			</node>
			<node type="GetDataNode" index="2">
				<param name="reference" type="31" value="Self.SimulatedFrameFraction"></param>
				<param_ext name="reference" type="31" value="Self.SimulatedFrameFraction"></param_ext>
				<portdef name="source" type="2048" structure="1" group="1" instance="0" port="0"></portdef>
				<portdef name="inname" type="8192" structure="1" group="3" instance="0" port="0"></portdef>
				<datablob category="ui_infos">
					<prop name="posx">-637</prop>
					<prop name="posy">660</prop>
					<prop name="state">ConnectedOnly</prop>
				</datablob>
			</node>
			<node type="FirstValidNode" index="3">
				<portdef name="in1" type="2048" structure="1" group="0" instance="0" port="0"></portdef>
				<portdef name="in2" type="2048" structure="1" group="0" instance="1" port="0"></portdef>
				<datablob category="ui_infos">
					<prop name="posx">-379</prop>
					<prop name="posy">544</prop>
					<prop name="state">Normal</prop>
				</datablob>
			</node>
			<node type="LinearInterpolateNode" index="4">
				<param name="first.first_x" type="4" value="0.000000"></param>
				<param name="first.first_y" type="4" value="0.000000"></param>
				<param name="first.first_z" type="4" value="0.000000"></param>
				<param name="second.second_x" type="4" value="0.000000"></param>
				<param name="second.second_y" type="4" value="0.000000"></param>
				<param name="second.second_z" type="4" value="0.000000"></param>
				<param name="blend" type="4" value="0.000000"></param>
				<param name="clamp" type="11" value="false"></param>
				<portdef name="first" type="16" structure="1" group="0" instance="0" port="0"></portdef>
				<portdef name="second" type="16" structure="1" group="0" instance="0" port="1"></portdef>
				<portdef name="blend" type="4" structure="1" group="0" instance="0" port="2"></portdef>
				<portdef name="clamp" type="1" structure="1" group="0" instance="0" port="3"></portdef>
				<datablob category="ui_infos">
					<prop name="posx">61</prop>
					<prop name="posy">585</prop>
					<prop name="state">ConnectedOnly</prop>
				</datablob>
			</node>
			<node type="SubtractNode" index="5">
				<param name="first.first_x" type="4" value="0.000000"></param>
				<param name="first.first_y" type="4" value="0.000000"></param>
				<param name="first.first_z" type="4" value="0.000000"></param>
				<param name="second.second_x" type="4" value="0.000000"></param>
				<param name="second.second_y" type="4" value="0.000000"></param>
				<param name="second.second_z" type="4" value="0.000000"></param>
				<portdef name="first" type="16" structure="1" group="0" instance="0" port="0"></portdef>
				<portdef name="second" type="16" structure="1" group="0" instance="0" port="1"></portdef>
				<datablob category="ui_infos">
					<prop name="posx">252</prop>
					<prop name="posy">495</prop>
					<prop name="state">Normal</prop>
				</datablob>
			</node>
			<node type="GetDataNode" index="6">
				<param name="reference" type="31" value="PointPosition"></param>
				<param_ext name="reference" type="31" value="PointPosition"></param_ext>
				<portdef name="source" type="2048" structure="1" group="1" instance="0" port="0"></portdef>
				<portdef name="inname" type="8192" structure="1" group="3" instance="0" port="0"></portdef>
				<datablob category="ui_infos">
					<prop name="posx">-153</prop>
					<prop name="posy">660</prop>
					<prop name="state">ConnectedOnly</prop>
				</datablob>
			</node>
			<node type="[embedded_12]" index="7">
				<param name="Reference" type="31" value="Self.PointPosition"></param>
				<param_ext name="Reference" type="31" value="Self.PointPosition"></param_ext>
				<datablob category="ui_infos">
					<prop name="posx">44</prop>
					<prop name="posy">690</prop>
					<prop name="state">ConnectedOnly</prop>
				</datablob>
			</node>
			<node type="GetDataAtPreviousFrameNode" index="8">
				<param name="reference" type="31" value=""></param>
				<param_ext name="reference" type="31" value=""></param_ext>
				<portdef name="source" type="2048" structure="1" group="1" instance="0" port="0"></portdef>
				<portdef name="inname" type="8192" structure="1" group="3" instance="0" port="0"></portdef>
				<datablob category="ui_infos">
					<prop name="posx">-207</prop>
					<prop name="posy">563</prop>
					<prop name="state">ConnectedOnly</prop>
				</datablob>
			</node>
			<node type="FirstValidNode" index="10">
				<param name="in1.in1_x" type="4" value="0.000000"></param>
				<param name="in1.in1_y" type="4" value="0.000000"></param>
				<param name="in1.in1_z" type="4" value="0.000000"></param>
				<param name="in2.in2_x" type="4" value="0.000000"></param>
				<param name="in2.in2_y" type="4" value="0.000000"></param>
				<param name="in2.in2_z" type="4" value="0.000000"></param>
				<portdef name="in1" type="16" structure="1" group="0" instance="0" port="0"></portdef>
				<portdef name="in2" type="16" structure="1" group="0" instance="1" port="0"></portdef>
				<datablob category="ui_infos">
					<prop name="posx">381</prop>
					<prop name="posy">552</prop>
					<prop name="state">Normal</prop>
				</datablob>
			</node>
			<comment type="group" state="maximized" wordwrap="false" autoresize="false" background="0" background_alpha="0.100000" title="14876671" title_text="0" offsetx="-241" offsety="469" sizex="747" sizey="278"><![CDATA[Calculate the new position of the particle]]></comment>
		</nodes>
		<exposed_ports>
			<port index="5" portname="second" username="Offset" basename="Offset" portlabel="Offset" exposetype="single"> </port>
			<port index="10" portname="out" username="position" basename="position" portlabel="position" exposetype="single"> </port>
		</exposed_ports>
		<connections>
			<cnx from_node="0" from_port="out" to_node="4" to_port="blend"> </cnx>
			<cnx from_node="3" from_port="out" to_node="8" to_port="source"> </cnx>
			<cnx from_node="3" from_port="out" to_node="6" to_port="source"> </cnx>
			<cnx from_node="1" from_port="value" to_node="3" to_port="in1"> </cnx>
			<cnx from_node="2" from_port="value" to_node="0" to_port="in1"> </cnx>
			<cnx from_node="6" from_port="value" to_node="4" to_port="second"> </cnx>
			<cnx from_node="6" from_port="outname" to_node="8" to_port="inname"> </cnx>
			<cnx from_node="8" from_port="value" to_node="4" to_port="first"> </cnx>
			<cnx from_node="7" from_port="Position" to_node="10" to_port="in2"> </cnx>
			<cnx from_node="4" from_port="result" to_node="5" to_port="first"> </cnx>
			<cnx from_node="5" from_port="result" to_node="10" to_port="in1"> </cnx>
		</connections>
		<layout>
			<item type="input" name="Offset"> </item>
			<item type="output" name="position"> </item>
		</layout>
	</embedded_11>
	<embedded_13 name="Set Data" category="Data Access" author="Softimage" formatversion="1.4" compoundversion="1.0" constructionmode="Current" backgroundcolor="12228200">
	<description><![CDATA[Sets the specified attributes to the supplied values.]]></description>
		<nodes>
			<node type="PassThroughNode" index="0">
				<portdef name="in" type="8192" structure="1" group="0" instance="0" port="0"></portdef>
				<datablob category="ui_infos">
					<prop name="posx">49</prop>
					<prop name="posy">114</prop>
					<prop name="state">Normal</prop>
				</datablob>
			</node>
			<node type="SetOneDataNode" index="1">
				<param name="reference" type="31" value="Self.PointPosition"></param>
				<param name="source.source_x" type="4" value="0.000000"></param>
				<param name="source.source_y" type="4" value="0.000000"></param>
				<param name="source.source_z" type="4" value="0.000000"></param>
				<param_ext name="reference" type="31" value="Self.PointPosition"></param_ext>
				<portdef name="source" type="16" structure="1" group="1" instance="0" port="0"></portdef>
				<portdef name="inname" type="8192" structure="1" group="3" instance="0" port="0"></portdef>
				<datablob category="ui_infos">
					<prop name="posx">209</prop>
					<prop name="posy">114</prop>
					<prop name="state">Normal</prop>
				</datablob>
			</node>
			<node type="ExecuteNode" index="2">
				<portdef name="port1" type="4096" structure="1" group="0" instance="0" port="0"></portdef>
				<datablob category="ui_infos">
					<prop name="posx">368</prop>
					<prop name="posy">114</prop>
					<prop name="state">Normal</prop>
				</datablob>
			</node>
		</nodes>
		<exposed_ports>
			<port index="0" portname="in" username="In_Name" basename="In Name" portlabel="In Name" exposetype="single">
				<description><![CDATA[Name prefixed to each attribute to be set. Use this to specify the object name, and then specify each attribute in the Reference ports.]]></description>
			</port>
			<port index="1" portname="source" username="Value" basename="Value" overridelabel="Reference" portlabel="Value" exposetype="use_node_import">
				<description><![CDATA[The value to set.]]></description>
			</port>
			<port index="1" portname="reference" username="Reference" basename="Reference" portlabel="Reference" exposetype="use_node_import">
				<description><![CDATA[The name of the attribute to set.]]></description>
			</port>
			<port index="2" portname="execute" username="Execute" basename="Execute" portlabel="Execute" exposetype="single"> </port>
		</exposed_ports>
		<connections>
			<cnx from_node="1" from_port="value" to_node="2" to_port="port1"> </cnx>
			<cnx from_node="0" from_port="out" to_node="1" to_port="inname"> </cnx>
		</connections>
		<layout>
			<item type="input" name="In_Name"> </item>
			<item type="input" name="Value" min="0" max="0"> </item>
			<item type="input" name="Reference"> </item>
			<item type="output" name="Execute"> </item>
		</layout>
	</embedded_13>
	<embedded_14 name="Calculate Movement This frame" formatversion="1.4" compoundversion="1.0" constructionmode="Current" backgroundcolor="6732954">
		<nodes>
			<node type="GetDataNode" index="0">
				<param name="reference" type="31" value="Self.PointVelocity"></param>
				<param_ext name="reference" type="31" value="Self.PointVelocity"></param_ext>
				<portdef name="source" type="2048" structure="1" group="1" instance="0" port="0"></portdef>
				<portdef name="inname" type="8192" structure="1" group="3" instance="0" port="0"></portdef>
				<datablob category="ui_infos">
					<prop name="posx">-1362</prop>
					<prop name="posy">254</prop>
					<prop name="state">ConnectedOnly</prop>
				</datablob>
			</node>
			<node type="MultiplyByScalarNode" index="1">
				<param name="value.value_x" type="4" value="0.000000"></param>
				<param name="value.value_y" type="4" value="0.000000"></param>
				<param name="value.value_z" type="4" value="0.000000"></param>
				<param name="factor" type="4" value="1.000000"></param>
				<portdef name="value" type="16" structure="1" group="0" instance="0" port="0"></portdef>
				<portdef name="factor" type="4" structure="1" group="0" instance="0" port="1"></portdef>
				<datablob category="ui_infos">
					<prop name="posx">-1135</prop>
					<prop name="posy">316</prop>
					<prop name="state">Normal</prop>
				</datablob>
			</node>
			<node type="MultiplyByScalarNode" index="2">
				<param name="value" type="4" value="0.000000"></param>
				<param name="factor" type="4" value="1.000000"></param>
				<portdef name="value" type="4" structure="1" group="0" instance="0" port="0"></portdef>
				<portdef name="factor" type="4" structure="1" group="0" instance="0" port="1"></portdef>
				<datablob category="ui_infos">
					<prop name="posx">-1334</prop>
					<prop name="posy">323</prop>
					<prop name="state">Normal</prop>
				</datablob>
			</node>
			<node type="SimulationStepNode" index="3">
				<datablob category="ui_infos">
					<prop name="posx">-1509</prop>
					<prop name="posy">331</prop>
					<prop name="state">Normal</prop>
				</datablob>
			</node>
			<node type="SubtractNode" index="4">
				<param name="first" type="4" value="1.000000"></param>
				<param name="second" type="4" value="0.000000"></param>
				<portdef name="first" type="4" structure="1" group="0" instance="0" port="0"></portdef>
				<portdef name="second" type="4" structure="1" group="0" instance="0" port="1"></portdef>
				<datablob category="ui_infos">
					<prop name="posx">-1472</prop>
					<prop name="posy">377</prop>
					<prop name="state">Normal</prop>
				</datablob>
			</node>
		</nodes>
		<exposed_ports>
			<port index="1" portname="result" username="Movement" basename="Movement" portlabel="Movement" exposetype="single"> </port>
			<port index="4" portname="second" username="Used_Frame_Fraction" basename="Used Frame Fraction" portlabel="Used Frame Fraction" exposetype="single"> </port>
		</exposed_ports>
		<connections>
			<cnx from_node="0" from_port="value" to_node="1" to_port="value"> </cnx>
			<cnx from_node="2" from_port="result" to_node="1" to_port="factor"> </cnx>
			<cnx from_node="3" from_port="time" to_node="2" to_port="value"> </cnx>
			<cnx from_node="4" from_port="result" to_node="2" to_port="factor"> </cnx>
		</connections>
		<layout>
			<item type="input" name="Used_Frame_Fraction"> </item>
			<item type="output" name="Movement"> </item>
		</layout>
	</embedded_14>
	<embedded_15 name="Get Particle Velocity" tasks="Particles/Getters" formatversion="1.4" compoundversion="1.0" constructionmode="Current" backgroundcolor="12228200">
	<description><![CDATA[This compound gets the particle's current velocity data as defined by its PointVelocity attribute. You can output the Velocity Vector and Speed data.]]></description>
		<nodes>
			<node type="GetDataNode" index="0">
				<param name="reference" type="31" value="Self.PointVelocity"></param>
				<param_ext name="reference" type="31" value="Self.PointVelocity"></param_ext>
				<portdef name="source" type="2048" structure="1" group="1" instance="0" port="0"></portdef>
				<portdef name="inname" type="8192" structure="1" group="3" instance="0" port="0"></portdef>
				<datablob category="ui_infos">
					<prop name="posx">-345</prop>
					<prop name="posy">255</prop>
				</datablob>
			</node>
			<node type="LengthNode" index="1">
				<param name="vector.vector_x" type="4" value="0.000000"></param>
				<param name="vector.vector_y" type="4" value="0.000000"></param>
				<param name="vector.vector_z" type="4" value="0.000000"></param>
				<portdef name="vector" type="16" structure="1" group="0" instance="0" port="0"></portdef>
				<datablob category="ui_infos">
					<prop name="posx">-93</prop>
					<prop name="posy">303</prop>
				</datablob>
			</node>
		</nodes>
		<exposed_ports>
			<port index="0" portname="value" username="Velocity" basename="Velocity" portlabel="Velocity" exposetype="single"> </port>
			<port index="0" portname="reference" username="Reference" basename="Reference" portlabel="Reference" exposetype="single">
				<description><![CDATA[The particle's PointVelocity attribute. Click the Explorer button to open up an explorer and select a different particle attribute.]]></description>
			</port>
			<port index="1" portname="result" username="Speed" basename="Speed" portlabel="Speed" exposetype="single"> </port>
		</exposed_ports>
		<connections>
			<cnx from_node="0" from_port="value" to_node="1" to_port="vector"> </cnx>
		</connections>
		<layout>
			<item type="input" name="Reference"> </item>
			<item type="output" name="Velocity"> </item>
			<item type="output" name="Speed"> </item>
		</layout>
	</embedded_15>
	<embedded_17 name="Get Particle Velocity" tasks="Particles/Getters" formatversion="1.4" compoundversion="1.0" constructionmode="Current" backgroundcolor="12228200">
	<description><![CDATA[This compound gets the particle's current velocity data as defined by its PointVelocity attribute. You can output the Velocity Vector and Speed data.]]></description>
		<nodes>
			<node type="GetDataNode" index="0">
				<param name="reference" type="31" value="Self.PointVelocity"></param>
				<param_ext name="reference" type="31" value="Self.PointVelocity"></param_ext>
				<portdef name="source" type="2048" structure="1" group="1" instance="0" port="0"></portdef>
				<portdef name="inname" type="8192" structure="1" group="3" instance="0" port="0"></portdef>
				<datablob category="ui_infos">
					<prop name="posx">-345</prop>
					<prop name="posy">255</prop>
				</datablob>
			</node>
			<node type="LengthNode" index="1">
				<param name="vector.vector_x" type="4" value="0.000000"></param>
				<param name="vector.vector_y" type="4" value="0.000000"></param>
				<param name="vector.vector_z" type="4" value="0.000000"></param>
				<portdef name="vector" type="16" structure="1" group="0" instance="0" port="0"></portdef>
				<datablob category="ui_infos">
					<prop name="posx">-93</prop>
					<prop name="posy">303</prop>
				</datablob>
			</node>
		</nodes>
		<exposed_ports>
			<port index="0" portname="value" username="Velocity" basename="Velocity" portlabel="Velocity" exposetype="single"> </port>
			<port index="0" portname="reference" username="Reference" basename="Reference" portlabel="Reference" exposetype="single">
				<description><![CDATA[The particle's PointVelocity attribute. Click the Explorer button to open up an explorer and select a different particle attribute.]]></description>
			</port>
			<port index="1" portname="result" username="Speed" basename="Speed" portlabel="Speed" exposetype="single"> </port>
		</exposed_ports>
		<connections>
			<cnx from_node="0" from_port="value" to_node="1" to_port="vector"> </cnx>
		</connections>
		<layout>
			<item type="input" name="Reference"> </item>
			<item type="output" name="Velocity"> </item>
			<item type="output" name="Speed"> </item>
		</layout>
	</embedded_17>
	<embedded_16 name="Calc Remaining Frame Fraction" formatversion="1.4" compoundversion="1.0" constructionmode="Current" backgroundcolor="6732954">
		<nodes>
			<node type="[embedded_17]" index="0">
				<param name="Reference" type="31" value="Self.PointVelocity"></param>
				<param_ext name="Reference" type="31" value="Self.PointVelocity"></param_ext>
				<datablob category="ui_infos">
					<prop name="posx">-1061</prop>
					<prop name="posy">-31</prop>
					<prop name="state">Normal</prop>
				</datablob>
			</node>
			<node type="DivideByScalarNode" index="1">
				<param name="value" type="4" value="0.000000"></param>
				<param name="divideby" type="4" value="1.000000"></param>
				<portdef name="value" type="4" structure="1" group="0" instance="0" port="0"></portdef>
				<portdef name="divideby" type="4" structure="1" group="0" instance="0" port="1"></portdef>
				<datablob category="ui_infos">
					<prop name="posx">-721</prop>
					<prop name="posy">-6</prop>
					<prop name="state">Normal</prop>
				</datablob>
			</node>
			<node type="SimulationStepNode" index="2">
				<datablob category="ui_infos">
					<prop name="posx">-1041</prop>
					<prop name="posy">64</prop>
					<prop name="state">Normal</prop>
				</datablob>
			</node>
			<node type="SubtractNode" index="3">
				<param name="first" type="4" value="0.000000"></param>
				<param name="second" type="4" value="0.000000"></param>
				<portdef name="first" type="4" structure="1" group="0" instance="0" port="0"></portdef>
				<portdef name="second" type="4" structure="1" group="0" instance="0" port="1"></portdef>
				<datablob category="ui_infos">
					<prop name="posx">-368</prop>
					<prop name="posy">-174</prop>
					<prop name="state">Normal</prop>
				</datablob>
			</node>
			<node type="MultiplyNode" index="4">
				<param name="value1" type="4" value="1.000000"></param>
				<param name="value2" type="4" value="1.000000"></param>
				<portdef name="value1" type="4" structure="1" group="0" instance="0" port="0"></portdef>
				<portdef name="value2" type="4" structure="1" group="0" instance="1" port="0"></portdef>
				<datablob category="ui_infos">
					<prop name="posx">-862</prop>
					<prop name="posy">-1</prop>
					<prop name="state">Normal</prop>
				</datablob>
			</node>
			<node type="MultiplyNode" index="5">
				<param name="value1" type="4" value="1.000000"></param>
				<param name="value2" type="4" value="1.000000"></param>
				<portdef name="value1" type="4" structure="1" group="0" instance="0" port="0"></portdef>
				<portdef name="value2" type="4" structure="1" group="0" instance="1" port="0"></portdef>
				<datablob category="ui_infos">
					<prop name="posx">-481</prop>
					<prop name="posy">-88</prop>
					<prop name="state">Normal</prop>
				</datablob>
			</node>
			<node type="PassThroughNode" index="6">
				<param name="in" type="4" value="0.000000"></param>
				<portdef name="in" type="4" structure="1" group="0" instance="0" port="0"></portdef>
				<datablob category="passthrough">
					<prop name="private">true</prop>
				</datablob>
				<datablob category="ui_infos">
					<prop name="posx">-1052</prop>
					<prop name="posy">-233</prop>
					<prop name="state">Normal</prop>
				</datablob>
			</node>
			<node type="SubtractNode" index="7">
				<param name="first" type="4" value="1.000000"></param>
				<param name="second" type="4" value="0.000000"></param>
				<portdef name="first" type="4" structure="1" group="0" instance="0" port="0"></portdef>
				<portdef name="second" type="4" structure="1" group="0" instance="0" port="1"></portdef>
				<datablob category="ui_infos">
					<prop name="posx">-705</prop>
					<prop name="posy">-166</prop>
					<prop name="state">Normal</prop>
				</datablob>
			</node>
			<comment type="node" state="maximized" wordwrap="true" autoresize="true" background="0" background_alpha="0.000000" title="14876671" title_text="0" offsetx="-1086" offsety="-132" sizex="275" sizey="20"><![CDATA[The frame fraction returned by Basic collide includes the movement vector + the size of the particle.]]></comment>
			<comment type="group" state="maximized" wordwrap="false" autoresize="false" background="0" background_alpha="0.100000" title="14876671" title_text="0" offsetx="-1106" offsety="-73" sizex="562" sizey="201"><![CDATA[Calculate the frame fraction for the offset distance component of the original Test Ray]]></comment>
		</nodes>
		<exposed_ports>
			<port index="1" portname="value" username="Offset_Distance" basename="Offset Distance" portlabel="Offset Distance" exposetype="single"> </port>
			<port index="3" portname="result" username="Result" basename="Result" portlabel="Result" exposetype="single"> </port>
			<port index="6" portname="in" username="Hit_Ratio" basename="Hit Ratio" portlabel="Hit Ratio" exposetype="single"> </port>
		</exposed_ports>
		<connections>
			<cnx from_node="0" from_port="Speed" to_node="4" to_port="value1"> </cnx>
			<cnx from_node="1" from_port="result" to_node="5" to_port="value1"> </cnx>
			<cnx from_node="2" from_port="time" to_node="4" to_port="value2"> </cnx>
			<cnx from_node="4" from_port="result" to_node="1" to_port="divideby"> </cnx>
			<cnx from_node="5" from_port="result" to_node="3" to_port="second"> </cnx>
			<cnx from_node="6" from_port="out" to_node="3" to_port="first"> </cnx>
			<cnx from_node="6" from_port="out" to_node="7" to_port="second"> </cnx>
			<cnx from_node="7" from_port="result" to_node="5" to_port="value2"> </cnx>
		</connections>
		<layout>
			<item type="input" name="Hit_Ratio"> </item>
			<item type="input" name="Offset_Distance"> </item>
			<item type="output" name="Result"> </item>
		</layout>
	</embedded_16>
	<embedded_18 name="Set Data" category="Data Access" author="Softimage" formatversion="1.4" compoundversion="1.0" constructionmode="Current" backgroundcolor="12228200">
	<description><![CDATA[Sets the specified attributes to the supplied values.]]></description>
		<nodes>
			<node type="PassThroughNode" index="0">
				<portdef name="in" type="8192" structure="1" group="0" instance="0" port="0"></portdef>
				<datablob category="ui_infos">
					<prop name="posx">49</prop>
					<prop name="posy">114</prop>
					<prop name="state">Normal</prop>
				</datablob>
			</node>
			<node type="SetOneDataNode" index="1">
				<param name="reference" type="31" value="Self.__Hit"></param>
				<param name="source" type="11" value="false"></param>
				<param_ext name="reference" type="31" value="Self.__Hit"></param_ext>
				<portdef name="source" type="1" structure="1" group="1" instance="0" port="0"></portdef>
				<portdef name="inname" type="8192" structure="1" group="3" instance="0" port="0"></portdef>
				<datablob category="ui_infos">
					<prop name="posx">209</prop>
					<prop name="posy">114</prop>
					<prop name="state">Normal</prop>
				</datablob>
			</node>
			<node type="ExecuteNode" index="2">
				<portdef name="port1" type="4096" structure="1" group="0" instance="0" port="0"></portdef>
				<portdef name="port2" type="4096" structure="1" group="0" instance="1" port="0"></portdef>
				<portdef name="port3" type="4096" structure="1" group="0" instance="2" port="0"></portdef>
				<portdef name="port4" type="4096" structure="1" group="0" instance="3" port="0"></portdef>
				<datablob category="ui_infos">
					<prop name="posx">368</prop>
					<prop name="posy">114</prop>
					<prop name="state">Normal</prop>
				</datablob>
			</node>
			<node type="SetOneDataNode" index="3">
				<param name="reference" type="31" value="Self.CollisionLocation"></param>
				<param_ext name="reference" type="31" value="Self.CollisionLocation"></param_ext>
				<portdef name="source" type="2048" structure="1" group="1" instance="0" port="0"></portdef>
				<portdef name="inname" type="8192" structure="1" group="3" instance="0" port="0"></portdef>
			</node>
			<node type="SetOneDataNode" index="4">
				<param name="reference" type="31" value="Self.SimulatedFrameFraction"></param>
				<param name="source" type="4" value="0.000000"></param>
				<param_ext name="reference" type="31" value="Self.SimulatedFrameFraction"></param_ext>
				<portdef name="source" type="4" structure="1" group="1" instance="0" port="0"></portdef>
				<portdef name="inname" type="8192" structure="1" group="3" instance="0" port="0"></portdef>
			</node>
			<node type="SetOneDataNode" index="5">
				<param name="reference" type="31" value="Self.__HitIsOutside"></param>
				<param name="source" type="11" value="false"></param>
				<param_ext name="reference" type="31" value="Self.__HitIsOutside"></param_ext>
				<portdef name="source" type="1" structure="1" group="1" instance="0" port="0"></portdef>
				<portdef name="inname" type="8192" structure="1" group="3" instance="0" port="0"></portdef>
			</node>
		</nodes>
		<exposed_ports>
			<port index="0" portname="in" username="In_Name" basename="In Name" portlabel="In Name" exposetype="single">
				<description><![CDATA[Name prefixed to each attribute to be set. Use this to specify the object name, and then specify each attribute in the Reference ports.]]></description>
			</port>
			<port index="1" portname="source" username="Value" basename="Value" overridelabel="Reference" portlabel="Value" exposetype="use_node_import">
				<description><![CDATA[The value to set.]]></description>
			</port>
			<port index="1" portname="reference" username="Reference" basename="Reference" portlabel="Reference" exposetype="use_node_import">
				<description><![CDATA[The name of the attribute to set.]]></description>
			</port>
			<port index="2" portname="execute" username="Execute" basename="Execute" portlabel="Execute" exposetype="single"> </port>
			<port index="3" portname="source" username="Value1" basename="Value" overridelabel="Reference" portlabel="Value1" exposetype="use_node_import">
				<description><![CDATA[The value to set.]]></description>
			</port>
			<port index="3" portname="reference" username="Reference1" basename="Reference" portlabel="Reference1" exposetype="use_node_import">
				<description><![CDATA[The name of the attribute to set.]]></description>
			</port>
			<port index="4" portname="source" username="Value2" basename="Value" overridelabel="Reference" portlabel="Value2" exposetype="use_node_import">
				<description><![CDATA[The value to set.]]></description>
			</port>
			<port index="4" portname="reference" username="Reference2" basename="Reference" portlabel="Reference2" exposetype="use_node_import">
				<description><![CDATA[The name of the attribute to set.]]></description>
			</port>
			<port index="5" portname="source" username="Value3" basename="Value" overridelabel="Reference" portlabel="Value3" exposetype="use_node_import">
				<description><![CDATA[The value to set.]]></description>
			</port>
			<port index="5" portname="reference" username="Reference3" basename="Reference" portlabel="Reference3" exposetype="use_node_import">
				<description><![CDATA[The name of the attribute to set.]]></description>
			</port>
		</exposed_ports>
		<connections>
			<cnx from_node="1" from_port="value" to_node="2" to_port="port1"> </cnx>
			<cnx from_node="3" from_port="value" to_node="2" to_port="port2"> </cnx>
			<cnx from_node="4" from_port="value" to_node="2" to_port="port3"> </cnx>
			<cnx from_node="5" from_port="value" to_node="2" to_port="port4"> </cnx>
			<cnx from_node="0" from_port="out" to_node="1" to_port="inname"> </cnx>
			<cnx from_node="0" from_port="out" to_node="3" to_port="inname"> </cnx>
			<cnx from_node="0" from_port="out" to_node="4" to_port="inname"> </cnx>
			<cnx from_node="0" from_port="out" to_node="5" to_port="inname"> </cnx>
		</connections>
		<layout>
			<item type="input" name="In_Name"> </item>
			<item type="input" name="Value" min="0" max="0"> </item>
			<item type="input" name="Reference"> </item>
			<item type="input" name="Value1" min="0" max="0"> </item>
			<item type="input" name="Reference1"> </item>
			<item type="input" name="Value2" min="0" max="0"> </item>
			<item type="input" name="Reference2"> </item>
			<item type="input" name="Value3" min="0" max="0"> </item>
			<item type="input" name="Reference3"> </item>
			<item type="output" name="Execute"> </item>
		</layout>
	</embedded_18>
	<embedded_6 name="Test Collision With Surface" tasks="Particles/Conditionals,Particles/Surface Interaction" author="Softimage" formatversion="1.4" compoundversion="1.0" versiontag="First version" constructionmode="Modeling" backgroundcolor="5546441">
	<description><![CDATA[This compound uses the particle's collision with an obstacle as a trigger for an effect. Plug this compound's Result output into a Trigger port on a State compound, and plug its Save Hit Location into the Execute on Trigger port on a State compound.]]></description>
		<nodes>
			<node type="[embedded_7]" index="0">
				<datablob category="ui_infos">
					<prop name="posx">-607</prop>
					<prop name="posy">424</prop>
					<prop name="state">Normal</prop>
				</datablob>
			</node>
			<node type="AddNode" index="1">
				<param name="value1.value1_x" type="4" value="0.000000"></param>
				<param name="value1.value1_y" type="4" value="0.000000"></param>
				<param name="value1.value1_z" type="4" value="0.000000"></param>
				<param name="value2.value2_x" type="4" value="0.000000"></param>
				<param name="value2.value2_y" type="4" value="0.000000"></param>
				<param name="value2.value2_z" type="4" value="0.000000"></param>
				<portdef name="value1" type="16" structure="1" group="0" instance="0" port="0"></portdef>
				<portdef name="value2" type="16" structure="1" group="0" instance="1" port="0"></portdef>
				<datablob category="ui_infos">
					<prop name="posx">-536</prop>
					<prop name="posy">317</prop>
					<prop name="state">Normal</prop>
				</datablob>
			</node>
			<node type="[embedded_8]" index="2">
				<param name="Vector.Vector_x" type="4" value="1.000000"></param>
				<param name="Vector.Vector_y" type="4" value="0.000000"></param>
				<param name="Vector.Vector_z" type="4" value="0.000000"></param>
				<param name="New_Length" type="4" value="1.000000"></param>
				<portdef name="New_Length" type="4" structure="1" group="-1" instance="-1" port="-1"></portdef>
				<portdef name="Vector" type="16" structure="1" group="-1" instance="-1" port="-1"></portdef>
				<datablob category="ui_infos">
					<prop name="posx">-833</prop>
					<prop name="posy">477</prop>
					<prop name="state">Normal</prop>
				</datablob>
			</node>
			<node type="[embedded_9]" index="3">
				<param name="Reference" type="31" value="Self.Size"></param>
				<param_ext name="Reference" type="31" value="Self.Size"></param_ext>
				<datablob category="ui_infos">
					<prop name="posx">-1163</prop>
					<prop name="posy">545</prop>
					<prop name="state">Normal</prop>
				</datablob>
			</node>
			<node type="FirstValidNode" index="4">
				<param name="in1" type="11" value="false"></param>
				<param name="in2" type="11" value="false"></param>
				<portdef name="in1" type="1" structure="1" group="0" instance="0" port="0"></portdef>
				<portdef name="in2" type="1" structure="1" group="0" instance="1" port="0"></portdef>
				<datablob category="ui_infos">
					<prop name="posx">-213</prop>
					<prop name="posy">-4</prop>
					<prop name="state">ConnectedOnly</prop>
				</datablob>
			</node>
			<node type="DelaySetDataNode" index="5">
				<portdef name="port1" type="4096" structure="1" group="0" instance="0" port="0"></portdef>
				<datablob category="ui_infos">
					<prop name="posx">359</prop>
					<prop name="posy">321</prop>
					<prop name="state">Normal</prop>
				</datablob>
			</node>
			<node type="NotNode" index="6">
				<param name="value" type="11" value="false"></param>
				<portdef name="value" type="1" structure="1" group="0" instance="0" port="0"></portdef>
				<datablob category="ui_infos">
					<prop name="posx">-97</prop>
					<prop name="posy">-1</prop>
					<prop name="state">Normal</prop>
				</datablob>
			</node>
			<node type="CombineLogicNode" index="7">
				<param name="type" type="3" value="1"></param>
				<param name="value1" type="11" value="false"></param>
				<param name="value2" type="11" value="false"></param>
				<portdef name="value1" type="1" structure="1" group="0" instance="0" port="0"></portdef>
				<portdef name="value2" type="1" structure="1" group="0" instance="1" port="0"></portdef>
				<datablob category="ui_infos">
					<prop name="posx">7</prop>
					<prop name="posy">21</prop>
					<prop name="state">ConnectedOnly</prop>
				</datablob>
			</node>
			<node type="[embedded_10]" index="8">
				<param name="Reference" type="31" value="Self.PointPosition"></param>
				<param_ext name="Reference" type="31" value="Self.PointPosition"></param_ext>
				<datablob category="ui_infos">
					<prop name="posx">-810</prop>
					<prop name="posy">233</prop>
					<prop name="state">Normal</prop>
				</datablob>
			</node>
			<node type="SubtractNode" index="9">
				<param name="first.first_x" type="4" value="0.000000"></param>
				<param name="first.first_y" type="4" value="0.000000"></param>
				<param name="first.first_z" type="4" value="0.000000"></param>
				<param name="second.second_x" type="4" value="0.000000"></param>
				<param name="second.second_y" type="4" value="0.000000"></param>
				<param name="second.second_z" type="4" value="0.000000"></param>
				<portdef name="first" type="16" structure="1" group="0" instance="0" port="0"></portdef>
				<portdef name="second" type="16" structure="1" group="0" instance="0" port="1"></portdef>
				<datablob category="ui_infos">
					<prop name="posx">-525</prop>
					<prop name="posy">226</prop>
					<prop name="state">Normal</prop>
				</datablob>
			</node>
			<node type="SelectCaseNode" index="10">
				<param name="condition" type="3" value="0"></param>
				<param name="case0" type="4" value="0.000000"></param>
				<param name="case1" type="4" value="0.500000"></param>
				<param name="default" type="4" value="0.000000"></param>
				<portdef name="condition" type="2" structure="1" group="0" instance="0" port="0"></portdef>
				<portdef name="case0" type="4" structure="1" group="1" instance="0" port="0"></portdef>
				<portdef name="case1" type="4" structure="1" group="1" instance="1" port="0"></portdef>
				<portdef name="default" type="4" structure="1" group="2" instance="0" port="0"></portdef>
				<datablob category="ui_infos">
					<prop name="posx">-979</prop>
					<prop name="posy">524</prop>
					<prop name="state">ConnectedOnly</prop>
				</datablob>
			</node>
			<node type="CompareNode" index="11">
				<param name="type" type="3" value="4"></param>
				<param name="epsilon" type="5" value="0.000000"></param>
				<param name="first" type="4" value="0.000000"></param>
				<param name="second" type="4" value="0.000000"></param>
				<portdef name="first" type="4" structure="1" group="0" instance="0" port="0"></portdef>
				<portdef name="second" type="4" structure="1" group="0" instance="0" port="1"></portdef>
				<datablob category="ui_infos">
					<prop name="posx">-91</prop>
					<prop name="posy">95</prop>
					<prop name="state">ConnectedOnly</prop>
				</datablob>
				<comment type="node" state="minimized" wordwrap="true" autoresize="true" background="0" background_alpha="0.000000" title="14876671" title_text="0" offsetx="-147" offsety="-22" sizex="154" sizey="84"><![CDATA[If we have already had one collision, then a second collision should not return th esame frame fraction as the 1st. If it does, we ignore this collision and keep going.]]></comment>
			</node>
			<node type="GroupGeometryNode" index="12">
				<portdef name="geometry1" type="1024" structure="1" group="0" instance="0" port="0"></portdef>
				<datablob category="ui_infos">
					<prop name="posx">-806</prop>
					<prop name="posy">123</prop>
					<prop name="state">Normal</prop>
				</datablob>
			</node>
			<node type="FirstValidNode" index="13">
				<param name="in1" type="4" value="0.000000"></param>
				<param name="in2" type="4" value="0.000000"></param>
				<portdef name="in1" type="4" structure="1" group="0" instance="0" port="0"></portdef>
				<portdef name="in2" type="4" structure="1" group="0" instance="1" port="0"></portdef>
				<datablob category="ui_infos">
					<prop name="posx">-1024</prop>
					<prop name="posy">277</prop>
					<prop name="state">Normal</prop>
				</datablob>
			</node>
			<node type="BasicCollideNode" index="14">
				<param name="method" type="3" value="0"></param>
				<param name="startposition.startposition_x" type="4" value="0.000000"></param>
				<param name="startposition.startposition_y" type="4" value="0.000000"></param>
				<param name="startposition.startposition_z" type="4" value="0.000000"></param>
				<param name="movement.movement_x" type="4" value="0.000000"></param>
				<param name="movement.movement_y" type="4" value="0.000000"></param>
				<param name="movement.movement_z" type="4" value="0.000000"></param>
				<param name="framefraction" type="4" value="0.000000"></param>
				<param name="currentcollisionisoutside" type="11" value="false"></param>
				<portdef name="obstacle" type="1024" structure="1" group="0" instance="0" port="0"></portdef>
				<portdef name="startposition" type="16" structure="1" group="0" instance="0" port="1"></portdef>
				<portdef name="movement" type="16" structure="1" group="0" instance="0" port="2"></portdef>
				<portdef name="framefraction" type="4" structure="1" group="0" instance="0" port="3"></portdef>
				<portdef name="currentcollision" type="2048" structure="1" group="0" instance="0" port="4"></portdef>
				<portdef name="currentcollisionisoutside" type="1" structure="1" group="0" instance="0" port="5"></portdef>
				<datablob category="ui_infos">
					<prop name="posx">-346</prop>
					<prop name="posy">196</prop>
					<prop name="state">Normal</prop>
				</datablob>
			</node>
			<node type="CombineLogicNode" index="15">
				<param name="type" type="3" value="0"></param>
				<param name="value1" type="11" value="true"></param>
				<param name="value2" type="11" value="true"></param>
				<portdef name="value1" type="1" structure="1" group="0" instance="0" port="0"></portdef>
				<portdef name="value2" type="1" structure="1" group="0" instance="1" port="0"></portdef>
				<datablob category="ui_infos">
					<prop name="posx">150</prop>
					<prop name="posy">78</prop>
					<prop name="state">ConnectedOnly</prop>
				</datablob>
			</node>
			<node type="GetDataNode" index="16">
				<param name="reference" type="31" value="Self.__PreSimulateFrameFraction"></param>
				<param_ext name="reference" type="31" value="Self.__PreSimulateFrameFraction"></param_ext>
				<portdef name="source" type="2048" structure="1" group="1" instance="0" port="0"></portdef>
				<portdef name="inname" type="8192" structure="1" group="3" instance="0" port="0"></portdef>
				<datablob category="ui_infos">
					<prop name="posx">-1323</prop>
					<prop name="posy">287</prop>
					<prop name="state">ConnectedOnly</prop>
				</datablob>
			</node>
			<node type="[embedded_11]" index="17">
				<param name="Offset.Offset_x" type="4" value="0.000000"></param>
				<param name="Offset.Offset_y" type="4" value="0.000000"></param>
				<param name="Offset.Offset_z" type="4" value="0.000000"></param>
				<portdef name="Offset" type="16" structure="1" group="-1" instance="-1" port="-1"></portdef>
				<datablob category="ui_infos">
					<prop name="posx">-41</prop>
					<prop name="posy">517</prop>
					<prop name="state">Normal</prop>
				</datablob>
			</node>
			<node type="[embedded_13]" index="18">
				<param name="Reference" type="31" value="Self.PointPosition"></param>
				<param name="Value.Value_x" type="4" value="0.000000"></param>
				<param name="Value.Value_y" type="4" value="0.000000"></param>
				<param name="Value.Value_z" type="4" value="0.000000"></param>
				<param_ext name="Reference" type="31" value="Self.PointPosition"></param_ext>
				<portdef name="Value" type="16" structure="1" group="2" instance="0" port="0" groupname="Value"></portdef>
				<portdef name="In_Name" type="8192" structure="1" group="-1" instance="-1" port="-1"></portdef>
				<datablob category="ui_infos">
					<prop name="posx">184</prop>
					<prop name="posy">527</prop>
					<prop name="state">Normal</prop>
				</datablob>
			</node>
			<node type="[embedded_14]" index="19">
				<param name="Used_Frame_Fraction" type="4" value="0.000000"></param>
				<portdef name="Used_Frame_Fraction" type="4" structure="1" group="-1" instance="-1" port="-1"></portdef>
				<datablob category="ui_infos">
					<prop name="posx">-876</prop>
					<prop name="posy">311</prop>
					<prop name="state">Normal</prop>
				</datablob>
			</node>
			<node type="ExecuteNode" index="20">
				<portdef name="port1" type="4096" structure="1" group="0" instance="0" port="0"></portdef>
				<portdef name="port2" type="4096" structure="1" group="0" instance="1" port="0"></portdef>
				<datablob category="ui_infos">
					<prop name="posx">528</prop>
					<prop name="posy">332</prop>
					<prop name="state">Normal</prop>
				</datablob>
			</node>
			<node type="[embedded_15]" index="21">
				<param name="Reference" type="31" value="Self.PointVelocity"></param>
				<param_ext name="Reference" type="31" value="Self.PointVelocity"></param_ext>
				<datablob category="ui_infos">
					<prop name="posx">-1164</prop>
					<prop name="posy">443</prop>
					<prop name="state">Normal</prop>
				</datablob>
			</node>
			<node type="[embedded_16]" index="22">
				<param name="Hit_Ratio" type="4" value="0.000000"></param>
				<param name="Offset_Distance" type="4" value="0.000000"></param>
				<portdef name="Offset_Distance" type="4" structure="1" group="-1" instance="-1" port="-1"></portdef>
				<portdef name="Hit_Ratio" type="4" structure="1" group="-1" instance="-1" port="-1"></portdef>
				<datablob category="ui_infos">
					<prop name="posx">-133</prop>
					<prop name="posy">287</prop>
					<prop name="state">Normal</prop>
				</datablob>
			</node>
			<node type="IfNode" index="23">
				<param name="condition" type="11" value="false"></param>
				<portdef name="condition" type="1" structure="1" group="0" instance="0" port="0"></portdef>
				<portdef name="iftrue" type="4096" structure="1" group="0" instance="0" port="1"></portdef>
				<portdef name="iffalse" type="4096" structure="1" group="0" instance="0" port="2"></portdef>
				<datablob category="ui_infos">
					<prop name="posx">434</prop>
					<prop name="posy">474</prop>
					<prop name="state">Normal</prop>
				</datablob>
			</node>
			<node type="[embedded_18]" index="24">
				<param name="Reference" type="31" value="Self.__Hit"></param>
				<param name="Reference1" type="31" value="Self.CollisionLocation"></param>
				<param name="Reference2" type="31" value="Self.SimulatedFrameFraction"></param>
				<param name="Reference3" type="31" value="Self.__HitIsOutside"></param>
				<param name="Value" type="11" value="false"></param>
				<param name="Value2" type="4" value="0.000000"></param>
				<param name="Value3" type="11" value="false"></param>
				<param_ext name="Reference" type="31" value="Self.__Hit"></param_ext>
				<param_ext name="Reference1" type="31" value="Self.CollisionLocation"></param_ext>
				<param_ext name="Reference2" type="31" value="Self.SimulatedFrameFraction"></param_ext>
				<param_ext name="Reference3" type="31" value="Self.__HitIsOutside"></param_ext>
				<portdef name="Value" type="1" structure="1" group="2" instance="0" port="0" groupname="Value"></portdef>
				<portdef name="Value1" type="2048" structure="1" group="2" instance="1" port="0" groupname="Value"></portdef>
				<portdef name="Value2" type="4" structure="1" group="2" instance="2" port="0" groupname="Value"></portdef>
				<portdef name="Value3" type="1" structure="1" group="2" instance="3" port="0" groupname="Value"></portdef>
				<portdef name="In_Name" type="8192" structure="1" group="-1" instance="-1" port="-1"></portdef>
				<datablob category="ui_infos">
					<prop name="posx">338</prop>
					<prop name="posy">98</prop>
					<prop name="state">Normal</prop>
				</datablob>
			</node>
			<node type="GetDataNode" index="25">
				<param name="reference" type="31" value="Self.__Hit"></param>
				<param_ext name="reference" type="31" value="Self.__Hit"></param_ext>
				<portdef name="source" type="2048" structure="1" group="1" instance="0" port="0"></portdef>
				<portdef name="inname" type="8192" structure="1" group="3" instance="0" port="0"></portdef>
				<datablob category="ui_infos">
					<prop name="posx">-367</prop>
					<prop name="posy">1</prop>
					<prop name="state">ConnectedOnly</prop>
				</datablob>
			</node>
			<node type="FirstValidNode" index="27">
				<param name="in1" type="11" value="false"></param>
				<param name="in2" type="11" value="false"></param>
				<portdef name="in1" type="1" structure="1" group="0" instance="0" port="0"></portdef>
				<portdef name="in2" type="1" structure="1" group="0" instance="1" port="0"></portdef>
				<datablob category="ui_infos">
					<prop name="posx">199</prop>
					<prop name="posy">409</prop>
					<prop name="state">Normal</prop>
				</datablob>
			</node>
			<node type="GetDataNode" index="28">
				<param name="reference" type="31" value="Self.__Hit"></param>
				<param_ext name="reference" type="31" value="Self.__Hit"></param_ext>
				<portdef name="source" type="2048" structure="1" group="1" instance="0" port="0"></portdef>
				<portdef name="inname" type="8192" structure="1" group="3" instance="0" port="0"></portdef>
				<datablob category="ui_infos">
					<prop name="posx">33</prop>
					<prop name="posy">419</prop>
					<prop name="state">ConnectedOnly</prop>
				</datablob>
			</node>
			<comment type="node" state="maximized" wordwrap="true" autoresize="true" background="0" background_alpha="0.000000" title="14876671" title_text="0" offsetx="-1163" offsety="162" sizex="244" sizey="102"><![CDATA[This node tells if a Particle will collide or not with the given set of Obstacles. It does not Change the motion of the Particle by itself. 
The node is Meant to be used as a Condition for some other Effect to happen. For example, it can be connected to a DeletePoint node so that Particles that Hit an object get deleted.]]></comment>
			<comment type="node" state="maximized" wordwrap="true" autoresize="true" background="0" background_alpha="0.000000" title="14876671" title_text="0" offsetx="-626" offsety="81" sizex="177" sizey="243"><![CDATA[The movement vector includes the size of the particle. This means that if we find that our particle is intersecting some geometry, we still detect a collision.]]></comment>
			<comment type="group" state="maximized" wordwrap="false" autoresize="false" background="0" background_alpha="0.100000" title="14876671" title_text="0" offsetx="-1192" offsety="413" sizex="524" sizey="221"><![CDATA[Calculate the Offset Distance]]></comment>
			<comment type="group" state="maximized" wordwrap="true" autoresize="false" background="0" background_alpha="0.100000" title="14876671" title_text="0" offsetx="-399" offsety="-74" sizex="379" sizey="150"><![CDATA[If we have not already detected a collision this frame, then the new frame fraction can be the same as the previous indicating a particle resting on a surface. Example. Emit particle with velocity 0 and gravity and then bounce of emitter.]]></comment>
			<comment type="group" state="maximized" wordwrap="true" autoresize="false" background="34815" background_alpha="0.100000" title="43007" title_text="0" offsetx="-368" offsety="117" sizex="204" sizey="303"><![CDATA[We Test the collision and then Save the Point locator. We do not opeRate on the output ports of the Basic Collide nodes because that Forces mutiple colllision Tests.]]></comment>
		</nodes>
		<exposed_ports>
			<port index="10" portname="condition" username="Offset_Method" basename="Offset Method" portlabel="Offset Method" exposetype="single">
				<description><![CDATA[The method by which the particles are offset from the obstacle: Use Particle Size considers the particle size upon collision; or Use Offset Distance uses the value that you enter for the Offset Distance.]]></description>
			</port>
			<port index="10" portname="case1" username="Offset_Distance" basename="Offset Distance" portlabel="Offset Distance" exposetype="single">
				<description><![CDATA[The distance in Softimage units by which the particles are offset from the obstacle.]]></description>
			</port>
			<port index="12" portname="geometry1" username="Surface1" basename="Surface1" portlabel="Surface1" exposetype="all_instances">
				<description><![CDATA[The object with which the particles collide. This must be an object with a surface. Plug the object's Value output into this port.]]></description>
			</port>
			<port index="14" portname="method" username="Collision_Method" basename="Collision Method" portlabel="Collision Method" exposetype="single">
				<description><![CDATA[The method used for collision calculations: Deformed Collision (Continuous), for colliding with a shape-animated or deform-animated obstacle; or Static Collision for colliding with an obstacle that doesn't change shape over time.]]></description>
			</port>
			<port index="15" portname="result" username="Hit" basename="Hit" portlabel="Hit" exposetype="single"> </port>
			<port index="20" portname="execute" username="Save_Collision_Location" basename="Save Collision Location" portlabel="Save Collision Location" exposetype="single"> </port>
		</exposed_ports>
		<connections>
			<cnx from_node="4" from_port="out" to_node="6" to_port="value"> </cnx>
			<cnx from_node="10" from_port="result" to_node="2" to_port="New_Length"> </cnx>
			<cnx from_node="10" from_port="result" to_node="22" to_port="Offset_Distance"> </cnx>
			<cnx from_node="12" from_port="result" to_node="14" to_port="obstacle"> </cnx>
			<cnx from_node="13" from_port="out" to_node="19" to_port="Used_Frame_Fraction"> </cnx>
			<cnx from_node="13" from_port="out" to_node="14" to_port="framefraction"> </cnx>
			<cnx from_node="13" from_port="out" to_node="11" to_port="second"> </cnx>
			<cnx from_node="14" from_port="location" to_node="24" to_port="Value1"> </cnx>
			<cnx from_node="14" from_port="hit" to_node="15" to_port="value1"> </cnx>
			<cnx from_node="14" from_port="hitframefraction" to_node="11" to_port="first"> </cnx>
			<cnx from_node="14" from_port="hitframefraction" to_node="22" to_port="Hit_Ratio"> </cnx>
			<cnx from_node="14" from_port="isoutside" to_node="24" to_port="Value3"> </cnx>
			<cnx from_node="27" from_port="out" to_node="23" to_port="condition"> </cnx>
			<cnx from_node="25" from_port="value" to_node="4" to_port="in1"> </cnx>
			<cnx from_node="28" from_port="value" to_node="27" to_port="in1"> </cnx>
			<cnx from_node="16" from_port="value" to_node="13" to_port="in1"> </cnx>
			<cnx from_node="0" from_port="Prev_Hit_Location" to_node="14" to_port="currentcollision"> </cnx>
			<cnx from_node="0" from_port="Prev_Hit_Value" to_node="14" to_port="currentcollisionisoutside"> </cnx>
			<cnx from_node="17" from_port="position" to_node="18" to_port="Value"> </cnx>
			<cnx from_node="2" from_port="Result" to_node="1" to_port="value2"> </cnx>
			<cnx from_node="2" from_port="Result" to_node="17" to_port="Offset"> </cnx>
			<cnx from_node="3" from_port="Value" to_node="10" to_port="case0"> </cnx>
			<cnx from_node="8" from_port="Position" to_node="9" to_port="first"> </cnx>
			<cnx from_node="19" from_port="Movement" to_node="1" to_port="value1"> </cnx>
			<cnx from_node="19" from_port="Movement" to_node="9" to_port="second"> </cnx>
			<cnx from_node="18" from_port="Execute" to_node="23" to_port="iftrue"> </cnx>
			<cnx from_node="22" from_port="Result" to_node="24" to_port="Value2"> </cnx>
			<cnx from_node="21" from_port="Velocity" to_node="2" to_port="Vector"> </cnx>
			<cnx from_node="24" from_port="Execute" to_node="5" to_port="port1"> </cnx>
			<cnx from_node="23" from_port="result" to_node="20" to_port="port2"> </cnx>
			<cnx from_node="1" from_port="result" to_node="14" to_port="movement"> </cnx>
			<cnx from_node="5" from_port="execute" to_node="20" to_port="port1"> </cnx>
			<cnx from_node="6" from_port="result" to_node="7" to_port="value1"> </cnx>
			<cnx from_node="7" from_port="result" to_node="15" to_port="value2"> </cnx>
			<cnx from_node="9" from_port="result" to_node="14" to_port="startposition"> </cnx>
			<cnx from_node="11" from_port="result" to_node="7" to_port="value2"> </cnx>
			<cnx from_node="15" from_port="result" to_node="24" to_port="Value"> </cnx>
		</connections>
		<layout>
			<item type="input" name="Surface1" min="0" max="0"> </item>
			<item type="input" name="Collision_Method"> </item>
			<item type="input" name="Offset_Method" min="0" max="0">
				<enum value="0"><![CDATA[Use Particle Size]]></enum>
				<enum value="1"><![CDATA[Use Offset Distance]]></enum>
			</item>
			<item type="input" name="Offset_Distance"> </item>
			<item type="output" name="Hit"> </item>
			<item type="output" name="Save_Collision_Location"> </item>
		</layout>
	</embedded_6>
	<embedded_20 name="Set Data" category="Data Access" author="Softimage" formatversion="1.4" compoundversion="1.0" constructionmode="Current" backgroundcolor="12228200">
	<description><![CDATA[Sets the specified attributes to the supplied values.]]></description>
		<nodes>
			<node type="PassThroughNode" index="0">
				<portdef name="in" type="8192" structure="1" group="0" instance="0" port="0"></portdef>
				<datablob category="ui_infos">
					<prop name="posx">49</prop>
					<prop name="posy">114</prop>
					<prop name="state">Normal</prop>
				</datablob>
			</node>
			<node type="SetOneDataNode" index="1">
				<param name="reference" type="31" value="Self.__PreSimulateFrameFraction"></param>
				<param name="source" type="4" value="0.000000"></param>
				<param_ext name="reference" type="31" value="Self.__PreSimulateFrameFraction"></param_ext>
				<portdef name="source" type="4" structure="1" group="1" instance="0" port="0"></portdef>
				<portdef name="inname" type="8192" structure="1" group="3" instance="0" port="0"></portdef>
				<datablob category="ui_infos">
					<prop name="posx">209</prop>
					<prop name="posy">114</prop>
					<prop name="state">Normal</prop>
				</datablob>
			</node>
			<node type="ExecuteNode" index="2">
				<portdef name="port1" type="4096" structure="1" group="0" instance="0" port="0"></portdef>
				<portdef name="port2" type="4096" structure="1" group="0" instance="1" port="0"></portdef>
				<portdef name="port3" type="4096" structure="1" group="0" instance="2" port="0"></portdef>
				<datablob category="ui_infos">
					<prop name="posx">368</prop>
					<prop name="posy">114</prop>
					<prop name="state">Normal</prop>
				</datablob>
			</node>
			<node type="SetOneDataNode" index="3">
				<param name="reference" type="31" value="Self.__PreSimulatePosition"></param>
				<param name="source.source_x" type="4" value="0.000000"></param>
				<param name="source.source_y" type="4" value="0.000000"></param>
				<param name="source.source_z" type="4" value="0.000000"></param>
				<param_ext name="reference" type="31" value="Self.__PreSimulatePosition"></param_ext>
				<portdef name="source" type="16" structure="1" group="1" instance="0" port="0"></portdef>
				<portdef name="inname" type="8192" structure="1" group="3" instance="0" port="0"></portdef>
			</node>
			<node type="SetOneDataNode" index="4">
				<param name="reference" type="31" value="Self.__PreSimulateVelocity"></param>
				<param name="source.source_x" type="4" value="0.000000"></param>
				<param name="source.source_y" type="4" value="0.000000"></param>
				<param name="source.source_z" type="4" value="0.000000"></param>
				<param_ext name="reference" type="31" value="Self.__PreSimulateVelocity"></param_ext>
				<portdef name="source" type="16" structure="1" group="1" instance="0" port="0"></portdef>
				<portdef name="inname" type="8192" structure="1" group="3" instance="0" port="0"></portdef>
			</node>
		</nodes>
		<exposed_ports>
			<port index="0" portname="in" username="In_Name" basename="In Name" portlabel="In Name" exposetype="single">
				<description><![CDATA[Name prefixed to each attribute to be set. Use this to specify the object name, and then specify each attribute in the Reference ports.]]></description>
			</port>
			<port index="1" portname="source" username="Value" basename="Value" overridelabel="Reference" portlabel="Value" exposetype="use_node_import">
				<description><![CDATA[The value to set.]]></description>
			</port>
			<port index="1" portname="reference" username="Reference" basename="Reference" portlabel="Reference" exposetype="use_node_import">
				<description><![CDATA[The name of the attribute to set.]]></description>
			</port>
			<port index="2" portname="execute" username="Execute" basename="Execute" portlabel="Execute" exposetype="single"> </port>
			<port index="3" portname="source" username="Value1" basename="Value" overridelabel="Reference" portlabel="Value1" exposetype="use_node_import">
				<description><![CDATA[The value to set.]]></description>
			</port>
			<port index="3" portname="reference" username="Reference1" basename="Reference" portlabel="Reference1" exposetype="use_node_import">
				<description><![CDATA[The name of the attribute to set.]]></description>
			</port>
			<port index="4" portname="source" username="Value2" basename="Value" overridelabel="Reference" portlabel="Value2" exposetype="use_node_import">
				<description><![CDATA[The value to set.]]></description>
			</port>
			<port index="4" portname="reference" username="Reference2" basename="Reference" portlabel="Reference2" exposetype="use_node_import">
				<description><![CDATA[The name of the attribute to set.]]></description>
			</port>
		</exposed_ports>
		<connections>
			<cnx from_node="1" from_port="value" to_node="2" to_port="port1"> </cnx>
			<cnx from_node="3" from_port="value" to_node="2" to_port="port2"> </cnx>
			<cnx from_node="4" from_port="value" to_node="2" to_port="port3"> </cnx>
			<cnx from_node="0" from_port="out" to_node="1" to_port="inname"> </cnx>
			<cnx from_node="0" from_port="out" to_node="3" to_port="inname"> </cnx>
			<cnx from_node="0" from_port="out" to_node="4" to_port="inname"> </cnx>
		</connections>
		<layout>
			<item type="input" name="In_Name"> </item>
			<item type="input" name="Value" min="0" max="0"> </item>
			<item type="input" name="Reference"> </item>
			<item type="input" name="Value1" min="0" max="0"> </item>
			<item type="input" name="Reference1"> </item>
			<item type="input" name="Value2" min="0" max="0"> </item>
			<item type="input" name="Reference2"> </item>
			<item type="output" name="Execute"> </item>
		</layout>
	</embedded_20>
	<embedded_19 name="Save Pre Hit Values" formatversion="1.4" compoundversion="1.0" constructionmode="Current" backgroundcolor="6732954">
		<nodes>
			<node type="GetDataNode" index="0">
				<param name="reference" type="31" value="Self.PointVelocity"></param>
				<param_ext name="reference" type="31" value="Self.PointVelocity"></param_ext>
				<portdef name="source" type="2048" structure="1" group="1" instance="0" port="0"></portdef>
				<portdef name="inname" type="8192" structure="1" group="3" instance="0" port="0"></portdef>
				<datablob category="ui_infos">
					<prop name="posx">-442</prop>
					<prop name="posy">323</prop>
					<prop name="state">ConnectedOnly</prop>
				</datablob>
			</node>
			<node type="[embedded_20]" index="11">
				<param name="Reference" type="31" value="Self.__PreSimulateFrameFraction"></param>
				<param name="Reference1" type="31" value="Self.__PreSimulatePosition"></param>
				<param name="Reference2" type="31" value="Self.__PreSimulateVelocity"></param>
				<param name="Value" type="4" value="0.000000"></param>
				<param name="Value1.Value1_x" type="4" value="0.000000"></param>
				<param name="Value1.Value1_y" type="4" value="0.000000"></param>
				<param name="Value1.Value1_z" type="4" value="0.000000"></param>
				<param name="Value2.Value2_x" type="4" value="0.000000"></param>
				<param name="Value2.Value2_y" type="4" value="0.000000"></param>
				<param name="Value2.Value2_z" type="4" value="0.000000"></param>
				<param_ext name="Reference" type="31" value="Self.__PreSimulateFrameFraction"></param_ext>
				<param_ext name="Reference1" type="31" value="Self.__PreSimulatePosition"></param_ext>
				<param_ext name="Reference2" type="31" value="Self.__PreSimulateVelocity"></param_ext>
				<portdef name="Value" type="4" structure="1" group="2" instance="0" port="0" groupname="Value"></portdef>
				<portdef name="Value1" type="16" structure="1" group="2" instance="1" port="0" groupname="Value"></portdef>
				<portdef name="Value2" type="16" structure="1" group="2" instance="2" port="0" groupname="Value"></portdef>
				<portdef name="In_Name" type="8192" structure="1" group="-1" instance="-1" port="-1"></portdef>
				<datablob category="ui_infos">
					<prop name="posx">-197</prop>
					<prop name="posy">227</prop>
					<prop name="state">Normal</prop>
				</datablob>
			</node>
			<node type="GetDataNode" index="13">
				<param name="reference" type="31" value="Self.SimulatedFrameFraction"></param>
				<param_ext name="reference" type="31" value="Self.SimulatedFrameFraction"></param_ext>
				<portdef name="source" type="2048" structure="1" group="1" instance="0" port="0"></portdef>
				<portdef name="inname" type="8192" structure="1" group="3" instance="0" port="0"></portdef>
				<datablob category="ui_infos">
					<prop name="posx">-512</prop>
					<prop name="posy">196</prop>
					<prop name="state">ConnectedOnly</prop>
				</datablob>
			</node>
			<node type="GetDataNode" index="14">
				<param name="reference" type="31" value="Self.PointPosition"></param>
				<param_ext name="reference" type="31" value="Self.PointPosition"></param_ext>
				<portdef name="source" type="2048" structure="1" group="1" instance="0" port="0"></portdef>
				<portdef name="inname" type="8192" structure="1" group="3" instance="0" port="0"></portdef>
				<datablob category="ui_infos">
					<prop name="posx">-447</prop>
					<prop name="posy">259</prop>
					<prop name="state">ConnectedOnly</prop>
				</datablob>
			</node>
		</nodes>
		<exposed_ports>
			<port index="11" portname="Execute" username="Execute" basename="Execute" portlabel="Execute" exposetype="single"> </port>
		</exposed_ports>
		<connections>
			<cnx from_node="0" from_port="value" to_node="11" to_port="Value2"> </cnx>
			<cnx from_node="13" from_port="value" to_node="11" to_port="Value"> </cnx>
			<cnx from_node="14" from_port="value" to_node="11" to_port="Value1"> </cnx>
		</connections>
		<layout>
			<item type="output" name="Execute"> </item>
		</layout>
	</embedded_19>
	<embedded_21 name="Set Data" category="Data Access" author="Softimage" formatversion="1.4" compoundversion="1.0" constructionmode="Current" backgroundcolor="12228200">
	<description><![CDATA[Sets the specified attributes to the supplied values.]]></description>
		<nodes>
			<node type="PassThroughNode" index="0">
				<portdef name="in" type="8192" structure="1" group="0" instance="0" port="0"></portdef>
				<datablob category="ui_infos">
					<prop name="posx">49</prop>
					<prop name="posy">114</prop>
					<prop name="state">Normal</prop>
				</datablob>
			</node>
			<node type="SetOneDataNode" index="1">
				<param name="reference" type="31" value="Self.__FirstIteration"></param>
				<param name="source" type="11" value="false"></param>
				<param_ext name="reference" type="31" value="Self.__FirstIteration"></param_ext>
				<portdef name="source" type="1" structure="1" group="1" instance="0" port="0"></portdef>
				<portdef name="inname" type="8192" structure="1" group="3" instance="0" port="0"></portdef>
				<datablob category="ui_infos">
					<prop name="posx">209</prop>
					<prop name="posy">114</prop>
					<prop name="state">Normal</prop>
				</datablob>
			</node>
			<node type="ExecuteNode" index="2">
				<portdef name="port1" type="4096" structure="1" group="0" instance="0" port="0"></portdef>
				<datablob category="ui_infos">
					<prop name="posx">368</prop>
					<prop name="posy">114</prop>
					<prop name="state">Normal</prop>
				</datablob>
			</node>
		</nodes>
		<exposed_ports>
			<port index="0" portname="in" username="In_Name" basename="In Name" portlabel="In Name" exposetype="single">
				<description><![CDATA[Name prefixed to each attribute to be set. Use this to specify the object name, and then specify each attribute in the Reference ports.]]></description>
			</port>
			<port index="1" portname="source" username="Value" basename="Value" overridelabel="Reference" portlabel="Value" exposetype="use_node_import">
				<description><![CDATA[The value to set.]]></description>
			</port>
			<port index="1" portname="reference" username="Reference" basename="Reference" portlabel="Reference" exposetype="use_node_import">
				<description><![CDATA[The name of the attribute to set.]]></description>
			</port>
			<port index="2" portname="execute" username="Execute" basename="Execute" portlabel="Execute" exposetype="single"> </port>
		</exposed_ports>
		<connections>
			<cnx from_node="1" from_port="value" to_node="2" to_port="port1"> </cnx>
			<cnx from_node="0" from_port="out" to_node="1" to_port="inname"> </cnx>
		</connections>
		<layout>
			<item type="input" name="In_Name"> </item>
			<item type="input" name="Value" min="0" max="0"> </item>
			<item type="input" name="Reference"> </item>
			<item type="output" name="Execute"> </item>
		</layout>
	</embedded_21>
	<embedded_23 name="Set Data" category="Data Access" author="Softimage" formatversion="1.4" compoundversion="1.0" constructionmode="Current" backgroundcolor="12228200">
	<description><![CDATA[Sets the specified attributes to the supplied values.]]></description>
		<nodes>
			<node type="PassThroughNode" index="0">
				<portdef name="in" type="8192" structure="1" group="0" instance="0" port="0"></portdef>
				<datablob category="ui_infos">
					<prop name="posx">49</prop>
					<prop name="posy">114</prop>
					<prop name="state">Normal</prop>
				</datablob>
			</node>
			<node type="SetOneDataNode" index="1">
				<param name="reference" type="31" value="Self.SimulatedFrameFraction"></param>
				<param name="source" type="4" value="0.000000"></param>
				<param_ext name="reference" type="31" value="Self.SimulatedFrameFraction"></param_ext>
				<portdef name="source" type="4" structure="1" group="1" instance="0" port="0"></portdef>
				<portdef name="inname" type="8192" structure="1" group="3" instance="0" port="0"></portdef>
				<datablob category="ui_infos">
					<prop name="posx">209</prop>
					<prop name="posy">114</prop>
					<prop name="state">Normal</prop>
				</datablob>
			</node>
			<node type="ExecuteNode" index="2">
				<portdef name="port1" type="4096" structure="1" group="0" instance="0" port="0"></portdef>
				<portdef name="port2" type="4096" structure="1" group="0" instance="1" port="0"></portdef>
				<portdef name="port3" type="4096" structure="1" group="0" instance="2" port="0"></portdef>
				<datablob category="ui_infos">
					<prop name="posx">368</prop>
					<prop name="posy">114</prop>
					<prop name="state">Normal</prop>
				</datablob>
			</node>
			<node type="SetOneDataNode" index="3">
				<param name="reference" type="31" value="Self.PointPosition"></param>
				<param name="source.source_x" type="4" value="0.000000"></param>
				<param name="source.source_y" type="4" value="0.000000"></param>
				<param name="source.source_z" type="4" value="0.000000"></param>
				<param_ext name="reference" type="31" value="Self.PointPosition"></param_ext>
				<portdef name="source" type="16" structure="1" group="1" instance="0" port="0"></portdef>
				<portdef name="inname" type="8192" structure="1" group="3" instance="0" port="0"></portdef>
			</node>
			<node type="SetOneDataNode" index="4">
				<param name="reference" type="31" value="Self.PointVelocity"></param>
				<param name="source.source_x" type="4" value="0.000000"></param>
				<param name="source.source_y" type="4" value="0.000000"></param>
				<param name="source.source_z" type="4" value="0.000000"></param>
				<param_ext name="reference" type="31" value="Self.PointVelocity"></param_ext>
				<portdef name="source" type="16" structure="1" group="1" instance="0" port="0"></portdef>
				<portdef name="inname" type="8192" structure="1" group="3" instance="0" port="0"></portdef>
			</node>
		</nodes>
		<exposed_ports>
			<port index="0" portname="in" username="In_Name" basename="In Name" portlabel="In Name" exposetype="single">
				<description><![CDATA[Name prefixed to each attribute to be set. Use this to specify the object name, and then specify each attribute in the Reference ports.]]></description>
			</port>
			<port index="1" portname="source" username="Value" basename="Value" overridelabel="Reference" portlabel="Value" exposetype="use_node_import">
				<description><![CDATA[The value to set.]]></description>
			</port>
			<port index="1" portname="reference" username="Reference" basename="Reference" portlabel="Reference" exposetype="use_node_import">
				<description><![CDATA[The name of the attribute to set.]]></description>
			</port>
			<port index="2" portname="execute" username="Execute" basename="Execute" portlabel="Execute" exposetype="single"> </port>
			<port index="3" portname="source" username="Value1" basename="Value" overridelabel="Reference" portlabel="Value1" exposetype="use_node_import">
				<description><![CDATA[The value to set.]]></description>
			</port>
			<port index="3" portname="reference" username="Reference1" basename="Reference" portlabel="Reference1" exposetype="use_node_import">
				<description><![CDATA[The name of the attribute to set.]]></description>
			</port>
			<port index="4" portname="source" username="Value2" basename="Value" overridelabel="Reference" portlabel="Value2" exposetype="use_node_import">
				<description><![CDATA[The value to set.]]></description>
			</port>
			<port index="4" portname="reference" username="Reference2" basename="Reference" portlabel="Reference2" exposetype="use_node_import">
				<description><![CDATA[The name of the attribute to set.]]></description>
			</port>
		</exposed_ports>
		<connections>
			<cnx from_node="0" from_port="out" to_node="1" to_port="inname"> </cnx>
			<cnx from_node="0" from_port="out" to_node="3" to_port="inname"> </cnx>
			<cnx from_node="0" from_port="out" to_node="4" to_port="inname"> </cnx>
			<cnx from_node="1" from_port="value" to_node="2" to_port="port1"> </cnx>
			<cnx from_node="3" from_port="value" to_node="2" to_port="port2"> </cnx>
			<cnx from_node="4" from_port="value" to_node="2" to_port="port3"> </cnx>
		</connections>
		<layout>
			<item type="input" name="In_Name"> </item>
			<item type="input" name="Value" min="0" max="0"> </item>
			<item type="input" name="Reference"> </item>
			<item type="input" name="Value1" min="0" max="0"> </item>
			<item type="input" name="Reference1"> </item>
			<item type="input" name="Value2" min="0" max="0"> </item>
			<item type="input" name="Reference2"> </item>
			<item type="output" name="Execute"> </item>
		</layout>
	</embedded_23>
	<embedded_22 name="Restore Pre Hit Values" formatversion="1.4" compoundversion="1.0" constructionmode="Current" backgroundcolor="6732954">
		<nodes>
			<node type="GetDataNode" index="8">
				<param name="reference" type="31" value="Self.__PreSimulatePosition"></param>
				<param_ext name="reference" type="31" value="Self.__PreSimulatePosition"></param_ext>
				<portdef name="source" type="2048" structure="1" group="1" instance="0" port="0"></portdef>
				<portdef name="inname" type="8192" structure="1" group="3" instance="0" port="0"></portdef>
				<datablob category="ui_infos">
					<prop name="posx">-159</prop>
					<prop name="posy">893</prop>
					<prop name="state">ConnectedOnly</prop>
				</datablob>
			</node>
			<node type="GetDataNode" index="9">
				<param name="reference" type="31" value="Self.__PreSimulateFrameFraction"></param>
				<param_ext name="reference" type="31" value="Self.__PreSimulateFrameFraction"></param_ext>
				<portdef name="source" type="2048" structure="1" group="1" instance="0" port="0"></portdef>
				<portdef name="inname" type="8192" structure="1" group="3" instance="0" port="0"></portdef>
				<datablob category="ui_infos">
					<prop name="posx">-194</prop>
					<prop name="posy">830</prop>
					<prop name="state">ConnectedOnly</prop>
				</datablob>
			</node>
			<node type="[embedded_23]" index="10">
				<param name="Reference" type="31" value="Self.SimulatedFrameFraction"></param>
				<param name="Reference1" type="31" value="Self.PointPosition"></param>
				<param name="Reference2" type="31" value="Self.PointVelocity"></param>
				<param name="Value" type="4" value="0.000000"></param>
				<param name="Value1.Value1_x" type="4" value="0.000000"></param>
				<param name="Value1.Value1_y" type="4" value="0.000000"></param>
				<param name="Value1.Value1_z" type="4" value="0.000000"></param>
				<param name="Value2.Value2_x" type="4" value="0.000000"></param>
				<param name="Value2.Value2_y" type="4" value="0.000000"></param>
				<param name="Value2.Value2_z" type="4" value="0.000000"></param>
				<param_ext name="Reference" type="31" value="Self.SimulatedFrameFraction"></param_ext>
				<param_ext name="Reference1" type="31" value="Self.PointPosition"></param_ext>
				<param_ext name="Reference2" type="31" value="Self.PointVelocity"></param_ext>
				<portdef name="In_Name" type="8192" structure="1" group="-1" instance="-1" port="-1"></portdef>
				<portdef name="Value" type="4" structure="1" group="2" instance="0" port="0" groupname="Value"></portdef>
				<portdef name="Value1" type="16" structure="1" group="2" instance="1" port="0" groupname="Value"></portdef>
				<portdef name="Value2" type="16" structure="1" group="2" instance="2" port="0" groupname="Value"></portdef>
				<datablob category="ui_infos">
					<prop name="posx">113</prop>
					<prop name="posy">834</prop>
					<prop name="state">Normal</prop>
				</datablob>
			</node>
			<node type="GetDataNode" index="15">
				<param name="reference" type="31" value="Self.__PreSimulateVelocity"></param>
				<param_ext name="reference" type="31" value="Self.__PreSimulateVelocity"></param_ext>
				<portdef name="source" type="2048" structure="1" group="1" instance="0" port="0"></portdef>
				<portdef name="inname" type="8192" structure="1" group="3" instance="0" port="0"></portdef>
				<datablob category="ui_infos">
					<prop name="posx">-156</prop>
					<prop name="posy">957</prop>
					<prop name="state">ConnectedOnly</prop>
				</datablob>
			</node>
			<comment type="group" state="maximized" wordwrap="true" autoresize="false" background="0" background_alpha="0.100000" title="14876671" title_text="0" offsetx="-212" offsety="789" sizex="506" sizey="237"><![CDATA[If we did not hit anything, then we should put our particle back, and reset our simulated frame fraction, and let the ICE graph continue evaluating.]]></comment>
		</nodes>
		<exposed_ports>
			<port index="10" portname="Execute" username="Execute" basename="Execute" portlabel="Execute" exposetype="single"> </port>
		</exposed_ports>
		<connections>
			<cnx from_node="8" from_port="value" to_node="10" to_port="Value1"> </cnx>
			<cnx from_node="9" from_port="value" to_node="10" to_port="Value"> </cnx>
			<cnx from_node="15" from_port="value" to_node="10" to_port="Value2"> </cnx>
		</connections>
		<layout>
			<item type="output" name="Execute"> </item>
		</layout>
	</embedded_22>
	<embedded_26 name="Get Particle Velocity" tasks="Particles/Getters" formatversion="1.4" compoundversion="1.0" constructionmode="Current" backgroundcolor="12228200">
	<description><![CDATA[This compound gets the particle's current velocity data as defined by its PointVelocity attribute. You can output the Velocity Vector and Speed data.]]></description>
		<nodes>
			<node type="GetDataNode" index="0">
				<param name="reference" type="31" value="Self.PointVelocity"></param>
				<param_ext name="reference" type="31" value="Self.PointVelocity"></param_ext>
				<portdef name="source" type="2048" structure="1" group="1" instance="0" port="0"></portdef>
				<portdef name="inname" type="8192" structure="1" group="3" instance="0" port="0"></portdef>
				<datablob category="ui_infos">
					<prop name="posx">-345</prop>
					<prop name="posy">255</prop>
				</datablob>
			</node>
			<node type="LengthNode" index="1">
				<param name="vector.vector_x" type="4" value="0.000000"></param>
				<param name="vector.vector_y" type="4" value="0.000000"></param>
				<param name="vector.vector_z" type="4" value="0.000000"></param>
				<portdef name="vector" type="16" structure="1" group="0" instance="0" port="0"></portdef>
				<datablob category="ui_infos">
					<prop name="posx">-93</prop>
					<prop name="posy">303</prop>
				</datablob>
			</node>
		</nodes>
		<exposed_ports>
			<port index="0" portname="value" username="Velocity" basename="Velocity" portlabel="Velocity" exposetype="single"> </port>
			<port index="0" portname="reference" username="Reference" basename="Reference" portlabel="Reference" exposetype="single">
				<description><![CDATA[The particle's PointVelocity attribute. Click the Explorer button to open up an explorer and select a different particle attribute.]]></description>
			</port>
			<port index="1" portname="result" username="Speed" basename="Speed" portlabel="Speed" exposetype="single"> </port>
		</exposed_ports>
		<connections>
			<cnx from_node="0" from_port="value" to_node="1" to_port="vector"> </cnx>
		</connections>
		<layout>
			<item type="input" name="Reference"> </item>
			<item type="output" name="Velocity"> </item>
			<item type="output" name="Speed"> </item>
		</layout>
	</embedded_26>
	<embedded_25 name="Get Particle Collision Location" tasks="Particles/Getters" formatversion="1.4" compoundversion="1.0" constructionmode="Current" backgroundcolor="12228200">
	<description><![CDATA[This compound gets the particle's location at the point of collision with an obstacle. You can output the particle's Hit Location, Position, Normal, and Hit Force data.]]></description>
		<nodes>
			<node type="[embedded_26]" index="0">
				<param name="Reference" type="31" value="Self.PointVelocity"></param>
				<param_ext name="Reference" type="31" value="Self.PointVelocity"></param_ext>
				<datablob category="ui_infos">
					<prop name="posx">-1473</prop>
					<prop name="posy">1486</prop>
					<prop name="state">Normal</prop>
				</datablob>
			</node>
			<node type="SubtractNode" index="1">
				<param name="first.first_x" type="4" value="0.000000"></param>
				<param name="first.first_y" type="4" value="0.000000"></param>
				<param name="first.first_z" type="4" value="0.000000"></param>
				<param name="second.second_x" type="4" value="0.000000"></param>
				<param name="second.second_y" type="4" value="0.000000"></param>
				<param name="second.second_z" type="4" value="0.000000"></param>
				<portdef name="first" type="16" structure="1" group="0" instance="0" port="0"></portdef>
				<portdef name="second" type="16" structure="1" group="0" instance="0" port="1"></portdef>
				<datablob category="ui_infos">
					<prop name="posx">-1200</prop>
					<prop name="posy">1524</prop>
					<prop name="state">Normal</prop>
				</datablob>
			</node>
			<node type="GetDataNode" index="2">
				<param name="reference" type="31" value="PointVelocity"></param>
				<param_ext name="reference" type="31" value="PointVelocity"></param_ext>
				<portdef name="source" type="2048" structure="1" group="1" instance="0" port="0"></portdef>
				<portdef name="inname" type="8192" structure="1" group="3" instance="0" port="0"></portdef>
				<datablob category="ui_infos">
					<prop name="posx">-1472</prop>
					<prop name="posy">1579</prop>
					<prop name="state">Normal</prop>
				</datablob>
			</node>
			<node type="LinearInterpolateNode" index="3">
				<param name="first.first_x" type="4" value="0.000000"></param>
				<param name="first.first_y" type="4" value="0.000000"></param>
				<param name="first.first_z" type="4" value="0.000000"></param>
				<param name="second.second_x" type="4" value="0.000000"></param>
				<param name="second.second_y" type="4" value="0.000000"></param>
				<param name="second.second_z" type="4" value="0.000000"></param>
				<param name="blend" type="4" value="0.000000"></param>
				<param name="clamp" type="11" value="false"></param>
				<portdef name="first" type="16" structure="1" group="0" instance="0" port="0"></portdef>
				<portdef name="second" type="16" structure="1" group="0" instance="0" port="1"></portdef>
				<portdef name="blend" type="4" structure="1" group="0" instance="0" port="2"></portdef>
				<portdef name="clamp" type="1" structure="1" group="0" instance="0" port="3"></portdef>
				<datablob category="ui_infos">
					<prop name="posx">-1108</prop>
					<prop name="posy">1315</prop>
					<prop name="state">Normal</prop>
				</datablob>
			</node>
			<node type="GetDataAtPreviousFrameNode" index="4">
				<param name="reference" type="31" value=""></param>
				<param_ext name="reference" type="31" value=""></param_ext>
				<portdef name="source" type="2048" structure="1" group="1" instance="0" port="0"></portdef>
				<portdef name="inname" type="8192" structure="1" group="3" instance="0" port="0"></portdef>
				<datablob category="ui_infos">
					<prop name="posx">-1460</prop>
					<prop name="posy">1089</prop>
					<prop name="state">ConnectedOnly</prop>
				</datablob>
			</node>
			<node type="GetDataNode" index="5">
				<param name="reference" type="31" value="SurfaceGeometricNormal"></param>
				<param_ext name="reference" type="31" value="SurfaceGeometricNormal"></param_ext>
				<portdef name="source" type="2048" structure="1" group="1" instance="0" port="0"></portdef>
				<portdef name="inname" type="8192" structure="1" group="3" instance="0" port="0"></portdef>
				<datablob category="ui_infos">
					<prop name="posx">-1470</prop>
					<prop name="posy">1379</prop>
					<prop name="state">ConnectedOnly</prop>
				</datablob>
			</node>
			<node type="GetDataAtPreviousFrameNode" index="6">
				<param name="reference" type="31" value=""></param>
				<param_ext name="reference" type="31" value=""></param_ext>
				<portdef name="source" type="2048" structure="1" group="1" instance="0" port="0"></portdef>
				<portdef name="inname" type="8192" structure="1" group="3" instance="0" port="0"></portdef>
				<datablob category="ui_infos">
					<prop name="posx">-1471</prop>
					<prop name="posy">1279</prop>
					<prop name="state">ConnectedOnly</prop>
				</datablob>
			</node>
			<node type="DotProductNode" index="7">
				<param name="first.first_x" type="4" value="0.000000"></param>
				<param name="first.first_y" type="4" value="0.000000"></param>
				<param name="first.first_z" type="4" value="0.000000"></param>
				<param name="second.second_x" type="4" value="0.000000"></param>
				<param name="second.second_y" type="4" value="0.000000"></param>
				<param name="second.second_z" type="4" value="0.000000"></param>
				<portdef name="first" type="16" structure="1" group="0" instance="0" port="0"></portdef>
				<portdef name="second" type="16" structure="1" group="0" instance="0" port="1"></portdef>
				<datablob category="ui_infos">
					<prop name="posx">-1062</prop>
					<prop name="posy">1569</prop>
					<prop name="state">Normal</prop>
				</datablob>
			</node>
			<node type="GetDataNode" index="8">
				<param name="reference" type="31" value="SimulatedFrameFraction"></param>
				<param_ext name="reference" type="31" value="SimulatedFrameFraction"></param_ext>
				<portdef name="source" type="2048" structure="1" group="1" instance="0" port="0"></portdef>
				<portdef name="inname" type="8192" structure="1" group="3" instance="0" port="0"></portdef>
				<datablob category="ui_infos">
					<prop name="posx">-1900</prop>
					<prop name="posy">1146</prop>
					<prop name="state">ConnectedOnly</prop>
				</datablob>
			</node>
			<node type="GetDataNode" index="9">
				<param name="reference" type="31" value="__Hit"></param>
				<param_ext name="reference" type="31" value="__Hit"></param_ext>
				<portdef name="source" type="2048" structure="1" group="1" instance="0" port="0"></portdef>
				<portdef name="inname" type="8192" structure="1" group="3" instance="0" port="0"></portdef>
				<datablob category="ui_infos">
					<prop name="posx">-1899</prop>
					<prop name="posy">1218</prop>
					<prop name="state">ConnectedOnly</prop>
				</datablob>
			</node>
			<node type="GetDataNode" index="10">
				<param name="reference" type="31" value="PointPosition"></param>
				<param_ext name="reference" type="31" value="PointPosition"></param_ext>
				<portdef name="source" type="2048" structure="1" group="1" instance="0" port="0"></portdef>
				<portdef name="inname" type="8192" structure="1" group="3" instance="0" port="0"></portdef>
				<datablob category="ui_infos">
					<prop name="posx">-1462</prop>
					<prop name="posy">1191</prop>
					<prop name="state">ConnectedOnly</prop>
				</datablob>
			</node>
			<node type="GetDataNode" index="11">
				<param name="reference" type="31" value="CollisionLocation"></param>
				<param_ext name="reference" type="31" value="CollisionLocation"></param_ext>
				<portdef name="source" type="2048" structure="1" group="1" instance="0" port="0"></portdef>
				<portdef name="inname" type="8192" structure="1" group="3" instance="0" port="0"></portdef>
				<datablob category="ui_infos">
					<prop name="posx">-1940</prop>
					<prop name="posy">1322</prop>
					<prop name="state">ConnectedOnly</prop>
				</datablob>
			</node>
			<node type="GetDataNode" index="12">
				<param name="reference" type="31" value="Self"></param>
				<param_ext name="reference" type="31" value="Self"></param_ext>
				<portdef name="source" type="2048" structure="1" group="1" instance="0" port="0"></portdef>
				<portdef name="inname" type="8192" structure="1" group="3" instance="0" port="0"></portdef>
				<datablob category="ui_infos">
					<prop name="posx">-2058</prop>
					<prop name="posy">1203</prop>
					<prop name="state">Normal</prop>
				</datablob>
			</node>
			<node type="NegateNode" index="13">
				<param name="value.value_x" type="4" value="0.000000"></param>
				<param name="value.value_y" type="4" value="0.000000"></param>
				<param name="value.value_z" type="4" value="0.000000"></param>
				<portdef name="value" type="16" structure="1" group="0" instance="0" port="0"></portdef>
				<datablob category="ui_infos">
					<prop name="posx">-1192</prop>
					<prop name="posy">1612</prop>
					<prop name="state">Normal</prop>
				</datablob>
			</node>
			<node type="NormalizeNode" index="16">
				<param name="vector.vector_x" type="4" value="1.000000"></param>
				<param name="vector.vector_y" type="4" value="0.000000"></param>
				<param name="vector.vector_z" type="4" value="0.000000"></param>
				<portdef name="vector" type="16" structure="1" group="0" instance="0" port="0"></portdef>
				<datablob category="ui_infos">
					<prop name="posx">-918</prop>
					<prop name="posy">1304</prop>
					<prop name="state">Normal</prop>
				</datablob>
			</node>
			<node type="LinearInterpolateNode" index="18">
				<param name="first.first_x" type="4" value="0.000000"></param>
				<param name="first.first_y" type="4" value="0.000000"></param>
				<param name="first.first_z" type="4" value="0.000000"></param>
				<param name="second.second_x" type="4" value="0.000000"></param>
				<param name="second.second_y" type="4" value="0.000000"></param>
				<param name="second.second_z" type="4" value="0.000000"></param>
				<param name="blend" type="4" value="0.000000"></param>
				<param name="clamp" type="11" value="false"></param>
				<portdef name="first" type="16" structure="1" group="0" instance="0" port="0"></portdef>
				<portdef name="second" type="16" structure="1" group="0" instance="0" port="1"></portdef>
				<portdef name="blend" type="4" structure="1" group="0" instance="0" port="2"></portdef>
				<portdef name="clamp" type="1" structure="1" group="0" instance="0" port="3"></portdef>
				<datablob category="ui_infos">
					<prop name="posx">-1108</prop>
					<prop name="posy">1154</prop>
					<prop name="state">Normal</prop>
				</datablob>
			</node>
			<node type="IfNode" index="19">
				<param name="condition" type="11" value="false"></param>
				<portdef name="condition" type="1" structure="1" group="0" instance="0" port="0"></portdef>
				<portdef name="iftrue" type="2048" structure="1" group="0" instance="0" port="1"></portdef>
				<portdef name="iffalse" type="2048" structure="1" group="0" instance="0" port="2"></portdef>
				<datablob category="ui_infos">
					<prop name="posx">-1729</prop>
					<prop name="posy">1243</prop>
					<prop name="state">Normal</prop>
				</datablob>
			</node>
		</nodes>
		<exposed_ports>
			<port index="7" portname="result" username="Collision_Force" basename="Collision Force" portlabel="Collision Force" exposetype="single"> </port>
			<port index="12" portname="inname" username="In_Name" basename="In Name" portlabel="In Name" exposetype="single"> </port>
			<port index="12" portname="reference" username="Reference" basename="Reference" portlabel="Reference" exposetype="single">
				<description><![CDATA[The particle's GoalLocation attribute. Click the Explorer button to open up an explorer and select a different particle attribute.]]></description>
			</port>
			<port index="16" portname="result" username="Normal" basename="Normal" portlabel="Normal" exposetype="single"> </port>
			<port index="18" portname="result" username="Position" basename="Position" portlabel="Position" exposetype="single"> </port>
			<port index="19" portname="result" username="Location" basename="Location" portlabel="Location" exposetype="single"> </port>
		</exposed_ports>
		<connections>
			<cnx from_node="19" from_port="result" to_node="2" to_port="source"> </cnx>
			<cnx from_node="19" from_port="result" to_node="6" to_port="source"> </cnx>
			<cnx from_node="19" from_port="result" to_node="5" to_port="source"> </cnx>
			<cnx from_node="19" from_port="result" to_node="10" to_port="source"> </cnx>
			<cnx from_node="19" from_port="result" to_node="4" to_port="source"> </cnx>
			<cnx from_node="2" from_port="value" to_node="1" to_port="second"> </cnx>
			<cnx from_node="4" from_port="value" to_node="18" to_port="first"> </cnx>
			<cnx from_node="5" from_port="value" to_node="3" to_port="second"> </cnx>
			<cnx from_node="5" from_port="outname" to_node="6" to_port="inname"> </cnx>
			<cnx from_node="6" from_port="value" to_node="3" to_port="first"> </cnx>
			<cnx from_node="8" from_port="value" to_node="3" to_port="blend"> </cnx>
			<cnx from_node="8" from_port="value" to_node="18" to_port="blend"> </cnx>
			<cnx from_node="9" from_port="value" to_node="19" to_port="condition"> </cnx>
			<cnx from_node="10" from_port="value" to_node="18" to_port="second"> </cnx>
			<cnx from_node="10" from_port="outname" to_node="4" to_port="inname"> </cnx>
			<cnx from_node="11" from_port="value" to_node="19" to_port="iftrue"> </cnx>
			<cnx from_node="12" from_port="outname" to_node="9" to_port="inname"> </cnx>
			<cnx from_node="12" from_port="outname" to_node="11" to_port="inname"> </cnx>
			<cnx from_node="12" from_port="outname" to_node="8" to_port="inname"> </cnx>
			<cnx from_node="1" from_port="result" to_node="7" to_port="first"> </cnx>
			<cnx from_node="3" from_port="result" to_node="16" to_port="vector"> </cnx>
			<cnx from_node="13" from_port="result" to_node="7" to_port="second"> </cnx>
			<cnx from_node="16" from_port="result" to_node="13" to_port="value"> </cnx>
			<cnx from_node="0" from_port="Velocity" to_node="1" to_port="first"> </cnx>
		</connections>
		<layout>
			<item type="input" name="In_Name"> </item>
			<item type="input" name="Reference"> </item>
			<item type="output" name="Location"> </item>
			<item type="output" name="Position"> </item>
			<item type="output" name="Normal"> </item>
			<item type="output" name="Collision_Force"> </item>
		</layout>
	</embedded_25>
	<embedded_29 name="Get Point ID" category="Data Access" formatversion="1.4" compoundversion="1.0" constructionmode="Current" backgroundcolor="6732954">
	<description><![CDATA[This compound lets you access the ID of a point in a mesh, or a particle in a point cloud. Particles have a Point ID for each point that you can access directly using a Get Data node, but polygon meshes do not have this. This compound is used in compounds that need the ID of a particle to generate things like random values. If you use this compound, rather than accessing the point ID directly, any compound you build with it can be used on both meshes and point clouds. Plug its Point ID output into any port that accepts integers per point of a point cloud.]]></description>
		<nodes>
			<node type="GetDataNode" index="0">
				<param name="reference" type="31" value=".PointPosition"></param>
				<param_ext name="reference" type="31" value=".PointPosition"></param_ext>
				<portdef name="source" type="2048" structure="1" group="1" instance="0" port="0"></portdef>
				<portdef name="inname" type="8192" structure="1" group="3" instance="0" port="0"></portdef>
				<datablob category="ui_infos">
					<prop name="posx">-486</prop>
					<prop name="posy">572</prop>
					<prop name="state">Normal</prop>
				</datablob>
			</node>
			<node type="GetDataNode" index="1">
				<param name="reference" type="31" value="."></param>
				<param_ext name="reference" type="31" value="."></param_ext>
				<portdef name="source" type="2048" structure="1" group="1" instance="0" port="0"></portdef>
				<portdef name="inname" type="8192" structure="1" group="3" instance="0" port="0"></portdef>
				<datablob category="ui_infos">
					<prop name="posx">-595</prop>
					<prop name="posy">471</prop>
					<prop name="state">Normal</prop>
				</datablob>
			</node>
			<node type="FirstValidNode" index="2">
				<param name="in1" type="3" value="0"></param>
				<param name="in2" type="3" value="0"></param>
				<portdef name="in1" type="2" structure="1" group="0" instance="0" port="0"></portdef>
				<portdef name="in2" type="2" structure="1" group="0" instance="1" port="0"></portdef>
				<datablob category="ui_infos">
					<prop name="posx">-73</prop>
					<prop name="posy">447</prop>
					<prop name="state">Normal</prop>
				</datablob>
			</node>
			<node type="GetElementIndicesNode" index="3">
				<param name="value.value_x" type="4" value="0.000000"></param>
				<param name="value.value_y" type="4" value="0.000000"></param>
				<param name="value.value_z" type="4" value="0.000000"></param>
				<portdef name="value" type="16" structure="1" group="0" instance="0" port="0"></portdef>
				<datablob category="ui_infos">
					<prop name="posx">-280</prop>
					<prop name="posy">570</prop>
					<prop name="state">Normal</prop>
				</datablob>
			</node>
			<node type="GetDataNode" index="4">
				<param name="reference" type="31" value="ID"></param>
				<param_ext name="reference" type="31" value="ID"></param_ext>
				<portdef name="source" type="2048" structure="1" group="1" instance="0" port="0"></portdef>
				<portdef name="inname" type="8192" structure="1" group="3" instance="0" port="0"></portdef>
				<datablob category="ui_infos">
					<prop name="posx">-208</prop>
					<prop name="posy">441</prop>
					<prop name="state">Normal</prop>
				</datablob>
			</node>
		</nodes>
		<exposed_ports>
			<port index="1" portname="inname" username="In_Name" basename="In Name" portlabel="In Name" exposetype="single">
				<description><![CDATA[Point cloud or polygon mesh whose point ID you want to access.]]></description>
			</port>
			<port index="1" portname="reference" username="In_Name_Reference" basename="In Name Reference" portlabel="In Name Reference" exposetype="single">
				<description><![CDATA[The reference object for the point ID.]]></description>
			</port>
			<port index="2" portname="out" username="Point_ID" basename="Point ID" portlabel="Point ID" exposetype="single"> </port>
		</exposed_ports>
		<connections>
			<cnx from_node="0" from_port="value" to_node="3" to_port="value"> </cnx>
			<cnx from_node="1" from_port="outname" to_node="4" to_port="inname"> </cnx>
			<cnx from_node="1" from_port="outname" to_node="0" to_port="inname"> </cnx>
			<cnx from_node="4" from_port="value" to_node="2" to_port="in1"> </cnx>
			<cnx from_node="3" from_port="indices" to_node="2" to_port="in2"> </cnx>
		</connections>
		<layout>
			<item type="input" name="In_Name"> </item>
			<item type="input" name="In_Name_Reference"> </item>
			<item type="output" name="Point_ID"> </item>
		</layout>
	</embedded_29>
	<embedded_28 name="Randomize Value by Range" tasks="Particles/Modifiers,Deformation/Modifiers" author="Softimage" formatversion="1.4" compoundversion="1.0" constructionmode="Simulation" backgroundcolor="6732954">
	<description><![CDATA[This compound adds randomness to any parameter using any value within a range of possible values. Plug its Value output into different ports of the different compounds, such as the Speed, Mass, and Size ports on the Emit compound, but there are many others that work.]]></description>
		<nodes>
			<node type="LinearInterpolateNode" index="0">
				<param name="first" type="4" value="0.000000"></param>
				<param name="second" type="4" value="0.000000"></param>
				<param name="blend" type="4" value="0.500000"></param>
				<param name="clamp" type="11" value="false"></param>
				<portdef name="first" type="4" structure="1" group="0" instance="0" port="0"></portdef>
				<portdef name="second" type="4" structure="1" group="0" instance="0" port="1"></portdef>
				<portdef name="blend" type="4" structure="1" group="0" instance="0" port="2"></portdef>
				<portdef name="clamp" type="1" structure="1" group="0" instance="0" port="3"></portdef>
				<datablob category="ui_infos">
					<prop name="posx">1603</prop>
					<prop name="posy">2281</prop>
					<prop name="state">Normal</prop>
				</datablob>
			</node>
			<node type="PassThroughNode" index="1">
				<param name="in" type="4" value="-180.000000"></param>
				<portdef name="in" type="4" structure="1" group="0" instance="0" port="0"></portdef>
				<datablob category="ui_infos">
					<prop name="posx">1375</prop>
					<prop name="posy">2279</prop>
					<prop name="state">Normal</prop>
				</datablob>
			</node>
			<node type="RandomValueNode" index="2">
				<param name="distributiontype" type="3" value="0"></param>
				<param name="seed" type="3" value="67890"></param>
				<param name="timevarying" type="11" value="true"></param>
				<param name="id" type="3" value="0"></param>
				<param name="meanvalue" type="4" value="0.000000"></param>
				<param name="variance" type="4" value="0.000000"></param>
				<portdef name="seed" type="2" structure="1" group="0" instance="0" port="0"></portdef>
				<portdef name="timevarying" type="1" structure="1" group="0" instance="0" port="1"></portdef>
				<portdef name="id" type="2" structure="1" group="0" instance="0" port="2"></portdef>
				<portdef name="meanvalue" type="4" structure="1" group="0" instance="0" port="3"></portdef>
				<portdef name="variance" type="4" structure="1" group="0" instance="0" port="4"></portdef>
				<datablob category="ui_infos">
					<prop name="posx">2074</prop>
					<prop name="posy">2345</prop>
					<prop name="state">Normal</prop>
				</datablob>
			</node>
			<node type="SubtractNode" index="3">
				<param name="first" type="4" value="0.000000"></param>
				<param name="second" type="4" value="0.000000"></param>
				<portdef name="first" type="4" structure="1" group="0" instance="0" port="0"></portdef>
				<portdef name="second" type="4" structure="1" group="0" instance="0" port="1"></portdef>
				<datablob category="ui_infos">
					<prop name="posx">1780</prop>
					<prop name="posy">2446</prop>
					<prop name="state">Normal</prop>
				</datablob>
			</node>
			<node type="PassThroughNode" index="4">
				<param name="in" type="4" value="180.000000"></param>
				<portdef name="in" type="4" structure="1" group="0" instance="0" port="0"></portdef>
				<datablob category="ui_infos">
					<prop name="posx">1376</prop>
					<prop name="posy">2352</prop>
					<prop name="state">Normal</prop>
				</datablob>
			</node>
			<node type="[embedded_29]" index="5">
				<param name="In_Name_Reference" type="31" value="."></param>
				<param_ext name="In_Name_Reference" type="31" value="."></param_ext>
				<portdef name="In_Name" type="8192" structure="1" group="-1" instance="-1" port="-1"></portdef>
				<datablob category="ui_infos">
					<prop name="posx">1621</prop>
					<prop name="posy">2532</prop>
					<prop name="state">Normal</prop>
				</datablob>
			</node>
			<node type="LengthNode" index="6">
				<param name="vector" type="4" value="0.000000"></param>
				<portdef name="vector" type="4" structure="1" group="0" instance="0" port="0"></portdef>
				<datablob category="ui_infos">
					<prop name="posx">1931</prop>
					<prop name="posy">2447</prop>
					<prop name="state">Normal</prop>
				</datablob>
			</node>
		</nodes>
		<exposed_ports>
			<port index="1" portname="in" username="Min_Value" basename="Min Value" portlabel="Min Value" exposetype="single">
				<description><![CDATA[Defines the minimum value of the range in which the random numbers are generated. A larger range of values yields a more obvious randomization effect.]]></description>
			</port>
			<port index="2" portname="value" username="Value" basename="Value" portlabel="Value" exposetype="single"> </port>
			<port index="2" portname="timevarying" username="Animated" basename="Animated" portlabel="Animated" exposetype="single">
				<description><![CDATA[Toggles the animation of the randomness; that is, whether it varies over time or not.]]></description>
			</port>
			<port index="2" portname="seed" username="Seed" basename="Seed" portlabel="Seed" exposetype="single">
				<description><![CDATA[This number is used as the basis for the randomization. Changing the seed value creates different random generations of values without having to change the minimum and maximum value range.]]></description>
			</port>
			<port index="4" portname="in" username="Max_Value" basename="Max Value" portlabel="Max Value" exposetype="single">
				<description><![CDATA[Defines the maximum value of the range in which the random numbers are generated.]]></description>
			</port>
			<port index="5" portname="In_Name" username="Object_Name" basename="Object Name" portlabel="Object Name" exposetype="single"> </port>
			<port index="5" portname="In_Name_Reference" username="Object_Name_Reference" basename="Object Name Reference" portlabel="Object Name Reference" exposetype="single">
				<description><![CDATA[xxxx]]></description>
			</port>
		</exposed_ports>
		<connections>
			<cnx from_node="0" from_port="result" to_node="2" to_port="meanvalue"> </cnx>
			<cnx from_node="0" from_port="result" to_node="3" to_port="second"> </cnx>
			<cnx from_node="1" from_port="out" to_node="0" to_port="first"> </cnx>
			<cnx from_node="3" from_port="result" to_node="6" to_port="vector"> </cnx>
			<cnx from_node="4" from_port="out" to_node="0" to_port="second"> </cnx>
			<cnx from_node="4" from_port="out" to_node="3" to_port="first"> </cnx>
			<cnx from_node="6" from_port="result" to_node="2" to_port="variance"> </cnx>
			<cnx from_node="5" from_port="Point_ID" to_node="2" to_port="id"> </cnx>
		</connections>
		<layout>
			<item type="input" name="Object_Name"> </item>
			<item type="input" name="Object_Name_Reference"> </item>
			<item type="input" name="Min_Value"> </item>
			<item type="input" name="Max_Value"> </item>
			<item type="input" name="Animated"> </item>
			<item type="input" name="Seed"> </item>
			<item type="output" name="Value"> </item>
		</layout>
	</embedded_28>
	<embedded_31 name="Get Point ID" category="Data Access" formatversion="1.4" compoundversion="1.0" constructionmode="Current" backgroundcolor="6732954">
	<description><![CDATA[This compound lets you access the ID of a point in a mesh, or a particle in a point cloud. Particles have a Point ID for each point that you can access directly using a Get Data node, but polygon meshes do not have this. This compound is used in compounds that need the ID of a particle to generate things like random values. If you use this compound, rather than accessing the point ID directly, any compound you build with it can be used on both meshes and point clouds. Plug its Point ID output into any port that accepts integers per point of a point cloud.]]></description>
		<nodes>
			<node type="GetDataNode" index="0">
				<param name="reference" type="31" value=".PointPosition"></param>
				<param_ext name="reference" type="31" value=".PointPosition"></param_ext>
				<portdef name="source" type="2048" structure="1" group="1" instance="0" port="0"></portdef>
				<portdef name="inname" type="8192" structure="1" group="3" instance="0" port="0"></portdef>
				<datablob category="ui_infos">
					<prop name="posx">-486</prop>
					<prop name="posy">572</prop>
					<prop name="state">Normal</prop>
				</datablob>
			</node>
			<node type="GetDataNode" index="1">
				<param name="reference" type="31" value="."></param>
				<param_ext name="reference" type="31" value="."></param_ext>
				<portdef name="source" type="2048" structure="1" group="1" instance="0" port="0"></portdef>
				<portdef name="inname" type="8192" structure="1" group="3" instance="0" port="0"></portdef>
				<datablob category="ui_infos">
					<prop name="posx">-595</prop>
					<prop name="posy">471</prop>
					<prop name="state">Normal</prop>
				</datablob>
			</node>
			<node type="FirstValidNode" index="2">
				<param name="in1" type="3" value="0"></param>
				<param name="in2" type="3" value="0"></param>
				<portdef name="in1" type="2" structure="1" group="0" instance="0" port="0"></portdef>
				<portdef name="in2" type="2" structure="1" group="0" instance="1" port="0"></portdef>
				<datablob category="ui_infos">
					<prop name="posx">-73</prop>
					<prop name="posy">447</prop>
					<prop name="state">Normal</prop>
				</datablob>
			</node>
			<node type="GetElementIndicesNode" index="3">
				<param name="value.value_x" type="4" value="0.000000"></param>
				<param name="value.value_y" type="4" value="0.000000"></param>
				<param name="value.value_z" type="4" value="0.000000"></param>
				<portdef name="value" type="16" structure="1" group="0" instance="0" port="0"></portdef>
				<datablob category="ui_infos">
					<prop name="posx">-280</prop>
					<prop name="posy">570</prop>
					<prop name="state">Normal</prop>
				</datablob>
			</node>
			<node type="GetDataNode" index="4">
				<param name="reference" type="31" value="ID"></param>
				<param_ext name="reference" type="31" value="ID"></param_ext>
				<portdef name="source" type="2048" structure="1" group="1" instance="0" port="0"></portdef>
				<portdef name="inname" type="8192" structure="1" group="3" instance="0" port="0"></portdef>
				<datablob category="ui_infos">
					<prop name="posx">-208</prop>
					<prop name="posy">441</prop>
					<prop name="state">Normal</prop>
				</datablob>
			</node>
		</nodes>
		<exposed_ports>
			<port index="1" portname="inname" username="In_Name" basename="In Name" portlabel="In Name" exposetype="single">
				<description><![CDATA[Point cloud or polygon mesh whose point ID you want to access.]]></description>
			</port>
			<port index="1" portname="reference" username="In_Name_Reference" basename="In Name Reference" portlabel="In Name Reference" exposetype="single">
				<description><![CDATA[The reference object for the point ID.]]></description>
			</port>
			<port index="2" portname="out" username="Point_ID" basename="Point ID" portlabel="Point ID" exposetype="single"> </port>
		</exposed_ports>
		<connections>
			<cnx from_node="0" from_port="value" to_node="3" to_port="value"> </cnx>
			<cnx from_node="1" from_port="outname" to_node="4" to_port="inname"> </cnx>
			<cnx from_node="1" from_port="outname" to_node="0" to_port="inname"> </cnx>
			<cnx from_node="4" from_port="value" to_node="2" to_port="in1"> </cnx>
			<cnx from_node="3" from_port="indices" to_node="2" to_port="in2"> </cnx>
		</connections>
		<layout>
			<item type="input" name="In_Name"> </item>
			<item type="input" name="In_Name_Reference"> </item>
			<item type="output" name="Point_ID"> </item>
		</layout>
	</embedded_31>
	<embedded_30 name="Randomize Value by Range" tasks="Particles/Modifiers,Deformation/Modifiers" author="Softimage" formatversion="1.4" compoundversion="1.0" constructionmode="Simulation" backgroundcolor="6732954">
	<description><![CDATA[This compound adds randomness to any parameter using any value within a range of possible values. Plug its Value output into different ports of the different compounds, such as the Speed, Mass, and Size ports on the Emit compound, but there are many others that work.]]></description>
		<nodes>
			<node type="LinearInterpolateNode" index="0">
				<param name="first" type="4" value="0.000000"></param>
				<param name="second" type="4" value="0.000000"></param>
				<param name="blend" type="4" value="0.500000"></param>
				<param name="clamp" type="11" value="false"></param>
				<portdef name="first" type="4" structure="1" group="0" instance="0" port="0"></portdef>
				<portdef name="second" type="4" structure="1" group="0" instance="0" port="1"></portdef>
				<portdef name="blend" type="4" structure="1" group="0" instance="0" port="2"></portdef>
				<portdef name="clamp" type="1" structure="1" group="0" instance="0" port="3"></portdef>
				<datablob category="ui_infos">
					<prop name="posx">1603</prop>
					<prop name="posy">2281</prop>
					<prop name="state">Normal</prop>
				</datablob>
			</node>
			<node type="PassThroughNode" index="1">
				<param name="in" type="4" value="0.000000"></param>
				<portdef name="in" type="4" structure="1" group="0" instance="0" port="0"></portdef>
				<datablob category="ui_infos">
					<prop name="posx">1375</prop>
					<prop name="posy">2279</prop>
					<prop name="state">Normal</prop>
				</datablob>
			</node>
			<node type="RandomValueNode" index="2">
				<param name="distributiontype" type="3" value="0"></param>
				<param name="seed" type="3" value="54321"></param>
				<param name="timevarying" type="11" value="true"></param>
				<param name="id" type="3" value="0"></param>
				<param name="meanvalue" type="4" value="0.000000"></param>
				<param name="variance" type="4" value="0.000000"></param>
				<portdef name="seed" type="2" structure="1" group="0" instance="0" port="0"></portdef>
				<portdef name="timevarying" type="1" structure="1" group="0" instance="0" port="1"></portdef>
				<portdef name="id" type="2" structure="1" group="0" instance="0" port="2"></portdef>
				<portdef name="meanvalue" type="4" structure="1" group="0" instance="0" port="3"></portdef>
				<portdef name="variance" type="4" structure="1" group="0" instance="0" port="4"></portdef>
				<datablob category="ui_infos">
					<prop name="posx">2074</prop>
					<prop name="posy">2345</prop>
					<prop name="state">Normal</prop>
				</datablob>
			</node>
			<node type="SubtractNode" index="3">
				<param name="first" type="4" value="0.000000"></param>
				<param name="second" type="4" value="0.000000"></param>
				<portdef name="first" type="4" structure="1" group="0" instance="0" port="0"></portdef>
				<portdef name="second" type="4" structure="1" group="0" instance="0" port="1"></portdef>
				<datablob category="ui_infos">
					<prop name="posx">1780</prop>
					<prop name="posy">2446</prop>
					<prop name="state">Normal</prop>
				</datablob>
			</node>
			<node type="PassThroughNode" index="4">
				<param name="in" type="4" value="0.000000"></param>
				<portdef name="in" type="4" structure="1" group="0" instance="0" port="0"></portdef>
				<datablob category="ui_infos">
					<prop name="posx">1376</prop>
					<prop name="posy">2352</prop>
					<prop name="state">Normal</prop>
				</datablob>
			</node>
			<node type="[embedded_31]" index="5">
				<param name="In_Name_Reference" type="31" value="."></param>
				<param_ext name="In_Name_Reference" type="31" value="."></param_ext>
				<portdef name="In_Name" type="8192" structure="1" group="-1" instance="-1" port="-1"></portdef>
				<datablob category="ui_infos">
					<prop name="posx">1621</prop>
					<prop name="posy">2532</prop>
					<prop name="state">Normal</prop>
				</datablob>
			</node>
			<node type="LengthNode" index="6">
				<param name="vector" type="4" value="0.000000"></param>
				<portdef name="vector" type="4" structure="1" group="0" instance="0" port="0"></portdef>
				<datablob category="ui_infos">
					<prop name="posx">1931</prop>
					<prop name="posy">2447</prop>
					<prop name="state">Normal</prop>
				</datablob>
			</node>
		</nodes>
		<exposed_ports>
			<port index="1" portname="in" username="Min_Value" basename="Min Value" portlabel="Min Value" exposetype="single">
				<description><![CDATA[Defines the minimum value of the range in which the random numbers are generated. A larger range of values yields a more obvious randomization effect.]]></description>
			</port>
			<port index="2" portname="value" username="Value" basename="Value" portlabel="Value" exposetype="single"> </port>
			<port index="2" portname="timevarying" username="Animated" basename="Animated" portlabel="Animated" exposetype="single">
				<description><![CDATA[Toggles the animation of the randomness; that is, whether it varies over time or not.]]></description>
			</port>
			<port index="2" portname="seed" username="Seed" basename="Seed" portlabel="Seed" exposetype="single">
				<description><![CDATA[This number is used as the basis for the randomization. Changing the seed value creates different random generations of values without having to change the minimum and maximum value range.]]></description>
			</port>
			<port index="4" portname="in" username="Max_Value" basename="Max Value" portlabel="Max Value" exposetype="single">
				<description><![CDATA[Defines the maximum value of the range in which the random numbers are generated.]]></description>
			</port>
			<port index="5" portname="In_Name" username="Object_Name" basename="Object Name" portlabel="Object Name" exposetype="single"> </port>
			<port index="5" portname="In_Name_Reference" username="Object_Name_Reference" basename="Object Name Reference" portlabel="Object Name Reference" exposetype="single">
				<description><![CDATA[xxxx]]></description>
			</port>
		</exposed_ports>
		<connections>
			<cnx from_node="0" from_port="result" to_node="2" to_port="meanvalue"> </cnx>
			<cnx from_node="0" from_port="result" to_node="3" to_port="second"> </cnx>
			<cnx from_node="1" from_port="out" to_node="0" to_port="first"> </cnx>
			<cnx from_node="3" from_port="result" to_node="6" to_port="vector"> </cnx>
			<cnx from_node="4" from_port="out" to_node="0" to_port="second"> </cnx>
			<cnx from_node="4" from_port="out" to_node="3" to_port="first"> </cnx>
			<cnx from_node="6" from_port="result" to_node="2" to_port="variance"> </cnx>
			<cnx from_node="5" from_port="Point_ID" to_node="2" to_port="id"> </cnx>
		</connections>
		<layout>
			<item type="input" name="Object_Name"> </item>
			<item type="input" name="Object_Name_Reference"> </item>
			<item type="input" name="Min_Value"> </item>
			<item type="input" name="Max_Value"> </item>
			<item type="input" name="Animated"> </item>
			<item type="input" name="Seed"> </item>
			<item type="output" name="Value"> </item>
		</layout>
	</embedded_30>
	<embedded_27 name="Randomize Vector by Cone" tasks="Particles/Modifiers,Deformation/Modifiers" formatversion="1.4" compoundversion="1.0" constructionmode="Current" backgroundcolor="6732954">
	<description><![CDATA[This compound adds a random value to a direction (vector) that you specify so that different particles are emitted in different directions. Plug its Vector output into any vector-type port of any compound, such as the Direction port of the Emit compound.]]></description>
		<nodes>
			<node type="[embedded_28]" index="0">
				<param name="Object_Name_Reference" type="31" value="."></param>
				<param name="Min_Value" type="4" value="-180.000000"></param>
				<param name="Max_Value" type="4" value="180.000000"></param>
				<param name="Animated" type="11" value="true"></param>
				<param name="Seed" type="3" value="67890"></param>
				<param_ext name="Object_Name_Reference" type="31" value="."></param_ext>
				<portdef name="Animated" type="1" structure="1" group="-1" instance="-1" port="-1"></portdef>
				<portdef name="Seed" type="2" structure="1" group="-1" instance="-1" port="-1"></portdef>
				<portdef name="Min_Value" type="4" structure="1" group="-1" instance="-1" port="-1"></portdef>
				<portdef name="Max_Value" type="4" structure="1" group="-1" instance="-1" port="-1"></portdef>
				<portdef name="Object_Name" type="8192" structure="1" group="-1" instance="-1" port="-1"></portdef>
				<datablob category="ui_infos">
					<prop name="posx">784</prop>
					<prop name="posy">3179</prop>
					<prop name="state">Normal</prop>
				</datablob>
			</node>
			<node type="PassThroughNode" index="1">
				<param name="in" type="11" value="true"></param>
				<portdef name="in" type="1" structure="1" group="0" instance="0" port="0"></portdef>
				<datablob category="passthrough">
					<prop name="private">true</prop>
				</datablob>
				<datablob category="ui_infos">
					<prop name="posx">481</prop>
					<prop name="posy">3364</prop>
					<prop name="state">Normal</prop>
				</datablob>
			</node>
			<node type="AxisAndAngleToRotationNode" index="2">
				<param name="axis.axis_x" type="4" value="1.000000"></param>
				<param name="axis.axis_y" type="4" value="0.000000"></param>
				<param name="axis.axis_z" type="4" value="0.000000"></param>
				<param name="angle" type="4" value="0.000000"></param>
				<portdef name="axis" type="16" structure="1" group="0" instance="0" port="0"></portdef>
				<portdef name="angle" type="4" structure="1" group="0" instance="0" port="1"></portdef>
				<datablob category="ui_infos">
					<prop name="posx">1482</prop>
					<prop name="posy">3385</prop>
					<prop name="state">Normal</prop>
				</datablob>
			</node>
			<node type="3DVectorNode" index="3">
				<param name="value.value_x" type="4" value="1.000000"></param>
				<param name="value.value_y" type="4" value="0.000000"></param>
				<param name="value.value_z" type="4" value="0.000000"></param>
				<portdef name="value" type="16" structure="1" group="0" instance="0" port="0"></portdef>
				<datablob category="ui_infos">
					<prop name="posx">609</prop>
					<prop name="posy">2977</prop>
					<prop name="state">Normal</prop>
				</datablob>
			</node>
			<node type="IntegerNode" index="4">
				<param name="value" type="3" value="67890"></param>
				<portdef name="value" type="2" structure="1" group="0" instance="0" port="0"></portdef>
				<datablob category="ui_infos">
					<prop name="posx">640</prop>
					<prop name="posy">3453</prop>
					<prop name="state">Normal</prop>
				</datablob>
			</node>
			<node type="AreParallelNode" index="5">
				<param name="first.first_x" type="4" value="1.000000"></param>
				<param name="first.first_y" type="4" value="0.000000"></param>
				<param name="first.first_z" type="4" value="0.000000"></param>
				<param name="second.second_x" type="4" value="1.000000"></param>
				<param name="second.second_y" type="4" value="0.000000"></param>
				<param name="second.second_z" type="4" value="0.000000"></param>
				<param name="epsilon" type="4" value="0.001000"></param>
				<portdef name="first" type="16" structure="1" group="0" instance="0" port="0"></portdef>
				<portdef name="second" type="16" structure="1" group="0" instance="0" port="1"></portdef>
				<portdef name="epsilon" type="4" structure="1" group="0" instance="0" port="2"></portdef>
				<datablob category="ui_infos">
					<prop name="posx">816</prop>
					<prop name="posy">2986</prop>
					<prop name="state">Normal</prop>
				</datablob>
			</node>
			<node type="GetDataNode" index="6">
				<param name="reference" type="31" value="Self"></param>
				<param_ext name="reference" type="31" value="Self"></param_ext>
				<portdef name="source" type="2048" structure="1" group="1" instance="0" port="0"></portdef>
				<portdef name="inname" type="8192" structure="1" group="3" instance="0" port="0"></portdef>
				<datablob category="ui_infos">
					<prop name="posx">442</prop>
					<prop name="posy">2750</prop>
					<prop name="state">ConnectedOnly</prop>
				</datablob>
			</node>
			<node type="CrossProductNode" index="7">
				<param name="first.first_x" type="4" value="0.000000"></param>
				<param name="first.first_y" type="4" value="0.000000"></param>
				<param name="first.first_z" type="4" value="0.000000"></param>
				<param name="second.second_x" type="4" value="0.000000"></param>
				<param name="second.second_y" type="4" value="0.000000"></param>
				<param name="second.second_z" type="4" value="0.000000"></param>
				<portdef name="first" type="16" structure="1" group="0" instance="0" port="0"></portdef>
				<portdef name="second" type="16" structure="1" group="0" instance="0" port="1"></portdef>
				<datablob category="ui_infos">
					<prop name="posx">1095</prop>
					<prop name="posy">2936</prop>
					<prop name="state">Normal</prop>
				</datablob>
			</node>
			<node type="[embedded_30]" index="8">
				<param name="Object_Name_Reference" type="31" value="."></param>
				<param name="Min_Value" type="4" value="0.000000"></param>
				<param name="Max_Value" type="4" value="0.000000"></param>
				<param name="Animated" type="11" value="true"></param>
				<param name="Seed" type="3" value="54321"></param>
				<param_ext name="Object_Name_Reference" type="31" value="."></param_ext>
				<portdef name="Animated" type="1" structure="1" group="-1" instance="-1" port="-1"></portdef>
				<portdef name="Seed" type="2" structure="1" group="-1" instance="-1" port="-1"></portdef>
				<portdef name="Min_Value" type="4" structure="1" group="-1" instance="-1" port="-1"></portdef>
				<portdef name="Max_Value" type="4" structure="1" group="-1" instance="-1" port="-1"></portdef>
				<portdef name="Object_Name" type="8192" structure="1" group="-1" instance="-1" port="-1"></portdef>
				<datablob category="ui_infos">
					<prop name="posx">1274</prop>
					<prop name="posy">3383</prop>
					<prop name="state">Normal</prop>
				</datablob>
			</node>
			<node type="RotateVectorNode" index="9">
				<param name="vector.vector_x" type="4" value="0.000000"></param>
				<param name="vector.vector_y" type="4" value="0.000000"></param>
				<param name="vector.vector_z" type="4" value="0.000000"></param>
				<param name="rotation.rotation_x" type="4" value="1.000000"></param>
				<param name="rotation.rotation_y" type="4" value="0.000000"></param>
				<param name="rotation.rotation_z" type="4" value="0.000000"></param>
				<param name="rotation.rotation_angle" type="4" value="0.000000"></param>
				<portdef name="vector" type="16" structure="1" group="0" instance="0" port="0"></portdef>
				<portdef name="rotation" type="16384" structure="1" group="0" instance="0" port="1"></portdef>
				<datablob category="ui_infos">
					<prop name="posx">1281</prop>
					<prop name="posy">3179</prop>
					<prop name="state">Normal</prop>
				</datablob>
			</node>
			<node type="3DVectorNode" index="10">
				<param name="value.value_x" type="4" value="0.000000"></param>
				<param name="value.value_y" type="4" value="1.000000"></param>
				<param name="value.value_z" type="4" value="0.000000"></param>
				<portdef name="value" type="16" structure="1" group="0" instance="0" port="0"></portdef>
				<datablob category="ui_infos">
					<prop name="posx">608</prop>
					<prop name="posy">3053</prop>
					<prop name="state">Normal</prop>
				</datablob>
			</node>
			<node type="RotateVectorNode" index="11">
				<param name="vector.vector_x" type="4" value="0.000000"></param>
				<param name="vector.vector_y" type="4" value="0.000000"></param>
				<param name="vector.vector_z" type="4" value="0.000000"></param>
				<param name="rotation.rotation_x" type="4" value="1.000000"></param>
				<param name="rotation.rotation_y" type="4" value="0.000000"></param>
				<param name="rotation.rotation_z" type="4" value="0.000000"></param>
				<param name="rotation.rotation_angle" type="4" value="0.000000"></param>
				<portdef name="vector" type="16" structure="1" group="0" instance="0" port="0"></portdef>
				<portdef name="rotation" type="16384" structure="1" group="0" instance="0" port="1"></portdef>
				<datablob category="ui_infos">
					<prop name="posx">1858</prop>
					<prop name="posy">2842</prop>
					<prop name="state">Normal</prop>
				</datablob>
			</node>
			<node type="AddNode" index="12">
				<param name="value1" type="3" value="67890"></param>
				<param name="value2" type="3" value="2"></param>
				<portdef name="value1" type="2" structure="1" group="0" instance="0" port="0"></portdef>
				<portdef name="value2" type="2" structure="1" group="0" instance="1" port="0"></portdef>
				<datablob category="ui_infos">
					<prop name="posx">784</prop>
					<prop name="posy">3356</prop>
					<prop name="state">Normal</prop>
				</datablob>
			</node>
			<node type="PassThroughNode" index="13">
				<param name="in" type="3" value="67890"></param>
				<portdef name="in" type="2" structure="1" group="0" instance="0" port="0"></portdef>
				<datablob category="passthrough">
					<prop name="private">true</prop>
				</datablob>
				<datablob category="ui_infos">
					<prop name="posx">479</prop>
					<prop name="posy">3453</prop>
					<prop name="state">Normal</prop>
				</datablob>
			</node>
			<node type="IfNode" index="14">
				<param name="condition" type="11" value="false"></param>
				<param name="iftrue.iftrue_x" type="4" value="0.000000"></param>
				<param name="iftrue.iftrue_y" type="4" value="0.000000"></param>
				<param name="iftrue.iftrue_z" type="4" value="0.000000"></param>
				<param name="iffalse.iffalse_x" type="4" value="0.000000"></param>
				<param name="iffalse.iffalse_y" type="4" value="0.000000"></param>
				<param name="iffalse.iffalse_z" type="4" value="0.000000"></param>
				<portdef name="condition" type="1" structure="1" group="0" instance="0" port="0"></portdef>
				<portdef name="iftrue" type="16" structure="1" group="0" instance="0" port="1"></portdef>
				<portdef name="iffalse" type="16" structure="1" group="0" instance="0" port="2"></portdef>
				<datablob category="ui_infos">
					<prop name="posx">983</prop>
					<prop name="posy">2994</prop>
					<prop name="state">Normal</prop>
				</datablob>
			</node>
			<node type="AxisAndAngleToRotationNode" index="15">
				<param name="axis.axis_x" type="4" value="1.000000"></param>
				<param name="axis.axis_y" type="4" value="0.000000"></param>
				<param name="axis.axis_z" type="4" value="0.000000"></param>
				<param name="angle" type="4" value="0.000000"></param>
				<portdef name="axis" type="16" structure="1" group="0" instance="0" port="0"></portdef>
				<portdef name="angle" type="4" structure="1" group="0" instance="0" port="1"></portdef>
				<datablob category="ui_infos">
					<prop name="posx">1032</prop>
					<prop name="posy">3178</prop>
					<prop name="state">Normal</prop>
				</datablob>
			</node>
			<node type="PassThroughNode" index="16">
				<param name="in.in_x" type="4" value="0.000000"></param>
				<param name="in.in_y" type="4" value="0.000000"></param>
				<param name="in.in_z" type="4" value="0.000000"></param>
				<portdef name="in" type="16" structure="1" group="0" instance="0" port="0"></portdef>
				<datablob category="ui_infos">
					<prop name="posx">428</prop>
					<prop name="posy">2853</prop>
					<prop name="state">Normal</prop>
				</datablob>
			</node>
			<node type="MultiplyNode" index="17">
				<param name="value1.value1_x" type="4" value="1.000000"></param>
				<param name="value1.value1_y" type="4" value="0.000000"></param>
				<param name="value1.value1_z" type="4" value="0.000000"></param>
				<param name="value1.value1_angle" type="4" value="0.000000"></param>
				<param name="value2.value2_x" type="4" value="1.000000"></param>
				<param name="value2.value2_y" type="4" value="0.000000"></param>
				<param name="value2.value2_z" type="4" value="0.000000"></param>
				<param name="value2.value2_angle" type="4" value="0.000000"></param>
				<portdef name="value1" type="16384" structure="1" group="0" instance="0" port="0"></portdef>
				<portdef name="value2" type="16384" structure="1" group="0" instance="1" port="0"></portdef>
				<datablob category="ui_infos">
					<prop name="posx">1736</prop>
					<prop name="posy">3149</prop>
					<prop name="state">Normal</prop>
				</datablob>
			</node>
			<comment type="group" state="maximized" wordwrap="false" autoresize="false" background="0" background_alpha="0.100000" title="14876671" title_text="0" offsetx="771" offsety="3142" sizex="658" sizey="195"><![CDATA[Rotate the perpEndicular Vector around the Cone Axis Randomly. We get a real Random Vector that is perpEndicular to the Cone Axis.]]></comment>
			<comment type="group" state="maximized" wordwrap="false" autoresize="false" background="0" background_alpha="0.100000" title="14876671" title_text="0" offsetx="585" offsety="2910" sizex="651" sizey="217"><![CDATA[Get arbitrary Vector perpEndicular to Cone Axis]]></comment>
			<comment type="group" state="maximized" wordwrap="false" autoresize="false" background="0" background_alpha="0.100000" title="14876671" title_text="0" offsetx="1251" offsety="3348" sizex="450" sizey="190"><![CDATA[Now Rotate the Axis around the Random perpEndicular Vector]]></comment>
		</nodes>
		<exposed_ports>
			<port index="1" portname="in" username="Animated" basename="Animated" portlabel="Animated" exposetype="single">
				<description><![CDATA[Toggles the animation of the randomness; that is, whether it varies over time or not.]]></description>
			</port>
			<port index="6" portname="inname" username="Object_Name" basename="Object Name" portlabel="Object Name" exposetype="single"> </port>
			<port index="6" portname="reference" username="Object_Name_Reference" basename="Object Name Reference" portlabel="Object Name Reference" exposetype="single"> </port>
			<port index="8" portname="Min_Value" username="Start_Angle" basename="Start Angle" portlabel="Start Angle" exposetype="single">
				<description><![CDATA[The Start and End Angles create the cone angle area around the Base Vector in which the particle ror object otation can vary (0 - 360 is full rotation range).]]></description>
			</port>
			<port index="8" portname="Max_Value" username="End_Angle" basename="End Angle" portlabel="End Angle" exposetype="single">
				<description><![CDATA[The End Angle of the cone area in which particle or object rotation is randomized.]]></description>
			</port>
			<port index="11" portname="result" username="Vector" basename="Vector" portlabel="Vector" exposetype="single"> </port>
			<port index="13" portname="in" username="Seed" basename="Seed" portlabel="Seed" exposetype="single">
				<description><![CDATA[This number is used as the basis for the randomization. Changing the seed value creates different random generations of values without having to change the minimum and maximum value range.]]></description>
			</port>
			<port index="16" portname="in" username="Base_Vector" basename="Base Vector" portlabel="Base Vector" exposetype="single">
				<description><![CDATA[The vector around which the cone's Start and End Angle values are calculated.]]></description>
			</port>
		</exposed_ports>
		<connections>
			<cnx from_node="14" from_port="result" to_node="7" to_port="second"> </cnx>
			<cnx from_node="6" from_port="outname" to_node="0" to_port="Object_Name"> </cnx>
			<cnx from_node="6" from_port="outname" to_node="8" to_port="Object_Name"> </cnx>
			<cnx from_node="7" from_port="result" to_node="9" to_port="vector"> </cnx>
			<cnx from_node="9" from_port="result" to_node="2" to_port="axis"> </cnx>
			<cnx from_node="10" from_port="result" to_node="5" to_port="second"> </cnx>
			<cnx from_node="10" from_port="result" to_node="14" to_port="iffalse"> </cnx>
			<cnx from_node="12" from_port="result" to_node="8" to_port="Seed"> </cnx>
			<cnx from_node="13" from_port="out" to_node="4" to_port="value"> </cnx>
			<cnx from_node="15" from_port="rotation" to_node="9" to_port="rotation"> </cnx>
			<cnx from_node="15" from_port="rotation" to_node="17" to_port="value1"> </cnx>
			<cnx from_node="16" from_port="out" to_node="5" to_port="first"> </cnx>
			<cnx from_node="16" from_port="out" to_node="7" to_port="first"> </cnx>
			<cnx from_node="16" from_port="out" to_node="15" to_port="axis"> </cnx>
			<cnx from_node="16" from_port="out" to_node="11" to_port="vector"> </cnx>
			<cnx from_node="17" from_port="result" to_node="11" to_port="rotation"> </cnx>
			<cnx from_node="1" from_port="out" to_node="0" to_port="Animated"> </cnx>
			<cnx from_node="1" from_port="out" to_node="8" to_port="Animated"> </cnx>
			<cnx from_node="2" from_port="rotation" to_node="17" to_port="value2"> </cnx>
			<cnx from_node="3" from_port="result" to_node="14" to_port="iftrue"> </cnx>
			<cnx from_node="4" from_port="result" to_node="0" to_port="Seed"> </cnx>
			<cnx from_node="4" from_port="result" to_node="12" to_port="value1"> </cnx>
			<cnx from_node="5" from_port="parallel" to_node="14" to_port="condition"> </cnx>
			<cnx from_node="0" from_port="Value" to_node="15" to_port="angle"> </cnx>
			<cnx from_node="8" from_port="Value" to_node="2" to_port="angle"> </cnx>
		</connections>
		<layout>
			<item type="input" name="Object_Name"> </item>
			<item type="input" name="Object_Name_Reference"> </item>
			<item type="input" name="Base_Vector"> </item>
			<item type="input" name="Start_Angle"> </item>
			<item type="input" name="End_Angle"> </item>
			<item type="input" name="Animated"> </item>
			<item type="input" name="Seed"> </item>
			<item type="output" name="Vector"> </item>
		</layout>
	</embedded_27>
	<embedded_32 name="Reflect the particle velocity " formatversion="1.4" compoundversion="1.0" constructionmode="Current" backgroundcolor="6732954">
		<nodes>
			<node type="NegateNode" index="0">
				<param name="value" type="4" value="0.000000"></param>
				<portdef name="value" type="4" structure="1" group="0" instance="0" port="0"></portdef>
				<datablob category="ui_infos">
					<prop name="posx">555</prop>
					<prop name="posy">1775</prop>
					<prop name="state">Normal</prop>
				</datablob>
			</node>
			<node type="CombineLogicNode" index="1">
				<param name="type" type="3" value="1"></param>
				<param name="value1" type="11" value="false"></param>
				<param name="value2" type="11" value="false"></param>
				<portdef name="value1" type="1" structure="1" group="0" instance="0" port="0"></portdef>
				<portdef name="value2" type="1" structure="1" group="0" instance="1" port="0"></portdef>
				<datablob category="ui_infos">
					<prop name="posx">933</prop>
					<prop name="posy">1909</prop>
					<prop name="state">Normal</prop>
				</datablob>
			</node>
			<node type="SubtractNode" index="2">
				<param name="first.first_x" type="4" value="0.000000"></param>
				<param name="first.first_y" type="4" value="0.000000"></param>
				<param name="first.first_z" type="4" value="0.000000"></param>
				<param name="second.second_x" type="4" value="0.000000"></param>
				<param name="second.second_y" type="4" value="0.000000"></param>
				<param name="second.second_z" type="4" value="0.000000"></param>
				<portdef name="first" type="16" structure="1" group="0" instance="0" port="0"></portdef>
				<portdef name="second" type="16" structure="1" group="0" instance="0" port="1"></portdef>
				<datablob category="ui_infos">
					<prop name="posx">-308</prop>
					<prop name="posy">1865</prop>
					<prop name="state">Normal</prop>
				</datablob>
				<comment type="node" state="maximized" wordwrap="true" autoresize="true" background="0" background_alpha="0.000000" title="14876671" title_text="0" offsetx="-114" offsety="-28" sizex="71" sizey="45"><![CDATA[Find the velocity of the collision.]]></comment>
			</node>
			<node type="PassThroughNode" index="3">
				<param name="in.in_x" type="4" value="0.000000"></param>
				<param name="in.in_y" type="4" value="0.000000"></param>
				<param name="in.in_z" type="4" value="0.000000"></param>
				<portdef name="in" type="16" structure="1" group="0" instance="0" port="0"></portdef>
				<datablob category="passthrough">
					<prop name="private">true</prop>
				</datablob>
				<datablob category="ui_infos">
					<prop name="posx">-306</prop>
					<prop name="posy">1954</prop>
					<prop name="state">Normal</prop>
				</datablob>
			</node>
			<node type="DivideByScalarNode" index="4">
				<param name="value.value_x" type="4" value="0.000000"></param>
				<param name="value.value_y" type="4" value="0.000000"></param>
				<param name="value.value_z" type="4" value="0.000000"></param>
				<param name="divideby" type="4" value="1.000000"></param>
				<portdef name="value" type="16" structure="1" group="0" instance="0" port="0"></portdef>
				<portdef name="divideby" type="4" structure="1" group="0" instance="0" port="1"></portdef>
				<datablob category="ui_infos">
					<prop name="posx">-506</prop>
					<prop name="posy">2188</prop>
					<prop name="state">Normal</prop>
				</datablob>
			</node>
			<node type="MultiplyByScalarNode" index="5">
				<param name="value.value_x" type="4" value="0.000000"></param>
				<param name="value.value_y" type="4" value="0.000000"></param>
				<param name="value.value_z" type="4" value="0.000000"></param>
				<param name="factor" type="4" value="1.000000"></param>
				<portdef name="value" type="16" structure="1" group="0" instance="0" port="0"></portdef>
				<portdef name="factor" type="4" structure="1" group="0" instance="0" port="1"></portdef>
				<datablob category="ui_infos">
					<prop name="posx">656</prop>
					<prop name="posy">1747</prop>
					<prop name="state">Normal</prop>
				</datablob>
			</node>
			<node type="DotProductNode" index="6">
				<param name="first.first_x" type="4" value="0.000000"></param>
				<param name="first.first_y" type="4" value="0.000000"></param>
				<param name="first.first_z" type="4" value="0.000000"></param>
				<param name="second.second_x" type="4" value="0.000000"></param>
				<param name="second.second_y" type="4" value="0.000000"></param>
				<param name="second.second_z" type="4" value="0.000000"></param>
				<portdef name="first" type="16" structure="1" group="0" instance="0" port="0"></portdef>
				<portdef name="second" type="16" structure="1" group="0" instance="0" port="1"></portdef>
				<datablob category="ui_infos">
					<prop name="posx">-119</prop>
					<prop name="posy">2152</prop>
					<prop name="state">Normal</prop>
				</datablob>
			</node>
			<node type="PassThroughNode" index="7">
				<param name="in" type="4" value="1.000000"></param>
				<portdef name="in" type="4" structure="1" group="0" instance="0" port="0"></portdef>
				<datablob category="passthrough">
					<prop name="private">true</prop>
				</datablob>
				<datablob category="ui_infos">
					<prop name="posx">-338</prop>
					<prop name="posy">1804</prop>
					<prop name="state">Normal</prop>
				</datablob>
			</node>
			<node type="DotProductNode" index="8">
				<param name="first.first_x" type="4" value="0.000000"></param>
				<param name="first.first_y" type="4" value="0.000000"></param>
				<param name="first.first_z" type="4" value="0.000000"></param>
				<param name="second.second_x" type="4" value="0.000000"></param>
				<param name="second.second_y" type="4" value="0.000000"></param>
				<param name="second.second_z" type="4" value="0.000000"></param>
				<portdef name="first" type="16" structure="1" group="0" instance="0" port="0"></portdef>
				<portdef name="second" type="16" structure="1" group="0" instance="0" port="1"></portdef>
				<datablob category="ui_infos">
					<prop name="posx">124</prop>
					<prop name="posy">1764</prop>
					<prop name="state">Normal</prop>
				</datablob>
			</node>
			<node type="SubtractNode" index="9">
				<param name="first.first_x" type="4" value="0.000000"></param>
				<param name="first.first_y" type="4" value="0.000000"></param>
				<param name="first.first_z" type="4" value="0.000000"></param>
				<param name="second.second_x" type="4" value="0.000000"></param>
				<param name="second.second_y" type="4" value="0.000000"></param>
				<param name="second.second_z" type="4" value="0.000000"></param>
				<portdef name="first" type="16" structure="1" group="0" instance="0" port="0"></portdef>
				<portdef name="second" type="16" structure="1" group="0" instance="0" port="1"></portdef>
				<datablob category="ui_infos">
					<prop name="posx">934</prop>
					<prop name="posy">2030</prop>
					<prop name="state">Normal</prop>
				</datablob>
			</node>
			<node type="GetDataNode" index="10">
				<param name="reference" type="31" value="Self.Mass"></param>
				<param_ext name="reference" type="31" value="Self.Mass"></param_ext>
				<portdef name="source" type="2048" structure="1" group="1" instance="0" port="0"></portdef>
				<portdef name="inname" type="8192" structure="1" group="3" instance="0" port="0"></portdef>
				<datablob category="ui_infos">
					<prop name="posx">-654</prop>
					<prop name="posy">2257</prop>
					<prop name="state">ConnectedOnly</prop>
				</datablob>
			</node>
			<node type="MultiplyByScalarNode" index="11">
				<param name="value.value_x" type="4" value="0.000000"></param>
				<param name="value.value_y" type="4" value="0.000000"></param>
				<param name="value.value_z" type="4" value="0.000000"></param>
				<param name="factor" type="4" value="1.000000"></param>
				<portdef name="value" type="16" structure="1" group="0" instance="0" port="0"></portdef>
				<portdef name="factor" type="4" structure="1" group="0" instance="0" port="1"></portdef>
				<datablob category="ui_infos">
					<prop name="posx">-337</prop>
					<prop name="posy">2222</prop>
					<prop name="state">Normal</prop>
				</datablob>
			</node>
			<node type="GetDataNode" index="12">
				<param name="reference" type="31" value="Self.Force"></param>
				<param_ext name="reference" type="31" value="Self.Force"></param_ext>
				<portdef name="source" type="2048" structure="1" group="1" instance="0" port="0"></portdef>
				<portdef name="inname" type="8192" structure="1" group="3" instance="0" port="0"></portdef>
				<datablob category="ui_infos">
					<prop name="posx">-657</prop>
					<prop name="posy">2186</prop>
					<prop name="state">ConnectedOnly</prop>
				</datablob>
			</node>
			<node type="IfNode" index="13">
				<param name="condition" type="11" value="true"></param>
				<param name="iftrue.iftrue_x" type="4" value="0.000000"></param>
				<param name="iftrue.iftrue_y" type="4" value="0.000000"></param>
				<param name="iftrue.iftrue_z" type="4" value="0.000000"></param>
				<param name="iffalse.iffalse_x" type="4" value="0.000000"></param>
				<param name="iffalse.iffalse_y" type="4" value="0.000000"></param>
				<param name="iffalse.iffalse_z" type="4" value="0.000000"></param>
				<portdef name="condition" type="1" structure="1" group="0" instance="0" port="0"></portdef>
				<portdef name="iftrue" type="16" structure="1" group="0" instance="0" port="1"></portdef>
				<portdef name="iffalse" type="16" structure="1" group="0" instance="0" port="2"></portdef>
				<datablob category="ui_infos">
					<prop name="posx">1167</prop>
					<prop name="posy">1875</prop>
					<prop name="state">Normal</prop>
				</datablob>
			</node>
			<node type="PassThroughNode" index="14">
				<param name="in" type="4" value="0.200000"></param>
				<portdef name="in" type="4" structure="1" group="0" instance="0" port="0"></portdef>
				<datablob category="passthrough">
					<prop name="private">true</prop>
				</datablob>
				<datablob category="ui_infos">
					<prop name="posx">148</prop>
					<prop name="posy">1511</prop>
					<prop name="state">Normal</prop>
				</datablob>
			</node>
			<node type="AddNode" index="15">
				<param name="value1.value1_x" type="4" value="0.000000"></param>
				<param name="value1.value1_y" type="4" value="0.000000"></param>
				<param name="value1.value1_z" type="4" value="0.000000"></param>
				<param name="value2.value2_x" type="4" value="0.000000"></param>
				<param name="value2.value2_y" type="4" value="0.000000"></param>
				<param name="value2.value2_z" type="4" value="0.000000"></param>
				<param name="value3.value3_x" type="4" value="0.000000"></param>
				<param name="value3.value3_y" type="4" value="0.000000"></param>
				<param name="value3.value3_z" type="4" value="0.000000"></param>
				<portdef name="value1" type="16" structure="1" group="0" instance="0" port="0"></portdef>
				<portdef name="value2" type="16" structure="1" group="0" instance="1" port="0"></portdef>
				<portdef name="value3" type="16" structure="1" group="0" instance="2" port="0"></portdef>
				<datablob category="ui_infos">
					<prop name="posx">744</prop>
					<prop name="posy">2136</prop>
					<prop name="state">Normal</prop>
				</datablob>
			</node>
			<node type="MultiplyByScalarNode" index="16">
				<param name="value.value_x" type="4" value="0.000000"></param>
				<param name="value.value_y" type="4" value="0.000000"></param>
				<param name="value.value_z" type="4" value="0.000000"></param>
				<param name="factor" type="4" value="0.500000"></param>
				<portdef name="value" type="16" structure="1" group="0" instance="0" port="0"></portdef>
				<portdef name="factor" type="4" structure="1" group="0" instance="0" port="1"></portdef>
				<datablob category="ui_infos">
					<prop name="posx">53</prop>
					<prop name="posy">2149</prop>
					<prop name="state">Normal</prop>
				</datablob>
				<comment type="node" state="maximized" wordwrap="true" autoresize="true" background="0" background_alpha="0.000000" title="14876671" title_text="0" offsetx="256" offsety="-32" sizex="129" sizey="58"><![CDATA[This vector is the component of the force vector that is going into the surface]]></comment>
			</node>
			<node type="SubtractNode" index="17">
				<param name="first" type="4" value="1.000000"></param>
				<param name="second" type="4" value="0.000000"></param>
				<portdef name="first" type="4" structure="1" group="0" instance="0" port="0"></portdef>
				<portdef name="second" type="4" structure="1" group="0" instance="0" port="1"></portdef>
				<datablob category="ui_infos">
					<prop name="posx">527</prop>
					<prop name="posy">1440</prop>
					<prop name="state">Normal</prop>
				</datablob>
			</node>
			<node type="CompareNode" index="18">
				<param name="type" type="3" value="0"></param>
				<param name="epsilon" type="5" value="0.001000"></param>
				<param name="first" type="4" value="0.000000"></param>
				<param name="second" type="4" value="0.000000"></param>
				<portdef name="first" type="4" structure="1" group="0" instance="0" port="0"></portdef>
				<portdef name="second" type="4" structure="1" group="0" instance="0" port="1"></portdef>
				<datablob category="ui_infos">
					<prop name="posx">758</prop>
					<prop name="posy">1895</prop>
					<prop name="state">ConnectedOnly</prop>
				</datablob>
			</node>
			<node type="ProjectVectorNode" index="19">
				<param name="vector.vector_x" type="4" value="0.000000"></param>
				<param name="vector.vector_y" type="4" value="0.000000"></param>
				<param name="vector.vector_z" type="4" value="0.000000"></param>
				<param name="ontovector.ontovector_x" type="4" value="1.000000"></param>
				<param name="ontovector.ontovector_y" type="4" value="0.000000"></param>
				<param name="ontovector.ontovector_z" type="4" value="0.000000"></param>
				<portdef name="vector" type="16" structure="1" group="0" instance="0" port="0"></portdef>
				<portdef name="ontovector" type="16" structure="1" group="0" instance="0" port="1"></portdef>
				<datablob category="ui_infos">
					<prop name="posx">47</prop>
					<prop name="posy">2234</prop>
					<prop name="state">Normal</prop>
				</datablob>
				<comment type="node" state="maximized" wordwrap="true" autoresize="true" background="0" background_alpha="0.000000" title="14876671" title_text="0" offsetx="176" offsety="11" sizex="126" sizey="58"><![CDATA[This is the component that we need to add in that will counteract the force vector.]]></comment>
			</node>
			<node type="DotProductNode" index="20">
				<param name="first.first_x" type="4" value="0.000000"></param>
				<param name="first.first_y" type="4" value="0.000000"></param>
				<param name="first.first_z" type="4" value="0.000000"></param>
				<param name="second.second_x" type="4" value="0.000000"></param>
				<param name="second.second_y" type="4" value="0.000000"></param>
				<param name="second.second_z" type="4" value="0.000000"></param>
				<portdef name="first" type="16" structure="1" group="0" instance="0" port="0"></portdef>
				<portdef name="second" type="16" structure="1" group="0" instance="0" port="1"></portdef>
				<datablob category="ui_infos">
					<prop name="posx">-113</prop>
					<prop name="posy">2257</prop>
					<prop name="state">Normal</prop>
				</datablob>
			</node>
			<node type="PassThroughNode" index="21">
				<param name="in.in_x" type="4" value="0.000000"></param>
				<param name="in.in_y" type="4" value="0.000000"></param>
				<param name="in.in_z" type="4" value="0.000000"></param>
				<portdef name="in" type="16" structure="1" group="0" instance="0" port="0"></portdef>
				<datablob category="passthrough">
					<prop name="private">true</prop>
				</datablob>
				<datablob category="ui_infos">
					<prop name="posx">-318</prop>
					<prop name="posy">2369</prop>
					<prop name="state">Normal</prop>
				</datablob>
			</node>
			<node type="MultiplyByScalarNode" index="22">
				<param name="value.value_x" type="4" value="0.000000"></param>
				<param name="value.value_y" type="4" value="1.000000"></param>
				<param name="value.value_z" type="4" value="0.000000"></param>
				<param name="factor" type="4" value="1.001000"></param>
				<portdef name="value" type="16" structure="1" group="0" instance="0" port="0"></portdef>
				<portdef name="factor" type="4" structure="1" group="0" instance="0" port="1"></portdef>
				<datablob category="ui_infos">
					<prop name="posx">411</prop>
					<prop name="posy">2194</prop>
					<prop name="state">Normal</prop>
				</datablob>
				<comment type="node" state="maximized" wordwrap="true" autoresize="true" background="0" background_alpha="0.000000" title="14876671" title_text="0" offsetx="79" offsety="22" sizex="157" sizey="58"><![CDATA[this tiny offset is enough to keep particle from moving from this side other geometry to the other.]]></comment>
			</node>
			<node type="MultiplyByScalarNode" index="23">
				<param name="value.value_x" type="4" value="0.000000"></param>
				<param name="value.value_y" type="4" value="0.000000"></param>
				<param name="value.value_z" type="4" value="0.000000"></param>
				<param name="factor" type="4" value="1.000000"></param>
				<portdef name="value" type="16" structure="1" group="0" instance="0" port="0"></portdef>
				<portdef name="factor" type="4" structure="1" group="0" instance="0" port="1"></portdef>
				<datablob category="ui_infos">
					<prop name="posx">664</prop>
					<prop name="posy">1639</prop>
					<prop name="state">Normal</prop>
				</datablob>
			</node>
			<node type="SubtractNode" index="24">
				<param name="first.first_x" type="4" value="0.000000"></param>
				<param name="first.first_y" type="4" value="0.000000"></param>
				<param name="first.first_z" type="4" value="0.000000"></param>
				<param name="second.second_x" type="4" value="0.000000"></param>
				<param name="second.second_y" type="4" value="0.000000"></param>
				<param name="second.second_z" type="4" value="0.000000"></param>
				<portdef name="first" type="16" structure="1" group="0" instance="0" port="0"></portdef>
				<portdef name="second" type="16" structure="1" group="0" instance="0" port="1"></portdef>
				<datablob category="ui_infos">
					<prop name="posx">444</prop>
					<prop name="posy">1628</prop>
					<prop name="state">Normal</prop>
				</datablob>
				<comment type="node" state="maximized" wordwrap="true" autoresize="true" background="0" background_alpha="0.000000" title="14876671" title_text="0"><![CDATA[Tangent]]></comment>
			</node>
			<node type="MultiplyByScalarNode" index="25">
				<param name="value.value_x" type="4" value="0.000000"></param>
				<param name="value.value_y" type="4" value="0.000000"></param>
				<param name="value.value_z" type="4" value="0.000000"></param>
				<param name="factor" type="4" value="1.000000"></param>
				<portdef name="value" type="16" structure="1" group="0" instance="0" port="0"></portdef>
				<portdef name="factor" type="4" structure="1" group="0" instance="0" port="1"></portdef>
				<datablob category="ui_infos">
					<prop name="posx">254</prop>
					<prop name="posy">1686</prop>
					<prop name="state">Normal</prop>
				</datablob>
			</node>
			<node type="CompareNode" index="26">
				<param name="type" type="3" value="4"></param>
				<param name="epsilon" type="5" value="0.000000"></param>
				<param name="first" type="4" value="0.000000"></param>
				<param name="second" type="4" value="0.000000"></param>
				<portdef name="first" type="4" structure="1" group="0" instance="0" port="0"></portdef>
				<portdef name="second" type="4" structure="1" group="0" instance="0" port="1"></portdef>
				<datablob category="ui_infos">
					<prop name="posx">756</prop>
					<prop name="posy">1961</prop>
					<prop name="state">ConnectedOnly</prop>
				</datablob>
			</node>
			<node type="SimulationStepNode" index="27">
				<datablob category="ui_infos">
					<prop name="posx">-506</prop>
					<prop name="posy">2285</prop>
					<prop name="state">Normal</prop>
				</datablob>
			</node>
			<node type="AddNode" index="28">
				<param name="value1.value1_x" type="4" value="0.000000"></param>
				<param name="value1.value1_y" type="4" value="0.000000"></param>
				<param name="value1.value1_z" type="4" value="0.000000"></param>
				<param name="value2.value2_x" type="4" value="0.000000"></param>
				<param name="value2.value2_y" type="4" value="0.000000"></param>
				<param name="value2.value2_z" type="4" value="0.000000"></param>
				<portdef name="value1" type="16" structure="1" group="0" instance="0" port="0"></portdef>
				<portdef name="value2" type="16" structure="1" group="0" instance="1" port="0"></portdef>
				<datablob category="ui_infos">
					<prop name="posx">926</prop>
					<prop name="posy">1690</prop>
					<prop name="state">Normal</prop>
				</datablob>
			</node>
			<node type="SubtractNode" index="29">
				<param name="first.first_x" type="4" value="0.000000"></param>
				<param name="first.first_y" type="4" value="0.000000"></param>
				<param name="first.first_z" type="4" value="0.000000"></param>
				<param name="second.second_x" type="4" value="0.000000"></param>
				<param name="second.second_y" type="4" value="0.000000"></param>
				<param name="second.second_z" type="4" value="0.000000"></param>
				<portdef name="first" type="16" structure="1" group="0" instance="0" port="0"></portdef>
				<portdef name="second" type="16" structure="1" group="0" instance="0" port="1"></portdef>
				<datablob category="ui_infos">
					<prop name="posx">400</prop>
					<prop name="posy">2337</prop>
					<prop name="state">Normal</prop>
				</datablob>
			</node>
			<node type="MultiplyByScalarNode" index="30">
				<param name="value.value_x" type="4" value="0.000000"></param>
				<param name="value.value_y" type="4" value="0.000000"></param>
				<param name="value.value_z" type="4" value="0.000000"></param>
				<param name="factor" type="4" value="1.000000"></param>
				<portdef name="value" type="16" structure="1" group="0" instance="0" port="0"></portdef>
				<portdef name="factor" type="4" structure="1" group="0" instance="0" port="1"></portdef>
				<datablob category="ui_infos">
					<prop name="posx">543</prop>
					<prop name="posy">2366</prop>
					<prop name="state">Normal</prop>
				</datablob>
			</node>
			<node type="SubtractNode" index="31">
				<param name="first" type="4" value="1.000000"></param>
				<param name="second" type="4" value="0.000000"></param>
				<portdef name="first" type="4" structure="1" group="0" instance="0" port="0"></portdef>
				<portdef name="second" type="4" structure="1" group="0" instance="0" port="1"></portdef>
				<datablob category="ui_infos">
					<prop name="posx">401</prop>
					<prop name="posy">2422</prop>
					<prop name="state">Normal</prop>
				</datablob>
			</node>
			<comment type="group" state="maximized" wordwrap="true" autoresize="false" background="14811022" background_alpha="0.100000" title="14876560" title_text="0" offsetx="-667" offsety="2136" sizex="496" sizey="217"><![CDATA[Calculate the minimum velocity component that will counteract the remaining force and keep the particle on the right side of the normal.]]></comment>
			<comment type="group" state="maximized" wordwrap="true" autoresize="false" background="0" background_alpha="0.100000" title="14876671" title_text="0" offsetx="364" offsety="2295" sizex="347" sizey="212"><![CDATA[Find the component of the particle motion that is tangental to the surface and calculate a proportion that we would like to remove.]]></comment>
			<comment type="group" state="maximized" wordwrap="false" autoresize="false" background="0" background_alpha="0.100000" title="14876671" title_text="0" offsetx="-697" offsety="2058" sizex="1557" sizey="468"><![CDATA[Sliding Particle
The bounce of ther particle was not enough to send it flying off the surface. Gravity, and other forces would have sent it back into the surface befor the next hit test. 

In this case, we just want the particle to slide over the surface]]></comment>
		</nodes>
		<exposed_ports>
			<port index="1" portname="result" username="Is_Sliding" basename="Is Sliding" portlabel="Is Sliding" exposetype="single"> </port>
			<port index="2" portname="second" username="Surface_Velocity" basename="Surface Velocity" portlabel="Surface Velocity" exposetype="single"> </port>
			<port index="2" portname="first" username="Particle_Velocity" basename="Particle Velocity" portlabel="Particle Velocity" exposetype="single"> </port>
			<port index="3" portname="in" username="Surface_Normal" basename="Surface Normal" portlabel="Surface Normal" exposetype="single"> </port>
			<port index="7" portname="in" username="Bounce_Factor" basename="Bounce Factor" portlabel="Bounce Factor" exposetype="single"> </port>
			<port index="13" portname="result" username="Result" basename="Result" portlabel="Result" exposetype="single"> </port>
			<port index="14" portname="in" username="Friction" basename="Friction" portlabel="Friction" exposetype="single"> </port>
			<port index="21" portname="in" username="Geometric_Normal" basename="Geometric Normal" portlabel="Geometric Normal" exposetype="single"> </port>
		</exposed_ports>
		<connections>
			<cnx from_node="0" from_port="result" to_node="5" to_port="factor"> </cnx>
			<cnx from_node="14" from_port="out" to_node="17" to_port="second"> </cnx>
			<cnx from_node="17" from_port="result" to_node="23" to_port="factor"> </cnx>
			<cnx from_node="23" from_port="result" to_node="28" to_port="value1"> </cnx>
			<cnx from_node="10" from_port="value" to_node="4" to_port="divideby"> </cnx>
			<cnx from_node="12" from_port="value" to_node="4" to_port="value"> </cnx>
			<cnx from_node="1" from_port="result" to_node="13" to_port="condition"> </cnx>
			<cnx from_node="2" from_port="result" to_node="24" to_port="first"> </cnx>
			<cnx from_node="2" from_port="result" to_node="8" to_port="first"> </cnx>
			<cnx from_node="2" from_port="result" to_node="9" to_port="first"> </cnx>
			<cnx from_node="2" from_port="result" to_node="20" to_port="first"> </cnx>
			<cnx from_node="2" from_port="result" to_node="29" to_port="first"> </cnx>
			<cnx from_node="3" from_port="out" to_node="25" to_port="value"> </cnx>
			<cnx from_node="3" from_port="out" to_node="8" to_port="second"> </cnx>
			<cnx from_node="3" from_port="out" to_node="6" to_port="first"> </cnx>
			<cnx from_node="4" from_port="result" to_node="11" to_port="value"> </cnx>
			<cnx from_node="5" from_port="result" to_node="28" to_port="value2"> </cnx>
			<cnx from_node="6" from_port="result" to_node="26" to_port="second"> </cnx>
			<cnx from_node="7" from_port="out" to_node="0" to_port="value"> </cnx>
			<cnx from_node="7" from_port="out" to_node="31" to_port="second"> </cnx>
			<cnx from_node="8" from_port="result" to_node="25" to_port="factor"> </cnx>
			<cnx from_node="8" from_port="result" to_node="18" to_port="first"> </cnx>
			<cnx from_node="8" from_port="result" to_node="26" to_port="first"> </cnx>
			<cnx from_node="9" from_port="result" to_node="13" to_port="iftrue"> </cnx>
			<cnx from_node="11" from_port="result" to_node="6" to_port="second"> </cnx>
			<cnx from_node="11" from_port="result" to_node="19" to_port="vector"> </cnx>
			<cnx from_node="24" from_port="result" to_node="23" to_port="value"> </cnx>
			<cnx from_node="15" from_port="result" to_node="9" to_port="second"> </cnx>
			<cnx from_node="16" from_port="result" to_node="15" to_port="value1"> </cnx>
			<cnx from_node="16" from_port="result" to_node="29" to_port="second"> </cnx>
			<cnx from_node="25" from_port="result" to_node="24" to_port="second"> </cnx>
			<cnx from_node="25" from_port="result" to_node="5" to_port="value"> </cnx>
			<cnx from_node="18" from_port="result" to_node="1" to_port="value1"> </cnx>
			<cnx from_node="19" from_port="result" to_node="22" to_port="value"> </cnx>
			<cnx from_node="20" from_port="result" to_node="16" to_port="factor"> </cnx>
			<cnx from_node="21" from_port="out" to_node="16" to_port="value"> </cnx>
			<cnx from_node="21" from_port="out" to_node="20" to_port="second"> </cnx>
			<cnx from_node="21" from_port="out" to_node="19" to_port="ontovector"> </cnx>
			<cnx from_node="22" from_port="result" to_node="15" to_port="value2"> </cnx>
			<cnx from_node="26" from_port="result" to_node="1" to_port="value2"> </cnx>
			<cnx from_node="27" from_port="time" to_node="11" to_port="factor"> </cnx>
			<cnx from_node="28" from_port="result" to_node="13" to_port="iffalse"> </cnx>
			<cnx from_node="29" from_port="result" to_node="30" to_port="value"> </cnx>
			<cnx from_node="30" from_port="result" to_node="15" to_port="value3"> </cnx>
			<cnx from_node="31" from_port="result" to_node="30" to_port="factor"> </cnx>
		</connections>
		<layout>
			<item type="input" name="Bounce_Factor"> </item>
			<item type="input" name="Surface_Velocity"> </item>
			<item type="input" name="Surface_Normal"> </item>
			<item type="input" name="Particle_Velocity"> </item>
			<item type="input" name="Geometric_Normal"> </item>
			<item type="input" name="Friction"> </item>
			<item type="output" name="Result"> </item>
			<item type="output" name="Is_Sliding"> </item>
		</layout>
	</embedded_32>
	<embedded_33 name="Set Data" category="Data Access" author="Softimage" formatversion="1.4" compoundversion="1.0" constructionmode="Current" backgroundcolor="12228200">
	<description><![CDATA[Sets the specified attributes to the supplied values.]]></description>
		<nodes>
			<node type="PassThroughNode" index="0">
				<portdef name="in" type="8192" structure="1" group="0" instance="0" port="0"></portdef>
				<datablob category="ui_infos">
					<prop name="posx">49</prop>
					<prop name="posy">114</prop>
					<prop name="state">Normal</prop>
				</datablob>
			</node>
			<node type="SetOneDataNode" index="1">
				<param name="reference" type="31" value="Self.PointVelocity"></param>
				<param name="source.source_x" type="4" value="0.000000"></param>
				<param name="source.source_y" type="4" value="0.000000"></param>
				<param name="source.source_z" type="4" value="0.000000"></param>
				<param_ext name="reference" type="31" value="Self.PointVelocity"></param_ext>
				<portdef name="source" type="16" structure="1" group="1" instance="0" port="0"></portdef>
				<portdef name="inname" type="8192" structure="1" group="3" instance="0" port="0"></portdef>
				<datablob category="ui_infos">
					<prop name="posx">209</prop>
					<prop name="posy">114</prop>
					<prop name="state">Normal</prop>
				</datablob>
			</node>
			<node type="ExecuteNode" index="2">
				<portdef name="port1" type="4096" structure="1" group="0" instance="0" port="0"></portdef>
				<portdef name="port2" type="4096" structure="1" group="0" instance="1" port="0"></portdef>
				<datablob category="ui_infos">
					<prop name="posx">368</prop>
					<prop name="posy">114</prop>
					<prop name="state">Normal</prop>
				</datablob>
			</node>
			<node type="SetOneDataNode" index="3">
				<param name="reference" type="31" value="Self.__Hit"></param>
				<param name="source" type="11" value="false"></param>
				<param_ext name="reference" type="31" value="Self.__Hit"></param_ext>
				<portdef name="source" type="1" structure="1" group="1" instance="0" port="0"></portdef>
				<portdef name="inname" type="8192" structure="1" group="3" instance="0" port="0"></portdef>
			</node>
		</nodes>
		<exposed_ports>
			<port index="0" portname="in" username="In_Name" basename="In Name" portlabel="In Name" exposetype="single">
				<description><![CDATA[Name prefixed to each attribute to be set. Use this to specify the object name, and then specify each attribute in the Reference ports.]]></description>
			</port>
			<port index="1" portname="source" username="Value" basename="Value" overridelabel="Reference" portlabel="Value" exposetype="use_node_import">
				<description><![CDATA[The value to set.]]></description>
			</port>
			<port index="1" portname="reference" username="Reference" basename="Reference" portlabel="Reference" exposetype="use_node_import">
				<description><![CDATA[The name of the attribute to set.]]></description>
			</port>
			<port index="2" portname="execute" username="Execute" basename="Execute" portlabel="Execute" exposetype="single"> </port>
			<port index="3" portname="source" username="Value1" basename="Value" overridelabel="Reference" portlabel="Value1" exposetype="use_node_import">
				<description><![CDATA[The value to set.]]></description>
			</port>
			<port index="3" portname="reference" username="Reference1" basename="Reference" portlabel="Reference1" exposetype="use_node_import">
				<description><![CDATA[The name of the attribute to set.]]></description>
			</port>
		</exposed_ports>
		<connections>
			<cnx from_node="1" from_port="value" to_node="2" to_port="port1"> </cnx>
			<cnx from_node="0" from_port="out" to_node="1" to_port="inname"> </cnx>
			<cnx from_node="0" from_port="out" to_node="3" to_port="inname"> </cnx>
			<cnx from_node="3" from_port="value" to_node="2" to_port="port2"> </cnx>
		</connections>
		<layout>
			<item type="input" name="In_Name"> </item>
			<item type="input" name="Value" min="0" max="0"> </item>
			<item type="input" name="Reference"> </item>
			<item type="input" name="Value1" min="0" max="0"> </item>
			<item type="input" name="Reference1"> </item>
			<item type="output" name="Execute"> </item>
		</layout>
	</embedded_33>
	<embedded_34 name="Is Invalid Bounce" formatversion="1.4" compoundversion="1.0" constructionmode="Current" backgroundcolor="6732954">
		<nodes>
			<node type="CompareNode" index="2">
				<param name="type" type="3" value="0"></param>
				<param name="epsilon" type="5" value="0.000000"></param>
				<param name="first" type="4" value="0.000000"></param>
				<param name="second" type="4" value="0.000000"></param>
				<portdef name="first" type="4" structure="1" group="0" instance="0" port="0"></portdef>
				<portdef name="second" type="4" structure="1" group="0" instance="0" port="1"></portdef>
				<datablob category="ui_infos">
					<prop name="posx">450</prop>
					<prop name="posy">941</prop>
					<prop name="state">Normal</prop>
				</datablob>
			</node>
			<node type="GetDataNode" index="3">
				<param name="reference" type="31" value="Self.SimulatedFrameFraction"></param>
				<param_ext name="reference" type="31" value="Self.SimulatedFrameFraction"></param_ext>
				<portdef name="source" type="2048" structure="1" group="1" instance="0" port="0"></portdef>
				<portdef name="inname" type="8192" structure="1" group="3" instance="0" port="0"></portdef>
				<datablob category="ui_infos">
					<prop name="posx">155</prop>
					<prop name="posy">922</prop>
					<prop name="state">ConnectedOnly</prop>
				</datablob>
			</node>
			<node type="GetDataNode" index="4">
				<param name="reference" type="31" value="Self.__PreSimulateFrameFraction"></param>
				<param_ext name="reference" type="31" value="Self.__PreSimulateFrameFraction"></param_ext>
				<portdef name="source" type="2048" structure="1" group="1" instance="0" port="0"></portdef>
				<portdef name="inname" type="8192" structure="1" group="3" instance="0" port="0"></portdef>
				<datablob category="ui_infos">
					<prop name="posx">129</prop>
					<prop name="posy">998</prop>
					<prop name="state">ConnectedOnly</prop>
				</datablob>
			</node>
		</nodes>
		<exposed_ports>
			<port index="2" portname="result" username="Result" basename="Result" portlabel="Result" exposetype="single"> </port>
		</exposed_ports>
		<connections>
			<cnx from_node="3" from_port="value" to_node="2" to_port="first"> </cnx>
			<cnx from_node="4" from_port="value" to_node="2" to_port="second"> </cnx>
		</connections>
		<layout>
			<item type="output" name="Result"> </item>
		</layout>
	</embedded_34>
	<embedded_36 name="Is Invalid Bounce" formatversion="1.4" compoundversion="1.0" constructionmode="Current" backgroundcolor="6732954">
		<nodes>
			<node type="GetDataNode" index="0">
				<param name="reference" type="31" value="Self.SimulatedFrameFraction"></param>
				<param_ext name="reference" type="31" value="Self.SimulatedFrameFraction"></param_ext>
				<portdef name="source" type="2048" structure="1" group="1" instance="0" port="0"></portdef>
				<portdef name="inname" type="8192" structure="1" group="3" instance="0" port="0"></portdef>
				<datablob category="ui_infos">
					<prop name="posx">155</prop>
					<prop name="posy">922</prop>
					<prop name="state">ConnectedOnly</prop>
				</datablob>
			</node>
			<node type="CompareNode" index="1">
				<param name="type" type="3" value="0"></param>
				<param name="epsilon" type="5" value="0.000000"></param>
				<param name="first" type="4" value="0.000000"></param>
				<param name="second" type="4" value="0.000000"></param>
				<portdef name="first" type="4" structure="1" group="0" instance="0" port="0"></portdef>
				<portdef name="second" type="4" structure="1" group="0" instance="0" port="1"></portdef>
				<datablob category="ui_infos">
					<prop name="posx">450</prop>
					<prop name="posy">941</prop>
					<prop name="state">Normal</prop>
				</datablob>
			</node>
			<node type="GetDataNode" index="2">
				<param name="reference" type="31" value="Self.__PreSimulateFrameFraction"></param>
				<param_ext name="reference" type="31" value="Self.__PreSimulateFrameFraction"></param_ext>
				<portdef name="source" type="2048" structure="1" group="1" instance="0" port="0"></portdef>
				<portdef name="inname" type="8192" structure="1" group="3" instance="0" port="0"></portdef>
				<datablob category="ui_infos">
					<prop name="posx">129</prop>
					<prop name="posy">998</prop>
					<prop name="state">ConnectedOnly</prop>
				</datablob>
			</node>
		</nodes>
		<exposed_ports>
			<port index="1" portname="result" username="Result" basename="Result" portlabel="Result" exposetype="single"> </port>
		</exposed_ports>
		<connections>
			<cnx from_node="0" from_port="value" to_node="1" to_port="first"> </cnx>
			<cnx from_node="2" from_port="value" to_node="1" to_port="second"> </cnx>
		</connections>
		<layout>
			<item type="output" name="Result"> </item>
		</layout>
	</embedded_36>
	<embedded_38 name="Get Particle Velocity" tasks="Particles/Getters" formatversion="1.4" compoundversion="1.0" constructionmode="Current" backgroundcolor="12228200">
	<description><![CDATA[This compound gets the particle's current velocity data as defined by its PointVelocity attribute. You can output the Velocity Vector and Speed data.]]></description>
		<nodes>
			<node type="GetDataNode" index="0">
				<param name="reference" type="31" value="Self.PointVelocity"></param>
				<param_ext name="reference" type="31" value="Self.PointVelocity"></param_ext>
				<portdef name="source" type="2048" structure="1" group="1" instance="0" port="0"></portdef>
				<portdef name="inname" type="8192" structure="1" group="3" instance="0" port="0"></portdef>
				<datablob category="ui_infos">
					<prop name="posx">-345</prop>
					<prop name="posy">255</prop>
				</datablob>
			</node>
			<node type="LengthNode" index="1">
				<param name="vector.vector_x" type="4" value="0.000000"></param>
				<param name="vector.vector_y" type="4" value="0.000000"></param>
				<param name="vector.vector_z" type="4" value="0.000000"></param>
				<portdef name="vector" type="16" structure="1" group="0" instance="0" port="0"></portdef>
				<datablob category="ui_infos">
					<prop name="posx">-93</prop>
					<prop name="posy">303</prop>
				</datablob>
			</node>
		</nodes>
		<exposed_ports>
			<port index="0" portname="value" username="Velocity" basename="Velocity" portlabel="Velocity" exposetype="single"> </port>
			<port index="0" portname="reference" username="Reference" basename="Reference" portlabel="Reference" exposetype="single">
				<description><![CDATA[The particle's PointVelocity attribute. Click the Explorer button to open up an explorer and select a different particle attribute.]]></description>
			</port>
			<port index="1" portname="result" username="Speed" basename="Speed" portlabel="Speed" exposetype="single"> </port>
		</exposed_ports>
		<connections>
			<cnx from_node="0" from_port="value" to_node="1" to_port="vector"> </cnx>
		</connections>
		<layout>
			<item type="input" name="Reference"> </item>
			<item type="output" name="Velocity"> </item>
			<item type="output" name="Speed"> </item>
		</layout>
	</embedded_38>
	<embedded_37 name="Get Particle Collision Location" tasks="Particles/Getters" formatversion="1.4" compoundversion="1.0" constructionmode="Current" backgroundcolor="12228200">
	<description><![CDATA[This compound gets the particle's location at the point of collision with an obstacle. You can output the particle's Hit Location, Position, Normal, and Hit Force data.]]></description>
		<nodes>
			<node type="[embedded_38]" index="0">
				<param name="Reference" type="31" value="Self.PointVelocity"></param>
				<param_ext name="Reference" type="31" value="Self.PointVelocity"></param_ext>
				<datablob category="ui_infos">
					<prop name="posx">-1473</prop>
					<prop name="posy">1486</prop>
					<prop name="state">Normal</prop>
				</datablob>
			</node>
			<node type="SubtractNode" index="1">
				<param name="first.first_x" type="4" value="0.000000"></param>
				<param name="first.first_y" type="4" value="0.000000"></param>
				<param name="first.first_z" type="4" value="0.000000"></param>
				<param name="second.second_x" type="4" value="0.000000"></param>
				<param name="second.second_y" type="4" value="0.000000"></param>
				<param name="second.second_z" type="4" value="0.000000"></param>
				<portdef name="first" type="16" structure="1" group="0" instance="0" port="0"></portdef>
				<portdef name="second" type="16" structure="1" group="0" instance="0" port="1"></portdef>
				<datablob category="ui_infos">
					<prop name="posx">-1200</prop>
					<prop name="posy">1524</prop>
					<prop name="state">Normal</prop>
				</datablob>
			</node>
			<node type="GetDataNode" index="2">
				<param name="reference" type="31" value="PointVelocity"></param>
				<param_ext name="reference" type="31" value="PointVelocity"></param_ext>
				<portdef name="source" type="2048" structure="1" group="1" instance="0" port="0"></portdef>
				<portdef name="inname" type="8192" structure="1" group="3" instance="0" port="0"></portdef>
				<datablob category="ui_infos">
					<prop name="posx">-1472</prop>
					<prop name="posy">1579</prop>
					<prop name="state">Normal</prop>
				</datablob>
			</node>
			<node type="LinearInterpolateNode" index="3">
				<param name="first.first_x" type="4" value="0.000000"></param>
				<param name="first.first_y" type="4" value="0.000000"></param>
				<param name="first.first_z" type="4" value="0.000000"></param>
				<param name="second.second_x" type="4" value="0.000000"></param>
				<param name="second.second_y" type="4" value="0.000000"></param>
				<param name="second.second_z" type="4" value="0.000000"></param>
				<param name="blend" type="4" value="0.000000"></param>
				<param name="clamp" type="11" value="false"></param>
				<portdef name="first" type="16" structure="1" group="0" instance="0" port="0"></portdef>
				<portdef name="second" type="16" structure="1" group="0" instance="0" port="1"></portdef>
				<portdef name="blend" type="4" structure="1" group="0" instance="0" port="2"></portdef>
				<portdef name="clamp" type="1" structure="1" group="0" instance="0" port="3"></portdef>
				<datablob category="ui_infos">
					<prop name="posx">-1108</prop>
					<prop name="posy">1315</prop>
					<prop name="state">Normal</prop>
				</datablob>
			</node>
			<node type="GetDataAtPreviousFrameNode" index="4">
				<param name="reference" type="31" value=""></param>
				<param_ext name="reference" type="31" value=""></param_ext>
				<portdef name="source" type="2048" structure="1" group="1" instance="0" port="0"></portdef>
				<portdef name="inname" type="8192" structure="1" group="3" instance="0" port="0"></portdef>
				<datablob category="ui_infos">
					<prop name="posx">-1460</prop>
					<prop name="posy">1089</prop>
					<prop name="state">ConnectedOnly</prop>
				</datablob>
			</node>
			<node type="GetDataNode" index="5">
				<param name="reference" type="31" value="SurfaceGeometricNormal"></param>
				<param_ext name="reference" type="31" value="SurfaceGeometricNormal"></param_ext>
				<portdef name="source" type="2048" structure="1" group="1" instance="0" port="0"></portdef>
				<portdef name="inname" type="8192" structure="1" group="3" instance="0" port="0"></portdef>
				<datablob category="ui_infos">
					<prop name="posx">-1470</prop>
					<prop name="posy">1379</prop>
					<prop name="state">ConnectedOnly</prop>
				</datablob>
			</node>
			<node type="GetDataAtPreviousFrameNode" index="6">
				<param name="reference" type="31" value=""></param>
				<param_ext name="reference" type="31" value=""></param_ext>
				<portdef name="source" type="2048" structure="1" group="1" instance="0" port="0"></portdef>
				<portdef name="inname" type="8192" structure="1" group="3" instance="0" port="0"></portdef>
				<datablob category="ui_infos">
					<prop name="posx">-1471</prop>
					<prop name="posy">1279</prop>
					<prop name="state">ConnectedOnly</prop>
				</datablob>
			</node>
			<node type="DotProductNode" index="7">
				<param name="first.first_x" type="4" value="0.000000"></param>
				<param name="first.first_y" type="4" value="0.000000"></param>
				<param name="first.first_z" type="4" value="0.000000"></param>
				<param name="second.second_x" type="4" value="0.000000"></param>
				<param name="second.second_y" type="4" value="0.000000"></param>
				<param name="second.second_z" type="4" value="0.000000"></param>
				<portdef name="first" type="16" structure="1" group="0" instance="0" port="0"></portdef>
				<portdef name="second" type="16" structure="1" group="0" instance="0" port="1"></portdef>
				<datablob category="ui_infos">
					<prop name="posx">-1062</prop>
					<prop name="posy">1569</prop>
					<prop name="state">Normal</prop>
				</datablob>
			</node>
			<node type="GetDataNode" index="8">
				<param name="reference" type="31" value="SimulatedFrameFraction"></param>
				<param_ext name="reference" type="31" value="SimulatedFrameFraction"></param_ext>
				<portdef name="source" type="2048" structure="1" group="1" instance="0" port="0"></portdef>
				<portdef name="inname" type="8192" structure="1" group="3" instance="0" port="0"></portdef>
				<datablob category="ui_infos">
					<prop name="posx">-1900</prop>
					<prop name="posy">1146</prop>
					<prop name="state">ConnectedOnly</prop>
				</datablob>
			</node>
			<node type="GetDataNode" index="9">
				<param name="reference" type="31" value="__Hit"></param>
				<param_ext name="reference" type="31" value="__Hit"></param_ext>
				<portdef name="source" type="2048" structure="1" group="1" instance="0" port="0"></portdef>
				<portdef name="inname" type="8192" structure="1" group="3" instance="0" port="0"></portdef>
				<datablob category="ui_infos">
					<prop name="posx">-1899</prop>
					<prop name="posy">1218</prop>
					<prop name="state">ConnectedOnly</prop>
				</datablob>
			</node>
			<node type="GetDataNode" index="10">
				<param name="reference" type="31" value="PointPosition"></param>
				<param_ext name="reference" type="31" value="PointPosition"></param_ext>
				<portdef name="source" type="2048" structure="1" group="1" instance="0" port="0"></portdef>
				<portdef name="inname" type="8192" structure="1" group="3" instance="0" port="0"></portdef>
				<datablob category="ui_infos">
					<prop name="posx">-1462</prop>
					<prop name="posy">1191</prop>
					<prop name="state">ConnectedOnly</prop>
				</datablob>
			</node>
			<node type="GetDataNode" index="11">
				<param name="reference" type="31" value="CollisionLocation"></param>
				<param_ext name="reference" type="31" value="CollisionLocation"></param_ext>
				<portdef name="source" type="2048" structure="1" group="1" instance="0" port="0"></portdef>
				<portdef name="inname" type="8192" structure="1" group="3" instance="0" port="0"></portdef>
				<datablob category="ui_infos">
					<prop name="posx">-1940</prop>
					<prop name="posy">1322</prop>
					<prop name="state">ConnectedOnly</prop>
				</datablob>
			</node>
			<node type="GetDataNode" index="12">
				<param name="reference" type="31" value="Self"></param>
				<param_ext name="reference" type="31" value="Self"></param_ext>
				<portdef name="source" type="2048" structure="1" group="1" instance="0" port="0"></portdef>
				<portdef name="inname" type="8192" structure="1" group="3" instance="0" port="0"></portdef>
				<datablob category="ui_infos">
					<prop name="posx">-2058</prop>
					<prop name="posy">1203</prop>
					<prop name="state">Normal</prop>
				</datablob>
			</node>
			<node type="NegateNode" index="13">
				<param name="value.value_x" type="4" value="0.000000"></param>
				<param name="value.value_y" type="4" value="0.000000"></param>
				<param name="value.value_z" type="4" value="0.000000"></param>
				<portdef name="value" type="16" structure="1" group="0" instance="0" port="0"></portdef>
				<datablob category="ui_infos">
					<prop name="posx">-1192</prop>
					<prop name="posy">1612</prop>
					<prop name="state">Normal</prop>
				</datablob>
			</node>
			<node type="NormalizeNode" index="16">
				<param name="vector.vector_x" type="4" value="1.000000"></param>
				<param name="vector.vector_y" type="4" value="0.000000"></param>
				<param name="vector.vector_z" type="4" value="0.000000"></param>
				<portdef name="vector" type="16" structure="1" group="0" instance="0" port="0"></portdef>
				<datablob category="ui_infos">
					<prop name="posx">-918</prop>
					<prop name="posy">1304</prop>
					<prop name="state">Normal</prop>
				</datablob>
			</node>
			<node type="LinearInterpolateNode" index="18">
				<param name="first.first_x" type="4" value="0.000000"></param>
				<param name="first.first_y" type="4" value="0.000000"></param>
				<param name="first.first_z" type="4" value="0.000000"></param>
				<param name="second.second_x" type="4" value="0.000000"></param>
				<param name="second.second_y" type="4" value="0.000000"></param>
				<param name="second.second_z" type="4" value="0.000000"></param>
				<param name="blend" type="4" value="0.000000"></param>
				<param name="clamp" type="11" value="false"></param>
				<portdef name="first" type="16" structure="1" group="0" instance="0" port="0"></portdef>
				<portdef name="second" type="16" structure="1" group="0" instance="0" port="1"></portdef>
				<portdef name="blend" type="4" structure="1" group="0" instance="0" port="2"></portdef>
				<portdef name="clamp" type="1" structure="1" group="0" instance="0" port="3"></portdef>
				<datablob category="ui_infos">
					<prop name="posx">-1108</prop>
					<prop name="posy">1154</prop>
					<prop name="state">Normal</prop>
				</datablob>
			</node>
			<node type="IfNode" index="19">
				<param name="condition" type="11" value="false"></param>
				<portdef name="condition" type="1" structure="1" group="0" instance="0" port="0"></portdef>
				<portdef name="iftrue" type="2048" structure="1" group="0" instance="0" port="1"></portdef>
				<portdef name="iffalse" type="2048" structure="1" group="0" instance="0" port="2"></portdef>
				<datablob category="ui_infos">
					<prop name="posx">-1729</prop>
					<prop name="posy">1243</prop>
					<prop name="state">Normal</prop>
				</datablob>
			</node>
		</nodes>
		<exposed_ports>
			<port index="7" portname="result" username="Collision_Force" basename="Collision Force" portlabel="Collision Force" exposetype="single"> </port>
			<port index="12" portname="inname" username="In_Name" basename="In Name" portlabel="In Name" exposetype="single"> </port>
			<port index="12" portname="reference" username="Reference" basename="Reference" portlabel="Reference" exposetype="single">
				<description><![CDATA[The particle's GoalLocation attribute. Click the Explorer button to open up an explorer and select a different particle attribute.]]></description>
			</port>
			<port index="16" portname="result" username="Normal" basename="Normal" portlabel="Normal" exposetype="single"> </port>
			<port index="18" portname="result" username="Position" basename="Position" portlabel="Position" exposetype="single"> </port>
			<port index="19" portname="result" username="Location" basename="Location" portlabel="Location" exposetype="single"> </port>
		</exposed_ports>
		<connections>
			<cnx from_node="19" from_port="result" to_node="2" to_port="source"> </cnx>
			<cnx from_node="19" from_port="result" to_node="6" to_port="source"> </cnx>
			<cnx from_node="19" from_port="result" to_node="5" to_port="source"> </cnx>
			<cnx from_node="19" from_port="result" to_node="10" to_port="source"> </cnx>
			<cnx from_node="19" from_port="result" to_node="4" to_port="source"> </cnx>
			<cnx from_node="0" from_port="Velocity" to_node="1" to_port="first"> </cnx>
			<cnx from_node="1" from_port="result" to_node="7" to_port="first"> </cnx>
			<cnx from_node="2" from_port="value" to_node="1" to_port="second"> </cnx>
			<cnx from_node="4" from_port="value" to_node="18" to_port="first"> </cnx>
			<cnx from_node="5" from_port="value" to_node="3" to_port="second"> </cnx>
			<cnx from_node="5" from_port="outname" to_node="6" to_port="inname"> </cnx>
			<cnx from_node="6" from_port="value" to_node="3" to_port="first"> </cnx>
			<cnx from_node="8" from_port="value" to_node="3" to_port="blend"> </cnx>
			<cnx from_node="8" from_port="value" to_node="18" to_port="blend"> </cnx>
			<cnx from_node="9" from_port="value" to_node="19" to_port="condition"> </cnx>
			<cnx from_node="10" from_port="value" to_node="18" to_port="second"> </cnx>
			<cnx from_node="10" from_port="outname" to_node="4" to_port="inname"> </cnx>
			<cnx from_node="11" from_port="value" to_node="19" to_port="iftrue"> </cnx>
			<cnx from_node="12" from_port="outname" to_node="9" to_port="inname"> </cnx>
			<cnx from_node="12" from_port="outname" to_node="11" to_port="inname"> </cnx>
			<cnx from_node="12" from_port="outname" to_node="8" to_port="inname"> </cnx>
			<cnx from_node="3" from_port="result" to_node="16" to_port="vector"> </cnx>
			<cnx from_node="13" from_port="result" to_node="7" to_port="second"> </cnx>
			<cnx from_node="16" from_port="result" to_node="13" to_port="value"> </cnx>
		</connections>
		<layout>
			<item type="input" name="In_Name"> </item>
			<item type="input" name="Reference"> </item>
			<item type="output" name="Location"> </item>
			<item type="output" name="Position"> </item>
			<item type="output" name="Normal"> </item>
			<item type="output" name="Collision_Force"> </item>
		</layout>
	</embedded_37>
	<embedded_35 name="Is Outside" formatversion="1.4" compoundversion="1.0" constructionmode="Modeling" backgroundcolor="6732954">
		<nodes>
			<node type="DotProductNode" index="0">
				<param name="first.first_x" type="4" value="0.000000"></param>
				<param name="first.first_y" type="4" value="0.000000"></param>
				<param name="first.first_z" type="4" value="0.000000"></param>
				<param name="second.second_x" type="4" value="0.000000"></param>
				<param name="second.second_y" type="4" value="0.000000"></param>
				<param name="second.second_z" type="4" value="0.000000"></param>
				<portdef name="first" type="16" structure="1" group="0" instance="0" port="0"></portdef>
				<portdef name="second" type="16" structure="1" group="0" instance="0" port="1"></portdef>
				<datablob category="ui_infos">
					<prop name="posx">-373</prop>
					<prop name="posy">1949</prop>
					<prop name="state">Normal</prop>
				</datablob>
			</node>
			<node type="[embedded_36]" index="1">
				<datablob category="ui_infos">
					<prop name="posx">-302</prop>
					<prop name="posy">1878</prop>
					<prop name="state">Normal</prop>
				</datablob>
			</node>
			<node type="[embedded_37]" index="2">
				<param name="Reference" type="31" value="Self"></param>
				<param_ext name="Reference" type="31" value="Self"></param_ext>
				<portdef name="In_Name" type="8192" structure="1" group="-1" instance="-1" port="-1"></portdef>
				<datablob category="ui_infos">
					<prop name="posx">-789</prop>
					<prop name="posy">1829</prop>
					<prop name="state">Normal</prop>
				</datablob>
			</node>
			<node type="GetDataNode" index="3">
				<param name="reference" type="31" value="Self.__HitIsOutside"></param>
				<param_ext name="reference" type="31" value="Self.__HitIsOutside"></param_ext>
				<portdef name="source" type="2048" structure="1" group="1" instance="0" port="0"></portdef>
				<portdef name="inname" type="8192" structure="1" group="3" instance="0" port="0"></portdef>
				<datablob category="ui_infos">
					<prop name="posx">-341</prop>
					<prop name="posy">2060</prop>
					<prop name="state">ConnectedOnly</prop>
				</datablob>
			</node>
			<node type="IfNode" index="4">
				<param name="condition" type="11" value="false"></param>
				<param name="iftrue" type="11" value="false"></param>
				<param name="iffalse" type="11" value="false"></param>
				<portdef name="condition" type="1" structure="1" group="0" instance="0" port="0"></portdef>
				<portdef name="iftrue" type="1" structure="1" group="0" instance="0" port="1"></portdef>
				<portdef name="iffalse" type="1" structure="1" group="0" instance="0" port="2"></portdef>
				<datablob category="ui_infos">
					<prop name="posx">-77</prop>
					<prop name="posy">1930</prop>
					<prop name="state">Normal</prop>
				</datablob>
			</node>
			<node type="GetDataNode" index="5">
				<param name="reference" type="31" value="Self.PointVelocity"></param>
				<param_ext name="reference" type="31" value="Self.PointVelocity"></param_ext>
				<portdef name="source" type="2048" structure="1" group="1" instance="0" port="0"></portdef>
				<portdef name="inname" type="8192" structure="1" group="3" instance="0" port="0"></portdef>
				<datablob category="ui_infos">
					<prop name="posx">-742</prop>
					<prop name="posy">2083</prop>
					<prop name="state">ConnectedOnly</prop>
				</datablob>
			</node>
			<node type="SubtractNode" index="6">
				<param name="first.first_x" type="4" value="0.000000"></param>
				<param name="first.first_y" type="4" value="0.000000"></param>
				<param name="first.first_z" type="4" value="0.000000"></param>
				<param name="second.second_x" type="4" value="0.000000"></param>
				<param name="second.second_y" type="4" value="0.000000"></param>
				<param name="second.second_z" type="4" value="0.000000"></param>
				<portdef name="first" type="16" structure="1" group="0" instance="0" port="0"></portdef>
				<portdef name="second" type="16" structure="1" group="0" instance="0" port="1"></portdef>
				<datablob category="ui_infos">
					<prop name="posx">-508</prop>
					<prop name="posy">2013</prop>
					<prop name="state">Normal</prop>
				</datablob>
			</node>
			<node type="GetDataNode" index="7">
				<param name="reference" type="31" value="PointVelocity"></param>
				<param_ext name="reference" type="31" value="PointVelocity"></param_ext>
				<portdef name="source" type="2048" structure="1" group="1" instance="0" port="0"></portdef>
				<portdef name="inname" type="8192" structure="1" group="3" instance="0" port="0"></portdef>
				<datablob category="ui_infos">
					<prop name="posx">-716</prop>
					<prop name="posy">1965</prop>
					<prop name="state">Normal</prop>
				</datablob>
			</node>
			<node type="CompareNode" index="8">
				<param name="type" type="3" value="2"></param>
				<param name="epsilon" type="5" value="0.000000"></param>
				<param name="first" type="4" value="0.000000"></param>
				<param name="second" type="4" value="0.000000"></param>
				<portdef name="first" type="4" structure="1" group="0" instance="0" port="0"></portdef>
				<portdef name="second" type="4" structure="1" group="0" instance="0" port="1"></portdef>
				<datablob category="ui_infos">
					<prop name="posx">-212</prop>
					<prop name="posy">1942</prop>
					<prop name="state">Normal</prop>
				</datablob>
			</node>
		</nodes>
		<exposed_ports>
			<port index="4" portname="result" username="Result" basename="Result" portlabel="Result" exposetype="single"> </port>
		</exposed_ports>
		<connections>
			<cnx from_node="1" from_port="Result" to_node="4" to_port="condition"> </cnx>
			<cnx from_node="2" from_port="Location" to_node="7" to_port="source"> </cnx>
			<cnx from_node="2" from_port="Normal" to_node="0" to_port="second"> </cnx>
			<cnx from_node="0" from_port="result" to_node="8" to_port="first"> </cnx>
			<cnx from_node="3" from_port="value" to_node="4" to_port="iffalse"> </cnx>
			<cnx from_node="5" from_port="value" to_node="6" to_port="first"> </cnx>
			<cnx from_node="6" from_port="result" to_node="0" to_port="first"> </cnx>
			<cnx from_node="8" from_port="result" to_node="4" to_port="iftrue"> </cnx>
			<cnx from_node="7" from_port="value" to_node="6" to_port="second"> </cnx>
		</connections>
		<layout>
			<item type="output" name="Result"> </item>
		</layout>
	</embedded_35>
	<embedded_24 name="Bounce Particle" formatversion="1.4" compoundversion="1.0" constructionmode="Modeling" backgroundcolor="6732954">
		<nodes>
			<node type="GetDataNode" index="0">
				<param name="reference" type="31" value="Self.__PreSimulateVelocity"></param>
				<param_ext name="reference" type="31" value="Self.__PreSimulateVelocity"></param_ext>
				<portdef name="source" type="2048" structure="1" group="1" instance="0" port="0"></portdef>
				<portdef name="inname" type="8192" structure="1" group="3" instance="0" port="0"></portdef>
				<datablob category="ui_infos">
					<prop name="posx">-976</prop>
					<prop name="posy">1327</prop>
					<prop name="state">ConnectedOnly</prop>
				</datablob>
			</node>
			<node type="GetDataNode" index="1">
				<param name="reference" type="31" value="Self.SimulatedFrameFraction"></param>
				<param_ext name="reference" type="31" value="Self.SimulatedFrameFraction"></param_ext>
				<portdef name="source" type="2048" structure="1" group="1" instance="0" port="0"></portdef>
				<portdef name="inname" type="8192" structure="1" group="3" instance="0" port="0"></portdef>
				<datablob category="ui_infos">
					<prop name="posx">-1098</prop>
					<prop name="posy">1466</prop>
					<prop name="state">ConnectedOnly</prop>
				</datablob>
			</node>
			<node type="FilterNode" index="2">
				<param name="keep" type="11" value="false"></param>
				<param name="value" type="11" value="false"></param>
				<portdef name="keep" type="1" structure="1" group="0" instance="0" port="0"></portdef>
				<portdef name="value" type="1" structure="1" group="0" instance="0" port="1"></portdef>
				<datablob category="ui_infos">
					<prop name="posx">1097</prop>
					<prop name="posy">1241</prop>
					<prop name="state">Normal</prop>
				</datablob>
			</node>
			<node type="GetDataNode" index="3">
				<param name="reference" type="31" value="PointVelocity"></param>
				<param_ext name="reference" type="31" value="PointVelocity"></param_ext>
				<portdef name="source" type="2048" structure="1" group="1" instance="0" port="0"></portdef>
				<portdef name="inname" type="8192" structure="1" group="3" instance="0" port="0"></portdef>
				<datablob category="ui_infos">
					<prop name="posx">-676</prop>
					<prop name="posy">1120</prop>
					<prop name="state">Normal</prop>
				</datablob>
			</node>
			<node type="[embedded_25]" index="4">
				<param name="Reference" type="31" value="Self"></param>
				<param_ext name="Reference" type="31" value="Self"></param_ext>
				<portdef name="In_Name" type="8192" structure="1" group="-1" instance="-1" port="-1"></portdef>
				<datablob category="ui_infos">
					<prop name="posx">-744</prop>
					<prop name="posy">980</prop>
					<prop name="state">Normal</prop>
				</datablob>
			</node>
			<node type="AddNode" index="5">
				<param name="value1.value1_x" type="4" value="0.000000"></param>
				<param name="value1.value1_y" type="4" value="5.172000"></param>
				<param name="value1.value1_z" type="4" value="0.000000"></param>
				<param name="value2.value2_x" type="4" value="0.000000"></param>
				<param name="value2.value2_y" type="4" value="0.000000"></param>
				<param name="value2.value2_z" type="4" value="0.000000"></param>
				<portdef name="value1" type="16" structure="1" group="0" instance="0" port="0"></portdef>
				<portdef name="value2" type="16" structure="1" group="0" instance="1" port="0"></portdef>
				<datablob category="ui_infos">
					<prop name="posx">1024</prop>
					<prop name="posy">1108</prop>
					<prop name="state">Normal</prop>
				</datablob>
			</node>
			<node type="GetDataNode" index="6">
				<param name="reference" type="31" value="Self.PointVelocity"></param>
				<param_ext name="reference" type="31" value="Self.PointVelocity"></param_ext>
				<portdef name="source" type="2048" structure="1" group="1" instance="0" port="0"></portdef>
				<portdef name="inname" type="8192" structure="1" group="3" instance="0" port="0"></portdef>
				<datablob category="ui_infos">
					<prop name="posx">-917</prop>
					<prop name="posy">1393</prop>
					<prop name="state">ConnectedOnly</prop>
				</datablob>
			</node>
			<node type="[embedded_27]" index="7">
				<param name="Object_Name_Reference" type="31" value="Self"></param>
				<param name="Base_Vector.Base_Vector_x" type="4" value="0.000000"></param>
				<param name="Base_Vector.Base_Vector_y" type="4" value="0.000000"></param>
				<param name="Base_Vector.Base_Vector_z" type="4" value="0.000000"></param>
				<param name="Start_Angle" type="4" value="0.000000"></param>
				<param name="End_Angle" type="4" value="0.000000"></param>
				<param name="Animated" type="11" value="true"></param>
				<param name="Seed" type="3" value="67890"></param>
				<param_ext name="Object_Name_Reference" type="31" value="Self"></param_ext>
				<portdef name="Object_Name" type="8192" structure="1" group="-1" instance="-1" port="-1"></portdef>
				<portdef name="Seed" type="2" structure="1" group="-1" instance="-1" port="-1"></portdef>
				<portdef name="Base_Vector" type="16" structure="1" group="-1" instance="-1" port="-1"></portdef>
				<portdef name="Animated" type="1" structure="1" group="-1" instance="-1" port="-1"></portdef>
				<portdef name="Start_Angle" type="4" structure="1" group="-1" instance="-1" port="-1"></portdef>
				<portdef name="End_Angle" type="4" structure="1" group="-1" instance="-1" port="-1"></portdef>
				<datablob category="ui_infos">
					<prop name="posx">596</prop>
					<prop name="posy">1322</prop>
					<prop name="state">Normal</prop>
				</datablob>
			</node>
			<node type="CompareNode" index="8">
				<param name="type" type="3" value="4"></param>
				<param name="epsilon" type="5" value="0.000000"></param>
				<param name="first" type="4" value="0.000000"></param>
				<param name="second" type="4" value="0.001000"></param>
				<portdef name="first" type="4" structure="1" group="0" instance="0" port="0"></portdef>
				<portdef name="second" type="4" structure="1" group="0" instance="0" port="1"></portdef>
				<datablob category="ui_infos">
					<prop name="posx">494</prop>
					<prop name="posy">1051</prop>
					<prop name="state">Normal</prop>
				</datablob>
			</node>
			<node type="PassThroughNode" index="9">
				<param name="in" type="4" value="0.000000"></param>
				<portdef name="in" type="4" structure="1" group="0" instance="0" port="0"></portdef>
				<datablob category="passthrough">
					<prop name="private">true</prop>
				</datablob>
				<datablob category="ui_infos">
					<prop name="posx">-645</prop>
					<prop name="posy">903</prop>
					<prop name="state">Normal</prop>
				</datablob>
			</node>
			<node type="[embedded_32]" index="10">
				<param name="Bounce_Factor" type="4" value="1.000000"></param>
				<param name="Surface_Velocity.Surface_Velocity_x" type="4" value="0.000000"></param>
				<param name="Surface_Velocity.Surface_Velocity_y" type="4" value="0.000000"></param>
				<param name="Surface_Velocity.Surface_Velocity_z" type="4" value="0.000000"></param>
				<param name="Surface_Normal.Surface_Normal_x" type="4" value="0.000000"></param>
				<param name="Surface_Normal.Surface_Normal_y" type="4" value="0.000000"></param>
				<param name="Surface_Normal.Surface_Normal_z" type="4" value="0.000000"></param>
				<param name="Particle_Velocity.Particle_Velocity_x" type="4" value="0.000000"></param>
				<param name="Particle_Velocity.Particle_Velocity_y" type="4" value="0.000000"></param>
				<param name="Particle_Velocity.Particle_Velocity_z" type="4" value="0.000000"></param>
				<param name="Geometric_Normal.Geometric_Normal_x" type="4" value="0.000000"></param>
				<param name="Geometric_Normal.Geometric_Normal_y" type="4" value="0.000000"></param>
				<param name="Geometric_Normal.Geometric_Normal_z" type="4" value="0.000000"></param>
				<param name="Friction" type="4" value="0.200000"></param>
				<portdef name="Friction" type="4" structure="1" group="-1" instance="-1" port="-1"></portdef>
				<portdef name="Surface_Velocity" type="16" structure="1" group="-1" instance="-1" port="-1"></portdef>
				<portdef name="Particle_Velocity" type="16" structure="1" group="-1" instance="-1" port="-1"></portdef>
				<portdef name="Surface_Normal" type="16" structure="1" group="-1" instance="-1" port="-1"></portdef>
				<portdef name="Bounce_Factor" type="4" structure="1" group="-1" instance="-1" port="-1"></portdef>
				<portdef name="Geometric_Normal" type="16" structure="1" group="-1" instance="-1" port="-1"></portdef>
				<datablob category="ui_infos">
					<prop name="posx">-178</prop>
					<prop name="posy">1206</prop>
					<prop name="state">Normal</prop>
				</datablob>
			</node>
			<node type="IfNode" index="11">
				<param name="condition" type="11" value="false"></param>
				<param name="iftrue.iftrue_x" type="4" value="0.000000"></param>
				<param name="iftrue.iftrue_y" type="4" value="0.000000"></param>
				<param name="iftrue.iftrue_z" type="4" value="0.000000"></param>
				<param name="iffalse.iffalse_x" type="4" value="0.000000"></param>
				<param name="iffalse.iffalse_y" type="4" value="0.000000"></param>
				<param name="iffalse.iffalse_z" type="4" value="0.000000"></param>
				<portdef name="condition" type="1" structure="1" group="0" instance="0" port="0"></portdef>
				<portdef name="iftrue" type="16" structure="1" group="0" instance="0" port="1"></portdef>
				<portdef name="iffalse" type="16" structure="1" group="0" instance="0" port="2"></portdef>
				<datablob category="ui_infos">
					<prop name="posx">820</prop>
					<prop name="posy">1164</prop>
					<prop name="state">Normal</prop>
				</datablob>
			</node>
			<node type="[embedded_33]" index="12">
				<param name="Reference" type="31" value="Self.PointVelocity"></param>
				<param name="Reference1" type="31" value="Self.__Hit"></param>
				<param name="Value.Value_x" type="4" value="0.000000"></param>
				<param name="Value.Value_y" type="4" value="0.000000"></param>
				<param name="Value.Value_z" type="4" value="0.000000"></param>
				<param name="Value1" type="11" value="false"></param>
				<param_ext name="Reference" type="31" value="Self.PointVelocity"></param_ext>
				<param_ext name="Reference1" type="31" value="Self.__Hit"></param_ext>
				<portdef name="Value" type="16" structure="1" group="2" instance="0" port="0" groupname="Value"></portdef>
				<portdef name="In_Name" type="8192" structure="1" group="-1" instance="-1" port="-1"></portdef>
				<portdef name="Value1" type="1" structure="1" group="2" instance="1" port="0" groupname="Value"></portdef>
				<datablob category="ui_infos">
					<prop name="posx">1241</prop>
					<prop name="posy">1098</prop>
					<prop name="state">Normal</prop>
				</datablob>
			</node>
			<node type="ClampNode" index="13">
				<param name="value" type="4" value="0.000000"></param>
				<param name="limit1" type="4" value="0.000000"></param>
				<param name="limit2" type="4" value="1.000000"></param>
				<portdef name="value" type="4" structure="1" group="0" instance="0" port="0"></portdef>
				<portdef name="limit1" type="4" structure="1" group="0" instance="0" port="1"></portdef>
				<portdef name="limit2" type="4" structure="1" group="0" instance="0" port="2"></portdef>
				<datablob category="ui_infos">
					<prop name="posx">88</prop>
					<prop name="posy">1410</prop>
					<prop name="state">Collapsed</prop>
				</datablob>
			</node>
			<node type="RescaleNode" index="14">
				<param name="value" type="4" value="0.000000"></param>
				<param name="sourcestart" type="4" value="0.000000"></param>
				<param name="sourceend" type="4" value="1.000000"></param>
				<param name="targetstart" type="4" value="0.000000"></param>
				<param name="targetend" type="4" value="1.000000"></param>
				<param name="clamp" type="11" value="false"></param>
				<portdef name="value" type="4" structure="1" group="0" instance="0" port="0"></portdef>
				<portdef name="sourcestart" type="4" structure="1" group="0" instance="0" port="1"></portdef>
				<portdef name="sourceend" type="4" structure="1" group="0" instance="0" port="2"></portdef>
				<portdef name="targetstart" type="4" structure="1" group="0" instance="0" port="3"></portdef>
				<portdef name="targetend" type="4" structure="1" group="0" instance="0" port="4"></portdef>
				<portdef name="clamp" type="1" structure="1" group="0" instance="0" port="5"></portdef>
				<datablob category="ui_infos">
					<prop name="posx">-826</prop>
					<prop name="posy">1456</prop>
					<prop name="state">Normal</prop>
				</datablob>
			</node>
			<node type="GetDataNode" index="15">
				<param name="reference" type="31" value="Self.__PreSimulateFrameFraction"></param>
				<param_ext name="reference" type="31" value="Self.__PreSimulateFrameFraction"></param_ext>
				<portdef name="source" type="2048" structure="1" group="1" instance="0" port="0"></portdef>
				<portdef name="inname" type="8192" structure="1" group="3" instance="0" port="0"></portdef>
				<datablob category="ui_infos">
					<prop name="posx">-1122</prop>
					<prop name="posy">1533</prop>
					<prop name="state">ConnectedOnly</prop>
				</datablob>
			</node>
			<node type="[embedded_34]" index="16">
				<datablob category="ui_infos">
					<prop name="posx">921</prop>
					<prop name="posy">1252</prop>
					<prop name="state">Normal</prop>
				</datablob>
			</node>
			<node type="GetAngleBetweenNode" index="17">
				<param name="first.first_x" type="4" value="1.000000"></param>
				<param name="first.first_y" type="4" value="0.000000"></param>
				<param name="first.first_z" type="4" value="0.000000"></param>
				<param name="second.second_x" type="4" value="1.000000"></param>
				<param name="second.second_y" type="4" value="0.000000"></param>
				<param name="second.second_z" type="4" value="0.000000"></param>
				<portdef name="first" type="16" structure="1" group="0" instance="0" port="0"></portdef>
				<portdef name="second" type="16" structure="1" group="0" instance="0" port="1"></portdef>
				<datablob category="ui_infos">
					<prop name="posx">82</prop>
					<prop name="posy">1308</prop>
					<prop name="state">Normal</prop>
				</datablob>
			</node>
			<node type="LinearInterpolateNode" index="18">
				<param name="first" type="4" value="0.000000"></param>
				<param name="second" type="4" value="0.000000"></param>
				<param name="blend" type="4" value="0.000000"></param>
				<param name="clamp" type="11" value="false"></param>
				<portdef name="first" type="4" structure="1" group="0" instance="0" port="0"></portdef>
				<portdef name="second" type="4" structure="1" group="0" instance="0" port="1"></portdef>
				<portdef name="blend" type="4" structure="1" group="0" instance="0" port="2"></portdef>
				<portdef name="clamp" type="1" structure="1" group="0" instance="0" port="3"></portdef>
				<datablob category="ui_infos">
					<prop name="posx">402</prop>
					<prop name="posy">1325</prop>
					<prop name="state">Normal</prop>
				</datablob>
			</node>
			<node type="SubtractNode" index="19">
				<param name="first" type="4" value="90.000000"></param>
				<param name="second" type="4" value="0.000000"></param>
				<portdef name="first" type="4" structure="1" group="0" instance="0" port="0"></portdef>
				<portdef name="second" type="4" structure="1" group="0" instance="0" port="1"></portdef>
				<datablob category="ui_infos">
					<prop name="posx">266</prop>
					<prop name="posy">1318</prop>
					<prop name="state">Normal</prop>
				</datablob>
			</node>
			<node type="LinearInterpolateNode" index="20">
				<param name="first.first_x" type="4" value="0.000000"></param>
				<param name="first.first_y" type="4" value="0.000000"></param>
				<param name="first.first_z" type="4" value="0.000000"></param>
				<param name="second.second_x" type="4" value="0.000000"></param>
				<param name="second.second_y" type="4" value="0.000000"></param>
				<param name="second.second_z" type="4" value="0.000000"></param>
				<param name="blend" type="4" value="0.000000"></param>
				<param name="clamp" type="11" value="false"></param>
				<portdef name="first" type="16" structure="1" group="0" instance="0" port="0"></portdef>
				<portdef name="second" type="16" structure="1" group="0" instance="0" port="1"></portdef>
				<portdef name="blend" type="4" structure="1" group="0" instance="0" port="2"></portdef>
				<portdef name="clamp" type="1" structure="1" group="0" instance="0" port="3"></portdef>
				<datablob category="ui_infos">
					<prop name="posx">-682</prop>
					<prop name="posy">1338</prop>
					<prop name="state">Normal</prop>
				</datablob>
			</node>
			<node type="GetDataNode" index="21">
				<param name="reference" type="31" value="SurfaceGeometricNormal"></param>
				<param_ext name="reference" type="31" value="SurfaceGeometricNormal"></param_ext>
				<portdef name="source" type="2048" structure="1" group="1" instance="0" port="0"></portdef>
				<portdef name="inname" type="8192" structure="1" group="3" instance="0" port="0"></portdef>
				<datablob category="ui_infos">
					<prop name="posx">-738</prop>
					<prop name="posy">1247</prop>
					<prop name="state">ConnectedOnly</prop>
				</datablob>
			</node>
			<node type="CombineLogicNode" index="22">
				<param name="type" type="3" value="0"></param>
				<param name="value1" type="11" value="true"></param>
				<param name="value2" type="11" value="true"></param>
				<portdef name="value1" type="1" structure="1" group="0" instance="0" port="0"></portdef>
				<portdef name="value2" type="1" structure="1" group="0" instance="1" port="0"></portdef>
				<datablob category="ui_infos">
					<prop name="posx">634</prop>
					<prop name="posy">1088</prop>
					<prop name="state">Normal</prop>
				</datablob>
			</node>
			<node type="NotNode" index="23">
				<param name="value" type="11" value="false"></param>
				<portdef name="value" type="1" structure="1" group="0" instance="0" port="0"></portdef>
				<datablob category="ui_infos">
					<prop name="posx">489</prop>
					<prop name="posy">1170</prop>
					<prop name="state">Normal</prop>
				</datablob>
			</node>
			<node type="[embedded_35]" index="24">
				<datablob category="ui_infos">
					<prop name="posx">-473</prop>
					<prop name="posy">1193</prop>
					<prop name="state">ConnectedOnly</prop>
				</datablob>
			</node>
			<node type="NegateNode" index="25">
				<param name="value.value_x" type="4" value="0.000000"></param>
				<param name="value.value_y" type="4" value="0.000000"></param>
				<param name="value.value_z" type="4" value="0.000000"></param>
				<portdef name="value" type="16" structure="1" group="0" instance="0" port="0"></portdef>
				<datablob category="ui_infos">
					<prop name="posx">-440</prop>
					<prop name="posy">1371</prop>
					<prop name="state">Normal</prop>
				</datablob>
			</node>
			<node type="IfNode" index="26">
				<param name="condition" type="11" value="false"></param>
				<param name="iftrue.iftrue_x" type="4" value="0.000000"></param>
				<param name="iftrue.iftrue_y" type="4" value="0.000000"></param>
				<param name="iftrue.iftrue_z" type="4" value="0.000000"></param>
				<param name="iffalse.iffalse_x" type="4" value="0.000000"></param>
				<param name="iffalse.iffalse_y" type="4" value="0.000000"></param>
				<param name="iffalse.iffalse_z" type="4" value="0.000000"></param>
				<portdef name="condition" type="1" structure="1" group="0" instance="0" port="0"></portdef>
				<portdef name="iftrue" type="16" structure="1" group="0" instance="0" port="1"></portdef>
				<portdef name="iffalse" type="16" structure="1" group="0" instance="0" port="2"></portdef>
				<datablob category="ui_infos">
					<prop name="posx">-295</prop>
					<prop name="posy">1314</prop>
					<prop name="state">Normal</prop>
				</datablob>
			</node>
			<node type="NegateNode" index="27">
				<param name="value.value_x" type="4" value="0.000000"></param>
				<param name="value.value_y" type="4" value="0.000000"></param>
				<param name="value.value_z" type="4" value="0.000000"></param>
				<portdef name="value" type="16" structure="1" group="0" instance="0" port="0"></portdef>
				<datablob category="ui_infos">
					<prop name="posx">-449</prop>
					<prop name="posy">1073</prop>
					<prop name="state">Normal</prop>
				</datablob>
			</node>
			<node type="IfNode" index="28">
				<param name="condition" type="11" value="false"></param>
				<param name="iftrue.iftrue_x" type="4" value="0.000000"></param>
				<param name="iftrue.iftrue_y" type="4" value="0.000000"></param>
				<param name="iftrue.iftrue_z" type="4" value="0.000000"></param>
				<param name="iffalse.iffalse_x" type="4" value="0.000000"></param>
				<param name="iffalse.iffalse_y" type="4" value="0.000000"></param>
				<param name="iffalse.iffalse_z" type="4" value="0.000000"></param>
				<portdef name="condition" type="1" structure="1" group="0" instance="0" port="0"></portdef>
				<portdef name="iftrue" type="16" structure="1" group="0" instance="0" port="1"></portdef>
				<portdef name="iffalse" type="16" structure="1" group="0" instance="0" port="2"></portdef>
				<datablob category="ui_infos">
					<prop name="posx">-316</prop>
					<prop name="posy">1006</prop>
					<prop name="state">Normal</prop>
				</datablob>
			</node>
			<comment type="group" state="maximized" wordwrap="true" autoresize="false" background="0" background_alpha="0.100000" title="14876671" title_text="0" offsetx="67" offsety="1267" sizex="769" sizey="225"><![CDATA[We randomize the vector arround a cone where the axis of the cone is the corect bounce andlge and the radious of the cone is somewhere between the maximum allowable error where particles would fall through the surface, and the no error.]]></comment>
			<comment type="group" state="maximized" wordwrap="false" autoresize="false" background="0" background_alpha="0.100000" title="14876671" title_text="0" offsetx="907" offsety="1209" sizex="283" sizey="124"><![CDATA[if an invalid collision happens, we exit the loop]]></comment>
		</nodes>
		<exposed_ports>
			<port index="9" portname="in" username="Randomness_Angle" basename="Randomness Angle" portlabel="Randomness Angle" exposetype="single"> </port>
			<port index="10" portname="Bounce_Factor" username="Bounce_Factor" basename="Bounce Factor" portlabel="Bounce Factor" exposetype="single"> </port>
			<port index="10" portname="Friction" username="Friction" basename="Friction" portlabel="Friction" exposetype="single"> </port>
			<port index="12" portname="Execute" username="Execute" basename="Execute" portlabel="Execute" exposetype="single"> </port>
		</exposed_ports>
		<connections>
			<cnx from_node="10" from_port="Result" to_node="11" to_port="iffalse"> </cnx>
			<cnx from_node="10" from_port="Result" to_node="17" to_port="first"> </cnx>
			<cnx from_node="10" from_port="Result" to_node="7" to_port="Base_Vector"> </cnx>
			<cnx from_node="10" from_port="Is_Sliding" to_node="23" to_port="value"> </cnx>
			<cnx from_node="4" from_port="Location" to_node="3" to_port="source"> </cnx>
			<cnx from_node="4" from_port="Normal" to_node="28" to_port="iftrue"> </cnx>
			<cnx from_node="4" from_port="Normal" to_node="27" to_port="value"> </cnx>
			<cnx from_node="4" from_port="Location" to_node="21" to_port="source"> </cnx>
			<cnx from_node="7" from_port="Vector" to_node="11" to_port="iftrue"> </cnx>
			<cnx from_node="2" from_port="result" to_node="12" to_port="Value1"> </cnx>
			<cnx from_node="11" from_port="result" to_node="5" to_port="value2"> </cnx>
			<cnx from_node="26" from_port="result" to_node="10" to_port="Geometric_Normal"> </cnx>
			<cnx from_node="28" from_port="result" to_node="10" to_port="Surface_Normal"> </cnx>
			<cnx from_node="28" from_port="result" to_node="17" to_port="second"> </cnx>
			<cnx from_node="0" from_port="value" to_node="20" to_port="first"> </cnx>
			<cnx from_node="1" from_port="value" to_node="14" to_port="value"> </cnx>
			<cnx from_node="3" from_port="value" to_node="10" to_port="Surface_Velocity"> </cnx>
			<cnx from_node="3" from_port="value" to_node="5" to_port="value1"> </cnx>
			<cnx from_node="6" from_port="value" to_node="20" to_port="second"> </cnx>
			<cnx from_node="15" from_port="value" to_node="14" to_port="sourcestart"> </cnx>
			<cnx from_node="8" from_port="result" to_node="22" to_port="value1"> </cnx>
			<cnx from_node="9" from_port="out" to_node="13" to_port="value"> </cnx>
			<cnx from_node="9" from_port="out" to_node="8" to_port="first"> </cnx>
			<cnx from_node="5" from_port="result" to_node="12" to_port="Value"> </cnx>
			<cnx from_node="16" from_port="Result" to_node="2" to_port="keep"> </cnx>
			<cnx from_node="24" from_port="Result" to_node="28" to_port="condition"> </cnx>
			<cnx from_node="24" from_port="Result" to_node="26" to_port="condition"> </cnx>
			<cnx from_node="13" from_port="result" to_node="18" to_port="blend"> </cnx>
			<cnx from_node="14" from_port="result" to_node="20" to_port="blend"> </cnx>
			<cnx from_node="17" from_port="angle" to_node="19" to_port="second"> </cnx>
			<cnx from_node="18" from_port="result" to_node="7" to_port="End_Angle"> </cnx>
			<cnx from_node="19" from_port="result" to_node="18" to_port="second"> </cnx>
			<cnx from_node="20" from_port="result" to_node="10" to_port="Particle_Velocity"> </cnx>
			<cnx from_node="22" from_port="result" to_node="11" to_port="condition"> </cnx>
			<cnx from_node="23" from_port="result" to_node="22" to_port="value2"> </cnx>
			<cnx from_node="21" from_port="value" to_node="26" to_port="iftrue"> </cnx>
			<cnx from_node="21" from_port="value" to_node="25" to_port="value"> </cnx>
			<cnx from_node="25" from_port="result" to_node="26" to_port="iffalse"> </cnx>
			<cnx from_node="27" from_port="result" to_node="28" to_port="iffalse"> </cnx>
		</connections>
		<layout>
			<item type="input" name="Bounce_Factor"> </item>
			<item type="input" name="Randomness_Angle" min="0" max="1"> </item>
			<item type="input" name="Friction"> </item>
			<item type="output" name="Execute"> </item>
		</layout>
	</embedded_24>
</xsi_file>
