Sophie

Sophie

distrib > Fedora > 16 > i386 > by-pkgid > 4bc66056a634db26a1f4d0845dc41ca6 > files > 4296

mrpt-doc-0.9.5-0.1.20110925svn2670.fc16.i686.rpm

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<title>mrpt::math::CMatrixTemplateObjects Class Reference</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
<link href="tabs.css" rel="stylesheet" type="text/css">
</head><body>
<div align="left"><a href="http://www.mrpt.org/">Main MRPT website</a> &gt; <b>C++ reference</b> </div>
<div align="right">
<a href="index.html"><img border="0" src="mrpt_logo.png" alt="MRPT logo"></a>
</div>
<!-- Generated by Doxygen 1.7.5 -->
<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="namespaces.html"><span>Namespaces</span></a></li>
      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
      <li><a href="files.html"><span>Files</span></a></li>
      <li>
        <div id="MSearchBox" class="MSearchBoxInactive">
          <div class="left">
            <form id="FSearchBox" action="search.php" method="get">
              <img id="MSearchSelect" src="search/mag.png" alt=""/>
              <input type="text" id="MSearchField" name="query" value="Search" size="20" accesskey="S" 
                     onfocus="searchBox.OnSearchFieldFocus(true)" 
                     onblur="searchBox.OnSearchFieldFocus(false)"/>
            </form>
          </div><div class="right"></div>
        </div>
      </li>
    </ul>
  </div>
  <div id="navrow2" class="tabs2">
    <ul class="tablist">
      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
      <li><a href="inherits.html"><span>Class&#160;Hierarchy</span></a></li>
      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
    </ul>
  </div>
  <div id="nav-path" class="navpath">
    <ul>
      <li class="navelem"><a class="el" href="namespacemrpt.html">mrpt</a>      </li>
      <li class="navelem"><a class="el" href="namespacemrpt_1_1math.html">math</a>      </li>
      <li class="navelem"><a class="el" href="classmrpt_1_1math_1_1_c_matrix_template_objects.html">CMatrixTemplateObjects</a>      </li>
    </ul>
  </div>
</div>
<div class="header">
  <div class="summary">
<a href="#pub-types">Public Types</a> &#124;
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pro-methods">Protected Member Functions</a> &#124;
<a href="#pro-attribs">Protected Attributes</a> &#124;
<a href="#pri-attribs">Private Attributes</a>  </div>
  <div class="headertitle">
<div class="title">mrpt::math::CMatrixTemplateObjects Class Reference<div class="ingroups"><a class="el" href="group__mrpt__base__grp.html">[mrpt-base]</a></div></div>  </div>
</div>
<div class="contents">
<!-- doxytag: class="mrpt::math::CMatrixTemplateObjects" --><!-- doxytag: inherits="CMatrixTemplate&lt; T * &gt;" --><hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
<div class="textblock"><p>This template class extends the class "CMatrixTemplate" for storing "objects" at each matrix entry. </p>
<p>This class allows a very efficient representation of sparse matrixes where each cell is an arbitrary C++ class, but its use must carefully observe the following rules:</p>
<ul>
<li>The type in the template especialization MUST be a class with a proper default constructor.</li>
<li>Initially all entries are set to NULL pointers.</li>
<li>Pointers can be manually asigned, or automatically created through a call to "CMatrixTemplateObjects&lt;T&gt;::allocAllObjects"</li>
<li>Independently of how pointers are asigned, memory will be free by destroying objects for each non-NULL entry in the matrix. In some special situations, the user can indicate not to free those objects by calling "CMatrixTemplateObjects&lt;T&gt;::setDestroyBehavior", then it is up to the user to free the memory. In all cases the default behavior is to free the memory.</li>
<li>Asignament operator with matrixes will COPY THE POINTERS, thus a copy of objects is not performed.</li>
<li>WARNING: Objects are not deleted while shrinking the matrix by calling "setSize", thus please call ""<a class="el" href="classmrpt_1_1math_1_1_c_matrix_template_objects.html#a3b54e039cb173a134dd27c405be4341b" title="Delete all the objects in the matrix and set all entries to NULL pointers.">CMatrixTemplateObjects&lt;T&gt;::freeAllObjects</a>" or manually delete objects before shrinking.</li>
</ul>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="classmrpt_1_1math_1_1_c_matrix_template.html" title="This template class provides the basic functionality for a general 2D any-size, resizable container o...">CMatrixTemplate</a> </dd></dl>
</div>
<p><code>#include &lt;<a class="el" href="_c_matrix_template_objects_8h_source.html">mrpt/math/CMatrixTemplateObjects.h</a>&gt;</code></p>
<div class="dynheader">
Inheritance diagram for mrpt::math::CMatrixTemplateObjects:</div>
<div class="dyncontent">
<div class="center"><img src="classmrpt_1_1math_1_1_c_matrix_template_objects__inherit__graph.png" border="0" usemap="#mrpt_1_1math_1_1_c_matrix_template_objects_inherit__map" alt="Inheritance graph"/></div>
<map name="mrpt_1_1math_1_1_c_matrix_template_objects_inherit__map" id="mrpt_1_1math_1_1_c_matrix_template_objects_inherit__map">
<area shape="rect" id="node2" href="classmrpt_1_1math_1_1_c_matrix_template.html" title="mrpt::math::CMatrixTemplate\&lt; T * \&gt;" alt="" coords="7,96,240,123"/><area shape="rect" id="node4" href="classmrpt_1_1math_1_1_c_matrix_template.html" title="This template class provides the basic functionality for a general 2D any&#45;size, resizable container o..." alt="" coords="27,5,220,32"/></map>
<center><span class="legend">[<a href="graph_legend.html">legend</a>]</span></center></div>

