<?xml version="1.0" encoding="iso-8859-1"?>
<xsi_file type="CompoundNode" name="JV_Caustics" category="JV Tools" tasks="JV Tools/Simulation" author="Vladimir Jankijevic" url="http://www.jankin.com" formatversion="1.4" compoundversion="1.0" versiontag="" backgroundcolor="1285353">
	<description><![CDATA[This is a compound to simulate some simple caustic effects in ICE.

Get a Grid Pointcloud and a Grid polymesh and a deformed water surface. Place the pointcloud and the poly grid on the same level and the water above them. Apply the Compound to the pointcloud and connect the others appropriately. Voila]]></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">1640</prop>
					<prop name="posy">-374</prop>
					<prop name="state">Normal</prop>
				</datablob>
			</node>
			<node type="GetDataNode" index="1">
				<param name="reference" type="31" value="self.orignalPointPosition"></param>
				<param_ext name="reference" type="31" value="self.orignalPointPosition"></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">1606</prop>
					<prop name="posy">184</prop>
					<prop name="state">Normal</prop>
				</datablob>
			</node>
			<node type="IfNode" index="2">
				<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">2112</prop>
					<prop name="posy">45</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>
				<datablob category="ui_infos">
					<prop name="posx">2207</prop>
					<prop name="posy">-191</prop>
					<prop name="state">Normal</prop>
				</datablob>
			</node>
			<node type="[embedded_0]" index="4">
				<param name="Gradient.interp" type="3" value="1"></param>
				<param name="Gradient.color1.r" type="5" value="0.112455"></param>
				<param name="Gradient.color1.g" type="5" value="0.140394"></param>
				<param name="Gradient.color1.b" type="5" value="0.255000"></param>
				<param name="Gradient.color1.a" type="5" value="1.000000"></param>
				<param name="Gradient.pos1" type="5" value="0.007435"></param>
				<param name="Gradient.mid1" type="5" value="0.576779"></param>
				<param name="Gradient.color2.r" type="5" value="1.000000"></param>
				<param name="Gradient.color2.g" type="5" value="1.000000"></param>
				<param name="Gradient.color2.b" type="5" value="1.000000"></param>
				<param name="Gradient.color2.a" type="5" value="1.000000"></param>
				<param name="Gradient.pos2" type="5" value="1.000000"></param>
				<param name="Gradient.mid2" type="5" value="0.500000"></param>
				<param name="Gradient.color3.r" type="5" value="0.000000"></param>
				<param name="Gradient.color3.g" type="5" value="0.000000"></param>
				<param name="Gradient.color3.b" type="5" value="0.000000"></param>
				<param name="Gradient.color3.a" type="5" value="0.000000"></param>
				<param name="Gradient.pos3" type="5" value="-1.000000"></param>
				<param name="Gradient.mid3" type="5" value="0.500000"></param>
				<param name="Gradient.color4.r" type="5" value="0.000000"></param>
				<param name="Gradient.color4.g" type="5" value="0.000000"></param>
				<param name="Gradient.color4.b" type="5" value="0.000000"></param>
				<param name="Gradient.color4.a" type="5" value="0.000000"></param>
				<param name="Gradient.pos4" type="5" value="-1.000000"></param>
				<param name="Gradient.mid4" type="5" value="0.500000"></param>
				<param name="Gradient.color5.r" type="5" value="0.000000"></param>
				<param name="Gradient.color5.g" type="5" value="0.000000"></param>
				<param name="Gradient.color5.b" type="5" value="0.000000"></param>
				<param name="Gradient.color5.a" type="5" value="0.000000"></param>
				<param name="Gradient.pos5" type="5" value="-1.000000"></param>
				<param name="Gradient.mid5" type="5" value="0.500000"></param>
				<param name="Gradient.color6.r" type="5" value="0.000000"></param>
				<param name="Gradient.color6.g" type="5" value="0.000000"></param>
				<param name="Gradient.color6.b" type="5" value="0.000000"></param>
				<param name="Gradient.color6.a" type="5" value="0.000000"></param>
				<param name="Gradient.pos6" type="5" value="-1.000000"></param>
				<param name="Gradient.mid6" type="5" value="0.500000"></param>
				<param name="Gradient.color7.r" type="5" value="0.000000"></param>
				<param name="Gradient.color7.g" type="5" value="0.000000"></param>
				<param name="Gradient.color7.b" type="5" value="0.000000"></param>
				<param name="Gradient.color7.a" type="5" value="0.000000"></param>
				<param name="Gradient.pos7" type="5" value="-1.000000"></param>
				<param name="Gradient.mid7" type="5" value="0.500000"></param>
				<param name="Gradient.color8.r" type="5" value="0.000000"></param>
				<param name="Gradient.color8.g" type="5" value="0.000000"></param>
				<param name="Gradient.color8.b" type="5" value="0.000000"></param>
				<param name="Gradient.color8.a" type="5" value="0.000000"></param>
				<param name="Gradient.pos8" type="5" value="-1.000000"></param>
				<param name="Gradient.mid8" type="5" value="0.500000"></param>
				<param name="Gradient.color9.r" type="5" value="0.000000"></param>
				<param name="Gradient.color9.g" type="5" value="0.000000"></param>
				<param name="Gradient.color9.b" type="5" value="0.000000"></param>
				<param name="Gradient.color9.a" type="5" value="0.000000"></param>
				<param name="Gradient.pos9" type="5" value="-1.000000"></param>
				<param name="Gradient.mid9" type="5" value="0.500000"></param>
				<param name="Gradient.color10.r" type="5" value="0.000000"></param>
				<param name="Gradient.color10.g" type="5" value="0.000000"></param>
				<param name="Gradient.color10.b" type="5" value="0.000000"></param>
				<param name="Gradient.color10.a" type="5" value="0.000000"></param>
				<param name="Gradient.pos10" type="5" value="-1.000000"></param>
				<param name="Gradient.mid10" type="5" value="0.500000"></param>
				<param name="Gradient.color11.r" type="5" value="0.000000"></param>
				<param name="Gradient.color11.g" type="5" value="0.000000"></param>
				<param name="Gradient.color11.b" type="5" value="0.000000"></param>
				<param name="Gradient.color11.a" type="5" value="0.000000"></param>
				<param name="Gradient.pos11" type="5" value="-1.000000"></param>
				<param name="Gradient.mid11" type="5" value="0.500000"></param>
				<param name="Gradient.color12.r" type="5" value="0.000000"></param>
				<param name="Gradient.color12.g" type="5" value="0.000000"></param>
				<param name="Gradient.color12.b" type="5" value="0.000000"></param>
				<param name="Gradient.color12.a" type="5" value="0.000000"></param>
				<param name="Gradient.pos12" type="5" value="-1.000000"></param>
				<param name="Gradient.mid12" type="5" value="0.500000"></param>
				<param name="Gradient.color13.r" type="5" value="0.000000"></param>
				<param name="Gradient.color13.g" type="5" value="0.000000"></param>
				<param name="Gradient.color13.b" type="5" value="0.000000"></param>
				<param name="Gradient.color13.a" type="5" value="0.000000"></param>
				<param name="Gradient.pos13" type="5" value="-1.000000"></param>
				<param name="Gradient.mid13" type="5" value="0.500000"></param>
				<param name="Gradient.color14.r" type="5" value="0.000000"></param>
				<param name="Gradient.color14.g" type="5" value="0.000000"></param>
				<param name="Gradient.color14.b" type="5" value="0.000000"></param>
				<param name="Gradient.color14.a" type="5" value="0.000000"></param>
				<param name="Gradient.pos14" type="5" value="-1.000000"></param>
				<param name="Gradient.mid14" type="5" value="0.500000"></param>
				<param name="Gradient.color15.r" type="5" value="0.000000"></param>
				<param name="Gradient.color15.g" type="5" value="0.000000"></param>
				<param name="Gradient.color15.b" type="5" value="0.000000"></param>
				<param name="Gradient.color15.a" type="5" value="0.000000"></param>
				<param name="Gradient.pos15" type="5" value="-1.000000"></param>
				<param name="Gradient.mid15" type="5" value="0.500000"></param>
				<param name="Gradient.color16.r" type="5" value="0.000000"></param>
				<param name="Gradient.color16.g" type="5" value="0.000000"></param>
				<param name="Gradient.color16.b" type="5" value="0.000000"></param>
				<param name="Gradient.color16.a" type="5" value="0.000000"></param>
				<param name="Gradient.pos16" type="5" value="-1.000000"></param>
				<param name="Gradient.mid16" type="5" value="0.500000"></param>
				<param name="Filter" type="4" value="0.300000"></param>
				<param name="Intensity" type="4" value="1.000000"></param>
				<portdef name="Intensity" type="4" structure="1" group="-1" instance="-1" port="-1"></portdef>
				<portdef name="Filter" type="4" structure="1" group="-1" instance="-1" port="-1"></portdef>
				<datablob category="ui_infos">
					<prop name="posx">1818</prop>
					<prop name="posy">-9</prop>
					<prop name="state">Normal</prop>
				</datablob>
			</node>
			<node type="[embedded_1]" index="5">
				<param name="index_air" type="4" value="1.000000"></param>
				<param name="index_water" type="4" value="1.330000"></param>
				<portdef name="water" type="1024" structure="1" group="-1" instance="-1" port="-1"></portdef>
				<portdef name="index_air" type="4" structure="1" group="-1" instance="-1" port="-1"></portdef>
				<portdef name="index_water" type="4" structure="1" group="-1" instance="-1" port="-1"></portdef>
				<portdef name="ground" type="1024" structure="1" group="-1" instance="-1" port="-1"></portdef>
				<datablob category="ui_infos">
					<prop name="posx">1813</prop>
					<prop name="posy">-174</prop>
					<prop name="state">Normal</prop>
				</datablob>
			</node>
			<node type="SetOneDataNode" index="6">
				<param name="reference" type="31" value="self.orignalPointPosition"></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.orignalPointPosition"></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">1853</prop>
					<prop name="posy">-370</prop>
					<prop name="state">Normal</prop>
				</datablob>
			</node>
			<node type="SetOneDataNode" index="7">
				<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">1849</prop>
					<prop name="posy">145</prop>
					<prop name="state">Normal</prop>
				</datablob>
			</node>
		</nodes>
		<exposed_ports>
			<port index="2" portname="condition" username="Visible_Caustics" basename="Visible Caustics" portlabel="Visible Caustics" exposetype="single"> </port>
			<port index="3" portname="execute" username="Execute" basename="Execute" portlabel="Execute" exposetype="single"> </port>
			<port index="4" portname="Filter" username="Filter" basename="Filter" portlabel="Filter" exposetype="single"> </port>
			<port index="4" portname="Intensity" username="Intensity" basename="Intensity" portlabel="Intensity" exposetype="single"> </port>
			<port index="4" portname="Gradient" username="Gradient" basename="Gradient" portlabel="Gradient" exposetype="single"> </port>
			<port index="5" portname="water" username="Water" basename="Water" portlabel="Water" exposetype="single"> </port>
			<port index="5" portname="ground" username="Ground" basename="Ground" portlabel="Ground" exposetype="single"> </port>
			<port index="5" portname="index_air" username="Index_Air" basename="Index Air" portlabel="Index Air" exposetype="single"> </port>
			<port index="5" portname="index_water" username="Index_Water" basename="Index Water" portlabel="Index Water" exposetype="single"> </port>
		</exposed_ports>
		<connections>
			<cnx from_node="2" from_port="result" to_node="3" to_port="port4"> </cnx>
			<cnx from_node="0" from_port="value" to_node="6" to_port="source"> </cnx>
			<cnx from_node="1" from_port="value" to_node="7" to_port="source"> </cnx>
			<cnx from_node="4" from_port="value" to_node="3" to_port="port3"> </cnx>
			<cnx from_node="5" from_port="Value" to_node="3" to_port="port2"> </cnx>
			<cnx from_node="6" from_port="value" to_node="3" to_port="port1"> </cnx>
			<cnx from_node="7" from_port="value" to_node="2" to_port="iffalse"> </cnx>
		</connections>
		<layout>
			<item type="input" name="Visible_Caustics" min="0" max="0"> </item>
			<item type="input" name="Water"> </item>
			<item type="input" name="Ground"> </item>
			<item type="input" name="Index_Air" min="0.1" max="3"> </item>
			<item type="input" name="Index_Water" min="0.1" max="3"> </item>
			<item type="input" name="Filter" min=".01" max="1"> </item>
			<item type="input" name="Intensity" min="0" max="5"> </item>
			<item type="input" name="Gradient"> </item>
			<item type="output" name="Execute"> </item>
		</layout>
	</definition>
	<embedded_0 name="CausticPaint" formatversion="1.4" compoundversion="1.0">
		<nodes>
			<node type="GetArraySizeNode" index="0">
				<portdef name="array" type="2048" structure="2" group="0" instance="0" port="0"></portdef>
				<datablob category="ui_infos">
					<prop name="posx">245</prop>
					<prop name="posy">131</prop>
					<prop name="state">Normal</prop>
				</datablob>
			</node>
			<node type="IntegerToScalarNode" index="1">
				<param name="integer" type="3" value="0"></param>
				<portdef name="integer" type="2" structure="1" group="0" instance="0" port="0"></portdef>
				<datablob category="ui_infos">
					<prop name="posx">1187</prop>
					<prop name="posy">254</prop>
					<prop name="state">Normal</prop>
				</datablob>
			</node>
			<node type="GetArraySizeNode" index="2">
				<param name="array" type="3" value="0"></param>
				<portdef name="array" type="2" structure="2" group="0" instance="0" port="0"></portdef>
				<datablob category="ui_infos">
					<prop name="posx">810</prop>
					<prop name="posy">265</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">527</prop>
					<prop name="posy">230</prop>
					<prop name="state">Normal</prop>
				</datablob>
			</node>
			<node type="ScalarNode" index="4">
				<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">1079</prop>
					<prop name="posy">442</prop>
					<prop name="state">ConnectedOnly</prop>
				</datablob>
			</node>
			<node type="CompareNode" index="5">
				<param name="type" type="3" value="0"></param>
				<param name="epsilon" type="5" value="0.000100"></param>
				<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="2" group="0" instance="0" port="0"></portdef>
				<portdef name="second" type="16" structure="2" group="0" instance="0" port="1"></portdef>
				<datablob category="ui_infos">
					<prop name="posx">510</prop>
					<prop name="posy">313</prop>
					<prop name="state">Normal</prop>
				</datablob>
			</node>
			<node type="ScalarNode" index="6">
				<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">704</prop>
					<prop name="posy">659</prop>
					<prop name="state">Normal</prop>
				</datablob>
			</node>
			<node type="SetOneDataNode" index="7">
				<param name="reference" type="31" value="self.Color"></param>
				<param name="source.source_red" type="4" value="0.000000"></param>
				<param name="source.source_green" type="4" value="0.000000"></param>
				<param name="source.source_blue" type="4" value="0.000000"></param>
				<param name="source.source_alpha" type="4" value="1.000000"></param>
				<param_ext name="reference" type="31" value="self.Color"></param_ext>
				<portdef name="source" type="512" 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">1716</prop>
					<prop name="posy">241</prop>
					<prop name="state">Normal</prop>
				</datablob>
			</node>
			<node type="DivideByScalarNode" index="8">
				<param name="value" type="4" value="0.000000"></param>
				<param name="divideby" type="4" value="1000.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">1005</prop>
					<prop name="posy">523</prop>
					<prop name="state">Normal</prop>
				</datablob>
			</node>
			<node type="MultiplyByScalarNode" index="9">
				<param name="value" type="4" value="0.000000"></param>
				<param name="factor" type="4" value="0.100000"></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">1350</prop>
					<prop name="posy">338</prop>
					<prop name="state">Normal</prop>
				</datablob>
			</node>
			<node type="GetDataNode" index="10">
				<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">-302</prop>
					<prop name="posy">228</prop>
					<prop name="state">Normal</prop>
				</datablob>
			</node>
			<node type="GetDataNode" index="11">
				<param name="reference" type="31" value="self.NbPoints"></param>
				<param_ext name="reference" type="31" value="self.NbPoints"></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">631</prop>
					<prop name="posy">532</prop>
					<prop name="state">Normal</prop>
				</datablob>
			</node>
			<node type="GetDataNode" index="12">
				<param name="reference" type="31" value="orignalPointPosition"></param>
				<param_ext name="reference" type="31" value="orignalPointPosition"></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">-203</prop>
					<prop name="posy">393</prop>
					<prop name="state">Normal</prop>
				</datablob>
			</node>
			<node type="DivideByScalarNode" index="13">
				<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">1169</prop>
					<prop name="posy">442</prop>
					<prop name="state">Normal</prop>
				</datablob>
			</node>
			<node type="FindInArrayNode" index="14">
				<param name="value" type="11" value="true"></param>
				<param name="array" type="11" value="false"></param>
				<param name="epsilon" type="4" value="0.000000"></param>
				<portdef name="value" type="1" structure="1" group="0" instance="0" port="0"></portdef>
				<portdef name="array" type="1" structure="2" 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">637</prop>
					<prop name="posy">284</prop>
					<prop name="state">Normal</prop>
				</datablob>
			</node>
			<node type="ScalarNode" index="15">
				<param name="value" type="4" value="0.300000"></param>
				<portdef name="value" type="4" structure="1" group="0" instance="0" port="0"></portdef>
				<datablob category="ui_infos">
					<prop name="posx">-62</prop>
					<prop name="posy">554</prop>
					<prop name="state">Normal</prop>
				</datablob>
			</node>
			<node type="ScalarNode" index="16">
				<param name="value" type="4" value="1000.000000"></param>
				<portdef name="value" type="4" structure="1" group="0" instance="0" port="0"></portdef>
				<datablob category="ui_infos">
					<prop name="posx">695</prop>
					<prop name="posy">733</prop>
					<prop name="state">Normal</prop>
				</datablob>
			</node>
			<node type="IntegerToScalarNode" index="17">
				<param name="integer" type="3" value="0"></param>
				<portdef name="integer" type="2" structure="1" group="0" instance="0" port="0"></portdef>
				<datablob category="ui_infos">
					<prop name="posx">819</prop>
					<prop name="posy">516</prop>
					<prop name="state">Normal</prop>
				</datablob>
			</node>
			<node type="MultiplyByScalarNode" index="18">
				<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">830</prop>
					<prop name="posy">628</prop>
					<prop name="state">Normal</prop>
				</datablob>
			</node>
			<node type="GradientNode" index="19">
				<param name="gradient.interp" type="3" value="1"></param>
				<param name="gradient.color1.r" type="5" value="0.112455"></param>
				<param name="gradient.color1.g" type="5" value="0.140394"></param>
				<param name="gradient.color1.b" type="5" value="0.255000"></param>
				<param name="gradient.color1.a" type="5" value="1.000000"></param>
				<param name="gradient.pos1" type="5" value="0.007435"></param>
				<param name="gradient.mid1" type="5" value="0.576779"></param>
				<param name="gradient.color2.r" type="5" value="1.000000"></param>
				<param name="gradient.color2.g" type="5" value="1.000000"></param>
				<param name="gradient.color2.b" type="5" value="1.000000"></param>
				<param name="gradient.color2.a" type="5" value="1.000000"></param>
				<param name="gradient.pos2" type="5" value="1.000000"></param>
				<param name="gradient.mid2" type="5" value="0.500000"></param>
				<param name="gradient.color3.r" type="5" value="0.000000"></param>
				<param name="gradient.color3.g" type="5" value="0.000000"></param>
				<param name="gradient.color3.b" type="5" value="0.000000"></param>
				<param name="gradient.color3.a" type="5" value="0.000000"></param>
				<param name="gradient.pos3" type="5" value="-1.000000"></param>
				<param name="gradient.mid3" type="5" value="0.500000"></param>
				<param name="gradient.color4.r" type="5" value="0.000000"></param>
				<param name="gradient.color4.g" type="5" value="0.000000"></param>
				<param name="gradient.color4.b" type="5" value="0.000000"></param>
				<param name="gradient.color4.a" type="5" value="0.000000"></param>
				<param name="gradient.pos4" type="5" value="-1.000000"></param>
				<param name="gradient.mid4" type="5" value="0.500000"></param>
				<param name="gradient.color5.r" type="5" value="0.000000"></param>
				<param name="gradient.color5.g" type="5" value="0.000000"></param>
				<param name="gradient.color5.b" type="5" value="0.000000"></param>
				<param name="gradient.color5.a" type="5" value="0.000000"></param>
				<param name="gradient.pos5" type="5" value="-1.000000"></param>
				<param name="gradient.mid5" type="5" value="0.500000"></param>
				<param name="gradient.color6.r" type="5" value="0.000000"></param>
				<param name="gradient.color6.g" type="5" value="0.000000"></param>
				<param name="gradient.color6.b" type="5" value="0.000000"></param>
				<param name="gradient.color6.a" type="5" value="0.000000"></param>
				<param name="gradient.pos6" type="5" value="-1.000000"></param>
				<param name="gradient.mid6" type="5" value="0.500000"></param>
				<param name="gradient.color7.r" type="5" value="0.000000"></param>
				<param name="gradient.color7.g" type="5" value="0.000000"></param>
				<param name="gradient.color7.b" type="5" value="0.000000"></param>
				<param name="gradient.color7.a" type="5" value="0.000000"></param>
				<param name="gradient.pos7" type="5" value="-1.000000"></param>
				<param name="gradient.mid7" type="5" value="0.500000"></param>
				<param name="gradient.color8.r" type="5" value="0.000000"></param>
				<param name="gradient.color8.g" type="5" value="0.000000"></param>
				<param name="gradient.color8.b" type="5" value="0.000000"></param>
				<param name="gradient.color8.a" type="5" value="0.000000"></param>
				<param name="gradient.pos8" type="5" value="-1.000000"></param>
				<param name="gradient.mid8" type="5" value="0.500000"></param>
				<param name="gradient.color9.r" type="5" value="0.000000"></param>
				<param name="gradient.color9.g" type="5" value="0.000000"></param>
				<param name="gradient.color9.b" type="5" value="0.000000"></param>
				<param name="gradient.color9.a" type="5" value="0.000000"></param>
				<param name="gradient.pos9" type="5" value="-1.000000"></param>
				<param name="gradient.mid9" type="5" value="0.500000"></param>
				<param name="gradient.color10.r" type="5" value="0.000000"></param>
				<param name="gradient.color10.g" type="5" value="0.000000"></param>
				<param name="gradient.color10.b" type="5" value="0.000000"></param>
				<param name="gradient.color10.a" type="5" value="0.000000"></param>
				<param name="gradient.pos10" type="5" value="-1.000000"></param>
				<param name="gradient.mid10" type="5" value="0.500000"></param>
				<param name="gradient.color11.r" type="5" value="0.000000"></param>
				<param name="gradient.color11.g" type="5" value="0.000000"></param>
				<param name="gradient.color11.b" type="5" value="0.000000"></param>
				<param name="gradient.color11.a" type="5" value="0.000000"></param>
				<param name="gradient.pos11" type="5" value="-1.000000"></param>
				<param name="gradient.mid11" type="5" value="0.500000"></param>
				<param name="gradient.color12.r" type="5" value="0.000000"></param>
				<param name="gradient.color12.g" type="5" value="0.000000"></param>
				<param name="gradient.color12.b" type="5" value="0.000000"></param>
				<param name="gradient.color12.a" type="5" value="0.000000"></param>
				<param name="gradient.pos12" type="5" value="-1.000000"></param>
				<param name="gradient.mid12" type="5" value="0.500000"></param>
				<param name="gradient.color13.r" type="5" value="0.000000"></param>
				<param name="gradient.color13.g" type="5" value="0.000000"></param>
				<param name="gradient.color13.b" type="5" value="0.000000"></param>
				<param name="gradient.color13.a" type="5" value="0.000000"></param>
				<param name="gradient.pos13" type="5" value="-1.000000"></param>
				<param name="gradient.mid13" type="5" value="0.500000"></param>
				<param name="gradient.color14.r" type="5" value="0.000000"></param>
				<param name="gradient.color14.g" type="5" value="0.000000"></param>
				<param name="gradient.color14.b" type="5" value="0.000000"></param>
				<param name="gradient.color14.a" type="5" value="0.000000"></param>
				<param name="gradient.pos14" type="5" value="-1.000000"></param>
				<param name="gradient.mid14" type="5" value="0.500000"></param>
				<param name="gradient.color15.r" type="5" value="0.000000"></param>
				<param name="gradient.color15.g" type="5" value="0.000000"></param>
				<param name="gradient.color15.b" type="5" value="0.000000"></param>
				<param name="gradient.color15.a" type="5" value="0.000000"></param>
				<param name="gradient.pos15" type="5" value="-1.000000"></param>
				<param name="gradient.mid15" type="5" value="0.500000"></param>
				<param name="gradient.color16.r" type="5" value="0.000000"></param>
				<param name="gradient.color16.g" type="5" value="0.000000"></param>
				<param name="gradient.color16.b" type="5" value="0.000000"></param>
				<param name="gradient.color16.a" type="5" value="0.000000"></param>
				<param name="gradient.pos16" type="5" value="-1.000000"></param>
				<param name="gradient.mid16" type="5" value="0.500000"></param>
				<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">1537</prop>
					<prop name="posy">324</prop>
					<prop name="state">Normal</prop>
				</datablob>
			</node>
			<node type="SubtractNode" index="20">
				<param name="first" type="3" value="0"></param>
				<param name="second" type="3" value="0"></param>
				<portdef name="first" type="2" structure="1" group="0" instance="0" port="0"></portdef>
				<portdef name="second" type="2" structure="1" group="0" instance="0" port="1"></portdef>
				<datablob category="ui_infos">
					<prop name="posx">979</prop>
					<prop name="posy">205</prop>
					<prop name="state">Normal</prop>
				</datablob>
			</node>
			<node type="GetClosestPointsNode" index="21">
				<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="true"></param>
				<param name="cutoffdistance" type="4" value="0.300000"></param>
				<param name="enablemaxnumberpoints" type="11" value="false"></param>
				<param name="maxnumberpoints" type="3" value="1"></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>
				<portdef name="enablemaxnumberpoints" type="1" structure="1" group="0" instance="0" port="4"></portdef>
				<portdef name="maxnumberpoints" type="2" structure="1" group="0" instance="0" port="5"></portdef>
				<datablob category="ui_infos">
					<prop name="posx">69</prop>
					<prop name="posy">345</prop>
					<prop name="state">Normal</prop>
				</datablob>
			</node>
			<node type="GetDataNode" index="22">
				<param name="reference" type="31" value="PointPosition"></param>
				<param_ext name="reference" type="31" value="PointPosition"></param_ext>
				<portdef name="source" type="2048" structure="2" 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">303</prop>
					<prop name="posy">262</prop>
					<prop name="state">Normal</prop>
				</datablob>
			</node>
			<node type="GetDataNode" index="23">
				<param name="reference" type="31" value="orignalPointPosition"></param>
				<param_ext name="reference" type="31" value="orignalPointPosition"></param_ext>
				<portdef name="source" type="2048" structure="2" 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">283</prop>
					<prop name="posy">409</prop>
					<prop name="state">Normal</prop>
				</datablob>
			</node>
		</nodes>
		<exposed_ports>
			<port index="6" portname="value" username="Intensity" basename="Intensity" portlabel="Intensity" exposetype="single"> </port>
			<port index="7" portname="value" username="value" basename="value" portlabel="value" exposetype="single"> </port>
			<port index="15" portname="value" username="Filter" basename="Filter" portlabel="Filter" exposetype="single"> </port>
			<port index="19" portname="gradient" username="Gradient" basename="Gradient" portlabel="Gradient" exposetype="single"> </port>
		</exposed_ports>
		<connections>
			<cnx from_node="3" from_port="result" to_node="14" to_port="value"> </cnx>
			<cnx from_node="1" from_port="scalar" to_node="9" to_port="value"> </cnx>
			<cnx from_node="4" from_port="result" to_node="13" to_port="value"> </cnx>
			<cnx from_node="5" from_port="result" to_node="14" to_port="array"> </cnx>
			<cnx from_node="14" from_port="indexarray" to_node="2" to_port="array"> </cnx>
			<cnx from_node="20" from_port="result" to_node="1" to_port="integer"> </cnx>
			<cnx from_node="8" from_port="result" to_node="13" to_port="divideby"> </cnx>
			<cnx from_node="0" from_port="size" to_node="20" to_port="first"> </cnx>
			<cnx from_node="21" from_port="points" to_node="0" to_port="array"> </cnx>
			<cnx from_node="21" from_port="points" to_node="22" to_port="source"> </cnx>
			<cnx from_node="21" from_port="points" to_node="23" to_port="source"> </cnx>
			<cnx from_node="9" from_port="result" to_node="19" to_port="in"> </cnx>
			<cnx from_node="2" from_port="size" to_node="20" to_port="second"> </cnx>
			<cnx from_node="16" from_port="result" to_node="18" to_port="factor"> </cnx>
			<cnx from_node="13" from_port="result" to_node="9" to_port="factor"> </cnx>
			<cnx from_node="18" from_port="result" to_node="8" to_port="divideby"> </cnx>
			<cnx from_node="12" from_port="value" to_node="21" to_port="position"> </cnx>
			<cnx from_node="11" from_port="value" to_node="17" to_port="integer"> </cnx>
			<cnx from_node="6" from_port="result" to_node="18" to_port="value"> </cnx>
			<cnx from_node="17" from_port="scalar" to_node="8" to_port="value"> </cnx>
			<cnx from_node="10" from_port="value" to_node="21" to_port="geometry"> </cnx>
			<cnx from_node="10" from_port="outname" to_node="12" to_port="inname"> </cnx>
			<cnx from_node="22" from_port="value" to_node="5" to_port="first"> </cnx>
			<cnx from_node="15" from_port="result" to_node="21" to_port="cutoffdistance"> </cnx>
			<cnx from_node="23" from_port="value" to_node="5" to_port="second"> </cnx>
			<cnx from_node="19" from_port="out" to_node="7" to_port="source"> </cnx>
		</connections>
		<layout>
			<item type="input" name="Filter"> </item>
			<item type="input" name="Intensity"> </item>
			<item type="input" name="Gradient"> </item>
			<item type="output" name="value"> </item>
		</layout>
	</embedded_0>
	<embedded_3 name="refraction_index" formatversion="1.4" compoundversion="1.0" constructionmode="Modeling" backgroundcolor="6732954">
		<nodes>
			<node type="DivideByScalarNode" index="0">
				<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">-1101</prop>
					<prop name="posy">430</prop>
					<prop name="state">Normal</prop>
				</datablob>
			</node>
			<node type="ScalarNode" index="1">
				<param name="value" type="4" value="1.330000"></param>
				<portdef name="value" type="4" structure="1" group="0" instance="0" port="0"></portdef>
				<datablob category="ui_infos">
					<prop name="posx">-1255</prop>
					<prop name="posy">532</prop>
					<prop name="state">Normal</prop>
				</datablob>
			</node>
			<node type="ScalarNode" index="2">
				<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">-1256</prop>
					<prop name="posy">442</prop>
					<prop name="state">Normal</prop>
				</datablob>
			</node>
		</nodes>
		<exposed_ports>
			<port index="0" portname="result" username="Result" basename="Result" portlabel="Result" exposetype="single"> </port>
			<port index="1" portname="value" username="index_water" basename="index_water" portlabel="index_water" exposetype="single"> </port>
			<port index="2" portname="value" username="index_air" basename="index_air" portlabel="index_air" exposetype="single"> </port>
		</exposed_ports>
		<connections>
			<cnx from_node="1" from_port="result" to_node="0" to_port="divideby"> </cnx>
			<cnx from_node="2" from_port="result" to_node="0" to_port="value"> </cnx>
		</connections>
		<layout>
			<item type="input" name="index_air"> </item>
			<item type="input" name="index_water"> </item>
			<item type="output" name="Result"> </item>
		</layout>
	</embedded_3>
	<embedded_4 name="cos1" formatversion="1.4" compoundversion="1.0" constructionmode="Modeling" backgroundcolor="6732954">
		<nodes>
			<node type="DotProductNode" index="0">
				<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">-890</prop>
					<prop name="posy">27</prop>
					<prop name="state">Normal</prop>
				</datablob>
			</node>
			<node type="NegateNode" index="1">
				<portdef name="value" type="16" structure="1" group="0" instance="0" port="0"></portdef>
				<datablob category="ui_infos">
					<prop name="posx">-1013</prop>
					<prop name="posy">-6</prop>
					<prop name="state">Normal</prop>
				</datablob>
			</node>
		</nodes>
		<exposed_ports>
			<port index="0" portname="result" username="Result" basename="Result" portlabel="Result" exposetype="single"> </port>
			<port index="0" portname="second" username="normal" basename="normal" portlabel="normal" exposetype="single"> </port>
			<port index="1" portname="value" username="lightray" basename="lightray" portlabel="lightray" exposetype="single"> </port>
		</exposed_ports>
		<connections>
			<cnx from_node="1" from_port="result" to_node="0" to_port="first"> </cnx>
		</connections>
		<layout>
			<item type="input" name="lightray"> </item>
			<item type="input" name="normal"> </item>
			<item type="output" name="Result"> </item>
		</layout>
	</embedded_4>
	<embedded_6 name="cos2" formatversion="1.4" compoundversion="1.0" constructionmode="Modeling" backgroundcolor="6732954">
		<nodes>
			<node type="SquaredLengthNode" index="0">
				<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">-889</prop>
					<prop name="posy">357</prop>
					<prop name="state">Normal</prop>
				</datablob>
			</node>
			<node type="SquareRootNode" index="1">
				<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">-35</prop>
					<prop name="posy">197</prop>
					<prop name="state">Normal</prop>
				</datablob>
			</node>
			<node type="SubtractNode" index="2">
				<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">-198</prop>
					<prop name="posy">206</prop>
					<prop name="state">Normal</prop>
				</datablob>
			</node>
			<node type="MultiplyNode" index="3">
				<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">-322</prop>
					<prop name="posy">264</prop>
					<prop name="state">Normal</prop>
				</datablob>
			</node>
			<node type="ScalarNode" index="4">
				<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">-316</prop>
					<prop name="posy">155</prop>
					<prop name="state">Normal</prop>
				</datablob>
			</node>
			<node type="SquaredLengthNode" index="5">
				<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">-777</prop>
					<prop name="posy">256</prop>
					<prop name="state">Normal</prop>
				</datablob>
			</node>
			<node type="SubtractNode" index="6">
				<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">-536</prop>
					<prop name="posy">189</prop>
					<prop name="state">Normal</prop>
				</datablob>
			</node>
			<node type="ScalarNode" index="7">
				<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">-655</prop>
					<prop name="posy">141</prop>
					<prop name="state">ConnectedOnly</prop>
				</datablob>
			</node>
		</nodes>
		<exposed_ports>
			<port index="0" portname="vector" username="index" basename="index" portlabel="index" exposetype="single"> </port>
			<port index="1" portname="result" username="Result" basename="Result" portlabel="Result" exposetype="single"> </port>
			<port index="5" portname="vector" username="cos1" basename="cos1" portlabel="cos1" exposetype="single"> </port>
		</exposed_ports>
		<connections>
			<cnx from_node="0" from_port="result" to_node="3" to_port="value2"> </cnx>
			<cnx from_node="4" from_port="result" to_node="2" to_port="first"> </cnx>
			<cnx from_node="2" from_port="result" to_node="1" to_port="value"> </cnx>
			<cnx from_node="3" from_port="result" to_node="2" to_port="second"> </cnx>
			<cnx from_node="5" from_port="result" to_node="6" to_port="second"> </cnx>
			<cnx from_node="7" from_port="result" to_node="6" to_port="first"> </cnx>
			<cnx from_node="6" from_port="result" to_node="3" to_port="value1"> </cnx>
		</connections>
		<layout>
			<item type="input" name="index"> </item>
			<item type="input" name="cos1"> </item>
			<item type="output" name="Result"> </item>
		</layout>
	</embedded_6>
	<embedded_5 name="refraction" formatversion="1.4" compoundversion="1.0" constructionmode="Modeling" backgroundcolor="6732954">
		<nodes>
			<node type="[embedded_6]" index="0">
				<param name="index" type="4" value="0.000000"></param>
				<param name="cos1" type="4" value="0.000000"></param>
				<portdef name="index" type="4" structure="1" group="-1" instance="-1" port="-1"></portdef>
				<portdef name="cos1" type="4" structure="1" group="-1" instance="-1" port="-1"></portdef>
				<datablob category="ui_infos">
					<prop name="posx">8</prop>
					<prop name="posy">724</prop>
					<prop name="state">Normal</prop>
				</datablob>
			</node>
			<node type="AddNode" index="1">
				<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">648</prop>
					<prop name="posy">389</prop>
					<prop name="state">Normal</prop>
				</datablob>
			</node>
			<node type="SubtractNode" index="2">
				<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">186</prop>
					<prop name="posy">634</prop>
					<prop name="state">Normal</prop>
				</datablob>
			</node>
			<node type="MultiplyNode" index="3">
				<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">-22</prop>
					<prop name="posy">409</prop>
					<prop name="state">Normal</prop>
				</datablob>
			</node>
			<node type="MultiplyByScalarNode" index="4">
				<param name="factor" type="4" value="0.566000"></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">326</prop>
					<prop name="posy">289</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">423</prop>
					<prop name="posy">590</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">-176</prop>
					<prop name="posy">577</prop>
					<prop name="state">Normal</prop>
				</datablob>
			</node>
			<node type="PassThroughNode" index="7">
				<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">-498</prop>
					<prop name="posy">580</prop>
					<prop name="state">Normal</prop>
				</datablob>
			</node>
		</nodes>
		<exposed_ports>
			<port index="1" portname="result" username="Result" basename="Result" portlabel="Result" exposetype="single"> </port>
			<port index="4" portname="value" username="lightray" basename="lightray" portlabel="lightray" exposetype="single"> </port>
			<port index="5" portname="value" username="normal" basename="normal" portlabel="normal" exposetype="single"> </port>
			<port index="6" portname="in" username="index" basename="index" portlabel="index" exposetype="single"> </port>
			<port index="7" portname="in" username="cos1" basename="cos1" portlabel="cos1" exposetype="single"> </port>
		</exposed_ports>
		<connections>
			<cnx from_node="3" from_port="result" to_node="2" to_port="first"> </cnx>
			<cnx from_node="0" from_port="Result" to_node="2" to_port="second"> </cnx>
			<cnx from_node="5" from_port="result" to_node="1" to_port="value2"> </cnx>
			<cnx from_node="2" from_port="result" to_node="5" to_port="factor"> </cnx>
			<cnx from_node="4" from_port="result" to_node="1" to_port="value1"> </cnx>
			<cnx from_node="7" from_port="out" to_node="3" to_port="value1"> </cnx>
			<cnx from_node="7" from_port="out" to_node="0" to_port="cos1"> </cnx>
			<cnx from_node="6" from_port="out" to_node="4" to_port="factor"> </cnx>
			<cnx from_node="6" from_port="out" to_node="3" to_port="value2"> </cnx>
			<cnx from_node="6" from_port="out" to_node="0" to_port="index"> </cnx>
		</connections>
		<layout>
			<item type="input" name="lightray"> </item>
			<item type="input" name="cos1"> </item>
			<item type="input" name="index"> </item>
			<item type="input" name="normal"> </item>
			<item type="output" name="Result"> </item>
		</layout>
	</embedded_5>
	<embedded_7 name="reflection" formatversion="1.4" compoundversion="1.0" constructionmode="Modeling" backgroundcolor="6732954">
		<nodes>
			<node type="AddNode" index="0">
				<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">155</prop>
					<prop name="posy">-111</prop>
					<prop name="state">Normal</prop>
				</datablob>
			</node>
			<node type="MultiplyByScalarNode" index="1">
				<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">-299</prop>
					<prop name="posy">64</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">-74</prop>
					<prop name="posy">-54</prop>
					<prop name="state">Normal</prop>
				</datablob>
			</node>
			<node type="ScalarNode" index="3">
				<param name="value" type="4" value="2.000000"></param>
				<portdef name="value" type="4" structure="1" group="0" instance="0" port="0"></portdef>
				<datablob category="ui_infos">
					<prop name="posx">-401</prop>
					<prop name="posy">147</prop>
					<prop name="state">Normal</prop>
				</datablob>
			</node>
		</nodes>
		<exposed_ports>
			<port index="0" portname="result" username="Result" basename="Result" portlabel="Result" exposetype="single"> </port>
			<port index="0" portname="value1" username="lightray" basename="lightray" portlabel="lightray" exposetype="single"> </port>
			<port index="1" portname="value" username="cos1" basename="cos1" portlabel="cos1" exposetype="single"> </port>
			<port index="2" portname="value" username="normal" basename="normal" portlabel="normal" exposetype="single"> </port>
		</exposed_ports>
		<connections>
			<cnx from_node="2" from_port="result" to_node="0" to_port="value2"> </cnx>
			<cnx from_node="1" from_port="result" to_node="2" to_port="factor"> </cnx>
			<cnx from_node="3" from_port="result" to_node="1" to_port="factor"> </cnx>
		</connections>
		<layout>
			<item type="input" name="lightray"> </item>
			<item type="input" name="cos1"> </item>
			<item type="input" name="normal"> </item>
			<item type="output" name="Result"> </item>
		</layout>
	</embedded_7>
	<embedded_2 name="raytrace" formatversion="1.4" compoundversion="1.0" constructionmode="Modeling" backgroundcolor="6732954">
		<nodes>
			<node type="[embedded_3]" index="0">
				<param name="index_air" type="4" value="1.000000"></param>
				<param name="index_water" type="4" value="1.330000"></param>
				<portdef name="index_water" type="4" structure="1" group="-1" instance="-1" port="-1"></portdef>
				<portdef name="index_air" type="4" structure="1" group="-1" instance="-1" port="-1"></portdef>
				<datablob category="ui_infos">
					<prop name="posx">-1179</prop>
					<prop name="posy">108</prop>
					<prop name="state">Normal</prop>
				</datablob>
			</node>
			<node type="[embedded_4]" index="1">
				<param name="normal.normal_x" type="4" value="0.000000"></param>
				<param name="normal.normal_y" type="4" value="0.000000"></param>
				<param name="normal.normal_z" type="4" value="0.000000"></param>
				<portdef name="normal" type="16" structure="1" group="-1" instance="-1" port="-1"></portdef>
				<portdef name="lightray" type="16" structure="1" group="-1" instance="-1" port="-1"></portdef>
				<datablob category="ui_infos">
					<prop name="posx">-1181</prop>
					<prop name="posy">-25</prop>
					<prop name="state">Normal</prop>
				</datablob>
			</node>
			<node type="[embedded_5]" index="2">
				<param name="cos1" type="4" value="0.000000"></param>
				<param name="index" type="4" value="0.000000"></param>
				<param name="normal.normal_x" type="4" value="0.000000"></param>
				<param name="normal.normal_y" type="4" value="0.000000"></param>
				<param name="normal.normal_z" type="4" value="0.000000"></param>
				<portdef name="normal" type="16" structure="1" group="-1" instance="-1" port="-1"></portdef>
				<portdef name="lightray" type="16" structure="1" group="-1" instance="-1" port="-1"></portdef>
				<portdef name="cos1" type="4" structure="1" group="-1" instance="-1" port="-1"></portdef>
				<portdef name="index" type="4" structure="1" group="-1" instance="-1" port="-1"></portdef>
				<datablob category="ui_infos">
					<prop name="posx">-911</prop>
					<prop name="posy">-46</prop>
					<prop name="state">Normal</prop>
				</datablob>
			</node>
			<node type="[embedded_7]" index="3">
				<param name="cos1" type="4" value="0.000000"></param>
				<param name="normal.normal_x" type="4" value="0.000000"></param>
				<param name="normal.normal_y" type="4" value="0.000000"></param>
				<param name="normal.normal_z" type="4" value="0.000000"></param>
				<portdef name="lightray" type="16" structure="1" group="-1" instance="-1" port="-1"></portdef>
				<portdef name="normal" type="16" structure="1" group="-1" instance="-1" port="-1"></portdef>
				<portdef name="cos1" type="4" structure="1" group="-1" instance="-1" port="-1"></portdef>
				<datablob category="ui_infos">
					<prop name="posx">-911</prop>
					<prop name="posy">-173</prop>
					<prop name="state">Normal</prop>
				</datablob>
			</node>
			<node type="PassThroughNode" index="4">
				<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">-1442</prop>
					<prop name="posy">-228</prop>
					<prop name="state">Normal</prop>
				</datablob>
			</node>
			<node type="GetDataNode" index="5">
				<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">-1459</prop>
					<prop name="posy">-139</prop>
					<prop name="state">Normal</prop>
				</datablob>
			</node>
		</nodes>
		<exposed_ports>
			<port index="0" portname="index_air" username="index_air" basename="index_air" portlabel="index_air" exposetype="single"> </port>
			<port index="0" portname="index_water" username="index_water" basename="index_water" portlabel="index_water" exposetype="single"> </port>
			<port index="2" portname="Result" username="refractiuon" basename="refractiuon" portlabel="refractiuon" exposetype="single"> </port>
			<port index="3" portname="Result" username="reflection" basename="reflection" portlabel="reflection" exposetype="single"> </port>
			<port index="4" portname="in" username="lightray" basename="lightray" portlabel="lightray" exposetype="single"> </port>
			<port index="5" portname="source" username="intersection_point" basename="intersection_point" portlabel="intersection_point" exposetype="single"> </port>
		</exposed_ports>
		<connections>
			<cnx from_node="0" from_port="Result" to_node="2" to_port="index"> </cnx>
			<cnx from_node="1" from_port="Result" to_node="2" to_port="cos1"> </cnx>
			<cnx from_node="1" from_port="Result" to_node="3" to_port="cos1"> </cnx>
			<cnx from_node="5" from_port="value" to_node="2" to_port="normal"> </cnx>
			<cnx from_node="5" from_port="value" to_node="1" to_port="normal"> </cnx>
			<cnx from_node="5" from_port="value" to_node="3" to_port="normal"> </cnx>
			<cnx from_node="4" from_port="out" to_node="2" to_port="lightray"> </cnx>
			<cnx from_node="4" from_port="out" to_node="1" to_port="lightray"> </cnx>
			<cnx from_node="4" from_port="out" to_node="3" to_port="lightray"> </cnx>
		</connections>
		<layout>
			<item type="input" name="index_air"> </item>
			<item type="input" name="index_water"> </item>
			<item type="input" name="intersection_point"> </item>
			<item type="input" name="lightray"> </item>
			<item type="output" name="reflection"> </item>
			<item type="output" name="refractiuon"> </item>
		</layout>
	</embedded_2>
	<embedded_1 name="CausticMath" formatversion="1.4" compoundversion="1.0">
		<nodes>
			<node type="3DVectorNode" index="0">
				<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">294</prop>
					<prop name="posy">-50</prop>
					<prop name="state">Normal</prop>
				</datablob>
			</node>
			<node type="RaycastNode" index="1">
				<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="direction" type="16" structure="1" group="0" instance="0" port="2"></portdef>
				<portdef name="enablecutoffdistance" type="1" structure="1" group="0" instance="0" port="3"></portdef>
				<portdef name="cutoffdistance" type="4" structure="1" group="0" instance="0" port="4"></portdef>
				<datablob category="ui_infos">
					<prop name="posx">519</prop>
					<prop name="posy">-273</prop>
					<prop name="state">Normal</prop>
				</datablob>
			</node>
			<node type="SetOneDataNode" index="2">
				<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">1673</prop>
					<prop name="posy">-200</prop>
					<prop name="state">Normal</prop>
				</datablob>
			</node>
			<node type="[embedded_2]" index="3">
				<param name="index_air" type="4" value="1.000000"></param>
				<param name="index_water" type="4" value="1.330000"></param>
				<portdef name="index_air" type="4" structure="1" group="-1" instance="-1" port="-1"></portdef>
				<portdef name="index_water" type="4" structure="1" group="-1" instance="-1" port="-1"></portdef>
				<portdef name="intersection_point" type="2048" structure="1" group="-1" instance="-1" port="-1"></portdef>
				<portdef name="lightray" type="16" structure="1" group="-1" instance="-1" port="-1"></portdef>
				<datablob category="ui_infos">
					<prop name="posx">843</prop>
					<prop name="posy">-53</prop>
					<prop name="state">Normal</prop>
				</datablob>
			</node>
			<node type="GetDataNode" index="4">
				<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">802</prop>
					<prop name="posy">-234</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="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="10000.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">296</prop>
					<prop name="posy">-250</prop>
					<prop name="state">Normal</prop>
				</datablob>
			</node>
			<node type="RaycastNode" index="6">
				<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="direction.direction_x" type="4" value="0.000000"></param>
				<param name="direction.direction_y" type="4" value="0.000000"></param>
				<param name="direction.direction_z" type="4" value="0.000000"></param>
				<param name="enablecutoffdistance" type="11" value="false"></param>
				<param name="cutoffdistance" type="4" value="25.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="direction" type="16" structure="1" group="0" instance="0" port="2"></portdef>
				<portdef name="enablecutoffdistance" type="1" structure="1" group="0" instance="0" port="3"></portdef>
				<portdef name="cutoffdistance" type="4" structure="1" group="0" instance="0" port="4"></portdef>
				<datablob category="ui_infos">
					<prop name="posx">1104</prop>
					<prop name="posy">-186</prop>
					<prop name="state">Normal</prop>
				</datablob>
			</node>
			<node type="GetDataNode" index="7">
				<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">1370</prop>
					<prop name="posy">-189</prop>
					<prop name="state">Normal</prop>
				</datablob>
			</node>
			<node type="GetDataNode" index="8">
				<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">72</prop>
					<prop name="posy">-258</prop>
					<prop name="state">Normal</prop>
				</datablob>
			</node>
		</nodes>
		<exposed_ports>
			<port index="1" portname="geometry" username="water" basename="water" portlabel="water" exposetype="single"> </port>
			<port index="2" portname="value" username="Value" basename="Value" portlabel="Value" exposetype="single"> </port>
			<port index="3" portname="index_air" username="index_air" basename="index_air" portlabel="index_air" exposetype="single"> </port>
			<port index="3" portname="index_water" username="index_water" basename="index_water" portlabel="index_water" exposetype="single"> </port>
			<port index="6" portname="geometry" username="ground" basename="ground" portlabel="ground" exposetype="single"> </port>
		</exposed_ports>
		<connections>
			<cnx from_node="1" from_port="location" to_node="4" to_port="source"> </cnx>
			<cnx from_node="1" from_port="location" to_node="3" to_port="intersection_point"> </cnx>
			<cnx from_node="0" from_port="result" to_node="1" to_port="direction"> </cnx>
			<cnx from_node="0" from_port="result" to_node="3" to_port="lightray"> </cnx>
			<cnx from_node="3" from_port="refractiuon" to_node="6" to_port="direction"> </cnx>
			<cnx from_node="8" from_port="value" to_node="5" to_port="value1"> </cnx>
			<cnx from_node="6" from_port="location" to_node="7" to_port="source"> </cnx>
			<cnx from_node="7" from_port="value" to_node="2" to_port="source"> </cnx>
			<cnx from_node="5" from_port="result" to_node="1" to_port="position"> </cnx>
			<cnx from_node="4" from_port="value" to_node="6" to_port="position"> </cnx>
		</connections>
		<layout>
			<item type="input" name="water"> </item>
			<item type="input" name="ground"> </item>
			<item type="input" name="index_air"> </item>
			<item type="input" name="index_water"> </item>
			<item type="output" name="Value"> </item>
		</layout>
	</embedded_1>
</xsi_file>
