Sophie

Sophie

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

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

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<title>[mrpt-base]</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
<link href="tabs.css" rel="stylesheet" type="text/css">
</head><body>
<div align="left"><a href="http://www.mrpt.org/">Main MRPT website</a> &gt; <b>C++ reference</b> </div>
<div align="right">
<a href="index.html"><img border="0" src="mrpt_logo.png" alt="MRPT logo"></a>
</div>
<!-- Generated by Doxygen 1.7.5 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
      <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
      <li><a href="modules.html"><span>Modules</span></a></li>
      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
      <li><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>
<div class="header">
  <div class="summary">
<a href="#nested-classes">Classes</a> &#124;
<a href="#namespaces">Namespaces</a> &#124;
<a href="#groups">Modules</a> &#124;
<a href="#define-members">Defines</a> &#124;
<a href="#typedef-members">Typedefs</a> &#124;
<a href="#enum-members">Enumerations</a>  </div>
  <div class="headertitle">
<div class="title">[mrpt-base]</div>  </div>
</div>
<div class="contents">
<hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
<p><small> <a href="index.html#libs">Back to list of all libraries</a> | <a href="modules.html">See all modules</a> </small> <br/>
 </p>
<h2>Library <code>mrpt-base</code></h2>
<hr/>
<p>This is the most fundamental library in MRPT, since it provides a vast amount of utilities and OS-abstraction classes upon which the rest of MRPT is built. Here resides critical functionality such as mathematics, linear algebra, serialization, smart pointers and multi-threading. l This library comprises classes in a number of namespaces, briefly described below (click on the namespaces names to see the complete list of its classes):</p>
<h3><a class="el" href="namespacemrpt_1_1poses.html" title="Classes for 2D/3D geometry representation, both of single values and probability density distribution...">mrpt::poses</a></h3>
<p>A comprehensive collection of geometry-related classes to represent all kind of 2D and 3D geomtry transformations in different formats (Euler angles, rotation matrices, quaternions), as well as networks of pose constrains (as used typically in SLAM problems).</p>
<p>There are also implemented representations for probability distributions over all of these transformations, in a generic way that allow mono and multi-modal Gaussians and particle-based representations.</p>
<p>See <a class="el" href="namespacemrpt_1_1poses.html" title="Classes for 2D/3D geometry representation, both of single values and probability density distribution...">mrpt::poses</a> for the complete list of classes here.</p>
<h3><a class="el" href="namespacemrpt_1_1utils.html" title="Classes for serialization, sockets, ini-file manipulation, streams, list of properties-values, timewatch, extensions to STL.">mrpt::utils</a></h3>
<ul>
<li>
<p class="startli"><b>RTTI (RunTime Type Information):</b> A cross-platform, compiler-independent RTTI system is built around the base class <a class="el" href="classmrpt_1_1utils_1_1_c_object.html" title="The virtual base class of all MRPT classes with a unified RTTI system.">mrpt::utils::CObject</a>.</p>
<p class="endli"></p>
</li>
<li>
<p class="startli"><b>Smart pointers:</b> Based on the STLplus library, any class CFoo inheriting from CObject, automatically has an associated smart pointer class CFooPtr. MRPT implements advanced smart pointers capable of multi-thread safe usage and smart pointer typecasting with runtime check for correct castings (<a href="http://www.mrpt.org/Smart_pointers">tutorial</a>).</p>
<p class="endli"></p>
</li>
<li>
<p class="startli"><b>Image handling:</b> The class <a class="el" href="classmrpt_1_1utils_1_1_c_image.html" title="A class for storing images as grayscale or RGB bitmaps.">mrpt::utils::CImage</a> represents a wrapper around OpenCV IplImage's, plus extra functionality such as on-the-fly loading of images stored in disk upon first usage. The internal IplImage is always available so OpenCV's functions can be still used to operate on MRPT images. </p>
<p class="endli"></p>
</li>
<li>
<p class="startli"><b>Serialization/Persistence:</b> Object serialization in a simple but powerful (including versioning) format is supported by dozens of MRPT classes, all based on <a class="el" href="classmrpt_1_1utils_1_1_c_serializable.html" title="The virtual base class which provides a unified interface for all persistent objects in MRPT...">mrpt::utils::CSerializable</a>. </p>
<p class="endli"></p>
</li>
<li>
<p class="startli"><b>Streams:</b> Stream classes (see the base <a class="el" href="classmrpt_1_1utils_1_1_c_stream.html" title="This base class is used to provide a unified interface to files,memory buffers,..Please see the deriv...">mrpt::utils::CStream</a>) allow serialization of MRPT objects. There are classes for tranparent GZ-compressed files, sockets, serial ports, etc. </p>
<p class="endli"></p>
</li>
<li>
<p class="startli"><b>XML-based databases:</b> Simple databases can be mantained, loaded and saved to files with <a class="el" href="classmrpt_1_1utils_1_1_c_simple_database.html" title="This class impements a very simple database system.">mrpt::utils::CSimpleDatabase</a>. </p>
<p class="endli"></p>
</li>
<li>
<p class="startli"><b>Name-based argument passing:</b> See the structure <a class="el" href="structmrpt_1_1utils_1_1_t_parameters.html" title="For usage when passing a dynamic number of (numeric) arguments to a function, by name.">mrpt::utils::TParameters</a> </p>
<p class="endli"></p>
</li>
<li>
<p class="startli"><b>Configuration files:</b> There is one base virtual class (<a class="el" href="classmrpt_1_1utils_1_1_c_config_file_base.html" title="This class allows loading and storing values and vectors of different types from a configuration text...">mrpt::utils::CConfigFileBase</a>) which can be used to read/write configuration files (including basic types, vectors, matrices,...) from any "configuration source" transparently (an actual configuration file, a text block created on the fly, etc.). </p>
<p class="endli"></p>
</li>
</ul>
<h3><a class="el" href="namespacemrpt_1_1math.html" title="This base provides a set of functions for maths stuff.">mrpt::math</a></h3>
<p>MRPT defines a number of generic <em> math containers</em>, which are:</p>
<ul>
<li>
<b>Matrices:</b> Dynamic-size matrices (see <a class="el" href="namespacemrpt_1_1math.html#a3814c2b868f059d6a7ab0d8ecd2311d6" title="Declares a matrix of double numbers (non serializable).">mrpt::math::CMatrixDouble</a>) and compile-time fixed-size matrices (see <a class="el" href="classmrpt_1_1math_1_1_c_matrix_fixed_numeric.html" title="A numeric matrix of compile-time fixed size.">mrpt::math::CMatrixFixedNumeric</a>, <a class="el" href="namespacemrpt_1_1math.html#a58d0ee60eee38e990848ccb8b83e8338">mrpt::math::CMatrixDouble33</a>, etc.).  </li>
<li>
<b>Vectors:</b> Dynamic-size vectors. See <a class="el" href="namespacemrpt.html#a4a6aab2c98368ca6b554c04f8fe84cfb">mrpt::vector_double</a>, which inherits from a standard STL <a class="el" href="classstd_1_1vector.html">vector&lt;double&gt;</a>.  </li>
<li>
<b>Arrays:</b> Fixed-size vectors, just like plain C arrays but with support for STL-like iterators and much more. See mrpt::math::CArrayDouble&lt;&gt;.  </li>
</ul>
<p>For a more in-depth description of these types, and their relation to the base <a class="el" href="namespace_eigen.html" title="Namespace containing all symbols from the Eigen library.">Eigen</a> classes, read <a href="http://www.mrpt.org/Matrices_vectors_arrays_and_Linear_Algebra_MRPT_and_Eigen_classes">this page</a>.</p>
<p>Notice that fixed-size containers should be preferred where possible, since they allow more compile-time optimizations.</p>
<p>Apart from the containers, this namespace contains much more functionality:</p>
<ul>
<li>
A templatized RANSAC algorithm.  </li>
<li>
Probability distribution functions.  </li>
<li>
Statistics: mean, covariance, covariance of weighted samples, etc... from sets of data. </li>
<li>
A huge amount of geometry-related functions: Lines (<a class="el" href="structmrpt_1_1math_1_1_t_line3_d.html" title="3D line, represented by a base point and a director vector.">mrpt::math::TLine3D</a>), planes (<a class="el" href="group__geometry__grp.html#ga059f9e940d0d3c842d7ca1cec3c4f999">mrpt::math::TPlane3D</a>), segments, polygons, intersections between them, etc.  </li>
<li>
Graph-related stuff: generic directed graphs (mrpt::math::CDirectedGraph) and trees (mrpt::math::CDirectedTree). </li>
<li>
PDF transformations (uncertainty propagation): See <a class="el" href="group__gausspdf__transform__grp.html#gac9caace672d90279c312d43877d8480b" title="First order uncertainty propagation estimator of the Gaussian distribution of a variable Y=f(X) for a...">mrpt::math::transform_gaussian_linear</a>, <a class="el" href="group__gausspdf__transform__grp.html#ga690d0b41f293578fcfd067e9177fc863" title="Simple Montecarlo-base estimation of the Gaussian distribution of a variable Y=f(X) for an arbitrary ...">mrpt::math::transform_gaussian_montecarlo</a>, <a class="el" href="group__gausspdf__transform__grp.html#gaabbaca6808e3d9be3fd37f82f98049f0" title="Scaled unscented transformation (SUT) for estimating the Gaussian distribution of a variable Y=f(X) f...">mrpt::math::transform_gaussian_unscented</a>. </li>
</ul>
<h3><a class="el" href="namespacemrpt_1_1synch.html" title="This namespace provides multitask, synchronization utilities.">mrpt::synch</a></h3>
<p>This namespace includes threading tools such as critical sections, semaphores or utilities such as the template <a class="el" href="classmrpt_1_1synch_1_1_c_thread_safe_variable.html" title="A template for created thread-safe variables with an internal critical section controlled each read o...">mrpt::synch::CThreadSafeVariable</a> that converts any variable into a pair variable-critical section.</p>
<h3><a class="el" href="namespacemrpt_1_1system.html" title="This namespace provides a OS-independent interface to many useful functions: filenames manipulation...">mrpt::system</a></h3>
<p>Here can be found functions for filesystem managing, watching directories, creating and handling threads in an OS-independent way, etc.</p>
<h3><a class="el" href="namespacemrpt_1_1compress.html" title="Data compression/decompression algorithms.">mrpt::compress</a></h3>
<p>GZip compression methods can be found in this namespace. </p>
<div class="dynheader">
Collaboration diagram for [mrpt-base]:</div>
<div class="dyncontent">
<center><table><tr><td><img src="group__mrpt__base__grp.png" border="0" alt="" usemap="#group____mrpt____base____grp"/>
<map name="group____mrpt____base____grp" id="group____mrpt____base____grp">
<area shape="rect" id="node1" href="group__mrpt__bayes__grp.html" title=" Back to list of all libraries | See all modules &#160;&#160;" alt="" coords="510,20,605,47"/><area shape="rect" id="node2" href="group__string__manage.html" title="String management and utilities" alt="" coords="455,71,660,97"/><area shape="rect" id="node3" href="group__filesystem.html" title="Directories, files, and file names" alt="" coords="452,121,663,148"/><area shape="rect" id="node4" href="group__mrpt__thread.html" title="Threads" alt="" coords="523,172,592,199"/><area shape="rect" id="node5" href="group__synch__grp.html" title="Synchronization, multi&#45;threading synch tools" alt="" coords="418,223,697,249"/><area shape="rect" id="node6" href="group__gausspdf__transform__grp.html" title="Gaussian PDF transformation functions" alt="" coords="431,273,683,300"/><area shape="rect" id="node7" href="group__ransac__grp.html" title="RANSAC and other model fitting algorithms" alt="" coords="419,324,695,351"/><area shape="rect" id="node8" href="group__mrpt__memory.html" title="Memory utilities" alt="" coords="500,375,615,401"/><area shape="rect" id="node9" href="group__poses__pdf__grp.html" title="2D/3D point and pose PDFs" alt="" coords="464,425,651,452"/><area shape="rect" id="node10" href="group__time__date.html" title="Time and date functions" alt="" coords="476,476,639,503"/><area shape="rect" id="node11" href="group__network__grp.html" title="Networking, sockets, DNS" alt="" coords="468,527,647,553"/><area shape="rect" id="node12" href="group__geometry__grp.html" title="Geometry: lines, planes, intersections, SLERP, &quot;lightweight&quot; point &amp; pose classes" alt="" coords="307,577,807,604"/><area shape="rect" id="node13" href="group__container__ops__grp.html" title="Vector and matrices mathematical operations and other utilities" alt="" coords="363,628,751,655"/><area shape="rect" id="node14" href="group__stats__grp.html" title="Statistics functions, probability distributions" alt="" coords="420,679,695,705"/><area shape="rect" id="node15" href="group__stlext__grp.html" title="STL extensions and metaprogramming" alt="" coords="434,729,681,756"/><area shape="rect" id="node16" href="group__kdtree__grp.html" title="KD&#45;Trees" alt="" coords="518,780,597,807"/><area shape="rect" id="node17" href="group__interpolation__grp.html" title="Interpolation, least&#45;squares fit, splines" alt="" coords="436,831,679,857"/><area shape="rect" id="node18" href="group__mrpt__system__os.html" title="OS and compiler abstraction" alt="" coords="464,881,651,908"/><area shape="rect" id="node20" href="group__fourier__grp.html" title="Fourier transform functions" alt="" coords="468,932,647,959"/><area shape="rect" id="node21" href="group__poses__grp.html" title="2D/3D points and poses" alt="" coords="476,983,639,1009"/></map>
</td></tr></table></center>
</div>
<table class="memberdecls">
<tr><td colspan="2"><h2><a name="nested-classes"></a>
Classes</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1bayes_1_1_c_particle_filter.html">mrpt::bayes::CParticleFilter</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">This class acts as a common interface to the different interfaces (see <a class="el" href="classmrpt_1_1bayes_1_1_c_particle_filter.html#ab53101e2ac73154a4044a9562d20acb7" title="Defines different types of particle filter algorithms.">CParticleFilter::TParticleFilterAlgorithm</a>) any <a class="el" href="classmrpt_1_1bayes_1_1_c_particle_filter_capable.html" title="This virtual class defines the interface that any particles based PDF class must implement in order t...">bayes::CParticleFilterCapable</a> class can implement: it is the invoker of particle filter algorithms.  <a href="classmrpt_1_1bayes_1_1_c_particle_filter.html#details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1bayes_1_1_c_particle_filter_capable.html">mrpt::bayes::CParticleFilterCapable</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">This virtual class defines the interface that any particles based PDF class must implement in order to be executed by a <a class="el" href="classmrpt_1_1bayes_1_1_c_particle_filter.html" title="This class acts as a common interface to the different interfaces (see CParticleFilter::TParticleFilt...">mrpt::bayes::CParticleFilter</a>.  <a href="classmrpt_1_1bayes_1_1_c_particle_filter_capable.html#details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1bayes_1_1_c_particle_filter_data.html">mrpt::bayes::CParticleFilterData</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">This template class declares the array of particles and its internal data, managing some memory-related issues and providing an easy implementation of virtual methods required for implementing a <a class="el" href="classmrpt_1_1bayes_1_1_c_particle_filter_capable.html" title="This virtual class defines the interface that any particles based PDF class must implement in order t...">CParticleFilterCapable</a>.  <a href="classmrpt_1_1bayes_1_1_c_particle_filter_data.html#details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structmrpt_1_1bayes_1_1_c_probability_particle.html">mrpt::bayes::CProbabilityParticle</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">A template class for holding a the data and the weight of a particle.  <a href="structmrpt_1_1bayes_1_1_c_probability_particle.html#details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1math_1_1_c_array.html">mrpt::math::CArray</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">A STL container (as wrapper) for arrays of constant size defined at compile time - <b>Users will most likely prefer to use CArrayPOD and its derived classes instead</b>.  <a href="classmrpt_1_1math_1_1_c_array.html#details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1math_1_1_c_binary_relation.html">mrpt::math::CBinaryRelation</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">This class models a binary relation through the elements of any given set.  <a href="classmrpt_1_1math_1_1_c_binary_relation.html#details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1math_1_1_c_histogram.html">mrpt::math::CHistogram</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">This class provides an easy way of computing histograms for unidimensional real valued variables.  <a href="classmrpt_1_1math_1_1_c_histogram.html#details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1math_1_1_c_levenberg_marquardt_templ.html">mrpt::math::CLevenbergMarquardtTempl</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">An implementation of the Levenberg-Marquardt algorithm for least-square minimization.  <a href="classmrpt_1_1math_1_1_c_levenberg_marquardt_templ.html#details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1math_1_1_c_matrix.html">mrpt::math::CMatrix</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">This class is a "CSerializable" wrapper for "CMatrixFloat".  <a href="classmrpt_1_1math_1_1_c_matrix.html#details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1math_1_1_c_matrix_b.html">mrpt::math::CMatrixB</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">This class is a "CSerializable" wrapper for "CMatrixBool".  <a href="classmrpt_1_1math_1_1_c_matrix_b.html#details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1math_1_1_c_matrix_d.html">mrpt::math::CMatrixD</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">This class is a "CSerializable" wrapper for "CMatrixTemplateNumeric&lt;double&gt;".  <a href="classmrpt_1_1math_1_1_c_matrix_d.html#details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1math_1_1_c_matrix_fixed_numeric.html">mrpt::math::CMatrixFixedNumeric</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">A numeric matrix of compile-time fixed size.  <a href="classmrpt_1_1math_1_1_c_matrix_fixed_numeric.html#details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1math_1_1_c_matrix_template.html">mrpt::math::CMatrixTemplate</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">This template class provides the basic functionality for a general 2D any-size, resizable container of numerical or non-numerical elements.  <a href="classmrpt_1_1math_1_1_c_matrix_template.html#details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1math_1_1_c_matrix_template_numeric.html">mrpt::math::CMatrixTemplateNumeric</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">A matrix of dynamic size.  <a href="classmrpt_1_1math_1_1_c_matrix_template_numeric.html#details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1math_1_1_c_matrix_template_objects.html">mrpt::math::CMatrixTemplateObjects</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">This template class extends the class "CMatrixTemplate" for storing "objects" at each matrix entry.  <a href="classmrpt_1_1math_1_1_c_matrix_template_objects.html#details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1math_1_1_c_monte_carlo.html">mrpt::math::CMonteCarlo</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Montecarlo simulation for experiments in 1D.  <a href="classmrpt_1_1math_1_1_c_monte_carlo.html#details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1math_1_1_c_quaternion.html">mrpt::math::CQuaternion</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">A quaternion, which can represent a 3D rotation as pair <img class="formulaInl" alt="$ (r,\mathbf{u}) $" src="form_5.png"/>, with a real part "r" and a 3D vector <img class="formulaInl" alt="$ \mathbf{u} = (x,y,z) $" src="form_6.png"/>, or alternatively, q = r + ix + jy + kz.  <a href="classmrpt_1_1math_1_1_c_quaternion.html#details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1math_1_1_c_sparse_matrix.html">mrpt::math::CSparseMatrix</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">A sparse matrix capable of efficient math operations (a wrapper around the CSparse library) The type of cells is fixed to "double".  <a href="classmrpt_1_1math_1_1_c_sparse_matrix.html#details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1math_1_1_c_sparse_matrix_template.html">mrpt::math::CSparseMatrixTemplate</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">A sparse matrix container (with cells of any type), with iterators.  <a href="classmrpt_1_1math_1_1_c_sparse_matrix_template.html#details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1math_1_1_k_d_tree_capable.html">mrpt::math::KDTreeCapable</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">A generic adaptor class for providing Approximate Nearest Neighbors (ANN) (via the nanoflann library) to MRPT classses.  <a href="classmrpt_1_1math_1_1_k_d_tree_capable.html#details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1random_1_1_c_random_generator.html">mrpt::random::CRandomGenerator</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">A thred-safe pseudo random number generator, based on an internal MT19937 randomness generator.  <a href="classmrpt_1_1random_1_1_c_random_generator.html#details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1system_1_1_c_directory_explorer.html">mrpt::system::CDirectoryExplorer</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">This class allows the enumeration of the files/directories that exist into a given path.  <a href="classmrpt_1_1system_1_1_c_directory_explorer.html#details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1system_1_1_c_file_system_watcher.html">mrpt::system::CFileSystemWatcher</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">This class subscribes to notifications of file system changes, thus it can be used to efficiently stay informed about changes in a directory tree.  <a href="classmrpt_1_1system_1_1_c_file_system_watcher.html#details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1utils_1_1_c_canvas.html">mrpt::utils::CCanvas</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">This virtual class defines the interface of any object accepting drawing primitives on it.  <a href="classmrpt_1_1utils_1_1_c_canvas.html#details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1utils_1_1_c_config_file.html">mrpt::utils::CConfigFile</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">This class allows loading and storing values and vectors of different types from ".ini" files easily.  <a href="classmrpt_1_1utils_1_1_c_config_file.html#details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1utils_1_1_c_config_file_base.html">mrpt::utils::CConfigFileBase</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">This class allows loading and storing values and vectors of different types from a configuration text, which can be implemented as a ".ini" file, a memory-stored string, etc...  <a href="classmrpt_1_1utils_1_1_c_config_file_base.html#details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1utils_1_1_c_config_file_memory.html">mrpt::utils::CConfigFileMemory</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">This class implements a config file-like interface over a memory-stored string list.  <a href="classmrpt_1_1utils_1_1_c_config_file_memory.html#details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1utils_1_1_c_console_redirector.html">mrpt::utils::CConsoleRedirector</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">By creating an object of this class, all the output to std::cout (and std::cerr) will be redirected to a text file, and optionally also shown on the console.  <a href="classmrpt_1_1utils_1_1_c_console_redirector.html#details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1utils_1_1_c_debug_output_capable.html">mrpt::utils::CDebugOutputCapable</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">This base class provides a common printf-like method to send debug information to std::cout, with the purpose of allowing its redirection to other streams if desired.  <a href="classmrpt_1_1utils_1_1_c_debug_output_capable.html#details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1utils_1_1_c_dynamic_grid.html">mrpt::utils::CDynamicGrid</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">A 2D grid of dynamic size which stores any kind of data at each cell.  <a href="classmrpt_1_1utils_1_1_c_dynamic_grid.html#details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1utils_1_1_c_enhanced_meta_file.html">mrpt::utils::CEnhancedMetaFile</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">This class represents a Windows Enhanced Meta File (EMF) for generating and saving graphics.  <a href="classmrpt_1_1utils_1_1_c_enhanced_meta_file.html#details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1utils_1_1_c_file_g_z_input_stream.html">mrpt::utils::CFileGZInputStream</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Transparently opens a compressed "gz" file and reads uncompressed data from it.  <a href="classmrpt_1_1utils_1_1_c_file_g_z_input_stream.html#details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1utils_1_1_c_file_input_stream.html">mrpt::utils::CFileInputStream</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">This <a class="el" href="classmrpt_1_1utils_1_1_c_stream.html" title="This base class is used to provide a unified interface to files,memory buffers,..Please see the deriv...">CStream</a> derived class allow using a file as a read-only, binary stream.  <a href="classmrpt_1_1utils_1_1_c_file_input_stream.html#details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1utils_1_1_c_file_output_stream.html">mrpt::utils::CFileOutputStream</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">This <a class="el" href="classmrpt_1_1utils_1_1_c_stream.html" title="This base class is used to provide a unified interface to files,memory buffers,..Please see the deriv...">CStream</a> derived class allow using a file as a write-only, binary stream.  <a href="classmrpt_1_1utils_1_1_c_file_output_stream.html#details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1utils_1_1_c_file_stream.html">mrpt::utils::CFileStream</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">This <a class="el" href="classmrpt_1_1utils_1_1_c_stream.html" title="This base class is used to provide a unified interface to files,memory buffers,..Please see the deriv...">CStream</a> derived class allow using a file as a read/write binary stream, creating it if the file didn't exist.  <a href="classmrpt_1_1utils_1_1_c_file_stream.html#details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1utils_1_1_c_image.html">mrpt::utils::CImage</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">A class for storing images as grayscale or RGB bitmaps.  <a href="classmrpt_1_1utils_1_1_c_image.html#details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1utils_1_1_c_list_of_classes.html">mrpt::utils::CListOfClasses</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">A list (actually based on a <a class="el" href="classstd_1_1set.html" title="STL class.">std::set</a>) of MRPT classes, capable of keeping any class registered by the mechanism of <a class="el" href="classmrpt_1_1utils_1_1_c_serializable.html" title="The virtual base class which provides a unified interface for all persistent objects in MRPT...">CSerializable</a> classes.  <a href="classmrpt_1_1utils_1_1_c_list_of_classes.html#details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1utils_1_1_c_loadable_options.html">mrpt::utils::CLoadableOptions</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">This is a virtual base class for sets of options than can be loaded from and/or saved to configuration plain-text files.  <a href="classmrpt_1_1utils_1_1_c_loadable_options.html#details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1utils_1_1_c_log.html">mrpt::utils::CLog</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">A decorator of <a class="el" href="classmrpt_1_1utils_1_1_c_string_list.html" title="A class for storing a list of text lines.">CStringList</a> special for keeping logs.  <a href="classmrpt_1_1utils_1_1_c_log.html#details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1utils_1_1_c_mapped_image.html">mrpt::utils::CMappedImage</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">This class encapsulates a MRPT Image and allows the sampling of individual pixels with sub-pixel accuracy and with a change of coordinates (eg, meters).  <a href="classmrpt_1_1utils_1_1_c_mapped_image.html#details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1utils_1_1_c_memory_chunk.html">mrpt::utils::CMemoryChunk</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">A memory buffer (implements <a class="el" href="classmrpt_1_1utils_1_1_c_stream.html" title="This base class is used to provide a unified interface to files,memory buffers,..Please see the deriv...">CStream</a>) which can be itself serialized.  <a href="classmrpt_1_1utils_1_1_c_memory_chunk.html#details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1utils_1_1_c_memory_stream.html">mrpt::utils::CMemoryStream</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">This <a class="el" href="classmrpt_1_1utils_1_1_c_stream.html" title="This base class is used to provide a unified interface to files,memory buffers,..Please see the deriv...">CStream</a> derived class allow using a memory buffer as a <a class="el" href="classmrpt_1_1utils_1_1_c_stream.html" title="This base class is used to provide a unified interface to files,memory buffers,..Please see the deriv...">CStream</a>.  <a href="classmrpt_1_1utils_1_1_c_memory_stream.html#details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1utils_1_1_c_message.html">mrpt::utils::CMessage</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">A class that contain generic messages, that can be sent and received from a "CClientTCPSocket" object.  <a href="classmrpt_1_1utils_1_1_c_message.html#details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1utils_1_1_c_m_h_properties_values_list.html">mrpt::utils::CMHPropertiesValuesList</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">An arbitrary list of "annotations", or named attributes, each being an instance of any <a class="el" href="classmrpt_1_1utils_1_1_c_serializable.html" title="The virtual base class which provides a unified interface for all persistent objects in MRPT...">CSerializable</a> object (Multi-hypotheses version).  <a href="classmrpt_1_1utils_1_1_c_m_h_properties_values_list.html#details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1utils_1_1_c_object_ptr.html">mrpt::utils::CObjectPtr</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">A smart pointer to a <a class="el" href="classmrpt_1_1utils_1_1_c_object.html" title="The virtual base class of all MRPT classes with a unified RTTI system.">CObject</a> object.  <a href="classmrpt_1_1utils_1_1_c_object_ptr.html#details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structmrpt_1_1utils_1_1_t_runtime_class_id.html">mrpt::utils::TRuntimeClassId</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">A structure that holds runtime class type information.  <a href="structmrpt_1_1utils_1_1_t_runtime_class_id.html#details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structmrpt_1_1utils_1_1_c_l_a_s_s_i_n_i_t.html">mrpt::utils::CLASSINIT</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Auxiliary structure used for CObject-based RTTI.  <a href="structmrpt_1_1utils_1_1_c_l_a_s_s_i_n_i_t.html#details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1utils_1_1_c_object.html">mrpt::utils::CObject</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">The virtual base class of all MRPT classes with a unified RTTI system.  <a href="classmrpt_1_1utils_1_1_c_object.html#details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1utils_1_1_c_observable.html">mrpt::utils::CObservable</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Inherit from this class for those objects capable of being observed by a <a class="el" href="classmrpt_1_1utils_1_1_c_observer.html" title="Inherit from this class to get notified about events from any CObservable object after subscribing to...">CObserver</a> class.  <a href="classmrpt_1_1utils_1_1_c_observable.html#details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1utils_1_1_c_observer.html">mrpt::utils::CObserver</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Inherit from this class to get notified about events from any <a class="el" href="classmrpt_1_1utils_1_1_c_observable.html" title="Inherit from this class for those objects capable of being observed by a CObserver class...">CObservable</a> object after subscribing to it.  <a href="classmrpt_1_1utils_1_1_c_observer.html#details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1utils_1_1_c_probability_density_function.html">mrpt::utils::CProbabilityDensityFunction</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">A generic template for probability density distributions (PDFs).  <a href="classmrpt_1_1utils_1_1_c_probability_density_function.html#details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1utils_1_1_c_properties_values_list.html">mrpt::utils::CPropertiesValuesList</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">An arbitrary list of "annotations", or named attributes, each being an instance of any <a class="el" href="classmrpt_1_1utils_1_1_c_serializable.html" title="The virtual base class which provides a unified interface for all persistent objects in MRPT...">CSerializable</a> object.  <a href="classmrpt_1_1utils_1_1_c_properties_values_list.html#details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1utils_1_1_c_referenced_mem_block.html">mrpt::utils::CReferencedMemBlock</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Represents a memory block (via "void*") that can be shared between several objects through copy operator (=).  <a href="classmrpt_1_1utils_1_1_c_referenced_mem_block.html#details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1utils_1_1_c_robot_simulator.html">mrpt::utils::CRobotSimulator</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">This class can be used to simulate the kinematics and dynamics of a differential driven planar mobile robot, including odometry errors and dynamics limitations.  <a href="classmrpt_1_1utils_1_1_c_robot_simulator.html#details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1utils_1_1_c_serializable.html">mrpt::utils::CSerializable</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">The virtual base class which provides a unified interface for all persistent objects in MRPT.  <a href="classmrpt_1_1utils_1_1_c_serializable.html#details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1utils_1_1_c_simple_database_table.html">mrpt::utils::CSimpleDatabaseTable</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">This class implements the tables of databases.  <a href="classmrpt_1_1utils_1_1_c_simple_database_table.html#details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1utils_1_1_c_start_up_classes_register.html">mrpt::utils::CStartUpClassesRegister</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">A helper class that automatically register at start up a custom function to register all the CObject-derived classes in a given MRPT library or user application.  <a href="classmrpt_1_1utils_1_1_c_start_up_classes_register.html#details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1utils_1_1_c_std_out_stream.html">mrpt::utils::CStdOutStream</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">This <a class="el" href="classmrpt_1_1utils_1_1_c_std_out_stream.html" title="This CStdOutStream derived class allow printing to standard out, normally the console text output...">CStdOutStream</a> derived class allow printing to standard out, normally the console text output.  <a href="classmrpt_1_1utils_1_1_c_std_out_stream.html#details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1utils_1_1_c_stream.html">mrpt::utils::CStream</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">This base class is used to provide a unified interface to files,memory buffers,..Please see the derived classes.  <a href="classmrpt_1_1utils_1_1_c_stream.html#details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1utils_1_1_c_string_list.html">mrpt::utils::CStringList</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">A class for storing a list of text lines.  <a href="classmrpt_1_1utils_1_1_c_string_list.html#details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1utils_1_1_c_text_file_lines_parser.html">mrpt::utils::CTextFileLinesParser</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">A class for parsing text files, returning each non-empty and non-comment line, along its line number.  <a href="classmrpt_1_1utils_1_1_c_text_file_lines_parser.html#details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1utils_1_1_c_thread_safe_queue.html">mrpt::utils::CThreadSafeQueue</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">A thread-safe template queue for object passing between threads; for a template argument of T, the objects being passed in the queue are "T*".  <a href="classmrpt_1_1utils_1_1_c_thread_safe_queue.html#details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1utils_1_1_c_tic_tac.html">mrpt::utils::CTicTac</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">This class implements a high-performance stopwatch.  <a href="classmrpt_1_1utils_1_1_c_tic_tac.html#details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1utils_1_1_c_time_logger.html">mrpt::utils::CTimeLogger</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">A versatile "profiler" that logs the time spent within each pair of calls to enter(X)-leave(X), among other stats.  <a href="classmrpt_1_1utils_1_1_c_time_logger.html#details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1utils_1_1_c_type_selector.html">mrpt::utils::CTypeSelector</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">This class represents a <a class="el" href="classstd_1_1string.html" title="STL class.">std::string</a> derived class which is also <a class="el" href="classmrpt_1_1utils_1_1_c_serializable.html" title="The virtual base class which provides a unified interface for all persistent objects in MRPT...">CSerializable</a>.  <a href="classmrpt_1_1utils_1_1_c_type_selector.html#details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1utils_1_1_c_uncopiable.html">mrpt::utils::CUncopiable</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">The base class of classes that cannot be copied: compile-time errors will be issued on any copy operation.  <a href="classmrpt_1_1utils_1_1_c_uncopiable.html#details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1utils_1_1_c_m_r_p_t_exception.html">mrpt::utils::CMRPTException</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">The base for MRPT-especific exceptions.  <a href="classmrpt_1_1utils_1_1_c_m_r_p_t_exception.html#details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1utils_1_1mrpt_event.html">mrpt::utils::mrptEvent</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">The basic event type for the observer-observable pattern in MRPT.  <a href="classmrpt_1_1utils_1_1mrpt_event.html#details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1utils_1_1mrpt_event_on_destroy.html">mrpt::utils::mrptEventOnDestroy</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">An event sent by any <a class="el" href="classmrpt_1_1utils_1_1_c_observable.html" title="Inherit from this class for those objects capable of being observed by a CObserver class...">CObservable</a> object (automatically) just before being destroyed and telling its observers to unsubscribe.  <a href="classmrpt_1_1utils_1_1mrpt_event_on_destroy.html#details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1utils_1_1_p_l_y___importer.html">mrpt::utils::PLY_Importer</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">A virtual base class that implements the capability of importing 3D point clouds and faces from a file in the Stanford PLY format.  <a href="classmrpt_1_1utils_1_1_p_l_y___importer.html#details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1utils_1_1_p_l_y___exporter.html">mrpt::utils::PLY_Exporter</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">A virtual base class that implements the capability of exporting 3D point clouds and faces to a file in the Stanford PLY format.  <a href="classmrpt_1_1utils_1_1_p_l_y___exporter.html#details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1utils_1_1_t_camera.html">mrpt::utils::TCamera</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Structure to hold the parameters of a pinhole camera model.  <a href="classmrpt_1_1utils_1_1_t_camera.html#details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structmrpt_1_1utils_1_1_t_color.html">mrpt::utils::TColor</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">A RGB color - 8bit.  <a href="structmrpt_1_1utils_1_1_t_color.html#details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structmrpt_1_1utils_1_1_t_colorf.html">mrpt::utils::TColorf</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">A RGB color - floats in the range [0,1].  <a href="structmrpt_1_1utils_1_1_t_colorf.html#details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structmrpt_1_1utils_1_1_t_enum_type_filler.html">mrpt::utils::TEnumTypeFiller</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Only specializations of this class are defined for each enum type of interest.  <a href="structmrpt_1_1utils_1_1_t_enum_type_filler.html#details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structmrpt_1_1utils_1_1_t_enum_type.html">mrpt::utils::TEnumType</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">A helper class that can convert an enum value into its textual representation, and viceversa.  <a href="structmrpt_1_1utils_1_1_t_enum_type.html#details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structmrpt_1_1utils_1_1_t_matching_pair.html">mrpt::utils::TMatchingPair</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">A structure for holding correspondences between two sets of points or points-like entities in 2D or 3D.  <a href="structmrpt_1_1utils_1_1_t_matching_pair.html#details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1utils_1_1_t_matching_pair_list.html">mrpt::utils::TMatchingPairList</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">A list of <a class="el" href="structmrpt_1_1utils_1_1_t_matching_pair.html" title="A structure for holding correspondences between two sets of points or points-like entities in 2D or 3...">TMatchingPair</a>.  <a href="classmrpt_1_1utils_1_1_t_matching_pair_list.html#details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structmrpt_1_1utils_1_1_t_parameters.html">mrpt::utils::TParameters</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">For usage when passing a dynamic number of (numeric) arguments to a function, by name.  <a href="structmrpt_1_1utils_1_1_t_parameters.html#details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structmrpt_1_1utils_1_1_t_pixel_coordf.html">mrpt::utils::TPixelCoordf</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">A pair (x,y) of pixel coordinates (subpixel resolution).  <a href="structmrpt_1_1utils_1_1_t_pixel_coordf.html#details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structmrpt_1_1dynamicsize__vector.html">mrpt::dynamicsize_vector</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">The base class of MRPT vectors, actually, <a class="el" href="namespace_eigen.html" title="Namespace containing all symbols from the Eigen library.">Eigen</a> column matrices of dynamic size with specialized constructors that resemble <a class="el" href="classstd_1_1vector.html" title="STL class.">std::vector</a>.  <a href="structmrpt_1_1dynamicsize__vector.html#details">More...</a><br/></td></tr>
<tr><td colspan="2"><h2><a name="namespaces"></a>
Namespaces</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">namespace &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacemrpt_1_1bayes.html">mrpt::bayes</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight"><p>The namespace for Bayesian filtering algorithm: different particle filters and Kalman filter algorithms. </p>
<br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">namespace &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacemrpt_1_1compress.html">mrpt::compress</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight"><p>Data compression/decompression algorithms. </p>
<br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">namespace &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacemrpt_1_1compress_1_1zip.html">mrpt::compress::zip</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight"><p>Compression using the "zip" algorithm and from/to gzip (gz) files. </p>
<br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">namespace &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacemrpt_1_1math_1_1jacobians.html">mrpt::math::jacobians</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight"><p>A collection of functions to compute jacobians of diverse transformations, etc (some functions are redirections to existing methods elsewhere, so this namespace is actually used with grouping purposes). </p>
<br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">namespace &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacemrpt_1_1math.html">mrpt::math</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight"><p>This base provides a set of functions for maths stuff. </p>
<br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">namespace &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacemrpt_1_1random.html">mrpt::random</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight"><p>A namespace of pseudo-random numbers genrators of diferent distributions. </p>
<br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">namespace &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacemrpt_1_1system.html">mrpt::system</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight"><p>This namespace provides a OS-independent interface to many useful functions: filenames manipulation, time and date, string parsing, file I/O, threading, memory allocation, etc. </p>
<br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">namespace &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacemrpt_1_1system_1_1os.html">mrpt::system::os</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight"><p>This namespace provides a OS-independent interface to low-level functions. </p>
<br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">namespace &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacemrpt_1_1utils.html">mrpt::utils</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight"><p>Classes for serialization, sockets, ini-file manipulation, streams, list of properties-values, timewatch, extensions to STL. </p>
<br/></td></tr>
<tr><td colspan="2"><h2><a name="groups"></a>
Modules</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__poses__grp.html">2D/3D points and poses</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__poses__pdf__grp.html">2D/3D point and pose PDFs</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__synch__grp.html">Synchronization, multi-threading synch tools</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__time__date.html">Time and date functions</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__filesystem.html">Directories, files, and file names</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__mrpt__system__os.html">OS and compiler abstraction</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__network__grp.html">Networking, sockets, DNS</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__stats__grp.html">Statistics functions, probability distributions</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__fourier__grp.html">Fourier transform functions</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__geometry__grp.html">Geometry: lines, planes, intersections, SLERP, &quot;lightweight&quot; point &amp; pose classes</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__kdtree__grp.html">KD-Trees</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__container__ops__grp.html">Vector and matrices mathematical operations and other utilities</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ransac__grp.html">RANSAC and other model fitting algorithms</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__gausspdf__transform__grp.html">Gaussian PDF transformation functions</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__interpolation__grp.html">Interpolation, least-squares fit, splines</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__mrpt__memory.html">Memory utilities</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__string__manage.html">String management and utilities</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__mrpt__thread.html">Threads</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__stlext__grp.html">STL extensions and metaprogramming</a></td></tr>
<tr><td colspan="2"><h2><a name="define-members"></a>
Defines</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__mrpt__base__grp.html#ga81f5b0bdbdab1755dd57ad95cc5d6587">CFileGZOutputStream</a>&#160;&#160;&#160;CFileOutputStream</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Saves data to a file and transparently compress the data using the given compression level.  <a href="#ga81f5b0bdbdab1755dd57ad95cc5d6587"></a><br/></td></tr>
<tr><td colspan="2"><h2><a name="typedef-members"></a>
Typedefs</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">typedef CThreadSafeQueue<br class="typebreak"/>
&lt; CMessage &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__mrpt__base__grp.html#gac9ce1b1023816c8f0cdba36331748601">mrpt::utils::CMessageQueue</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">A thread-safe class for message passing between threads.  <a href="#gac9ce1b1023816c8f0cdba36331748601"></a><br/></td></tr>
<tr><td colspan="2"><h2><a name="enum-members"></a>
Enumerations</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__mrpt__base__grp.html#gaaa1dce60212047066cc950eb834e96fd">mrpt::utils::TInterpolationMethod</a> { <a class="el" href="group__mrpt__base__grp.html#ggaaa1dce60212047066cc950eb834e96fda4a0d8049d078f18d5a655b4f50ad943c">mrpt::utils::IMG_INTERP_NN</a> =  0, 
<a class="el" href="group__mrpt__base__grp.html#ggaaa1dce60212047066cc950eb834e96fda998c25e4b4040a1948a085e843acdb76">mrpt::utils::IMG_INTERP_LINEAR</a> = 1, 
<a class="el" href="group__mrpt__base__grp.html#ggaaa1dce60212047066cc950eb834e96fda84a87b003bc5b51e87b2b6e3d43144b7">mrpt::utils::IMG_INTERP_CUBIC</a> = 2, 
<a class="el" href="group__mrpt__base__grp.html#ggaaa1dce60212047066cc950eb834e96fda57bfbf4deebe359987bafa0fd1c6eec0">mrpt::utils::IMG_INTERP_AREA</a> = 3
 }</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Interpolation methods for images.  <a href="group__mrpt__base__grp.html#gaaa1dce60212047066cc950eb834e96fd">More...</a><br/></td></tr>
