<!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> > <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 Page</span></a></li> <li><a href="pages.html"><span>Related Pages</span></a></li> <li><a href="modules.html"><span>Modules</span></a></li> <li><a href="namespaces.html"><span>Namespaces</span></a></li> <li class="current"><a href="annotated.html"><span>Classes</span></a></li> <li><a href="files.html"><span>Files</span></a></li> <li 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 List</span></a></li> <li><a href="classes.html"><span>Class Index</span></a></li> <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li> <li><a href="functions.html"><span>Class 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> | <a href="#pub-methods">Public Member Functions</a> | <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 <<a class="el" href="_c_canvas_8h_source.html">mrpt/utils/CCanvas.h</a>></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  </td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1utils_1_1_c_canvas.html#a29d01f1280922b7a59dc5069b7ba0cf8">TPenStyle</a> { <br/>   <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/>   <a class="el" href="classmrpt_1_1utils_1_1_c_canvas.html#a29d01f1280922b7a59dc5069b7ba0cf8a8a447161dfa4e44225a9e35e075ecf5d">psDashDotDot</a> <br/> }</td></tr> <tr><td class="mdescLeft"> </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"> </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 </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"> </td><td class="mdescRight">Dummy virtual destructor: <a href="#a9cc9425c828f11dc98bd43fc8fd4df41"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1utils_1_1_c_canvas.html#a507ff849993e3ce8818a0426dee8d36b">setPixel</a> (int x, int y, size_t color)=0</td></tr> <tr><td class="mdescLeft"> </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 </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"> </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 </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"> </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 </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"> </td><td class="mdescRight">Draws a line. <a href="#aafccfe59320bbd7d745833548dba9c23"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_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"> </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 </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"> </td><td class="mdescRight">Draws a triangle. <a href="#af95d2bb4cd73df0a5c1e99c7bd9147bb"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_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"> </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 </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 &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"> </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 </td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1utils_1_1_c_canvas.html#a2928fa64fc68c1f74cbe9c2e4aed8285">selectTextFont</a> (const std::string &fontName)</td></tr> <tr><td class="mdescLeft"> </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 </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> &img)</td></tr> <tr><td class="mdescLeft"> </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 </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"> </td><td class="mdescRight">Draw a cross. <a href="#a0b6b83a1350a2ad0a8180c631c781d12"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_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> &img, float rotation, float scale)</td></tr> <tr><td class="mdescLeft"> </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 </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"> </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<class MATRIX2X2 > </td></tr> <tr><td class="memTemplItemLeft" align="right" valign="top">void </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"> </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<class FEATURELIST > </td></tr> <tr><td class="memTemplItemLeft" align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classmrpt_1_1utils_1_1_c_canvas.html#aaeaf6a4473d6f07d97544fa609adbaab">drawFeaturesSimple</a> (const FEATURELIST &list, const <a class="el" href="structmrpt_1_1utils_1_1_t_color.html">TColor</a> &color=<a class="el" href="structmrpt_1_1utils_1_1_t_color.html#a889b647441f8534a0e205e387635e1c1">TColor::red</a>)</td></tr> <tr><td class="mdescLeft"> </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<class FEATURELIST > </td></tr> <tr><td class="memTemplItemLeft" align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classmrpt_1_1utils_1_1_c_canvas.html#ac141013704f893845d41e5f6a8987db8">drawFeatures</a> (const FEATURELIST &list, const <a class="el" href="structmrpt_1_1utils_1_1_t_color.html">TColor</a> &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"> </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 </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"> </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 * </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"> </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> </td><td> </td></tr> <tr><td valign="top"><em><a class="anchor" id="a29d01f1280922b7a59dc5069b7ba0cf8a16d694b9f28fd2d1208971efb92bcd64"></a><!-- doxytag: member="psDash" ref="a29d01f1280922b7a59dc5069b7ba0cf8a16d694b9f28fd2d1208971efb92bcd64" args="" -->psDash</em> </td><td> </td></tr> <tr><td valign="top"><em><a class="anchor" id="a29d01f1280922b7a59dc5069b7ba0cf8a91a928916fee18d19b9d033dcc359e2d"></a><!-- doxytag: member="psDot" ref="a29d01f1280922b7a59dc5069b7ba0cf8a91a928916fee18d19b9d033dcc359e2d" args="" -->psDot</em> </td><td> </td></tr> <tr><td valign="top"><em><a class="anchor" id="a29d01f1280922b7a59dc5069b7ba0cf8ac68b9d86600cc5a75642464bfe832884"></a><!-- doxytag: member="psDashDot" ref="a29d01f1280922b7a59dc5069b7ba0cf8ac68b9d86600cc5a75642464bfe832884" args="" -->psDashDot</em> </td><td> </td></tr> <tr><td valign="top"><em><a class="anchor" id="a29d01f1280922b7a59dc5069b7ba0cf8a8a447161dfa4e44225a9e35e075ecf5d"></a><!-- doxytag: member="psDashDotDot" ref="a29d01f1280922b7a59dc5069b7ba0cf8a8a447161dfa4e44225a9e35e075ecf5d" args="" -->psDashDotDot</em> </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 & 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"> )</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"> )</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 </td> <td class="paramname"> <em>x0</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </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> </td> <td class="paramname"> <em>color</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">char </td> <td class="paramname"> <em>type</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">unsigned int </td> <td class="paramname"> <em>size</em> = <code>5</code>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">unsigned int </td> <td class="paramname"> <em>width</em> = <code>1</code> </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 </td> <td class="paramname"> <em>x</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"> <em>y</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </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> </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 </td> <td class="paramname"> <em>width</em> = <code>1</code> </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 &list, const TColor &color=TColor::red, const bool showIDs=false, const bool showResponse=false)" --> <div class="memitem"> <div class="memproto"> <div class="memtemplate"> template<class FEATURELIST > </div> <table class="memname"> <tr> <td class="memname">void mrpt::utils::CCanvas::drawFeatures </td> <td>(</td> <td class="paramtype">const FEATURELIST & </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> & </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 </td> <td class="paramname"> <em>showIDs</em> = <code>false</code>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const bool </td> <td class="paramname"> <em>showResponse</em> = <code>false</code> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td><code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p>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 "x" ...">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 &list, const TColor &color=TColor::red)" --> <div class="memitem"> <div class="memproto"> <div class="memtemplate"> template<class FEATURELIST > </div> <table class="memname"> <tr> <td class="memname">void mrpt::utils::CCanvas::drawFeaturesSimple </td> <td>(</td> <td class="paramtype">const FEATURELIST & </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> & </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></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<TPoint2D>, std::vector<TPixelCoordsf> 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 &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 </td> <td class="paramname"> <em>x</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </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> & </td> <td class="paramname"> <em>img</em> </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 &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 </td> <td class="paramname"> <em>x</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </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> & </td> <td class="paramname"> <em>img</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">float </td> <td class="paramname"> <em>rotation</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">float </td> <td class="paramname"> <em>scale</em> </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<class MATRIX2X2 > </div> <table class="memname"> <tr> <td class="memname">void mrpt::utils::CCanvas::ellipseGaussian </td> <td>(</td> <td class="paramtype">const MATRIX2X2 * </td> <td class="paramname"> <em>cov2D</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const double </td> <td class="paramname"> <em>mean_x</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const double </td> <td class="paramname"> <em>mean_y</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">double </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> </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 </td> <td class="paramname"> <em>width</em> = <code>1</code>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"> <em>nEllipsePoints</em> = <code>20</code> </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->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 </td> <td class="paramname"> <em>x0</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"> <em>y0</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"> <em>x1</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </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> </td> <td class="paramname"> <em>color</em> </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"> )</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"> )</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 </td> <td class="paramname"> <em>x0</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"> <em>y0</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"> <em>x1</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </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> </td> <td class="paramname"> <em>color</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">unsigned int </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> </td> <td class="paramname"> <em>penStyle</em> = <code>psSolid</code> </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 </td> <td class="paramname"> <em>x0</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"> <em>y0</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"> <em>x1</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </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> </td> <td class="paramname"> <em>color</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">unsigned int </td> <td class="paramname"> <em>width</em> = <code>1</code> </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 &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 & </td> <td class="paramname"> <em>fontName</em> )</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 </td> <td class="paramname"> <em>x</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"> <em>y</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">size_t </td> <td class="paramname"> <em>color</em> </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 &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 </td> <td class="paramname"> <em>x0</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"> <em>y0</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const std::string & </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> </td> <td class="paramname"> <em>color</em> </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 </td> <td class="paramname"> <em>x0</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"> <em>y0</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </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> </td> <td class="paramname"> <em>color</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">bool </td> <td class="paramname"> <em>inferior</em> = <code>true</code>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">unsigned int </td> <td class="paramname"> <em>width</em> = <code>1</code> </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>