Sophie

Sophie

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

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::utils::TCamera Class Reference</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
<link href="tabs.css" rel="stylesheet" type="text/css">
</head><body>
<div align="left"><a href="http://www.mrpt.org/">Main MRPT website</a> &gt; <b>C++ reference</b> </div>
<div align="right">
<a href="index.html"><img border="0" src="mrpt_logo.png" alt="MRPT logo"></a>
</div>
<!-- Generated by Doxygen 1.7.5 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
      <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
      <li><a href="modules.html"><span>Modules</span></a></li>
      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
      <li><a href="files.html"><span>Files</span></a></li>
      <li>
        <div id="MSearchBox" class="MSearchBoxInactive">
          <div class="left">
            <form id="FSearchBox" action="search.php" method="get">
              <img id="MSearchSelect" src="search/mag.png" alt=""/>
              <input type="text" id="MSearchField" name="query" value="Search" size="20" accesskey="S" 
                     onfocus="searchBox.OnSearchFieldFocus(true)" 
                     onblur="searchBox.OnSearchFieldFocus(false)"/>
            </form>
          </div><div class="right"></div>
        </div>
      </li>
    </ul>
  </div>
  <div id="navrow2" class="tabs2">
    <ul class="tablist">
      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
      <li><a href="inherits.html"><span>Class&#160;Hierarchy</span></a></li>
      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
    </ul>
  </div>
  <div id="nav-path" class="navpath">
    <ul>
      <li class="navelem"><a class="el" href="namespacemrpt.html">mrpt</a>      </li>
      <li class="navelem"><a class="el" href="namespacemrpt_1_1utils.html">utils</a>      </li>
      <li class="navelem"><a class="el" href="classmrpt_1_1utils_1_1_t_camera.html">TCamera</a>      </li>
    </ul>
  </div>
</div>
<div class="header">
  <div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pub-static-attribs">Static Public Attributes</a> &#124;
<a href="#pro-methods">Protected Member Functions</a>  </div>
  <div class="headertitle">
<div class="title">mrpt::utils::TCamera 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::utils::TCamera" --><!-- doxytag: inherits="mrpt::utils::CSerializable" --><hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
<div class="textblock"><p>Structure to hold the parameters of a pinhole camera model. </p>
<p>The parameters obtained for one camera resolution can be used for any other resolution by means of the method <a class="el" href="classmrpt_1_1utils_1_1_t_camera.html#a9d33e2706c984dabe6d3c0cbcec18898" title="Rescale all the parameters for a new camera resolution (it raises an exception if the aspect ratio is...">TCamera::scaleToResolution()</a></p>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="classmrpt_1_1vision_1_1_c_cam_model.html" title="This class represent a pinhole camera model for Monocular SLAM and implements some associated Jacobia...">mrpt::vision::CCamModel</a>, the application <a href="http://www.mrpt.org/Application:camera-calib-gui">camera-calib-gui</a> for calibrating a camera </dd></dl>
</div>
<p><code>#include &lt;<a class="el" href="_t_camera_8h_source.html">mrpt/utils/TCamera.h</a>&gt;</code></p>
<div class="dynheader">
Inheritance diagram for mrpt::utils::TCamera:</div>
<div class="dyncontent">
<div class="center"><img src="classmrpt_1_1utils_1_1_t_camera__inherit__graph.png" border="0" usemap="#mrpt_1_1utils_1_1_t_camera_inherit__map" alt="Inheritance graph"/></div>
<map name="mrpt_1_1utils_1_1_t_camera_inherit__map" id="mrpt_1_1utils_1_1_t_camera_inherit__map">
<area shape="rect" id="node2" 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..." alt="" coords="4,80,168,107"/><area shape="rect" id="node4" href="classmrpt_1_1utils_1_1_c_object.html" title="The virtual base class of all MRPT classes with a unified RTTI system." alt="" coords="19,5,153,32"/></map>
<center><span class="legend">[<a href="graph_legend.html">legend</a>]</span></center></div>

