This commit is contained in:
r.koeppe
2024-05-14 02:14:13 +02:00
parent 0052d3984b
commit 2d22ccd2d6
1423 changed files with 354055 additions and 7 deletions

View File

@ -0,0 +1,246 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.10"/>
<title>VectorNav C++ Library: include/vn/vector.h File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
$(document).ready(function() { init_search(); });
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectlogo"><img alt="Logo" src="proglib.png"/></td>
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">VectorNav C++ Library
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.10 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li><a href="annotated.html"><span>Classes</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
<li><a href="examples.html"><span>Examples</span></a></li>
<li>
<div id="MSearchBox" class="MSearchBoxInactive">
<span class="left">
<img id="MSearchSelect" src="search/mag_sel.png"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
alt=""/>
<input type="text" id="MSearchField" value="Search" accesskey="S"
onfocus="searchBox.OnSearchFieldFocus(true)"
onblur="searchBox.OnSearchFieldFocus(false)"
onkeyup="searchBox.OnSearchFieldChange(event)"/>
</span><span class="right">
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
</span>
</div>
</li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="files.html"><span>File&#160;List</span></a></li>
<li><a href="globals.html"><span>File&#160;Members</span></a></li>
</ul>
</div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="dir_d44c64559bbebec7f509842c48db8b23.html">include</a></li><li class="navelem"><a class="el" href="dir_8bde4b85f1f8cd0faa87b91375e717e4.html">vn</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="summary">
<a href="#nested-classes">Classes</a> &#124;
<a href="#typedef-members">Typedefs</a> &#124;
<a href="#func-members">Functions</a> </div>
<div class="headertitle">
<div class="title">vector.h File Reference</div> </div>
</div><!--header-->
<div class="contents">
<div class="textblock"><code>#include &lt;cassert&gt;</code><br />
<code>#include &lt;sstream&gt;</code><br />
<code>#include &lt;ostream&gt;</code><br />
<code>#include &lt;cmath&gt;</code><br />
<code>#include &quot;<a class="el" href="exceptions_8h_source.html">exceptions.h</a>&quot;</code><br />
<code>#include &quot;<a class="el" href="int_8h_source.html">int.h</a>&quot;</code><br />
</div>
<p><a href="vector_8h_source.html">Go to the source code of this file.</a></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
Classes</h2></td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structvn_1_1math_1_1vec.html">vn::math::vec&lt; tdim, T &gt;</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Template for a Euclidean vector. <a href="structvn_1_1math_1_1vec.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">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structvn_1_1math_1_1vec_3_012_00_01_t_01_4.html">vn::math::vec&lt; 2, T &gt;</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Vector with 2 component specialization. <a href="structvn_1_1math_1_1vec_3_012_00_01_t_01_4.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">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structvn_1_1math_1_1vec_3_013_00_01_t_01_4.html">vn::math::vec&lt; 3, T &gt;</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Vector with 3 component specialization. <a href="structvn_1_1math_1_1vec_3_013_00_01_t_01_4.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">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structvn_1_1math_1_1vec_3_014_00_01_t_01_4.html">vn::math::vec&lt; 4, T &gt;</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Vector with 4 component specialization. <a href="structvn_1_1math_1_1vec_3_014_00_01_t_01_4.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="typedef-members"></a>
Typedefs</h2></td></tr>
<tr class="memitem:a886c272d289cc93040af78544dbf8483"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a886c272d289cc93040af78544dbf8483"></a>
typedef vec&lt; 2 &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>vn::math::vec2</b></td></tr>
<tr class="memdesc:a886c272d289cc93040af78544dbf8483"><td class="mdescLeft">&#160;</td><td class="mdescRight">2-component vector using <code>float</code> as its underlying data type. <br /></td></tr>
<tr class="separator:a886c272d289cc93040af78544dbf8483"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5903d87a036f9b8297d4d3fec9707a4d"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a5903d87a036f9b8297d4d3fec9707a4d"></a>
typedef vec&lt; 3 &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>vn::math::vec3</b></td></tr>
<tr class="memdesc:a5903d87a036f9b8297d4d3fec9707a4d"><td class="mdescLeft">&#160;</td><td class="mdescRight">3-component vector using <code>float</code> as its underlying data type. <br /></td></tr>
<tr class="separator:a5903d87a036f9b8297d4d3fec9707a4d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1070885fd6ac4e67bb62fd1e63be663d"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a1070885fd6ac4e67bb62fd1e63be663d"></a>
typedef vec&lt; 4 &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>vn::math::vec4</b></td></tr>
<tr class="memdesc:a1070885fd6ac4e67bb62fd1e63be663d"><td class="mdescLeft">&#160;</td><td class="mdescRight">4-component vector using <code>float</code> as its underlying data type. <br /></td></tr>
<tr class="separator:a1070885fd6ac4e67bb62fd1e63be663d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a29c942a02f03d4a939735a4ccb1de1ca"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a29c942a02f03d4a939735a4ccb1de1ca"></a>
typedef vec&lt; 2, float &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>vn::math::vec2f</b></td></tr>
<tr class="memdesc:a29c942a02f03d4a939735a4ccb1de1ca"><td class="mdescLeft">&#160;</td><td class="mdescRight">2-component vector using <code>float</code> as its underlying data type. <br /></td></tr>
<tr class="separator:a29c942a02f03d4a939735a4ccb1de1ca"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adfb584e700d8297b7a84597837168bdb"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="adfb584e700d8297b7a84597837168bdb"></a>
typedef vec&lt; 3, float &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>vn::math::vec3f</b></td></tr>
<tr class="memdesc:adfb584e700d8297b7a84597837168bdb"><td class="mdescLeft">&#160;</td><td class="mdescRight">3-component vector using <code>float</code> as its underlying data type. <br /></td></tr>
<tr class="separator:adfb584e700d8297b7a84597837168bdb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acf64eaf53494c441ebe4be8d0638eaa2"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="acf64eaf53494c441ebe4be8d0638eaa2"></a>
typedef vec&lt; 4, float &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>vn::math::vec4f</b></td></tr>
<tr class="memdesc:acf64eaf53494c441ebe4be8d0638eaa2"><td class="mdescLeft">&#160;</td><td class="mdescRight">4-component vector using <code>float</code> as its underlying data type. <br /></td></tr>
<tr class="separator:acf64eaf53494c441ebe4be8d0638eaa2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa38bfb3a53b4857c84c4a389c14dc8ea"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aa38bfb3a53b4857c84c4a389c14dc8ea"></a>
typedef vec&lt; 2, double &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>vn::math::vec2d</b></td></tr>
<tr class="memdesc:aa38bfb3a53b4857c84c4a389c14dc8ea"><td class="mdescLeft">&#160;</td><td class="mdescRight">2-component vector using <code>double</code> as its underlying data type. <br /></td></tr>
<tr class="separator:aa38bfb3a53b4857c84c4a389c14dc8ea"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aaea52d1add022b7ae58a2720c99f1df1"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aaea52d1add022b7ae58a2720c99f1df1"></a>
typedef vec&lt; 3, double &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>vn::math::vec3d</b></td></tr>
<tr class="memdesc:aaea52d1add022b7ae58a2720c99f1df1"><td class="mdescLeft">&#160;</td><td class="mdescRight">3-component vector using <code>double</code> as its underlying data type. <br /></td></tr>
<tr class="separator:aaea52d1add022b7ae58a2720c99f1df1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5c5ddf08e42617fe09f34ca323c55e0b"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a5c5ddf08e42617fe09f34ca323c55e0b"></a>
typedef vec&lt; 4, double &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>vn::math::vec4d</b></td></tr>
<tr class="memdesc:a5c5ddf08e42617fe09f34ca323c55e0b"><td class="mdescLeft">&#160;</td><td class="mdescRight">4-component vector using <code>double</code> as its underlying data type. <br /></td></tr>
<tr class="separator:a5c5ddf08e42617fe09f34ca323c55e0b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0df2157d69a0c1f53fef811989ccdb72"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a0df2157d69a0c1f53fef811989ccdb72"></a>
typedef vec&lt; 2, long double &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>vn::math::vec2ld</b></td></tr>
<tr class="memdesc:a0df2157d69a0c1f53fef811989ccdb72"><td class="mdescLeft">&#160;</td><td class="mdescRight">2-component vector using <code>long double</code> as its underlying data type. <br /></td></tr>
<tr class="separator:a0df2157d69a0c1f53fef811989ccdb72"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adb0e23e841fdc79fb86587d5ffa42042"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="adb0e23e841fdc79fb86587d5ffa42042"></a>
typedef vec&lt; 3, long double &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>vn::math::vec3ld</b></td></tr>
<tr class="memdesc:adb0e23e841fdc79fb86587d5ffa42042"><td class="mdescLeft">&#160;</td><td class="mdescRight">3-component vector using <code>long double</code> as its underlying data type. <br /></td></tr>
<tr class="separator:adb0e23e841fdc79fb86587d5ffa42042"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac173f4c7546d2a17789d0e551436ee8a"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ac173f4c7546d2a17789d0e551436ee8a"></a>
typedef vec&lt; 4, long double &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>vn::math::vec4ld</b></td></tr>
<tr class="memdesc:ac173f4c7546d2a17789d0e551436ee8a"><td class="mdescLeft">&#160;</td><td class="mdescRight">4-component vector using <code>long double</code> as its underlying data type. <br /></td></tr>
<tr class="separator:ac173f4c7546d2a17789d0e551436ee8a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa612e6ee75c84a71437834120d8221f4"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aa612e6ee75c84a71437834120d8221f4"></a>
typedef vec&lt; 2, int32_t &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>vn::math::vec2i32</b></td></tr>
<tr class="memdesc:aa612e6ee75c84a71437834120d8221f4"><td class="mdescLeft">&#160;</td><td class="mdescRight">2-component vector using <code>int32_t</code> as its underlying data type. <br /></td></tr>
<tr class="separator:aa612e6ee75c84a71437834120d8221f4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae1c3c21c6deb2eb7710a3c8e67cea67a"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ae1c3c21c6deb2eb7710a3c8e67cea67a"></a>
typedef vec2i32&#160;</td><td class="memItemRight" valign="bottom"><b>vn::math::ivec2</b></td></tr>
<tr class="memdesc:ae1c3c21c6deb2eb7710a3c8e67cea67a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Namenclature used by OpenGL API. <br /></td></tr>
<tr class="separator:ae1c3c21c6deb2eb7710a3c8e67cea67a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae9a42600c31ea66097c015bd8726df12"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ae9a42600c31ea66097c015bd8726df12"></a>
typedef vec&lt; 3, int32_t &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>vn::math::vec3i32</b></td></tr>
<tr class="memdesc:ae9a42600c31ea66097c015bd8726df12"><td class="mdescLeft">&#160;</td><td class="mdescRight">3-component vector using <code>int32_t</code> as its underlying data type. <br /></td></tr>
<tr class="separator:ae9a42600c31ea66097c015bd8726df12"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1a68c235486d413aaf6c2e362b961b65"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a1a68c235486d413aaf6c2e362b961b65"></a>
typedef vec&lt; 4, int32_t &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>vn::math::vec4i32</b></td></tr>
<tr class="memdesc:a1a68c235486d413aaf6c2e362b961b65"><td class="mdescLeft">&#160;</td><td class="mdescRight">4-component vector using <code>int32_t</code> as its underlying data type. <br /></td></tr>
<tr class="separator:a1a68c235486d413aaf6c2e362b961b65"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae8acb3a74180d70d2b144efcc38f1762"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ae8acb3a74180d70d2b144efcc38f1762"></a>
typedef vec&lt; 2, uint32_t &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>vn::math::vec2u32</b></td></tr>
<tr class="memdesc:ae8acb3a74180d70d2b144efcc38f1762"><td class="mdescLeft">&#160;</td><td class="mdescRight">2-component vector using <code>uint32_t</code> as its underlying data type. <br /></td></tr>
<tr class="separator:ae8acb3a74180d70d2b144efcc38f1762"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a439cd1b7b332f0378c0d0f305e7f28e9"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a439cd1b7b332f0378c0d0f305e7f28e9"></a>
typedef vec&lt; 3, uint32_t &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>vn::math::vec3u32</b></td></tr>
<tr class="memdesc:a439cd1b7b332f0378c0d0f305e7f28e9"><td class="mdescLeft">&#160;</td><td class="mdescRight">3-component vector using <code>uint32_t</code> as its underlying data type. <br /></td></tr>
<tr class="separator:a439cd1b7b332f0378c0d0f305e7f28e9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9730351a52d335ffb154ceaf58ad6a74"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a9730351a52d335ffb154ceaf58ad6a74"></a>
typedef vec&lt; 4, uint32_t &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>vn::math::vec4u32</b></td></tr>
<tr class="memdesc:a9730351a52d335ffb154ceaf58ad6a74"><td class="mdescLeft">&#160;</td><td class="mdescRight">4-component vector using <code>uint32_t</code> as its underlying data type. <br /></td></tr>
<tr class="separator:a9730351a52d335ffb154ceaf58ad6a74"><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>
Functions</h2></td></tr>
<tr class="memitem:af38988ef3b6354cfba4d4ce445999938"><td class="memTemplParams" colspan="2">template&lt;size_t tdim, typename T &gt; </td></tr>
<tr class="memitem:af38988ef3b6354cfba4d4ce445999938"><td class="memTemplItemLeft" align="right" valign="top">vec&lt; tdim, T &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><b>vn::math::operator+</b> (vec&lt; tdim, T &gt; lhs, const vec&lt; tdim, T &gt; &amp;rhs)</td></tr>
<tr class="memdesc:af38988ef3b6354cfba4d4ce445999938"><td class="mdescLeft">&#160;</td><td class="mdescRight">Adds two vectors together. <a href="namespacevn_1_1math.html#af38988ef3b6354cfba4d4ce445999938">More...</a><br /></td></tr>
<tr class="separator:af38988ef3b6354cfba4d4ce445999938"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac9f4aa30ebc08b5bedfd25be5944d5b3"><td class="memTemplParams" colspan="2">template&lt;size_t tdim, typename T &gt; </td></tr>
<tr class="memitem:ac9f4aa30ebc08b5bedfd25be5944d5b3"><td class="memTemplItemLeft" align="right" valign="top">vec&lt; tdim, T &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><b>vn::math::operator-</b> (vec&lt; tdim, T &gt; lhs, const vec&lt; tdim, T &gt; &amp;rhs)</td></tr>
<tr class="memdesc:ac9f4aa30ebc08b5bedfd25be5944d5b3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Subtracts a vector from another vector. <a href="namespacevn_1_1math.html#ac9f4aa30ebc08b5bedfd25be5944d5b3">More...</a><br /></td></tr>
<tr class="separator:ac9f4aa30ebc08b5bedfd25be5944d5b3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae6ceb7388122f4e704fcd8188759a912"><td class="memTemplParams" colspan="2">template&lt;size_t tdim, typename T , typename S &gt; </td></tr>
<tr class="memitem:ae6ceb7388122f4e704fcd8188759a912"><td class="memTemplItemLeft" align="right" valign="top">vec&lt; tdim, T &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><b>vn::math::operator*</b> (vec&lt; tdim, T &gt; lhs, const S &amp;rhs)</td></tr>
<tr class="memdesc:ae6ceb7388122f4e704fcd8188759a912"><td class="mdescLeft">&#160;</td><td class="mdescRight">Multiplies a vector by a scalar. Done both ways for python. <a href="namespacevn_1_1math.html#ae6ceb7388122f4e704fcd8188759a912">More...</a><br /></td></tr>
<tr class="separator:ae6ceb7388122f4e704fcd8188759a912"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1703a279954a6eef0282328fb7a2b4af"><td class="memTemplParams" colspan="2">template&lt;size_t tdim, typename T , typename S &gt; </td></tr>
<tr class="memitem:a1703a279954a6eef0282328fb7a2b4af"><td class="memTemplItemLeft" align="right" valign="top">vec&lt; tdim, T &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><b>vn::math::operator*</b> (const S &amp;rhs, vec&lt; tdim, T &gt; lhs)</td></tr>
<tr class="memdesc:a1703a279954a6eef0282328fb7a2b4af"><td class="mdescLeft">&#160;</td><td class="mdescRight">Multiplies a vector by a scalar. Done both ways for Python. <a href="namespacevn_1_1math.html#a1703a279954a6eef0282328fb7a2b4af">More...</a><br /></td></tr>
<tr class="separator:a1703a279954a6eef0282328fb7a2b4af"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a23a56cba5d465b03356488e1d1f14905"><td class="memTemplParams" colspan="2">template&lt;size_t tdim, typename T , typename S &gt; </td></tr>
<tr class="memitem:a23a56cba5d465b03356488e1d1f14905"><td class="memTemplItemLeft" align="right" valign="top">vec&lt; tdim, T &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><b>vn::math::operator/</b> (vec&lt; tdim, T &gt; lhs, const S &amp;rhs)</td></tr>
<tr class="memdesc:a23a56cba5d465b03356488e1d1f14905"><td class="mdescLeft">&#160;</td><td class="mdescRight">Divides a vector by a scalar. <a href="namespacevn_1_1math.html#a23a56cba5d465b03356488e1d1f14905">More...</a><br /></td></tr>
<tr class="separator:a23a56cba5d465b03356488e1d1f14905"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae2b92bce721726251390ee3ff15dfa78"><td class="memTemplParams" colspan="2">template&lt;size_t tdim, typename T &gt; </td></tr>
<tr class="memitem:ae2b92bce721726251390ee3ff15dfa78"><td class="memTemplItemLeft" align="right" valign="top">std::string&#160;</td><td class="memTemplItemRight" valign="bottom"><b>vn::math::str</b> (vec&lt; tdim, T &gt; v)</td></tr>
<tr class="memdesc:ae2b92bce721726251390ee3ff15dfa78"><td class="mdescLeft">&#160;</td><td class="mdescRight">Provides a method to generate a representable string from a provided vector. <a href="namespacevn_1_1math.html#ae2b92bce721726251390ee3ff15dfa78">More...</a><br /></td></tr>
<tr class="separator:ae2b92bce721726251390ee3ff15dfa78"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7d110ed39a22f31c61b5bcb9682cff13"><td class="memTemplParams" colspan="2">template&lt;size_t tdim, typename T &gt; </td></tr>
<tr class="memitem:a7d110ed39a22f31c61b5bcb9682cff13"><td class="memTemplItemLeft" align="right" valign="top">std::ostream &amp;&#160;</td><td class="memTemplItemRight" valign="bottom"><b>vn::math::operator&lt;&lt;</b> (std::ostream &amp;out, vec&lt; tdim, T &gt; v)</td></tr>
<tr class="memdesc:a7d110ed39a22f31c61b5bcb9682cff13"><td class="mdescLeft">&#160;</td><td class="mdescRight">Overloads the ostream &lt;&lt; operator for easy usage in displaying vectors. <a href="namespacevn_1_1math.html#a7d110ed39a22f31c61b5bcb9682cff13">More...</a><br /></td></tr>
<tr class="separator:a7d110ed39a22f31c61b5bcb9682cff13"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>{COMMON_HEADER}</p>
<h1><a class="anchor" id="DESCRIPTION"></a>
DESCRIPTION</h1>
<p>This header file provides may types for working with vectors. </p>
</div></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Tue Jan 3 2017 18:27:04 for VectorNav C++ Library by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.10
</small></address>
</body>
</html>