<p><a href="classmrpt_1_1math_1_1_c_matrix_template_objects-members.html">List of all members.</a></p>
<table class="memberdecls">
<tr><td colspan="2"><h2><a name="pub-types"></a>
Public Types</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">typedef T&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1math_1_1_c_matrix_template.html#a4830116521101867b1476d22ca6a693d">value_type</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">The type of the matrix elements.  <a href="#a4830116521101867b1476d22ca6a693d"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">typedef T &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1math_1_1_c_matrix_template.html#a108346cbe078d54ec6fad3ff8e1ff9b1">reference</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">typedef const T &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1math_1_1_c_matrix_template.html#a7effa0f8b45eecf05f527e6feaa61091">const_reference</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">typedef std::size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1math_1_1_c_matrix_template.html#a10907affc3d4f25d535ad2a0cd38bf67">size_type</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">typedef std::ptrdiff_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1math_1_1_c_matrix_template.html#aeba2da88f247ab02643262b0b0b0dce9">difference_type</a></td></tr>
<tr><td colspan="2"><h2><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1math_1_1_c_matrix_template_objects.html#a8a2bd256f83905b03aa61027427c8d1c">CMatrixTemplateObjects</a> (const <a class="el" href="classmrpt_1_1math_1_1_c_matrix_template.html">CMatrixTemplate</a>&lt; T &gt; &amp;m)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Copy constructor.  <a href="#a8a2bd256f83905b03aa61027427c8d1c"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1math_1_1_c_matrix_template_objects.html#a7c4eddff787a9299ce7d0178fcb72acd">CMatrixTemplateObjects</a> (size_t row=3, size_t col=3)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructor.  <a href="#a7c4eddff787a9299ce7d0178fcb72acd"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1math_1_1_c_matrix_template_objects.html#a9761820371f23027aa0a1ba502a09e03">setSize</a> (size_t row, size_t col)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Changes the size of matrix.  <a href="#a9761820371f23027aa0a1ba502a09e03"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1math_1_1_c_matrix_template_objects.html#ad5f4b8e48cb8c21ae60b38dc21c38231">~CMatrixTemplateObjects</a> ()</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Destructor.  <a href="#ad5f4b8e48cb8c21ae60b38dc21c38231"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1math_1_1_c_matrix_template_objects.html#a3b54e039cb173a134dd27c405be4341b">freeAllObjects</a> ()</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Delete all the objects in the matrix and set all entries to NULL pointers.  <a href="#a3b54e039cb173a134dd27c405be4341b"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmrpt_1_1math_1_1_c_matrix_template_objects.html">CMatrixTemplateObjects</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1math_1_1_c_matrix_template_objects.html#acb97b62bbdabddbebe4c8f19ac8dacdf">operator=</a> (const <a class="el" href="classmrpt_1_1math_1_1_c_matrix_template_objects.html">CMatrixTemplateObjects</a> &amp;m)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Assignment operator.  <a href="#acb97b62bbdabddbebe4c8f19ac8dacdf"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1math_1_1_c_matrix_template_objects.html#aef3385c06a6d102b3d626ef6243b7ea6">setDestroyBehavior</a> (bool freeObjects=true)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the behavior on matrix destroy.  <a href="#aef3385c06a6d102b3d626ef6243b7ea6"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1math_1_1_c_matrix_template_objects.html#a2c00270fda68793397786bd4e135c688">allocAllObjects</a> ()</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Alloc memory for all the non-NULL entries in the matrix.  <a href="#a2c00270fda68793397786bd4e135c688"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1math_1_1_c_matrix_template.html#a3cba8d34be5588f1feac6087b222f660">ASSERT_ENOUGHROOM</a> (size_t r, size_t c) const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Checks whether the rows [r-N,r+N] and the columns [c-N,c+N] are present in the matrix.  <a href="#a3cba8d34be5588f1feac6087b222f660"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1math_1_1_c_matrix_template.html#abf0d2fd28afe3dfb231644b488063aaa">fillAll</a> (const T &amp;val)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1math_1_1_c_matrix_template.html#ab3dbe770776954d72852612ccd776148">swap</a> (<a class="el" href="classmrpt_1_1math_1_1_c_matrix_template.html">CMatrixTemplate</a>&lt; T &gt; &amp;o)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Swap with another matrix very efficiently (just swaps a pointer and two integer values).  <a href="#ab3dbe770776954d72852612ccd776148"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1math_1_1_c_matrix_template.html#a0d8f81e3e3bd53007eb189734f6bfd05">getRowCount</a> () const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Number of rows in the matrix.  <a href="#a0d8f81e3e3bd53007eb189734f6bfd05"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1math_1_1_c_matrix_template.html#a6e471dbc4f15a3f90a969afa16adb5ac">getColCount</a> () const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Number of columns in the matrix.  <a href="#a6e471dbc4f15a3f90a969afa16adb5ac"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="structmrpt_1_1math_1_1_c_matrix_template_size.html">CMatrixTemplateSize</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1math_1_1_c_matrix_template.html#af45d31ffeb9baae30b246793cd795f19">size</a> () const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Get a 2-vector with [NROWS NCOLS] (as in MATLAB command size(x))  <a href="#af45d31ffeb9baae30b246793cd795f19"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1math_1_1_c_matrix_template.html#af881b80ad52c0cd378cdf85a10120ace">setSize</a> (size_t row, size_t col, bool zeroNewElements=false)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Changes the size of matrix, maintaining the previous contents.  <a href="#af881b80ad52c0cd378cdf85a10120ace"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1math_1_1_c_matrix_template.html#afebb79fd81c53f5dba00869c0ad43b9b">resize</a> (const <a class="el" href="structmrpt_1_1math_1_1_c_matrix_template_size.html">CMatrixTemplateSize</a> &amp;siz, bool zeroNewElements=false)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">This method just checks has no effects in this class, but raises an exception if the expected size does not match.  <a href="#afebb79fd81c53f5dba00869c0ad43b9b"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">T &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1math_1_1_c_matrix_template.html#afe572c043df380736510f33c01eceb40">operator()</a> (size_t row, size_t col)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Subscript operator to get/set individual elements.  <a href="#afe572c043df380736510f33c01eceb40"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">const T &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1math_1_1_c_matrix_template.html#a3c971495663e675d8e2c500139499f1e">operator()</a> (size_t row, size_t col) const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Subscript operator to get individual elements.  <a href="#a3c971495663e675d8e2c500139499f1e"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">T &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1math_1_1_c_matrix_template.html#a59e5ba44ee8bce50f381c6ade90031ea">operator()</a> (size_t ith)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Subscript operator to get/set an individual element from a row or column matrix.  <a href="#a59e5ba44ee8bce50f381c6ade90031ea"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">T&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1math_1_1_c_matrix_template.html#a5ca169901f8db5f2f845176e5b5db2f0">operator()</a> (size_t ith) const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Subscript operator to get/set an individual element from a row or column matrix.  <a href="#a5ca169901f8db5f2f845176e5b5db2f0"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmrpt_1_1math_1_1_c_matrix_template.html">CMatrixTemplate</a>&lt; T &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1math_1_1_c_matrix_template.html#aa258e3f0f8b27cc7ffa1b7b8c7b4fe80">operator()</a> (const size_t row1, const size_t row2, const size_t col1, const size_t col2) const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Subscript operator to get a submatrix.  <a href="#aa258e3f0f8b27cc7ffa1b7b8c7b4fe80"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1math_1_1_c_matrix_template.html#ac53acd13b4798e52710f2d90511f2df5">set_unsafe</a> (size_t row, size_t col, const T &amp;v)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Fast but unsafe method to write a value in the matrix.  <a href="#ac53acd13b4798e52710f2d90511f2df5"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">const T &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1math_1_1_c_matrix_template.html#a776dd903be8dcd2306399757bf503e0e">get_unsafe</a> (size_t row, size_t col) const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Fast but unsafe method to read a value from the matrix.  <a href="#a776dd903be8dcd2306399757bf503e0e"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">T &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1math_1_1_c_matrix_template.html#a565d5d3ae7691d9aa78d6087838fc2bd">get_unsafe</a> (size_t row, size_t col)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Fast but unsafe method to get a reference from the matrix.  <a href="#a565d5d3ae7691d9aa78d6087838fc2bd"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">T *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1math_1_1_c_matrix_template.html#ad41b157404a09714853365a6d627117a">get_unsafe_row</a> (size_t row)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Fast but unsafe method to obtain a pointer to a given row of the matrix (Use only in time critical applications)  <a href="#ad41b157404a09714853365a6d627117a"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">const T *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1math_1_1_c_matrix_template.html#ad4d5f63aa3c05fa1ef0465aac02dc857">get_unsafe_row</a> (size_t row) const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Fast but unsafe method to obtain a pointer to a given row of the matrix (Use only in critical applications)  <a href="#ad4d5f63aa3c05fa1ef0465aac02dc857"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1math_1_1_c_matrix_template.html#a62539c7ee371c00298f4515209bc7b21">extractSubmatrix</a> (const size_t row1, const size_t row2, const size_t col1, const size_t col2, <a class="el" href="classmrpt_1_1math_1_1_c_matrix_template.html">CMatrixTemplate</a>&lt; T &gt; &amp;out) const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Get a submatrix, given its bounds.  <a href="#a62539c7ee371c00298f4515209bc7b21"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1math_1_1_c_matrix_template.html#abc4dce3ea43af685bba2ac9e6f51efb8">extractSubmatrix</a> (const size_t row1, const size_t row2, const size_t col1, const size_t col2, <a class="el" href="class_eigen_1_1_matrix_base.html">Eigen::MatrixBase</a>&lt; Derived &gt; &amp;out) const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1math_1_1_c_matrix_template.html#af904aba259f53063f49e0a098ddb5924">extractRows</a> (size_t firstRow, size_t lastRow, <a class="el" href="classmrpt_1_1math_1_1_c_matrix_template.html">CMatrixTemplate</a>&lt; T &gt; &amp;out) const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets a series of contiguous rows.  <a href="#af904aba259f53063f49e0a098ddb5924"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1math_1_1_c_matrix_template.html#ab56d5fe81d7f3a83ff3d1035828aacdc">extractColumns</a> (size_t firstCol, size_t lastCol, <a class="el" href="classmrpt_1_1math_1_1_c_matrix_template.html">CMatrixTemplate</a>&lt; T &gt; &amp;out) const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets a series of contiguous columns.  <a href="#ab56d5fe81d7f3a83ff3d1035828aacdc"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1math_1_1_c_matrix_template.html#aea9bf548aabe05429ab6b3d7349101af">extractCol</a> (size_t nCol, <a class="el" href="classstd_1_1vector.html">std::vector</a>&lt; T &gt; &amp;out, int startingRow=0) const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns a given column to a vector (without modifying the matrix) </p>
<dl><dt><b>Exceptions:</b></dt><dd>
  <table class="exception">
    <tr><td class="paramname"><a class="el" href="classstd_1_1exception.html" title="STL class.">std::exception</a></td><td>On index out of bounds. </td></tr>
  </table>
  </dd>
