Index: trunk/doc/Flair/namespaceflair_1_1core.html
===================================================================
--- trunk/doc/Flair/namespaceflair_1_1core.html	(revision 47)
+++ trunk/doc/Flair/namespaceflair_1_1core.html	(revision 50)
@@ -210,7 +210,4 @@
 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classflair_1_1core_1_1_signed_integer_type.html">SignedIntegerType</a></td></tr>
 <tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classflair_1_1core_1_1_socket.html">Socket</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Class encapsulating a UDP socket. It assumes packets are coming from only one distant host on a given port.  <a href="classflair_1_1core_1_1_socket.html#details">More...</a><br /></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classflair_1_1core_1_1_tcp_socket.html">TcpSocket</a></td></tr>
 <tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Class encapsulating a TCP socket.  <a href="classflair_1_1core_1_1_tcp_socket.html#details">More...</a><br /></td></tr>
@@ -218,4 +215,7 @@
 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classflair_1_1core_1_1_thread.html">Thread</a></td></tr>
 <tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Abstract class for a thread.  <a href="classflair_1_1core_1_1_thread.html#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classflair_1_1core_1_1_udp_socket.html">UdpSocket</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Class encapsulating a UDP socket. It assumes packets are coming from only one distant host on a given port.  <a href="classflair_1_1core_1_1_udp_socket.html#details">More...</a><br /></td></tr>
 <tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classflair_1_1core_1_1_udt_socket.html">UdtSocket</a></td></tr>
@@ -247,4 +247,10 @@
 <tr class="memdesc:acc0fa041e08ecf73b2d1d723c339a736"><td class="mdescLeft">&#160;</td><td class="mdescRight">Time definition, in ns.  <a href="#acc0fa041e08ecf73b2d1d723c339a736">More...</a><br /></td></tr>
 <tr class="separator:acc0fa041e08ecf73b2d1d723c339a736"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:abc8f6e4575318eceb0d34dd38d6cb783"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="abc8f6e4575318eceb0d34dd38d6cb783"></a>
+typedef <a class="el" href="classflair_1_1core_1_1_vector2_d.html">Vector2D</a>&lt; float &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>Vector2Df</b></td></tr>
+<tr class="separator:abc8f6e4575318eceb0d34dd38d6cb783"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a8b0038ee673b89322347a81adef054f0"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a8b0038ee673b89322347a81adef054f0"></a>
+typedef <a class="el" href="classflair_1_1core_1_1_vector3_d.html">Vector3D</a>&lt; float &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>Vector3Df</b></td></tr>
+<tr class="separator:a8b0038ee673b89322347a81adef054f0"><td class="memSeparator" colspan="2">&#160;</td></tr>
 </table><table class="memberdecls">
 <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
@@ -280,46 +286,64 @@
 <tr class="memdesc:a5b293c3961eee927ab186df043028a4e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Multiply.  <a href="#a5b293c3961eee927ab186df043028a4e">More...</a><br /></td></tr>
 <tr class="separator:a5b293c3961eee927ab186df043028a4e"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ada20416deb1802b5f5deddb85f02b6ed"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classflair_1_1core_1_1_vector2_d.html">Vector2D</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceflair_1_1core.html#ada20416deb1802b5f5deddb85f02b6ed">operator+</a> (const <a class="el" href="classflair_1_1core_1_1_vector2_d.html">Vector2D</a> &amp;vectorA, const <a class="el" href="classflair_1_1core_1_1_vector2_d.html">Vector2D</a> &amp;vectorB)</td></tr>
