<!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::CMatrixTemplate 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.html">CMatrixTemplate</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> </div> <div class="headertitle"> <div class="title">mrpt::math::CMatrixTemplate 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::CMatrixTemplate" --><hr/><a name="details" id="details"></a><h2>Detailed Description</h2> <div class="textblock"><p>This template class provides the basic functionality for a general 2D any-size, resizable container of numerical or non-numerical elements. </p> <p>NOTES:</p> <ul> <li>This class is not serializable since it is a template. For using serialization, see mrpt::math::CMatrixNumeric</li> <li>First row or column index is "0".</li> <li>This class includes range checks with <a class="el" href="mrpt__macros_8h.html#a47eb5a445c2bf3d9190396510ea9683e">ASSERT_()</a> if compiling with "_DEBUG" or "MRPT_ALWAYS_CHECKS_DEBUG_MATRICES=1".</li> <li>Please DO NOT use as template class type any other class. It can be safely used the following types:<ul> <li>Elemental types (int,char,float,doble,...)</li> <li>Data struct (Not classes!)</li> <li>Any kind of pointers (user is responsible for allocating and freeing the memory addressed by pointers).</li> </ul> </li> </ul> <dl class="note"><dt><b>Note:</b></dt><dd>Memory blocks for each row are 16-bytes aligned (since MRPT 0.7.0). </dd> <dd> For a complete introduction to Matrices and vectors in MRPT, see: <a href="http://www.mrpt.org/Matrices_vectors_arrays_and_Linear_Algebra_MRPT_and_Eigen_classes">http://www.mrpt.org/Matrices_vectors_arrays_and_Linear_Algebra_MRPT_and_Eigen_classes</a> </dd></dl> <dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="classmrpt_1_1math_1_1_c_matrix_template_numeric.html" title="A matrix of dynamic size.">CMatrixTemplateNumeric</a> </dd></dl> </div> <p><code>#include <<a class="el" href="_c_matrix_template_8h_source.html">mrpt/math/CMatrixTemplate.h</a>></code></p> <div class="dynheader"> Inheritance diagram for mrpt::math::CMatrixTemplate:</div> <div class="dyncontent"> <div class="center"><img src="classmrpt_1_1math_1_1_c_matrix_template__inherit__graph.png" border="0" usemap="#mrpt_1_1math_1_1_c_matrix_template_inherit__map" alt="Inheritance graph"/></div> <map name="mrpt_1_1math_1_1_c_matrix_template_inherit__map" id="mrpt_1_1math_1_1_c_matrix_template_inherit__map"> <area shape="rect" id="node3" href="classmrpt_1_1math_1_1_c_matrix_b.html" title="This class is a "CSerializable" wrapper for "CMatrixBool"." alt="" coords="371,5,567,32"/><area shape="rect" id="node5" href="classmrpt_1_1math_1_1_c_matrix_template.html" title="mrpt::math::CMatrixTemplate\< T * \>" alt="" coords="352,56,587,83"/><area shape="rect" id="node9" href="classmrpt_1_1math_1_1_c_matrix_template.html" title="mrpt::math::CMatrixTemplate\< bool \>" alt="" coords="349,107,590,133"/><area shape="rect" id="node11" href="classmrpt_1_1math_1_1_c_matrix_template.html" title="mrpt::math::CMatrixTemplate\< TPoint3D \>" alt="" coords="333,157,605,184"/><area shape="rect" id="node7" href="classmrpt_1_1math_1_1_c_matrix_template_objects.html" title="This template class extends the class "CMatrixTemplate" for storing "objects" at each matrix entry..." alt="" coords="657,56,895,83"/></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-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="memTemplParams" colspan="2">template<size_t N> </td></tr> <tr><td class="memTemplItemLeft" align="right" valign="top">void </td><td class="memTemplItemRight" 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"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1math_1_1_c_matrix_template.html#acde4bbf7122752da968620879d77f4a5">CMatrixTemplate</a> (const <a class="el" href="classmrpt_1_1math_1_1_c_matrix_template.html">CMatrixTemplate</a> &m)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Constructors. <a href="#acde4bbf7122752da968620879d77f4a5"></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.html#ab21ba4098d7c413d95a1729c0d3e3d74">CMatrixTemplate</a> (size_t row=1, size_t col=1)</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.html#aad657a6feb35f398a22e97d2ea91ea9b">CMatrixTemplate</a> (const <a class="el" href="classmrpt_1_1math_1_1_c_matrix_template.html">CMatrixTemplate</a> &m, const size_t cropRowCount, const size_t cropColCount)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Copy constructor & crop from another matrix. <a href="#aad657a6feb35f398a22e97d2ea91ea9b"></a><br/></td></tr> <tr><td class="memTemplParams" colspan="2">template<typename V , size_t N> </td></tr> <tr><td class="memTemplItemLeft" align="right" valign="top"> </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classmrpt_1_1math_1_1_c_matrix_template.html#ab88aee6ec8116d03c1155012936f8b47">CMatrixTemplate</a> (size_t row, size_t col, V(&theArray)[N])</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Constructor from a given size and a C array. <a href="#ab88aee6ec8116d03c1155012936f8b47"></a><br/></td></tr> <tr><td class="memTemplParams" colspan="2">template<typename V > </td></tr> <tr><td class="memTemplItemLeft" align="right" valign="top"> </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classmrpt_1_1math_1_1_c_matrix_template.html#ae955c632d1aced03fa08d3952374c9f7">CMatrixTemplate</a> (size_t row, size_t col, const V &theVector)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Constructor from a given size and a STL container (<a class="el" href="classstd_1_1vector.html" title="STL class.">std::vector</a>, <a class="el" href="classstd_1_1list.html" title="STL class.">std::list</a>,...) with the initial values. <a href="#ae955c632d1aced03fa08d3952374c9f7"></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.html#a9d9d888c9ddbe823c176589ea3425055">~CMatrixTemplate</a> ()</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Destructor. <a href="#a9d9d888c9ddbe823c176589ea3425055"></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> & </td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1math_1_1_c_matrix_template.html#abf284b2591a23c32ea02f997ea7c380e">operator=</a> (const <a class="el" href="classmrpt_1_1math_1_1_c_matrix_template.html">CMatrixTemplate</a> &m)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Assignment operator from another matrix. <a href="#abf284b2591a23c32ea02f997ea7c380e"></a><br/></td></tr> <tr><td class="memTemplParams" colspan="2">template<typename V , size_t N> </td></tr> <tr><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="classmrpt_1_1math_1_1_c_matrix_template.html">CMatrixTemplate</a> & </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classmrpt_1_1math_1_1_c_matrix_template.html#a8ba6eb0d9cfbd59246e0410c922ca914">operator=</a> (V(&theArray)[N])</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Assignment operator for initializing from a C array (The matrix must be set to the correct size before invoking this asignament) <a href="#a8ba6eb0d9cfbd59246e0410c922ca914"></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">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"><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#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="memTemplParams" colspan="2">template<class Derived > </td></tr> <tr><td class="memTemplItemLeft" align="right" valign="top">void </td><td class="memTemplItemRight" 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> </table> <hr/><h2>Member Typedef Documentation</h2> <a class="anchor" id="a7effa0f8b45eecf05f527e6feaa61091"></a><!-- doxytag: member="mrpt::math::CMatrixTemplate::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></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::CMatrixTemplate::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></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::CMatrixTemplate::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></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::CMatrixTemplate::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></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::CMatrixTemplate::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></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="acde4bbf7122752da968620879d77f4a5"></a><!-- doxytag: member="mrpt::math::CMatrixTemplate::CMatrixTemplate" ref="acde4bbf7122752da968620879d77f4a5" args="(const CMatrixTemplate &m)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">mrpt::math::CMatrixTemplate::CMatrixTemplate </td> <td>(</td> <td class="paramtype">const <a class="el" href="classmrpt_1_1math_1_1_c_matrix_template.html">CMatrixTemplate</a> & </td> <td class="paramname"><em>m</em></td><td>)</td> <td><code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Constructors. </p> <p>Definition at line <a class="el" href="_c_matrix_template_8h_source.html#l00148">148</a> of file <a class="el" href="_c_matrix_template_8h_source.html">CMatrixTemplate.h</a>.</p> </div> </div> <a class="anchor" id="ab21ba4098d7c413d95a1729c0d3e3d74"></a><!-- doxytag: member="mrpt::math::CMatrixTemplate::CMatrixTemplate" ref="ab21ba4098d7c413d95a1729c0d3e3d74" args="(size_t row=1, size_t col=1)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">mrpt::math::CMatrixTemplate::CMatrixTemplate </td> <td>(</td> <td class="paramtype">size_t </td> <td class="paramname"><em>row</em> = <code>1</code>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">size_t </td> <td class="paramname"><em>col</em> = <code>1</code> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td><code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Definition at line <a class="el" href="_c_matrix_template_8h_source.html#l00153">153</a> of file <a class="el" href="_c_matrix_template_8h_source.html">CMatrixTemplate.h</a>.</p> </div> </div> <a class="anchor" id="aad657a6feb35f398a22e97d2ea91ea9b"></a><!-- doxytag: member="mrpt::math::CMatrixTemplate::CMatrixTemplate" ref="aad657a6feb35f398a22e97d2ea91ea9b" args="(const CMatrixTemplate &m, const size_t cropRowCount, const size_t cropColCount)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">mrpt::math::CMatrixTemplate::CMatrixTemplate </td> <td>(</td> <td class="paramtype">const <a class="el" href="classmrpt_1_1math_1_1_c_matrix_template.html">CMatrixTemplate</a> & </td> <td class="paramname"><em>m</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const size_t </td> <td class="paramname"><em>cropRowCount</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const size_t </td> <td class="paramname"><em>cropColCount</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td><code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Copy constructor & crop from another matrix. </p> <p>Definition at line <a class="el" href="_c_matrix_template_8h_source.html#l00160">160</a> of file <a class="el" href="_c_matrix_template_8h_source.html">CMatrixTemplate.h</a>.</p> </div> </div> <a class="anchor" id="ab88aee6ec8116d03c1155012936f8b47"></a><!-- doxytag: member="mrpt::math::CMatrixTemplate::CMatrixTemplate" ref="ab88aee6ec8116d03c1155012936f8b47" args="(size_t row, size_t col, V(&theArray)[N])" --> <div class="memitem"> <div class="memproto"> <div class="memtemplate"> template<typename V , size_t N> </div> <table class="memname"> <tr> <td class="memname">mrpt::math::CMatrixTemplate::CMatrixTemplate </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">V(&) </td> <td class="paramname"><em>theArray</em>[N] </td> </tr> <tr> <td></td> <td>)</td> <td></td><td><code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Constructor from a given size and a C array. </p> <p>The array length must match cols x row. </p> <div class="fragment"><pre class="fragment"> <span class="keyword">const</span> <span class="keywordtype">double</span> numbers[] = { 1,2,3, 4,5,6 }; <a class="code" href="namespacemrpt_1_1math.html#a3814c2b868f059d6a7ab0d8ecd2311d6" title="Declares a matrix of double numbers (non serializable).">CMatrixDouble</a> M(3,2, numbers); </pre></div> <p>Definition at line <a class="el" href="_c_matrix_template_8h_source.html#l00179">179</a> of file <a class="el" href="_c_matrix_template_8h_source.html">CMatrixTemplate.h</a>.</p> </div> </div> <a class="anchor" id="ae955c632d1aced03fa08d3952374c9f7"></a><!-- doxytag: member="mrpt::math::CMatrixTemplate::CMatrixTemplate" ref="ae955c632d1aced03fa08d3952374c9f7" args="(size_t row, size_t col, const V &theVector)" --> <div class="memitem"> <div class="memproto"> <div class="memtemplate"> template<typename V > </div> <table class="memname"> <tr> <td class="memname">mrpt::math::CMatrixTemplate::CMatrixTemplate </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 V & </td> <td class="paramname"><em>theVector</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td><code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Constructor from a given size and a STL container (<a class="el" href="classstd_1_1vector.html" title="STL class.">std::vector</a>, <a class="el" href="classstd_1_1list.html" title="STL class.">std::list</a>,...) with the initial values. </p> <p>The vector length must match cols x row. </p> <p>Definition at line <a class="el" href="_c_matrix_template_8h_source.html#l00193">193</a> of file <a class="el" href="_c_matrix_template_8h_source.html">CMatrixTemplate.h</a>.</p> </div> </div> <a class="anchor" id="a9d9d888c9ddbe823c176589ea3425055"></a><!-- doxytag: member="mrpt::math::CMatrixTemplate::~CMatrixTemplate" ref="a9d9d888c9ddbe823c176589ea3425055" args="()" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual mrpt::math::CMatrixTemplate::~CMatrixTemplate </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_8h_source.html#l00205">205</a> of file <a class="el" href="_c_matrix_template_8h_source.html">CMatrixTemplate.h</a>.</p> </div> </div> <hr/><h2>Member Function Documentation</h2> <a class="anchor" id="a235ad47bf6791ab3a36d66c47594b087"></a><!-- doxytag: member="mrpt::math::CMatrixTemplate::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]</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="classmrpt_1_1math_1_1_c_matrix_template.html#aea9bf548aabe05429ab6b3d7349101af" title="Returns a given column to a vector (without modifying the matrix) On index out of bounds...">extractCol</a> </dd> <dd> <a class="el" href="classmrpt_1_1math_1_1_c_matrix_template.html#afc2e5b7b39c14733589e4c8b1d10e448" title="Appends a new row to the MxN matrix from a 1xN vector.">appendRow</a> </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::CMatrixTemplate::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]</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> <a class="el" href="classmrpt_1_1math_1_1_c_matrix_template.html#a235ad47bf6791ab3a36d66c47594b087" title="Appends a new column to the matrix from a vector.">appendCol</a> </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::CMatrixTemplate::ASSERT_ENOUGHROOM" ref="a3cba8d34be5588f1feac6087b222f660" args="(size_t r, size_t c) const " --> <div class="memitem"> <div class="memproto"> <div class="memtemplate"> template<size_t N> </div> <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]</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::CMatrixTemplate::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]</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::CMatrixTemplate::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]</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::CMatrixTemplate::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]</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> <a class="el" href="classmrpt_1_1math_1_1_c_matrix_template.html#af904aba259f53063f49e0a098ddb5924" title="Gets a series of contiguous rows.">extractRows</a> </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::CMatrixTemplate::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]</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> <a class="el" href="classmrpt_1_1math_1_1_c_matrix_template.html#ab56d5fe81d7f3a83ff3d1035828aacdc" title="Gets a series of contiguous columns.">extractColumns</a> </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::CMatrixTemplate::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]</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> <p>Referenced by <a class="el" href="_c_matrix_template_8h_source.html#l00403">mrpt::math::CMatrixTemplate< TPoint3D >::operator()()</a>.</p> </div> </div> <a class="anchor" id="abc4dce3ea43af685bba2ac9e6f51efb8"></a><!-- doxytag: member="mrpt::math::CMatrixTemplate::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"> <div class="memtemplate"> template<class Derived > </div> <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]</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::CMatrixTemplate::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]</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="a776dd903be8dcd2306399757bf503e0e"></a><!-- doxytag: member="mrpt::math::CMatrixTemplate::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]</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::CMatrixTemplate::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]</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::CMatrixTemplate::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]</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::CMatrixTemplate::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]</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::CMatrixTemplate::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]</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::CMatrixTemplate::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]</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="classmrpt_1_1math_1_1_c_matrix_template.html#a0d8f81e3e3bd53007eb189734f6bfd05" title="Number of rows in the matrix.">getRowCount</a>, <a class="el" href="classmrpt_1_1math_1_1_c_matrix_template.html#a6e471dbc4f15a3f90a969afa16adb5ac" title="Number of columns in the matrix.">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> <p>Referenced by <a class="el" href="_c_matrix_template_8h_source.html#l00127">mrpt::math::CMatrixTemplate< TPoint3D >::ASSERT_ENOUGHROOM()</a>.</p> </div> </div> <a class="anchor" id="a0d8f81e3e3bd53007eb189734f6bfd05"></a><!-- doxytag: member="mrpt::math::CMatrixTemplate::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]</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="classmrpt_1_1math_1_1_c_matrix_template.html#a0d8f81e3e3bd53007eb189734f6bfd05" title="Number of rows in the matrix.">getRowCount</a>, <a class="el" href="classmrpt_1_1math_1_1_c_matrix_template.html#a6e471dbc4f15a3f90a969afa16adb5ac" title="Number of columns in the matrix.">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> <p>Referenced by <a class="el" href="_c_matrix_template_8h_source.html#l00127">mrpt::math::CMatrixTemplate< TPoint3D >::ASSERT_ENOUGHROOM()</a>.</p> </div> </div> <a class="anchor" id="a8319a14f3c11bf1b98620b5750854472"></a><!-- doxytag: member="mrpt::math::CMatrixTemplate::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]</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="classmrpt_1_1math_1_1_c_matrix_template.html#aea9bf548aabe05429ab6b3d7349101af" title="Returns a given column to a vector (without modifying the matrix) On index out of bounds...">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::CMatrixTemplate::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]</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::CMatrixTemplate::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]</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::CMatrixTemplate::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]</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::CMatrixTemplate::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]</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::CMatrixTemplate::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]</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="abf284b2591a23c32ea02f997ea7c380e"></a><!-- doxytag: member="mrpt::math::CMatrixTemplate::operator=" ref="abf284b2591a23c32ea02f997ea7c380e" args="(const CMatrixTemplate &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.html">CMatrixTemplate</a>& mrpt::math::CMatrixTemplate::operator= </td> <td>(</td> <td class="paramtype">const <a class="el" href="classmrpt_1_1math_1_1_c_matrix_template.html">CMatrixTemplate</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 from another matrix. </p> <p>Reimplemented in <a class="el" href="classmrpt_1_1math_1_1_c_matrix_b.html#a99372f8008f30fca91fb854730bf0a94">mrpt::math::CMatrixB</a>.</p> <p>Definition at line <a class="el" href="_c_matrix_template_8h_source.html#l00208">208</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_b_8h_source.html#l00066">mrpt::math::CMatrixB::operator=()</a>.</p> </div> </div> <a class="anchor" id="a8ba6eb0d9cfbd59246e0410c922ca914"></a><!-- doxytag: member="mrpt::math::CMatrixTemplate::operator=" ref="a8ba6eb0d9cfbd59246e0410c922ca914" args="(V(&theArray)[N])" --> <div class="memitem"> <div class="memproto"> <div class="memtemplate"> template<typename V , size_t N> </div> <table class="memname"> <tr> <td class="memname"><a class="el" href="classmrpt_1_1math_1_1_c_matrix_template.html">CMatrixTemplate</a>& mrpt::math::CMatrixTemplate::operator= </td> <td>(</td> <td class="paramtype">V(&) </td> <td class="paramname"><em>theArray</em>[N]</td><td>)</td> <td><code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Assignment operator for initializing from a C array (The matrix must be set to the correct size before invoking this asignament) </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(3,2); <span class="keyword">const</span> <span class="keywordtype">double</span> numbers[] = { 1,2,3, 4,5,6 }; M = numbers; </pre></div><p> Refer also to the constructor with initialization data <a class="el" href="classmrpt_1_1math_1_1_c_matrix_template.html#acde4bbf7122752da968620879d77f4a5" title="Constructors.">CMatrixTemplate::CMatrixTemplate</a> </p> <p>Definition at line <a class="el" href="_c_matrix_template_8h_source.html#l00228">228</a> of file <a class="el" href="_c_matrix_template_8h_source.html">CMatrixTemplate.h</a>.</p> </div> </div> <a class="anchor" id="ac10c5fd22bc63a60fd50cdcee3c10835"></a><!-- doxytag: member="mrpt::math::CMatrixTemplate::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]</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_8h_source.html#l00153">mrpt::math::CMatrixTemplate< TPoint3D >::CMatrixTemplate()</a>, <a class="el" href="_c_matrix_template_8h_source.html#l00205">mrpt::math::CMatrixTemplate< TPoint3D >::~CMatrixTemplate()</a>, <a class="el" href="_c_matrix_template_8h_source.html#l00208">mrpt::math::CMatrixTemplate< TPoint3D >::operator=()</a>, <a class="el" href="_c_matrix_template_8h_source.html#l00262">mrpt::math::CMatrixTemplate< TPoint3D >::setSize()</a>, <a class="el" href="_c_matrix_template_8h_source.html#l00509">mrpt::math::CMatrixTemplate< TPoint3D >::appendRow()</a>, and <a class="el" href="_c_matrix_template_8h_source.html#l00538">mrpt::math::CMatrixTemplate< TPoint3D >::appendCol()</a>.</p> </div> </div> <a class="anchor" id="afebb79fd81c53f5dba00869c0ad43b9b"></a><!-- doxytag: member="mrpt::math::CMatrixTemplate::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]</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::CMatrixTemplate::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]</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="af881b80ad52c0cd378cdf85a10120ace"></a><!-- doxytag: member="mrpt::math::CMatrixTemplate::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]</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> <p>Referenced by <a class="el" href="_c_matrix_template_8h_source.html#l00268">mrpt::math::CMatrixTemplate< TPoint3D >::resize()</a>, and <a class="el" href="_c_pose2_d_grid_template_8h_source.html#l00223">mrpt::poses::CPose2DGridTemplate< double >::getAsMatrix()</a>.</p> </div> </div> <a class="anchor" id="af45d31ffeb9baae30b246793cd795f19"></a><!-- doxytag: member="mrpt::math::CMatrixTemplate::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]</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::CMatrixTemplate::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]</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> <p>Referenced by <a class="el" href="_c_matrix_template_8h_source.html#l00140">mrpt::math::CMatrixTemplate< TPoint3D >::swap()</a>.</p> </div> </div> <hr/><h2>Member Data Documentation</h2> <a class="anchor" id="a40ecbadd8c4dc2267173df7f4a85ed62"></a><!-- doxytag: member="mrpt::math::CMatrixTemplate::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]</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> <p>Referenced by <a class="el" href="_c_matrix_template_8h_source.html#l00077">mrpt::math::CMatrixTemplate< TPoint3D >::realloc()</a>, <a class="el" href="_c_matrix_template_8h_source.html#l00133">mrpt::math::CMatrixTemplate< TPoint3D >::fillAll()</a>, <a class="el" href="_c_matrix_template_8h_source.html#l00140">mrpt::math::CMatrixTemplate< TPoint3D >::swap()</a>, <a class="el" href="_c_matrix_template_8h_source.html#l00160">mrpt::math::CMatrixTemplate< TPoint3D >::CMatrixTemplate()</a>, <a class="el" href="_c_matrix_template_8h_source.html#l00208">mrpt::math::CMatrixTemplate< TPoint3D >::operator=()</a>, <a class="el" href="_c_matrix_template_8h_source.html#l00250">mrpt::math::CMatrixTemplate< TPoint3D >::getColCount()</a>, <a class="el" href="_c_matrix_template_8h_source.html#l00253">mrpt::math::CMatrixTemplate< TPoint3D >::size()</a>, <a class="el" href="_c_matrix_template_8h_source.html#l00275">mrpt::math::CMatrixTemplate< TPoint3D >::operator()()</a>, <a class="el" href="_c_matrix_template_8h_source.html#l00353">mrpt::math::CMatrixTemplate< TPoint3D >::set_unsafe()</a>, <a class="el" href="_c_matrix_template_8h_source.html#l00364">mrpt::math::CMatrixTemplate< TPoint3D >::get_unsafe()</a>, <a class="el" href="_c_matrix_template_8h_source.html#l00386">mrpt::math::CMatrixTemplate< TPoint3D >::get_unsafe_row()</a>, <a class="el" href="_c_matrix_template_8h_source.html#l00412">mrpt::math::CMatrixTemplate< TPoint3D >::extractSubmatrix()</a>, <a class="el" href="_c_matrix_template_8h_source.html#l00445">mrpt::math::CMatrixTemplate< TPoint3D >::extractRows()</a>, <a class="el" href="_c_matrix_template_8h_source.html#l00463">mrpt::math::CMatrixTemplate< TPoint3D >::extractCol()</a>, <a class="el" href="_c_matrix_template_8h_source.html#l00509">mrpt::math::CMatrixTemplate< TPoint3D >::appendRow()</a>, <a class="el" href="_c_matrix_template_8h_source.html#l00538">mrpt::math::CMatrixTemplate< TPoint3D >::appendCol()</a>, <a class="el" href="_c_matrix_template_8h_source.html#l00553">mrpt::math::CMatrixTemplate< TPoint3D >::insertCol()</a>, and <a class="el" href="_c_matrix_template_8h_source.html#l00566">mrpt::math::CMatrixTemplate< TPoint3D >::getAsVector()</a>.</p> </div> </div> <a class="anchor" id="a1d1a2aac6aaa02123208cdab76ce4de1"></a><!-- doxytag: member="mrpt::math::CMatrixTemplate::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]</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> <p>Referenced by <a class="el" href="_c_matrix_template_8h_source.html#l00077">mrpt::math::CMatrixTemplate< TPoint3D >::realloc()</a>, <a class="el" href="_c_matrix_template_8h_source.html#l00133">mrpt::math::CMatrixTemplate< TPoint3D >::fillAll()</a>, <a class="el" href="_c_matrix_template_8h_source.html#l00140">mrpt::math::CMatrixTemplate< TPoint3D >::swap()</a>, <a class="el" href="_c_matrix_template_8h_source.html#l00160">mrpt::math::CMatrixTemplate< TPoint3D >::CMatrixTemplate()</a>, <a class="el" href="_c_matrix_template_8h_source.html#l00208">mrpt::math::CMatrixTemplate< TPoint3D >::operator=()</a>, <a class="el" href="_c_matrix_template_8h_source.html#l00245">mrpt::math::CMatrixTemplate< TPoint3D >::getRowCount()</a>, <a class="el" href="_c_matrix_template_8h_source.html#l00253">mrpt::math::CMatrixTemplate< TPoint3D >::size()</a>, <a class="el" href="_c_matrix_template_8h_source.html#l00275">mrpt::math::CMatrixTemplate< TPoint3D >::operator()()</a>, <a class="el" href="_c_matrix_template_8h_source.html#l00353">mrpt::math::CMatrixTemplate< TPoint3D >::set_unsafe()</a>, <a class="el" href="_c_matrix_template_8h_source.html#l00364">mrpt::math::CMatrixTemplate< TPoint3D >::get_unsafe()</a>, <a class="el" href="_c_matrix_template_8h_source.html#l00386">mrpt::math::CMatrixTemplate< TPoint3D >::get_unsafe_row()</a>, <a class="el" href="_c_matrix_template_8h_source.html#l00412">mrpt::math::CMatrixTemplate< TPoint3D >::extractSubmatrix()</a>, <a class="el" href="_c_matrix_template_8h_source.html#l00455">mrpt::math::CMatrixTemplate< TPoint3D >::extractColumns()</a>, <a class="el" href="_c_matrix_template_8h_source.html#l00463">mrpt::math::CMatrixTemplate< TPoint3D >::extractCol()</a>, <a class="el" href="_c_matrix_template_8h_source.html#l00509">mrpt::math::CMatrixTemplate< TPoint3D >::appendRow()</a>, <a class="el" href="_c_matrix_template_8h_source.html#l00538">mrpt::math::CMatrixTemplate< TPoint3D >::appendCol()</a>, <a class="el" href="_c_matrix_template_8h_source.html#l00553">mrpt::math::CMatrixTemplate< TPoint3D >::insertCol()</a>, and <a class="el" href="_c_matrix_template_8h_source.html#l00566">mrpt::math::CMatrixTemplate< TPoint3D >::getAsVector()</a>.</p> </div> </div> <a class="anchor" id="a5ca0244e5b348d1ce5666efe9d1d97f4"></a><!-- doxytag: member="mrpt::math::CMatrixTemplate::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]</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> <p>Referenced by <a class="el" href="_c_matrix_template_8h_source.html#l00077">mrpt::math::CMatrixTemplate< TPoint3D >::realloc()</a>, <a class="el" href="_c_matrix_template_8h_source.html#l00133">mrpt::math::CMatrixTemplate< TPoint3D >::fillAll()</a>, <a class="el" href="_c_matrix_template_8h_source.html#l00140">mrpt::math::CMatrixTemplate< TPoint3D >::swap()</a>, <a class="el" href="_c_matrix_template_8h_source.html#l00160">mrpt::math::CMatrixTemplate< TPoint3D >::CMatrixTemplate()</a>, <a class="el" href="_c_matrix_template_8h_source.html#l00208">mrpt::math::CMatrixTemplate< TPoint3D >::operator=()</a>, <a class="el" href="_c_matrix_template_8h_source.html#l00275">mrpt::math::CMatrixTemplate< TPoint3D >::operator()()</a>, <a class="el" href="_c_matrix_template_8h_source.html#l00353">mrpt::math::CMatrixTemplate< TPoint3D >::set_unsafe()</a>, <a class="el" href="_c_matrix_template_8h_source.html#l00364">mrpt::math::CMatrixTemplate< TPoint3D >::get_unsafe()</a>, <a class="el" href="_c_matrix_template_8h_source.html#l00386">mrpt::math::CMatrixTemplate< TPoint3D >::get_unsafe_row()</a>, <a class="el" href="_c_matrix_template_8h_source.html#l00412">mrpt::math::CMatrixTemplate< TPoint3D >::extractSubmatrix()</a>, <a class="el" href="_c_matrix_template_8h_source.html#l00463">mrpt::math::CMatrixTemplate< TPoint3D >::extractCol()</a>, <a class="el" href="_c_matrix_template_8h_source.html#l00509">mrpt::math::CMatrixTemplate< TPoint3D >::appendRow()</a>, <a class="el" href="_c_matrix_template_8h_source.html#l00538">mrpt::math::CMatrixTemplate< TPoint3D >::appendCol()</a>, <a class="el" href="_c_matrix_template_8h_source.html#l00553">mrpt::math::CMatrixTemplate< TPoint3D >::insertCol()</a>, and <a class="el" href="_c_matrix_template_8h_source.html#l00566">mrpt::math::CMatrixTemplate< TPoint3D >::getAsVector()</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>