Sophie

Sophie

distrib > Fedora > 15 > i386 > by-pkgid > 2f6559b7006594cad03af173263c219e > files > 4358

mrpt-doc-0.9.4-0.1.20110110svn2383.fc15.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>The MRPT project: mrpt::utils::CCanvas 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.2 -->
<script type="text/javascript"><!--
var searchBox = new SearchBox("searchBox", "search",false,'Search');
--></script>
<div class="navigation" id="top">
  <div 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 id="searchli">
        <div id="MSearchBox" class="MSearchBoxInactive">
          <span 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>
          </span><span class="right"></span>
        </div>
      </li>
    </ul>
  </div>
  <div 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="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
    </ul>
  </div>
  <div class="navpath">
    <ul>
      <li><a class="el" href="namespacemrpt.html">mrpt</a>      </li>
      <li><a class="el" href="namespacemrpt_1_1utils.html">utils</a>      </li>
      <li><a class="el" href="classmrpt_1_1utils_1_1_c_canvas.html">CCanvas</a>      </li>
    </ul>
  </div>
</div>
<div class="header">
  <div class="summary">
<a href="#pub-types">Public Types</a> &#124;
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pro-attribs">Protected Attributes</a>  </div>
  <div class="headertitle">
<h1>mrpt::utils::CCanvas Class Reference</h1>  </div>
</div>
<div class="contents">
<!-- doxytag: class="mrpt::utils::CCanvas" --><hr/><a name="_details"></a><h2>Detailed Description</h2>
<p>This virtual class defines the interface of any object accepting drawing primitives on it. </p>
<p>A number of text fonts can be selected with <a class="el" href="classmrpt_1_1utils_1_1_c_canvas.html#a2928fa64fc68c1f74cbe9c2e4aed8285" title="Select the current font used when drawing text.">CCanvas::selectTextFont()</a>. These are the implemented font names:</p>
<ul>
<li>"6x13"</li>
<li>"6x13B" (bold)</li>
<li>"6x13O" (italic)</li>
<li>"9x15"</li>
<li>"9x15B" (bold)</li>
<li>"10x20"</li>
<li>"18x18ja" (Japanese, UNICODE character values)</li>
</ul>
<p>For an example of each font check the <a href="http://www.mrpt.org/Implemented_2D_Fonts">corresponding wiki page</a>.</p>
<dl class="see"><dt><b>See also:</b></dt><dd><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> </dd></dl>

<p>Definition at line <a class="el" href="_c_canvas_8h_source.html#l00063">63</a> of file <a class="el" href="_c_canvas_8h_source.html">CCanvas.h</a>.</p>

<p><code>#include &lt;<a class="el" href="_c_canvas_8h_source.html">mrpt/utils/CCanvas.h</a>&gt;</code></p>
<!-- startSectionHeader --><div class="dynheader">
Inheritance diagram for mrpt::utils::CCanvas:<!-- endSectionHeader --></div>
<!-- startSectionSummary --><!-- endSectionSummary --><!-- startSectionContent --><div class="dyncontent">
<div class="center"><img src="classmrpt_1_1utils_1_1_c_canvas__inherit__graph.png" border="0" usemap="#mrpt_1_1utils_1_1_c_canvas_inherit__map" alt="Inheritance graph"/></div>
<map name="mrpt_1_1utils_1_1_c_canvas_inherit__map" id="mrpt_1_1utils_1_1_c_canvas_inherit__map">
</map>
<center><span class="legend">[<a href="graph_legend.html">legend</a>]</span></center><!-- endSectionContent --></div>

<p><a href="classmrpt_1_1utils_1_1_c_canvas-members.html">List of all members.</a></p>
<table class="memberdecls">
<tr><td colspan="2"><h2><a name="pub-types"></a>
Public Types</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1utils_1_1_c_canvas.html#a29d01f1280922b7a59dc5069b7ba0cf8">TPenStyle</a> { <br/>
&#160;&#160;<a class="el" href="classmrpt_1_1utils_1_1_c_canvas.html#a29d01f1280922b7a59dc5069b7ba0cf8a391a281352d3f77eefaefac24350d3b9">psSolid</a> =  0, 
<a class="el" href="classmrpt_1_1utils_1_1_c_canvas.html#a29d01f1280922b7a59dc5069b7ba0cf8a16d694b9f28fd2d1208971efb92bcd64">psDash</a>, 
<a class="el" href="classmrpt_1_1utils_1_1_c_canvas.html#a29d01f1280922b7a59dc5069b7ba0cf8a91a928916fee18d19b9d033dcc359e2d">psDot</a>, 
<a class="el" href="classmrpt_1_1utils_1_1_c_canvas.html#a29d01f1280922b7a59dc5069b7ba0cf8ac68b9d86600cc5a75642464bfe832884">psDashDot</a>, 
<br/>
&#160;&#160;<a class="el" href="classmrpt_1_1utils_1_1_c_canvas.html#a29d01f1280922b7a59dc5069b7ba0cf8a8a447161dfa4e44225a9e35e075ecf5d">psDashDotDot</a>
<br/>
 }</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight"><p>Definition of pen styles. </p>
 <a href="classmrpt_1_1utils_1_1_c_canvas.html#a29d01f1280922b7a59dc5069b7ba0cf8">More...</a><br/></td></tr>
