Sophie

Sophie

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

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

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<title>mrpt::math::CPolygon Class Reference</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
<link href="tabs.css" rel="stylesheet" type="text/css">
</head><body>
<div align="left"><a href="http://www.mrpt.org/">Main MRPT website</a> &gt; <b>C++ reference</b> </div>
<div align="right">
<a href="index.html"><img border="0" src="mrpt_logo.png" alt="MRPT logo"></a>
</div>
<!-- Generated by Doxygen 1.7.5 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
      <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
      <li><a href="modules.html"><span>Modules</span></a></li>
      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
      <li><a href="files.html"><span>Files</span></a></li>
      <li>
        <div id="MSearchBox" class="MSearchBoxInactive">
          <div class="left">
            <form id="FSearchBox" action="search.php" method="get">
              <img id="MSearchSelect" src="search/mag.png" alt=""/>
              <input type="text" id="MSearchField" name="query" value="Search" size="20" accesskey="S" 
                     onfocus="searchBox.OnSearchFieldFocus(true)" 
                     onblur="searchBox.OnSearchFieldFocus(false)"/>
            </form>
          </div><div class="right"></div>
        </div>
      </li>
    </ul>
  </div>
  <div id="navrow2" class="tabs2">
    <ul class="tablist">
      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
      <li><a href="inherits.html"><span>Class&#160;Hierarchy</span></a></li>
      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
    </ul>
  </div>
  <div id="nav-path" class="navpath">
    <ul>
      <li class="navelem"><a class="el" href="namespacemrpt.html">mrpt</a>      </li>
      <li class="navelem"><a class="el" href="namespacemrpt_1_1math.html">math</a>      </li>
      <li class="navelem"><a class="el" href="classmrpt_1_1math_1_1_c_polygon.html">CPolygon</a>      </li>
    </ul>
  </div>
</div>
<div class="header">
  <div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pub-static-methods">Static Public Member Functions</a> &#124;
<a href="#pub-static-attribs">Static Public Attributes</a> &#124;
<a href="#pro-methods">Protected Member Functions</a>  </div>
  <div class="headertitle">
<div class="title">mrpt::math::CPolygon Class Reference<div class="ingroups"><a class="el" href="group__geometry__grp.html">Geometry: lines, planes, intersections, SLERP, &quot;lightweight&quot; point &amp; pose classes</a></div></div>  </div>
</div>
<div class="contents">
<!-- doxytag: class="mrpt::math::CPolygon" --><!-- doxytag: inherits="mrpt::utils::CSerializable,mrpt::math::TPolygon2D" --><hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
<div class="textblock"><p>A wrapper of a <a class="el" href="classmrpt_1_1math_1_1_t_polygon2_d.html" title="2D polygon, inheriting from std::vector&lt;TPoint2D&gt;.">TPolygon2D</a> class, implementing CSerializable. </p>
</div>
<p><code>#include &lt;<a class="el" href="_c_polygon_8h_source.html">mrpt/math/CPolygon.h</a>&gt;</code></p>
<div class="dynheader">
Inheritance diagram for mrpt::math::CPolygon:</div>
<div class="dyncontent">
<div class="center"><img src="classmrpt_1_1math_1_1_c_polygon__inherit__graph.png" border="0" usemap="#mrpt_1_1math_1_1_c_polygon_inherit__map" alt="Inheritance graph"/></div>
<map name="mrpt_1_1math_1_1_c_polygon_inherit__map" id="mrpt_1_1math_1_1_c_polygon_inherit__map">
<area shape="rect" id="node2" href="classmrpt_1_1utils_1_1_c_serializable.html" title="The virtual base class which provides a unified interface for all persistent objects in MRPT..." alt="" coords="4,173,168,200"/><area shape="rect" id="node4" href="classmrpt_1_1utils_1_1_c_object.html" title="The virtual base class of all MRPT classes with a unified RTTI system." alt="" coords="19,96,153,123"/><area shape="rect" id="node6" href="classmrpt_1_1math_1_1_t_polygon2_d.html" title="2D polygon, inheriting from std::vector&lt;TPoint2D&gt;." alt="" coords="193,173,357,200"/><area shape="rect" id="node8" href="classstd_1_1vector.html" title="std::vector\&lt; TPoint2D \&gt;" alt="" coords="195,96,357,123"/><area shape="rect" id="node10" href="classstd_1_1vector.html" title="STL class." alt="" coords="234,5,317,32"/></map>
<center><span class="legend">[<a href="graph_legend.html">legend</a>]</span></center></div>