<tr><td colspan="2"><h2><a name="member-group"></a>
RTTI classes and functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">typedef safe_ptr&lt; TRuntimeClassId &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__mrpt__base__grp.html#ga9a8b385c06e33bb7ab5a8fc51ad10fc8">mrpt::utils::TRuntimeClassIdPtr</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">A wrapper class for a "TRuntimeClassId *", well-defined with respect to copy operators and constructors.  <a href="#ga9a8b385c06e33bb7ab5a8fc51ad10fc8"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class BASE_IMPEXP&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__mrpt__base__grp.html#gab4b900b831f6e7bbc7557cd35cd1c46b">mrpt::utils::CObject</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void BASE_IMPEXP&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__mrpt__base__grp.html#ga5af77a9809680e1559cde8167361518e">mrpt::utils::registerClass</a> (const <a class="el" href="structmrpt_1_1utils_1_1_t_runtime_class_id.html">mrpt::utils::TRuntimeClassId</a> *pNewClass)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Register a class into the MRPT internal list of "CSerializable" descendents.  <a href="#ga5af77a9809680e1559cde8167361518e"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void BASE_IMPEXP&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__mrpt__base__grp.html#ga3d32f87193923526b0dd86ed968fb854">mrpt::utils::registerClassCustomName</a> (const char *customName, const TRuntimeClassId *pNewClass)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Mostly for internal use within mrpt sources, to handle exceptional cases with multiple serialization names for backward compatibility (CMultiMetricMaps, <a class="el" href="classmrpt_1_1utils_1_1_c_image.html" title="A class for storing images as grayscale or RGB bitmaps.">CImage</a>,...)  <a href="#ga3d32f87193923526b0dd86ed968fb854"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classstd_1_1vector.html">std::vector</a>&lt; const <br class="typebreak"/>
<a class="el" href="structmrpt_1_1utils_1_1_t_runtime_class_id.html">mrpt::utils::TRuntimeClassId</a> * &gt;<br class="typebreak"/>
 BASE_IMPEXP&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__mrpt__base__grp.html#ga69eeb95bbeaa786937d070c300169a32">mrpt::utils::getAllRegisteredClasses</a> ()</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns a list with all the classes registered in the system through <a class="el" href="group__mrpt__base__grp.html#ga5af77a9809680e1559cde8167361518e" title="Register a class into the MRPT internal list of &quot;CSerializable&quot; descendents.">mrpt::utils::registerClass</a>.  <a href="#ga69eeb95bbeaa786937d070c300169a32"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">const TRuntimeClassId BASE_IMPEXP *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__mrpt__base__grp.html#ga6e361b1e00875a96e3a74936b65ddbec">mrpt::utils::findRegisteredClass</a> (const <a class="el" href="classstd_1_1string.html">std::string</a> &amp;className)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Return info about a given class by its name, or NULL if the class is not registered.  <a href="#ga6e361b1e00875a96e3a74936b65ddbec"></a><br/></td></tr>