<tr><td colspan="2"><h2><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1utils_1_1_c_canvas.html#a70759b5227d72a820d968e3e6f1a5ab5">CCanvas</a> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1utils_1_1_c_canvas.html#a9cc9425c828f11dc98bd43fc8fd4df41">~CCanvas</a> ()</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Dummy virtual destructor:  <a href="#a9cc9425c828f11dc98bd43fc8fd4df41"></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_canvas.html#a507ff849993e3ce8818a0426dee8d36b">setPixel</a> (int x, int y, size_t color)=0</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Changes the value of the pixel (x,y).  <a href="#a507ff849993e3ce8818a0426dee8d36b"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1utils_1_1_c_canvas.html#a4c46a63b0d936e15b9c0fa86c125676c">getWidth</a> () const =0</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the width of the image in pixels.  <a href="#a4c46a63b0d936e15b9c0fa86c125676c"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1utils_1_1_c_canvas.html#a9639f2a43bd4ef94294111e77c6c749a">getHeight</a> () const =0</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the height of the image in pixels.  <a href="#a9639f2a43bd4ef94294111e77c6c749a"></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_canvas.html#aafccfe59320bbd7d745833548dba9c23">line</a> (int x0, int y0, int x1, int y1, const <a class="el" href="structmrpt_1_1utils_1_1_t_color.html">mrpt::utils::TColor</a> color, unsigned int width=1, <a class="el" href="classmrpt_1_1utils_1_1_c_canvas.html#a29d01f1280922b7a59dc5069b7ba0cf8">TPenStyle</a> penStyle=psSolid)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Draws a line.  <a href="#aafccfe59320bbd7d745833548dba9c23"></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_c_canvas.html#a8ed4afc52ed713317c2a54eff8d02b5d">rectangle</a> (int x0, int y0, int x1, int y1, const <a class="el" href="structmrpt_1_1utils_1_1_t_color.html">mrpt::utils::TColor</a> color, unsigned int width=1)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Draws a rectangle (an empty rectangle, without filling)  <a href="#a8ed4afc52ed713317c2a54eff8d02b5d"></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_c_canvas.html#af95d2bb4cd73df0a5c1e99c7bd9147bb">triangle</a> (int x0, int y0, int size, const <a class="el" href="structmrpt_1_1utils_1_1_t_color.html">mrpt::utils::TColor</a> color, bool inferior=true, unsigned int width=1)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Draws a triangle.  <a href="#af95d2bb4cd73df0a5c1e99c7bd9147bb"></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_canvas.html#a2e887699dbd3509de85311938781263e">filledRectangle</a> (int x0, int y0, int x1, int y1, const <a class="el" href="structmrpt_1_1utils_1_1_t_color.html">mrpt::utils::TColor</a> color)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Draws a filled rectangle.  <a href="#a2e887699dbd3509de85311938781263e"></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_canvas.html#a5a9bbe148d68f920ec57e7c757e8df92">textOut</a> (int x0, int y0, const std::string &amp;str, const <a class="el" href="structmrpt_1_1utils_1_1_t_color.html">mrpt::utils::TColor</a> color)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Renders 2D text using bitmap fonts.  <a href="#a5a9bbe148d68f920ec57e7c757e8df92"></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_canvas.html#a2928fa64fc68c1f74cbe9c2e4aed8285">selectTextFont</a> (const std::string &amp;fontName)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight"><a class="el" href="class_select.html" title="Expression of a coefficient wise version of the C++ ternary operator ?:">Select</a> the current font used when drawing text.  <a href="#a2928fa64fc68c1f74cbe9c2e4aed8285"></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_canvas.html#a6e3d4fdf972162341e828537cecdd5af">drawImage</a> (int x, int y, const <a class="el" href="classmrpt_1_1utils_1_1_c_image.html">utils::CImage</a> &amp;img)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Draws an image as a bitmap at a given position.  <a href="#a6e3d4fdf972162341e828537cecdd5af"></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_c_canvas.html#a0b6b83a1350a2ad0a8180c631c781d12">cross</a> (int x0, int y0, const <a class="el" href="structmrpt_1_1utils_1_1_t_color.html">mrpt::utils::TColor</a> color, char <a class="el" href="classinternal_1_1dense__xpr__base_1_1type.html">type</a>, unsigned int size=5, unsigned int width=1)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Draw a cross.  <a href="#a0b6b83a1350a2ad0a8180c631c781d12"></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_canvas.html#a81dfceb650fc0ad81de7fff347f85d0c">drawImage</a> (int x, int y, const <a class="el" href="classmrpt_1_1utils_1_1_c_image.html">utils::CImage</a> &amp;img, float rotation, float scale)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Draws an image as a bitmap at a given position, with some custom scale and rotation changes.  <a href="#a81dfceb650fc0ad81de7fff347f85d0c"></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_canvas.html#a4d1c3412ebbec34cfd941a3fdb355bd9">drawCircle</a> (int x, int y, int radius, const <a class="el" href="structmrpt_1_1utils_1_1_t_color.html">mrpt::utils::TColor</a> color=<a class="el" href="structmrpt_1_1utils_1_1_t_color.html">mrpt::utils::TColor</a>(255, 255, 255), unsigned int width=1)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Draws a circle of a given radius.  <a href="#a4d1c3412ebbec34cfd941a3fdb355bd9"></a><br/></td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;class MATRIX2X2 &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_c_canvas.html#a8003ec9908b327ee10e6b9f10ffefc59">ellipseGaussian</a> (const MATRIX2X2 *cov2D, const double mean_x, const double mean_y, double confIntervalStds=2, const <a class="el" href="structmrpt_1_1utils_1_1_t_color.html">mrpt::utils::TColor</a> color=<a class="el" href="structmrpt_1_1utils_1_1_t_color.html">mrpt::utils::TColor</a>(255, 255, 255), unsigned int width=1, int nEllipsePoints=20)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Draws an ellipse representing a given confidence interval of a 2D Gaussian distribution.  <a href="#a8003ec9908b327ee10e6b9f10ffefc59"></a><br/></td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;class FEATURELIST &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_c_canvas.html#aaeaf6a4473d6f07d97544fa609adbaab">drawFeaturesSimple</a> (const FEATURELIST &amp;list, const <a class="el" href="structmrpt_1_1utils_1_1_t_color.html">TColor</a> &amp;color=<a class="el" href="structmrpt_1_1utils_1_1_t_color.html#a889b647441f8534a0e205e387635e1c1">TColor::red</a>)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Draws a set of marks onto the image, given a generic container of entities having just "x" and "y" fields.  <a href="#aaeaf6a4473d6f07d97544fa609adbaab"></a><br/></td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;class FEATURELIST &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_c_canvas.html#ac141013704f893845d41e5f6a8987db8">drawFeatures</a> (const FEATURELIST &amp;list, const <a class="el" href="structmrpt_1_1utils_1_1_t_color.html">TColor</a> &amp;color=<a class="el" href="structmrpt_1_1utils_1_1_t_color.html#a889b647441f8534a0e205e387635e1c1">TColor::red</a>, const bool showIDs=false, const bool showResponse=false)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Draws a set of marks (or scaled circles for features with scale) onto the image, given a generic container of features.  <a href="#ac141013704f893845d41e5f6a8987db8"></a><br/></td></tr>
<tr><td colspan="2"><h2><a name="pro-attribs"></a>
Protected Attributes</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1utils_1_1_c_canvas.html#aef2c3c9cc8805a0a5c4da2d867a0d422">m_selectedFont</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">The selected font name.  <a href="#aef2c3c9cc8805a0a5c4da2d867a0d422"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">const uint32_t *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1utils_1_1_c_canvas.html#a81aed2bab475a27dccb549681dcb0861">m_selectedFontBitmaps</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Direct access to character bitmaps.  <a href="#a81aed2bab475a27dccb549681dcb0861"></a><br/></td></tr>
</table>
<hr/><h2>Member Enumeration Documentation</h2>
<a class="anchor" id="a29d01f1280922b7a59dc5069b7ba0cf8"></a><!-- doxytag: member="mrpt::utils::CCanvas::TPenStyle" ref="a29d01f1280922b7a59dc5069b7ba0cf8" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="classmrpt_1_1utils_1_1_c_canvas.html#a29d01f1280922b7a59dc5069b7ba0cf8">mrpt::utils::CCanvas::TPenStyle</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition of pen styles. </p>
<dl><dt><b>Enumerator: </b></dt><dd><table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"><em><a class="anchor" id="a29d01f1280922b7a59dc5069b7ba0cf8a391a281352d3f77eefaefac24350d3b9"></a><!-- doxytag: member="psSolid" ref="a29d01f1280922b7a59dc5069b7ba0cf8a391a281352d3f77eefaefac24350d3b9" args="" -->psSolid</em>&nbsp;</td><td>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="a29d01f1280922b7a59dc5069b7ba0cf8a16d694b9f28fd2d1208971efb92bcd64"></a><!-- doxytag: member="psDash" ref="a29d01f1280922b7a59dc5069b7ba0cf8a16d694b9f28fd2d1208971efb92bcd64" args="" -->psDash</em>&nbsp;</td><td>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="a29d01f1280922b7a59dc5069b7ba0cf8a91a928916fee18d19b9d033dcc359e2d"></a><!-- doxytag: member="psDot" ref="a29d01f1280922b7a59dc5069b7ba0cf8a91a928916fee18d19b9d033dcc359e2d" args="" -->psDot</em>&nbsp;</td><td>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="a29d01f1280922b7a59dc5069b7ba0cf8ac68b9d86600cc5a75642464bfe832884"></a><!-- doxytag: member="psDashDot" ref="a29d01f1280922b7a59dc5069b7ba0cf8ac68b9d86600cc5a75642464bfe832884" args="" -->psDashDot</em>&nbsp;</td><td>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="a29d01f1280922b7a59dc5069b7ba0cf8a8a447161dfa4e44225a9e35e075ecf5d"></a><!-- doxytag: member="psDashDotDot" ref="a29d01f1280922b7a59dc5069b7ba0cf8a8a447161dfa4e44225a9e35e075ecf5d" args="" -->psDashDotDot</em>&nbsp;</td><td>
</td></tr>
</table>
</dd>
</dl>

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