<p><a href="classmrpt_1_1math_1_1_c_polygon-members.html">List of all members.</a></p>
<table class="memberdecls">
<tr><td colspan="2"><h2><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1math_1_1_c_polygon.html#a40d2955f3b74bce0a13c3e5c5fd3c268">CPolygon</a> ()</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructor cx and cy are the "central" point coordinates (laser sensor location if applicable) This parameters are NOT used in PointIntoPolygon, so they can be ignored.  <a href="#a40d2955f3b74bce0a13c3e5c5fd3c268"></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_1math_1_1_c_polygon.html#ada12326fdb02c41eb69b941d7b828e5e">AddVertex</a> (double x, double y)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Add a new vertex to polygon:  <a href="#ada12326fdb02c41eb69b941d7b828e5e"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">double&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1math_1_1_c_polygon.html#a7d7f34f782e1e75425aed79c1e467e65">GetVertex_x</a> (size_t i) const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Methods for accessing the vertexs:  <a href="#a7d7f34f782e1e75425aed79c1e467e65"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">double&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1math_1_1_c_polygon.html#a72a00e12bececf482a993ab8c3812e07">GetVertex_y</a> (size_t i) const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1math_1_1_c_polygon.html#afe11c011c1a07e4c176ef1870389fe42">verticesCount</a> () const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the vertices count in the polygon:  <a href="#afe11c011c1a07e4c176ef1870389fe42"></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_1math_1_1_c_polygon.html#a728aff8e6fe846609a80d1b3b9cc184d">setAllVertices</a> (const <a class="el" href="classstd_1_1vector.html">std::vector</a>&lt; double &gt; &amp;x, const <a class="el" href="classstd_1_1vector.html">std::vector</a>&lt; double &gt; &amp;y)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Set all vertices at once.  <a href="#a728aff8e6fe846609a80d1b3b9cc184d"></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_1math_1_1_c_polygon.html#a45a9ac8e42a2f7e553947f6bbbe84a08">setAllVertices</a> (size_t nVertices, const double *xs, const double *ys)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Set all vertices at once.  <a href="#a45a9ac8e42a2f7e553947f6bbbe84a08"></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_1math_1_1_c_polygon.html#a0166f34b8d37ca22cfe566b7c7d54213">setAllVertices</a> (size_t nVertices, const float *xs, const float *ys)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Set all vertices at once.  <a href="#a0166f34b8d37ca22cfe566b7c7d54213"></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_1math_1_1_c_polygon.html#a8cc9c064966624c0530f8953be9e452b">getAllVertices</a> (<a class="el" href="classstd_1_1vector.html">std::vector</a>&lt; double &gt; &amp;x, <a class="el" href="classstd_1_1vector.html">std::vector</a>&lt; double &gt; &amp;y) const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Get all vertices at once.  <a href="#a8cc9c064966624c0530f8953be9e452b"></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_1math_1_1_c_polygon.html#ac01d53b0430a1503240b18d13b50b6f0">Clear</a> ()</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Clear the polygon, erasing all vertexs.  <a href="#ac01d53b0430a1503240b18d13b50b6f0"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1math_1_1_c_polygon.html#a8e92c51def9ce98ef9f4af820b711ed0">PointIntoPolygon</a> (double x, double y) const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Check if a point is inside the polygon:  <a href="#a8e92c51def9ce98ef9f4af820b711ed0"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmrpt_1_1utils_1_1_c_object_ptr.html">mrpt::utils::CObjectPtr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1utils_1_1_c_object.html#a534695890364f4b916bba07dad311bcf">duplicateGetSmartPtr</a> () const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns a copy of the object, indepently of its class, as a smart pointer (the newly created object will exist as long as any copy of this smart pointer).  <a href="#a534695890364f4b916bba07dad311bcf"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmrpt_1_1utils_1_1_c_object.html">CObject</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1utils_1_1_c_object.html#a9ef7857a0b36059c078e195a0a65ac00">clone</a> () const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Cloning interface for smart pointers.  <a href="#a9ef7857a0b36059c078e195a0a65ac00"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">double&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1math_1_1_t_polygon2_d.html#aa65a4f077e4ed495fcca963d1789f4d7">distance</a> (const <a class="el" href="structmrpt_1_1math_1_1_t_point2_d.html">TPoint2D</a> &amp;point) const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Distance to a point.  <a href="#aa65a4f077e4ed495fcca963d1789f4d7"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1math_1_1_t_polygon2_d.html#ada1b31f2364540c43bc6dbb5dfeea99a">contains</a> (const <a class="el" href="structmrpt_1_1math_1_1_t_point2_d.html">TPoint2D</a> &amp;point) const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Check whether a point is inside the polygon.  <a href="#ada1b31f2364540c43bc6dbb5dfeea99a"></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_1math_1_1_t_polygon2_d.html#ac15e0125e3b4f11b2dff67d52feefa16">getAsSegmentList</a> (<a class="el" href="classstd_1_1vector.html">std::vector</a>&lt; <a class="el" href="structmrpt_1_1math_1_1_t_segment2_d.html">TSegment2D</a> &gt; &amp;v) const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets as set of segments, instead of points.  <a href="#ac15e0125e3b4f11b2dff67d52feefa16"></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_1math_1_1_t_polygon2_d.html#aaab475d58b4dfa083ba889351206b9d6">generate3DObject</a> (<a class="el" href="classmrpt_1_1math_1_1_t_polygon3_d.html">TPolygon3D</a> &amp;p) const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Projects into 3D space, zeroing the z.  <a href="#aaab475d58b4dfa083ba889351206b9d6"></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_1math_1_1_t_polygon2_d.html#a6d50cc1cc33a9621f123cd1b621fa28f">getCenter</a> (<a class="el" href="structmrpt_1_1math_1_1_t_point2_d.html">TPoint2D</a> &amp;p) const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Polygon's central point.  <a href="#a6d50cc1cc33a9621f123cd1b621fa28f"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1math_1_1_t_polygon2_d.html#a9f5aaaf7ee53f5dd5b82827189602a39">isConvex</a> () const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Checks whether is convex.  <a href="#a9f5aaaf7ee53f5dd5b82827189602a39"></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_1math_1_1_t_polygon2_d.html#ac55b772e1e7d555fff667db78d56a379">removeRepeatedVertices</a> ()</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Erase repeated vertices.  <a href="#ac55b772e1e7d555fff667db78d56a379"></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_1math_1_1_t_polygon2_d.html#aa3d69ea6027ed29ac349c9d26d3c853d">removeRedundantVertices</a> ()</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Erase every redundant vertex from the polygon, saving space.  <a href="#aa3d69ea6027ed29ac349c9d26d3c853d"></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_1math_1_1_t_polygon2_d.html#a94281cf31ee439f48abe69cfdbb95f5d">getPlotData</a> (<a class="el" href="classstd_1_1vector.html">std::vector</a>&lt; double &gt; &amp;x, <a class="el" href="classstd_1_1vector.html">std::vector</a>&lt; double &gt; &amp;y) const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets plot data, ready to use on a 2D plot.  <a href="#a94281cf31ee439f48abe69cfdbb95f5d"></a><br/></td></tr>
<tr><td colspan="2"><h2><a name="pub-static-methods"></a>
Static Public Member Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1math_1_1_t_polygon2_d.html#ac3488c7329d3b70ee602de1efb2f2c08">createRegularPolygon</a> (size_t numEdges, double radius, <a class="el" href="classmrpt_1_1math_1_1_t_polygon2_d.html">TPolygon2D</a> &amp;poly)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Static method to create a regular polygon, given its size and radius.  <a href="#ac3488c7329d3b70ee602de1efb2f2c08"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1math_1_1_t_polygon2_d.html#a813a886bb2797925d6f1df4668bb9dd2">createRegularPolygon</a> (size_t numEdges, double radius, <a class="el" href="classmrpt_1_1math_1_1_t_polygon2_d.html">TPolygon2D</a> &amp;poly, const <a class="el" href="classmrpt_1_1poses_1_1_c_pose2_d.html">mrpt::poses::CPose2D</a> &amp;pose)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Static method to create a regular polygon from its size and radius.  <a href="#a813a886bb2797925d6f1df4668bb9dd2"></a><br/></td></tr>
<tr><td colspan="2"><h2><a name="pub-static-attribs"></a>
Static Public Attributes</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static const <br class="typebreak"/>
<a class="el" href="structmrpt_1_1utils_1_1_t_runtime_class_id.html">mrpt::utils::TRuntimeClassId</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1utils_1_1_c_object.html#acb51e4dd811d62c2696aee449d0a4715">classCObject</a></td></tr>
<tr><td colspan="2"><h2><a name="pro-methods"></a>
Protected Member Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1utils_1_1_c_serializable.html#a0b6b801e67bca3d8e0d355e7035f8013">writeToStream</a> (<a class="el" href="classmrpt_1_1utils_1_1_c_stream.html">mrpt::utils::CStream</a> &amp;out, int *getVersion) const =0</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Introduces a pure virtual method responsible for writing to a <a class="el" href="classmrpt_1_1utils_1_1_c_stream.html" title="This base class is used to provide a unified interface to files,memory buffers,..Please see the deriv...">CStream</a>.  <a href="#a0b6b801e67bca3d8e0d355e7035f8013"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1utils_1_1_c_serializable.html#a73ba83035a64939cdc3aa1c0dfed23ec">readFromStream</a> (<a class="el" href="classmrpt_1_1utils_1_1_c_stream.html">mrpt::utils::CStream</a> &amp;in, int version)=0</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Introduces a pure virtual method responsible for loading from a <a class="el" href="classmrpt_1_1utils_1_1_c_stream.html" title="This base class is used to provide a unified interface to files,memory buffers,..Please see the deriv...">CStream</a> This can not be used directly be users, instead use "stream &gt;&gt; object;" for reading it from a stream or "stream &gt;&gt; object_ptr;" if the class is unknown apriori.  <a href="#a73ba83035a64939cdc3aa1c0dfed23ec"></a><br/></td></tr>
<tr><td colspan="2"><h2><a name="member-group"></a>
RTTI stuff</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="structmrpt_1_1math_1_1_c_polygon_ptr.html">CPolygonPtr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1math_1_1_c_polygon.html#ae78affd8c9b15e0f0a13c635742f4283">SmartPtr</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static <a class="el" href="structmrpt_1_1utils_1_1_c_l_a_s_s_i_n_i_t.html">mrpt::utils::CLASSINIT</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1math_1_1_c_polygon.html#a7b279f4ad362516d983ab5ebe5f1be24">_init_CPolygon</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static <a class="el" href="structmrpt_1_1utils_1_1_t_runtime_class_id.html">mrpt::utils::TRuntimeClassId</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1math_1_1_c_polygon.html#a51ec2a4a95f387bcd998597402c966f1">classCPolygon</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static const <br class="typebreak"/>
<a class="el" href="structmrpt_1_1utils_1_1_t_runtime_class_id.html">mrpt::utils::TRuntimeClassId</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1math_1_1_c_polygon.html#a5eed137238b61304844dbb257c01ffa2">classinfo</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static const <br class="typebreak"/>
<a class="el" href="structmrpt_1_1utils_1_1_t_runtime_class_id.html">mrpt::utils::TRuntimeClassId</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1math_1_1_c_polygon.html#aa40861e4dc379f4cb155e86c501eab75">_GetBaseClass</a> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual const <br class="typebreak"/>
<a class="el" href="structmrpt_1_1utils_1_1_t_runtime_class_id.html">mrpt::utils::TRuntimeClassId</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1math_1_1_c_polygon.html#a63bbd033241e18a116564e896a46a709">GetRuntimeClass</a> () const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns information about the class of an object in runtime.  <a href="#a63bbd033241e18a116564e896a46a709"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classmrpt_1_1utils_1_1_c_object.html">mrpt::utils::CObject</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1math_1_1_c_polygon.html#a5e7e04d290bd0a8e5ea200c5c6161789">duplicate</a> () const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns a copy of the object, indepently of its class.  <a href="#a5e7e04d290bd0a8e5ea200c5c6161789"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static <a class="el" href="classmrpt_1_1utils_1_1_c_object.html">mrpt::utils::CObject</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1math_1_1_c_polygon.html#a089cb342afd1800cc3ac7781514fb6a6">CreateObject</a> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static <a class="el" href="structmrpt_1_1math_1_1_c_polygon_ptr.html">CPolygonPtr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1math_1_1_c_polygon.html#a320a1f725e2a090dd8a363bfb9b5bf76">Create</a> ()</td></tr>
<tr><td colspan="2"><h2><a name="member-group"></a>
RTTI stuff</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static const <br class="typebreak"/>
<a class="el" href="structmrpt_1_1utils_1_1_t_runtime_class_id.html">mrpt::utils::TRuntimeClassId</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1utils_1_1_c_serializable.html#a28ec2a03d277a8469b8ecfc81892afdf">classCSerializable</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1utils_1_1_c_serializable.html#a6fec28a53e20dfc1c4d046c26f9f7b48">mrpt::utils::CStream</a></td></tr>
</table>
<hr/><h2>Member Typedef Documentation</h2>
<a class="anchor" id="ae78affd8c9b15e0f0a13c635742f4283"></a><!-- doxytag: member="mrpt::math::CPolygon::SmartPtr" ref="ae78affd8c9b15e0f0a13c635742f4283" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef <a class="el" href="structmrpt_1_1math_1_1_c_polygon_ptr.html">CPolygonPtr</a> <a class="el" href="classmrpt_1_1math_1_1_c_polygon.html#ae78affd8c9b15e0f0a13c635742f4283">mrpt::math::CPolygon::SmartPtr</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>A typedef for the associated smart pointer </p>

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

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