</table>
<hr/><h2>Define Documentation</h2>
<a class="anchor" id="ga81f5b0bdbdab1755dd57ad95cc5d6587"></a><!-- doxytag: member="CFileGZOutputStream.h::CFileGZOutputStream" ref="ga81f5b0bdbdab1755dd57ad95cc5d6587" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define CFileGZOutputStream&#160;&#160;&#160;CFileOutputStream</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Saves data to a file and transparently compress the data using the given compression level. </p>
<p>The generated files are in gzip format ("file.gz"). This class requires compiling MRPT with wxWidgets. If wxWidgets is not available then the class is actually mapped to the standard CFileOutputStream</p>
<dl class="see"><dt><b>See also:</b></dt><dd>CFileOutputStream </dd></dl>

<p>Definition at line <a class="el" href="_c_file_g_z_output_stream_8h_source.html#l00049">49</a> of file <a class="el" href="_c_file_g_z_output_stream_8h_source.html">CFileGZOutputStream.h</a>.</p>

</div>
</div>
<hr/><h2>Typedef Documentation</h2>
<a class="anchor" id="gac9ce1b1023816c8f0cdba36331748601"></a><!-- doxytag: member="mrpt::utils::CMessageQueue" ref="gac9ce1b1023816c8f0cdba36331748601" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef CThreadSafeQueue&lt;CMessage&gt; <a class="el" href="group__mrpt__base__grp.html#gac9ce1b1023816c8f0cdba36331748601">mrpt::utils::CMessageQueue</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>A thread-safe class for message passing between threads. </p>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="classmrpt_1_1utils_1_1_c_thread_safe_queue.html" title="A thread-safe template queue for object passing between threads; for a template argument of T...">CThreadSafeQueue</a> </dd></dl>