</dl>
 <a href="#aea9bf548aabe05429ab6b3d7349101af"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1math_1_1_c_matrix_template.html#a213ac5db8e74efbcdb550ff3d13635bf">extractCol</a> (size_t nCol, <a class="el" href="classmrpt_1_1math_1_1_c_matrix_template.html">CMatrixTemplate</a>&lt; T &gt; &amp;out, int startingRow=0) const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets a given column to a vector (without modifying the matrix) </p>
<dl><dt><b>Exceptions:</b></dt><dd>
  <table class="exception">
    <tr><td class="paramname"><a class="el" href="classstd_1_1exception.html" title="STL class.">std::exception</a></td><td>On index out of bounds. </td></tr>
  </table>
  </dd>
</dl>
 <a href="#a213ac5db8e74efbcdb550ff3d13635bf"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1math_1_1_c_matrix_template.html#afc2e5b7b39c14733589e4c8b1d10e448">appendRow</a> (const <a class="el" href="classstd_1_1vector.html">std::vector</a>&lt; T &gt; &amp;in)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Appends a new row to the MxN matrix from a 1xN vector.  <a href="#afc2e5b7b39c14733589e4c8b1d10e448"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1math_1_1_c_matrix_template.html#a235ad47bf6791ab3a36d66c47594b087">appendCol</a> (const <a class="el" href="classstd_1_1vector.html">std::vector</a>&lt; T &gt; &amp;in)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Appends a new column to the matrix from a vector.  <a href="#a235ad47bf6791ab3a36d66c47594b087"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1math_1_1_c_matrix_template.html#a8319a14f3c11bf1b98620b5750854472">insertCol</a> (size_t nCol, const <a class="el" href="classstd_1_1vector.html">std::vector</a>&lt; T &gt; &amp;in)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Inserts a column from a vector, replacing the current contents of that column.  <a href="#a8319a14f3c11bf1b98620b5750854472"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1math_1_1_c_matrix_template.html#a76be0234bdae0cfbf2e2cffbf527ce21">getAsVector</a> (<a class="el" href="classstd_1_1vector.html">std::vector</a>&lt; T &gt; &amp;out) const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns a vector containing the matrix's values.  <a href="#a76be0234bdae0cfbf2e2cffbf527ce21"></a><br/></td></tr>
<tr><td colspan="2"><h2><a name="pro-methods"></a>
Protected Member Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1math_1_1_c_matrix_template.html#ac10c5fd22bc63a60fd50cdcee3c10835">realloc</a> (size_t row, size_t col, bool newElementsToZero=false)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Internal use only: It reallocs the memory for the 2D matrix, maintaining the previous contents if posible.  <a href="#ac10c5fd22bc63a60fd50cdcee3c10835"></a><br/></td></tr>
<tr><td colspan="2"><h2><a name="pro-attribs"></a>
Protected Attributes</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">T **&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1math_1_1_c_matrix_template.html#a5ca0244e5b348d1ce5666efe9d1d97f4">m_Val</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1math_1_1_c_matrix_template.html#a1d1a2aac6aaa02123208cdab76ce4de1">m_Rows</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1math_1_1_c_matrix_template.html#a40ecbadd8c4dc2267173df7f4a85ed62">m_Cols</a></td></tr>
<tr><td colspan="2"><h2><a name="pri-attribs"></a>
Private Attributes</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1math_1_1_c_matrix_template_objects.html#af33d4790eec44a27d9d76a9d1e048816">m_freeObjects</a></td></tr>
</table>
<hr/><h2>Member Typedef Documentation</h2>
<a class="anchor" id="a7effa0f8b45eecf05f527e6feaa61091"></a><!-- doxytag: member="mrpt::math::CMatrixTemplateObjects::const_reference" ref="a7effa0f8b45eecf05f527e6feaa61091" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef const T&amp; <a class="el" href="classmrpt_1_1math_1_1_c_matrix_template.html#a7effa0f8b45eecf05f527e6feaa61091">mrpt::math::CMatrixTemplate::const_reference</a><code> [inherited]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="_c_matrix_template_8h_source.html#l00066">66</a> of file <a class="el" href="_c_matrix_template_8h_source.html">CMatrixTemplate.h</a>.</p>

</div>
</div>
<a class="anchor" id="aeba2da88f247ab02643262b0b0b0dce9"></a><!-- doxytag: member="mrpt::math::CMatrixTemplateObjects::difference_type" ref="aeba2da88f247ab02643262b0b0b0dce9" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef std::ptrdiff_t <a class="el" href="classmrpt_1_1math_1_1_c_matrix_template.html#aeba2da88f247ab02643262b0b0b0dce9">mrpt::math::CMatrixTemplate::difference_type</a><code> [inherited]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="_c_matrix_template_8h_source.html#l00068">68</a> of file <a class="el" href="_c_matrix_template_8h_source.html">CMatrixTemplate.h</a>.</p>

</div>
</div>
<a class="anchor" id="a108346cbe078d54ec6fad3ff8e1ff9b1"></a><!-- doxytag: member="mrpt::math::CMatrixTemplateObjects::reference" ref="a108346cbe078d54ec6fad3ff8e1ff9b1" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef T&amp; <a class="el" href="classmrpt_1_1math_1_1_c_matrix_template.html#a108346cbe078d54ec6fad3ff8e1ff9b1">mrpt::math::CMatrixTemplate::reference</a><code> [inherited]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="_c_matrix_template_8h_source.html#l00065">65</a> of file <a class="el" href="_c_matrix_template_8h_source.html">CMatrixTemplate.h</a>.</p>

</div>
</div>
<a class="anchor" id="a10907affc3d4f25d535ad2a0cd38bf67"></a><!-- doxytag: member="mrpt::math::CMatrixTemplateObjects::size_type" ref="a10907affc3d4f25d535ad2a0cd38bf67" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef std::size_t <a class="el" href="classmrpt_1_1math_1_1_c_matrix_template.html#a10907affc3d4f25d535ad2a0cd38bf67">mrpt::math::CMatrixTemplate::size_type</a><code> [inherited]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="_c_matrix_template_8h_source.html#l00067">67</a> of file <a class="el" href="_c_matrix_template_8h_source.html">CMatrixTemplate.h</a>.</p>

</div>
</div>
<a class="anchor" id="a4830116521101867b1476d22ca6a693d"></a><!-- doxytag: member="mrpt::math::CMatrixTemplateObjects::value_type" ref="a4830116521101867b1476d22ca6a693d" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef T <a class="el" href="classmrpt_1_1math_1_1_c_matrix_template.html#a4830116521101867b1476d22ca6a693d">mrpt::math::CMatrixTemplate::value_type</a><code> [inherited]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>The type of the matrix elements. </p>

<p>Definition at line <a class="el" href="_c_matrix_template_8h_source.html#l00064">64</a> of file <a class="el" href="_c_matrix_template_8h_source.html">CMatrixTemplate.h</a>.</p>

</div>
</div>
<hr/><h2>Constructor &amp; Destructor Documentation</h2>
<a class="anchor" id="a8a2bd256f83905b03aa61027427c8d1c"></a><!-- doxytag: member="mrpt::math::CMatrixTemplateObjects::CMatrixTemplateObjects" ref="a8a2bd256f83905b03aa61027427c8d1c" args="(const CMatrixTemplate&lt; T &gt; &amp;m)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">mrpt::math::CMatrixTemplateObjects::CMatrixTemplateObjects </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classmrpt_1_1math_1_1_c_matrix_template.html">CMatrixTemplate</a>&lt; T &gt; &amp;&#160;</td>
          <td class="paramname"><em>m</em></td><td>)</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Copy constructor. </p>