<p>Constructor cx and cy are the "central" point coordinates (laser sensor location if applicable) This parameters are NOT used in PointIntoPolygon, so they can be ignored. </p>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="classmrpt_1_1math_1_1_c_polygon.html#a8e92c51def9ce98ef9f4af820b711ed0" title="Check if a point is inside the polygon:">PointIntoPolygon</a> </dd></dl>

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

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

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

</div>
</div>
<a class="anchor" id="ada12326fdb02c41eb69b941d7b828e5e"></a><!-- doxytag: member="mrpt::math::CPolygon::AddVertex" ref="ada12326fdb02c41eb69b941d7b828e5e" args="(double x, double y)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void mrpt::math::CPolygon::AddVertex </td>
          <td>(</td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>x</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>y</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Add a new vertex to polygon: </p>

<p>Definition at line <a class="el" href="_c_polygon_8h_source.html#l00061">61</a> of file <a class="el" href="_c_polygon_8h_source.html">CPolygon.h</a>.</p>

<p>References <a class="el" href="eigen__plugins_8h_source.html#l00125">push_back()</a>.</p>

</div>
</div>
<a class="anchor" id="ac01d53b0430a1503240b18d13b50b6f0"></a><!-- doxytag: member="mrpt::math::CPolygon::Clear" ref="ac01d53b0430a1503240b18d13b50b6f0" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void mrpt::math::CPolygon::Clear </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Clear the polygon, erasing all vertexs. </p>

<p>Definition at line <a class="el" href="_c_polygon_8h_source.html#l00085">85</a> of file <a class="el" href="_c_polygon_8h_source.html">CPolygon.h</a>.</p>

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

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

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

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

</div>
</div>
<a class="anchor" id="ada1b31f2364540c43bc6dbb5dfeea99a"></a><!-- doxytag: member="mrpt::math::CPolygon::contains" ref="ada1b31f2364540c43bc6dbb5dfeea99a" args="(const TPoint2D &amp;point) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool mrpt::math::TPolygon2D::contains </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="structmrpt_1_1math_1_1_t_point2_d.html">TPoint2D</a> &amp;&#160;</td>
          <td class="paramname"><em>point</em></td><td>)</td>
          <td> const<code> [inherited]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Check whether a point is inside the polygon. </p>

