<?xml version="1.0" encoding="iso-8859-1"?>
<xsi_file type="CompoundNode" name="Torus_Force" category="Particles" tasks="Particles/Forces" author="Vladimir Jankijevic" url="http://www.jankin.com" formatversion="1.4" compoundversion="1.0" constructionmode="Simulation" backgroundcolor="1467068">
	<description><![CDATA[this force takes a torus as input and rotates the particles around it.]]></description>
	<definition>
		<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">-1271</prop>
					<prop name="posy">161</prop>
					<prop name="state">ConnectedOnly</prop>
				</datablob>
			</node>
			<node type="ScalarTo3DVectorNode" index="1">
				<param name="x" type="4" value="0.000000"></param>
				<param name="y" type="4" value="0.000000"></param>
				<param name="z" type="4" value="1.000000"></param>
				<portdef name="x" type="4" structure="1" group="0" instance="0" port="0"></portdef>
				<portdef name="y" type="4" structure="1" group="0" instance="0" port="1"></portdef>
				<portdef name="z" type="4" structure="1" group="0" instance="0" port="2"></portdef>
				<datablob category="ui_infos">
					<prop name="posx">-797</prop>
					<prop name="posy">-145</prop>
					<prop name="state">Normal</prop>
				</datablob>
			</node>
			<node type="MultiplyByScalarNode" index="2">
				<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">103</prop>
					<prop name="posy">-5</prop>
					<prop name="state">Normal</prop>
				</datablob>
			</node>
			<node type="GetDataNode" index="3">
				<param name="reference" type="31" value="PolygonRefFrame"></param>
				<param_ext name="reference" type="31" value="PolygonRefFrame"></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">-821</prop>
					<prop name="posy">-5</prop>
					<prop name="state">Normal</prop>
				</datablob>
			</node>
			<node type="GetClosestLocationNode" index="4">
				<param name="proximitymethod" type="3" value="0"></param>
				<param name="position.position_x" type="4" value="0.000000"></param>
				<param name="position.position_y" type="4" value="0.000000"></param>
				<param name="position.position_z" type="4" value="0.000000"></param>
				<param name="enablecutoffdistance" type="11" value="false"></param>
				<param name="cutoffdistance" type="4" value="0.000000"></param>
				<portdef name="geometry" type="1024" structure="1" group="0" instance="0" port="0"></portdef>
				<portdef name="position" type="16" structure="1" group="0" instance="0" port="1"></portdef>
				<portdef name="enablecutoffdistance" type="1" structure="1" group="0" instance="0" port="2"></portdef>
				<portdef name="cutoffdistance" type="4" structure="1" group="0" instance="0" port="3"></portdef>
				<datablob category="ui_infos">
					<prop name="posx">-1042</prop>
					<prop name="posy">128</prop>
					<prop name="state">Normal</prop>
				</datablob>
			</node>
			<node type="NegateNode" 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>
				<portdef name="value" type="16" structure="1" group="0" instance="0" port="0"></portdef>
				<datablob category="ui_infos">
					<prop name="posx">-573</prop>
					<prop name="posy">145</prop>
					<prop name="state">Normal</prop>
				</datablob>
			</node>
			<node type="RotateVectorNode" index="6">
				<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">-442</prop>
					<prop name="posy">-10</prop>
					<prop name="state">Normal</prop>
				</datablob>
			</node>
			<node type="MatrixToSRTNode" index="7">
				<param name="matrix.matrix_00" type="4" value="1.000000"></param>
				<param name="matrix.matrix_01" type="4" value="0.000000"></param>
				<param name="matrix.matrix_02" type="4" value="0.000000"></param>
				<param name="matrix.matrix_10" type="4" value="0.000000"></param>
				<param name="matrix.matrix_11" type="4" value="1.000000"></param>
				<param name="matrix.matrix_12" type="4" value="0.000000"></param>
				<param name="matrix.matrix_20" type="4" value="0.000000"></param>
				<param name="matrix.matrix_21" type="4" value="0.000000"></param>
				<param name="matrix.matrix_22" type="4" value="1.000000"></param>
				<portdef name="matrix" type="128" structure="1" group="0" instance="0" port="0"></portdef>
				<datablob category="ui_infos">
					<prop name="posx">-618</prop>
					<prop name="posy">13</prop>
					<prop name="state">Normal</prop>
				</datablob>
			</node>
			<node type="NormalizeNode" index="8">
				<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">-35</prop>
					<prop name="posy">-39</prop>
					<prop name="state">Normal</prop>
				</datablob>
			</node>
			<node type="AddNode" index="9">
				<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">-222</prop>
					<prop name="posy">-5</prop>
					<prop name="state">Normal</prop>
				</datablob>
			</node>
			<node type="ScalarNode" index="10">
				<param name="value" type="4" value="1.000000"></param>
				<portdef name="value" type="4" structure="1" group="0" instance="0" port="0"></portdef>
				<datablob category="ui_infos">
					<prop name="posx">-827</prop>
					<prop name="posy">506</prop>
					<prop name="state">Normal</prop>
				</datablob>
			</node>
			<node type="NormalizeNode" index="11">
				<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">-578</prop>
					<prop name="posy">-99</prop>
					<prop name="state">Normal</prop>
				</datablob>
			</node>
			<node type="Set Data" version="1.0" index="12">
				<param name="Reference" type="31" value="self.pointvelocity"></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.pointvelocity"></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">285</prop>
					<prop name="posy">-25</prop>
					<prop name="state">Normal</prop>
				</datablob>
			</node>
			<node type="GetDataNode" index="13">
				<param name="reference" type="31" value="PointNormal"></param>
				<param_ext name="reference" type="31" value="PointNormal"></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">-771</prop>
					<prop name="posy">180</prop>
					<prop name="state">ConnectedOnly</prop>
				</datablob>
			</node>
			<node type="MultiplyByScalarNode" index="14">
				<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.020000"></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">-423</prop>
					<prop name="posy">121</prop>
					<prop name="state">Normal</prop>
				</datablob>
			</node>
			<node type="MultiplyByScalarNode" index="15">
				<param name="value" type="4" value="0.000000"></param>
				<param name="factor" type="4" value="0.020000"></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">-723</prop>
					<prop name="posy">361</prop>
					<prop name="state">Normal</prop>
				</datablob>
			</node>
		</nodes>
		<exposed_ports>
			<port index="1" portname="z" username="drill" basename="drill" portlabel="drill" exposetype="single"> </port>
			<port index="1" portname="x" username="vortex" basename="vortex" portlabel="vortex" exposetype="single"> </port>
			<port index="4" portname="geometry" username="geometry" basename="geometry" portlabel="geometry" exposetype="single"> </port>
			<port index="10" portname="value" username="speed" basename="speed" portlabel="speed" exposetype="single"> </port>
			<port index="12" portname="Execute" username="Execute" basename="Execute" portlabel="Execute" exposetype="single"> </port>
		</exposed_ports>
		<connections>
			<cnx from_node="5" from_port="result" to_node="14" to_port="value"> </cnx>
			<cnx from_node="7" from_port="rotation" to_node="6" to_port="rotation"> </cnx>
			<cnx from_node="6" from_port="result" to_node="9" to_port="value1"> </cnx>
			<cnx from_node="11" from_port="result" to_node="6" to_port="vector"> </cnx>
			<cnx from_node="10" from_port="result" to_node="15" to_port="value"> </cnx>
			<cnx from_node="10" from_port="result" to_node="2" to_port="factor"> </cnx>
			<cnx from_node="9" from_port="result" to_node="8" to_port="vector"> </cnx>
			<cnx from_node="8" from_port="result" to_node="2" to_port="value"> </cnx>
			<cnx from_node="13" from_port="value" to_node="5" to_port="value"> </cnx>
			<cnx from_node="3" from_port="value" to_node="7" to_port="matrix"> </cnx>
			<cnx from_node="4" from_port="location" to_node="13" to_port="source"> </cnx>
			<cnx from_node="4" from_port="location" to_node="3" to_port="source"> </cnx>
			<cnx from_node="2" from_port="result" to_node="12" to_port="Value"> </cnx>
			<cnx from_node="1" from_port="vector" to_node="11" to_port="vector"> </cnx>
			<cnx from_node="0" from_port="value" to_node="4" to_port="position"> </cnx>
			<cnx from_node="15" from_port="result" to_node="14" to_port="factor"> </cnx>
			<cnx from_node="14" from_port="result" to_node="9" to_port="value2"> </cnx>
		</connections>
		<layout>
			<item type="input" name="geometry"> </item>
			<item type="input" name="speed" min="-5" max="5"> </item>
			<item type="input" name="drill" min="0" max="1"> </item>
			<item type="input" name="vortex" min="0" max="1"> </item>
			<item type="output" name="Execute"> </item>
		</layout>
	</definition>
</xsi_file>