<p><a href="classmrpt_1_1utils_1_1_t_camera-members.html">List of all members.</a></p>
<table class="memberdecls">
<tr><td colspan="2"><h2><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1utils_1_1_t_camera.html#ace8a6176f56cd237d21ef5d80fb38207">TCamera</a> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1utils_1_1_t_camera.html#a9d33e2706c984dabe6d3c0cbcec18898">scaleToResolution</a> (unsigned int new_ncols, unsigned int new_nrows)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Rescale all the parameters for a new camera resolution (it raises an exception if the aspect ratio is modified, which is not permitted).  <a href="#a9d33e2706c984dabe6d3c0cbcec18898"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1utils_1_1_t_camera.html#afd798ebc31273d528bdec2e3edcce439">saveToConfigFile</a> (const <a class="el" href="classstd_1_1string.html">std::string</a> &amp;section, <a class="el" href="classmrpt_1_1utils_1_1_c_config_file_base.html">mrpt::utils::CConfigFileBase</a> &amp;cfg) const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Save as a config block:  <a href="#afd798ebc31273d528bdec2e3edcce439"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1utils_1_1_t_camera.html#a8c7f16c60a68978f1e003d23e6ec4abf">loadFromConfigFile</a> (const <a class="el" href="classstd_1_1string.html">std::string</a> &amp;section, const <a class="el" href="classmrpt_1_1utils_1_1_c_config_file_base.html">mrpt::utils::CConfigFileBase</a> &amp;cfg)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Load all the params from a config source, in the format used in <a class="el" href="classmrpt_1_1utils_1_1_t_camera.html#afd798ebc31273d528bdec2e3edcce439" title="Save as a config block:">saveToConfigFile()</a>, that is:  <a href="#a8c7f16c60a68978f1e003d23e6ec4abf"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classstd_1_1string.html">std::string</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1utils_1_1_t_camera.html#a4d32b0654cad6c024198140aa1f1dee1">dumpAsText</a> ()</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Dumps all the parameters as a multi-line string, with the same format than <em>saveToConfigFile</em>.  <a href="#a4d32b0654cad6c024198140aa1f1dee1"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1utils_1_1_t_camera.html#af8e10f389d80abc279d3b5bf92aa273a">setIntrinsicParamsFromValues</a> (double fx, double fy, double cx, double cy)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the matrix of intrinsic params of the camera from the individual values of focal length and principal point coordinates (in pixels)  <a href="#af8e10f389d80abc279d3b5bf92aa273a"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1utils_1_1_t_camera.html#aa2777c4ecf4f3317a64a427f2335723d">getDistortionParamsVector</a> (<a class="el" href="namespacemrpt_1_1math.html#acea06f45d45c97ff31a6b56c11119ece">CMatrixDouble15</a> &amp;distParVector) const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the vector of distortion params of the camera.  <a href="#aa2777c4ecf4f3317a64a427f2335723d"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classstd_1_1vector.html">std::vector</a>&lt; double &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1utils_1_1_t_camera.html#a8a0d5b6199643375481fffd809252da9">getDistortionParamsAsVector</a> () const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Get a vector with the distortion params of the camera.  <a href="#a8a0d5b6199643375481fffd809252da9"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1utils_1_1_t_camera.html#a1f40934d99e0b5cb6608f6319e9a00b6">setDistortionParamsVector</a> (const <a class="el" href="namespacemrpt_1_1math.html#acea06f45d45c97ff31a6b56c11119ece">CMatrixDouble15</a> &amp;distParVector)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the whole vector of distortion params of the camera.  <a href="#a1f40934d99e0b5cb6608f6319e9a00b6"></a><br/></td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;class VECTORLIKE &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classmrpt_1_1utils_1_1_t_camera.html#afc67a701bfe3cea78fb48d818c8e64fb">setDistortionParamsVector</a> (const VECTORLIKE &amp;distParVector)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the whole vector of distortion params of the camera from a 4 or 5-vector.  <a href="#afc67a701bfe3cea78fb48d818c8e64fb"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1utils_1_1_t_camera.html#ab2ad006df5975c93b2c47e8f1c05b750">setDistortionParamsFromValues</a> (double k1, double k2, double p1, double p2, double k3=0)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the vector of distortion params of the camera from the individual values of the distortion coefficients.  <a href="#ab2ad006df5975c93b2c47e8f1c05b750"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">double&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1utils_1_1_t_camera.html#abe3a3d34f75e8dd554a9bf52c9ab6626">cx</a> () const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the value of the principal point x-coordinate (in pixels).  <a href="#abe3a3d34f75e8dd554a9bf52c9ab6626"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">double&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1utils_1_1_t_camera.html#aaeba6c9dc0e4259ec9d435429c4a9e6e">cy</a> () const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the value of the principal point y-coordinate (in pixels).  <a href="#aaeba6c9dc0e4259ec9d435429c4a9e6e"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">double&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1utils_1_1_t_camera.html#a7566437233d844a551e3cce5effde1ea">fx</a> () const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the value of the focal length x-value (in pixels).  <a href="#a7566437233d844a551e3cce5effde1ea"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">double&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1utils_1_1_t_camera.html#a75c5210381d62848b8c918a438991c55">fy</a> () const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the value of the focal length y-value (in pixels).  <a href="#a75c5210381d62848b8c918a438991c55"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1utils_1_1_t_camera.html#abc9bf7c8d10fc3892c90a48aeff4dacf">cx</a> (double val)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the value of the principal point x-coordinate (in pixels).  <a href="#abc9bf7c8d10fc3892c90a48aeff4dacf"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1utils_1_1_t_camera.html#a6d88b10fa473c927becc863f91a51a24">cy</a> (double val)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the value of the principal point y-coordinate (in pixels).  <a href="#a6d88b10fa473c927becc863f91a51a24"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1utils_1_1_t_camera.html#a57f62e1eb2df03e882116c3e452b26d0">fx</a> (double val)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the value of the focal length x-value (in pixels).  <a href="#a57f62e1eb2df03e882116c3e452b26d0"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1utils_1_1_t_camera.html#a19e5c713a1926173699b3e73542b2ff6">fy</a> (double val)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the value of the focal length y-value (in pixels).  <a href="#a19e5c713a1926173699b3e73542b2ff6"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">double&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1utils_1_1_t_camera.html#a2571bf5873d9035d9e3c027b31e80147">k1</a> () const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the value of the k1 distortion parameter.  <a href="#a2571bf5873d9035d9e3c027b31e80147"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">double&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1utils_1_1_t_camera.html#a0e3bda9bf8939dff10e00d2259338abc">k2</a> () const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the value of the k2 distortion parameter.  <a href="#a0e3bda9bf8939dff10e00d2259338abc"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">double&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1utils_1_1_t_camera.html#a0c962f25e53d1aa57110fa8bd3563039">p1</a> () const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the value of the p1 distortion parameter.  <a href="#a0c962f25e53d1aa57110fa8bd3563039"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">double&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1utils_1_1_t_camera.html#a96611a2321aac3af3aacdd78b3db17b9">p2</a> () const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the value of the p2 distortion parameter.  <a href="#a96611a2321aac3af3aacdd78b3db17b9"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">double&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1utils_1_1_t_camera.html#aa16107a55f7791f1a92222a71d7ccbfa">k3</a> () const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the value of the k3 distortion parameter.  <a href="#aa16107a55f7791f1a92222a71d7ccbfa"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1utils_1_1_t_camera.html#a72c206da9190c5b249c46b117081005b">k1</a> (double val)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the value of the k1 distortion parameter.  <a href="#a72c206da9190c5b249c46b117081005b"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1utils_1_1_t_camera.html#a35a278e2be66ad5a3bc69a19a41759c2">k2</a> (double val)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the value of the k2 distortion parameter.  <a href="#a35a278e2be66ad5a3bc69a19a41759c2"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1utils_1_1_t_camera.html#ad2ffc4003df702322571aa030e54d72f">p1</a> (double val)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the value of the p1 distortion parameter.  <a href="#ad2ffc4003df702322571aa030e54d72f"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1utils_1_1_t_camera.html#a088acdc669bf19d8171210bc81a7e958">p2</a> (double val)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the value of the p2 distortion parameter.  <a href="#a088acdc669bf19d8171210bc81a7e958"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1utils_1_1_t_camera.html#a7b08e8cd61428ef44e2a3da8899069f1">k3</a> (double val)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the value of the k3 distortion parameter.  <a href="#a7b08e8cd61428ef44e2a3da8899069f1"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmrpt_1_1utils_1_1_c_object_ptr.html">mrpt::utils::CObjectPtr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1utils_1_1_c_object.html#a534695890364f4b916bba07dad311bcf">duplicateGetSmartPtr</a> () const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns a copy of the object, indepently of its class, as a smart pointer (the newly created object will exist as long as any copy of this smart pointer).  <a href="#a534695890364f4b916bba07dad311bcf"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmrpt_1_1utils_1_1_c_object.html">CObject</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1utils_1_1_c_object.html#a9ef7857a0b36059c078e195a0a65ac00">clone</a> () const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Cloning interface for smart pointers.  <a href="#a9ef7857a0b36059c078e195a0a65ac00"></a><br/></td></tr>
<tr><td colspan="2"><h2><a name="pub-attribs"></a>
Public Attributes</h2></td></tr>
<tr><td colspan="2"><div class="groupHeader">Camera parameters</div></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1utils_1_1_t_camera.html#a7800fcf258fe074c94f98d8ff984395f">ncols</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1utils_1_1_t_camera.html#a4882544de58dafc4b12a62d6d86d8e13">nrows</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Camera resolution.  <a href="#a4882544de58dafc4b12a62d6d86d8e13"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacemrpt_1_1math.html#a58d0ee60eee38e990848ccb8b83e8338">CMatrixDouble33</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1utils_1_1_t_camera.html#a1960e92075ca70228300e627f2965af7">intrinsicParams</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Matrix of intrinsic parameters (containing the focal length and principal point coordinates)  <a href="#a1960e92075ca70228300e627f2965af7"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmrpt_1_1math_1_1_c_array_double.html">CArrayDouble</a>&lt; 5 &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1utils_1_1_t_camera.html#a30aaef098fc8bb51d47415d63470a343">dist</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">[k1 k2 t1 t2 t3] -&gt; k_i: parameters of radial distortion, t_i: parameters of tangential distortion (default=0)  <a href="#a30aaef098fc8bb51d47415d63470a343"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">double&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1utils_1_1_t_camera.html#a08127fe5bbd8fecf3e34cca2882f89fc">focalLengthMeters</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">The focal length of the camera, in meters (can be used among 'intrinsicParams' to determine the pixel size).  <a href="#a08127fe5bbd8fecf3e34cca2882f89fc"></a><br/></td></tr>
<tr><td colspan="2"><h2><a name="pub-static-attribs"></a>
Static Public Attributes</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static const <br class="typebreak"/>
<a class="el" href="structmrpt_1_1utils_1_1_t_runtime_class_id.html">mrpt::utils::TRuntimeClassId</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1utils_1_1_c_object.html#acb51e4dd811d62c2696aee449d0a4715">classCObject</a></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">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1utils_1_1_c_serializable.html#a0b6b801e67bca3d8e0d355e7035f8013">writeToStream</a> (<a class="el" href="classmrpt_1_1utils_1_1_c_stream.html">mrpt::utils::CStream</a> &amp;out, int *getVersion) const =0</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Introduces a pure virtual method responsible for writing to 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="#a0b6b801e67bca3d8e0d355e7035f8013"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1utils_1_1_c_serializable.html#a73ba83035a64939cdc3aa1c0dfed23ec">readFromStream</a> (<a class="el" href="classmrpt_1_1utils_1_1_c_stream.html">mrpt::utils::CStream</a> &amp;in, int version)=0</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Introduces a pure virtual method responsible for loading from 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> This can not be used directly be users, instead use "stream &gt;&gt; object;" for reading it from a stream or "stream &gt;&gt; object_ptr;" if the class is unknown apriori.  <a href="#a73ba83035a64939cdc3aa1c0dfed23ec"></a><br/></td></tr>
<tr><td colspan="2"><h2><a name="member-group"></a>
RTTI stuff</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static const <br class="typebreak"/>
<a class="el" href="structmrpt_1_1utils_1_1_t_runtime_class_id.html">mrpt::utils::TRuntimeClassId</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1utils_1_1_c_serializable.html#a28ec2a03d277a8469b8ecfc81892afdf">classCSerializable</a></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#a6fec28a53e20dfc1c4d046c26f9f7b48">mrpt::utils::CStream</a></td></tr>
<tr><td colspan="2"><h2><a name="member-group"></a>
RTTI stuff</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="structmrpt_1_1utils_1_1_t_camera_ptr.html">TCameraPtr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1utils_1_1_t_camera.html#aa78d533ae7e0dba2a38c41a984b936e4">SmartPtr</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static <a class="el" href="structmrpt_1_1utils_1_1_c_l_a_s_s_i_n_i_t.html">mrpt::utils::CLASSINIT</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1utils_1_1_t_camera.html#a8908dd026234a63c49fe86aa3e6dfd69">_init_TCamera</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static <a class="el" href="structmrpt_1_1utils_1_1_t_runtime_class_id.html">mrpt::utils::TRuntimeClassId</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1utils_1_1_t_camera.html#a3dc48d941e5b60636cd3b0c71a342233">classTCamera</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static const <br class="typebreak"/>
<a class="el" href="structmrpt_1_1utils_1_1_t_runtime_class_id.html">mrpt::utils::TRuntimeClassId</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1utils_1_1_t_camera.html#a99aa08dbf2a006aeecd7543b20512ff9">classinfo</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static const <br class="typebreak"/>
<a class="el" href="structmrpt_1_1utils_1_1_t_runtime_class_id.html">mrpt::utils::TRuntimeClassId</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1utils_1_1_t_camera.html#a005d89507cc399ceb7dc9fce7563a4bd">_GetBaseClass</a> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual const <br class="typebreak"/>
<a class="el" href="structmrpt_1_1utils_1_1_t_runtime_class_id.html">mrpt::utils::TRuntimeClassId</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1utils_1_1_t_camera.html#abcac77a67187eb7f38e110698139d9e8">GetRuntimeClass</a> () const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns information about the class of an object in runtime.  <a href="#abcac77a67187eb7f38e110698139d9e8"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classmrpt_1_1utils_1_1_c_object.html">mrpt::utils::CObject</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1utils_1_1_t_camera.html#ae3614449388ba0d04ada82669bec0737">duplicate</a> () const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns a copy of the object, indepently of its class.  <a href="#ae3614449388ba0d04ada82669bec0737"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static <a class="el" href="classmrpt_1_1utils_1_1_c_object.html">mrpt::utils::CObject</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1utils_1_1_t_camera.html#a017e8b47352e966ddaf99d29d18600ed">CreateObject</a> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static <a class="el" href="structmrpt_1_1utils_1_1_t_camera_ptr.html">TCameraPtr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1utils_1_1_t_camera.html#a80beb0303c44283632f776bfa1f4f18b">Create</a> ()</td></tr>
</table>
<hr/><h2>Member Typedef Documentation</h2>
<a class="anchor" id="aa78d533ae7e0dba2a38c41a984b936e4"></a><!-- doxytag: member="mrpt::utils::TCamera::SmartPtr" ref="aa78d533ae7e0dba2a38c41a984b936e4" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef <a class="el" href="structmrpt_1_1utils_1_1_t_camera_ptr.html">TCameraPtr</a> <a class="el" href="classmrpt_1_1utils_1_1_t_camera.html#aa78d533ae7e0dba2a38c41a984b936e4">mrpt::utils::TCamera::SmartPtr</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>A typedef for the associated smart pointer </p>