<p>Definition at line <a class="el" href="_c_message_queue_8h_source.html#l00042">42</a> of file <a class="el" href="_c_message_queue_8h_source.html">CMessageQueue.h</a>.</p>

</div>
</div>
<a class="anchor" id="ga9a8b385c06e33bb7ab5a8fc51ad10fc8"></a><!-- doxytag: member="mrpt::utils::TRuntimeClassIdPtr" ref="ga9a8b385c06e33bb7ab5a8fc51ad10fc8" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef safe_ptr&lt;TRuntimeClassId&gt; <a class="el" href="group__mrpt__base__grp.html#ga9a8b385c06e33bb7ab5a8fc51ad10fc8">mrpt::utils::TRuntimeClassIdPtr</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>A wrapper class for a "TRuntimeClassId *", well-defined with respect to copy operators and constructors. </p>

<p>Definition at line <a class="el" href="_c_object_8h_source.html#l00078">78</a> of file <a class="el" href="_c_object_8h_source.html">CObject.h</a>.</p>

</div>
</div>
<hr/><h2>Enumeration Type Documentation</h2>
<a class="anchor" id="gaaa1dce60212047066cc950eb834e96fd"></a><!-- doxytag: member="mrpt::utils::TInterpolationMethod" ref="gaaa1dce60212047066cc950eb834e96fd" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="group__mrpt__base__grp.html#gaaa1dce60212047066cc950eb834e96fd">mrpt::utils::TInterpolationMethod</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Interpolation methods for images. </p>
<p>Used for OpenCV related operations with images, but also with MRPT native classes. </p>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="classmrpt_1_1utils_1_1_c_mapped_image.html" title="This class encapsulates a MRPT Image and allows the sampling of individual pixels with sub-pixel accu...">mrpt::utils::CMappedImage</a>, <a class="el" href="classmrpt_1_1utils_1_1_c_image.html#af2eb20a3604c776d2600bf03f3c0fae2" title="Scales this image to a new size, interpolating as needed.">CImage::scaleImage</a> </dd></dl>
<dl><dt><b>Enumerator: </b></dt><dd><table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"><em><a class="anchor" id="ggaaa1dce60212047066cc950eb834e96fda4a0d8049d078f18d5a655b4f50ad943c"></a><!-- doxytag: member="IMG_INTERP_NN" ref="ggaaa1dce60212047066cc950eb834e96fda4a0d8049d078f18d5a655b4f50ad943c" args="" -->IMG_INTERP_NN</em>&nbsp;</td><td>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="ggaaa1dce60212047066cc950eb834e96fda998c25e4b4040a1948a085e843acdb76"></a><!-- doxytag: member="IMG_INTERP_LINEAR" ref="ggaaa1dce60212047066cc950eb834e96fda998c25e4b4040a1948a085e843acdb76" args="" -->IMG_INTERP_LINEAR</em>&nbsp;</td><td>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="ggaaa1dce60212047066cc950eb834e96fda84a87b003bc5b51e87b2b6e3d43144b7"></a><!-- doxytag: member="IMG_INTERP_CUBIC" ref="ggaaa1dce60212047066cc950eb834e96fda84a87b003bc5b51e87b2b6e3d43144b7" args="" -->IMG_INTERP_CUBIC</em>&nbsp;</td><td>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="ggaaa1dce60212047066cc950eb834e96fda57bfbf4deebe359987bafa0fd1c6eec0"></a><!-- doxytag: member="IMG_INTERP_AREA" ref="ggaaa1dce60212047066cc950eb834e96fda57bfbf4deebe359987bafa0fd1c6eec0" args="" -->IMG_INTERP_AREA</em>&nbsp;</td><td>
</td></tr>
</table>
</dd>
</dl>