-<tr class="memdesc:ada20416deb1802b5f5deddb85f02b6ed"><td class="mdescLeft">&#160;</td><td class="mdescRight">Add.  <a href="#ada20416deb1802b5f5deddb85f02b6ed">More...</a><br /></td></tr>
-<tr class="separator:ada20416deb1802b5f5deddb85f02b6ed"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a601f3ca18a9e417dc2bb7d8eb2db7b42"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classflair_1_1core_1_1_vector2_d.html">Vector2D</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceflair_1_1core.html#a601f3ca18a9e417dc2bb7d8eb2db7b42">operator-</a> (const <a class="el" href="classflair_1_1core_1_1_vector2_d.html">Vector2D</a> &amp;vectorA, const <a class="el" href="classflair_1_1core_1_1_vector2_d.html">Vector2D</a> &amp;vectorB)</td></tr>
-<tr class="memdesc:a601f3ca18a9e417dc2bb7d8eb2db7b42"><td class="mdescLeft">&#160;</td><td class="mdescRight">Substract.  <a href="#a601f3ca18a9e417dc2bb7d8eb2db7b42">More...</a><br /></td></tr>
-<tr class="separator:a601f3ca18a9e417dc2bb7d8eb2db7b42"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a36ec6f59d72394edcd8de9ab2cb50fa7"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classflair_1_1core_1_1_vector2_d.html">Vector2D</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceflair_1_1core.html#a36ec6f59d72394edcd8de9ab2cb50fa7">operator/</a> (const <a class="el" href="classflair_1_1core_1_1_vector2_d.html">Vector2D</a> &amp;vector, float coeff)</td></tr>
-<tr class="memdesc:a36ec6f59d72394edcd8de9ab2cb50fa7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Divid.  <a href="#a36ec6f59d72394edcd8de9ab2cb50fa7">More...</a><br /></td></tr>
-<tr class="separator:a36ec6f59d72394edcd8de9ab2cb50fa7"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a6d9cfe0404b2d0f59598ede6cad5b036"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classflair_1_1core_1_1_vector2_d.html">Vector2D</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceflair_1_1core.html#a6d9cfe0404b2d0f59598ede6cad5b036">operator*</a> (const <a class="el" href="classflair_1_1core_1_1_vector2_d.html">Vector2D</a> &amp;vector, float coeff)</td></tr>
-<tr class="memdesc:a6d9cfe0404b2d0f59598ede6cad5b036"><td class="mdescLeft">&#160;</td><td class="mdescRight">Multiplyf.  <a href="#a6d9cfe0404b2d0f59598ede6cad5b036">More...</a><br /></td></tr>
-<tr class="separator:a6d9cfe0404b2d0f59598ede6cad5b036"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a2701e2f2b64dcf867078a3fd2e01ec9f"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classflair_1_1core_1_1_vector2_d.html">Vector2D</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceflair_1_1core.html#a2701e2f2b64dcf867078a3fd2e01ec9f">operator*</a> (float coeff, const <a class="el" href="classflair_1_1core_1_1_vector2_d.html">Vector2D</a> &amp;vector)</td></tr>
-<tr class="memdesc:a2701e2f2b64dcf867078a3fd2e01ec9f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Multiply.  <a href="#a2701e2f2b64dcf867078a3fd2e01ec9f">More...</a><br /></td></tr>
-<tr class="separator:a2701e2f2b64dcf867078a3fd2e01ec9f"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a6445af2cc5145fc68833d6257072bcb5"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classflair_1_1core_1_1_vector3_d.html">Vector3D</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceflair_1_1core.html#a6445af2cc5145fc68833d6257072bcb5">operator+</a> (const <a class="el" href="classflair_1_1core_1_1_vector3_d.html">Vector3D</a> &amp;vectorA, const <a class="el" href="classflair_1_1core_1_1_vector3_d.html">Vector3D</a> &amp;vectorB)</td></tr>
-<tr class="memdesc:a6445af2cc5145fc68833d6257072bcb5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Add.  <a href="#a6445af2cc5145fc68833d6257072bcb5">More...</a><br /></td></tr>
-<tr class="separator:a6445af2cc5145fc68833d6257072bcb5"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:aa699543f49850bdc5a3707ae6f768907"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classflair_1_1core_1_1_vector3_d.html">Vector3D</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceflair_1_1core.html#aa699543f49850bdc5a3707ae6f768907">operator-</a> (const <a class="el" href="classflair_1_1core_1_1_vector3_d.html">Vector3D</a> &amp;vectorA, const <a class="el" href="classflair_1_1core_1_1_vector3_d.html">Vector3D</a> &amp;vectorB)</td></tr>
-<tr class="memdesc:aa699543f49850bdc5a3707ae6f768907"><td class="mdescLeft">&#160;</td><td class="mdescRight">Substract.  <a href="#aa699543f49850bdc5a3707ae6f768907">More...</a><br /></td></tr>
-<tr class="separator:aa699543f49850bdc5a3707ae6f768907"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a25508af0e609e676205a68f528b72f7c"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classflair_1_1core_1_1_vector3_d.html">Vector3D</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceflair_1_1core.html#a25508af0e609e676205a68f528b72f7c">operator-</a> (const <a class="el" href="classflair_1_1core_1_1_vector3_d.html">Vector3D</a> &amp;vector)</td></tr>
-<tr class="memdesc:a25508af0e609e676205a68f528b72f7c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Minus.  <a href="#a25508af0e609e676205a68f528b72f7c">More...</a><br /></td></tr>
-<tr class="separator:a25508af0e609e676205a68f528b72f7c"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a8aa5ce31a59d8c9679ea46f08cd09bda"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classflair_1_1core_1_1_vector3_d.html">Vector3D</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceflair_1_1core.html#a8aa5ce31a59d8c9679ea46f08cd09bda">operator/</a> (const <a class="el" href="classflair_1_1core_1_1_vector3_d.html">Vector3D</a> &amp;vector, float coeff)</td></tr>
-<tr class="memdesc:a8aa5ce31a59d8c9679ea46f08cd09bda"><td class="mdescLeft">&#160;</td><td class="mdescRight">Divid.  <a href="#a8aa5ce31a59d8c9679ea46f08cd09bda">More...</a><br /></td></tr>
-<tr class="separator:a8aa5ce31a59d8c9679ea46f08cd09bda"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a09c909db6a634147cc63ebd2aea5a2d2"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classflair_1_1core_1_1_vector3_d.html">Vector3D</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceflair_1_1core.html#a09c909db6a634147cc63ebd2aea5a2d2">operator*</a> (const <a class="el" href="classflair_1_1core_1_1_vector3_d.html">Vector3D</a> &amp;vectorA, const <a class="el" href="classflair_1_1core_1_1_vector3_d.html">Vector3D</a> &amp;vectorB)</td></tr>
-<tr class="memdesc:a09c909db6a634147cc63ebd2aea5a2d2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Hadamard product.  <a href="#a09c909db6a634147cc63ebd2aea5a2d2">More...</a><br /></td></tr>
-<tr class="separator:a09c909db6a634147cc63ebd2aea5a2d2"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a02ef876816209fff2d79cb1d79ccff84"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classflair_1_1core_1_1_vector3_d.html">Vector3D</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceflair_1_1core.html#a02ef876816209fff2d79cb1d79ccff84">operator*</a> (const <a class="el" href="classflair_1_1core_1_1_vector3_d.html">Vector3D</a> &amp;vector, float coeff)</td></tr>
-<tr class="memdesc:a02ef876816209fff2d79cb1d79ccff84"><td class="mdescLeft">&#160;</td><td class="mdescRight">Multiply.  <a href="#a02ef876816209fff2d79cb1d79ccff84">More...</a><br /></td></tr>
-<tr class="separator:a02ef876816209fff2d79cb1d79ccff84"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a449cfa3fbd1852d5718a835112f6957e"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classflair_1_1core_1_1_vector3_d.html">Vector3D</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceflair_1_1core.html#a449cfa3fbd1852d5718a835112f6957e">operator*</a> (float coeff, const <a class="el" href="classflair_1_1core_1_1_vector3_d.html">Vector3D</a> &amp;vector)</td></tr>
-<tr class="memdesc:a449cfa3fbd1852d5718a835112f6957e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Multiply.  <a href="#a449cfa3fbd1852d5718a835112f6957e">More...</a><br /></td></tr>
-<tr class="separator:a449cfa3fbd1852d5718a835112f6957e"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a4e3e0c05a548ad880197a0f90cb68305"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classflair_1_1core_1_1_vector3_d.html">Vector3D</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceflair_1_1core.html#a4e3e0c05a548ad880197a0f90cb68305">CrossProduct</a> (const <a class="el" href="classflair_1_1core_1_1_vector3_d.html">Vector3D</a> &amp;vectorA, const <a class="el" href="classflair_1_1core_1_1_vector3_d.html">Vector3D</a> &amp;vectorB)</td></tr>
-<tr class="memdesc:a4e3e0c05a548ad880197a0f90cb68305"><td class="mdescLeft">&#160;</td><td class="mdescRight">Cross product.  <a href="#a4e3e0c05a548ad880197a0f90cb68305">More...</a><br /></td></tr>
-<tr class="separator:a4e3e0c05a548ad880197a0f90cb68305"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a0eaa0f510f506d44345e82acd65e9b86"><td class="memItemLeft" align="right" valign="top">float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceflair_1_1core.html#a0eaa0f510f506d44345e82acd65e9b86">DotProduct</a> (const <a class="el" href="classflair_1_1core_1_1_vector3_d.html">Vector3D</a> &amp;vectorA, const <a class="el" href="classflair_1_1core_1_1_vector3_d.html">Vector3D</a> &amp;vectorB)</td></tr>
-<tr class="memdesc:a0eaa0f510f506d44345e82acd65e9b86"><td class="mdescLeft">&#160;</td><td class="mdescRight">Dot product.  <a href="#a0eaa0f510f506d44345e82acd65e9b86">More...</a><br /></td></tr>
-<tr class="separator:a0eaa0f510f506d44345e82acd65e9b86"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a762372bce051dd5543ec9f596e3f863c"><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
+<tr class="memitem:a762372bce051dd5543ec9f596e3f863c"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="classflair_1_1core_1_1_vector2_d.html">Vector2D</a>&lt; T &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceflair_1_1core.html#a762372bce051dd5543ec9f596e3f863c">operator+</a> (const <a class="el" href="classflair_1_1core_1_1_vector2_d.html">Vector2D</a>&lt; T &gt; &amp;vectorA, const <a class="el" href="classflair_1_1core_1_1_vector2_d.html">Vector2D</a>&lt; T &gt; &amp;vectorB)</td></tr>
+<tr class="memdesc:a762372bce051dd5543ec9f596e3f863c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Add.  <a href="#a762372bce051dd5543ec9f596e3f863c">More...</a><br /></td></tr>
+<tr class="separator:a762372bce051dd5543ec9f596e3f863c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ae0485a88dc635bfdea7b0282ac0369c4"><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
+<tr class="memitem:ae0485a88dc635bfdea7b0282ac0369c4"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="classflair_1_1core_1_1_vector2_d.html">Vector2D</a>&lt; T &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceflair_1_1core.html#ae0485a88dc635bfdea7b0282ac0369c4">operator-</a> (const <a class="el" href="classflair_1_1core_1_1_vector2_d.html">Vector2D</a>&lt; T &gt; &amp;vectorA, const <a class="el" href="classflair_1_1core_1_1_vector2_d.html">Vector2D</a>&lt; T &gt; &amp;vectorB)</td></tr>
+<tr class="memdesc:ae0485a88dc635bfdea7b0282ac0369c4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Substract.  <a href="#ae0485a88dc635bfdea7b0282ac0369c4">More...</a><br /></td></tr>
+<tr class="separator:ae0485a88dc635bfdea7b0282ac0369c4"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ac3c3c0fe665086b60dac657b8ee40911"><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
+<tr class="memitem:ac3c3c0fe665086b60dac657b8ee40911"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="classflair_1_1core_1_1_vector2_d.html">Vector2D</a>&lt; T &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceflair_1_1core.html#ac3c3c0fe665086b60dac657b8ee40911">operator-</a> (const <a class="el" href="classflair_1_1core_1_1_vector2_d.html">Vector2D</a>&lt; T &gt; &amp;vectorA)</td></tr>
+<tr class="memdesc:ac3c3c0fe665086b60dac657b8ee40911"><td class="mdescLeft">&#160;</td><td class="mdescRight">Opposite.  <a href="#ac3c3c0fe665086b60dac657b8ee40911">More...</a><br /></td></tr>
+<tr class="separator:ac3c3c0fe665086b60dac657b8ee40911"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:afed3cf9fa6c2e0afb37994f55222d019"><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
+<tr class="memitem:afed3cf9fa6c2e0afb37994f55222d019"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="classflair_1_1core_1_1_vector2_d.html">Vector2D</a>&lt; T &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceflair_1_1core.html#afed3cf9fa6c2e0afb37994f55222d019">operator/</a> (const <a class="el" href="classflair_1_1core_1_1_vector2_d.html">Vector2D</a>&lt; T &gt; &amp;vector, float coeff)</td></tr>
+<tr class="memdesc:afed3cf9fa6c2e0afb37994f55222d019"><td class="mdescLeft">&#160;</td><td class="mdescRight">Divid.  <a href="#afed3cf9fa6c2e0afb37994f55222d019">More...</a><br /></td></tr>
+<tr class="separator:afed3cf9fa6c2e0afb37994f55222d019"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a4f6b5216e29c497351829aae1cd86ca4"><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
+<tr class="memitem:a4f6b5216e29c497351829aae1cd86ca4"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="classflair_1_1core_1_1_vector2_d.html">Vector2D</a>&lt; T &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceflair_1_1core.html#a4f6b5216e29c497351829aae1cd86ca4">operator*</a> (const <a class="el" href="classflair_1_1core_1_1_vector2_d.html">Vector2D</a>&lt; T &gt; &amp;vector, float coeff)</td></tr>
+<tr class="memdesc:a4f6b5216e29c497351829aae1cd86ca4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Multiplyf.  <a href="#a4f6b5216e29c497351829aae1cd86ca4">More...</a><br /></td></tr>
+<tr class="separator:a4f6b5216e29c497351829aae1cd86ca4"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a002f684b4b4b844feaed934297b651a2"><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
+<tr class="memitem:a002f684b4b4b844feaed934297b651a2"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="classflair_1_1core_1_1_vector2_d.html">Vector2D</a>&lt; T &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceflair_1_1core.html#a002f684b4b4b844feaed934297b651a2">operator*</a> (float coeff, const <a class="el" href="classflair_1_1core_1_1_vector2_d.html">Vector2D</a>&lt; T &gt; &amp;vector)</td></tr>
+<tr class="memdesc:a002f684b4b4b844feaed934297b651a2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Multiply.  <a href="#a002f684b4b4b844feaed934297b651a2">More...</a><br /></td></tr>
+<tr class="separator:a002f684b4b4b844feaed934297b651a2"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a131335b8d92a76f6d3a40d9762ad0bdb"><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
+<tr class="memitem:a131335b8d92a76f6d3a40d9762ad0bdb"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="classflair_1_1core_1_1_vector3_d.html">Vector3D</a>&lt; T &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceflair_1_1core.html#a131335b8d92a76f6d3a40d9762ad0bdb">operator+</a> (const <a class="el" href="classflair_1_1core_1_1_vector3_d.html">Vector3D</a>&lt; T &gt; &amp;vectorA, const <a class="el" href="classflair_1_1core_1_1_vector3_d.html">Vector3D</a>&lt; T &gt; &amp;vectorB)</td></tr>
+<tr class="memdesc:a131335b8d92a76f6d3a40d9762ad0bdb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Add.  <a href="#a131335b8d92a76f6d3a40d9762ad0bdb">More...</a><br /></td></tr>
+<tr class="separator:a131335b8d92a76f6d3a40d9762ad0bdb"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a8672d248dccb0e7378a7b01a41a9e4e9"><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
+<tr class="memitem:a8672d248dccb0e7378a7b01a41a9e4e9"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="classflair_1_1core_1_1_vector3_d.html">Vector3D</a>&lt; T &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceflair_1_1core.html#a8672d248dccb0e7378a7b01a41a9e4e9">operator-</a> (const <a class="el" href="classflair_1_1core_1_1_vector3_d.html">Vector3D</a>&lt; T &gt; &amp;vectorA, const <a class="el" href="classflair_1_1core_1_1_vector3_d.html">Vector3D</a>&lt; T &gt; &amp;vectorB)</td></tr>
+<tr class="memdesc:a8672d248dccb0e7378a7b01a41a9e4e9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Substract.  <a href="#a8672d248dccb0e7378a7b01a41a9e4e9">More...</a><br /></td></tr>
+<tr class="separator:a8672d248dccb0e7378a7b01a41a9e4e9"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:af0db4963be6fc919dd900fd01d9a61f0"><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
+<tr class="memitem:af0db4963be6fc919dd900fd01d9a61f0"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="classflair_1_1core_1_1_vector3_d.html">Vector3D</a>&lt; T &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceflair_1_1core.html#af0db4963be6fc919dd900fd01d9a61f0">operator-</a> (const <a class="el" href="classflair_1_1core_1_1_vector3_d.html">Vector3D</a>&lt; T &gt; &amp;vector)</td></tr>
+<tr class="memdesc:af0db4963be6fc919dd900fd01d9a61f0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Minus.  <a href="#af0db4963be6fc919dd900fd01d9a61f0">More...</a><br /></td></tr>
+<tr class="separator:af0db4963be6fc919dd900fd01d9a61f0"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a65433796fbd8ccc2e1bb797be204b249"><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
+<tr class="memitem:a65433796fbd8ccc2e1bb797be204b249"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="classflair_1_1core_1_1_vector3_d.html">Vector3D</a>&lt; T &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceflair_1_1core.html#a65433796fbd8ccc2e1bb797be204b249">operator/</a> (const <a class="el" href="classflair_1_1core_1_1_vector3_d.html">Vector3D</a>&lt; T &gt; &amp;vector, float coeff)</td></tr>
+<tr class="memdesc:a65433796fbd8ccc2e1bb797be204b249"><td class="mdescLeft">&#160;</td><td class="mdescRight">Divid.  <a href="#a65433796fbd8ccc2e1bb797be204b249">More...</a><br /></td></tr>
+<tr class="separator:a65433796fbd8ccc2e1bb797be204b249"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a2b78f60f37e4ba6d62db603ca6631e95"><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
+<tr class="memitem:a2b78f60f37e4ba6d62db603ca6631e95"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="classflair_1_1core_1_1_vector3_d.html">Vector3D</a>&lt; T &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceflair_1_1core.html#a2b78f60f37e4ba6d62db603ca6631e95">operator*</a> (const <a class="el" href="classflair_1_1core_1_1_vector3_d.html">Vector3D</a>&lt; T &gt; &amp;vectorA, const <a class="el" href="classflair_1_1core_1_1_vector3_d.html">Vector3D</a>&lt; T &gt; &amp;vectorB)</td></tr>
+<tr class="memdesc:a2b78f60f37e4ba6d62db603ca6631e95"><td class="mdescLeft">&#160;</td><td class="mdescRight">Hadamard product.  <a href="#a2b78f60f37e4ba6d62db603ca6631e95">More...</a><br /></td></tr>
+<tr class="separator:a2b78f60f37e4ba6d62db603ca6631e95"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a2604f9cc047961b44a0db4aa0434b36e"><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
+<tr class="memitem:a2604f9cc047961b44a0db4aa0434b36e"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="classflair_1_1core_1_1_vector3_d.html">Vector3D</a>&lt; T &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceflair_1_1core.html#a2604f9cc047961b44a0db4aa0434b36e">operator*</a> (const <a class="el" href="classflair_1_1core_1_1_vector3_d.html">Vector3D</a>&lt; T &gt; &amp;vector, float coeff)</td></tr>
+<tr class="memdesc:a2604f9cc047961b44a0db4aa0434b36e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Multiply.  <a href="#a2604f9cc047961b44a0db4aa0434b36e">More...</a><br /></td></tr>
+<tr class="separator:a2604f9cc047961b44a0db4aa0434b36e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a661465072c8d4b3592abde48c068d73a"><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
+<tr class="memitem:a661465072c8d4b3592abde48c068d73a"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="classflair_1_1core_1_1_vector3_d.html">Vector3D</a>&lt; T &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceflair_1_1core.html#a661465072c8d4b3592abde48c068d73a">operator*</a> (float coeff, const <a class="el" href="classflair_1_1core_1_1_vector3_d.html">Vector3D</a>&lt; T &gt; &amp;vector)</td></tr>
+<tr class="memdesc:a661465072c8d4b3592abde48c068d73a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Multiply.  <a href="#a661465072c8d4b3592abde48c068d73a">More...</a><br /></td></tr>
+<tr class="separator:a661465072c8d4b3592abde48c068d73a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a619733e606845eb59f7e779f2f119019"><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
+<tr class="memitem:a619733e606845eb59f7e779f2f119019"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="classflair_1_1core_1_1_vector3_d.html">Vector3D</a>&lt; T &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceflair_1_1core.html#a619733e606845eb59f7e779f2f119019">CrossProduct</a> (const <a class="el" href="classflair_1_1core_1_1_vector3_d.html">Vector3D</a>&lt; T &gt; &amp;vectorA, const <a class="el" href="classflair_1_1core_1_1_vector3_d.html">Vector3D</a>&lt; T &gt; &amp;vectorB)</td></tr>
+<tr class="memdesc:a619733e606845eb59f7e779f2f119019"><td class="mdescLeft">&#160;</td><td class="mdescRight">Cross product.  <a href="#a619733e606845eb59f7e779f2f119019">More...</a><br /></td></tr>
+<tr class="separator:a619733e606845eb59f7e779f2f119019"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a792d54dcdbd816e6c7bc5ac04b5d9b22"><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
+<tr class="memitem:a792d54dcdbd816e6c7bc5ac04b5d9b22"><td class="memTemplItemLeft" align="right" valign="top">float&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceflair_1_1core.html#a792d54dcdbd816e6c7bc5ac04b5d9b22">DotProduct</a> (const <a class="el" href="classflair_1_1core_1_1_vector3_d.html">Vector3D</a>&lt; T &gt; &amp;vectorA, const <a class="el" href="classflair_1_1core_1_1_vector3_d.html">Vector3D</a>&lt; T &gt; &amp;vectorB)</td></tr>
+<tr class="memdesc:a792d54dcdbd816e6c7bc5ac04b5d9b22"><td class="mdescLeft">&#160;</td><td class="mdescRight">Dot product.  <a href="#a792d54dcdbd816e6c7bc5ac04b5d9b22">More...</a><br /></td></tr>
+<tr class="separator:a792d54dcdbd816e6c7bc5ac04b5d9b22"><td class="memSeparator" colspan="2">&#160;</td></tr>
 </table><table class="memberdecls">
 <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="var-members"></a>