<p>Definition at line <a class="el" href="_c_matrix_template_objects_8h_source.html#l00059">59</a> of file <a class="el" href="_c_matrix_template_objects_8h_source.html">CMatrixTemplateObjects.h</a>.</p>

</div>
</div>
<a class="anchor" id="a7c4eddff787a9299ce7d0178fcb72acd"></a><!-- doxytag: member="mrpt::math::CMatrixTemplateObjects::CMatrixTemplateObjects" ref="a7c4eddff787a9299ce7d0178fcb72acd" args="(size_t row=3, size_t col=3)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">mrpt::math::CMatrixTemplateObjects::CMatrixTemplateObjects </td>
          <td>(</td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>row</em> = <code>3</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>col</em> = <code>3</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Constructor. </p>

<p>Definition at line <a class="el" href="_c_matrix_template_objects_8h_source.html#l00065">65</a> of file <a class="el" href="_c_matrix_template_objects_8h_source.html">CMatrixTemplateObjects.h</a>.</p>

<p>References <a class="el" href="eigen__plugins_8h_source.html#l00066">getRowCount()</a>, and <a class="el" href="eigen__plugins_8h_source.html#l00068">getColCount()</a>.</p>

</div>
</div>
<a class="anchor" id="ad5f4b8e48cb8c21ae60b38dc21c38231"></a><!-- doxytag: member="mrpt::math::CMatrixTemplateObjects::~CMatrixTemplateObjects" ref="ad5f4b8e48cb8c21ae60b38dc21c38231" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual mrpt::math::CMatrixTemplateObjects::~CMatrixTemplateObjects </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td><code> [inline, virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Destructor. </p>

<p>Definition at line <a class="el" href="_c_matrix_template_objects_8h_source.html#l00082">82</a> of file <a class="el" href="_c_matrix_template_objects_8h_source.html">CMatrixTemplateObjects.h</a>.</p>

<p>References <a class="el" href="_c_matrix_template_objects_8h_source.html#l00054">m_freeObjects</a>, and <a class="el" href="_c_matrix_template_objects_8h_source.html#l00090">freeAllObjects()</a>.</p>

</div>
</div>
<hr/><h2>Member Function Documentation</h2>
<a class="anchor" id="a2c00270fda68793397786bd4e135c688"></a><!-- doxytag: member="mrpt::math::CMatrixTemplateObjects::allocAllObjects" ref="a2c00270fda68793397786bd4e135c688" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void mrpt::math::CMatrixTemplateObjects::allocAllObjects </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Alloc memory for all the non-NULL entries in the matrix. </p>
<p>See the general description of the class on the top. </p>

<p>Definition at line <a class="el" href="_c_matrix_template_objects_8h_source.html#l00124">124</a> of file <a class="el" href="_c_matrix_template_objects_8h_source.html">CMatrixTemplateObjects.h</a>.</p>

<p>References <a class="el" href="eigen__plugins_8h_source.html#l00066">getRowCount()</a>, and <a class="el" href="eigen__plugins_8h_source.html#l00068">getColCount()</a>.</p>

</div>
</div>
<a class="anchor" id="a235ad47bf6791ab3a36d66c47594b087"></a><!-- doxytag: member="mrpt::math::CMatrixTemplateObjects::appendCol" ref="a235ad47bf6791ab3a36d66c47594b087" args="(const std::vector&lt; T &gt; &amp;in)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void mrpt::math::CMatrixTemplate::appendCol </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classstd_1_1vector.html">std::vector</a>&lt; T &gt; &amp;&#160;</td>
          <td class="paramname"><em>in</em></td><td>)</td>
          <td><code> [inline, inherited]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Appends a new column to the matrix from a vector. </p>
<p>The length of the vector must match the number of rows of the matrix, unless it is (0,0). </p>
<dl><dt><b>Exceptions:</b></dt><dd>
  <table class="exception">
    <tr><td class="paramname"><a class="el" href="classstd_1_1exception.html" title="STL class.">std::exception</a></td><td>On size mismatch. </td></tr>
  </table>
  </dd>
</dl>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="eigen__plugins_8h.html#abd2bea909ed1fe0d393a29df274260f1">extractCol</a> </dd>
<dd>
appendRow </dd></dl>

<p>Definition at line <a class="el" href="_c_matrix_template_8h_source.html#l00538">538</a> of file <a class="el" href="_c_matrix_template_8h_source.html">CMatrixTemplate.h</a>.</p>

</div>
</div>
<a class="anchor" id="afc2e5b7b39c14733589e4c8b1d10e448"></a><!-- doxytag: member="mrpt::math::CMatrixTemplateObjects::appendRow" ref="afc2e5b7b39c14733589e4c8b1d10e448" args="(const std::vector&lt; T &gt; &amp;in)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void mrpt::math::CMatrixTemplate::appendRow </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classstd_1_1vector.html">std::vector</a>&lt; T &gt; &amp;&#160;</td>
          <td class="paramname"><em>in</em></td><td>)</td>
          <td><code> [inline, inherited]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Appends a new row to the MxN matrix from a 1xN vector. </p>
<p>The lenght of the vector must match the width of the matrix, unless it's empty: in that case the matrix is resized to 1xN. </p>
<div class="fragment"><pre class="fragment">    <a class="code" href="namespacemrpt_1_1math.html#a3814c2b868f059d6a7ab0d8ecd2311d6" title="Declares a matrix of double numbers (non serializable).">CMatrixDouble</a>  M(0,0);
    <a class="code" href="namespacemrpt.html#a4a6aab2c98368ca6b554c04f8fe84cfb">vector_double</a>  v(7),w(7);
    <span class="comment">// ...</span>
    M.appendRow(v);
    M.appendRow(w);
</pre></div> <dl><dt><b>Exceptions:</b></dt><dd>
  <table class="exception">
    <tr><td class="paramname"><a class="el" href="classstd_1_1exception.html" title="STL class.">std::exception</a></td><td>On incorrect vector length. </td></tr>
  </table>
  </dd>
</dl>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="eigen__plugins_8h.html#a8da0109df3a33350c614571c8ebdee52">extractRow</a> </dd>
<dd>
appendCol </dd></dl>

<p>Definition at line <a class="el" href="_c_matrix_template_8h_source.html#l00509">509</a> of file <a class="el" href="_c_matrix_template_8h_source.html">CMatrixTemplate.h</a>.</p>