<p>Referenced by <a class="el" href="_c_polygon_8h_source.html#l00089">PointIntoPolygon()</a>.</p>

</div>
</div>
<a class="anchor" id="a320a1f725e2a090dd8a363bfb9b5bf76"></a><!-- doxytag: member="mrpt::math::CPolygon::Create" ref="a320a1f725e2a090dd8a363bfb9b5bf76" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static <a class="el" href="structmrpt_1_1math_1_1_c_polygon_ptr.html">CPolygonPtr</a> mrpt::math::CPolygon::Create </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td><code> [static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

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

</div>
</div>
<a class="anchor" id="ac3488c7329d3b70ee602de1efb2f2c08"></a><!-- doxytag: member="mrpt::math::CPolygon::createRegularPolygon" ref="ac3488c7329d3b70ee602de1efb2f2c08" args="(size_t numEdges, double radius, TPolygon2D &amp;poly)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static void mrpt::math::TPolygon2D::createRegularPolygon </td>
          <td>(</td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>numEdges</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>radius</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classmrpt_1_1math_1_1_t_polygon2_d.html">TPolygon2D</a> &amp;&#160;</td>
          <td class="paramname"><em>poly</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [static, inherited]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Static method to create a regular polygon, given its size and radius. </p>
<dl><dt><b>Exceptions:</b></dt><dd>
  <table class="exception">
    <tr><td class="paramname"><a class="el" href="classstd_1_1logic__error.html" title="STL class.">std::logic_error</a></td><td>if radius is near zero or the number of edges is less than three. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a813a886bb2797925d6f1df4668bb9dd2"></a><!-- doxytag: member="mrpt::math::CPolygon::createRegularPolygon" ref="a813a886bb2797925d6f1df4668bb9dd2" args="(size_t numEdges, double radius, TPolygon2D &amp;poly, const mrpt::poses::CPose2D &amp;pose)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static void mrpt::math::TPolygon2D::createRegularPolygon </td>
          <td>(</td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>numEdges</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>radius</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classmrpt_1_1math_1_1_t_polygon2_d.html">TPolygon2D</a> &amp;&#160;</td>
          <td class="paramname"><em>poly</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classmrpt_1_1poses_1_1_c_pose2_d.html">mrpt::poses::CPose2D</a> &amp;&#160;</td>
          <td class="paramname"><em>pose</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [inline, static, inherited]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Static method to create a regular polygon from its size and radius. </p>
<p>The center will correspond to the given pose. </p>
<dl><dt><b>Exceptions:</b></dt><dd>
  <table class="exception">
    <tr><td class="paramname"><a class="el" href="classstd_1_1logic__error.html" title="STL class.">std::logic_error</a></td><td>if radius is near zero or the number of edges is less than three. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="aa65a4f077e4ed495fcca963d1789f4d7"></a><!-- doxytag: member="mrpt::math::CPolygon::distance" ref="aa65a4f077e4ed495fcca963d1789f4d7" args="(const TPoint2D &amp;point) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">double mrpt::math::TPolygon2D::distance </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="structmrpt_1_1math_1_1_t_point2_d.html">TPoint2D</a> &amp;&#160;</td>
          <td class="paramname"><em>point</em></td><td>)</td>
          <td> const<code> [inherited]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Distance to a point. </p>

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

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

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

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

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

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

</div>
</div>
<a class="anchor" id="aaab475d58b4dfa083ba889351206b9d6"></a><!-- doxytag: member="mrpt::math::CPolygon::generate3DObject" ref="aaab475d58b4dfa083ba889351206b9d6" args="(TPolygon3D &amp;p) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void mrpt::math::TPolygon2D::generate3DObject </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classmrpt_1_1math_1_1_t_polygon3_d.html">TPolygon3D</a> &amp;&#160;</td>
          <td class="paramname"><em>p</em></td><td>)</td>
          <td> const<code> [inherited]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Projects into 3D space, zeroing the z. </p>

</div>
</div>
<a class="anchor" id="a8cc9c064966624c0530f8953be9e452b"></a><!-- doxytag: member="mrpt::math::CPolygon::getAllVertices" ref="a8cc9c064966624c0530f8953be9e452b" args="(std::vector&lt; double &gt; &amp;x, std::vector&lt; double &gt; &amp;y) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void mrpt::math::CPolygon::getAllVertices </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classstd_1_1vector.html">std::vector</a>&lt; double &gt; &amp;&#160;</td>
          <td class="paramname"><em>x</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classstd_1_1vector.html">std::vector</a>&lt; double &gt; &amp;&#160;</td>
          <td class="paramname"><em>y</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Get all vertices at once. </p>

</div>
</div>
<a class="anchor" id="ac15e0125e3b4f11b2dff67d52feefa16"></a><!-- doxytag: member="mrpt::math::CPolygon::getAsSegmentList" ref="ac15e0125e3b4f11b2dff67d52feefa16" args="(std::vector&lt; TSegment2D &gt; &amp;v) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void mrpt::math::TPolygon2D::getAsSegmentList </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classstd_1_1vector.html">std::vector</a>&lt; <a class="el" href="structmrpt_1_1math_1_1_t_segment2_d.html">TSegment2D</a> &gt; &amp;&#160;</td>
          <td class="paramname"><em>v</em></td><td>)</td>
          <td> const<code> [inherited]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Gets as set of segments, instead of points. </p>

