<!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> > <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 Page</span></a></li> <li><a href="pages.html"><span>Related 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 List</span></a></li> <li><a href="classes.html"><span>Class Index</span></a></li> <li><a href="inherits.html"><span>Class Hierarchy</span></a></li> <li><a href="functions.html"><span>Class 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> | <a href="#pub-methods">Public Member Functions</a> | <a href="#pro-methods">Protected Member Functions</a> | <a href="#pro-attribs">Protected Attributes</a> | <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< T * >" --><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<T>::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<T>::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<T>::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 <<a class="el" href="_c_matrix_template_objects_8h_source.html">mrpt/math/CMatrixTemplateObjects.h</a>></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\< T * \>" 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-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 </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"> </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 & </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 & </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 </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 </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"> </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>< T > &m)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Copy constructor. <a href="#a8a2bd256f83905b03aa61027427c8d1c"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"> </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"> </td><td class="mdescRight">Constructor. <a href="#a7c4eddff787a9299ce7d0178fcb72acd"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">virtual void </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"> </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 </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"> </td><td class="mdescRight">Destructor. <a href="#ad5f4b8e48cb8c21ae60b38dc21c38231"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">void </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"> </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> & </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> &m)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Assignment operator. <a href="#acb97b62bbdabddbebe4c8f19ac8dacdf"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">void </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"> </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 </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"> </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 </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"> </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 </td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1math_1_1_c_matrix_template.html#abf0d2fd28afe3dfb231644b488063aaa">fillAll</a> (const T &val)</td></tr> <tr><td class="memItemLeft" align="right" valign="top">void </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>< T > &o)</td></tr> <tr><td class="mdescLeft"> </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 </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"> </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 </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"> </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> </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"> </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 </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"> </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 </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> &siz, bool zeroNewElements=false)</td></tr> <tr><td class="mdescLeft"> </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 & </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"> </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 & </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"> </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 & </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"> </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 </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"> </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>< T > </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"> </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 </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 &v)</td></tr> <tr><td class="mdescLeft"> </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 & </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"> </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 & </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"> </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 * </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"> </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 * </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"> </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 </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>< T > &out) const </td></tr> <tr><td class="mdescLeft"> </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 </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>< Derived > &out) const </td></tr> <tr><td class="memItemLeft" align="right" valign="top">void </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>< T > &out) const </td></tr> <tr><td class="mdescLeft"> </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 </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>< T > &out) const </td></tr> <tr><td class="mdescLeft"> </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 </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>< T > &out, int startingRow=0) const </td></tr> <tr><td class="mdescLeft"> </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 </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>< T > &out, int startingRow=0) const </td></tr> <tr><td class="mdescLeft"> </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 </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>< T > &in)</td></tr> <tr><td class="mdescLeft"> </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 </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>< T > &in)</td></tr> <tr><td class="mdescLeft"> </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 </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>< T > &in)</td></tr> <tr><td class="mdescLeft"> </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 </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>< T > &out) const </td></tr> <tr><td class="mdescLeft"> </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 </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"> </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 ** </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 </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 </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 </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& <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& <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 & Destructor Documentation</h2> <a class="anchor" id="a8a2bd256f83905b03aa61027427c8d1c"></a><!-- doxytag: member="mrpt::math::CMatrixTemplateObjects::CMatrixTemplateObjects" ref="a8a2bd256f83905b03aa61027427c8d1c" args="(const CMatrixTemplate< T > &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>< T > & </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 </td> <td class="paramname"><em>row</em> = <code>3</code>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">size_t </td> <td class="paramname"><em>col</em> = <code>3</code> </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< T > &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>< T > & </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< T > &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>< T > & </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 </td> <td class="paramname"><em>r</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">size_t </td> <td class="paramname"><em>c</em> </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< T > &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 </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>< T > & </td> <td class="paramname"><em>out</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"><em>startingRow</em> = <code>0</code> </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< T > &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 </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>< T > & </td> <td class="paramname"><em>out</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"><em>startingRow</em> = <code>0</code> </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< T > &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 </td> <td class="paramname"><em>firstCol</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">size_t </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>< T > & </td> <td class="paramname"><em>out</em> </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< T > &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 </td> <td class="paramname"><em>firstRow</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">size_t </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>< T > & </td> <td class="paramname"><em>out</em> </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< T > &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 </td> <td class="paramname"><em>row1</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const size_t </td> <td class="paramname"><em>row2</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const size_t </td> <td class="paramname"><em>col1</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const size_t </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>< T > & </td> <td class="paramname"><em>out</em> </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< Derived > &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 </td> <td class="paramname"><em>row1</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const size_t </td> <td class="paramname"><em>row2</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const size_t </td> <td class="paramname"><em>col1</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const size_t </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>< Derived > & </td> <td class="paramname"><em>out</em> </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 &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 & </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& mrpt::math::CMatrixTemplate::get_unsafe </td> <td>(</td> <td class="paramtype">size_t </td> <td class="paramname"><em>row</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">size_t </td> <td class="paramname"><em>col</em> </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& mrpt::math::CMatrixTemplate::get_unsafe </td> <td>(</td> <td class="paramtype">size_t </td> <td class="paramname"><em>row</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">size_t </td> <td class="paramname"><em>col</em> </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 </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 </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< T > &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>< T > & </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< T > &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 </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>< T > & </td> <td class="paramname"><em>in</em> </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& mrpt::math::CMatrixTemplate::operator() </td> <td>(</td> <td class="paramtype">size_t </td> <td class="paramname"><em>row</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">size_t </td> <td class="paramname"><em>col</em> </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& mrpt::math::CMatrixTemplate::operator() </td> <td>(</td> <td class="paramtype">size_t </td> <td class="paramname"><em>row</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">size_t </td> <td class="paramname"><em>col</em> </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& mrpt::math::CMatrixTemplate::operator() </td> <td>(</td> <td class="paramtype">size_t </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 </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><T> mrpt::math::CMatrixTemplate::operator() </td> <td>(</td> <td class="paramtype">const size_t </td> <td class="paramname"><em>row1</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const size_t </td> <td class="paramname"><em>row2</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const size_t </td> <td class="paramname"><em>col1</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const size_t </td> <td class="paramname"><em>col2</em> </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 &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>& 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> & </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< T * >::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 </td> <td class="paramname"><em>row</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">size_t </td> <td class="paramname"><em>col</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">bool </td> <td class="paramname"><em>newElementsToZero</em> = <code>false</code> </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 &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> & </td> <td class="paramname"><em>siz</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">bool </td> <td class="paramname"><em>zeroNewElements</em> = <code>false</code> </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 &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 </td> <td class="paramname"><em>row</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">size_t </td> <td class="paramname"><em>col</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const T & </td> <td class="paramname"><em>v</em> </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 </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 </td> <td class="paramname"><em>row</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">size_t </td> <td class="paramname"><em>col</em> </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< T * >::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 </td> <td class="paramname"><em>row</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">size_t </td> <td class="paramname"><em>col</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">bool </td> <td class="paramname"><em>zeroNewElements</em> = <code>false</code> </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< T > &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>< T > & </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>