</div>
</div>
<a class="anchor" id="a3cba8d34be5588f1feac6087b222f660"></a><!-- doxytag: member="mrpt::math::CMatrixTemplateObjects::ASSERT_ENOUGHROOM" ref="a3cba8d34be5588f1feac6087b222f660" args="(size_t r, size_t c) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void mrpt::math::CMatrixTemplate::ASSERT_ENOUGHROOM </td>
          <td>(</td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>r</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>c</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td> const<code> [inline, inherited]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Checks whether the rows [r-N,r+N] and the columns [c-N,c+N] are present in the matrix. </p>

<p>Definition at line <a class="el" href="_c_matrix_template_8h_source.html#l00127">127</a> of file <a class="el" href="_c_matrix_template_8h_source.html">CMatrixTemplate.h</a>.</p>

</div>
</div>
<a class="anchor" id="aea9bf548aabe05429ab6b3d7349101af"></a><!-- doxytag: member="mrpt::math::CMatrixTemplateObjects::extractCol" ref="aea9bf548aabe05429ab6b3d7349101af" args="(size_t nCol, std::vector&lt; T &gt; &amp;out, int startingRow=0) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void mrpt::math::CMatrixTemplate::extractCol </td>
          <td>(</td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>nCol</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classstd_1_1vector.html">std::vector</a>&lt; T &gt; &amp;&#160;</td>
          <td class="paramname"><em>out</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>startingRow</em> = <code>0</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td> const<code> [inline, inherited]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Returns a given column to a vector (without modifying the matrix) </p>
<dl><dt><b>Exceptions:</b></dt><dd>
  <table class="exception">
    <tr><td class="paramname"><a class="el" href="classstd_1_1exception.html" title="STL class.">std::exception</a></td><td>On index out of bounds. </td></tr>
  </table>
  </dd>
</dl>
</p>

<p>Definition at line <a class="el" href="_c_matrix_template_8h_source.html#l00463">463</a> of file <a class="el" href="_c_matrix_template_8h_source.html">CMatrixTemplate.h</a>.</p>

</div>
</div>
<a class="anchor" id="a213ac5db8e74efbcdb550ff3d13635bf"></a><!-- doxytag: member="mrpt::math::CMatrixTemplateObjects::extractCol" ref="a213ac5db8e74efbcdb550ff3d13635bf" args="(size_t nCol, CMatrixTemplate&lt; T &gt; &amp;out, int startingRow=0) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void mrpt::math::CMatrixTemplate::extractCol </td>
          <td>(</td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>nCol</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classmrpt_1_1math_1_1_c_matrix_template.html">CMatrixTemplate</a>&lt; T &gt; &amp;&#160;</td>
          <td class="paramname"><em>out</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>startingRow</em> = <code>0</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td> const<code> [inline, inherited]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Gets a given column to a vector (without modifying the matrix) </p>
<dl><dt><b>Exceptions:</b></dt><dd>
  <table class="exception">
    <tr><td class="paramname"><a class="el" href="classstd_1_1exception.html" title="STL class.">std::exception</a></td><td>On index out of bounds. </td></tr>
  </table>
  </dd>
</dl>
</p>

<p>Definition at line <a class="el" href="_c_matrix_template_8h_source.html#l00481">481</a> of file <a class="el" href="_c_matrix_template_8h_source.html">CMatrixTemplate.h</a>.</p>

</div>
</div>
<a class="anchor" id="ab56d5fe81d7f3a83ff3d1035828aacdc"></a><!-- doxytag: member="mrpt::math::CMatrixTemplateObjects::extractColumns" ref="ab56d5fe81d7f3a83ff3d1035828aacdc" args="(size_t firstCol, size_t lastCol, CMatrixTemplate&lt; T &gt; &amp;out) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void mrpt::math::CMatrixTemplate::extractColumns </td>
          <td>(</td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>firstCol</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>lastCol</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classmrpt_1_1math_1_1_c_matrix_template.html">CMatrixTemplate</a>&lt; T &gt; &amp;&#160;</td>
          <td class="paramname"><em>out</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td> const<code> [inline, inherited]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Gets a series of contiguous columns. </p>
<dl><dt><b>Exceptions:</b></dt><dd>
  <table class="exception">
    <tr><td class="paramname"><a class="el" href="classstd_1_1logic__error.html" title="STL class.">std::logic_error</a></td><td>On index out of bounds </td></tr>
  </table>
  </dd>
</dl>
<dl class="see"><dt><b>See also:</b></dt><dd>extractColumn </dd>
<dd>
extractRows </dd></dl>

<p>Definition at line <a class="el" href="_c_matrix_template_8h_source.html#l00455">455</a> of file <a class="el" href="_c_matrix_template_8h_source.html">CMatrixTemplate.h</a>.</p>

</div>
</div>
<a class="anchor" id="af904aba259f53063f49e0a098ddb5924"></a><!-- doxytag: member="mrpt::math::CMatrixTemplateObjects::extractRows" ref="af904aba259f53063f49e0a098ddb5924" args="(size_t firstRow, size_t lastRow, CMatrixTemplate&lt; T &gt; &amp;out) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void mrpt::math::CMatrixTemplate::extractRows </td>
          <td>(</td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>firstRow</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>lastRow</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classmrpt_1_1math_1_1_c_matrix_template.html">CMatrixTemplate</a>&lt; T &gt; &amp;&#160;</td>
          <td class="paramname"><em>out</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td> const<code> [inline, inherited]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Gets a series of contiguous rows. </p>
<dl><dt><b>Exceptions:</b></dt><dd>
  <table class="exception">
    <tr><td class="paramname"><a class="el" href="classstd_1_1logic__error.html" title="STL class.">std::logic_error</a></td><td>On index out of bounds </td></tr>
  </table>
  </dd>
</dl>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="eigen__plugins_8h.html#a8da0109df3a33350c614571c8ebdee52">extractRow</a> </dd>
<dd>
extractColumns </dd></dl>

<p>Definition at line <a class="el" href="_c_matrix_template_8h_source.html#l00445">445</a> of file <a class="el" href="_c_matrix_template_8h_source.html">CMatrixTemplate.h</a>.</p>

</div>
</div>
<a class="anchor" id="a62539c7ee371c00298f4515209bc7b21"></a><!-- doxytag: member="mrpt::math::CMatrixTemplateObjects::extractSubmatrix" ref="a62539c7ee371c00298f4515209bc7b21" args="(const size_t row1, const size_t row2, const size_t col1, const size_t col2, CMatrixTemplate&lt; T &gt; &amp;out) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void mrpt::math::CMatrixTemplate::extractSubmatrix </td>
          <td>(</td>
          <td class="paramtype">const size_t&#160;</td>
          <td class="paramname"><em>row1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const size_t&#160;</td>
          <td class="paramname"><em>row2</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const size_t&#160;</td>
          <td class="paramname"><em>col1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const size_t&#160;</td>
          <td class="paramname"><em>col2</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classmrpt_1_1math_1_1_c_matrix_template.html">CMatrixTemplate</a>&lt; T &gt; &amp;&#160;</td>
          <td class="paramname"><em>out</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td> const<code> [inline, inherited]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Get a submatrix, given its bounds. </p>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="eigen__plugins_8h.html#aa12505e1d04f09e70f443609aacd86c8" title="Get a submatrix from a square matrix, by collecting the elements M(idxs,idxs), where idxs is a sequen...">extractSubmatrixSymmetricalBlocks</a> </dd></dl>

<p>Definition at line <a class="el" href="_c_matrix_template_8h_source.html#l00412">412</a> of file <a class="el" href="_c_matrix_template_8h_source.html">CMatrixTemplate.h</a>.</p>

</div>
</div>
<a class="anchor" id="abc4dce3ea43af685bba2ac9e6f51efb8"></a><!-- doxytag: member="mrpt::math::CMatrixTemplateObjects::extractSubmatrix" ref="abc4dce3ea43af685bba2ac9e6f51efb8" args="(const size_t row1, const size_t row2, const size_t col1, const size_t col2, Eigen::MatrixBase&lt; Derived &gt; &amp;out) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void mrpt::math::CMatrixTemplate::extractSubmatrix </td>
          <td>(</td>
          <td class="paramtype">const size_t&#160;</td>
          <td class="paramname"><em>row1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const size_t&#160;</td>
          <td class="paramname"><em>row2</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const size_t&#160;</td>
          <td class="paramname"><em>col1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const size_t&#160;</td>
          <td class="paramname"><em>col2</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="class_eigen_1_1_matrix_base.html">Eigen::MatrixBase</a>&lt; Derived &gt; &amp;&#160;</td>
          <td class="paramname"><em>out</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td> const<code> [inline, inherited]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. </p>

<p>Definition at line <a class="el" href="_c_matrix_template_8h_source.html#l00426">426</a> of file <a class="el" href="_c_matrix_template_8h_source.html">CMatrixTemplate.h</a>.</p>

</div>
</div>
<a class="anchor" id="abf0d2fd28afe3dfb231644b488063aaa"></a><!-- doxytag: member="mrpt::math::CMatrixTemplateObjects::fillAll" ref="abf0d2fd28afe3dfb231644b488063aaa" args="(const T &amp;val)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void mrpt::math::CMatrixTemplate::fillAll </td>
          <td>(</td>
          <td class="paramtype">const T &amp;&#160;</td>
          <td class="paramname"><em>val</em></td><td>)</td>
          <td><code> [inline, inherited]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Fill all the elements with a given value (Note: named "fillAll" since "fill" will be used by child classes) </p>

<p>Definition at line <a class="el" href="_c_matrix_template_8h_source.html#l00133">133</a> of file <a class="el" href="_c_matrix_template_8h_source.html">CMatrixTemplate.h</a>.</p>

</div>
</div>
<a class="anchor" id="a3b54e039cb173a134dd27c405be4341b"></a><!-- doxytag: member="mrpt::math::CMatrixTemplateObjects::freeAllObjects" ref="a3b54e039cb173a134dd27c405be4341b" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void mrpt::math::CMatrixTemplateObjects::freeAllObjects </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Delete all the objects in the matrix and set all entries to NULL pointers. </p>

<p>Definition at line <a class="el" href="_c_matrix_template_objects_8h_source.html#l00090">90</a> of file <a class="el" href="_c_matrix_template_objects_8h_source.html">CMatrixTemplateObjects.h</a>.</p>

<p>References <a class="el" href="eigen__plugins_8h_source.html#l00066">getRowCount()</a>, and <a class="el" href="eigen__plugins_8h_source.html#l00068">getColCount()</a>.</p>

<p>Referenced by <a class="el" href="_c_matrix_template_objects_8h_source.html#l00082">~CMatrixTemplateObjects()</a>.</p>

</div>
</div>
<a class="anchor" id="a776dd903be8dcd2306399757bf503e0e"></a><!-- doxytag: member="mrpt::math::CMatrixTemplateObjects::get_unsafe" ref="a776dd903be8dcd2306399757bf503e0e" args="(size_t row, size_t col) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const T&amp; mrpt::math::CMatrixTemplate::get_unsafe </td>
          <td>(</td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>row</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>col</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td> const<code> [inline, inherited]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Fast but unsafe method to read a value from the matrix. </p>

<p>Definition at line <a class="el" href="_c_matrix_template_8h_source.html#l00364">364</a> of file <a class="el" href="_c_matrix_template_8h_source.html">CMatrixTemplate.h</a>.</p>

</div>
</div>
<a class="anchor" id="a565d5d3ae7691d9aa78d6087838fc2bd"></a><!-- doxytag: member="mrpt::math::CMatrixTemplateObjects::get_unsafe" ref="a565d5d3ae7691d9aa78d6087838fc2bd" args="(size_t row, size_t col)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">T&amp; mrpt::math::CMatrixTemplate::get_unsafe </td>
          <td>(</td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>row</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>col</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [inline, inherited]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Fast but unsafe method to get a reference from the matrix. </p>

<p>Definition at line <a class="el" href="_c_matrix_template_8h_source.html#l00375">375</a> of file <a class="el" href="_c_matrix_template_8h_source.html">CMatrixTemplate.h</a>.</p>

</div>
</div>
<a class="anchor" id="ad41b157404a09714853365a6d627117a"></a><!-- doxytag: member="mrpt::math::CMatrixTemplateObjects::get_unsafe_row" ref="ad41b157404a09714853365a6d627117a" args="(size_t row)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">T* mrpt::math::CMatrixTemplate::get_unsafe_row </td>
          <td>(</td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>row</em></td><td>)</td>
          <td><code> [inline, inherited]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Fast but unsafe method to obtain a pointer to a given row of the matrix (Use only in time critical applications) </p>

<p>Definition at line <a class="el" href="_c_matrix_template_8h_source.html#l00386">386</a> of file <a class="el" href="_c_matrix_template_8h_source.html">CMatrixTemplate.h</a>.</p>

</div>
</div>
<a class="anchor" id="ad4d5f63aa3c05fa1ef0465aac02dc857"></a><!-- doxytag: member="mrpt::math::CMatrixTemplateObjects::get_unsafe_row" ref="ad4d5f63aa3c05fa1ef0465aac02dc857" args="(size_t row) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const T* mrpt::math::CMatrixTemplate::get_unsafe_row </td>
          <td>(</td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>row</em></td><td>)</td>
          <td> const<code> [inline, inherited]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Fast but unsafe method to obtain a pointer to a given row of the matrix (Use only in critical applications) </p>

<p>Definition at line <a class="el" href="_c_matrix_template_8h_source.html#l00397">397</a> of file <a class="el" href="_c_matrix_template_8h_source.html">CMatrixTemplate.h</a>.</p>

</div>
</div>
<a class="anchor" id="a76be0234bdae0cfbf2e2cffbf527ce21"></a><!-- doxytag: member="mrpt::math::CMatrixTemplateObjects::getAsVector" ref="a76be0234bdae0cfbf2e2cffbf527ce21" args="(std::vector&lt; T &gt; &amp;out) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void mrpt::math::CMatrixTemplate::getAsVector </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classstd_1_1vector.html">std::vector</a>&lt; T &gt; &amp;&#160;</td>
          <td class="paramname"><em>out</em></td><td>)</td>
          <td> const<code> [inline, inherited]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Returns a vector containing the matrix's values. </p>

<p>Definition at line <a class="el" href="_c_matrix_template_8h_source.html#l00566">566</a> of file <a class="el" href="_c_matrix_template_8h_source.html">CMatrixTemplate.h</a>.</p>

</div>
</div>
<a class="anchor" id="a6e471dbc4f15a3f90a969afa16adb5ac"></a><!-- doxytag: member="mrpt::math::CMatrixTemplateObjects::getColCount" ref="a6e471dbc4f15a3f90a969afa16adb5ac" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">size_t mrpt::math::CMatrixTemplate::getColCount </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const<code> [inline, inherited]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Number of columns in the matrix. </p>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="eigen__plugins_8h.html#a61275d6dcd40b0676f9a430be46ef876" title="Get number of rows.">getRowCount</a>, <a class="el" href="eigen__plugins_8h.html#a4d49034b9785c1bd62e4d4540a39066b" title="Get number of columns.">getColCount</a>, nr, nc </dd></dl>

<p>Definition at line <a class="el" href="_c_matrix_template_8h_source.html#l00250">250</a> of file <a class="el" href="_c_matrix_template_8h_source.html">CMatrixTemplate.h</a>.</p>

</div>
</div>
<a class="anchor" id="a0d8f81e3e3bd53007eb189734f6bfd05"></a><!-- doxytag: member="mrpt::math::CMatrixTemplateObjects::getRowCount" ref="a0d8f81e3e3bd53007eb189734f6bfd05" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">size_t mrpt::math::CMatrixTemplate::getRowCount </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const<code> [inline, inherited]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Number of rows in the matrix. </p>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="eigen__plugins_8h.html#a61275d6dcd40b0676f9a430be46ef876" title="Get number of rows.">getRowCount</a>, <a class="el" href="eigen__plugins_8h.html#a4d49034b9785c1bd62e4d4540a39066b" title="Get number of columns.">getColCount</a>, nr, nc </dd></dl>

<p>Definition at line <a class="el" href="_c_matrix_template_8h_source.html#l00245">245</a> of file <a class="el" href="_c_matrix_template_8h_source.html">CMatrixTemplate.h</a>.</p>

</div>
</div>
<a class="anchor" id="a8319a14f3c11bf1b98620b5750854472"></a><!-- doxytag: member="mrpt::math::CMatrixTemplateObjects::insertCol" ref="a8319a14f3c11bf1b98620b5750854472" args="(size_t nCol, const std::vector&lt; T &gt; &amp;in)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void mrpt::math::CMatrixTemplate::insertCol </td>
          <td>(</td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>nCol</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classstd_1_1vector.html">std::vector</a>&lt; T &gt; &amp;&#160;</td>
          <td class="paramname"><em>in</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [inline, inherited]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Inserts a column from a vector, replacing the current contents of that column. </p>
<dl><dt><b>Exceptions:</b></dt><dd>
  <table class="exception">
    <tr><td class="paramname"><a class="el" href="classstd_1_1exception.html" title="STL class.">std::exception</a></td><td>On index out of bounds </td></tr>
  </table>
  </dd>
</dl>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="eigen__plugins_8h.html#abd2bea909ed1fe0d393a29df274260f1">extractCol</a> </dd></dl>

<p>Definition at line <a class="el" href="_c_matrix_template_8h_source.html#l00553">553</a> of file <a class="el" href="_c_matrix_template_8h_source.html">CMatrixTemplate.h</a>.</p>

</div>
</div>
<a class="anchor" id="afe572c043df380736510f33c01eceb40"></a><!-- doxytag: member="mrpt::math::CMatrixTemplateObjects::operator()" ref="afe572c043df380736510f33c01eceb40" args="(size_t row, size_t col)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">T&amp; mrpt::math::CMatrixTemplate::operator() </td>
          <td>(</td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>row</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>col</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [inline, inherited]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Subscript operator to get/set individual elements. </p>

<p>Definition at line <a class="el" href="_c_matrix_template_8h_source.html#l00275">275</a> of file <a class="el" href="_c_matrix_template_8h_source.html">CMatrixTemplate.h</a>.</p>

</div>
</div>
<a class="anchor" id="a3c971495663e675d8e2c500139499f1e"></a><!-- doxytag: member="mrpt::math::CMatrixTemplateObjects::operator()" ref="a3c971495663e675d8e2c500139499f1e" args="(size_t row, size_t col) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const T&amp; mrpt::math::CMatrixTemplate::operator() </td>
          <td>(</td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>row</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>col</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td> const<code> [inline, inherited]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Subscript operator to get individual elements. </p>

<p>Definition at line <a class="el" href="_c_matrix_template_8h_source.html#l00286">286</a> of file <a class="el" href="_c_matrix_template_8h_source.html">CMatrixTemplate.h</a>.</p>

</div>
</div>
<a class="anchor" id="a59e5ba44ee8bce50f381c6ade90031ea"></a><!-- doxytag: member="mrpt::math::CMatrixTemplateObjects::operator()" ref="a59e5ba44ee8bce50f381c6ade90031ea" args="(size_t ith)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">T&amp; mrpt::math::CMatrixTemplate::operator() </td>
          <td>(</td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>ith</em></td><td>)</td>
          <td><code> [inline, inherited]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Subscript operator to get/set an individual element from a row or column matrix. </p>
<dl><dt><b>Exceptions:</b></dt><dd>
  <table class="exception">
    <tr><td class="paramname"><a class="el" href="classstd_1_1exception.html" title="STL class.">std::exception</a></td><td>If the object is not a column or row matrix. </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="_c_matrix_template_8h_source.html#l00298">298</a> of file <a class="el" href="_c_matrix_template_8h_source.html">CMatrixTemplate.h</a>.</p>

</div>
</div>
<a class="anchor" id="a5ca169901f8db5f2f845176e5b5db2f0"></a><!-- doxytag: member="mrpt::math::CMatrixTemplateObjects::operator()" ref="a5ca169901f8db5f2f845176e5b5db2f0" args="(size_t ith) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">T mrpt::math::CMatrixTemplate::operator() </td>
          <td>(</td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>ith</em></td><td>)</td>
          <td> const<code> [inline, inherited]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Subscript operator to get/set an individual element from a row or column matrix. </p>
<dl><dt><b>Exceptions:</b></dt><dd>
  <table class="exception">
    <tr><td class="paramname"><a class="el" href="classstd_1_1exception.html" title="STL class.">std::exception</a></td><td>If the object is not a column or row matrix. </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="_c_matrix_template_8h_source.html#l00326">326</a> of file <a class="el" href="_c_matrix_template_8h_source.html">CMatrixTemplate.h</a>.</p>

</div>
</div>
<a class="anchor" id="aa258e3f0f8b27cc7ffa1b7b8c7b4fe80"></a><!-- doxytag: member="mrpt::math::CMatrixTemplateObjects::operator()" ref="aa258e3f0f8b27cc7ffa1b7b8c7b4fe80" args="(const size_t row1, const size_t row2, const size_t col1, const size_t col2) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classmrpt_1_1math_1_1_c_matrix_template.html">CMatrixTemplate</a>&lt;T&gt; mrpt::math::CMatrixTemplate::operator() </td>
          <td>(</td>
          <td class="paramtype">const size_t&#160;</td>
          <td class="paramname"><em>row1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const size_t&#160;</td>
          <td class="paramname"><em>row2</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const size_t&#160;</td>
          <td class="paramname"><em>col1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const size_t&#160;</td>
          <td class="paramname"><em>col2</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td> const<code> [inline, inherited]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Subscript operator to get a submatrix. </p>

<p>Definition at line <a class="el" href="_c_matrix_template_8h_source.html#l00403">403</a> of file <a class="el" href="_c_matrix_template_8h_source.html">CMatrixTemplate.h</a>.</p>

</div>
</div>
<a class="anchor" id="acb97b62bbdabddbebe4c8f19ac8dacdf"></a><!-- doxytag: member="mrpt::math::CMatrixTemplateObjects::operator=" ref="acb97b62bbdabddbebe4c8f19ac8dacdf" args="(const CMatrixTemplateObjects &amp;m)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classmrpt_1_1math_1_1_c_matrix_template_objects.html">CMatrixTemplateObjects</a>&amp; mrpt::math::CMatrixTemplateObjects::operator= </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classmrpt_1_1math_1_1_c_matrix_template_objects.html">CMatrixTemplateObjects</a> &amp;&#160;</td>
          <td class="paramname"><em>m</em></td><td>)</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Assignment operator. </p>

<p>Definition at line <a class="el" href="_c_matrix_template_objects_8h_source.html#l00103">103</a> of file <a class="el" href="_c_matrix_template_objects_8h_source.html">CMatrixTemplateObjects.h</a>.</p>

<p>References <a class="el" href="_c_matrix_template_8h_source.html#l00077">mrpt::math::CMatrixTemplate&lt; T * &gt;::realloc()</a>, <a class="el" href="eigen__plugins_8h_source.html#l00066">getRowCount()</a>, and <a class="el" href="eigen__plugins_8h_source.html#l00068">getColCount()</a>.</p>

</div>
</div>
<a class="anchor" id="ac10c5fd22bc63a60fd50cdcee3c10835"></a><!-- doxytag: member="mrpt::math::CMatrixTemplateObjects::realloc" ref="ac10c5fd22bc63a60fd50cdcee3c10835" args="(size_t row, size_t col, bool newElementsToZero=false)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void mrpt::math::CMatrixTemplate::realloc </td>
          <td>(</td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>row</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>col</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>newElementsToZero</em> = <code>false</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [inline, protected, inherited]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Internal use only: It reallocs the memory for the 2D matrix, maintaining the previous contents if posible. </p>

<p>Definition at line <a class="el" href="_c_matrix_template_8h_source.html#l00077">77</a> of file <a class="el" href="_c_matrix_template_8h_source.html">CMatrixTemplate.h</a>.</p>

<p>Referenced by <a class="el" href="_c_matrix_template_objects_8h_source.html#l00074">setSize()</a>, and <a class="el" href="_c_matrix_template_objects_8h_source.html#l00103">operator=()</a>.</p>

</div>
</div>
<a class="anchor" id="afebb79fd81c53f5dba00869c0ad43b9b"></a><!-- doxytag: member="mrpt::math::CMatrixTemplateObjects::resize" ref="afebb79fd81c53f5dba00869c0ad43b9b" args="(const CMatrixTemplateSize &amp;siz, bool zeroNewElements=false)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void mrpt::math::CMatrixTemplate::resize </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="structmrpt_1_1math_1_1_c_matrix_template_size.html">CMatrixTemplateSize</a> &amp;&#160;</td>
          <td class="paramname"><em>siz</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>zeroNewElements</em> = <code>false</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [inline, inherited]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>This method just checks has no effects in this class, but raises an exception if the expected size does not match. </p>

<p>Definition at line <a class="el" href="_c_matrix_template_8h_source.html#l00268">268</a> of file <a class="el" href="_c_matrix_template_8h_source.html">CMatrixTemplate.h</a>.</p>

</div>
</div>
<a class="anchor" id="ac53acd13b4798e52710f2d90511f2df5"></a><!-- doxytag: member="mrpt::math::CMatrixTemplateObjects::set_unsafe" ref="ac53acd13b4798e52710f2d90511f2df5" args="(size_t row, size_t col, const T &amp;v)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void mrpt::math::CMatrixTemplate::set_unsafe </td>
          <td>(</td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>row</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>col</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const T &amp;&#160;</td>
          <td class="paramname"><em>v</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [inline, inherited]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Fast but unsafe method to write a value in the matrix. </p>

<p>Definition at line <a class="el" href="_c_matrix_template_8h_source.html#l00353">353</a> of file <a class="el" href="_c_matrix_template_8h_source.html">CMatrixTemplate.h</a>.</p>

</div>
</div>
<a class="anchor" id="aef3385c06a6d102b3d626ef6243b7ea6"></a><!-- doxytag: member="mrpt::math::CMatrixTemplateObjects::setDestroyBehavior" ref="aef3385c06a6d102b3d626ef6243b7ea6" args="(bool freeObjects=true)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void mrpt::math::CMatrixTemplateObjects::setDestroyBehavior </td>
          <td>(</td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>freeObjects</em> = <code>true</code></td><td>)</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Sets the behavior on matrix destroy. </p>
<p>See the general description of the class on the top. </p>

<p>Definition at line <a class="el" href="_c_matrix_template_objects_8h_source.html#l00116">116</a> of file <a class="el" href="_c_matrix_template_objects_8h_source.html">CMatrixTemplateObjects.h</a>.</p>

<p>References <a class="el" href="_c_matrix_template_objects_8h_source.html#l00054">m_freeObjects</a>.</p>

</div>
</div>
<a class="anchor" id="a9761820371f23027aa0a1ba502a09e03"></a><!-- doxytag: member="mrpt::math::CMatrixTemplateObjects::setSize" ref="a9761820371f23027aa0a1ba502a09e03" args="(size_t row, size_t col)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void mrpt::math::CMatrixTemplateObjects::setSize </td>
          <td>(</td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>row</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>col</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [inline, virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Changes the size of matrix. </p>

<p>Definition at line <a class="el" href="_c_matrix_template_objects_8h_source.html#l00074">74</a> of file <a class="el" href="_c_matrix_template_objects_8h_source.html">CMatrixTemplateObjects.h</a>.</p>

<p>References <a class="el" href="_c_matrix_template_8h_source.html#l00077">mrpt::math::CMatrixTemplate&lt; T * &gt;::realloc()</a>.</p>

</div>
</div>
<a class="anchor" id="af881b80ad52c0cd378cdf85a10120ace"></a><!-- doxytag: member="mrpt::math::CMatrixTemplateObjects::setSize" ref="af881b80ad52c0cd378cdf85a10120ace" args="(size_t row, size_t col, bool zeroNewElements=false)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void mrpt::math::CMatrixTemplate::setSize </td>
          <td>(</td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>row</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>col</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>zeroNewElements</em> = <code>false</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [inline, inherited]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Changes the size of matrix, maintaining the previous contents. </p>

<p>Definition at line <a class="el" href="_c_matrix_template_8h_source.html#l00262">262</a> of file <a class="el" href="_c_matrix_template_8h_source.html">CMatrixTemplate.h</a>.</p>

</div>
</div>
<a class="anchor" id="af45d31ffeb9baae30b246793cd795f19"></a><!-- doxytag: member="mrpt::math::CMatrixTemplateObjects::size" ref="af45d31ffeb9baae30b246793cd795f19" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="structmrpt_1_1math_1_1_c_matrix_template_size.html">CMatrixTemplateSize</a> mrpt::math::CMatrixTemplate::size </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const<code> [inline, inherited]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Get a 2-vector with [NROWS NCOLS] (as in MATLAB command size(x)) </p>

<p>Definition at line <a class="el" href="_c_matrix_template_8h_source.html#l00253">253</a> of file <a class="el" href="_c_matrix_template_8h_source.html">CMatrixTemplate.h</a>.</p>

</div>
</div>
<a class="anchor" id="ab3dbe770776954d72852612ccd776148"></a><!-- doxytag: member="mrpt::math::CMatrixTemplateObjects::swap" ref="ab3dbe770776954d72852612ccd776148" args="(CMatrixTemplate&lt; T &gt; &amp;o)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void mrpt::math::CMatrixTemplate::swap </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classmrpt_1_1math_1_1_c_matrix_template.html">CMatrixTemplate</a>&lt; T &gt; &amp;&#160;</td>
          <td class="paramname"><em>o</em></td><td>)</td>
          <td><code> [inline, inherited]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Swap with another matrix very efficiently (just swaps a pointer and two integer values). </p>

<p>Definition at line <a class="el" href="_c_matrix_template_8h_source.html#l00140">140</a> of file <a class="el" href="_c_matrix_template_8h_source.html">CMatrixTemplate.h</a>.</p>

</div>
</div>
<hr/><h2>Member Data Documentation</h2>
<a class="anchor" id="a40ecbadd8c4dc2267173df7f4a85ed62"></a><!-- doxytag: member="mrpt::math::CMatrixTemplateObjects::m_Cols" ref="a40ecbadd8c4dc2267173df7f4a85ed62" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">size_t <a class="el" href="classmrpt_1_1math_1_1_c_matrix_template.html#a40ecbadd8c4dc2267173df7f4a85ed62">mrpt::math::CMatrixTemplate::m_Cols</a><code> [protected, inherited]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="_c_matrix_template_8h_source.html#l00073">73</a> of file <a class="el" href="_c_matrix_template_8h_source.html">CMatrixTemplate.h</a>.</p>

</div>
</div>
<a class="anchor" id="af33d4790eec44a27d9d76a9d1e048816"></a><!-- doxytag: member="mrpt::math::CMatrixTemplateObjects::m_freeObjects" ref="af33d4790eec44a27d9d76a9d1e048816" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool <a class="el" href="classmrpt_1_1math_1_1_c_matrix_template_objects.html#af33d4790eec44a27d9d76a9d1e048816">mrpt::math::CMatrixTemplateObjects::m_freeObjects</a><code> [private]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="_c_matrix_template_objects_8h_source.html#l00054">54</a> of file <a class="el" href="_c_matrix_template_objects_8h_source.html">CMatrixTemplateObjects.h</a>.</p>

<p>Referenced by <a class="el" href="_c_matrix_template_objects_8h_source.html#l00082">~CMatrixTemplateObjects()</a>, and <a class="el" href="_c_matrix_template_objects_8h_source.html#l00116">setDestroyBehavior()</a>.</p>

</div>
</div>
<a class="anchor" id="a1d1a2aac6aaa02123208cdab76ce4de1"></a><!-- doxytag: member="mrpt::math::CMatrixTemplateObjects::m_Rows" ref="a1d1a2aac6aaa02123208cdab76ce4de1" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">size_t <a class="el" href="classmrpt_1_1math_1_1_c_matrix_template.html#a1d1a2aac6aaa02123208cdab76ce4de1">mrpt::math::CMatrixTemplate::m_Rows</a><code> [protected, inherited]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="_c_matrix_template_8h_source.html#l00073">73</a> of file <a class="el" href="_c_matrix_template_8h_source.html">CMatrixTemplate.h</a>.</p>

</div>
</div>
<a class="anchor" id="a5ca0244e5b348d1ce5666efe9d1d97f4"></a><!-- doxytag: member="mrpt::math::CMatrixTemplateObjects::m_Val" ref="a5ca0244e5b348d1ce5666efe9d1d97f4" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">T** <a class="el" href="classmrpt_1_1math_1_1_c_matrix_template.html#a5ca0244e5b348d1ce5666efe9d1d97f4">mrpt::math::CMatrixTemplate::m_Val</a><code> [protected, inherited]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="_c_matrix_template_8h_source.html#l00072">72</a> of file <a class="el" href="_c_matrix_template_8h_source.html">CMatrixTemplate.h</a>.</p>

</div>
</div>
</div>
<br><hr><br> <table border="0" width="100%"> <tr> <td> Page generated by <a href="http://www.doxygen.org" target="_blank">Doxygen 1.7.5</a> for MRPT 0.9.5 SVN: at Sun Sep 25 17:20:18 UTC 2011</td><td></td> <td width="100"> </td> <td width="150">  </td></tr> </table>  </body></html>