</div>
</div>
<a class="anchor" id="a6d50cc1cc33a9621f123cd1b621fa28f"></a><!-- doxytag: member="mrpt::math::CPolygon::getCenter" ref="a6d50cc1cc33a9621f123cd1b621fa28f" args="(TPoint2D &amp;p) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void mrpt::math::TPolygon2D::getCenter </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structmrpt_1_1math_1_1_t_point2_d.html">TPoint2D</a> &amp;&#160;</td>
          <td class="paramname"><em>p</em></td><td>)</td>
          <td> const<code> [inherited]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Polygon's central point. </p>

</div>
</div>
<a class="anchor" id="a94281cf31ee439f48abe69cfdbb95f5d"></a><!-- doxytag: member="mrpt::math::CPolygon::getPlotData" ref="a94281cf31ee439f48abe69cfdbb95f5d" args="(std::vector&lt; double &gt; &amp;x, std::vector&lt; double &gt; &amp;y) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void mrpt::math::TPolygon2D::getPlotData </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classstd_1_1vector.html">std::vector</a>&lt; double &gt; &amp;&#160;</td>
          <td class="paramname"><em>x</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classstd_1_1vector.html">std::vector</a>&lt; double &gt; &amp;&#160;</td>
          <td class="paramname"><em>y</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td> const<code> [inherited]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Gets plot data, ready to use on a 2D plot. </p>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="classmrpt_1_1gui_1_1_c_display_window_plots.html" title="Create a GUI window and display plots with MATLAB-like interfaces and commands.">mrpt::gui::CDisplayWindowPlots</a> </dd></dl>

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

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

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