<p>Definition at line <a class="el" href="_c_image_8h_source.html#l00048">48</a> of file <a class="el" href="_c_image_8h_source.html">CImage.h</a>.</p>

</div>
</div>
<hr/><h2>Function Documentation</h2>
<a class="anchor" id="ga6e361b1e00875a96e3a74936b65ddbec"></a><!-- doxytag: member="mrpt::utils::findRegisteredClass" ref="ga6e361b1e00875a96e3a74936b65ddbec" args="(const std::string &amp;className)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const TRuntimeClassId BASE_IMPEXP* mrpt::utils::findRegisteredClass </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classstd_1_1string.html">std::string</a> &amp;&#160;</td>
          <td class="paramname"><em>className</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Return info about a given class by its name, or NULL if the class is not registered. </p>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="group__mrpt__base__grp.html#ga5af77a9809680e1559cde8167361518e" title="Register a class into the MRPT internal list of &quot;CSerializable&quot; descendents.">registerClass</a>, <a class="el" href="group__mrpt__base__grp.html#ga69eeb95bbeaa786937d070c300169a32" title="Returns a list with all the classes registered in the system through mrpt::utils::registerClass.">getAllRegisteredClasses</a> </dd></dl>

</div>
</div>
<a class="anchor" id="ga69eeb95bbeaa786937d070c300169a32"></a><!-- doxytag: member="mrpt::utils::getAllRegisteredClasses" ref="ga69eeb95bbeaa786937d070c300169a32" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classstd_1_1vector.html">std::vector</a>&lt;const <a class="el" href="structmrpt_1_1utils_1_1_t_runtime_class_id.html">mrpt::utils::TRuntimeClassId</a>*&gt; BASE_IMPEXP mrpt::utils::getAllRegisteredClasses </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Returns a list with all the classes registered in the system through <a class="el" href="group__mrpt__base__grp.html#ga5af77a9809680e1559cde8167361518e" title="Register a class into the MRPT internal list of &quot;CSerializable&quot; descendents.">mrpt::utils::registerClass</a>. </p>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="group__mrpt__base__grp.html#ga5af77a9809680e1559cde8167361518e" title="Register a class into the MRPT internal list of &quot;CSerializable&quot; descendents.">registerClass</a>, <a class="el" href="group__mrpt__base__grp.html#ga6e361b1e00875a96e3a74936b65ddbec" title="Return info about a given class by its name, or NULL if the class is not registered.">findRegisteredClass</a> </dd></dl>