<p>Definition at line <a class="el" href="_t_camera_8h_source.html#l00056">56</a> of file <a class="el" href="_t_camera_8h_source.html">TCamera.h</a>.</p>

</div>
</div>
<hr/><h2>Constructor &amp; Destructor Documentation</h2>
<a class="anchor" id="ace8a6176f56cd237d21ef5d80fb38207"></a><!-- doxytag: member="mrpt::utils::TCamera::TCamera" ref="ace8a6176f56cd237d21ef5d80fb38207" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">mrpt::utils::TCamera::TCamera </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

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

</div>
</div>
<hr/><h2>Member Function Documentation</h2>
<a class="anchor" id="a005d89507cc399ceb7dc9fce7563a4bd"></a><!-- doxytag: member="mrpt::utils::TCamera::_GetBaseClass" ref="a005d89507cc399ceb7dc9fce7563a4bd" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static const <a class="el" href="structmrpt_1_1utils_1_1_t_runtime_class_id.html">mrpt::utils::TRuntimeClassId</a>* mrpt::utils::TCamera::_GetBaseClass </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td><code> [static, protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Reimplemented from <a class="el" href="classmrpt_1_1utils_1_1_c_serializable.html#a471a2d4e8bf14cdc749d43ffb8066a12">mrpt::utils::CSerializable</a>.</p>

</div>
</div>
<a class="anchor" id="a9ef7857a0b36059c078e195a0a65ac00"></a><!-- doxytag: member="mrpt::utils::TCamera::clone" ref="a9ef7857a0b36059c078e195a0a65ac00" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classmrpt_1_1utils_1_1_c_object.html">CObject</a>* mrpt::utils::CObject::clone </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const<code> [inline, inherited]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Cloning interface for smart pointers. </p>

<p>Reimplemented in <a class="el" href="classmrpt_1_1opengl_1_1_c_renderizable.html#acb2597d6d93b406501d9f3530eb56adf">mrpt::opengl::CRenderizable</a>, and <a class="el" href="classmrpt_1_1opengl_1_1_c_renderizable_display_list.html#ac164cb1d2cf682778ce52967cbd56469">mrpt::opengl::CRenderizableDisplayList</a>.</p>

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

</div>
</div>
<a class="anchor" id="a80beb0303c44283632f776bfa1f4f18b"></a><!-- doxytag: member="mrpt::utils::TCamera::Create" ref="a80beb0303c44283632f776bfa1f4f18b" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static <a class="el" href="structmrpt_1_1utils_1_1_t_camera_ptr.html">TCameraPtr</a> mrpt::utils::TCamera::Create </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td><code> [static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<a class="anchor" id="a017e8b47352e966ddaf99d29d18600ed"></a><!-- doxytag: member="mrpt::utils::TCamera::CreateObject" ref="a017e8b47352e966ddaf99d29d18600ed" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static <a class="el" href="classmrpt_1_1utils_1_1_c_object.html">mrpt::utils::CObject</a>* mrpt::utils::TCamera::CreateObject </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td><code> [static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<a class="anchor" id="abe3a3d34f75e8dd554a9bf52c9ab6626"></a><!-- doxytag: member="mrpt::utils::TCamera::cx" ref="abe3a3d34f75e8dd554a9bf52c9ab6626" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">double mrpt::utils::TCamera::cx </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Get the value of the principal point x-coordinate (in pixels). </p>

<p>Definition at line <a class="el" href="_t_camera_8h_source.html#l00177">177</a> of file <a class="el" href="_t_camera_8h_source.html">TCamera.h</a>.</p>

<p>Referenced by <a class="el" href="pinhole_8h_source.html#l00072">mrpt::vision::pinhole::projectPoint_no_distortion()</a>.</p>

</div>
</div>
<a class="anchor" id="abc9bf7c8d10fc3892c90a48aeff4dacf"></a><!-- doxytag: member="mrpt::utils::TCamera::cx" ref="abc9bf7c8d10fc3892c90a48aeff4dacf" args="(double val)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void mrpt::utils::TCamera::cx </td>
          <td>(</td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>val</em></td><td>)</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Set the value of the principal point x-coordinate (in pixels). </p>

<p>Definition at line <a class="el" href="_t_camera_8h_source.html#l00186">186</a> of file <a class="el" href="_t_camera_8h_source.html">TCamera.h</a>.</p>

</div>
</div>
<a class="anchor" id="aaeba6c9dc0e4259ec9d435429c4a9e6e"></a><!-- doxytag: member="mrpt::utils::TCamera::cy" ref="aaeba6c9dc0e4259ec9d435429c4a9e6e" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">double mrpt::utils::TCamera::cy </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Get the value of the principal point y-coordinate (in pixels). </p>

<p>Definition at line <a class="el" href="_t_camera_8h_source.html#l00179">179</a> of file <a class="el" href="_t_camera_8h_source.html">TCamera.h</a>.</p>

<p>Referenced by <a class="el" href="pinhole_8h_source.html#l00072">mrpt::vision::pinhole::projectPoint_no_distortion()</a>.</p>

</div>
</div>
<a class="anchor" id="a6d88b10fa473c927becc863f91a51a24"></a><!-- doxytag: member="mrpt::utils::TCamera::cy" ref="a6d88b10fa473c927becc863f91a51a24" args="(double val)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void mrpt::utils::TCamera::cy </td>
          <td>(</td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>val</em></td><td>)</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Set the value of the principal point y-coordinate (in pixels). </p>

<p>Definition at line <a class="el" href="_t_camera_8h_source.html#l00188">188</a> of file <a class="el" href="_t_camera_8h_source.html">TCamera.h</a>.</p>

</div>
</div>
<a class="anchor" id="a4d32b0654cad6c024198140aa1f1dee1"></a><!-- doxytag: member="mrpt::utils::TCamera::dumpAsText" ref="a4d32b0654cad6c024198140aa1f1dee1" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classstd_1_1string.html">std::string</a> mrpt::utils::TCamera::dumpAsText </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Dumps all the parameters as a multi-line string, with the same format than <em>saveToConfigFile</em>. </p>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="classmrpt_1_1utils_1_1_t_camera.html#afd798ebc31273d528bdec2e3edcce439" title="Save as a config block:">saveToConfigFile</a> </dd></dl>

<p>Definition at line <a class="el" href="_t_camera_8h_source.html#l00115">115</a> of file <a class="el" href="_t_camera_8h_source.html">TCamera.h</a>.</p>

<p>References <a class="el" href="classmrpt_1_1utils_1_1_c_config_file_memory.html#af0a01f4272aa43f790645f36af850e12">mrpt::utils::CConfigFileMemory::getContent()</a>.</p>

</div>
</div>
<a class="anchor" id="ae3614449388ba0d04ada82669bec0737"></a><!-- doxytag: member="mrpt::utils::TCamera::duplicate" ref="ae3614449388ba0d04ada82669bec0737" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="classmrpt_1_1utils_1_1_c_object.html">mrpt::utils::CObject</a>* mrpt::utils::TCamera::duplicate </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const<code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Returns a copy of the object, indepently of its class. </p>

<p>Implements <a class="el" href="classmrpt_1_1utils_1_1_c_object.html#aa1070e173c5f7e307b09c53f1fd256e2">mrpt::utils::CObject</a>.</p>

</div>
</div>
<a class="anchor" id="a534695890364f4b916bba07dad311bcf"></a><!-- doxytag: member="mrpt::utils::TCamera::duplicateGetSmartPtr" ref="a534695890364f4b916bba07dad311bcf" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classmrpt_1_1utils_1_1_c_object_ptr.html">mrpt::utils::CObjectPtr</a> mrpt::utils::CObject::duplicateGetSmartPtr </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const<code> [inline, inherited]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Returns a copy of the object, indepently of its class, as a smart pointer (the newly created object will exist as long as any copy of this smart pointer). </p>

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

</div>
</div>
<a class="anchor" id="a7566437233d844a551e3cce5effde1ea"></a><!-- doxytag: member="mrpt::utils::TCamera::fx" ref="a7566437233d844a551e3cce5effde1ea" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">double mrpt::utils::TCamera::fx </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Get the value of the focal length x-value (in pixels). </p>

<p>Definition at line <a class="el" href="_t_camera_8h_source.html#l00181">181</a> of file <a class="el" href="_t_camera_8h_source.html">TCamera.h</a>.</p>

<p>Referenced by <a class="el" href="pinhole_8h_source.html#l00072">mrpt::vision::pinhole::projectPoint_no_distortion()</a>.</p>

</div>
</div>
<a class="anchor" id="a57f62e1eb2df03e882116c3e452b26d0"></a><!-- doxytag: member="mrpt::utils::TCamera::fx" ref="a57f62e1eb2df03e882116c3e452b26d0" args="(double val)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void mrpt::utils::TCamera::fx </td>
          <td>(</td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>val</em></td><td>)</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Set the value of the focal length x-value (in pixels). </p>

<p>Definition at line <a class="el" href="_t_camera_8h_source.html#l00190">190</a> of file <a class="el" href="_t_camera_8h_source.html">TCamera.h</a>.</p>

</div>
</div>
<a class="anchor" id="a75c5210381d62848b8c918a438991c55"></a><!-- doxytag: member="mrpt::utils::TCamera::fy" ref="a75c5210381d62848b8c918a438991c55" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">double mrpt::utils::TCamera::fy </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Get the value of the focal length y-value (in pixels). </p>

<p>Definition at line <a class="el" href="_t_camera_8h_source.html#l00183">183</a> of file <a class="el" href="_t_camera_8h_source.html">TCamera.h</a>.</p>

<p>Referenced by <a class="el" href="pinhole_8h_source.html#l00072">mrpt::vision::pinhole::projectPoint_no_distortion()</a>.</p>

</div>
</div>
<a class="anchor" id="a19e5c713a1926173699b3e73542b2ff6"></a><!-- doxytag: member="mrpt::utils::TCamera::fy" ref="a19e5c713a1926173699b3e73542b2ff6" args="(double val)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void mrpt::utils::TCamera::fy </td>
          <td>(</td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>val</em></td><td>)</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Set the value of the focal length y-value (in pixels). </p>

<p>Definition at line <a class="el" href="_t_camera_8h_source.html#l00192">192</a> of file <a class="el" href="_t_camera_8h_source.html">TCamera.h</a>.</p>

</div>
</div>
<a class="anchor" id="a8a0d5b6199643375481fffd809252da9"></a><!-- doxytag: member="mrpt::utils::TCamera::getDistortionParamsAsVector" ref="a8a0d5b6199643375481fffd809252da9" args="() const " -->
<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;double&gt; mrpt::utils::TCamera::getDistortionParamsAsVector </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Get a vector with the distortion params of the camera. </p>

<p>Definition at line <a class="el" href="_t_camera_8h_source.html#l00141">141</a> of file <a class="el" href="_t_camera_8h_source.html">TCamera.h</a>.</p>

</div>
</div>
<a class="anchor" id="aa2777c4ecf4f3317a64a427f2335723d"></a><!-- doxytag: member="mrpt::utils::TCamera::getDistortionParamsVector" ref="aa2777c4ecf4f3317a64a427f2335723d" args="(CMatrixDouble15 &amp;distParVector) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void mrpt::utils::TCamera::getDistortionParamsVector </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="namespacemrpt_1_1math.html#acea06f45d45c97ff31a6b56c11119ece">CMatrixDouble15</a> &amp;&#160;</td>
          <td class="paramname"><em>distParVector</em></td><td>)</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Get the vector of distortion params of the camera. </p>

<p>Definition at line <a class="el" href="_t_camera_8h_source.html#l00134">134</a> of file <a class="el" href="_t_camera_8h_source.html">TCamera.h</a>.</p>

</div>
</div>
<a class="anchor" id="abcac77a67187eb7f38e110698139d9e8"></a><!-- doxytag: member="mrpt::utils::TCamera::GetRuntimeClass" ref="abcac77a67187eb7f38e110698139d9e8" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual const <a class="el" href="structmrpt_1_1utils_1_1_t_runtime_class_id.html">mrpt::utils::TRuntimeClassId</a>* mrpt::utils::TCamera::GetRuntimeClass </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const<code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Returns information about the class of an object in runtime. </p>

<p>Reimplemented from <a class="el" href="classmrpt_1_1utils_1_1_c_serializable.html#a6861b16159daafd1651d6e0d27f39c58">mrpt::utils::CSerializable</a>.</p>

</div>
</div>
<a class="anchor" id="a2571bf5873d9035d9e3c027b31e80147"></a><!-- doxytag: member="mrpt::utils::TCamera::k1" ref="a2571bf5873d9035d9e3c027b31e80147" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">double mrpt::utils::TCamera::k1 </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Get the value of the k1 distortion parameter. </p>

<p>Definition at line <a class="el" href="_t_camera_8h_source.html#l00195">195</a> of file <a class="el" href="_t_camera_8h_source.html">TCamera.h</a>.</p>

</div>
</div>
<a class="anchor" id="a72c206da9190c5b249c46b117081005b"></a><!-- doxytag: member="mrpt::utils::TCamera::k1" ref="a72c206da9190c5b249c46b117081005b" args="(double val)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void mrpt::utils::TCamera::k1 </td>
          <td>(</td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>val</em></td><td>)</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Get the value of the k1 distortion parameter. </p>

<p>Definition at line <a class="el" href="_t_camera_8h_source.html#l00206">206</a> of file <a class="el" href="_t_camera_8h_source.html">TCamera.h</a>.</p>

</div>
</div>
<a class="anchor" id="a0e3bda9bf8939dff10e00d2259338abc"></a><!-- doxytag: member="mrpt::utils::TCamera::k2" ref="a0e3bda9bf8939dff10e00d2259338abc" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">double mrpt::utils::TCamera::k2 </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Get the value of the k2 distortion parameter. </p>

<p>Definition at line <a class="el" href="_t_camera_8h_source.html#l00197">197</a> of file <a class="el" href="_t_camera_8h_source.html">TCamera.h</a>.</p>

</div>
</div>
<a class="anchor" id="a35a278e2be66ad5a3bc69a19a41759c2"></a><!-- doxytag: member="mrpt::utils::TCamera::k2" ref="a35a278e2be66ad5a3bc69a19a41759c2" args="(double val)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void mrpt::utils::TCamera::k2 </td>
          <td>(</td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>val</em></td><td>)</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Get the value of the k2 distortion parameter. </p>

<p>Definition at line <a class="el" href="_t_camera_8h_source.html#l00208">208</a> of file <a class="el" href="_t_camera_8h_source.html">TCamera.h</a>.</p>

</div>
</div>
<a class="anchor" id="aa16107a55f7791f1a92222a71d7ccbfa"></a><!-- doxytag: member="mrpt::utils::TCamera::k3" ref="aa16107a55f7791f1a92222a71d7ccbfa" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">double mrpt::utils::TCamera::k3 </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Get the value of the k3 distortion parameter. </p>

<p>Definition at line <a class="el" href="_t_camera_8h_source.html#l00203">203</a> of file <a class="el" href="_t_camera_8h_source.html">TCamera.h</a>.</p>

</div>
</div>
<a class="anchor" id="a7b08e8cd61428ef44e2a3da8899069f1"></a><!-- doxytag: member="mrpt::utils::TCamera::k3" ref="a7b08e8cd61428ef44e2a3da8899069f1" args="(double val)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void mrpt::utils::TCamera::k3 </td>
          <td>(</td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>val</em></td><td>)</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Get the value of the k3 distortion parameter. </p>

<p>Definition at line <a class="el" href="_t_camera_8h_source.html#l00214">214</a> of file <a class="el" href="_t_camera_8h_source.html">TCamera.h</a>.</p>

</div>
</div>
<a class="anchor" id="a8c7f16c60a68978f1e003d23e6ec4abf"></a><!-- doxytag: member="mrpt::utils::TCamera::loadFromConfigFile" ref="a8c7f16c60a68978f1e003d23e6ec4abf" args="(const std::string &amp;section, const mrpt::utils::CConfigFileBase &amp;cfg)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void mrpt::utils::TCamera::loadFromConfigFile </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>section</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classmrpt_1_1utils_1_1_c_config_file_base.html">mrpt::utils::CConfigFileBase</a> &amp;&#160;</td>
          <td class="paramname"><em>cfg</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Load all the params from a config source, in the format used in <a class="el" href="classmrpt_1_1utils_1_1_t_camera.html#afd798ebc31273d528bdec2e3edcce439" title="Save as a config block:">saveToConfigFile()</a>, that is: </p>
<div class="fragment"><pre class="fragment">  [SECTION]
  resolution = [NCOLS NROWS]
  <a class="code" href="classmrpt_1_1utils_1_1_t_camera.html#abe3a3d34f75e8dd554a9bf52c9ab6626" title="Get the value of the principal point x-coordinate (in pixels).">cx</a>         = CX
  <a class="code" href="classmrpt_1_1utils_1_1_t_camera.html#aaeba6c9dc0e4259ec9d435429c4a9e6e" title="Get the value of the principal point y-coordinate (in pixels).">cy</a>         = CY
  <a class="code" href="classmrpt_1_1utils_1_1_t_camera.html#a7566437233d844a551e3cce5effde1ea" title="Get the value of the focal length x-value (in pixels).">fx</a>         = FX
  <a class="code" href="classmrpt_1_1utils_1_1_t_camera.html#a75c5210381d62848b8c918a438991c55" title="Get the value of the focal length y-value (in pixels).">fy</a>         = FY
  <a class="code" href="classmrpt_1_1utils_1_1_t_camera.html#a30aaef098fc8bb51d47415d63470a343" title="[k1 k2 t1 t2 t3] -&gt; k_i: parameters of radial distortion, t_i: parameters of tangential distortion (d...">dist</a>       = [K1 K2 T1 T2 K3]
  focal_length = FOCAL_LENGTH  [optional field]
</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 missing fields </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a0c962f25e53d1aa57110fa8bd3563039"></a><!-- doxytag: member="mrpt::utils::TCamera::p1" ref="a0c962f25e53d1aa57110fa8bd3563039" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">double mrpt::utils::TCamera::p1 </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Get the value of the p1 distortion parameter. </p>

<p>Definition at line <a class="el" href="_t_camera_8h_source.html#l00199">199</a> of file <a class="el" href="_t_camera_8h_source.html">TCamera.h</a>.</p>

</div>
</div>
<a class="anchor" id="ad2ffc4003df702322571aa030e54d72f"></a><!-- doxytag: member="mrpt::utils::TCamera::p1" ref="ad2ffc4003df702322571aa030e54d72f" args="(double val)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void mrpt::utils::TCamera::p1 </td>
          <td>(</td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>val</em></td><td>)</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Get the value of the p1 distortion parameter. </p>

<p>Definition at line <a class="el" href="_t_camera_8h_source.html#l00210">210</a> of file <a class="el" href="_t_camera_8h_source.html">TCamera.h</a>.</p>

</div>
</div>
<a class="anchor" id="a96611a2321aac3af3aacdd78b3db17b9"></a><!-- doxytag: member="mrpt::utils::TCamera::p2" ref="a96611a2321aac3af3aacdd78b3db17b9" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">double mrpt::utils::TCamera::p2 </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Get the value of the p2 distortion parameter. </p>

<p>Definition at line <a class="el" href="_t_camera_8h_source.html#l00201">201</a> of file <a class="el" href="_t_camera_8h_source.html">TCamera.h</a>.</p>

</div>
</div>
<a class="anchor" id="a088acdc669bf19d8171210bc81a7e958"></a><!-- doxytag: member="mrpt::utils::TCamera::p2" ref="a088acdc669bf19d8171210bc81a7e958" args="(double val)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void mrpt::utils::TCamera::p2 </td>
          <td>(</td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>val</em></td><td>)</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Get the value of the p2 distortion parameter. </p>

<p>Definition at line <a class="el" href="_t_camera_8h_source.html#l00212">212</a> of file <a class="el" href="_t_camera_8h_source.html">TCamera.h</a>.</p>

</div>
</div>
<a class="anchor" id="a73ba83035a64939cdc3aa1c0dfed23ec"></a><!-- doxytag: member="mrpt::utils::TCamera::readFromStream" ref="a73ba83035a64939cdc3aa1c0dfed23ec" args="(mrpt::utils::CStream &amp;in, int version)=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void mrpt::utils::CSerializable::readFromStream </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classmrpt_1_1utils_1_1_c_stream.html">mrpt::utils::CStream</a> &amp;&#160;</td>
          <td class="paramname"><em>in</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>version</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [protected, pure virtual, inherited]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Introduces a pure virtual method responsible for loading from 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> This can not be used directly be users, instead use "stream &gt;&gt; object;" for reading it from a stream or "stream &gt;&gt; object_ptr;" if the class is unknown apriori. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">in</td><td>The input binary stream where the object data must read from. </td></tr>
    <tr><td class="paramname">version</td><td>The version of the object stored in the stream: use this version number in your code to know how to read the incoming data. </td></tr>
  </table>
  </dd>
</dl>
<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 any error, see <a class="el" href="classmrpt_1_1utils_1_1_c_stream.html#a1b8cd3d084b5a95a3f65c6eed6e7cc6d" title="Reads a block of bytes from the stream into Buffer On any error, or if ZERO bytes are read...">CStream::ReadBuffer</a> </td></tr>
  </table>
  </dd>
</dl>
<dl class="see"><dt><b>See also:</b></dt><dd><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> </dd></dl>

<p>Implemented in <a class="el" href="classmrpt_1_1math_1_1_c_matrix_d.html#a0194e57ec48c1dfc6aa00c23d3409143">mrpt::math::CMatrixD</a>, and <a class="el" href="classmrpt_1_1math_1_1_c_matrix.html#a12db95e8c32d48d2d2483936dec516a7">mrpt::math::CMatrix</a>.</p>

</div>
</div>
<a class="anchor" id="afd798ebc31273d528bdec2e3edcce439"></a><!-- doxytag: member="mrpt::utils::TCamera::saveToConfigFile" ref="afd798ebc31273d528bdec2e3edcce439" args="(const std::string &amp;section, mrpt::utils::CConfigFileBase &amp;cfg) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void mrpt::utils::TCamera::saveToConfigFile </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>section</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classmrpt_1_1utils_1_1_c_config_file_base.html">mrpt::utils::CConfigFileBase</a> &amp;&#160;</td>
          <td class="paramname"><em>cfg</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Save as a config block: </p>
<div class="fragment"><pre class="fragment">  [SECTION]
  resolution = [NCOLS NROWS]
  <a class="code" href="classmrpt_1_1utils_1_1_t_camera.html#abe3a3d34f75e8dd554a9bf52c9ab6626" title="Get the value of the principal point x-coordinate (in pixels).">cx</a>         = CX
  cy         = CY
  fx         = FX
  fy         = FY
  dist       = [K1 K2 T1 T2 K3]
  focal_length = FOCAL_LENGTH
</pre></div> 
</div>
</div>
<a class="anchor" id="a9d33e2706c984dabe6d3c0cbcec18898"></a><!-- doxytag: member="mrpt::utils::TCamera::scaleToResolution" ref="a9d33e2706c984dabe6d3c0cbcec18898" args="(unsigned int new_ncols, unsigned int new_nrows)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void mrpt::utils::TCamera::scaleToResolution </td>
          <td>(</td>
          <td class="paramtype">unsigned int&#160;</td>
          <td class="paramname"><em>new_ncols</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned int&#160;</td>
          <td class="paramname"><em>new_nrows</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Rescale all the parameters for a new camera resolution (it raises an exception if the aspect ratio is modified, which is not permitted). </p>

</div>
</div>
<a class="anchor" id="ab2ad006df5975c93b2c47e8f1c05b750"></a><!-- doxytag: member="mrpt::utils::TCamera::setDistortionParamsFromValues" ref="ab2ad006df5975c93b2c47e8f1c05b750" args="(double k1, double k2, double p1, double p2, double k3=0)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void mrpt::utils::TCamera::setDistortionParamsFromValues </td>
          <td>(</td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>k1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>k2</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>p1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>p2</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>k3</em> = <code>0</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Set the vector of distortion params of the camera from the individual values of the distortion coefficients. </p>

<p>Definition at line <a class="el" href="_t_camera_8h_source.html#l00167">167</a> of file <a class="el" href="_t_camera_8h_source.html">TCamera.h</a>.</p>

<p>Referenced by <a class="el" href="_t_camera_8h_source.html#l00248">mrpt::utils::TStereoCamera::TStereoCamera()</a>.</p>

</div>
</div>
<a class="anchor" id="a1f40934d99e0b5cb6608f6319e9a00b6"></a><!-- doxytag: member="mrpt::utils::TCamera::setDistortionParamsVector" ref="a1f40934d99e0b5cb6608f6319e9a00b6" args="(const CMatrixDouble15 &amp;distParVector)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void mrpt::utils::TCamera::setDistortionParamsVector </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="namespacemrpt_1_1math.html#acea06f45d45c97ff31a6b56c11119ece">CMatrixDouble15</a> &amp;&#160;</td>
          <td class="paramname"><em>distParVector</em></td><td>)</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Set the whole vector of distortion params of the camera. </p>

<p>Definition at line <a class="el" href="_t_camera_8h_source.html#l00149">149</a> of file <a class="el" href="_t_camera_8h_source.html">TCamera.h</a>.</p>

<p>Referenced by <a class="el" href="_c_image_8h_source.html#l00428">mrpt::utils::CImage::rectifyImage()</a>, and <a class="el" href="_c_image_8h_source.html#l00445">mrpt::utils::CImage::rectifyImageInPlace()</a>.</p>

</div>
</div>
<a class="anchor" id="afc67a701bfe3cea78fb48d818c8e64fb"></a><!-- doxytag: member="mrpt::utils::TCamera::setDistortionParamsVector" ref="afc67a701bfe3cea78fb48d818c8e64fb" args="(const VECTORLIKE &amp;distParVector)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class VECTORLIKE &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">void mrpt::utils::TCamera::setDistortionParamsVector </td>
          <td>(</td>
          <td class="paramtype">const VECTORLIKE &amp;&#160;</td>
          <td class="paramname"><em>distParVector</em></td><td>)</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Set the whole vector of distortion params of the camera from a 4 or 5-vector. </p>

<p>Definition at line <a class="el" href="_t_camera_8h_source.html#l00157">157</a> of file <a class="el" href="_t_camera_8h_source.html">TCamera.h</a>.</p>

<p>References <a class="el" href="mrpt__macros_8h_source.html#l00282">ASSERT_</a>.</p>

</div>
</div>
<a class="anchor" id="af8e10f389d80abc279d3b5bf92aa273a"></a><!-- doxytag: member="mrpt::utils::TCamera::setIntrinsicParamsFromValues" ref="af8e10f389d80abc279d3b5bf92aa273a" args="(double fx, double fy, double cx, double cy)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void mrpt::utils::TCamera::setIntrinsicParamsFromValues </td>
          <td>(</td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>fx</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>fy</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>cx</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>cy</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Set the matrix of intrinsic params of the camera from the individual values of focal length and principal point coordinates (in pixels) </p>

<p>Definition at line <a class="el" href="_t_camera_8h_source.html#l00125">125</a> of file <a class="el" href="_t_camera_8h_source.html">TCamera.h</a>.</p>

<p>Referenced by <a class="el" href="_t_camera_8h_source.html#l00248">mrpt::utils::TStereoCamera::TStereoCamera()</a>.</p>

</div>
</div>
<a class="anchor" id="a0b6b801e67bca3d8e0d355e7035f8013"></a><!-- doxytag: member="mrpt::utils::TCamera::writeToStream" ref="a0b6b801e67bca3d8e0d355e7035f8013" args="(mrpt::utils::CStream &amp;out, int *getVersion) const =0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void mrpt::utils::CSerializable::writeToStream </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classmrpt_1_1utils_1_1_c_stream.html">mrpt::utils::CStream</a> &amp;&#160;</td>
          <td class="paramname"><em>out</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int *&#160;</td>
          <td class="paramname"><em>getVersion</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td> const<code> [protected, pure virtual, inherited]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Introduces a pure virtual method responsible for writing to 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>. </p>
<p>This can not be used directly be users, instead use "stream &lt;&lt; object;" for writing it to a stream. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">out</td><td>The output binary stream where object must be dumped. </td></tr>
    <tr><td class="paramname">getVersion</td><td>If NULL, the object must be dumped. If not, only the version of the object dump must be returned in this pointer. This enables the versioning of objects dumping and backward compatibility with previously stored data. </td></tr>
  </table>
  </dd>
</dl>
<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 any error, see <a class="el" href="classmrpt_1_1utils_1_1_c_stream.html#a276005e7110c9de74ff3277b3f7bf621" title="Writes a block of bytes to the stream from Buffer.">CStream::WriteBuffer</a> </td></tr>
  </table>
  </dd>
</dl>
<dl class="see"><dt><b>See also:</b></dt><dd><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> </dd></dl>

<p>Implemented in <a class="el" href="classmrpt_1_1math_1_1_c_matrix_d.html#a767e787b52208ab4dd46ba7f5e2fd224">mrpt::math::CMatrixD</a>, and <a class="el" href="classmrpt_1_1math_1_1_c_matrix.html#a059d7eaf80dab9c7435154146d2b7dbf">mrpt::math::CMatrix</a>.</p>

</div>
</div>
<hr/><h2>Friends And Related Function Documentation</h2>
<a class="anchor" id="a6fec28a53e20dfc1c4d046c26f9f7b48"></a><!-- doxytag: member="mrpt::utils::TCamera::mrpt::utils::CStream" ref="a6fec28a53e20dfc1c4d046c26f9f7b48" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">friend class <a class="el" href="classmrpt_1_1utils_1_1_c_stream.html">mrpt::utils::CStream</a><code> [friend, inherited]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Reimplemented in <a class="el" href="classmrpt_1_1slam_1_1_c_random_field_grid_map2_d.html#a6fec28a53e20dfc1c4d046c26f9f7b48">mrpt::slam::CRandomFieldGridMap2D</a>, <a class="el" href="classmrpt_1_1slam_1_1_c_points_map.html#a6fec28a53e20dfc1c4d046c26f9f7b48">mrpt::slam::CPointsMap</a>, <a class="el" href="classmrpt_1_1slam_1_1_c_observation.html#a6fec28a53e20dfc1c4d046c26f9f7b48">mrpt::slam::CObservation</a>, <a class="el" href="classmrpt_1_1slam_1_1_c_metric_map.html#a6fec28a53e20dfc1c4d046c26f9f7b48">mrpt::slam::CMetricMap</a>, <a class="el" href="classmrpt_1_1opengl_1_1_c_renderizable.html#a6fec28a53e20dfc1c4d046c26f9f7b48">mrpt::opengl::CRenderizable</a>, <a class="el" href="classmrpt_1_1poses_1_1_c_pose3_d_quat_p_d_f.html#a6fec28a53e20dfc1c4d046c26f9f7b48">mrpt::poses::CPose3DQuatPDF</a>, <a class="el" href="classmrpt_1_1poses_1_1_c_point_p_d_f.html#a6fec28a53e20dfc1c4d046c26f9f7b48">mrpt::poses::CPointPDF</a>, <a class="el" href="classmrpt_1_1poses_1_1_c_pose3_d_p_d_f.html#a6fec28a53e20dfc1c4d046c26f9f7b48">mrpt::poses::CPose3DPDF</a>, <a class="el" href="classmrpt_1_1poses_1_1_c_pose_p_d_f.html#a6fec28a53e20dfc1c4d046c26f9f7b48">mrpt::poses::CPosePDF</a>, <a class="el" href="classmrpt_1_1poses_1_1_c_point2_d_p_d_f.html#a6fec28a53e20dfc1c4d046c26f9f7b48">mrpt::poses::CPoint2DPDF</a>, <a class="el" href="classmrpt_1_1opengl_1_1_c_renderizable_display_list.html#a6fec28a53e20dfc1c4d046c26f9f7b48">mrpt::opengl::CRenderizableDisplayList</a>, <a class="el" href="classmrpt_1_1slam_1_1_c_action.html#a6fec28a53e20dfc1c4d046c26f9f7b48">mrpt::slam::CAction</a>, <a class="el" href="classmrpt_1_1detectors_1_1_c_detectable_object.html#a6fec28a53e20dfc1c4d046c26f9f7b48">mrpt::detectors::CDetectableObject</a>, <a class="el" href="classmrpt_1_1opengl_1_1_c_textured_object.html#a6fec28a53e20dfc1c4d046c26f9f7b48">mrpt::opengl::CTexturedObject</a>, and <a class="el" href="classmrpt_1_1reactivenav_1_1_c_holonomic_log_file_record.html#a6fec28a53e20dfc1c4d046c26f9f7b48">mrpt::reactivenav::CHolonomicLogFileRecord</a>.</p>

<p>Definition at line <a class="el" href="_c_serializable_8h_source.html#l00056">56</a> of file <a class="el" href="_c_serializable_8h_source.html">CSerializable.h</a>.</p>

</div>
</div>
<hr/><h2>Member Data Documentation</h2>
<a class="anchor" id="a8908dd026234a63c49fe86aa3e6dfd69"></a><!-- doxytag: member="mrpt::utils::TCamera::_init_TCamera" ref="a8908dd026234a63c49fe86aa3e6dfd69" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="structmrpt_1_1utils_1_1_c_l_a_s_s_i_n_i_t.html">mrpt::utils::CLASSINIT</a> <a class="el" href="classmrpt_1_1utils_1_1_t_camera.html#a8908dd026234a63c49fe86aa3e6dfd69">mrpt::utils::TCamera::_init_TCamera</a><code> [static, protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="_t_camera_8h_source.html#l00056">56</a> of file <a class="el" href="_t_camera_8h_source.html">TCamera.h</a>.</p>

</div>
</div>
<a class="anchor" id="acb51e4dd811d62c2696aee449d0a4715"></a><!-- doxytag: member="mrpt::utils::TCamera::classCObject" ref="acb51e4dd811d62c2696aee449d0a4715" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const <a class="el" href="structmrpt_1_1utils_1_1_t_runtime_class_id.html">mrpt::utils::TRuntimeClassId</a> <a class="el" href="classmrpt_1_1utils_1_1_c_object.html#acb51e4dd811d62c2696aee449d0a4715">mrpt::utils::CObject::classCObject</a><code> [static, inherited]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

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

</div>
</div>
<a class="anchor" id="a28ec2a03d277a8469b8ecfc81892afdf"></a><!-- doxytag: member="mrpt::utils::TCamera::classCSerializable" ref="a28ec2a03d277a8469b8ecfc81892afdf" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const <a class="el" href="structmrpt_1_1utils_1_1_t_runtime_class_id.html">mrpt::utils::TRuntimeClassId</a> <a class="el" href="classmrpt_1_1utils_1_1_c_serializable.html#a28ec2a03d277a8469b8ecfc81892afdf">mrpt::utils::CSerializable::classCSerializable</a><code> [static, inherited]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="_c_serializable_8h_source.html#l00056">56</a> of file <a class="el" href="_c_serializable_8h_source.html">CSerializable.h</a>.</p>

</div>
</div>
<a class="anchor" id="a99aa08dbf2a006aeecd7543b20512ff9"></a><!-- doxytag: member="mrpt::utils::TCamera::classinfo" ref="a99aa08dbf2a006aeecd7543b20512ff9" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const <a class="el" href="structmrpt_1_1utils_1_1_t_runtime_class_id.html">mrpt::utils::TRuntimeClassId</a>* <a class="el" href="classmrpt_1_1utils_1_1_t_camera.html#a99aa08dbf2a006aeecd7543b20512ff9">mrpt::utils::TCamera::classinfo</a><code> [static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="_t_camera_8h_source.html#l00056">56</a> of file <a class="el" href="_t_camera_8h_source.html">TCamera.h</a>.</p>

</div>
</div>
<a class="anchor" id="a3dc48d941e5b60636cd3b0c71a342233"></a><!-- doxytag: member="mrpt::utils::TCamera::classTCamera" ref="a3dc48d941e5b60636cd3b0c71a342233" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="structmrpt_1_1utils_1_1_t_runtime_class_id.html">mrpt::utils::TRuntimeClassId</a> <a class="el" href="classmrpt_1_1utils_1_1_t_camera.html#a3dc48d941e5b60636cd3b0c71a342233">mrpt::utils::TCamera::classTCamera</a><code> [static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="_t_camera_8h_source.html#l00056">56</a> of file <a class="el" href="_t_camera_8h_source.html">TCamera.h</a>.</p>

</div>
</div>
<a class="anchor" id="a30aaef098fc8bb51d47415d63470a343"></a><!-- doxytag: member="mrpt::utils::TCamera::dist" ref="a30aaef098fc8bb51d47415d63470a343" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classmrpt_1_1math_1_1_c_array_double.html">CArrayDouble</a>&lt;5&gt; <a class="el" href="classmrpt_1_1utils_1_1_t_camera.html#a30aaef098fc8bb51d47415d63470a343">mrpt::utils::TCamera::dist</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>[k1 k2 t1 t2 t3] -&gt; k_i: parameters of radial distortion, t_i: parameters of tangential distortion (default=0) </p>

<p>Definition at line <a class="el" href="_t_camera_8h_source.html#l00075">75</a> of file <a class="el" href="_t_camera_8h_source.html">TCamera.h</a>.</p>

</div>
</div>
<a class="anchor" id="a08127fe5bbd8fecf3e34cca2882f89fc"></a><!-- doxytag: member="mrpt::utils::TCamera::focalLengthMeters" ref="a08127fe5bbd8fecf3e34cca2882f89fc" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">double <a class="el" href="classmrpt_1_1utils_1_1_t_camera.html#a08127fe5bbd8fecf3e34cca2882f89fc">mrpt::utils::TCamera::focalLengthMeters</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>The focal length of the camera, in meters (can be used among 'intrinsicParams' to determine the pixel size). </p>

<p>Definition at line <a class="el" href="_t_camera_8h_source.html#l00076">76</a> of file <a class="el" href="_t_camera_8h_source.html">TCamera.h</a>.</p>

<p>Referenced by <a class="el" href="_t_camera_8h_source.html#l00248">mrpt::utils::TStereoCamera::TStereoCamera()</a>.</p>

</div>
</div>
<a class="anchor" id="a1960e92075ca70228300e627f2965af7"></a><!-- doxytag: member="mrpt::utils::TCamera::intrinsicParams" ref="a1960e92075ca70228300e627f2965af7" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="namespacemrpt_1_1math.html#a58d0ee60eee38e990848ccb8b83e8338">CMatrixDouble33</a> <a class="el" href="classmrpt_1_1utils_1_1_t_camera.html#a1960e92075ca70228300e627f2965af7">mrpt::utils::TCamera::intrinsicParams</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Matrix of intrinsic parameters (containing the focal length and principal point coordinates) </p>

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

<p>Referenced by <a class="el" href="_c_image_8h_source.html#l00428">mrpt::utils::CImage::rectifyImage()</a>, and <a class="el" href="_c_image_8h_source.html#l00445">mrpt::utils::CImage::rectifyImageInPlace()</a>.</p>

</div>
</div>
<a class="anchor" id="a7800fcf258fe074c94f98d8ff984395f"></a><!-- doxytag: member="mrpt::utils::TCamera::ncols" ref="a7800fcf258fe074c94f98d8ff984395f" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">uint32_t <a class="el" href="classmrpt_1_1utils_1_1_t_camera.html#a7800fcf258fe074c94f98d8ff984395f">mrpt::utils::TCamera::ncols</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">

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

<p>Referenced by <a class="el" href="_t_camera_8h_source.html#l00248">mrpt::utils::TStereoCamera::TStereoCamera()</a>.</p>

</div>
</div>
<a class="anchor" id="a4882544de58dafc4b12a62d6d86d8e13"></a><!-- doxytag: member="mrpt::utils::TCamera::nrows" ref="a4882544de58dafc4b12a62d6d86d8e13" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">uint32_t <a class="el" href="classmrpt_1_1utils_1_1_t_camera.html#a4882544de58dafc4b12a62d6d86d8e13">mrpt::utils::TCamera::nrows</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Camera resolution. </p>

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

<p>Referenced by <a class="el" href="_t_camera_8h_source.html#l00248">mrpt::utils::TStereoCamera::TStereoCamera()</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>