</div>
</div>
<a class="anchor" id="a7d7f34f782e1e75425aed79c1e467e65"></a><!-- doxytag: member="mrpt::math::CPolygon::GetVertex_x" ref="a7d7f34f782e1e75425aed79c1e467e65" args="(size_t i) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">double mrpt::math::CPolygon::GetVertex_x </td>
          <td>(</td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>i</em></td><td>)</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Methods for accessing the vertexs: </p>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="classmrpt_1_1math_1_1_c_polygon.html#afe11c011c1a07e4c176ef1870389fe42" title="Returns the vertices count in the polygon:">verticesCount</a> </dd></dl>

<p>Definition at line <a class="el" href="_c_polygon_8h_source.html#l00068">68</a> of file <a class="el" href="_c_polygon_8h_source.html">CPolygon.h</a>.</p>

<p>References <a class="el" href="mrpt__macros_8h_source.html#l00282">ASSERT_</a>, and <a class="el" href="bits_8h_source.html#l00065">mrpt::math::size()</a>.</p>

</div>
</div>
<a class="anchor" id="a72a00e12bececf482a993ab8c3812e07"></a><!-- doxytag: member="mrpt::math::CPolygon::GetVertex_y" ref="a72a00e12bececf482a993ab8c3812e07" args="(size_t i) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">double mrpt::math::CPolygon::GetVertex_y </td>
          <td>(</td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>i</em></td><td>)</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="_c_polygon_8h_source.html#l00069">69</a> of file <a class="el" href="_c_polygon_8h_source.html">CPolygon.h</a>.</p>