</div>
</div>
<a class="anchor" id="ga5af77a9809680e1559cde8167361518e"></a><!-- doxytag: member="mrpt::utils::registerClass" ref="ga5af77a9809680e1559cde8167361518e" args="(const mrpt::utils::TRuntimeClassId *pNewClass)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void BASE_IMPEXP mrpt::utils::registerClass </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="structmrpt_1_1utils_1_1_t_runtime_class_id.html">mrpt::utils::TRuntimeClassId</a> *&#160;</td>
          <td class="paramname"><em>pNewClass</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Register a class into the MRPT internal list of "CSerializable" descendents. </p>
<p>Used internally in the macros DEFINE_SERIALIZABLE, etc... </p>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="group__mrpt__base__grp.html#ga69eeb95bbeaa786937d070c300169a32" title="Returns a list with all the classes registered in the system through mrpt::utils::registerClass.">getAllRegisteredClasses</a>, <a class="el" href="classmrpt_1_1utils_1_1_c_start_up_classes_register.html" title="A helper class that automatically register at start up a custom function to register all the CObject-...">CStartUpClassesRegister</a> </dd></dl>

<p>Referenced by <a class="el" href="_c_generic_sensor_8h_source.html#l00164">mrpt::hwdrivers::CGenericSensor::CLASSINIT_GENERIC_SENSOR::CLASSINIT_GENERIC_SENSOR()</a>, and <a class="el" href="_c_object_8h_source.html#l00122">mrpt::utils::CLASSINIT::CLASSINIT()</a>.</p>