@@ -668,12 +692,14 @@
 </div>
 </div>
-<a class="anchor" id="ada20416deb1802b5f5deddb85f02b6ed"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="classflair_1_1core_1_1_vector2_d.html">Vector2D</a> flair::core::operator+ </td>
-          <td>(</td>
-          <td class="paramtype">const <a class="el" href="classflair_1_1core_1_1_vector2_d.html">Vector2D</a> &amp;&#160;</td>
+<a class="anchor" id="a762372bce051dd5543ec9f596e3f863c"></a>
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename T &gt; </div>
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="classflair_1_1core_1_1_vector2_d.html">Vector2D</a>&lt;T&gt; flair::core::operator+ </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="classflair_1_1core_1_1_vector2_d.html">Vector2D</a>&lt; T &gt; &amp;&#160;</td>
           <td class="paramname"><em>vectorA</em>, </td>
         </tr>
@@ -681,5 +707,5 @@
           <td class="paramkey"></td>
           <td></td>
-          <td class="paramtype">const <a class="el" href="classflair_1_1core_1_1_vector2_d.html">Vector2D</a> &amp;&#160;</td>
+          <td class="paramtype">const <a class="el" href="classflair_1_1core_1_1_vector2_d.html">Vector2D</a>&lt; T &gt; &amp;&#160;</td>
           <td class="paramname"><em>vectorB</em>&#160;</td>
         </tr>
@@ -704,12 +730,14 @@
 </div>
 </div>
-<a class="anchor" id="a601f3ca18a9e417dc2bb7d8eb2db7b42"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="classflair_1_1core_1_1_vector2_d.html">Vector2D</a> flair::core::operator- </td>
-          <td>(</td>
-          <td class="paramtype">const <a class="el" href="classflair_1_1core_1_1_vector2_d.html">Vector2D</a> &amp;&#160;</td>
+<a class="anchor" id="ae0485a88dc635bfdea7b0282ac0369c4"></a>
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename T &gt; </div>
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="classflair_1_1core_1_1_vector2_d.html">Vector2D</a>&lt;T&gt; flair::core::operator- </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="classflair_1_1core_1_1_vector2_d.html">Vector2D</a>&lt; T &gt; &amp;&#160;</td>
           <td class="paramname"><em>vectorA</em>, </td>
         </tr>
@@ -717,5 +745,5 @@
           <td class="paramkey"></td>
           <td></td>
-          <td class="paramtype">const <a class="el" href="classflair_1_1core_1_1_vector2_d.html">Vector2D</a> &amp;&#160;</td>
+          <td class="paramtype">const <a class="el" href="classflair_1_1core_1_1_vector2_d.html">Vector2D</a>&lt; T &gt; &amp;&#160;</td>
           <td class="paramname"><em>vectorB</em>&#160;</td>
         </tr>
@@ -740,12 +768,42 @@
 </div>
 </div>
-<a class="anchor" id="a36ec6f59d72394edcd8de9ab2cb50fa7"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="classflair_1_1core_1_1_vector2_d.html">Vector2D</a> flair::core::operator/ </td>
-          <td>(</td>
-          <td class="paramtype">const <a class="el" href="classflair_1_1core_1_1_vector2_d.html">Vector2D</a> &amp;&#160;</td>
+<a class="anchor" id="ac3c3c0fe665086b60dac657b8ee40911"></a>
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename T &gt; </div>
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="classflair_1_1core_1_1_vector2_d.html">Vector2D</a>&lt;T&gt; flair::core::operator- </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="classflair_1_1core_1_1_vector2_d.html">Vector2D</a>&lt; T &gt; &amp;&#160;</td>
+          <td class="paramname"><em>vectorA</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Opposite. </p>
+<p>Opposite</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">vectorA</td><td>vector</td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>-vectorA </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="afed3cf9fa6c2e0afb37994f55222d019"></a>
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename T &gt; </div>
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="classflair_1_1core_1_1_vector2_d.html">Vector2D</a>&lt;T&gt; flair::core::operator/ </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="classflair_1_1core_1_1_vector2_d.html">Vector2D</a>&lt; T &gt; &amp;&#160;</td>
           <td class="paramname"><em>vector</em>, </td>
         </tr>
@@ -777,12 +835,14 @@
 </div>
 </div>
-<a class="anchor" id="a6d9cfe0404b2d0f59598ede6cad5b036"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="classflair_1_1core_1_1_vector2_d.html">Vector2D</a> flair::core::operator* </td>
-          <td>(</td>
-          <td class="paramtype">const <a class="el" href="classflair_1_1core_1_1_vector2_d.html">Vector2D</a> &amp;&#160;</td>
+<a class="anchor" id="a4f6b5216e29c497351829aae1cd86ca4"></a>
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename T &gt; </div>
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="classflair_1_1core_1_1_vector2_d.html">Vector2D</a>&lt;T&gt; flair::core::operator* </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="classflair_1_1core_1_1_vector2_d.html">Vector2D</a>&lt; T &gt; &amp;&#160;</td>
           <td class="paramname"><em>vector</em>, </td>
         </tr>
@@ -814,10 +874,12 @@
 </div>
 </div>
-<a class="anchor" id="a2701e2f2b64dcf867078a3fd2e01ec9f"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="classflair_1_1core_1_1_vector2_d.html">Vector2D</a> flair::core::operator* </td>
+<a class="anchor" id="a002f684b4b4b844feaed934297b651a2"></a>
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename T &gt; </div>
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="classflair_1_1core_1_1_vector2_d.html">Vector2D</a>&lt;T&gt; flair::core::operator* </td>
           <td>(</td>
           <td class="paramtype">float&#160;</td>
@@ -827,5 +889,5 @@
           <td class="paramkey"></td>
           <td></td>
-          <td class="paramtype">const <a class="el" href="classflair_1_1core_1_1_vector2_d.html">Vector2D</a> &amp;&#160;</td>
+          <td class="paramtype">const <a class="el" href="classflair_1_1core_1_1_vector2_d.html">Vector2D</a>&lt; T &gt; &amp;&#160;</td>
           <td class="paramname"><em>vector</em>&#160;</td>
         </tr>
@@ -851,12 +913,14 @@
 </div>
 </div>
-<a class="anchor" id="a6445af2cc5145fc68833d6257072bcb5"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="classflair_1_1core_1_1_vector3_d.html">Vector3D</a> flair::core::operator+ </td>
-          <td>(</td>
-          <td class="paramtype">const <a class="el" href="classflair_1_1core_1_1_vector3_d.html">Vector3D</a> &amp;&#160;</td>
+<a class="anchor" id="a131335b8d92a76f6d3a40d9762ad0bdb"></a>
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename T &gt; </div>
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="classflair_1_1core_1_1_vector3_d.html">Vector3D</a>&lt;T&gt; flair::core::operator+ </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="classflair_1_1core_1_1_vector3_d.html">Vector3D</a>&lt; T &gt; &amp;&#160;</td>
           <td class="paramname"><em>vectorA</em>, </td>
         </tr>
@@ -864,5 +928,5 @@
           <td class="paramkey"></td>
           <td></td>
-          <td class="paramtype">const <a class="el" href="classflair_1_1core_1_1_vector3_d.html">Vector3D</a> &amp;&#160;</td>
+          <td class="paramtype">const <a class="el" href="classflair_1_1core_1_1_vector3_d.html">Vector3D</a>&lt; T &gt; &amp;&#160;</td>
           <td class="paramname"><em>vectorB</em>&#160;</td>
         </tr>
@@ -888,12 +952,14 @@
 </div>
 </div>
-<a class="anchor" id="aa699543f49850bdc5a3707ae6f768907"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="classflair_1_1core_1_1_vector3_d.html">Vector3D</a> flair::core::operator- </td>
-          <td>(</td>
-          <td class="paramtype">const <a class="el" href="classflair_1_1core_1_1_vector3_d.html">Vector3D</a> &amp;&#160;</td>
+<a class="anchor" id="a8672d248dccb0e7378a7b01a41a9e4e9"></a>
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename T &gt; </div>
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="classflair_1_1core_1_1_vector3_d.html">Vector3D</a>&lt;T&gt; flair::core::operator- </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="classflair_1_1core_1_1_vector3_d.html">Vector3D</a>&lt; T &gt; &amp;&#160;</td>
           <td class="paramname"><em>vectorA</em>, </td>
         </tr>
@@ -901,5 +967,5 @@
           <td class="paramkey"></td>
           <td></td>
-          <td class="paramtype">const <a class="el" href="classflair_1_1core_1_1_vector3_d.html">Vector3D</a> &amp;&#160;</td>
+          <td class="paramtype">const <a class="el" href="classflair_1_1core_1_1_vector3_d.html">Vector3D</a>&lt; T &gt; &amp;&#160;</td>
           <td class="paramname"><em>vectorB</em>&#160;</td>
         </tr>
@@ -925,12 +991,14 @@
 </div>
 </div>
-<a class="anchor" id="a25508af0e609e676205a68f528b72f7c"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="classflair_1_1core_1_1_vector3_d.html">Vector3D</a> flair::core::operator- </td>
-          <td>(</td>
-          <td class="paramtype">const <a class="el" href="classflair_1_1core_1_1_vector3_d.html">Vector3D</a> &amp;&#160;</td>
+<a class="anchor" id="af0db4963be6fc919dd900fd01d9a61f0"></a>
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename T &gt; </div>
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="classflair_1_1core_1_1_vector3_d.html">Vector3D</a>&lt;T&gt; flair::core::operator- </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="classflair_1_1core_1_1_vector3_d.html">Vector3D</a>&lt; T &gt; &amp;&#160;</td>
           <td class="paramname"><em>vector</em></td><td>)</td>
           <td></td>
@@ -951,12 +1019,14 @@
 </div>
 </div>
-<a class="anchor" id="a8aa5ce31a59d8c9679ea46f08cd09bda"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="classflair_1_1core_1_1_vector3_d.html">Vector3D</a> flair::core::operator/ </td>
-          <td>(</td>
-          <td class="paramtype">const <a class="el" href="classflair_1_1core_1_1_vector3_d.html">Vector3D</a> &amp;&#160;</td>
+<a class="anchor" id="a65433796fbd8ccc2e1bb797be204b249"></a>
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename T &gt; </div>
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="classflair_1_1core_1_1_vector3_d.html">Vector3D</a>&lt;T&gt; flair::core::operator/ </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="classflair_1_1core_1_1_vector3_d.html">Vector3D</a>&lt; T &gt; &amp;&#160;</td>
           <td class="paramname"><em>vector</em>, </td>
         </tr>
@@ -988,12 +1058,14 @@
 </div>
 </div>
-<a class="anchor" id="a09c909db6a634147cc63ebd2aea5a2d2"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="classflair_1_1core_1_1_vector3_d.html">Vector3D</a> flair::core::operator* </td>
-          <td>(</td>
-          <td class="paramtype">const <a class="el" href="classflair_1_1core_1_1_vector3_d.html">Vector3D</a> &amp;&#160;</td>
+<a class="anchor" id="a2b78f60f37e4ba6d62db603ca6631e95"></a>
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename T &gt; </div>
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="classflair_1_1core_1_1_vector3_d.html">Vector3D</a>&lt;T&gt; flair::core::operator* </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="classflair_1_1core_1_1_vector3_d.html">Vector3D</a>&lt; T &gt; &amp;&#160;</td>
           <td class="paramname"><em>vectorA</em>, </td>
         </tr>
@@ -1001,5 +1073,5 @@
           <td class="paramkey"></td>
           <td></td>
-          <td class="paramtype">const <a class="el" href="classflair_1_1core_1_1_vector3_d.html">Vector3D</a> &amp;&#160;</td>
+          <td class="paramtype">const <a class="el" href="classflair_1_1core_1_1_vector3_d.html">Vector3D</a>&lt; T &gt; &amp;&#160;</td>
           <td class="paramname"><em>vectorB</em>&#160;</td>
         </tr>
@@ -1025,12 +1097,14 @@
 </div>
 </div>
-<a class="anchor" id="a02ef876816209fff2d79cb1d79ccff84"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="classflair_1_1core_1_1_vector3_d.html">Vector3D</a> flair::core::operator* </td>
-          <td>(</td>
-          <td class="paramtype">const <a class="el" href="classflair_1_1core_1_1_vector3_d.html">Vector3D</a> &amp;&#160;</td>
+<a class="anchor" id="a2604f9cc047961b44a0db4aa0434b36e"></a>
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename T &gt; </div>
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="classflair_1_1core_1_1_vector3_d.html">Vector3D</a>&lt;T&gt; flair::core::operator* </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="classflair_1_1core_1_1_vector3_d.html">Vector3D</a>&lt; T &gt; &amp;&#160;</td>
           <td class="paramname"><em>vector</em>, </td>
         </tr>
@@ -1062,10 +1136,12 @@
 </div>
 </div>
-<a class="anchor" id="a449cfa3fbd1852d5718a835112f6957e"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="classflair_1_1core_1_1_vector3_d.html">Vector3D</a> flair::core::operator* </td>
+<a class="anchor" id="a661465072c8d4b3592abde48c068d73a"></a>
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename T &gt; </div>
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="classflair_1_1core_1_1_vector3_d.html">Vector3D</a>&lt;T&gt; flair::core::operator* </td>
           <td>(</td>
           <td class="paramtype">float&#160;</td>
@@ -1075,5 +1151,5 @@
           <td class="paramkey"></td>
           <td></td>
-          <td class="paramtype">const <a class="el" href="classflair_1_1core_1_1_vector3_d.html">Vector3D</a> &amp;&#160;</td>
+          <td class="paramtype">const <a class="el" href="classflair_1_1core_1_1_vector3_d.html">Vector3D</a>&lt; T &gt; &amp;&#160;</td>
           <td class="paramname"><em>vector</em>&#160;</td>
         </tr>
@@ -1099,12 +1175,14 @@
 </div>
 </div>
-<a class="anchor" id="a4e3e0c05a548ad880197a0f90cb68305"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="classflair_1_1core_1_1_vector3_d.html">Vector3D</a> flair::core::CrossProduct </td>
-          <td>(</td>
-          <td class="paramtype">const <a class="el" href="classflair_1_1core_1_1_vector3_d.html">Vector3D</a> &amp;&#160;</td>
+<a class="anchor" id="a619733e606845eb59f7e779f2f119019"></a>
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename T &gt; </div>
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="classflair_1_1core_1_1_vector3_d.html">Vector3D</a>&lt;T&gt; flair::core::CrossProduct </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="classflair_1_1core_1_1_vector3_d.html">Vector3D</a>&lt; T &gt; &amp;&#160;</td>
           <td class="paramname"><em>vectorA</em>, </td>
         </tr>
@@ -1112,5 +1190,5 @@
           <td class="paramkey"></td>
           <td></td>
-          <td class="paramtype">const <a class="el" href="classflair_1_1core_1_1_vector3_d.html">Vector3D</a> &amp;&#160;</td>
+          <td class="paramtype">const <a class="el" href="classflair_1_1core_1_1_vector3_d.html">Vector3D</a>&lt; T &gt; &amp;&#160;</td>
           <td class="paramname"><em>vectorB</em>&#160;</td>
         </tr>
@@ -1136,12 +1214,14 @@
 </div>
 </div>
-<a class="anchor" id="a0eaa0f510f506d44345e82acd65e9b86"></a>
-<div class="memitem">
-<div class="memproto">
+<a class="anchor" id="a792d54dcdbd816e6c7bc5ac04b5d9b22"></a>
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename T &gt; </div>
       <table class="memname">
         <tr>
           <td class="memname">float flair::core::DotProduct </td>
           <td>(</td>
-          <td class="paramtype">const <a class="el" href="classflair_1_1core_1_1_vector3_d.html">Vector3D</a> &amp;&#160;</td>
+          <td class="paramtype">const <a class="el" href="classflair_1_1core_1_1_vector3_d.html">Vector3D</a>&lt; T &gt; &amp;&#160;</td>
           <td class="paramname"><em>vectorA</em>, </td>
         </tr>
@@ -1149,5 +1229,5 @@
           <td class="paramkey"></td>
           <td></td>
-          <td class="paramtype">const <a class="el" href="classflair_1_1core_1_1_vector3_d.html">Vector3D</a> &amp;&#160;</td>
+          <td class="paramtype">const <a class="el" href="classflair_1_1core_1_1_vector3_d.html">Vector3D</a>&lt; T &gt; &amp;&#160;</td>
           <td class="paramname"><em>vectorB</em>&#160;</td>
         </tr>
@@ -1179,5 +1259,5 @@
   <ul>
     <li class="navelem"><a class="el" href="namespaceflair.html">flair</a></li><li class="navelem"><a class="el" href="namespaceflair_1_1core.html">core</a></li>
-    <li class="footer">Generated on Tue Jan 17 2017 09:52:30 for Flair by
+    <li class="footer">Generated on Wed May 31 2017 13:50:37 for Flair by
     <a href="http://www.doxygen.org/index.html">
     <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.9.1 </li>