<p>References <a class="el" href="mrpt__macros_8h_source.html#l00282">ASSERT_</a>, and <a class="el" href="bits_8h_source.html#l00065">mrpt::math::size()</a>.</p>

</div>
</div>
<a class="anchor" id="a9f5aaaf7ee53f5dd5b82827189602a39"></a><!-- doxytag: member="mrpt::math::CPolygon::isConvex" ref="a9f5aaaf7ee53f5dd5b82827189602a39" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool mrpt::math::TPolygon2D::isConvex </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const<code> [inherited]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Checks whether is convex. </p>

</div>
</div>
<a class="anchor" id="a8e92c51def9ce98ef9f4af820b711ed0"></a><!-- doxytag: member="mrpt::math::CPolygon::PointIntoPolygon" ref="a8e92c51def9ce98ef9f4af820b711ed0" args="(double x, double y) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool mrpt::math::CPolygon::PointIntoPolygon </td>
          <td>(</td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>x</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>y</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Check if a point is inside the polygon: </p>

<p>Definition at line <a class="el" href="_c_polygon_8h_source.html#l00089">89</a> of file <a class="el" href="_c_polygon_8h_source.html">CPolygon.h</a>.</p>

<p>References <a class="el" href="classmrpt_1_1math_1_1_t_polygon2_d.html#ada1b31f2364540c43bc6dbb5dfeea99a">mrpt::math::TPolygon2D::contains()</a>.</p>

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

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

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

</div>
</div>
<a class="anchor" id="aa3d69ea6027ed29ac349c9d26d3c853d"></a><!-- doxytag: member="mrpt::math::CPolygon::removeRedundantVertices" ref="aa3d69ea6027ed29ac349c9d26d3c853d" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void mrpt::math::TPolygon2D::removeRedundantVertices </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td><code> [inherited]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Erase every redundant vertex from the polygon, saving space. </p>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="classmrpt_1_1math_1_1_t_polygon2_d.html#ac55b772e1e7d555fff667db78d56a379" title="Erase repeated vertices.">removeRepeatedVertices</a> </dd></dl>

</div>
</div>
<a class="anchor" id="ac55b772e1e7d555fff667db78d56a379"></a><!-- doxytag: member="mrpt::math::CPolygon::removeRepeatedVertices" ref="ac55b772e1e7d555fff667db78d56a379" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void mrpt::math::TPolygon2D::removeRepeatedVertices </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td><code> [inherited]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Erase repeated vertices. </p>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="classmrpt_1_1math_1_1_t_polygon2_d.html#aa3d69ea6027ed29ac349c9d26d3c853d" title="Erase every redundant vertex from the polygon, saving space.">removeRedundantVertices</a> </dd></dl>

</div>
</div>
<a class="anchor" id="a728aff8e6fe846609a80d1b3b9cc184d"></a><!-- doxytag: member="mrpt::math::CPolygon::setAllVertices" ref="a728aff8e6fe846609a80d1b3b9cc184d" args="(const std::vector&lt; double &gt; &amp;x, const std::vector&lt; double &gt; &amp;y)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void mrpt::math::CPolygon::setAllVertices </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classstd_1_1vector.html">std::vector</a>&lt; double &gt; &amp;&#160;</td>
          <td class="paramname"><em>x</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classstd_1_1vector.html">std::vector</a>&lt; double &gt; &amp;&#160;</td>
          <td class="paramname"><em>y</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Set all vertices at once. </p>

</div>
</div>
<a class="anchor" id="a45a9ac8e42a2f7e553947f6bbbe84a08"></a><!-- doxytag: member="mrpt::math::CPolygon::setAllVertices" ref="a45a9ac8e42a2f7e553947f6bbbe84a08" args="(size_t nVertices, const double *xs, const double *ys)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void mrpt::math::CPolygon::setAllVertices </td>
          <td>(</td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>nVertices</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const double *&#160;</td>
          <td class="paramname"><em>xs</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const double *&#160;</td>
          <td class="paramname"><em>ys</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Set all vertices at once. </p>
<p>Please use the <a class="el" href="classstd_1_1vector.html" title="STL class.">std::vector</a> version whenever possible unless efficiency is really an issue </p>

</div>
</div>
<a class="anchor" id="a0166f34b8d37ca22cfe566b7c7d54213"></a><!-- doxytag: member="mrpt::math::CPolygon::setAllVertices" ref="a0166f34b8d37ca22cfe566b7c7d54213" args="(size_t nVertices, const float *xs, const float *ys)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void mrpt::math::CPolygon::setAllVertices </td>
          <td>(</td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>nVertices</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const float *&#160;</td>
          <td class="paramname"><em>xs</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const float *&#160;</td>
          <td class="paramname"><em>ys</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Set all vertices at once. </p>
<p>Please use the <a class="el" href="classstd_1_1vector.html" title="STL class.">std::vector</a> version whenever possible unless efficiency is really an issue </p>

</div>
</div>
<a class="anchor" id="afe11c011c1a07e4c176ef1870389fe42"></a><!-- doxytag: member="mrpt::math::CPolygon::verticesCount" ref="afe11c011c1a07e4c176ef1870389fe42" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">size_t mrpt::math::CPolygon::verticesCount </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Returns the vertices count in the polygon: </p>

<p>Definition at line <a class="el" href="_c_polygon_8h_source.html#l00072">72</a> of file <a class="el" href="_c_polygon_8h_source.html">CPolygon.h</a>.</p>

<p>References <a class="el" href="bits_8h_source.html#l00065">mrpt::math::size()</a>.</p>

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

</div>
</div>
</div>
<br><hr><br> <table border="0" width="100%"> <tr> <td> Page generated by <a href="http://www.doxygen.org" target="_blank">Doxygen 1.7.5</a> for MRPT 0.9.5 SVN: at Sun Sep 25 17:20:18 UTC 2011</td><td></td> <td width="100"> </td> <td width="150">  </td></tr> </table>  </body></html>