</div>
</div>
<a class="anchor" id="ga3d32f87193923526b0dd86ed968fb854"></a><!-- doxytag: member="mrpt::utils::registerClassCustomName" ref="ga3d32f87193923526b0dd86ed968fb854" args="(const char *customName, const TRuntimeClassId *pNewClass)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void BASE_IMPEXP mrpt::utils::registerClassCustomName </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>customName</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const TRuntimeClassId *&#160;</td>
          <td class="paramname"><em>pNewClass</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Mostly for internal use within mrpt sources, to handle exceptional cases with multiple serialization names for backward compatibility (CMultiMetricMaps, <a class="el" href="classmrpt_1_1utils_1_1_c_image.html" title="A class for storing images as grayscale or RGB bitmaps.">CImage</a>,...) </p>

</div>
</div>
<hr/><h2>Variable Documentation</h2>
<a class="anchor" id="gab4b900b831f6e7bbc7557cd35cd1c46b"></a><!-- doxytag: member="mrpt::utils::CObject" ref="gab4b900b831f6e7bbc7557cd35cd1c46b" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">class BASE_IMPEXP <a class="el" href="classmrpt_1_1utils_1_1_c_object.html">mrpt::utils::CObject</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="_c_object_8h_source.html#l00041">41</a> of file <a class="el" href="_c_object_8h_source.html">CObject.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>