</div>
</div>
<hr/><h2>Constructor &amp; Destructor Documentation</h2>
<a class="anchor" id="a70759b5227d72a820d968e3e6f1a5ab5"></a><!-- doxytag: member="mrpt::utils::CCanvas::CCanvas" ref="a70759b5227d72a820d968e3e6f1a5ab5" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">mrpt::utils::CCanvas::CCanvas </td>
          <td>(</td>
          <td class="paramname">&#160;)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<a class="anchor" id="a9cc9425c828f11dc98bd43fc8fd4df41"></a><!-- doxytag: member="mrpt::utils::CCanvas::~CCanvas" ref="a9cc9425c828f11dc98bd43fc8fd4df41" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual mrpt::utils::CCanvas::~CCanvas </td>
          <td>(</td>
          <td class="paramname">&#160;)</td>
          <td><code> [inline, virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Dummy virtual destructor: </p>

<p>Definition at line <a class="el" href="_c_canvas_8h_source.html#l00087">87</a> of file <a class="el" href="_c_canvas_8h_source.html">CCanvas.h</a>.</p>

</div>
</div>
<hr/><h2>Member Function Documentation</h2>
<a class="anchor" id="a0b6b83a1350a2ad0a8180c631c781d12"></a><!-- doxytag: member="mrpt::utils::CCanvas::cross" ref="a0b6b83a1350a2ad0a8180c631c781d12" args="(int x0, int y0, const mrpt::utils::TColor color, char type, unsigned int size=5, unsigned int width=1)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void mrpt::utils::CCanvas::cross </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"> <em>x0</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"> <em>y0</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="structmrpt_1_1utils_1_1_t_color.html">mrpt::utils::TColor</a>&#160;</td>
          <td class="paramname"> <em>color</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">char&#160;</td>
          <td class="paramname"> <em>type</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned int&#160;</td>
          <td class="paramname"> <em>size</em> = <code>5</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned int&#160;</td>
          <td class="paramname"> <em>width</em> = <code>1</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Draw a cross. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">x0</td><td>The point x coordinate </td></tr>
    <tr><td class="paramname">y0</td><td>The point y coordinate </td></tr>
    <tr><td class="paramname">color</td><td>The color of the cross </td></tr>
    <tr><td class="paramname">size</td><td>The size of the cross </td></tr>
    <tr><td class="paramname">type</td><td>The cross type. It could be: 'x', '+' or ':'(like '+' but clear at the center dot) </td></tr>
    <tr><td class="paramname">width</td><td>The desired width of the cross (this is IGNORED yet) </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a4d1c3412ebbec34cfd941a3fdb355bd9"></a><!-- doxytag: member="mrpt::utils::CCanvas::drawCircle" ref="a4d1c3412ebbec34cfd941a3fdb355bd9" args="(int x, int y, int radius, const mrpt::utils::TColor color=mrpt::utils::TColor(255, 255, 255), unsigned int width=1)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void mrpt::utils::CCanvas::drawCircle </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"> <em>x</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"> <em>y</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"> <em>radius</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="structmrpt_1_1utils_1_1_t_color.html">mrpt::utils::TColor</a>&#160;</td>
          <td class="paramname"> <em>color</em> = <code><a class="el" href="structmrpt_1_1utils_1_1_t_color.html">mrpt::utils::TColor</a>(255,&#160;255,&#160;255)</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned int&#160;</td>
          <td class="paramname"> <em>width</em> = <code>1</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Draws a circle of a given radius. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">x</td><td>The center - x coordinate in pixels. </td></tr>
    <tr><td class="paramname">y</td><td>The center - y coordinate in pixels. </td></tr>
    <tr><td class="paramname">radius</td><td>The radius - in pixels. </td></tr>
    <tr><td class="paramname">color</td><td>The color of the circle. </td></tr>
    <tr><td class="paramname">width</td><td>The desired width of the line (this is IGNORED in this virtual class) </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="ac141013704f893845d41e5f6a8987db8"></a><!-- doxytag: member="mrpt::utils::CCanvas::drawFeatures" ref="ac141013704f893845d41e5f6a8987db8" args="(const FEATURELIST &amp;list, const TColor &amp;color=TColor::red, const bool showIDs=false, const bool showResponse=false)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class FEATURELIST &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">void mrpt::utils::CCanvas::drawFeatures </td>
          <td>(</td>
          <td class="paramtype">const FEATURELIST &amp;&#160;</td>
          <td class="paramname"> <em>list</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="structmrpt_1_1utils_1_1_t_color.html">TColor</a> &amp;&#160;</td>
          <td class="paramname"> <em>color</em> = <code><a class="el" href="structmrpt_1_1utils_1_1_t_color.html#a889b647441f8534a0e205e387635e1c1">TColor::red</a></code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const bool&#160;</td>
          <td class="paramname"> <em>showIDs</em> = <code>false</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const bool&#160;</td>
          <td class="paramname"> <em>showResponse</em> = <code>false</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Draws a set of marks (or scaled circles for features with scale) onto the image, given a generic container of features. </p>
<p>The class of FEATURELIST can be <a class="el" href="classmrpt_1_1vision_1_1_c_feature_list.html" title="A list of visual features, to be used as output by detectors, as input/output by trackers, etc.">mrpt::vision::CFeatureList</a> </p>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="classmrpt_1_1utils_1_1_c_canvas.html#aaeaf6a4473d6f07d97544fa609adbaab" title="Draws a set of marks onto the image, given a generic container of entities having just &quot;x&quot; ...">drawFeaturesSimple</a> </dd></dl>

<p>Definition at line <a class="el" href="_c_canvas_8h_source.html#l00327">327</a> of file <a class="el" href="_c_canvas_8h_source.html">CCanvas.h</a>.</p>

<p>References <a class="el" href="namespacemrpt.html#a3a27af794b658df5491e2b7678f8ccb8">mrpt::format()</a>, <a class="el" href="base_2include_2mrpt_2utils_2types_8h_source.html#l00186">mrpt::utils::TColor::red</a>, and <a class="el" href="bits_8h_source.html#l00111">mrpt::utils::round()</a>.</p>

</div>
</div>
<a class="anchor" id="aaeaf6a4473d6f07d97544fa609adbaab"></a><!-- doxytag: member="mrpt::utils::CCanvas::drawFeaturesSimple" ref="aaeaf6a4473d6f07d97544fa609adbaab" args="(const FEATURELIST &amp;list, const TColor &amp;color=TColor::red)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class FEATURELIST &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">void mrpt::utils::CCanvas::drawFeaturesSimple </td>
          <td>(</td>
          <td class="paramtype">const FEATURELIST &amp;&#160;</td>
          <td class="paramname"> <em>list</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="structmrpt_1_1utils_1_1_t_color.html">TColor</a> &amp;&#160;</td>
          <td class="paramname"> <em>color</em> = <code><a class="el" href="structmrpt_1_1utils_1_1_t_color.html#a889b647441f8534a0e205e387635e1c1">TColor::red</a></code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Draws a set of marks onto the image, given a generic container of entities having just "x" and "y" fields. </p>
<p>The class of FEATURELIST can be, for example, std::vector&lt;TPoint2D&gt;, std::vector&lt;TPixelCoordsf&gt; or <a class="el" href="classmrpt_1_1vision_1_1_c_feature_list.html" title="A list of visual features, to be used as output by detectors, as input/output by trackers, etc.">mrpt::vision::CFeatureList</a> </p>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="classmrpt_1_1utils_1_1_c_canvas.html#ac141013704f893845d41e5f6a8987db8" title="Draws a set of marks (or scaled circles for features with scale) onto the image, given a generic cont...">drawFeatures</a> </dd></dl>

<p>Definition at line <a class="el" href="_c_canvas_8h_source.html#l00315">315</a> of file <a class="el" href="_c_canvas_8h_source.html">CCanvas.h</a>.</p>

<p>References <a class="el" href="bits_8h_source.html#l00111">mrpt::utils::round()</a>.</p>

</div>
</div>
<a class="anchor" id="a6e3d4fdf972162341e828537cecdd5af"></a><!-- doxytag: member="mrpt::utils::CCanvas::drawImage" ref="a6e3d4fdf972162341e828537cecdd5af" args="(int x, int y, const utils::CImage &amp;img)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void mrpt::utils::CCanvas::drawImage </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"> <em>x</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"> <em>y</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classmrpt_1_1utils_1_1_c_image.html">utils::CImage</a> &amp;&#160;</td>
          <td class="paramname"> <em>img</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Draws an image as a bitmap at a given position. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">x0</td><td>The top-left corner x coordinates on this canvas where the image is to be drawn </td></tr>
    <tr><td class="paramname">y0</td><td>The top-left corner y coordinates on this canvas where the image is to be drawn </td></tr>
    <tr><td class="paramname">img</td><td>The image to be drawn in this canvas This method may be redefined in some classes implementing this interface in a more appropiate manner. </td></tr>
  </table>
  </dd>
</dl>

<p>Reimplemented in <a class="el" href="classmrpt_1_1utils_1_1_c_enhanced_meta_file.html#aa68f3359d38a6eab1aef33ab30cc1ac2">mrpt::utils::CEnhancedMetaFile</a>.</p>

<p>Referenced by <a class="el" href="_c_enhanced_meta_file_8h_source.html#l00153">mrpt::utils::CEnhancedMetaFile::drawImage()</a>.</p>

</div>
</div>
<a class="anchor" id="a81dfceb650fc0ad81de7fff347f85d0c"></a><!-- doxytag: member="mrpt::utils::CCanvas::drawImage" ref="a81dfceb650fc0ad81de7fff347f85d0c" args="(int x, int y, const utils::CImage &amp;img, float rotation, float scale)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void mrpt::utils::CCanvas::drawImage </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"> <em>x</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"> <em>y</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classmrpt_1_1utils_1_1_c_image.html">utils::CImage</a> &amp;&#160;</td>
          <td class="paramname"> <em>img</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">float&#160;</td>
          <td class="paramname"> <em>rotation</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">float&#160;</td>
          <td class="paramname"> <em>scale</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Draws an image as a bitmap at a given position, with some custom scale and rotation changes. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">x0</td><td>The top-left corner x coordinates on this canvas where the image is to be drawn </td></tr>
    <tr><td class="paramname">y0</td><td>The top-left corner y coordinates on this canvas where the image is to be drawn </td></tr>
    <tr><td class="paramname">rotation</td><td>The rotation in radians, positive values being anti-clockwise direction, 0 is the normal position. </td></tr>
    <tr><td class="paramname">scale</td><td>The scale factor, e.g. 2 means twice the original size. </td></tr>
    <tr><td class="paramname">img</td><td>The image to be drawn in this canvas This method may be redefined in some classes implementing this interface in a more appropiate manner. </td></tr>
  </table>
  </dd>
</dl>

<p>Reimplemented in <a class="el" href="classmrpt_1_1utils_1_1_c_enhanced_meta_file.html#a3bc94b28ccb9f6eb1370b950edab1303">mrpt::utils::CEnhancedMetaFile</a>.</p>

</div>
</div>
<a class="anchor" id="a8003ec9908b327ee10e6b9f10ffefc59"></a><!-- doxytag: member="mrpt::utils::CCanvas::ellipseGaussian" ref="a8003ec9908b327ee10e6b9f10ffefc59" args="(const MATRIX2X2 *cov2D, const double mean_x, const double mean_y, double confIntervalStds=2, const mrpt::utils::TColor color=mrpt::utils::TColor(255, 255, 255), unsigned int width=1, int nEllipsePoints=20)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class MATRIX2X2 &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">void mrpt::utils::CCanvas::ellipseGaussian </td>
          <td>(</td>
          <td class="paramtype">const MATRIX2X2 *&#160;</td>
          <td class="paramname"> <em>cov2D</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const double&#160;</td>
          <td class="paramname"> <em>mean_x</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const double&#160;</td>
          <td class="paramname"> <em>mean_y</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"> <em>confIntervalStds</em> = <code>2</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="structmrpt_1_1utils_1_1_t_color.html">mrpt::utils::TColor</a>&#160;</td>
          <td class="paramname"> <em>color</em> = <code><a class="el" href="structmrpt_1_1utils_1_1_t_color.html">mrpt::utils::TColor</a>(255,255,255)</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned int&#160;</td>
          <td class="paramname"> <em>width</em> = <code>1</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"> <em>nEllipsePoints</em> = <code>20</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Draws an ellipse representing a given confidence interval of a 2D Gaussian distribution. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">mean_x</td><td>The x coordinate of the center point of the ellipse. </td></tr>
    <tr><td class="paramname">mean_y</td><td>The y coordinate of the center point of the ellipse. </td></tr>
    <tr><td class="paramname">cov2D</td><td>A 2x2 covariance matrix. </td></tr>
    <tr><td class="paramname">confIntervalStds</td><td>How many "sigmas" for the confidence level (i.e. 2-&gt;95%, 3=99.97%,...) </td></tr>
    <tr><td class="paramname">color</td><td>The color of the ellipse </td></tr>
    <tr><td class="paramname">width</td><td>The desired width of the line (this is IGNORED in this virtual class) </td></tr>
    <tr><td class="paramname">nEllipsePoints</td><td>The number of points to generate to approximate the ellipse shape. </td></tr>
  </table>
  </dd>
</dl>
<dl><dt><b>Exceptions:</b></dt><dd>
  <table class="exception">
    <tr><td class="paramname">std::exception</td><td>On an invalid matrix. </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="_c_canvas_8h_source.html#l00266">266</a> of file <a class="el" href="_c_canvas_8h_source.html">CCanvas.h</a>.</p>

<p>References <a class="el" href="_array_cwise_unary_ops_8h_source.html#l00076">cos()</a>, <a class="el" href="mrpt__macros_8h_source.html#l00369">M_2PI</a>, <a class="el" href="mrpt__macros_8h_source.html#l00359">MRPT_END_WITH_CLEAN_UP</a>, <a class="el" href="mrpt__macros_8h_source.html#l00352">MRPT_START</a>, <a class="el" href="bits_8h_source.html#l00111">mrpt::utils::round()</a>, and <a class="el" href="_array_cwise_unary_ops_8h_source.html#l00090">sin()</a>.</p>

</div>
</div>
<a class="anchor" id="a2e887699dbd3509de85311938781263e"></a><!-- doxytag: member="mrpt::utils::CCanvas::filledRectangle" ref="a2e887699dbd3509de85311938781263e" args="(int x0, int y0, int x1, int y1, const mrpt::utils::TColor color)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void mrpt::utils::CCanvas::filledRectangle </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"> <em>x0</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"> <em>y0</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"> <em>x1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"> <em>y1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="structmrpt_1_1utils_1_1_t_color.html">mrpt::utils::TColor</a>&#160;</td>
          <td class="paramname"> <em>color</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Draws a filled rectangle. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">x0</td><td>The top-left x coordinate </td></tr>
    <tr><td class="paramname">y0</td><td>The top-left y coordinate </td></tr>
    <tr><td class="paramname">x1</td><td>The right-bottom x coordinate </td></tr>
    <tr><td class="paramname">y1</td><td>The right-bottom y coordinate </td></tr>
    <tr><td class="paramname">color</td><td>The color of the rectangle fill This method may be redefined in some classes implementing this interface in a more appropiate manner. </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_canvas.html#a8ed4afc52ed713317c2a54eff8d02b5d" title="Draws a rectangle (an empty rectangle, without filling)">rectangle</a> </dd></dl>

</div>
</div>
<a class="anchor" id="a9639f2a43bd4ef94294111e77c6c749a"></a><!-- doxytag: member="mrpt::utils::CCanvas::getHeight" ref="a9639f2a43bd4ef94294111e77c6c749a" args="() const =0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual size_t mrpt::utils::CCanvas::getHeight </td>
          <td>(</td>
          <td class="paramname">&#160;)</td>
          <td> const<code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Returns the height of the image in pixels. </p>

<p>Implemented in <a class="el" href="classmrpt_1_1utils_1_1_c_enhanced_meta_file.html#a9bac0831e47ff1ba79188094bf31f21e">mrpt::utils::CEnhancedMetaFile</a>, and <a class="el" href="classmrpt_1_1utils_1_1_c_image.html#ab0ebc0aa07b6fbcf4f24898881db3f4d">mrpt::utils::CImage</a>.</p>

</div>
</div>
<a class="anchor" id="a4c46a63b0d936e15b9c0fa86c125676c"></a><!-- doxytag: member="mrpt::utils::CCanvas::getWidth" ref="a4c46a63b0d936e15b9c0fa86c125676c" args="() const =0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual size_t mrpt::utils::CCanvas::getWidth </td>
          <td>(</td>
          <td class="paramname">&#160;)</td>
          <td> const<code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Returns the width of the image in pixels. </p>

<p>Implemented in <a class="el" href="classmrpt_1_1utils_1_1_c_enhanced_meta_file.html#a9946419e1e17b6aa2b8f202f7d92e464">mrpt::utils::CEnhancedMetaFile</a>, and <a class="el" href="classmrpt_1_1utils_1_1_c_image.html#ae82bff36dbdbdfefe2735d6a02ed6bc8">mrpt::utils::CImage</a>.</p>

</div>
</div>
<a class="anchor" id="aafccfe59320bbd7d745833548dba9c23"></a><!-- doxytag: member="mrpt::utils::CCanvas::line" ref="aafccfe59320bbd7d745833548dba9c23" args="(int x0, int y0, int x1, int y1, const mrpt::utils::TColor color, unsigned int width=1, TPenStyle penStyle=psSolid)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void mrpt::utils::CCanvas::line </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"> <em>x0</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"> <em>y0</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"> <em>x1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"> <em>y1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="structmrpt_1_1utils_1_1_t_color.html">mrpt::utils::TColor</a>&#160;</td>
          <td class="paramname"> <em>color</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned int&#160;</td>
          <td class="paramname"> <em>width</em> = <code>1</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classmrpt_1_1utils_1_1_c_canvas.html#a29d01f1280922b7a59dc5069b7ba0cf8">TPenStyle</a>&#160;</td>
          <td class="paramname"> <em>penStyle</em> = <code>psSolid</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Draws a line. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">x0</td><td>The starting point x coordinate </td></tr>
    <tr><td class="paramname">y0</td><td>The starting point y coordinate </td></tr>
    <tr><td class="paramname">x1</td><td>The end point x coordinate </td></tr>
    <tr><td class="paramname">y1</td><td>The end point y coordinate </td></tr>
    <tr><td class="paramname">color</td><td>The color of the line </td></tr>
    <tr><td class="paramname">width</td><td>The desired width of the line (this is IGNORED in this virtual class) This method may be redefined in some classes implementing this interface in a more appropiate manner. </td></tr>
  </table>
  </dd>
</dl>

<p>Reimplemented in <a class="el" href="classmrpt_1_1utils_1_1_c_enhanced_meta_file.html#ac9fbbb3c4caedeff528b04eb204baab0">mrpt::utils::CEnhancedMetaFile</a>, and <a class="el" href="classmrpt_1_1utils_1_1_c_image.html#a62f7d2f17c48f39f25fcee7eda8736ca">mrpt::utils::CImage</a>.</p>

</div>
</div>
<a class="anchor" id="a8ed4afc52ed713317c2a54eff8d02b5d"></a><!-- doxytag: member="mrpt::utils::CCanvas::rectangle" ref="a8ed4afc52ed713317c2a54eff8d02b5d" args="(int x0, int y0, int x1, int y1, const mrpt::utils::TColor color, unsigned int width=1)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void mrpt::utils::CCanvas::rectangle </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"> <em>x0</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"> <em>y0</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"> <em>x1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"> <em>y1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="structmrpt_1_1utils_1_1_t_color.html">mrpt::utils::TColor</a>&#160;</td>
          <td class="paramname"> <em>color</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned int&#160;</td>
          <td class="paramname"> <em>width</em> = <code>1</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Draws a rectangle (an empty rectangle, without filling) </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">x0</td><td>The top-left x coordinate </td></tr>
    <tr><td class="paramname">y0</td><td>The top-left y coordinate </td></tr>
    <tr><td class="paramname">x1</td><td>The right-bottom x coordinate </td></tr>
    <tr><td class="paramname">y1</td><td>The right-bottom y coordinate </td></tr>
    <tr><td class="paramname">color</td><td>The color of the line </td></tr>
    <tr><td class="paramname">width</td><td>The desired width of the line. </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_canvas.html#a2e887699dbd3509de85311938781263e" title="Draws a filled rectangle.">filledRectangle</a> </dd></dl>

<p>Reimplemented in <a class="el" href="classmrpt_1_1utils_1_1_c_enhanced_meta_file.html#a24c76c3a6deb58df81e3b3cceab439a9">mrpt::utils::CEnhancedMetaFile</a>.</p>

</div>
</div>
<a class="anchor" id="a2928fa64fc68c1f74cbe9c2e4aed8285"></a><!-- doxytag: member="mrpt::utils::CCanvas::selectTextFont" ref="a2928fa64fc68c1f74cbe9c2e4aed8285" args="(const std::string &amp;fontName)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void mrpt::utils::CCanvas::selectTextFont </td>
          <td>(</td>
          <td class="paramtype">const std::string &amp;&#160;</td>
          <td class="paramname"> <em>fontName</em>&#160;)</td>
          <td><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p><a class="el" href="class_select.html" title="Expression of a coefficient wise version of the C++ ternary operator ?:">Select</a> the current font used when drawing text. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">fontName</td><td>The name of the font See <a href="http://www.mrpt.org/Implemented_2D_Fonts">the wiki</a> for a list of valid font names. </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_canvas.html#a5a9bbe148d68f920ec57e7c757e8df92" title="Renders 2D text using bitmap fonts.">textOut</a> </dd></dl>

</div>
</div>
<a class="anchor" id="a507ff849993e3ce8818a0426dee8d36b"></a><!-- doxytag: member="mrpt::utils::CCanvas::setPixel" ref="a507ff849993e3ce8818a0426dee8d36b" args="(int x, int y, size_t color)=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void mrpt::utils::CCanvas::setPixel </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"> <em>x</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"> <em>y</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"> <em>color</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Changes the value of the pixel (x,y). </p>
<p>Pixel coordinates starts at the left-top corner of the image, and start in (0,0). The meaning of the parameter "color" depends on the implementation: it will usually be a 24bit RGB value (0x00RRGGBB), but it can also be just a 8bit gray level.</p>
<p>You can also use a TColor() type as input and it will be automatically converted to size_t.</p>
<p>This method must support (x,y) values OUT of the actual image size without neither raising exceptions, nor leading to memory access errors. </p>

<p>Implemented in <a class="el" href="classmrpt_1_1utils_1_1_c_enhanced_meta_file.html#a03d7e70b2d2b7dd1c01da8cee792b350">mrpt::utils::CEnhancedMetaFile</a>, and <a class="el" href="classmrpt_1_1utils_1_1_c_image.html#a1461330d3d8400619c8313634be13dec">mrpt::utils::CImage</a>.</p>

</div>
</div>
<a class="anchor" id="a5a9bbe148d68f920ec57e7c757e8df92"></a><!-- doxytag: member="mrpt::utils::CCanvas::textOut" ref="a5a9bbe148d68f920ec57e7c757e8df92" args="(int x0, int y0, const std::string &amp;str, const mrpt::utils::TColor color)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void mrpt::utils::CCanvas::textOut </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"> <em>x0</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"> <em>y0</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const std::string &amp;&#160;</td>
          <td class="paramname"> <em>str</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="structmrpt_1_1utils_1_1_t_color.html">mrpt::utils::TColor</a>&#160;</td>
          <td class="paramname"> <em>color</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Renders 2D text using bitmap fonts. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">x0</td><td>The x coordinates </td></tr>
    <tr><td class="paramname">y0</td><td>The y coordinates </td></tr>
    <tr><td class="paramname">str</td><td>The string to put. If using UNICODE characters, use UTF-8 encoding. </td></tr>
    <tr><td class="paramname">color</td><td>The text color</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_canvas.html#a2928fa64fc68c1f74cbe9c2e4aed8285" title="Select the current font used when drawing text.">selectTextFont</a> </dd></dl>

<p>Reimplemented in <a class="el" href="classmrpt_1_1utils_1_1_c_enhanced_meta_file.html#a6bab922dc577504152029aa15a9864b5">mrpt::utils::CEnhancedMetaFile</a>.</p>

</div>
</div>
<a class="anchor" id="af95d2bb4cd73df0a5c1e99c7bd9147bb"></a><!-- doxytag: member="mrpt::utils::CCanvas::triangle" ref="af95d2bb4cd73df0a5c1e99c7bd9147bb" args="(int x0, int y0, int size, const mrpt::utils::TColor color, bool inferior=true, unsigned int width=1)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void mrpt::utils::CCanvas::triangle </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"> <em>x0</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"> <em>y0</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"> <em>size</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="structmrpt_1_1utils_1_1_t_color.html">mrpt::utils::TColor</a>&#160;</td>
          <td class="paramname"> <em>color</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"> <em>inferior</em> = <code>true</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned int&#160;</td>
          <td class="paramname"> <em>width</em> = <code>1</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Draws a triangle. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">x0</td><td>The triangle center x coordinate </td></tr>
    <tr><td class="paramname">y0</td><td>The triangle center y coordinate </td></tr>
    <tr><td class="paramname">size</td><td>The size of the triangle </td></tr>
    <tr><td class="paramname">color</td><td>The color of the line </td></tr>
    <tr><td class="paramname">inferior</td><td>The position of the triangle </td></tr>
    <tr><td class="paramname">width</td><td>The desired width of the line. </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_canvas.html#af95d2bb4cd73df0a5c1e99c7bd9147bb" title="Draws a triangle.">triangle</a> </dd></dl>

</div>
</div>
<hr/><h2>Member Data Documentation</h2>
<a class="anchor" id="aef2c3c9cc8805a0a5c4da2d867a0d422"></a><!-- doxytag: member="mrpt::utils::CCanvas::m_selectedFont" ref="aef2c3c9cc8805a0a5c4da2d867a0d422" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">std::string <a class="el" href="classmrpt_1_1utils_1_1_c_canvas.html#aef2c3c9cc8805a0a5c4da2d867a0d422">mrpt::utils::CCanvas::m_selectedFont</a><code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>The selected font name. </p>

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

</div>
</div>
<a class="anchor" id="a81aed2bab475a27dccb549681dcb0861"></a><!-- doxytag: member="mrpt::utils::CCanvas::m_selectedFontBitmaps" ref="a81aed2bab475a27dccb549681dcb0861" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const uint32_t* <a class="el" href="classmrpt_1_1utils_1_1_c_canvas.html#a81aed2bab475a27dccb549681dcb0861">mrpt::utils::CCanvas::m_selectedFontBitmaps</a><code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Direct access to character bitmaps. </p>

<p>Definition at line <a class="el" href="_c_canvas_8h_source.html#l00068">68</a> of file <a class="el" href="_c_canvas_8h_source.html">CCanvas.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.2</a> for MRPT 0.9.4 SVN: at Mon Jan 10 22:30:30 UTC 2011</td><td></td> <td width="100"> </td> <td width="150">  </td></tr> </table> </body></html>