Sophie

Sophie

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

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::opengl::CPolyhedron 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_1opengl.html">opengl</a>      </li>
      <li class="navelem"><a class="el" href="classmrpt_1_1opengl_1_1_c_polyhedron.html">CPolyhedron</a>      </li>
    </ul>
  </div>
</div>
<div class="header">
  <div class="summary">
<a href="#nested-classes">Classes</a> &#124;
<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> &#124;
<a href="#pro-static-methods">Static Protected Member Functions</a> &#124;
<a href="#pro-attribs">Protected Attributes</a> &#124;
<a href="#pri-methods">Private Member Functions</a> &#124;
<a href="#pri-static-methods">Static Private Member Functions</a> &#124;
<a href="#friends">Friends</a>  </div>
  <div class="headertitle">
<div class="title">mrpt::opengl::CPolyhedron Class Reference<div class="ingroups"><a class="el" href="group__mrpt__opengl__grp.html">[mrpt-opengl]</a></div></div>  </div>
</div>
<div class="contents">
<!-- doxytag: class="mrpt::opengl::CPolyhedron" --><!-- doxytag: inherits="mrpt::opengl::CRenderizableDisplayList" --><hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
<div class="textblock"><p>This class represents arbitrary polyhedra. </p>
<p>The class includes a set of static methods to create common polyhedrons. The class includes many methods to create standard polyhedra, not intended to be fast but to be simple. For example, the dodecahedron is not created efficiently: first, an icosahedron is created, and a duality operator is applied to it, which yields the dodecahedron. This way, code is much smaller, although much slower. This is not a big problem, since polyhedron creation does not usually take a significant amount of time (they are created once and rendered many times). Polyhedra information and models have been gotten from the Wikipedia, <a href="http://wikipedia.org">http://wikipedia.org</a> </p>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="classmrpt_1_1opengl_1_1_c_open_g_l_scene.html" title="This class allows the user to create, load, save, and render 3D scenes using OpenGL primitives...">opengl::COpenGLScene</a></dd></dl>
<div align="center"> <table  border="0" cellspan="4" cellspacing="4" style="border-width: 1px; border-style: solid;">
<tr>
<td><a class="el" href="classmrpt_1_1opengl_1_1_c_polyhedron.html" title="This class represents arbitrary polyhedra.">mrpt::opengl::CPolyhedron</a>  </td><td><div class="image">
<img src="preview_CPolyhedron.png" alt="preview_CPolyhedron.png"/>
</div>
 </td></tr>
</table>
</div> </div>
<p><code>#include &lt;<a class="el" href="_c_polyhedron_8h_source.html">mrpt/opengl/CPolyhedron.h</a>&gt;</code></p>
<div class="dynheader">
Inheritance diagram for mrpt::opengl::CPolyhedron:</div>
<div class="dyncontent">
<div class="center"><img src="classmrpt_1_1opengl_1_1_c_polyhedron__inherit__graph.png" border="0" usemap="#mrpt_1_1opengl_1_1_c_polyhedron_inherit__map" alt="Inheritance graph"/></div>
<map name="mrpt_1_1opengl_1_1_c_polyhedron_inherit__map" id="mrpt_1_1opengl_1_1_c_polyhedron_inherit__map">
<area shape="rect" id="node2" href="classmrpt_1_1opengl_1_1_c_renderizable_display_list.html" title="A renderizable object suitable for rendering with OpenGL&#39;s display lists." alt="" coords="5,229,259,256"/><area shape="rect" id="node4" href="classmrpt_1_1opengl_1_1_c_renderizable.html" title="The base class of 3D objects that can be directly rendered through OpenGL." alt="" coords="38,155,225,181"/><area shape="rect" id="node6" 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="49,80,213,107"/><area shape="rect" id="node8" 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="64,5,199,32"/></map>
<center><span class="legend">[<a href="graph_legend.html">legend</a>]</span></center></div>

<p><a href="classmrpt_1_1opengl_1_1_c_polyhedron-members.html">List of all members.</a></p>
<table class="memberdecls">
<tr><td colspan="2"><h2><a name="nested-classes"></a>
Classes</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structmrpt_1_1opengl_1_1_c_polyhedron_1_1_t_polyhedron_edge.html">TPolyhedronEdge</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Struct used to store a polyhedron edge.  <a href="structmrpt_1_1opengl_1_1_c_polyhedron_1_1_t_polyhedron_edge.html#details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structmrpt_1_1opengl_1_1_c_polyhedron_1_1_t_polyhedron_face.html">TPolyhedronFace</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Struct used to store a polyhedron face.  <a href="structmrpt_1_1opengl_1_1_c_polyhedron_1_1_t_polyhedron_face.html#details">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">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1opengl_1_1_c_polyhedron.html#a605969f1f1c4edb83f68eb4779999911">render_dl</a> () const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Render.  <a href="#a605969f1f1c4edb83f68eb4779999911"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1opengl_1_1_c_polyhedron.html#a9bec66dd2f720825e9ae5c153ca2a414">traceRay</a> (const <a class="el" href="classmrpt_1_1poses_1_1_c_pose3_d.html">mrpt::poses::CPose3D</a> &amp;o, double &amp;dist) const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Ray trace.  <a href="#a9bec66dd2f720825e9ae5c153ca2a414"></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_1opengl_1_1_c_polyhedron.html#aaf225d9ad42f03a066191e87d8901cc8">getVertices</a> (<a class="el" href="classstd_1_1vector.html">vector</a>&lt; <a class="el" href="structmrpt_1_1math_1_1_t_point3_d.html">TPoint3D</a> &gt; &amp;vertices) const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets a list with the polyhedron's vertices.  <a href="#aaf225d9ad42f03a066191e87d8901cc8"></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_1opengl_1_1_c_polyhedron.html#aa24635a5dae23cd253a1a23d3db3ece8">getEdges</a> (<a class="el" href="classstd_1_1vector.html">vector</a>&lt; <a class="el" href="structmrpt_1_1opengl_1_1_c_polyhedron_1_1_t_polyhedron_edge.html">TPolyhedronEdge</a> &gt; &amp;edges) const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets a list with the polyhedron's edges.  <a href="#aa24635a5dae23cd253a1a23d3db3ece8"></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_1opengl_1_1_c_polyhedron.html#a4ae4991d357bd7dd5684a3fc70bef099">getFaces</a> (<a class="el" href="classstd_1_1vector.html">vector</a>&lt; <a class="el" href="structmrpt_1_1opengl_1_1_c_polyhedron_1_1_t_polyhedron_face.html">TPolyhedronFace</a> &gt; &amp;faces) const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets a list with the polyhedron's faces.  <a href="#a4ae4991d357bd7dd5684a3fc70bef099"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1opengl_1_1_c_polyhedron.html#a2a8ff0cd149d5ca892cb7ca4f0c5300e">getNumberOfVertices</a> () const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the amount of vertices.  <a href="#a2a8ff0cd149d5ca892cb7ca4f0c5300e"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1opengl_1_1_c_polyhedron.html#a999e5681b055539a1968b4290386ebef">getNumberOfEdges</a> () const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the amount of edges.  <a href="#a999e5681b055539a1968b4290386ebef"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1opengl_1_1_c_polyhedron.html#a7d1c9f80de29569046632518198e4101">getNumberOfFaces</a> () const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the amount of faces.  <a href="#a7d1c9f80de29569046632518198e4101"></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_1opengl_1_1_c_polyhedron.html#a328d8c3dfc64586db0b3e34058dd5666">getEdgesLength</a> (<a class="el" href="classstd_1_1vector.html">vector</a>&lt; double &gt; &amp;lengths) const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets a vector with each edge's length.  <a href="#a328d8c3dfc64586db0b3e34058dd5666"></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_1opengl_1_1_c_polyhedron.html#add9ff71fee68b5ac77a607a3a4c7a2db">getFacesArea</a> (<a class="el" href="classstd_1_1vector.html">vector</a>&lt; double &gt; &amp;areas) const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets a vector with each face's area.  <a href="#add9ff71fee68b5ac77a607a3a4c7a2db"></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_1opengl_1_1_c_polyhedron.html#a663b1d678857b8e5d94fa208dea01f22">getVolume</a> () const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the polyhedron volume.  <a href="#a663b1d678857b8e5d94fa208dea01f22"></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_1opengl_1_1_c_polyhedron.html#a8603b65246b3cba5d1bdfe769c1d55c7">isWireframe</a> () const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns whether the polyhedron will be rendered as a wireframe object.  <a href="#a8603b65246b3cba5d1bdfe769c1d55c7"></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_1opengl_1_1_c_polyhedron.html#adb5ef20a953c5437470617eafe3aa728">setWireframe</a> (bool enabled=true)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets whether the polyhedron will be rendered as a wireframe object.  <a href="#adb5ef20a953c5437470617eafe3aa728"></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_1opengl_1_1_c_polyhedron.html#ae31b8187c13044d2a44141b039b9e3b2">getLineWidth</a> () const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the wireframe lines width.  <a href="#ae31b8187c13044d2a44141b039b9e3b2"></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_1opengl_1_1_c_polyhedron.html#afb6c56aa1d0d2cb09568ea4557703f15">setLineWidth</a> (double lineWidth)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the width used to render lines, when wireframe rendering is activated.  <a href="#afb6c56aa1d0d2cb09568ea4557703f15"></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_1opengl_1_1_c_polyhedron.html#a3013f49ee9bf1fb56c12788592e606e6">getSetOfPolygons</a> (<a class="el" href="classstd_1_1vector.html">std::vector</a>&lt; <a class="el" href="classmrpt_1_1math_1_1_t_polygon3_d.html">math::TPolygon3D</a> &gt; &amp;vec) const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the polyhedron as a set of polygons.  <a href="#a3013f49ee9bf1fb56c12788592e606e6"></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_1opengl_1_1_c_polyhedron.html#a2afc994c187e3d0b8616a5013a5da68b">getSetOfPolygonsAbsolute</a> (<a class="el" href="classstd_1_1vector.html">std::vector</a>&lt; <a class="el" href="classmrpt_1_1math_1_1_t_polygon3_d.html">math::TPolygon3D</a> &gt; &amp;vec) const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the polyhedron as a set of polygons, with the pose transformation already applied.  <a href="#a2afc994c187e3d0b8616a5013a5da68b"></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_1opengl_1_1_c_polyhedron.html#adef57a458f2ff948bd07cb569171d57d">isClosed</a> () const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns true if the polygon is a completely closed object.  <a href="#adef57a458f2ff948bd07cb569171d57d"></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_1opengl_1_1_c_polyhedron.html#acfc0bbfa1db859dc4360b2773e1e5964">makeConvexPolygons</a> ()</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Recomputes polygons, if necessary, so that each one is convex.  <a href="#acfc0bbfa1db859dc4360b2773e1e5964"></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_1opengl_1_1_c_polyhedron.html#ae38c108f998238abfd18ad91ab53f231">getCenter</a> (<a class="el" href="structmrpt_1_1math_1_1_t_point3_d.html">TPoint3D</a> &amp;center) const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the center of the polyhedron.  <a href="#ae38c108f998238abfd18ad91ab53f231"></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_1opengl_1_1_c_polyhedron.html#ab267bbabdce4531792c18223329f955c">updatePolygons</a> () const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Updates the mutable list of polygons used in rendering and ray tracing.  <a href="#ab267bbabdce4531792c18223329f955c"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmrpt_1_1opengl_1_1_c_renderizable_display_list.html">CRenderizableDisplayList</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1opengl_1_1_c_renderizable_display_list.html#ac164cb1d2cf682778ce52967cbd56469">clone</a> () const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for the stlplus smart pointer class.  <a href="#ac164cb1d2cf682778ce52967cbd56469"></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_1opengl_1_1_c_renderizable_display_list.html#a1249d9a7fb8c2e56b81c2331abc3b182">render</a> () const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Render the object, regenerating the display list if needed, otherwise just calling it.  <a href="#a1249d9a7fb8c2e56b81c2331abc3b182"></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 colspan="2"><div class="groupHeader">Polyhedron special operations.</div></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="structmrpt_1_1opengl_1_1_c_polyhedron_ptr.html">CPolyhedronPtr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1opengl_1_1_c_polyhedron.html#a64b6187c6dd8cf86ba243c6bbd54b871">getDual</a> () const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Given a polyhedron, creates its dual.  <a href="#a64b6187c6dd8cf86ba243c6bbd54b871"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="structmrpt_1_1opengl_1_1_c_polyhedron_ptr.html">CPolyhedronPtr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1opengl_1_1_c_polyhedron.html#a16a60771db55ba737bded03b74f2c859">truncate</a> (double factor) const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Truncates a polyhedron to a given factor.  <a href="#a16a60771db55ba737bded03b74f2c859"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="structmrpt_1_1opengl_1_1_c_polyhedron_ptr.html">CPolyhedronPtr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1opengl_1_1_c_polyhedron.html#ab1bc7afd0fa41a820938d9dbb86f36a5">cantellate</a> (double factor) const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Cantellates a polyhedron to a given factor.  <a href="#ab1bc7afd0fa41a820938d9dbb86f36a5"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="structmrpt_1_1opengl_1_1_c_polyhedron_ptr.html">CPolyhedronPtr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1opengl_1_1_c_polyhedron.html#ad91235c1f40af5974e588eeb1164dc91">augment</a> (double height) const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Augments a polyhedron to a given height.  <a href="#ad91235c1f40af5974e588eeb1164dc91"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="structmrpt_1_1opengl_1_1_c_polyhedron_ptr.html">CPolyhedronPtr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1opengl_1_1_c_polyhedron.html#a7a998c797c7a09e1df414ece00beefba">augment</a> (double height, size_t numVertices) const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Augments a polyhedron to a given height.  <a href="#a7a998c797c7a09e1df414ece00beefba"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="structmrpt_1_1opengl_1_1_c_polyhedron_ptr.html">CPolyhedronPtr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1opengl_1_1_c_polyhedron.html#ad2944cf440b56931bcfc76a9886ac64f">augment</a> (bool direction=false) const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Augments a polyhedron, so that the resulting triangles are equilateral.  <a href="#ad2944cf440b56931bcfc76a9886ac64f"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="structmrpt_1_1opengl_1_1_c_polyhedron_ptr.html">CPolyhedronPtr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1opengl_1_1_c_polyhedron.html#aa8c7557dec92d10f6600c16e1eb64a67">augment</a> (size_t numVertices, bool direction=false) const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Augments a polyhedron, so that the resulting triangles are equilateral; affects only faces with certain number of faces.  <a href="#aa8c7557dec92d10f6600c16e1eb64a67"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="structmrpt_1_1opengl_1_1_c_polyhedron_ptr.html">CPolyhedronPtr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1opengl_1_1_c_polyhedron.html#ad342aeae9480ca46e55fffe72abcfee9">rotate</a> (double angle) const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Rotates a polyhedron around the Z axis a given amount of radians.  <a href="#ad342aeae9480ca46e55fffe72abcfee9"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="structmrpt_1_1opengl_1_1_c_polyhedron_ptr.html">CPolyhedronPtr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1opengl_1_1_c_polyhedron.html#a75f1459bf23eeddb1881d12333329615">scale</a> (double factor) const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Scales a polyhedron to a given factor.  <a href="#a75f1459bf23eeddb1881d12333329615"></a><br/></td></tr>
<tr><td colspan="2"><div class="groupHeader">Changes the appearance of the object to render (methods from CRenderizable that need to be redefined)</div></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classmrpt_1_1opengl_1_1_c_renderizable.html">CRenderizable</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1opengl_1_1_c_renderizable_display_list.html#a304be3e5e73240ab0ee8cc77bb877eaf">setColorR_u8</a> (const uint8_t r)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Color components in the range [0,255].  <a href="#a304be3e5e73240ab0ee8cc77bb877eaf"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classmrpt_1_1opengl_1_1_c_renderizable.html">CRenderizable</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1opengl_1_1_c_renderizable_display_list.html#ac92b3c352df68d167130b09da64141dd">setColorG_u8</a> (const uint8_t g)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Color components in the range [0,255].  <a href="#ac92b3c352df68d167130b09da64141dd"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classmrpt_1_1opengl_1_1_c_renderizable.html">CRenderizable</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1opengl_1_1_c_renderizable_display_list.html#a6b5c21bb51fd83f87b9c0b26aeccd396">setColorB_u8</a> (const uint8_t b)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Color components in the range [0,255].  <a href="#a6b5c21bb51fd83f87b9c0b26aeccd396"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classmrpt_1_1opengl_1_1_c_renderizable.html">CRenderizable</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1opengl_1_1_c_renderizable_display_list.html#ae0fe1daca727da3508f674992cc33827">setColorA_u8</a> (const uint8_t a)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Color components in the range [0,255].  <a href="#ae0fe1daca727da3508f674992cc33827"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classmrpt_1_1opengl_1_1_c_renderizable.html">CRenderizable</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1opengl_1_1_c_renderizable_display_list.html#a3f3f905f1ac3cc0e4df7fe72700fc050">setColor_u8</a> (const <a class="el" href="structmrpt_1_1utils_1_1_t_color.html">mrpt::utils::TColor</a> &amp;c)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Changes the default object color.  <a href="#a3f3f905f1ac3cc0e4df7fe72700fc050"></a><br/></td></tr>
<tr><td colspan="2"><div class="groupHeader">Changes the appearance of the object to render</div></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmrpt_1_1opengl_1_1_c_renderizable.html">CRenderizable</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1opengl_1_1_c_renderizable.html#a9a91576a6cabb53b87ee5bbf352ef388">setColor_u8</a> (uint8_t R, uint8_t G, uint8_t B, uint8_t A=255)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the color components of this object (R,G,B,Alpha, in the range 0-1)  <a href="#a9a91576a6cabb53b87ee5bbf352ef388"></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_1opengl_1_1_c_renderizable.html#aef8ee6b259e755d686f38178982bf138">setName</a> (const <a class="el" href="classstd_1_1string.html">std::string</a> &amp;n)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Changes the name of the object.  <a href="#aef8ee6b259e755d686f38178982bf138"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classstd_1_1string.html">std::string</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1opengl_1_1_c_renderizable.html#a6a1f9dd6551d1437ba63c712dce80110">getName</a> () const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the name of the object.  <a href="#a6a1f9dd6551d1437ba63c712dce80110"></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_1opengl_1_1_c_renderizable.html#a5b648ce8cde3ac142d8d062edbc81fee">isVisible</a> () const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Is the object visible?  <a href="#a5b648ce8cde3ac142d8d062edbc81fee"></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_1opengl_1_1_c_renderizable.html#a26a0f88efc4fa587ce6bae52577a7354">setVisibility</a> (bool visible=true)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Set object visibility (default=true)  <a href="#a26a0f88efc4fa587ce6bae52577a7354"></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_1opengl_1_1_c_renderizable.html#ac0579ae5563d5f2c13e2e03c79f71257">enableShowName</a> (bool showName=true)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Enables or disables showing the name of the object as a label when rendering.  <a href="#ac0579ae5563d5f2c13e2e03c79f71257"></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_1opengl_1_1_c_renderizable.html#a66baeb37cd774b76207e4d8e96871f61">isShowNameEnabled</a> () const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmrpt_1_1opengl_1_1_c_renderizable.html">CRenderizable</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1opengl_1_1_c_renderizable.html#a80b9c6dd3e4ff168e76400200447a0e9">setPose</a> (const <a class="el" href="classmrpt_1_1poses_1_1_c_pose3_d.html">mrpt::poses::CPose3D</a> &amp;o)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the 3D pose from a <a class="el" href="classmrpt_1_1poses_1_1_c_pose3_d.html" title="A class used to store a 3D pose (a 3D translation + a rotation in 3D).">mrpt::poses::CPose3D</a> object (return a ref to this)  <a href="#a80b9c6dd3e4ff168e76400200447a0e9"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmrpt_1_1opengl_1_1_c_renderizable.html">CRenderizable</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1opengl_1_1_c_renderizable.html#a2d84d7f238a41f4291b7fa18d01557e2">setPose</a> (const <a class="el" href="structmrpt_1_1math_1_1_t_pose3_d.html">mrpt::math::TPose3D</a> &amp;o)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the 3D pose from a <a class="el" href="structmrpt_1_1math_1_1_t_pose3_d.html" title="Lightweight 3D pose (three spatial coordinates, plus three angular coordinates).">mrpt::math::TPose3D</a> object (return a ref to this)  <a href="#a2d84d7f238a41f4291b7fa18d01557e2"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmrpt_1_1opengl_1_1_c_renderizable.html">CRenderizable</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1opengl_1_1_c_renderizable.html#a6d9167d3f96c0d84f6d98c9998589817">setPose</a> (const <a class="el" href="classmrpt_1_1poses_1_1_c_point3_d.html">mrpt::poses::CPoint3D</a> &amp;o)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the 3D pose from a <a class="el" href="classmrpt_1_1poses_1_1_c_pose3_d.html" title="A class used to store a 3D pose (a 3D translation + a rotation in 3D).">mrpt::poses::CPose3D</a> object (return a ref to this)  <a href="#a6d9167d3f96c0d84f6d98c9998589817"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmrpt_1_1opengl_1_1_c_renderizable.html">CRenderizable</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1opengl_1_1_c_renderizable.html#adf6f5087340db018a141452819987792">setPose</a> (const <a class="el" href="classmrpt_1_1poses_1_1_c_point2_d.html">mrpt::poses::CPoint2D</a> &amp;o)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the 3D pose from a <a class="el" href="classmrpt_1_1poses_1_1_c_pose3_d.html" title="A class used to store a 3D pose (a 3D translation + a rotation in 3D).">mrpt::poses::CPose3D</a> object (return a ref to this)  <a href="#adf6f5087340db018a141452819987792"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="structmrpt_1_1math_1_1_t_pose3_d.html">mrpt::math::TPose3D</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1opengl_1_1_c_renderizable.html#a04c608f5f32948e2d3fa578f8fc9866a">getPose</a> () const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the 3D pose of the object as TPose3D.  <a href="#a04c608f5f32948e2d3fa578f8fc9866a"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classmrpt_1_1poses_1_1_c_pose3_d.html">mrpt::poses::CPose3D</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1opengl_1_1_c_renderizable.html#ae508ae04f460443c484935fcdfc8ee3a">getPoseRef</a> () const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns a const ref to the 3D pose of the object as CPose3D (which explicitly contains the 3x3 rotation matrix)  <a href="#ae508ae04f460443c484935fcdfc8ee3a"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmrpt_1_1opengl_1_1_c_renderizable.html">CRenderizable</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1opengl_1_1_c_renderizable.html#a9d715bc6ec58cdd70a29aef45b2e1338">setLocation</a> (double x, double y, double z)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Changes the location of the object, keeping untouched the orientation.  <a href="#a9d715bc6ec58cdd70a29aef45b2e1338"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmrpt_1_1opengl_1_1_c_renderizable.html">CRenderizable</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1opengl_1_1_c_renderizable.html#a44cf2579e949206f535b25228526a8a6">setLocation</a> (const <a class="el" href="structmrpt_1_1math_1_1_t_point3_d.html">mrpt::math::TPoint3D</a> &amp;p)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Changes the location of the object, keeping untouched the orientation.  <a href="#a44cf2579e949206f535b25228526a8a6"></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_1opengl_1_1_c_renderizable.html#a0755e54ced9652afa3d8d608c5ab07e5">getPoseX</a> () const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Translation relative to parent coordinate origin.  <a href="#a0755e54ced9652afa3d8d608c5ab07e5"></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_1opengl_1_1_c_renderizable.html#a51605f842fe3c65ef29c8b6f9c70bbea">getPoseY</a> () const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Translation relative to parent coordinate origin.  <a href="#a51605f842fe3c65ef29c8b6f9c70bbea"></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_1opengl_1_1_c_renderizable.html#a1c8ec31d9b8d2614ae993d361c1075be">getPoseZ</a> () const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Translation relative to parent coordinate origin.  <a href="#a1c8ec31d9b8d2614ae993d361c1075be"></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_1opengl_1_1_c_renderizable.html#a259175514327566d480b5d476538332f">getPoseYaw</a> () const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Rotation relative to parent coordinate origin, in **DEGREES**.  <a href="#a259175514327566d480b5d476538332f"></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_1opengl_1_1_c_renderizable.html#a00a7da15bc55e5bda90e56b268547b17">getPosePitch</a> () const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Rotation relative to parent coordinate origin, in **DEGREES**.  <a href="#a00a7da15bc55e5bda90e56b268547b17"></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_1opengl_1_1_c_renderizable.html#a5e33a3f3f26c51891d4c5c55030a695d">getPoseRoll</a> () const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Rotation relative to parent coordinate origin, in **DEGREES**.  <a href="#a5e33a3f3f26c51891d4c5c55030a695d"></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_1opengl_1_1_c_renderizable.html#a786c10928768ac5ba28db725a3d3139e">getPoseYawRad</a> () const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Rotation relative to parent coordinate origin, in radians.  <a href="#a786c10928768ac5ba28db725a3d3139e"></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_1opengl_1_1_c_renderizable.html#a0f53bc42eee756e472ee722ca8ef4ccd">getPosePitchRad</a> () const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Rotation relative to parent coordinate origin, in radians.  <a href="#a0f53bc42eee756e472ee722ca8ef4ccd"></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_1opengl_1_1_c_renderizable.html#aaea6e3654c0304b32cc8892aecf6cae2">getPoseRollRad</a> () const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Rotation relative to parent coordinate origin, in radians.  <a href="#aaea6e3654c0304b32cc8892aecf6cae2"></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_1opengl_1_1_c_renderizable.html#a6b0f2c12af070fe2277518295c70d1d8">getColorR</a> () const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Color components in the range [0,1].  <a href="#a6b0f2c12af070fe2277518295c70d1d8"></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_1opengl_1_1_c_renderizable.html#a110b12b0f417543e5ca4c1058f70ecc6">getColorG</a> () const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Color components in the range [0,1].  <a href="#a110b12b0f417543e5ca4c1058f70ecc6"></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_1opengl_1_1_c_renderizable.html#ab89afd8f753f9ec8b514c213cae93a56">getColorB</a> () const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Color components in the range [0,1].  <a href="#ab89afd8f753f9ec8b514c213cae93a56"></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_1opengl_1_1_c_renderizable.html#a9abefacfc7c1d50d95d923f02b3eda5d">getColorA</a> () const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Color components in the range [0,1].  <a href="#a9abefacfc7c1d50d95d923f02b3eda5d"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">uint8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1opengl_1_1_c_renderizable.html#a805cf035db65a17c3e0f07e50d37e570">getColorR_u8</a> () const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Color components in the range [0,255].  <a href="#a805cf035db65a17c3e0f07e50d37e570"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">uint8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1opengl_1_1_c_renderizable.html#a1111b134b4b50b7f2c244880256c9455">getColorG_u8</a> () const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Color components in the range [0,255].  <a href="#a1111b134b4b50b7f2c244880256c9455"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">uint8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1opengl_1_1_c_renderizable.html#af536b5eb76557c43fdda68ea428d79fe">getColorB_u8</a> () const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Color components in the range [0,255].  <a href="#af536b5eb76557c43fdda68ea428d79fe"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">uint8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1opengl_1_1_c_renderizable.html#a241fe097fab37493815a9f96e7d36508">getColorA_u8</a> () const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Color components in the range [0,255].  <a href="#a241fe097fab37493815a9f96e7d36508"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmrpt_1_1opengl_1_1_c_renderizable.html">CRenderizable</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1opengl_1_1_c_renderizable.html#ac2d4d9059afa28d17072bd5d76e60cb2">setColorR</a> (const double r)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Color components in the range [0,1].  <a href="#ac2d4d9059afa28d17072bd5d76e60cb2"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmrpt_1_1opengl_1_1_c_renderizable.html">CRenderizable</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1opengl_1_1_c_renderizable.html#a3df6303cd71abdefb2889ec9a310fbea">setColorG</a> (const double g)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Color components in the range [0,1].  <a href="#a3df6303cd71abdefb2889ec9a310fbea"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmrpt_1_1opengl_1_1_c_renderizable.html">CRenderizable</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1opengl_1_1_c_renderizable.html#abcd5c2ca91d0a18f7188a90f60309b5b">setColorB</a> (const double b)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Color components in the range [0,1].  <a href="#abcd5c2ca91d0a18f7188a90f60309b5b"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmrpt_1_1opengl_1_1_c_renderizable.html">CRenderizable</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1opengl_1_1_c_renderizable.html#ac7db4eaa48259e7d859291fabddf6e22">setColorA</a> (const double a)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Color components in the range [0,1].  <a href="#ac7db4eaa48259e7d859291fabddf6e22"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmrpt_1_1opengl_1_1_c_renderizable.html">CRenderizable</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1opengl_1_1_c_renderizable.html#afd1dd27b9f326d4f73135c461eafa717">setScale</a> (float s)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Scale to apply to the object, in all three axes (default=1)  <a href="#afd1dd27b9f326d4f73135c461eafa717"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmrpt_1_1opengl_1_1_c_renderizable.html">CRenderizable</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1opengl_1_1_c_renderizable.html#adb65e73fe36db2b9d5161a2262422735">setScale</a> (float sx, float sy, float sz)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Scale to apply to the object in each axis (default=1)  <a href="#adb65e73fe36db2b9d5161a2262422735"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1opengl_1_1_c_renderizable.html#a53b902abadee37cbd869f052e7f68af8">getScaleX</a> () const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the current scaling factor in one axis.  <a href="#a53b902abadee37cbd869f052e7f68af8"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1opengl_1_1_c_renderizable.html#a381a0e7c4c8e1bd728c0e22d2aa5d34f">getScaleY</a> () const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the current scaling factor in one axis.  <a href="#a381a0e7c4c8e1bd728c0e22d2aa5d34f"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1opengl_1_1_c_renderizable.html#ae0c3a93eaa4d2d6e2136beb149013db6">getScaleZ</a> () const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the current scaling factor in one axis.  <a href="#ae0c3a93eaa4d2d6e2136beb149013db6"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="structmrpt_1_1utils_1_1_t_colorf.html">mrpt::utils::TColorf</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1opengl_1_1_c_renderizable.html#af49a6cb168418408372434e269d89b52">getColor</a> () const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the object color property as a TColorf.  <a href="#af49a6cb168418408372434e269d89b52"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmrpt_1_1opengl_1_1_c_renderizable.html">CRenderizable</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1opengl_1_1_c_renderizable.html#a4586196e85a91b39b2ef4ba07105839f">setColor</a> (const <a class="el" href="structmrpt_1_1utils_1_1_t_colorf.html">mrpt::utils::TColorf</a> &amp;c)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmrpt_1_1opengl_1_1_c_renderizable.html">CRenderizable</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1opengl_1_1_c_renderizable.html#a227cd19e15ce20a48e503efd280a2f78">setColor</a> (double R, double G, double B, double A=1)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the color components of this object (R,G,B,Alpha, in the range 0-1)  <a href="#a227cd19e15ce20a48e503efd280a2f78"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">const <a class="el" href="structmrpt_1_1utils_1_1_t_color.html">mrpt::utils::TColor</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1opengl_1_1_c_renderizable.html#ac4d2d5a7aea53506bc4748d0324abf7d">getColor_u8</a> () const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the object color property as a TColor.  <a href="#ac4d2d5a7aea53506bc4748d0324abf7d"></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 <a class="el" href="structmrpt_1_1opengl_1_1_c_polyhedron_ptr.html">CPolyhedronPtr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1opengl_1_1_c_polyhedron.html#a2a1e05c411170737b699ac055494948a">Create</a> (const <a class="el" href="classstd_1_1vector.html">vector</a>&lt; <a class="el" href="structmrpt_1_1math_1_1_t_point3_d.html">TPoint3D</a> &gt; &amp;vertices, const <a class="el" href="classstd_1_1vector.html">vector</a>&lt; <a class="el" href="classstd_1_1vector.html">vector</a>&lt; uint32_t &gt; &gt; &amp;faces)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Creation of a polyhedron from its vertices and faces.  <a href="#a2a1e05c411170737b699ac055494948a"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static <a class="el" href="structmrpt_1_1opengl_1_1_c_polyhedron_ptr.html">CPolyhedronPtr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1opengl_1_1_c_polyhedron.html#ab043adec19d45e87d1fb640496d86931">Create</a> (const <a class="el" href="classstd_1_1vector.html">vector</a>&lt; <a class="el" href="structmrpt_1_1math_1_1_t_point3_d.html">TPoint3D</a> &gt; &amp;vertices, const <a class="el" href="classstd_1_1vector.html">vector</a>&lt; <a class="el" href="structmrpt_1_1opengl_1_1_c_polyhedron_1_1_t_polyhedron_face.html">TPolyhedronFace</a> &gt; &amp;faces)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Creation of a polyhedron from its vertices and faces.  <a href="#ab043adec19d45e87d1fb640496d86931"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static <a class="el" href="structmrpt_1_1opengl_1_1_c_polyhedron_ptr.html">CPolyhedronPtr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1opengl_1_1_c_polyhedron.html#a8f610812efa85eb74c414cf71671fc74">Create</a> (const <a class="el" href="classstd_1_1vector.html">std::vector</a>&lt; <a class="el" href="classmrpt_1_1math_1_1_t_polygon3_d.html">math::TPolygon3D</a> &gt; &amp;polys)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Creation from a set of polygons.  <a href="#a8f610812efa85eb74c414cf71671fc74"></a><br/></td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;class T &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">static size_t&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classmrpt_1_1opengl_1_1_c_polyhedron.html#a65b8343edcb2ac21e062aaeb61a3fbf4">getIntersection</a> (const <a class="el" href="structmrpt_1_1opengl_1_1_c_polyhedron_ptr.html">CPolyhedronPtr</a> &amp;p1, const <a class="el" href="structmrpt_1_1opengl_1_1_c_polyhedron_ptr.html">CPolyhedronPtr</a> &amp;p2, T &amp;container)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the intersection of two polyhedra, either as a set or as a matrix of intersections.  <a href="#a65b8343edcb2ac21e062aaeb61a3fbf4"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static <a class="el" href="structmrpt_1_1opengl_1_1_c_polyhedron_ptr.html">CPolyhedronPtr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1opengl_1_1_c_polyhedron.html#a31e14103505c87b2525ec441288b8740">CreateRandomPolyhedron</a> (double radius)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Creates a random polyhedron from the static methods.  <a href="#a31e14103505c87b2525ec441288b8740"></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_1opengl_1_1_c_renderizable.html#aaee57246c99beacdf04e8d63f71ecf49">renderTextBitmap</a> (const char *str, void *fontStyle)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">This method is safe for calling from within ::render() methods.  <a href="#aaee57246c99beacdf04e8d63f71ecf49"></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_1opengl_1_1_c_renderizable.html#a5053cf08cbe1eb72668e62388f6040fb">renderTextBitmap</a> (int screen_x, int screen_y, const <a class="el" href="classstd_1_1string.html">std::string</a> &amp;str, float color_r=1, float color_g=1, float color_b=1, <a class="el" href="group__mrpt__opengl__grp.html#ga4e54252970d0b0a6dd251335064a2346">mrpt::opengl::TOpenGLFont</a> font=mrpt::opengl::MRPT_GLUT_BITMAP_TIMES_ROMAN_24)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Render a text message in the current rendering context, creating a glViewport in the way (do not call within ::render() methods)  <a href="#a5053cf08cbe1eb72668e62388f6040fb"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1opengl_1_1_c_renderizable.html#a85c31135fcbff49642e67660dcf95588">textBitmapWidth</a> (const <a class="el" href="classstd_1_1string.html">std::string</a> &amp;str, <a class="el" href="group__mrpt__opengl__grp.html#ga4e54252970d0b0a6dd251335064a2346">mrpt::opengl::TOpenGLFont</a> font=mrpt::opengl::MRPT_GLUT_BITMAP_TIMES_ROMAN_24)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the exact width in pixels for a given string, as will be rendered by <a class="el" href="classmrpt_1_1opengl_1_1_c_renderizable.html#aaee57246c99beacdf04e8d63f71ecf49" title="This method is safe for calling from within ::render() methods.">renderTextBitmap()</a>.  <a href="#a85c31135fcbff49642e67660dcf95588"></a><br/></td></tr>
<tr><td colspan="2"><div class="groupHeader">Platonic solids.</div></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static <a class="el" href="structmrpt_1_1opengl_1_1_c_polyhedron_ptr.html">CPolyhedronPtr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1opengl_1_1_c_polyhedron.html#a68bb037f21253016dda8c3107424059f">CreateTetrahedron</a> (double radius)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Creates a regular tetrahedron (see <a href="http://en.wikipedia.org/wiki/Tetrahedron">http://en.wikipedia.org/wiki/Tetrahedron</a>).  <a href="#a68bb037f21253016dda8c3107424059f"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static <a class="el" href="structmrpt_1_1opengl_1_1_c_polyhedron_ptr.html">CPolyhedronPtr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1opengl_1_1_c_polyhedron.html#a825d924818c1d20c1f96c76f1a510603">CreateHexahedron</a> (double radius)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Creates a regular cube, also called hexahedron (see <a href="http://en.wikipedia.org/wiki/Hexahedron">http://en.wikipedia.org/wiki/Hexahedron</a>).  <a href="#a825d924818c1d20c1f96c76f1a510603"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static <a class="el" href="structmrpt_1_1opengl_1_1_c_polyhedron_ptr.html">CPolyhedronPtr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1opengl_1_1_c_polyhedron.html#aafb26eb43f14cdb5652e0d6b61235369">CreateOctahedron</a> (double radius)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Creates a regular octahedron (see <a href="http://en.wikipedia.org/wiki/Octahedron">http://en.wikipedia.org/wiki/Octahedron</a>).  <a href="#aafb26eb43f14cdb5652e0d6b61235369"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static <a class="el" href="structmrpt_1_1opengl_1_1_c_polyhedron_ptr.html">CPolyhedronPtr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1opengl_1_1_c_polyhedron.html#a3a5d9f432b82a7111ef157bcaf4c6d1e">CreateDodecahedron</a> (double radius)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Creates a regular dodecahedron (see <a href="http://en.wikipedia.org/wiki/Dodecahedron">http://en.wikipedia.org/wiki/Dodecahedron</a>).  <a href="#a3a5d9f432b82a7111ef157bcaf4c6d1e"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static <a class="el" href="structmrpt_1_1opengl_1_1_c_polyhedron_ptr.html">CPolyhedronPtr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1opengl_1_1_c_polyhedron.html#ac85b11b7fc9a7ff2d204e9f95059a2f9">CreateIcosahedron</a> (double radius)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Creates a regular icosahedron (see <a href="http://en.wikipedia.org/wiki/Icosahedron">http://en.wikipedia.org/wiki/Icosahedron</a>).  <a href="#ac85b11b7fc9a7ff2d204e9f95059a2f9"></a><br/></td></tr>
<tr><td colspan="2"><div class="groupHeader">Archimedean solids.</div></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static <a class="el" href="structmrpt_1_1opengl_1_1_c_polyhedron_ptr.html">CPolyhedronPtr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1opengl_1_1_c_polyhedron.html#ab95a801e6908db87573b0dd2bd5efcc6">CreateTruncatedTetrahedron</a> (double radius)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Creates a truncated tetrahedron, consisting of four triangular faces and for hexagonal ones (see <a href="http://en.wikipedia.org/wiki/Truncated_tetrahedron">http://en.wikipedia.org/wiki/Truncated_tetrahedron</a>).  <a href="#ab95a801e6908db87573b0dd2bd5efcc6"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static <a class="el" href="structmrpt_1_1opengl_1_1_c_polyhedron_ptr.html">CPolyhedronPtr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1opengl_1_1_c_polyhedron.html#a278592678d7db21878da2dd82b800e6f">CreateCuboctahedron</a> (double radius)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Creates a cuboctahedron, consisting of six square faces and eight triangular ones (see <a href="http://en.wikipedia.org/wiki/Cuboctahedron">http://en.wikipedia.org/wiki/Cuboctahedron</a>).  <a href="#a278592678d7db21878da2dd82b800e6f"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static <a class="el" href="structmrpt_1_1opengl_1_1_c_polyhedron_ptr.html">CPolyhedronPtr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1opengl_1_1_c_polyhedron.html#a0f60dde324e4df0ed62f915f34df91ef">CreateTruncatedHexahedron</a> (double radius)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Creates a truncated hexahedron, with six octogonal faces and eight triangular ones (see <a href="http://en.wikipedia.org/wiki/Truncated_hexahedron">http://en.wikipedia.org/wiki/Truncated_hexahedron</a>).  <a href="#a0f60dde324e4df0ed62f915f34df91ef"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static <a class="el" href="structmrpt_1_1opengl_1_1_c_polyhedron_ptr.html">CPolyhedronPtr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1opengl_1_1_c_polyhedron.html#a4b6ab0d31bd0e04dcb9d1e0e04364bd3">CreateTruncatedOctahedron</a> (double radius)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Creates a truncated octahedron, with eight hexagons and eight squares (see <a href="http://en.wikipedia.org/wiki/Truncated_octahedron">http://en.wikipedia.org/wiki/Truncated_octahedron</a>).  <a href="#a4b6ab0d31bd0e04dcb9d1e0e04364bd3"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static <a class="el" href="structmrpt_1_1opengl_1_1_c_polyhedron_ptr.html">CPolyhedronPtr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1opengl_1_1_c_polyhedron.html#abbcc7e07b79275c2cf6e644fb2f2edc4">CreateRhombicuboctahedron</a> (double radius, bool type=true)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Creates a rhombicuboctahedron, with 18 squares and 8 triangles (see <a href="http://en.wikipedia.org/wiki/Rhombicuboctahedron">http://en.wikipedia.org/wiki/Rhombicuboctahedron</a>), calculated as an elongated square bicupola.  <a href="#abbcc7e07b79275c2cf6e644fb2f2edc4"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static <a class="el" href="structmrpt_1_1opengl_1_1_c_polyhedron_ptr.html">CPolyhedronPtr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1opengl_1_1_c_polyhedron.html#aa3c7301231c8f025c3f755b4292f18ea">CreateIcosidodecahedron</a> (double radius, bool type=true)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Creates an icosidodecahedron, with 12 pentagons and 20 triangles (see <a href="http://en.wikipedia.org/wiki/Icosidodecahedron">http://en.wikipedia.org/wiki/Icosidodecahedron</a>).  <a href="#aa3c7301231c8f025c3f755b4292f18ea"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static <a class="el" href="structmrpt_1_1opengl_1_1_c_polyhedron_ptr.html">CPolyhedronPtr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1opengl_1_1_c_polyhedron.html#ace6a781e07834b848a4a013d1f401897">CreateTruncatedDodecahedron</a> (double radius)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Creates a truncated dodecahedron, consisting of 12 dodecagons and 20 triangles (see <a href="http://en.wikipedia.org/wiki/Truncated_dodecahedron">http://en.wikipedia.org/wiki/Truncated_dodecahedron</a>).  <a href="#ace6a781e07834b848a4a013d1f401897"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static <a class="el" href="structmrpt_1_1opengl_1_1_c_polyhedron_ptr.html">CPolyhedronPtr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1opengl_1_1_c_polyhedron.html#ace880e6a89b94859b655cb499e5a280b">CreateTruncatedIcosahedron</a> (double radius)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Creates a truncated icosahedron, consisting of 20 hexagons and 12 pentagons.  <a href="#ace880e6a89b94859b655cb499e5a280b"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static <a class="el" href="structmrpt_1_1opengl_1_1_c_polyhedron_ptr.html">CPolyhedronPtr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1opengl_1_1_c_polyhedron.html#aa4e3394c57d85925dcf3dde8fed07509">CreateRhombicosidodecahedron</a> (double radius)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Creates a rhombicosidodecahedron, consisting of 30 squares, 12 pentagons and 20 triangles (see <a href="http://en.wikipedia.org/wiki/Rhombicosidodecahedron">http://en.wikipedia.org/wiki/Rhombicosidodecahedron</a>).  <a href="#aa4e3394c57d85925dcf3dde8fed07509"></a><br/></td></tr>
<tr><td colspan="2"><div class="groupHeader">Other Johnson solids.</div></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static <a class="el" href="structmrpt_1_1opengl_1_1_c_polyhedron_ptr.html">CPolyhedronPtr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1opengl_1_1_c_polyhedron.html#a8cf9189ac24118b34d6a072dc57e6718">CreatePentagonalRotunda</a> (double radius)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Creates a pentagonal rotunda (half an icosidodecahedron), consisting of six pentagons, ten triangles and a decagon (see <a href="http://en.wikipedia.org/wiki/Pentagonal_rotunda">http://en.wikipedia.org/wiki/Pentagonal_rotunda</a>).  <a href="#a8cf9189ac24118b34d6a072dc57e6718"></a><br/></td></tr>
<tr><td colspan="2"><div class="groupHeader">Catalan solids.</div></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static <a class="el" href="structmrpt_1_1opengl_1_1_c_polyhedron_ptr.html">CPolyhedronPtr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1opengl_1_1_c_polyhedron.html#a001614f2b8f8c62404b42b8cbe94ed96">CreateTriakisTetrahedron</a> (double radius)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Creates a triakis tetrahedron, dual to the truncated tetrahedron.  <a href="#a001614f2b8f8c62404b42b8cbe94ed96"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static <a class="el" href="structmrpt_1_1opengl_1_1_c_polyhedron_ptr.html">CPolyhedronPtr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1opengl_1_1_c_polyhedron.html#a33e96c2f17fc475d6148a7ee0f3dc595">CreateRhombicDodecahedron</a> (double radius)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Creates a rhombic dodecahedron, dual to the cuboctahedron.  <a href="#a33e96c2f17fc475d6148a7ee0f3dc595"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static <a class="el" href="structmrpt_1_1opengl_1_1_c_polyhedron_ptr.html">CPolyhedronPtr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1opengl_1_1_c_polyhedron.html#ac71f68f920b4aaed689e3266ebcff63b">CreateTriakisOctahedron</a> (double radius)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Creates a triakis octahedron, dual to the truncated hexahedron.  <a href="#ac71f68f920b4aaed689e3266ebcff63b"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static <a class="el" href="structmrpt_1_1opengl_1_1_c_polyhedron_ptr.html">CPolyhedronPtr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1opengl_1_1_c_polyhedron.html#a6334bb21643afb281db195ecbe953e75">CreateTetrakisHexahedron</a> (double radius)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Creates a tetrakis hexahedron, dual to the truncated octahedron.  <a href="#a6334bb21643afb281db195ecbe953e75"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static <a class="el" href="structmrpt_1_1opengl_1_1_c_polyhedron_ptr.html">CPolyhedronPtr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1opengl_1_1_c_polyhedron.html#a9a5c5cfc7394914396f7b431dbc4520f">CreateDeltoidalIcositetrahedron</a> (double radius)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Creates a deltoidal icositetrahedron, dual to the rhombicuboctahedron.  <a href="#a9a5c5cfc7394914396f7b431dbc4520f"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static <a class="el" href="structmrpt_1_1opengl_1_1_c_polyhedron_ptr.html">CPolyhedronPtr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1opengl_1_1_c_polyhedron.html#a3974c89c4b1ee7b4d705b615dc96c972">CreateRhombicTriacontahedron</a> (double radius)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Creates a rhombic triacontahedron, dual to the icosidodecahedron.  <a href="#a3974c89c4b1ee7b4d705b615dc96c972"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static <a class="el" href="structmrpt_1_1opengl_1_1_c_polyhedron_ptr.html">CPolyhedronPtr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1opengl_1_1_c_polyhedron.html#af31285b29e8cc531d9e02ca8aabb3fb3">CreateTriakisIcosahedron</a> (double radius)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Creates a triakis icosahedron, dual to the truncated dodecahedron.  <a href="#af31285b29e8cc531d9e02ca8aabb3fb3"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static <a class="el" href="structmrpt_1_1opengl_1_1_c_polyhedron_ptr.html">CPolyhedronPtr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1opengl_1_1_c_polyhedron.html#afcdf908116321bb438c21ed1e05e2569">CreatePentakisDodecahedron</a> (double radius)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Creates a pentakis dodecahedron, dual to the truncated icosahedron.  <a href="#afcdf908116321bb438c21ed1e05e2569"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static <a class="el" href="structmrpt_1_1opengl_1_1_c_polyhedron_ptr.html">CPolyhedronPtr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1opengl_1_1_c_polyhedron.html#ad48fc0fee55125494e037f623699e2a5">CreateDeltoidalHexecontahedron</a> (double radius)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Creates a deltoidal hexecontahedron, dual to the rhombicosidodecahedron.  <a href="#ad48fc0fee55125494e037f623699e2a5"></a><br/></td></tr>
<tr><td colspan="2"><div class="groupHeader">Customizable polyhedra</div></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static <a class="el" href="structmrpt_1_1opengl_1_1_c_polyhedron_ptr.html">CPolyhedronPtr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1opengl_1_1_c_polyhedron.html#ada04c86cfccdc9e1f7d15eb9c909fc95">CreateCubicPrism</a> (double x1, double x2, double y1, double y2, double z1, double z2)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Creates a cubic prism, given the coordinates of two opposite vertices.  <a href="#ada04c86cfccdc9e1f7d15eb9c909fc95"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static <a class="el" href="structmrpt_1_1opengl_1_1_c_polyhedron_ptr.html">CPolyhedronPtr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1opengl_1_1_c_polyhedron.html#a87af3f5900561d030cf73396c1a48242">CreateCubicPrism</a> (const <a class="el" href="structmrpt_1_1math_1_1_t_point3_d.html">TPoint3D</a> &amp;p1, const <a class="el" href="structmrpt_1_1math_1_1_t_point3_d.html">TPoint3D</a> &amp;p2)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Creates a cubic prism, given two opposite vertices.  <a href="#a87af3f5900561d030cf73396c1a48242"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static <a class="el" href="structmrpt_1_1opengl_1_1_c_polyhedron_ptr.html">CPolyhedronPtr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1opengl_1_1_c_polyhedron.html#a7c2e13d36e7f4270c34152771b68333e">CreatePyramid</a> (const <a class="el" href="classstd_1_1vector.html">vector</a>&lt; <a class="el" href="structmrpt_1_1math_1_1_t_point2_d.html">TPoint2D</a> &gt; &amp;baseVertices, double height)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Creates a custom pyramid, using a set of 2D vertices which will lie on the XY plane.  <a href="#a7c2e13d36e7f4270c34152771b68333e"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static <a class="el" href="structmrpt_1_1opengl_1_1_c_polyhedron_ptr.html">CPolyhedronPtr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1opengl_1_1_c_polyhedron.html#a8e7c7e8a26f924110e7bf7e1122f7f92">CreateDoublePyramid</a> (const <a class="el" href="classstd_1_1vector.html">vector</a>&lt; <a class="el" href="structmrpt_1_1math_1_1_t_point2_d.html">TPoint2D</a> &gt; &amp;baseVertices, double height1, double height2)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Creates a double pyramid, using a set of 2D vertices which will lie on the XY plane.  <a href="#a8e7c7e8a26f924110e7bf7e1122f7f92"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static <a class="el" href="structmrpt_1_1opengl_1_1_c_polyhedron_ptr.html">CPolyhedronPtr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1opengl_1_1_c_polyhedron.html#ac3a9f78124b19722529a50bacb3c45d7">CreateTruncatedPyramid</a> (const <a class="el" href="classstd_1_1vector.html">vector</a>&lt; <a class="el" href="structmrpt_1_1math_1_1_t_point2_d.html">TPoint2D</a> &gt; &amp;baseVertices, double height, double ratio)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Creates a truncated pyramid, using a set of vertices which will lie on the XY plane.  <a href="#ac3a9f78124b19722529a50bacb3c45d7"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static <a class="el" href="structmrpt_1_1opengl_1_1_c_polyhedron_ptr.html">CPolyhedronPtr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1opengl_1_1_c_polyhedron.html#afb420b4e2f254f54bbe8db0273173b90">CreateFrustum</a> (const <a class="el" href="classstd_1_1vector.html">vector</a>&lt; <a class="el" href="structmrpt_1_1math_1_1_t_point2_d.html">TPoint2D</a> &gt; &amp;baseVertices, double height, double ratio)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">This is a synonym for CreateTruncatedPyramid.  <a href="#afb420b4e2f254f54bbe8db0273173b90"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static <a class="el" href="structmrpt_1_1opengl_1_1_c_polyhedron_ptr.html">CPolyhedronPtr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1opengl_1_1_c_polyhedron.html#aefdf1fa647b348eb8a3976a895608272">CreateCustomPrism</a> (const <a class="el" href="classstd_1_1vector.html">vector</a>&lt; <a class="el" href="structmrpt_1_1math_1_1_t_point2_d.html">TPoint2D</a> &gt; &amp;baseVertices, double height)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Creates a custom prism with vertical edges, given any base which will lie on the XY plane.  <a href="#aefdf1fa647b348eb8a3976a895608272"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static <a class="el" href="structmrpt_1_1opengl_1_1_c_polyhedron_ptr.html">CPolyhedronPtr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1opengl_1_1_c_polyhedron.html#a991ea17a7be98363b11b0bfe8c483e3c">CreateCustomAntiprism</a> (const <a class="el" href="classstd_1_1vector.html">vector</a>&lt; <a class="el" href="structmrpt_1_1math_1_1_t_point2_d.html">TPoint2D</a> &gt; &amp;bottomBase, const <a class="el" href="classstd_1_1vector.html">vector</a>&lt; <a class="el" href="structmrpt_1_1math_1_1_t_point2_d.html">TPoint2D</a> &gt; &amp;topBase, double height)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Creates a custom antiprism, using two custom bases.  <a href="#a991ea17a7be98363b11b0bfe8c483e3c"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static <a class="el" href="structmrpt_1_1opengl_1_1_c_polyhedron_ptr.html">CPolyhedronPtr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1opengl_1_1_c_polyhedron.html#aca8e4b9f9ef2f590b2678e620aae78c3">CreateParallelepiped</a> (const <a class="el" href="structmrpt_1_1math_1_1_t_point3_d.html">TPoint3D</a> &amp;base, const <a class="el" href="structmrpt_1_1math_1_1_t_point3_d.html">TPoint3D</a> &amp;v1, const <a class="el" href="structmrpt_1_1math_1_1_t_point3_d.html">TPoint3D</a> &amp;v2, const <a class="el" href="structmrpt_1_1math_1_1_t_point3_d.html">TPoint3D</a> &amp;v3)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Creates a parallelepiped, given a base point and three vectors represented as points.  <a href="#aca8e4b9f9ef2f590b2678e620aae78c3"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static <a class="el" href="structmrpt_1_1opengl_1_1_c_polyhedron_ptr.html">CPolyhedronPtr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1opengl_1_1_c_polyhedron.html#a314673d6f1b215410fe41d84d1a6ef30">CreateBifrustum</a> (const <a class="el" href="classstd_1_1vector.html">vector</a>&lt; <a class="el" href="structmrpt_1_1math_1_1_t_point2_d.html">TPoint2D</a> &gt; &amp;baseVertices, double height1, double ratio1, double height2, double ratio2)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Creates a bifrustum, or double truncated pyramid, given a base which will lie on the XY plane.  <a href="#a314673d6f1b215410fe41d84d1a6ef30"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static <a class="el" href="structmrpt_1_1opengl_1_1_c_polyhedron_ptr.html">CPolyhedronPtr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1opengl_1_1_c_polyhedron.html#a8c72fe48dc8a72f511d923cb3c4bbfa7">CreateTrapezohedron</a> (uint32_t numBaseEdges, double baseRadius, double basesDistance)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Creates a trapezohedron, consisting of 2*N kites, where N is the number of edges in the base.  <a href="#a8c72fe48dc8a72f511d923cb3c4bbfa7"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static <a class="el" href="structmrpt_1_1opengl_1_1_c_polyhedron_ptr.html">CPolyhedronPtr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1opengl_1_1_c_polyhedron.html#a2bfd0bcfc190c78a502e5649a3220d7a">CreateRegularAntiprism</a> (uint32_t numBaseEdges, double baseRadius, double height)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Creates an antiprism whose base is a regular polygon.  <a href="#a2bfd0bcfc190c78a502e5649a3220d7a"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static <a class="el" href="structmrpt_1_1opengl_1_1_c_polyhedron_ptr.html">CPolyhedronPtr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1opengl_1_1_c_polyhedron.html#a4da598ce54c1c2f1218e1a068ef7c7b2">CreateRegularPrism</a> (uint32_t numBaseEdges, double baseRadius, double height)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Creates a regular prism whose base is a regular polygon and whose edges are either parallel or perpendicular to the XY plane.  <a href="#a4da598ce54c1c2f1218e1a068ef7c7b2"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static <a class="el" href="structmrpt_1_1opengl_1_1_c_polyhedron_ptr.html">CPolyhedronPtr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1opengl_1_1_c_polyhedron.html#ab6c98de9ae4ea645eaf1c81c3702cde8">CreateRegularPyramid</a> (uint32_t numBaseEdges, double baseRadius, double height)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Creates a regular pyramid whose base is a regular polygon.  <a href="#ab6c98de9ae4ea645eaf1c81c3702cde8"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static <a class="el" href="structmrpt_1_1opengl_1_1_c_polyhedron_ptr.html">CPolyhedronPtr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1opengl_1_1_c_polyhedron.html#a3a236dd64b7cadcd47018d4b03ac5921">CreateRegularDoublePyramid</a> (uint32_t numBaseEdges, double baseRadius, double height1, double height2)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Creates a regular double pyramid whose base is a regular polygon.  <a href="#a3a236dd64b7cadcd47018d4b03ac5921"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static <a class="el" href="structmrpt_1_1opengl_1_1_c_polyhedron_ptr.html">CPolyhedronPtr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1opengl_1_1_c_polyhedron.html#a3dc5604546ae836502f799f6f9e32ba8">CreateArchimedeanRegularPrism</a> (uint32_t numBaseEdges, double baseRadius)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Creates a regular prism whose lateral area is comprised of squares, and so each face of its is a regular polygon.  <a href="#a3dc5604546ae836502f799f6f9e32ba8"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static <a class="el" href="structmrpt_1_1opengl_1_1_c_polyhedron_ptr.html">CPolyhedronPtr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1opengl_1_1_c_polyhedron.html#a35f122e254f0a18cbb68835b7559300c">CreateArchimedeanRegularAntiprism</a> (uint32_t numBaseEdges, double baseRadius)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Creates a regular antiprism whose lateral polygons are equilateral triangles, and so each face of its is a regular polygon.  <a href="#a35f122e254f0a18cbb68835b7559300c"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static <a class="el" href="structmrpt_1_1opengl_1_1_c_polyhedron_ptr.html">CPolyhedronPtr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1opengl_1_1_c_polyhedron.html#a98c7109a4a39267e9d34682a12da692e">CreateRegularTruncatedPyramid</a> (uint32_t numBaseEdges, double baseRadius, double height, double ratio)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Creates a regular truncated pyramid whose base is a regular polygon.  <a href="#a98c7109a4a39267e9d34682a12da692e"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static <a class="el" href="structmrpt_1_1opengl_1_1_c_polyhedron_ptr.html">CPolyhedronPtr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1opengl_1_1_c_polyhedron.html#a8b3ec5141ab6768824ca1f72ff9f5a85">CreateRegularFrustum</a> (uint32_t numBaseEdges, double baseRadius, double height, double ratio)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">This is a synonym for CreateRegularTruncatedPyramid.  <a href="#a8b3ec5141ab6768824ca1f72ff9f5a85"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static <a class="el" href="structmrpt_1_1opengl_1_1_c_polyhedron_ptr.html">CPolyhedronPtr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1opengl_1_1_c_polyhedron.html#a4c94a84f7d439be5c6352886641c38fa">CreateRegularBifrustum</a> (uint32_t numBaseEdges, double baseRadius, double height1, double ratio1, double height2, double ratio2)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Creates a bifrustum (double truncated pyramid) whose base is a regular polygon lying in the XY plane.  <a href="#a4c94a84f7d439be5c6352886641c38fa"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static <a class="el" href="structmrpt_1_1opengl_1_1_c_polyhedron_ptr.html">CPolyhedronPtr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1opengl_1_1_c_polyhedron.html#aefe00691ac58380eabdb7bbfb8c7c466">CreateCupola</a> (uint32_t numBaseEdges, double edgeLength)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Creates a cupola.  <a href="#aefe00691ac58380eabdb7bbfb8c7c466"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static <a class="el" href="structmrpt_1_1opengl_1_1_c_polyhedron_ptr.html">CPolyhedronPtr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1opengl_1_1_c_polyhedron.html#a5d9f3a15f0c8196446b8a8b62278cc50">CreateCatalanTrapezohedron</a> (uint32_t numBaseEdges, double height)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Creates a trapezohedron whose dual is exactly an archimedean antiprism.  <a href="#a5d9f3a15f0c8196446b8a8b62278cc50"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static <a class="el" href="structmrpt_1_1opengl_1_1_c_polyhedron_ptr.html">CPolyhedronPtr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1opengl_1_1_c_polyhedron.html#a2a30c3dede6cac1a3c9d2098846136bc">CreateCatalanDoublePyramid</a> (uint32_t numBaseEdges, double height)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Creates a double pyramid whose dual is exactly an archimedean prism.  <a href="#a2a30c3dede6cac1a3c9d2098846136bc"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static <a class="el" href="structmrpt_1_1opengl_1_1_c_polyhedron_ptr.html">CPolyhedronPtr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1opengl_1_1_c_polyhedron.html#a0deea6879ac7e236a9bc8d776c0ae192">CreateJohnsonSolidWithConstantBase</a> (uint32_t numBaseEdges, double baseRadius, const <a class="el" href="classstd_1_1string.html">std::string</a> &amp;components, size_t shifts=0)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Creates a series of concatenated solids (most of which are prismatoids) whose base is a regular polygon with a given number of edges.  <a href="#a0deea6879ac7e236a9bc8d776c0ae192"></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"><div class="groupHeader">RTTI stuff</div></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_1opengl_1_1_c_renderizable.html#afd3a6be390cd8cbe70e48a17ffa4e32f">classCRenderizable</a></td></tr>
<tr><td colspan="2"><div class="groupHeader">RTTI stuff</div></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 colspan="2"><h2><a name="pro-methods"></a>
Protected Member Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1opengl_1_1_c_renderizable.html#aa6f285c38ff4332074f167dd921c7ee5">writeToStreamRender</a> (<a class="el" href="classmrpt_1_1utils_1_1_c_stream.html">utils::CStream</a> &amp;out) const </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"><div class="groupHeader">Methods accesible or implemented by derived classes</div></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">EIGEN_STRONG_INLINE void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1opengl_1_1_c_renderizable_display_list.html#a77f8b97d7f4937b3f0777b76bc0ddf7a">notifyChange</a> () const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Must be called to notify that the object has changed (so, the display list must be updated)  <a href="#a77f8b97d7f4937b3f0777b76bc0ddf7a"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1opengl_1_1_c_renderizable_display_list.html#a828f34d2f5a3eba229a302559afe739e">should_skip_display_list_cache</a> () const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Optional: If the object has some state in which creating a display list is NOT preferred over direct rendering, implement this method and return "true" in those cases.  <a href="#a828f34d2f5a3eba229a302559afe739e"></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_1opengl_1_1_c_renderizable_display_list.html#af46e56b5e7da5e276b8a0999b5e74354">readFromStreamRender</a> (<a class="el" href="classmrpt_1_1utils_1_1_c_stream.html">mrpt::utils::CStream</a> &amp;in)</td></tr>
<tr><td colspan="2"><h2><a name="pro-static-methods"></a>
Static Protected 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_1opengl_1_1_c_renderizable.html#a2404567e588ebacbe57b5e592bb01d1a">checkOpenGLError</a> ()</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Checks glGetError and throws an exception if an error situation is found.  <a href="#a2404567e588ebacbe57b5e592bb01d1a"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static unsigned int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1opengl_1_1_c_renderizable.html#ae62ae33d72da9156fbf849fec3c1c43d">getNewTextureNumber</a> ()</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the lowest next free texture name (avoid using OpenGL's own function since we may call them from different threads and seem it's not cool).  <a href="#ae62ae33d72da9156fbf849fec3c1c43d"></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_1opengl_1_1_c_renderizable.html#a3ddf530db5c15d37d20d61013969f5c7">releaseTextureName</a> (unsigned int i)</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"><a class="el" href="classstd_1_1vector.html">vector</a>&lt; <a class="el" href="structmrpt_1_1math_1_1_t_point3_d.html">TPoint3D</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1opengl_1_1_c_polyhedron.html#a00892c8ef6b43290f642c148cba358e4">mVertices</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">List of vertices presents in the polyhedron.  <a href="#a00892c8ef6b43290f642c148cba358e4"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classstd_1_1vector.html">vector</a>&lt; <a class="el" href="structmrpt_1_1opengl_1_1_c_polyhedron_1_1_t_polyhedron_edge.html">TPolyhedronEdge</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1opengl_1_1_c_polyhedron.html#a51713062c91d55827b6a1796a621c49f">mEdges</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">List of polyhedron's edges.  <a href="#a51713062c91d55827b6a1796a621c49f"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classstd_1_1vector.html">vector</a>&lt; <a class="el" href="structmrpt_1_1opengl_1_1_c_polyhedron_1_1_t_polyhedron_face.html">TPolyhedronFace</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1opengl_1_1_c_polyhedron.html#a557a516979ea8d492a644f9f158fda4c">mFaces</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">List of polyhedron's faces.  <a href="#a557a516979ea8d492a644f9f158fda4c"></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_1opengl_1_1_c_polyhedron.html#af620619a1a33070480eb22b8a918bf54">mWireframe</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">This flag determines whether the polyhedron will be displayed as a solid object or as a set of edges.  <a href="#af620619a1a33070480eb22b8a918bf54"></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_1opengl_1_1_c_polyhedron.html#abe3854c8f608e850644950f811f930b1">mLineWidth</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">When displaying as wireframe object, this variable stores the width of the edges.  <a href="#abe3854c8f608e850644950f811f930b1"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classstd_1_1vector.html">std::vector</a>&lt; <a class="el" href="classmrpt_1_1math_1_1_t_polygon_with_plane.html">TPolygonWithPlane</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1opengl_1_1_c_polyhedron.html#ac6b6cb2f69324c452055a32b9cfcdb9e">tempPolygons</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Mutable list of actual polygons, maintained for speed.  <a href="#ac6b6cb2f69324c452055a32b9cfcdb9e"></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_1opengl_1_1_c_polyhedron.html#a05dd62bae9188974721d7261cd489b11">polygonsUpToDate</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Whether the set of actual polygons is up to date or not.  <a href="#a05dd62bae9188974721d7261cd489b11"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classstd_1_1string.html">std::string</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1opengl_1_1_c_renderizable.html#ac60facc9c53d7319b87e82c8e6730c27">m_name</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1opengl_1_1_c_renderizable.html#a437eafa450aaa90601803507599260d7">m_show_name</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="structmrpt_1_1utils_1_1_t_color.html">mrpt::utils::TColor</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1opengl_1_1_c_renderizable.html#af98af9094c896da6b94a06b4793c788b">m_color</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Color components in the range [0,255].  <a href="#af98af9094c896da6b94a06b4793c788b"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmrpt_1_1poses_1_1_c_pose3_d.html">mrpt::poses::CPose3D</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1opengl_1_1_c_renderizable.html#a5b6a2612a9a58ce6a38ae8e583269ac4">m_pose</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">6D pose wrt the parent coordinate reference. This class automatically holds the cached 3x3 rotation matrix for quick load into opengl stack.  <a href="#a5b6a2612a9a58ce6a38ae8e583269ac4"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1opengl_1_1_c_renderizable.html#ac735e33e72ea186804581915b5776247">m_scale_x</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1opengl_1_1_c_renderizable.html#a27e3f7407ac98e6e4f1d04094a033eee">m_scale_y</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1opengl_1_1_c_renderizable.html#a1994bcb30363d854a83fa2e85480ed0d">m_scale_z</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Scale components to apply to the object (default=1)  <a href="#a1994bcb30363d854a83fa2e85480ed0d"></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_1opengl_1_1_c_renderizable.html#a710f324d115817edceed185fc584f1e2">m_visible</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Is the object visible? (default=true)  <a href="#a710f324d115817edceed185fc584f1e2"></a><br/></td></tr>
<tr><td colspan="2"><h2><a name="pri-methods"></a>
Private Member Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1opengl_1_1_c_polyhedron.html#a070aa6e95467787c4d5f7942c4e2a589">setNormal</a> (<a class="el" href="structmrpt_1_1opengl_1_1_c_polyhedron_1_1_t_polyhedron_face.html">TPolyhedronFace</a> &amp;f, bool doCheck=true)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculates the normal vector to a face.  <a href="#a070aa6e95467787c4d5f7942c4e2a589"></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_1opengl_1_1_c_polyhedron.html#aea6e97e96476f15626e921ae0ad8b743">addEdges</a> (const <a class="el" href="structmrpt_1_1opengl_1_1_c_polyhedron_1_1_t_polyhedron_face.html">TPolyhedronFace</a> &amp;e)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Adds, to the existing list of edges, each edge in a given face.  <a href="#aea6e97e96476f15626e921ae0ad8b743"></a><br/></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_1opengl_1_1_c_polyhedron.html#a36a8cf909deed5c0e22baa74f1f1a71c">edgesInVertex</a> (size_t vertex) const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns how many edges converge in a given vertex.  <a href="#a36a8cf909deed5c0e22baa74f1f1a71c"></a><br/></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_1opengl_1_1_c_polyhedron.html#ae718170a4135422376984de0e2d5a72f">facesInVertex</a> (size_t vertex) const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns how many faces converge in a given vertex.  <a href="#ae718170a4135422376984de0e2d5a72f"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1opengl_1_1_c_polyhedron.html#acb16e5bc96c962f1f0ebd9b62ccaa935">CPolyhedron</a> ()</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic empty constructor.  <a href="#acb16e5bc96c962f1f0ebd9b62ccaa935"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1opengl_1_1_c_polyhedron.html#a113e801ce694c9a2c9b5376b17af5b91">CPolyhedron</a> (const <a class="el" href="classstd_1_1vector.html">vector</a>&lt; <a class="el" href="structmrpt_1_1math_1_1_t_point3_d.html">TPoint3D</a> &gt; &amp;vertices, const <a class="el" href="classstd_1_1vector.html">vector</a>&lt; <a class="el" href="structmrpt_1_1opengl_1_1_c_polyhedron_1_1_t_polyhedron_face.html">TPolyhedronFace</a> &gt; &amp;faces, bool doCheck=true)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic constructor with a list of vertices and another of faces, checking for correctness.  <a href="#a113e801ce694c9a2c9b5376b17af5b91"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1opengl_1_1_c_polyhedron.html#add443a95586b06ddcd5d2bea4b12b018">~CPolyhedron</a> ()</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Destructor.  <a href="#add443a95586b06ddcd5d2bea4b12b018"></a><br/></td></tr>
<tr><td colspan="2"><h2><a name="pri-static-methods"></a>
Static Private Member Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static <a class="el" href="classstd_1_1vector.html">vector</a>&lt; <a class="el" href="structmrpt_1_1math_1_1_t_point2_d.html">TPoint2D</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1opengl_1_1_c_polyhedron.html#a0274d46ab97451224abcf75681c01668">generateBase</a> (uint32_t numBaseEdges, double baseRadius)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Generates a list of 2D vertices constituting a regular polygon.  <a href="#a0274d46ab97451224abcf75681c01668"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static <a class="el" href="classstd_1_1vector.html">vector</a>&lt; <a class="el" href="structmrpt_1_1math_1_1_t_point2_d.html">TPoint2D</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1opengl_1_1_c_polyhedron.html#ab38b44a24980ba776c718ca74a6dd9a3">generateShiftedBase</a> (uint32_t numBaseEdges, double baseRadius)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Generates a list of 2D vertices constituting a regular polygon, with an angle shift which makes it suitable for antiprisms.  <a href="#ab38b44a24980ba776c718ca74a6dd9a3"></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_1opengl_1_1_c_polyhedron.html#a3b9cbe4c25cc75e7575ad26b4e0ece1c">generateBase</a> (uint32_t numBaseEdges, double baseRadius, double height, <a class="el" href="classstd_1_1vector.html">vector</a>&lt; <a class="el" href="structmrpt_1_1math_1_1_t_point3_d.html">TPoint3D</a> &gt; &amp;vec)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Generates a list of 3D vertices constituting a regular polygon, appending it to an existing vector.  <a href="#a3b9cbe4c25cc75e7575ad26b4e0ece1c"></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_1opengl_1_1_c_polyhedron.html#a6f5fc3de5c16a956a712fe868363790f">generateShiftedBase</a> (uint32_t numBaseEdges, double baseRadius, double height, double shift, <a class="el" href="classstd_1_1vector.html">vector</a>&lt; <a class="el" href="structmrpt_1_1math_1_1_t_point3_d.html">TPoint3D</a> &gt; &amp;vec)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Generates a list of 3D vertices constituting a regular polygon conveniently shifted, appending it to an existing vector.  <a href="#a6f5fc3de5c16a956a712fe868363790f"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1opengl_1_1_c_polyhedron.html#a01c79afa586a8dacd00c6fdcf9078532">checkConsistence</a> (const <a class="el" href="classstd_1_1vector.html">vector</a>&lt; <a class="el" href="structmrpt_1_1math_1_1_t_point3_d.html">TPoint3D</a> &gt; &amp;vertices, const <a class="el" href="classstd_1_1vector.html">vector</a>&lt; <a class="el" href="structmrpt_1_1opengl_1_1_c_polyhedron_1_1_t_polyhedron_face.html">TPolyhedronFace</a> &gt; &amp;faces)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Checks whether a set of faces is suitable for a set of vertices.  <a href="#a01c79afa586a8dacd00c6fdcf9078532"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static <a class="el" href="structmrpt_1_1opengl_1_1_c_polyhedron_ptr.html">CPolyhedronPtr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1opengl_1_1_c_polyhedron.html#a1e3e298443301769813ed7da2ef73c15">CreateNoCheck</a> (const <a class="el" href="classstd_1_1vector.html">vector</a>&lt; <a class="el" href="structmrpt_1_1math_1_1_t_point3_d.html">TPoint3D</a> &gt; &amp;vertices, const <a class="el" href="classstd_1_1vector.html">vector</a>&lt; <a class="el" href="structmrpt_1_1opengl_1_1_c_polyhedron_1_1_t_polyhedron_face.html">TPolyhedronFace</a> &gt; &amp;faces)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Creates a polyhedron without checking its correctness.  <a href="#a1e3e298443301769813ed7da2ef73c15"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static <a class="el" href="structmrpt_1_1opengl_1_1_c_polyhedron_ptr.html">CPolyhedronPtr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1opengl_1_1_c_polyhedron.html#ada3c811270a3a4e7d74b02a8ac0f4cb0">CreateEmpty</a> ()</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Creates an empty Polyhedron.  <a href="#ada3c811270a3a4e7d74b02a8ac0f4cb0"></a><br/></td></tr>
<tr><td colspan="2"><h2><a name="friends"></a>
Friends</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1opengl_1_1_c_renderizable.html#ac50eaea2662d8a8d6653161f329ec9dc">mrpt::opengl::COpenGLViewport</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_1opengl_1_1_c_renderizable.html#a9c9d1e367181d87af8c01ae5d17ccbd8">mrpt::opengl::CSetOfObjects</a></td></tr>
<tr><td colspan="2"><h2><a name="member-group"></a>
RTTI stuff</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="structmrpt_1_1opengl_1_1_c_polyhedron_ptr.html">CPolyhedronPtr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1opengl_1_1_c_polyhedron.html#a923f9601d86cbf2c00ddafc156a8ddc6">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_1opengl_1_1_c_polyhedron.html#a351790f546e1a87519db08fbf50617a8">_init_CPolyhedron</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_1opengl_1_1_c_polyhedron.html#afadef27eb8d99edd96847ba354400e78">classCPolyhedron</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_1opengl_1_1_c_polyhedron.html#a77185b48de6e53ea7cd15397fe2c3e2f">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_1opengl_1_1_c_polyhedron.html#adfa635d533a68b00907a43c6acf4df26">_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_1opengl_1_1_c_polyhedron.html#a8b01a138d86143d32900122ba22d8329">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="#a8b01a138d86143d32900122ba22d8329"></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_1opengl_1_1_c_polyhedron.html#a511f6a7e6cc8e6744bc0373174c7427d">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="#a511f6a7e6cc8e6744bc0373174c7427d"></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_1opengl_1_1_c_polyhedron.html#a985a192daff992c42b395cc7bac27b7e">CreateObject</a> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static <a class="el" href="structmrpt_1_1opengl_1_1_c_polyhedron_ptr.html">CPolyhedronPtr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1opengl_1_1_c_polyhedron.html#a973794f8868e7482e17b2e34d1b89115">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_1opengl_1_1_c_renderizable_display_list.html#a0f48ca8f4454cb98bfbf8ab9fd7087e7">classCRenderizableDisplayList</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_1opengl_1_1_c_renderizable_display_list.html#a6fec28a53e20dfc1c4d046c26f9f7b48">mrpt::utils::CStream</a></td></tr>
</table>
<hr/><h2>Member Typedef Documentation</h2>
<a class="anchor" id="a923f9601d86cbf2c00ddafc156a8ddc6"></a><!-- doxytag: member="mrpt::opengl::CPolyhedron::SmartPtr" ref="a923f9601d86cbf2c00ddafc156a8ddc6" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef <a class="el" href="structmrpt_1_1opengl_1_1_c_polyhedron_ptr.html">CPolyhedronPtr</a> <a class="el" href="classmrpt_1_1opengl_1_1_c_polyhedron.html#a923f9601d86cbf2c00ddafc156a8ddc6">mrpt::opengl::CPolyhedron::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_polyhedron_8h_source.html#l00059">59</a> of file <a class="el" href="_c_polyhedron_8h_source.html">CPolyhedron.h</a>.</p>

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

<p>Basic empty constructor. </p>

<p>Definition at line <a class="el" href="_c_polyhedron_8h_source.html#l00825">825</a> of file <a class="el" href="_c_polyhedron_8h_source.html">CPolyhedron.h</a>.</p>

</div>
</div>
<a class="anchor" id="a113e801ce694c9a2c9b5376b17af5b91"></a><!-- doxytag: member="mrpt::opengl::CPolyhedron::CPolyhedron" ref="a113e801ce694c9a2c9b5376b17af5b91" args="(const vector&lt; TPoint3D &gt; &amp;vertices, const vector&lt; TPolyhedronFace &gt; &amp;faces, bool doCheck=true)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">mrpt::opengl::CPolyhedron::CPolyhedron </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classstd_1_1vector.html">vector</a>&lt; <a class="el" href="structmrpt_1_1math_1_1_t_point3_d.html">TPoint3D</a> &gt; &amp;&#160;</td>
          <td class="paramname"><em>vertices</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classstd_1_1vector.html">vector</a>&lt; <a class="el" href="structmrpt_1_1opengl_1_1_c_polyhedron_1_1_t_polyhedron_face.html">TPolyhedronFace</a> &gt; &amp;&#160;</td>
          <td class="paramname"><em>faces</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>doCheck</em> = <code>true</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [inline, private]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Basic constructor with a list of vertices and another of faces, checking for correctness. </p>

<p>Definition at line <a class="el" href="_c_polyhedron_8h_source.html#l00829">829</a> of file <a class="el" href="_c_polyhedron_8h_source.html">CPolyhedron.h</a>.</p>

</div>
</div>
<a class="anchor" id="add443a95586b06ddcd5d2bea4b12b018"></a><!-- doxytag: member="mrpt::opengl::CPolyhedron::~CPolyhedron" ref="add443a95586b06ddcd5d2bea4b12b018" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual mrpt::opengl::CPolyhedron::~CPolyhedron </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td><code> [inline, private, virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Destructor. </p>

<p>Definition at line <a class="el" href="_c_polyhedron_8h_source.html#l00851">851</a> of file <a class="el" href="_c_polyhedron_8h_source.html">CPolyhedron.h</a>.</p>

</div>
</div>
<hr/><h2>Member Function Documentation</h2>
<a class="anchor" id="adfa635d533a68b00907a43c6acf4df26"></a><!-- doxytag: member="mrpt::opengl::CPolyhedron::_GetBaseClass" ref="adfa635d533a68b00907a43c6acf4df26" 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::opengl::CPolyhedron::_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_1opengl_1_1_c_renderizable_display_list.html#a3b5be78d661f3f0cda56e66b81637a63">mrpt::opengl::CRenderizableDisplayList</a>.</p>

</div>
</div>
<a class="anchor" id="aea6e97e96476f15626e921ae0ad8b743"></a><!-- doxytag: member="mrpt::opengl::CPolyhedron::addEdges" ref="aea6e97e96476f15626e921ae0ad8b743" args="(const TPolyhedronFace &amp;e)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void mrpt::opengl::CPolyhedron::addEdges </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="structmrpt_1_1opengl_1_1_c_polyhedron_1_1_t_polyhedron_face.html">TPolyhedronFace</a> &amp;&#160;</td>
          <td class="paramname"><em>e</em></td><td>)</td>
          <td><code> [private]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Adds, to the existing list of edges, each edge in a given face. </p>

</div>
</div>
<a class="anchor" id="ad91235c1f40af5974e588eeb1164dc91"></a><!-- doxytag: member="mrpt::opengl::CPolyhedron::augment" ref="ad91235c1f40af5974e588eeb1164dc91" args="(double height) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="structmrpt_1_1opengl_1_1_c_polyhedron_ptr.html">CPolyhedronPtr</a> mrpt::opengl::CPolyhedron::augment </td>
          <td>(</td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>height</em></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Augments a polyhedron to a given height. </p>
<p>This operation is roughly dual to the truncation: given a body P, the operation dtdP and aP yield resembling results. </p>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="classmrpt_1_1opengl_1_1_c_polyhedron.html#a64b6187c6dd8cf86ba243c6bbd54b871" title="Given a polyhedron, creates its dual.">getDual</a>,<a class="el" href="classmrpt_1_1opengl_1_1_c_polyhedron.html#a16a60771db55ba737bded03b74f2c859" title="Truncates a polyhedron to a given factor.">truncate</a>,<a class="el" href="classmrpt_1_1opengl_1_1_c_polyhedron.html#ab1bc7afd0fa41a820938d9dbb86f36a5" title="Cantellates a polyhedron to a given factor.">cantellate</a> </dd></dl>

</div>
</div>
<a class="anchor" id="a7a998c797c7a09e1df414ece00beefba"></a><!-- doxytag: member="mrpt::opengl::CPolyhedron::augment" ref="a7a998c797c7a09e1df414ece00beefba" args="(double height, size_t numVertices) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="structmrpt_1_1opengl_1_1_c_polyhedron_ptr.html">CPolyhedronPtr</a> mrpt::opengl::CPolyhedron::augment </td>
          <td>(</td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>height</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>numVertices</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Augments a polyhedron to a given height. </p>
<p>This method only affects to faces with certain number of vertices. </p>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="classmrpt_1_1opengl_1_1_c_polyhedron.html#ad91235c1f40af5974e588eeb1164dc91" title="Augments a polyhedron to a given height.">augment(double) const</a> </dd></dl>

</div>
</div>
<a class="anchor" id="ad2944cf440b56931bcfc76a9886ac64f"></a><!-- doxytag: member="mrpt::opengl::CPolyhedron::augment" ref="ad2944cf440b56931bcfc76a9886ac64f" args="(bool direction=false) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="structmrpt_1_1opengl_1_1_c_polyhedron_ptr.html">CPolyhedronPtr</a> mrpt::opengl::CPolyhedron::augment </td>
          <td>(</td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>direction</em> = <code>false</code></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Augments a polyhedron, so that the resulting triangles are equilateral. </p>
<p>If the argument is true, triangles are "cut" from the polyhedron, instead of being added. </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>a non-regular face has been found. </td></tr>
  </table>
  </dd>
</dl>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="classmrpt_1_1opengl_1_1_c_polyhedron.html#ad91235c1f40af5974e588eeb1164dc91" title="Augments a polyhedron to a given height.">augment(double) const</a> </dd></dl>

</div>
</div>
<a class="anchor" id="aa8c7557dec92d10f6600c16e1eb64a67"></a><!-- doxytag: member="mrpt::opengl::CPolyhedron::augment" ref="aa8c7557dec92d10f6600c16e1eb64a67" args="(size_t numVertices, bool direction=false) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="structmrpt_1_1opengl_1_1_c_polyhedron_ptr.html">CPolyhedronPtr</a> mrpt::opengl::CPolyhedron::augment </td>
          <td>(</td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>numVertices</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>direction</em> = <code>false</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Augments a polyhedron, so that the resulting triangles are equilateral; affects only faces with certain number of faces. </p>
<p>If the second argument is true, triangles are "cut" from the polyhedron. </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>a non-regular face has been found. </td></tr>
  </table>
  </dd>
</dl>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="classmrpt_1_1opengl_1_1_c_polyhedron.html#ad91235c1f40af5974e588eeb1164dc91" title="Augments a polyhedron to a given height.">augment(double) const</a> </dd></dl>

</div>
</div>
<a class="anchor" id="ab1bc7afd0fa41a820938d9dbb86f36a5"></a><!-- doxytag: member="mrpt::opengl::CPolyhedron::cantellate" ref="ab1bc7afd0fa41a820938d9dbb86f36a5" args="(double factor) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="structmrpt_1_1opengl_1_1_c_polyhedron_ptr.html">CPolyhedronPtr</a> mrpt::opengl::CPolyhedron::cantellate </td>
          <td>(</td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>factor</em></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Cantellates a polyhedron to a given factor. </p>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="classmrpt_1_1opengl_1_1_c_polyhedron.html#a64b6187c6dd8cf86ba243c6bbd54b871" title="Given a polyhedron, creates its dual.">getDual</a>,<a class="el" href="classmrpt_1_1opengl_1_1_c_polyhedron.html#a16a60771db55ba737bded03b74f2c859" title="Truncates a polyhedron to a given factor.">truncate</a>,<a class="el" href="classmrpt_1_1opengl_1_1_c_polyhedron.html#ad91235c1f40af5974e588eeb1164dc91" title="Augments a polyhedron to a given height.">augment</a> </dd></dl>

</div>
</div>
<a class="anchor" id="a01c79afa586a8dacd00c6fdcf9078532"></a><!-- doxytag: member="mrpt::opengl::CPolyhedron::checkConsistence" ref="a01c79afa586a8dacd00c6fdcf9078532" args="(const vector&lt; TPoint3D &gt; &amp;vertices, const vector&lt; TPolyhedronFace &gt; &amp;faces)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static bool mrpt::opengl::CPolyhedron::checkConsistence </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classstd_1_1vector.html">vector</a>&lt; <a class="el" href="structmrpt_1_1math_1_1_t_point3_d.html">TPoint3D</a> &gt; &amp;&#160;</td>
          <td class="paramname"><em>vertices</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classstd_1_1vector.html">vector</a>&lt; <a class="el" href="structmrpt_1_1opengl_1_1_c_polyhedron_1_1_t_polyhedron_face.html">TPolyhedronFace</a> &gt; &amp;&#160;</td>
          <td class="paramname"><em>faces</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [static, private]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Checks whether a set of faces is suitable for a set of vertices. </p>

</div>
</div>
<a class="anchor" id="a2404567e588ebacbe57b5e592bb01d1a"></a><!-- doxytag: member="mrpt::opengl::CPolyhedron::checkOpenGLError" ref="a2404567e588ebacbe57b5e592bb01d1a" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static void mrpt::opengl::CRenderizable::checkOpenGLError </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td><code> [static, protected, inherited]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Checks glGetError and throws an exception if an error situation is found. </p>

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

<p>Interface for the stlplus smart pointer class. </p>

<p>Reimplemented from <a class="el" href="classmrpt_1_1opengl_1_1_c_renderizable.html#acb2597d6d93b406501d9f3530eb56adf">mrpt::opengl::CRenderizable</a>.</p>

<p>Definition at line <a class="el" href="_c_renderizable_display_list_8h_source.html#l00090">90</a> of file <a class="el" href="_c_renderizable_display_list_8h_source.html">CRenderizableDisplayList.h</a>.</p>

</div>
</div>
<a class="anchor" id="a973794f8868e7482e17b2e34d1b89115"></a><!-- doxytag: member="mrpt::opengl::CPolyhedron::Create" ref="a973794f8868e7482e17b2e34d1b89115" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static <a class="el" href="structmrpt_1_1opengl_1_1_c_polyhedron_ptr.html">CPolyhedronPtr</a> mrpt::opengl::CPolyhedron::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="a2a1e05c411170737b699ac055494948a"></a><!-- doxytag: member="mrpt::opengl::CPolyhedron::Create" ref="a2a1e05c411170737b699ac055494948a" args="(const vector&lt; TPoint3D &gt; &amp;vertices, const vector&lt; vector&lt; uint32_t &gt; &gt; &amp;faces)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static <a class="el" href="structmrpt_1_1opengl_1_1_c_polyhedron_ptr.html">CPolyhedronPtr</a> mrpt::opengl::CPolyhedron::Create </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classstd_1_1vector.html">vector</a>&lt; <a class="el" href="structmrpt_1_1math_1_1_t_point3_d.html">TPoint3D</a> &gt; &amp;&#160;</td>
          <td class="paramname"><em>vertices</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classstd_1_1vector.html">vector</a>&lt; <a class="el" href="classstd_1_1vector.html">vector</a>&lt; uint32_t &gt; &gt; &amp;&#160;</td>
          <td class="paramname"><em>faces</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [inline, static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Creation of a polyhedron from its vertices and faces. </p>
<dl><dt><b>Exceptions:</b></dt><dd>
  <table class="exception">
    <tr><td class="paramname">logic_error</td><td>if the polyhedron definition has flaws (bad vertex indices, etc.). </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="_c_polyhedron_8h_source.html#l00156">156</a> of file <a class="el" href="_c_polyhedron_8h_source.html">CPolyhedron.h</a>.</p>

<p>References <a class="el" href="_c_polyhedron_8h_source.html#l00100">mrpt::opengl::CPolyhedron::TPolyhedronFace::vertices</a>.</p>

</div>
</div>
<a class="anchor" id="ab043adec19d45e87d1fb640496d86931"></a><!-- doxytag: member="mrpt::opengl::CPolyhedron::Create" ref="ab043adec19d45e87d1fb640496d86931" args="(const vector&lt; TPoint3D &gt; &amp;vertices, const vector&lt; TPolyhedronFace &gt; &amp;faces)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static <a class="el" href="structmrpt_1_1opengl_1_1_c_polyhedron_ptr.html">CPolyhedronPtr</a> mrpt::opengl::CPolyhedron::Create </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classstd_1_1vector.html">vector</a>&lt; <a class="el" href="structmrpt_1_1math_1_1_t_point3_d.html">TPoint3D</a> &gt; &amp;&#160;</td>
          <td class="paramname"><em>vertices</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classstd_1_1vector.html">vector</a>&lt; <a class="el" href="structmrpt_1_1opengl_1_1_c_polyhedron_1_1_t_polyhedron_face.html">TPolyhedronFace</a> &gt; &amp;&#160;</td>
          <td class="paramname"><em>faces</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [inline, static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Creation of a polyhedron from its vertices and faces. </p>
<dl><dt><b>Exceptions:</b></dt><dd>
  <table class="exception">
    <tr><td class="paramname">logic_error</td><td>if the polyhedron definition has flaws (bad vertex indices, etc.). </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="_c_polyhedron_8h_source.html#l00169">169</a> of file <a class="el" href="_c_polyhedron_8h_source.html">CPolyhedron.h</a>.</p>

<p>References <a class="el" href="_c_polyhedron_8h_source.html#l00041">mrpt::opengl::CPolyhedron</a>.</p>

</div>
</div>
<a class="anchor" id="a8f610812efa85eb74c414cf71671fc74"></a><!-- doxytag: member="mrpt::opengl::CPolyhedron::Create" ref="a8f610812efa85eb74c414cf71671fc74" args="(const std::vector&lt; math::TPolygon3D &gt; &amp;polys)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static <a class="el" href="structmrpt_1_1opengl_1_1_c_polyhedron_ptr.html">CPolyhedronPtr</a> mrpt::opengl::CPolyhedron::Create </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classstd_1_1vector.html">std::vector</a>&lt; <a class="el" href="classmrpt_1_1math_1_1_t_polygon3_d.html">math::TPolygon3D</a> &gt; &amp;&#160;</td>
          <td class="paramname"><em>polys</em></td><td>)</td>
          <td><code> [static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Creation from a set of polygons. </p>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="classmrpt_1_1math_1_1_t_polygon3_d.html" title="3D polygon, inheriting from std::vector&lt;TPoint3D&gt;">mrpt::math::TPolygon3D</a> </dd></dl>

</div>
</div>
<a class="anchor" id="a35f122e254f0a18cbb68835b7559300c"></a><!-- doxytag: member="mrpt::opengl::CPolyhedron::CreateArchimedeanRegularAntiprism" ref="a35f122e254f0a18cbb68835b7559300c" args="(uint32_t numBaseEdges, double baseRadius)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static <a class="el" href="structmrpt_1_1opengl_1_1_c_polyhedron_ptr.html">CPolyhedronPtr</a> mrpt::opengl::CPolyhedron::CreateArchimedeanRegularAntiprism </td>
          <td>(</td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>numBaseEdges</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>baseRadius</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [inline, static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Creates a regular antiprism whose lateral polygons are equilateral triangles, and so each face of its is a regular polygon. </p>
<p>Due to vertex transitivity, the resulting object is always archimedean. </p>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="classmrpt_1_1opengl_1_1_c_polyhedron.html#a2bfd0bcfc190c78a502e5649a3220d7a" title="Creates an antiprism whose base is a regular polygon.">CreateRegularAntiprism</a>,<a class="el" href="classmrpt_1_1opengl_1_1_c_polyhedron.html#a991ea17a7be98363b11b0bfe8c483e3c" title="Creates a custom antiprism, using two custom bases.">CreateCustomAntiprism</a> </dd></dl>

<p>Definition at line <a class="el" href="_c_polyhedron_8h_source.html#l00521">521</a> of file <a class="el" href="_c_polyhedron_8h_source.html">CPolyhedron.h</a>.</p>

</div>
</div>
<a class="anchor" id="a3dc5604546ae836502f799f6f9e32ba8"></a><!-- doxytag: member="mrpt::opengl::CPolyhedron::CreateArchimedeanRegularPrism" ref="a3dc5604546ae836502f799f6f9e32ba8" args="(uint32_t numBaseEdges, double baseRadius)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static <a class="el" href="structmrpt_1_1opengl_1_1_c_polyhedron_ptr.html">CPolyhedronPtr</a> mrpt::opengl::CPolyhedron::CreateArchimedeanRegularPrism </td>
          <td>(</td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>numBaseEdges</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>baseRadius</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [inline, static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Creates a regular prism whose lateral area is comprised of squares, and so each face of its is a regular polygon. </p>
<p>Due to vertex transitivity, the resulting object is always archimedean. </p>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="classmrpt_1_1opengl_1_1_c_polyhedron.html#a4da598ce54c1c2f1218e1a068ef7c7b2" title="Creates a regular prism whose base is a regular polygon and whose edges are either parallel or perpen...">CreateRegularPrism</a>,<a class="el" href="classmrpt_1_1opengl_1_1_c_polyhedron.html#aefdf1fa647b348eb8a3976a895608272" title="Creates a custom prism with vertical edges, given any base which will lie on the XY plane...">CreateCustomPrism</a> </dd></dl>

<p>Definition at line <a class="el" href="_c_polyhedron_8h_source.html#l00514">514</a> of file <a class="el" href="_c_polyhedron_8h_source.html">CPolyhedron.h</a>.</p>

</div>
</div>
<a class="anchor" id="a314673d6f1b215410fe41d84d1a6ef30"></a><!-- doxytag: member="mrpt::opengl::CPolyhedron::CreateBifrustum" ref="a314673d6f1b215410fe41d84d1a6ef30" args="(const vector&lt; TPoint2D &gt; &amp;baseVertices, double height1, double ratio1, double height2, double ratio2)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static <a class="el" href="structmrpt_1_1opengl_1_1_c_polyhedron_ptr.html">CPolyhedronPtr</a> mrpt::opengl::CPolyhedron::CreateBifrustum </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classstd_1_1vector.html">vector</a>&lt; <a class="el" href="structmrpt_1_1math_1_1_t_point2_d.html">TPoint2D</a> &gt; &amp;&#160;</td>
          <td class="paramname"><em>baseVertices</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>height1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>ratio1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>height2</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>ratio2</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Creates a bifrustum, or double truncated pyramid, given a base which will lie on the XY plane. </p>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="classmrpt_1_1opengl_1_1_c_polyhedron.html#afb420b4e2f254f54bbe8db0273173b90" title="This is a synonym for CreateTruncatedPyramid.">CreateFrustum</a>,<a class="el" href="classmrpt_1_1opengl_1_1_c_polyhedron.html#a8e7c7e8a26f924110e7bf7e1122f7f92" title="Creates a double pyramid, using a set of 2D vertices which will lie on the XY plane.">CreateDoublePyramid</a> </dd></dl>

</div>
</div>
<a class="anchor" id="a2a30c3dede6cac1a3c9d2098846136bc"></a><!-- doxytag: member="mrpt::opengl::CPolyhedron::CreateCatalanDoublePyramid" ref="a2a30c3dede6cac1a3c9d2098846136bc" args="(uint32_t numBaseEdges, double height)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static <a class="el" href="structmrpt_1_1opengl_1_1_c_polyhedron_ptr.html">CPolyhedronPtr</a> mrpt::opengl::CPolyhedron::CreateCatalanDoublePyramid </td>
          <td>(</td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>numBaseEdges</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>height</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [inline, static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Creates a double pyramid whose dual is exactly an archimedean prism. </p>
<p>Creates an octahedron if numBaseEdges is equal to 4. </p>
<dl class="todo"><dt><b><a class="el" href="todo.html#_todo000005">Todo:</a></b></dt><dd>Actually resulting height is significantly higher than that passed to the algorithm. </dd></dl>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="classmrpt_1_1opengl_1_1_c_polyhedron.html#a8e7c7e8a26f924110e7bf7e1122f7f92" title="Creates a double pyramid, using a set of 2D vertices which will lie on the XY plane.">CreateDoublePyramid</a>,<a class="el" href="classmrpt_1_1opengl_1_1_c_polyhedron.html#a3dc5604546ae836502f799f6f9e32ba8" title="Creates a regular prism whose lateral area is comprised of squares, and so each face of its is a regu...">CreateArchimedeanRegularPrism</a>,<a class="el" href="classmrpt_1_1opengl_1_1_c_polyhedron.html#a64b6187c6dd8cf86ba243c6bbd54b871" title="Given a polyhedron, creates its dual.">getDual</a> </dd></dl>

<p>Definition at line <a class="el" href="_c_polyhedron_8h_source.html#l00565">565</a> of file <a class="el" href="_c_polyhedron_8h_source.html">CPolyhedron.h</a>.</p>

</div>
</div>
<a class="anchor" id="a5d9f3a15f0c8196446b8a8b62278cc50"></a><!-- doxytag: member="mrpt::opengl::CPolyhedron::CreateCatalanTrapezohedron" ref="a5d9f3a15f0c8196446b8a8b62278cc50" args="(uint32_t numBaseEdges, double height)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static <a class="el" href="structmrpt_1_1opengl_1_1_c_polyhedron_ptr.html">CPolyhedronPtr</a> mrpt::opengl::CPolyhedron::CreateCatalanTrapezohedron </td>
          <td>(</td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>numBaseEdges</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>height</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [inline, static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Creates a trapezohedron whose dual is exactly an archimedean antiprism. </p>
<p>Creates a cube if numBaseEdges is equal to 3. </p>
<dl class="todo"><dt><b><a class="el" href="todo.html#_todo000004">Todo:</a></b></dt><dd>Actually resulting height is significantly higher than that passed to the algorithm. </dd></dl>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="classmrpt_1_1opengl_1_1_c_polyhedron.html#a8c72fe48dc8a72f511d923cb3c4bbfa7" title="Creates a trapezohedron, consisting of 2*N kites, where N is the number of edges in the base...">CreateTrapezohedron</a>,<a class="el" href="classmrpt_1_1opengl_1_1_c_polyhedron.html#a35f122e254f0a18cbb68835b7559300c" title="Creates a regular antiprism whose lateral polygons are equilateral triangles, and so each face of its...">CreateArchimedeanRegularAntiprism</a>,<a class="el" href="classmrpt_1_1opengl_1_1_c_polyhedron.html#a64b6187c6dd8cf86ba243c6bbd54b871" title="Given a polyhedron, creates its dual.">getDual</a> </dd></dl>

<p>Definition at line <a class="el" href="_c_polyhedron_8h_source.html#l00557">557</a> of file <a class="el" href="_c_polyhedron_8h_source.html">CPolyhedron.h</a>.</p>

</div>
</div>
<a class="anchor" id="ada04c86cfccdc9e1f7d15eb9c909fc95"></a><!-- doxytag: member="mrpt::opengl::CPolyhedron::CreateCubicPrism" ref="ada04c86cfccdc9e1f7d15eb9c909fc95" args="(double x1, double x2, double y1, double y2, double z1, double z2)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static <a class="el" href="structmrpt_1_1opengl_1_1_c_polyhedron_ptr.html">CPolyhedronPtr</a> mrpt::opengl::CPolyhedron::CreateCubicPrism </td>
          <td>(</td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>x1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>x2</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>y1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>y2</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>z1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>z2</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Creates a cubic prism, given the coordinates of two opposite vertices. </p>
<p>Each edge will be parallel to one of the coordinate axes, although the orientation may change by assigning a pose to the object. </p>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="classmrpt_1_1opengl_1_1_c_polyhedron.html#a87af3f5900561d030cf73396c1a48242" title="Creates a cubic prism, given two opposite vertices.">CreateCubicPrism(const mrpt::math::TPoint3D &amp;,const mrpt::math::TPoint3D &amp;)</a>,<a class="el" href="classmrpt_1_1opengl_1_1_c_polyhedron.html#aca8e4b9f9ef2f590b2678e620aae78c3" title="Creates a parallelepiped, given a base point and three vectors represented as points.">CreateParallelepiped</a>,<a class="el" href="classmrpt_1_1opengl_1_1_c_polyhedron.html#aefdf1fa647b348eb8a3976a895608272" title="Creates a custom prism with vertical edges, given any base which will lie on the XY plane...">CreateCustomPrism</a>,<a class="el" href="classmrpt_1_1opengl_1_1_c_polyhedron.html#a4da598ce54c1c2f1218e1a068ef7c7b2" title="Creates a regular prism whose base is a regular polygon and whose edges are either parallel or perpen...">CreateRegularPrism</a>,<a class="el" href="classmrpt_1_1opengl_1_1_c_polyhedron.html#a3dc5604546ae836502f799f6f9e32ba8" title="Creates a regular prism whose lateral area is comprised of squares, and so each face of its is a regu...">CreateArchimedeanRegularPrism</a> </dd></dl>

</div>
</div>
<a class="anchor" id="a87af3f5900561d030cf73396c1a48242"></a><!-- doxytag: member="mrpt::opengl::CPolyhedron::CreateCubicPrism" ref="a87af3f5900561d030cf73396c1a48242" args="(const TPoint3D &amp;p1, const TPoint3D &amp;p2)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static <a class="el" href="structmrpt_1_1opengl_1_1_c_polyhedron_ptr.html">CPolyhedronPtr</a> mrpt::opengl::CPolyhedron::CreateCubicPrism </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="structmrpt_1_1math_1_1_t_point3_d.html">TPoint3D</a> &amp;&#160;</td>
          <td class="paramname"><em>p1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="structmrpt_1_1math_1_1_t_point3_d.html">TPoint3D</a> &amp;&#160;</td>
          <td class="paramname"><em>p2</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [inline, static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Creates a cubic prism, given two opposite vertices. </p>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="classmrpt_1_1opengl_1_1_c_polyhedron.html#ada04c86cfccdc9e1f7d15eb9c909fc95" title="Creates a cubic prism, given the coordinates of two opposite vertices.">CreateCubicPrism(double,double,double,double,double,double)</a>,<a class="el" href="classmrpt_1_1opengl_1_1_c_polyhedron.html#aca8e4b9f9ef2f590b2678e620aae78c3" title="Creates a parallelepiped, given a base point and three vectors represented as points.">CreateParallelepiped</a>,<a class="el" href="classmrpt_1_1opengl_1_1_c_polyhedron.html#aefdf1fa647b348eb8a3976a895608272" title="Creates a custom prism with vertical edges, given any base which will lie on the XY plane...">CreateCustomPrism</a>,<a class="el" href="classmrpt_1_1opengl_1_1_c_polyhedron.html#a4da598ce54c1c2f1218e1a068ef7c7b2" title="Creates a regular prism whose base is a regular polygon and whose edges are either parallel or perpen...">CreateRegularPrism</a>,<a class="el" href="classmrpt_1_1opengl_1_1_c_polyhedron.html#a3dc5604546ae836502f799f6f9e32ba8" title="Creates a regular prism whose lateral area is comprised of squares, and so each face of its is a regu...">CreateArchimedeanRegularPrism</a> </dd></dl>

<p>Definition at line <a class="el" href="_c_polyhedron_8h_source.html#l00429">429</a> of file <a class="el" href="_c_polyhedron_8h_source.html">CPolyhedron.h</a>.</p>

<p>References <a class="el" href="lightweight__geom__data_8h_source.html#l00293">mrpt::math::TPoint3D::x</a>, <a class="el" href="lightweight__geom__data_8h_source.html#l00294">mrpt::math::TPoint3D::y</a>, and <a class="el" href="lightweight__geom__data_8h_source.html#l00295">mrpt::math::TPoint3D::z</a>.</p>

</div>
</div>
<a class="anchor" id="a278592678d7db21878da2dd82b800e6f"></a><!-- doxytag: member="mrpt::opengl::CPolyhedron::CreateCuboctahedron" ref="a278592678d7db21878da2dd82b800e6f" args="(double radius)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static <a class="el" href="structmrpt_1_1opengl_1_1_c_polyhedron_ptr.html">CPolyhedronPtr</a> mrpt::opengl::CPolyhedron::CreateCuboctahedron </td>
          <td>(</td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>radius</em></td><td>)</td>
          <td><code> [inline, static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Creates a cuboctahedron, consisting of six square faces and eight triangular ones (see <a href="http://en.wikipedia.org/wiki/Cuboctahedron">http://en.wikipedia.org/wiki/Cuboctahedron</a>). </p>
<p>There are several ways to create a cuboctahedron: </p>
<ul>
<li>
Hexahedron truncated to a certain extent.</li>
<li>
Octahedron truncated to a certain extent.</li>
<li>
Cantellated tetrahedron</li>
<li>
Dual to a rhombic dodecahedron.</li>
</ul>
<div class="image">
<img src="Cuboctahedron.gif" alt="Cuboctahedron.gif"/>
</div>
 <dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="classmrpt_1_1opengl_1_1_c_polyhedron.html#a825d924818c1d20c1f96c76f1a510603" title="Creates a regular cube, also called hexahedron (see http://en.wikipedia.org/wiki/Hexahedron).">CreateHexahedron</a>,<a class="el" href="classmrpt_1_1opengl_1_1_c_polyhedron.html#aafb26eb43f14cdb5652e0d6b61235369" title="Creates a regular octahedron (see http://en.wikipedia.org/wiki/Octahedron).">CreateOctahedron</a>,<a class="el" href="classmrpt_1_1opengl_1_1_c_polyhedron.html#a16a60771db55ba737bded03b74f2c859" title="Truncates a polyhedron to a given factor.">truncate</a>,<a class="el" href="classmrpt_1_1opengl_1_1_c_polyhedron.html#a68bb037f21253016dda8c3107424059f" title="Creates a regular tetrahedron (see http://en.wikipedia.org/wiki/Tetrahedron).">CreateTetrahedron</a>,<a class="el" href="classmrpt_1_1opengl_1_1_c_polyhedron.html#ab1bc7afd0fa41a820938d9dbb86f36a5" title="Cantellates a polyhedron to a given factor.">cantellate</a>,<a class="el" href="classmrpt_1_1opengl_1_1_c_polyhedron.html#abbcc7e07b79275c2cf6e644fb2f2edc4" title="Creates a rhombicuboctahedron, with 18 squares and 8 triangles (see http://en.wikipedia.org/wiki/Rhombicuboctahedron), calculated as an elongated square bicupola.">CreateRhombicuboctahedron</a>,<a class="el" href="classmrpt_1_1opengl_1_1_c_polyhedron.html#a33e96c2f17fc475d6148a7ee0f3dc595" title="Creates a rhombic dodecahedron, dual to the cuboctahedron.">CreateRhombicDodecahedron</a>, </dd></dl>

<p>Definition at line <a class="el" href="_c_polyhedron_8h_source.html#l00253">253</a> of file <a class="el" href="_c_polyhedron_8h_source.html">CPolyhedron.h</a>.</p>

</div>
</div>
<a class="anchor" id="aefe00691ac58380eabdb7bbfb8c7c466"></a><!-- doxytag: member="mrpt::opengl::CPolyhedron::CreateCupola" ref="aefe00691ac58380eabdb7bbfb8c7c466" args="(uint32_t numBaseEdges, double edgeLength)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static <a class="el" href="structmrpt_1_1opengl_1_1_c_polyhedron_ptr.html">CPolyhedronPtr</a> mrpt::opengl::CPolyhedron::CreateCupola </td>
          <td>(</td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>numBaseEdges</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>edgeLength</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [inline, static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Creates a cupola. </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 the number of edges is odd or less than four. </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="_c_polyhedron_8h_source.html#l00549">549</a> of file <a class="el" href="_c_polyhedron_8h_source.html">CPolyhedron.h</a>.</p>

<p>References <a class="el" href="mrpt__macros_8h_source.html#l00383">M_PI</a>.</p>

</div>
</div>
<a class="anchor" id="a991ea17a7be98363b11b0bfe8c483e3c"></a><!-- doxytag: member="mrpt::opengl::CPolyhedron::CreateCustomAntiprism" ref="a991ea17a7be98363b11b0bfe8c483e3c" args="(const vector&lt; TPoint2D &gt; &amp;bottomBase, const vector&lt; TPoint2D &gt; &amp;topBase, double height)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static <a class="el" href="structmrpt_1_1opengl_1_1_c_polyhedron_ptr.html">CPolyhedronPtr</a> mrpt::opengl::CPolyhedron::CreateCustomAntiprism </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classstd_1_1vector.html">vector</a>&lt; <a class="el" href="structmrpt_1_1math_1_1_t_point2_d.html">TPoint2D</a> &gt; &amp;&#160;</td>
          <td class="paramname"><em>bottomBase</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classstd_1_1vector.html">vector</a>&lt; <a class="el" href="structmrpt_1_1math_1_1_t_point2_d.html">TPoint2D</a> &gt; &amp;&#160;</td>
          <td class="paramname"><em>topBase</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>height</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Creates a custom antiprism, using two custom bases. </p>
<p>For better results, the top base should be slightly rotated with respect to the bottom one. </p>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="classmrpt_1_1opengl_1_1_c_polyhedron.html#aefdf1fa647b348eb8a3976a895608272" title="Creates a custom prism with vertical edges, given any base which will lie on the XY plane...">CreateCustomPrism</a>,<a class="el" href="classmrpt_1_1opengl_1_1_c_polyhedron.html#a2bfd0bcfc190c78a502e5649a3220d7a" title="Creates an antiprism whose base is a regular polygon.">CreateRegularAntiprism</a>,<a class="el" href="classmrpt_1_1opengl_1_1_c_polyhedron.html#a35f122e254f0a18cbb68835b7559300c" title="Creates a regular antiprism whose lateral polygons are equilateral triangles, and so each face of its...">CreateArchimedeanRegularAntiprism</a> </dd></dl>

</div>
</div>
<a class="anchor" id="aefdf1fa647b348eb8a3976a895608272"></a><!-- doxytag: member="mrpt::opengl::CPolyhedron::CreateCustomPrism" ref="aefdf1fa647b348eb8a3976a895608272" args="(const vector&lt; TPoint2D &gt; &amp;baseVertices, double height)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static <a class="el" href="structmrpt_1_1opengl_1_1_c_polyhedron_ptr.html">CPolyhedronPtr</a> mrpt::opengl::CPolyhedron::CreateCustomPrism </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classstd_1_1vector.html">vector</a>&lt; <a class="el" href="structmrpt_1_1math_1_1_t_point2_d.html">TPoint2D</a> &gt; &amp;&#160;</td>
          <td class="paramname"><em>baseVertices</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>height</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [inline, static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Creates a custom prism with vertical edges, given any base which will lie on the XY plane. </p>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="classmrpt_1_1opengl_1_1_c_polyhedron.html#ada04c86cfccdc9e1f7d15eb9c909fc95" title="Creates a cubic prism, given the coordinates of two opposite vertices.">CreateCubicPrism</a>,<a class="el" href="classmrpt_1_1opengl_1_1_c_polyhedron.html#a991ea17a7be98363b11b0bfe8c483e3c" title="Creates a custom antiprism, using two custom bases.">CreateCustomAntiprism</a>,<a class="el" href="classmrpt_1_1opengl_1_1_c_polyhedron.html#a4da598ce54c1c2f1218e1a068ef7c7b2" title="Creates a regular prism whose base is a regular polygon and whose edges are either parallel or perpen...">CreateRegularPrism</a>,<a class="el" href="classmrpt_1_1opengl_1_1_c_polyhedron.html#a3dc5604546ae836502f799f6f9e32ba8" title="Creates a regular prism whose lateral area is comprised of squares, and so each face of its is a regu...">CreateArchimedeanRegularPrism</a> </dd></dl>

<p>Definition at line <a class="el" href="_c_polyhedron_8h_source.html#l00459">459</a> of file <a class="el" href="_c_polyhedron_8h_source.html">CPolyhedron.h</a>.</p>

</div>
</div>
<a class="anchor" id="ad48fc0fee55125494e037f623699e2a5"></a><!-- doxytag: member="mrpt::opengl::CPolyhedron::CreateDeltoidalHexecontahedron" ref="ad48fc0fee55125494e037f623699e2a5" args="(double radius)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static <a class="el" href="structmrpt_1_1opengl_1_1_c_polyhedron_ptr.html">CPolyhedronPtr</a> mrpt::opengl::CPolyhedron::CreateDeltoidalHexecontahedron </td>
          <td>(</td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>radius</em></td><td>)</td>
          <td><code> [inline, static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Creates a deltoidal hexecontahedron, dual to the rhombicosidodecahedron. </p>
<p>This body consists of 60 kites (see <a href="http://en.wikipedia.org/wiki/Deltoidal_hexecontahedron">http://en.wikipedia.org/wiki/Deltoidal_hexecontahedron</a>). </p>
<div class="image">
<img src="Deltoidalhexecontahedron.gif" alt="Deltoidalhexecontahedron.gif"/>
</div>
 <dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="classmrpt_1_1opengl_1_1_c_polyhedron.html#aa4e3394c57d85925dcf3dde8fed07509" title="Creates a rhombicosidodecahedron, consisting of 30 squares, 12 pentagons and 20 triangles (see http:/...">CreateRhombicosidodecahedron</a> </dd></dl>

<p>Definition at line <a class="el" href="_c_polyhedron_8h_source.html#l00411">411</a> of file <a class="el" href="_c_polyhedron_8h_source.html">CPolyhedron.h</a>.</p>

</div>
</div>
<a class="anchor" id="a9a5c5cfc7394914396f7b431dbc4520f"></a><!-- doxytag: member="mrpt::opengl::CPolyhedron::CreateDeltoidalIcositetrahedron" ref="a9a5c5cfc7394914396f7b431dbc4520f" args="(double radius)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static <a class="el" href="structmrpt_1_1opengl_1_1_c_polyhedron_ptr.html">CPolyhedronPtr</a> mrpt::opengl::CPolyhedron::CreateDeltoidalIcositetrahedron </td>
          <td>(</td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>radius</em></td><td>)</td>
          <td><code> [inline, static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Creates a deltoidal icositetrahedron, dual to the rhombicuboctahedron. </p>
<p>This body consists of 24 kites (see <a href="http://en.wikipedia.org/wiki/Deltoidal_icositetrahedron">http://en.wikipedia.org/wiki/Deltoidal_icositetrahedron</a>). </p>
<div class="image">
<img src="Deltoidalicositetrahedron.gif" alt="Deltoidalicositetrahedron.gif"/>
</div>
 <dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="classmrpt_1_1opengl_1_1_c_polyhedron.html#abbcc7e07b79275c2cf6e644fb2f2edc4" title="Creates a rhombicuboctahedron, with 18 squares and 8 triangles (see http://en.wikipedia.org/wiki/Rhombicuboctahedron), calculated as an elongated square bicupola.">CreateRhombicuboctahedron</a> </dd></dl>

<p>Definition at line <a class="el" href="_c_polyhedron_8h_source.html#l00375">375</a> of file <a class="el" href="_c_polyhedron_8h_source.html">CPolyhedron.h</a>.</p>

</div>
</div>
<a class="anchor" id="a3a5d9f432b82a7111ef157bcaf4c6d1e"></a><!-- doxytag: member="mrpt::opengl::CPolyhedron::CreateDodecahedron" ref="a3a5d9f432b82a7111ef157bcaf4c6d1e" args="(double radius)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static <a class="el" href="structmrpt_1_1opengl_1_1_c_polyhedron_ptr.html">CPolyhedronPtr</a> mrpt::opengl::CPolyhedron::CreateDodecahedron </td>
          <td>(</td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>radius</em></td><td>)</td>
          <td><code> [inline, static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Creates a regular dodecahedron (see <a href="http://en.wikipedia.org/wiki/Dodecahedron">http://en.wikipedia.org/wiki/Dodecahedron</a>). </p>
<p>The dodecahedron is created as the dual to an icosahedron. </p>
<div class="image">
<img src="Dodecahedron.gif" alt="Dodecahedron.gif"/>
</div>
 <dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="classmrpt_1_1opengl_1_1_c_polyhedron.html#ac85b11b7fc9a7ff2d204e9f95059a2f9" title="Creates a regular icosahedron (see http://en.wikipedia.org/wiki/Icosahedron).">CreateIcosahedron</a>,<a class="el" href="classmrpt_1_1opengl_1_1_c_polyhedron.html#a64b6187c6dd8cf86ba243c6bbd54b871" title="Given a polyhedron, creates its dual.">getDual</a>,<a class="el" href="classmrpt_1_1opengl_1_1_c_polyhedron.html#ace6a781e07834b848a4a013d1f401897" title="Creates a truncated dodecahedron, consisting of 12 dodecagons and 20 triangles (see http://en...">CreateTruncatedDodecahedron</a>,<a class="el" href="classmrpt_1_1opengl_1_1_c_polyhedron.html#ace880e6a89b94859b655cb499e5a280b" title="Creates a truncated icosahedron, consisting of 20 hexagons and 12 pentagons.">CreateTruncatedIcosahedron</a>,<a class="el" href="classmrpt_1_1opengl_1_1_c_polyhedron.html#aa3c7301231c8f025c3f755b4292f18ea" title="Creates an icosidodecahedron, with 12 pentagons and 20 triangles (see http://en.wikipedia.org/wiki/Icosidodecahedron).">CreateIcosidodecahedron</a>,<a class="el" href="classmrpt_1_1opengl_1_1_c_polyhedron.html#aa4e3394c57d85925dcf3dde8fed07509" title="Creates a rhombicosidodecahedron, consisting of 30 squares, 12 pentagons and 20 triangles (see http:/...">CreateRhombicosidodecahedron</a> </dd></dl>

<p>Definition at line <a class="el" href="_c_polyhedron_8h_source.html#l00219">219</a> of file <a class="el" href="_c_polyhedron_8h_source.html">CPolyhedron.h</a>.</p>

</div>
</div>
<a class="anchor" id="a8e7c7e8a26f924110e7bf7e1122f7f92"></a><!-- doxytag: member="mrpt::opengl::CPolyhedron::CreateDoublePyramid" ref="a8e7c7e8a26f924110e7bf7e1122f7f92" args="(const vector&lt; TPoint2D &gt; &amp;baseVertices, double height1, double height2)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static <a class="el" href="structmrpt_1_1opengl_1_1_c_polyhedron_ptr.html">CPolyhedronPtr</a> mrpt::opengl::CPolyhedron::CreateDoublePyramid </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classstd_1_1vector.html">vector</a>&lt; <a class="el" href="structmrpt_1_1math_1_1_t_point2_d.html">TPoint2D</a> &gt; &amp;&#160;</td>
          <td class="paramname"><em>baseVertices</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>height1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>height2</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Creates a double pyramid, using a set of 2D vertices which will lie on the XY plane. </p>
<p>The second height is used with the downwards pointing pyramid, so that it will effectively point downwards if it's positive. </p>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="classmrpt_1_1opengl_1_1_c_polyhedron.html#a7c2e13d36e7f4270c34152771b68333e" title="Creates a custom pyramid, using a set of 2D vertices which will lie on the XY plane.">CreatePyramid</a>,<a class="el" href="classmrpt_1_1opengl_1_1_c_polyhedron.html#a314673d6f1b215410fe41d84d1a6ef30" title="Creates a bifrustum, or double truncated pyramid, given a base which will lie on the XY plane...">CreateBifrustum</a>,<a class="el" href="classmrpt_1_1opengl_1_1_c_polyhedron.html#a3a236dd64b7cadcd47018d4b03ac5921" title="Creates a regular double pyramid whose base is a regular polygon.">CreateRegularDoublePyramid</a> </dd></dl>

</div>
</div>
<a class="anchor" id="ada3c811270a3a4e7d74b02a8ac0f4cb0"></a><!-- doxytag: member="mrpt::opengl::CPolyhedron::CreateEmpty" ref="ada3c811270a3a4e7d74b02a8ac0f4cb0" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static <a class="el" href="structmrpt_1_1opengl_1_1_c_polyhedron_ptr.html">CPolyhedronPtr</a> mrpt::opengl::CPolyhedron::CreateEmpty </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td><code> [inline, static, private]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Creates an empty Polyhedron. </p>

<p>Definition at line <a class="el" href="_c_polyhedron_8h_source.html#l00845">845</a> of file <a class="el" href="_c_polyhedron_8h_source.html">CPolyhedron.h</a>.</p>

<p>References <a class="el" href="_c_polyhedron_8h_source.html#l00041">mrpt::opengl::CPolyhedron</a>.</p>

</div>
</div>
<a class="anchor" id="afb420b4e2f254f54bbe8db0273173b90"></a><!-- doxytag: member="mrpt::opengl::CPolyhedron::CreateFrustum" ref="afb420b4e2f254f54bbe8db0273173b90" args="(const vector&lt; TPoint2D &gt; &amp;baseVertices, double height, double ratio)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static <a class="el" href="structmrpt_1_1opengl_1_1_c_polyhedron_ptr.html">CPolyhedronPtr</a> mrpt::opengl::CPolyhedron::CreateFrustum </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classstd_1_1vector.html">vector</a>&lt; <a class="el" href="structmrpt_1_1math_1_1_t_point2_d.html">TPoint2D</a> &gt; &amp;&#160;</td>
          <td class="paramname"><em>baseVertices</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>height</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>ratio</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [inline, static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>This is a synonym for CreateTruncatedPyramid. </p>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="classmrpt_1_1opengl_1_1_c_polyhedron.html#ac3a9f78124b19722529a50bacb3c45d7" title="Creates a truncated pyramid, using a set of vertices which will lie on the XY plane.">CreateTruncatedPyramid</a> </dd></dl>

<p>Definition at line <a class="el" href="_c_polyhedron_8h_source.html#l00452">452</a> of file <a class="el" href="_c_polyhedron_8h_source.html">CPolyhedron.h</a>.</p>

</div>
</div>
<a class="anchor" id="a825d924818c1d20c1f96c76f1a510603"></a><!-- doxytag: member="mrpt::opengl::CPolyhedron::CreateHexahedron" ref="a825d924818c1d20c1f96c76f1a510603" args="(double radius)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static <a class="el" href="structmrpt_1_1opengl_1_1_c_polyhedron_ptr.html">CPolyhedronPtr</a> mrpt::opengl::CPolyhedron::CreateHexahedron </td>
          <td>(</td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>radius</em></td><td>)</td>
          <td><code> [inline, static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Creates a regular cube, also called hexahedron (see <a href="http://en.wikipedia.org/wiki/Hexahedron">http://en.wikipedia.org/wiki/Hexahedron</a>). </p>
<p>The hexahedron is created as a cubic prism which transitive edges. Another ways to create it include: </p>
<ul>
<li>
Dual to an octahedron.</li>
<li>
Parallelepiped with three orthogonal, equally-lengthed vectors.</li>
<li>
Triangular trapezohedron with proper height.</li>
</ul>
<div class="image">
<img src="Hexahedron.gif" alt="Hexahedron.gif"/>
</div>
 <dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="classmrpt_1_1opengl_1_1_c_polyhedron.html#aafb26eb43f14cdb5652e0d6b61235369" title="Creates a regular octahedron (see http://en.wikipedia.org/wiki/Octahedron).">CreateOctahedron</a>,<a class="el" href="classmrpt_1_1opengl_1_1_c_polyhedron.html#a64b6187c6dd8cf86ba243c6bbd54b871" title="Given a polyhedron, creates its dual.">getDual</a>,<a class="el" href="classmrpt_1_1opengl_1_1_c_polyhedron.html#aca8e4b9f9ef2f590b2678e620aae78c3" title="Creates a parallelepiped, given a base point and three vectors represented as points.">CreateParallelepiped</a>,<a class="el" href="classmrpt_1_1opengl_1_1_c_polyhedron.html#a8c72fe48dc8a72f511d923cb3c4bbfa7" title="Creates a trapezohedron, consisting of 2*N kites, where N is the number of edges in the base...">CreateTrapezohedron</a>,<a class="el" href="classmrpt_1_1opengl_1_1_c_polyhedron.html#a0f60dde324e4df0ed62f915f34df91ef" title="Creates a truncated hexahedron, with six octogonal faces and eight triangular ones (see http://en...">CreateTruncatedHexahedron</a>,<a class="el" href="classmrpt_1_1opengl_1_1_c_polyhedron.html#a4b6ab0d31bd0e04dcb9d1e0e04364bd3" title="Creates a truncated octahedron, with eight hexagons and eight squares (see http://en.wikipedia.org/wiki/Truncated_octahedron).">CreateTruncatedOctahedron</a>,<a class="el" href="classmrpt_1_1opengl_1_1_c_polyhedron.html#a278592678d7db21878da2dd82b800e6f" title="Creates a cuboctahedron, consisting of six square faces and eight triangular ones (see http://en...">CreateCuboctahedron</a>,<a class="el" href="classmrpt_1_1opengl_1_1_c_polyhedron.html#abbcc7e07b79275c2cf6e644fb2f2edc4" title="Creates a rhombicuboctahedron, with 18 squares and 8 triangles (see http://en.wikipedia.org/wiki/Rhombicuboctahedron), calculated as an elongated square bicupola.">CreateRhombicuboctahedron</a> </dd></dl>

<p>Definition at line <a class="el" href="_c_polyhedron_8h_source.html#l00200">200</a> of file <a class="el" href="_c_polyhedron_8h_source.html">CPolyhedron.h</a>.</p>

</div>
</div>
<a class="anchor" id="ac85b11b7fc9a7ff2d204e9f95059a2f9"></a><!-- doxytag: member="mrpt::opengl::CPolyhedron::CreateIcosahedron" ref="ac85b11b7fc9a7ff2d204e9f95059a2f9" args="(double radius)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static <a class="el" href="structmrpt_1_1opengl_1_1_c_polyhedron_ptr.html">CPolyhedronPtr</a> mrpt::opengl::CPolyhedron::CreateIcosahedron </td>
          <td>(</td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>radius</em></td><td>)</td>
          <td><code> [inline, static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Creates a regular icosahedron (see <a href="http://en.wikipedia.org/wiki/Icosahedron">http://en.wikipedia.org/wiki/Icosahedron</a>). </p>
<p>The icosahedron is created as a gyroelongated pentagonal bipyramid with transitive edges, and it's the dual to a dodecahedron. </p>
<div class="image">
<img src="Icosahedron.gif" alt="Icosahedron.gif"/>
</div>
 <dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="classmrpt_1_1opengl_1_1_c_polyhedron.html#a0deea6879ac7e236a9bc8d776c0ae192" title="Creates a series of concatenated solids (most of which are prismatoids) whose base is a regular polyg...">CreateJohnsonSolidWithConstantBase</a>,<a class="el" href="classmrpt_1_1opengl_1_1_c_polyhedron.html#a3a5d9f432b82a7111ef157bcaf4c6d1e" title="Creates a regular dodecahedron (see http://en.wikipedia.org/wiki/Dodecahedron).">CreateDodecahedron</a>,<a class="el" href="classmrpt_1_1opengl_1_1_c_polyhedron.html#a64b6187c6dd8cf86ba243c6bbd54b871" title="Given a polyhedron, creates its dual.">getDual</a>,<a class="el" href="classmrpt_1_1opengl_1_1_c_polyhedron.html#ace880e6a89b94859b655cb499e5a280b" title="Creates a truncated icosahedron, consisting of 20 hexagons and 12 pentagons.">CreateTruncatedIcosahedron</a>,<a class="el" href="classmrpt_1_1opengl_1_1_c_polyhedron.html#ace6a781e07834b848a4a013d1f401897" title="Creates a truncated dodecahedron, consisting of 12 dodecagons and 20 triangles (see http://en...">CreateTruncatedDodecahedron</a>,<a class="el" href="classmrpt_1_1opengl_1_1_c_polyhedron.html#aa3c7301231c8f025c3f755b4292f18ea" title="Creates an icosidodecahedron, with 12 pentagons and 20 triangles (see http://en.wikipedia.org/wiki/Icosidodecahedron).">CreateIcosidodecahedron</a>,<a class="el" href="classmrpt_1_1opengl_1_1_c_polyhedron.html#aa4e3394c57d85925dcf3dde8fed07509" title="Creates a rhombicosidodecahedron, consisting of 30 squares, 12 pentagons and 20 triangles (see http:/...">CreateRhombicosidodecahedron</a> </dd></dl>

<p>Definition at line <a class="el" href="_c_polyhedron_8h_source.html#l00227">227</a> of file <a class="el" href="_c_polyhedron_8h_source.html">CPolyhedron.h</a>.</p>

<p>References <a class="el" href="mrpt__macros_8h_source.html#l00383">M_PI</a>, and <a class="el" href="bits_8h_source.html#l00161">mrpt::utils::square()</a>.</p>

</div>
</div>
<a class="anchor" id="aa3c7301231c8f025c3f755b4292f18ea"></a><!-- doxytag: member="mrpt::opengl::CPolyhedron::CreateIcosidodecahedron" ref="aa3c7301231c8f025c3f755b4292f18ea" args="(double radius, bool type=true)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static <a class="el" href="structmrpt_1_1opengl_1_1_c_polyhedron_ptr.html">CPolyhedronPtr</a> mrpt::opengl::CPolyhedron::CreateIcosidodecahedron </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">bool&#160;</td>
          <td class="paramname"><em>type</em> = <code>true</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [inline, static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Creates an icosidodecahedron, with 12 pentagons and 20 triangles (see <a href="http://en.wikipedia.org/wiki/Icosidodecahedron">http://en.wikipedia.org/wiki/Icosidodecahedron</a>). </p>
<p>Certain truncations of either a dodecahedron or an icosahedron yield an icosidodecahedron. The dual of the icosidodecahedron is the rhombic triacontahedron. If the second argument is set to false, the lower rotunda is rotated. In this case, the object created is a pentagonal orthobirotunda (see <a href="http://en.wikipedia.org/wiki/Pentagonal_orthobirotunda">http://en.wikipedia.org/wiki/Pentagonal_orthobirotunda</a>). This object presents symmetry against the XY plane and is not vertex transitive, so it's a Johnson's solid. </p>
<div class="image">
<img src="Icosidodecahedron.gif" alt="Icosidodecahedron.gif"/>
</div>
 <dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="classmrpt_1_1opengl_1_1_c_polyhedron.html#a3a5d9f432b82a7111ef157bcaf4c6d1e" title="Creates a regular dodecahedron (see http://en.wikipedia.org/wiki/Dodecahedron).">CreateDodecahedron</a>,<a class="el" href="classmrpt_1_1opengl_1_1_c_polyhedron.html#ac85b11b7fc9a7ff2d204e9f95059a2f9" title="Creates a regular icosahedron (see http://en.wikipedia.org/wiki/Icosahedron).">CreateIcosahedron</a>,<a class="el" href="classmrpt_1_1opengl_1_1_c_polyhedron.html#a16a60771db55ba737bded03b74f2c859" title="Truncates a polyhedron to a given factor.">truncate</a>,<a class="el" href="classmrpt_1_1opengl_1_1_c_polyhedron.html#aa4e3394c57d85925dcf3dde8fed07509" title="Creates a rhombicosidodecahedron, consisting of 30 squares, 12 pentagons and 20 triangles (see http:/...">CreateRhombicosidodecahedron</a>,<a class="el" href="classmrpt_1_1opengl_1_1_c_polyhedron.html#a3974c89c4b1ee7b4d705b615dc96c972" title="Creates a rhombic triacontahedron, dual to the icosidodecahedron.">CreateRhombicTriacontahedron</a> </dd></dl>

<p>Definition at line <a class="el" href="_c_polyhedron_8h_source.html#l00288">288</a> of file <a class="el" href="_c_polyhedron_8h_source.html">CPolyhedron.h</a>.</p>

</div>
</div>
<a class="anchor" id="a0deea6879ac7e236a9bc8d776c0ae192"></a><!-- doxytag: member="mrpt::opengl::CPolyhedron::CreateJohnsonSolidWithConstantBase" ref="a0deea6879ac7e236a9bc8d776c0ae192" args="(uint32_t numBaseEdges, double baseRadius, const std::string &amp;components, size_t shifts=0)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static <a class="el" href="structmrpt_1_1opengl_1_1_c_polyhedron_ptr.html">CPolyhedronPtr</a> mrpt::opengl::CPolyhedron::CreateJohnsonSolidWithConstantBase </td>
          <td>(</td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>numBaseEdges</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>baseRadius</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classstd_1_1string.html">std::string</a> &amp;&#160;</td>
          <td class="paramname"><em>components</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>shifts</em> = <code>0</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Creates a series of concatenated solids (most of which are prismatoids) whose base is a regular polygon with a given number of edges. </p>
<p>Every face of the resulting body will be a regular polygon, so it is a Johnson solid; in special cases, it may be archimedean or even platonic. The shape of the body is defined by the string argument, which can include one or more of the following: </p>
<center><table class="doxtable">
<tr>
<td><b>String</b></td><td><b>Body</b></td><td><b>Restrictions</b> </td></tr>
<tr>
<td>P+</td><td>Upward pointing pyramid</td><td>Must be the last object, vertex number cannot surpass 5 </td></tr>
<tr>
<td>P-</td><td>Downward pointing pyramid</td><td>Must be the first object, vertex number cannot surpass 5 </td></tr>
<tr>
<td>C+</td><td>Upward pointing cupola</td><td>Must be the last object, vertex number must be an even number in the range 4-10. </td></tr>
<tr>
<td>C-</td><td>Downward pointing cupola</td><td>Must be the first object, vertex number must be an even number in the range 4-10. </td></tr>
<tr>
<td>GC+</td><td>Upward pointing cupola, rotated</td><td>Must be the last object, vertex number must be an even number in the range 4-10. </td></tr>
<tr>
<td>GC-</td><td>Downward pointing cupola, rotated</td><td>Must be the first object, vertex number must be an even number in the range 4-10. </td></tr>
<tr>
<td>PR</td><td>Archimedean prism</td><td>Cannot abut other prism </td></tr>
<tr>
<td>A</td><td>Archimedean antiprism</td><td>None </td></tr>
<tr>
<td>R+</td><td>Upward pointing rotunda</td><td>Must be the last object, vertex number must be exactly 10 </td></tr>
<tr>
<td>R-</td><td>Downward pointing rotunda</td><td>Must be the first object, vertex number must be exactly 10 </td></tr>
<tr>
<td>GR+</td><td>Upward pointing rotunda, rotated</td><td>Must be the last object, vertex number must be exactly 10 </td></tr>
<tr>
<td>GR-</td><td>Downward pointing rotunda</td><td>Must be the first object, vertex number must be exactly 10 </td></tr>
</table>
</center><p> Some examples of bodies are: </p>
<center><table class="doxtable">
<tr>
<td><b>String</b></td><td><b>Vertices</b></td><td><b>Resulting body</b> </td></tr>
<tr>
<td>P+</td><td align="center">3</td><td>Tetrahedron </td></tr>
<tr>
<td>PR</td><td align="center">4</td><td>Hexahedron </td></tr>
<tr>
<td>P-P+</td><td align="center">4</td><td>Octahedron </td></tr>
<tr>
<td>A</td><td align="center">3</td><td>Octahedron </td></tr>
<tr>
<td>C+PRC-</td><td align="center">8</td><td>Rhombicuboctahedron </td></tr>
<tr>
<td>P-AP+</td><td align="center">5</td><td>Icosahedron </td></tr>
<tr>
<td>R-R+</td><td align="center">10</td><td>Icosidodecahedron </td></tr>
</table>
</center> 
</div>
</div>
<a class="anchor" id="a1e3e298443301769813ed7da2ef73c15"></a><!-- doxytag: member="mrpt::opengl::CPolyhedron::CreateNoCheck" ref="a1e3e298443301769813ed7da2ef73c15" args="(const vector&lt; TPoint3D &gt; &amp;vertices, const vector&lt; TPolyhedronFace &gt; &amp;faces)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static <a class="el" href="structmrpt_1_1opengl_1_1_c_polyhedron_ptr.html">CPolyhedronPtr</a> mrpt::opengl::CPolyhedron::CreateNoCheck </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classstd_1_1vector.html">vector</a>&lt; <a class="el" href="structmrpt_1_1math_1_1_t_point3_d.html">TPoint3D</a> &gt; &amp;&#160;</td>
          <td class="paramname"><em>vertices</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classstd_1_1vector.html">vector</a>&lt; <a class="el" href="structmrpt_1_1opengl_1_1_c_polyhedron_1_1_t_polyhedron_face.html">TPolyhedronFace</a> &gt; &amp;&#160;</td>
          <td class="paramname"><em>faces</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [inline, static, private]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Creates a polyhedron without checking its correctness. </p>

<p>Definition at line <a class="el" href="_c_polyhedron_8h_source.html#l00839">839</a> of file <a class="el" href="_c_polyhedron_8h_source.html">CPolyhedron.h</a>.</p>

<p>References <a class="el" href="_c_polyhedron_8h_source.html#l00041">mrpt::opengl::CPolyhedron</a>.</p>

</div>
</div>
<a class="anchor" id="a985a192daff992c42b395cc7bac27b7e"></a><!-- doxytag: member="mrpt::opengl::CPolyhedron::CreateObject" ref="a985a192daff992c42b395cc7bac27b7e" 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::opengl::CPolyhedron::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="aafb26eb43f14cdb5652e0d6b61235369"></a><!-- doxytag: member="mrpt::opengl::CPolyhedron::CreateOctahedron" ref="aafb26eb43f14cdb5652e0d6b61235369" args="(double radius)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static <a class="el" href="structmrpt_1_1opengl_1_1_c_polyhedron_ptr.html">CPolyhedronPtr</a> mrpt::opengl::CPolyhedron::CreateOctahedron </td>
          <td>(</td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>radius</em></td><td>)</td>
          <td><code> [inline, static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Creates a regular octahedron (see <a href="http://en.wikipedia.org/wiki/Octahedron">http://en.wikipedia.org/wiki/Octahedron</a>). </p>
<p>The octahedron is created as a square bipyramid whit transitive edges and vertices. Another ways to create an octahedron are: </p>
<ul>
<li>
Dual to an hexahedron</li>
<li>
Triangular antiprism with transitive vertices.</li>
<li>
Conveniently truncated tetrahedron.</li>
</ul>
<div class="image">
<img src="Octahedron.gif" alt="Octahedron.gif"/>
</div>
 <dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="classmrpt_1_1opengl_1_1_c_polyhedron.html#a825d924818c1d20c1f96c76f1a510603" title="Creates a regular cube, also called hexahedron (see http://en.wikipedia.org/wiki/Hexahedron).">CreateHexahedron</a>,<a class="el" href="classmrpt_1_1opengl_1_1_c_polyhedron.html#a64b6187c6dd8cf86ba243c6bbd54b871" title="Given a polyhedron, creates its dual.">getDual</a>,CreateArchimedeanAntiprism,<a class="el" href="classmrpt_1_1opengl_1_1_c_polyhedron.html#a68bb037f21253016dda8c3107424059f" title="Creates a regular tetrahedron (see http://en.wikipedia.org/wiki/Tetrahedron).">CreateTetrahedron</a>,<a class="el" href="classmrpt_1_1opengl_1_1_c_polyhedron.html#a16a60771db55ba737bded03b74f2c859" title="Truncates a polyhedron to a given factor.">truncate</a>,<a class="el" href="classmrpt_1_1opengl_1_1_c_polyhedron.html#a4b6ab0d31bd0e04dcb9d1e0e04364bd3" title="Creates a truncated octahedron, with eight hexagons and eight squares (see http://en.wikipedia.org/wiki/Truncated_octahedron).">CreateTruncatedOctahedron</a>,<a class="el" href="classmrpt_1_1opengl_1_1_c_polyhedron.html#a0f60dde324e4df0ed62f915f34df91ef" title="Creates a truncated hexahedron, with six octogonal faces and eight triangular ones (see http://en...">CreateTruncatedHexahedron</a>,<a class="el" href="classmrpt_1_1opengl_1_1_c_polyhedron.html#a278592678d7db21878da2dd82b800e6f" title="Creates a cuboctahedron, consisting of six square faces and eight triangular ones (see http://en...">CreateCuboctahedron</a>,<a class="el" href="classmrpt_1_1opengl_1_1_c_polyhedron.html#abbcc7e07b79275c2cf6e644fb2f2edc4" title="Creates a rhombicuboctahedron, with 18 squares and 8 triangles (see http://en.wikipedia.org/wiki/Rhombicuboctahedron), calculated as an elongated square bicupola.">CreateRhombicuboctahedron</a> </dd></dl>

<p>Definition at line <a class="el" href="_c_polyhedron_8h_source.html#l00211">211</a> of file <a class="el" href="_c_polyhedron_8h_source.html">CPolyhedron.h</a>.</p>

</div>
</div>
<a class="anchor" id="aca8e4b9f9ef2f590b2678e620aae78c3"></a><!-- doxytag: member="mrpt::opengl::CPolyhedron::CreateParallelepiped" ref="aca8e4b9f9ef2f590b2678e620aae78c3" args="(const TPoint3D &amp;base, const TPoint3D &amp;v1, const TPoint3D &amp;v2, const TPoint3D &amp;v3)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static <a class="el" href="structmrpt_1_1opengl_1_1_c_polyhedron_ptr.html">CPolyhedronPtr</a> mrpt::opengl::CPolyhedron::CreateParallelepiped </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="structmrpt_1_1math_1_1_t_point3_d.html">TPoint3D</a> &amp;&#160;</td>
          <td class="paramname"><em>base</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="structmrpt_1_1math_1_1_t_point3_d.html">TPoint3D</a> &amp;&#160;</td>
          <td class="paramname"><em>v1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="structmrpt_1_1math_1_1_t_point3_d.html">TPoint3D</a> &amp;&#160;</td>
          <td class="paramname"><em>v2</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="structmrpt_1_1math_1_1_t_point3_d.html">TPoint3D</a> &amp;&#160;</td>
          <td class="paramname"><em>v3</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Creates a parallelepiped, given a base point and three vectors represented as points. </p>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="classmrpt_1_1opengl_1_1_c_polyhedron.html#ada04c86cfccdc9e1f7d15eb9c909fc95" title="Creates a cubic prism, given the coordinates of two opposite vertices.">CreateCubicPrism</a> </dd></dl>

</div>
</div>
<a class="anchor" id="a8cf9189ac24118b34d6a072dc57e6718"></a><!-- doxytag: member="mrpt::opengl::CPolyhedron::CreatePentagonalRotunda" ref="a8cf9189ac24118b34d6a072dc57e6718" args="(double radius)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static <a class="el" href="structmrpt_1_1opengl_1_1_c_polyhedron_ptr.html">CPolyhedronPtr</a> mrpt::opengl::CPolyhedron::CreatePentagonalRotunda </td>
          <td>(</td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>radius</em></td><td>)</td>
          <td><code> [inline, static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Creates a pentagonal rotunda (half an icosidodecahedron), consisting of six pentagons, ten triangles and a decagon (see <a href="http://en.wikipedia.org/wiki/Pentagonal_rotunda">http://en.wikipedia.org/wiki/Pentagonal_rotunda</a>). </p>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="classmrpt_1_1opengl_1_1_c_polyhedron.html#aa3c7301231c8f025c3f755b4292f18ea" title="Creates an icosidodecahedron, with 12 pentagons and 20 triangles (see http://en.wikipedia.org/wiki/Icosidodecahedron).">CreateIcosidodecahedron</a>,<a class="el" href="classmrpt_1_1opengl_1_1_c_polyhedron.html#a0deea6879ac7e236a9bc8d776c0ae192" title="Creates a series of concatenated solids (most of which are prismatoids) whose base is a regular polyg...">CreateJohnsonSolidWithConstantBase</a> </dd></dl>

<p>Definition at line <a class="el" href="_c_polyhedron_8h_source.html#l00325">325</a> of file <a class="el" href="_c_polyhedron_8h_source.html">CPolyhedron.h</a>.</p>

</div>
</div>
<a class="anchor" id="afcdf908116321bb438c21ed1e05e2569"></a><!-- doxytag: member="mrpt::opengl::CPolyhedron::CreatePentakisDodecahedron" ref="afcdf908116321bb438c21ed1e05e2569" args="(double radius)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static <a class="el" href="structmrpt_1_1opengl_1_1_c_polyhedron_ptr.html">CPolyhedronPtr</a> mrpt::opengl::CPolyhedron::CreatePentakisDodecahedron </td>
          <td>(</td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>radius</em></td><td>)</td>
          <td><code> [inline, static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Creates a pentakis dodecahedron, dual to the truncated icosahedron. </p>
<p>This body consists of 60 isosceles triangles (see <a href="http://en.wikipedia.org/wiki/Pentakis_dodecahedron">http://en.wikipedia.org/wiki/Pentakis_dodecahedron</a>). </p>
<div class="image">
<img src="Pentakisdodecahedron.gif" alt="Pentakisdodecahedron.gif"/>
</div>
 <dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="classmrpt_1_1opengl_1_1_c_polyhedron.html#ace880e6a89b94859b655cb499e5a280b" title="Creates a truncated icosahedron, consisting of 20 hexagons and 12 pentagons.">CreateTruncatedIcosahedron</a> </dd></dl>

<p>Definition at line <a class="el" href="_c_polyhedron_8h_source.html#l00402">402</a> of file <a class="el" href="_c_polyhedron_8h_source.html">CPolyhedron.h</a>.</p>

</div>
</div>
<a class="anchor" id="a7c2e13d36e7f4270c34152771b68333e"></a><!-- doxytag: member="mrpt::opengl::CPolyhedron::CreatePyramid" ref="a7c2e13d36e7f4270c34152771b68333e" args="(const vector&lt; TPoint2D &gt; &amp;baseVertices, double height)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static <a class="el" href="structmrpt_1_1opengl_1_1_c_polyhedron_ptr.html">CPolyhedronPtr</a> mrpt::opengl::CPolyhedron::CreatePyramid </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classstd_1_1vector.html">vector</a>&lt; <a class="el" href="structmrpt_1_1math_1_1_t_point2_d.html">TPoint2D</a> &gt; &amp;&#160;</td>
          <td class="paramname"><em>baseVertices</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>height</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Creates a custom pyramid, using a set of 2D vertices which will lie on the XY plane. </p>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="classmrpt_1_1opengl_1_1_c_polyhedron.html#a8e7c7e8a26f924110e7bf7e1122f7f92" title="Creates a double pyramid, using a set of 2D vertices which will lie on the XY plane.">CreateDoublePyramid</a>,<a class="el" href="classmrpt_1_1opengl_1_1_c_polyhedron.html#afb420b4e2f254f54bbe8db0273173b90" title="This is a synonym for CreateTruncatedPyramid.">CreateFrustum</a>,<a class="el" href="classmrpt_1_1opengl_1_1_c_polyhedron.html#a314673d6f1b215410fe41d84d1a6ef30" title="Creates a bifrustum, or double truncated pyramid, given a base which will lie on the XY plane...">CreateBifrustum</a>,<a class="el" href="classmrpt_1_1opengl_1_1_c_polyhedron.html#ab6c98de9ae4ea645eaf1c81c3702cde8" title="Creates a regular pyramid whose base is a regular polygon.">CreateRegularPyramid</a> </dd></dl>

</div>
</div>
<a class="anchor" id="a31e14103505c87b2525ec441288b8740"></a><!-- doxytag: member="mrpt::opengl::CPolyhedron::CreateRandomPolyhedron" ref="a31e14103505c87b2525ec441288b8740" args="(double radius)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static <a class="el" href="structmrpt_1_1opengl_1_1_c_polyhedron_ptr.html">CPolyhedronPtr</a> mrpt::opengl::CPolyhedron::CreateRandomPolyhedron </td>
          <td>(</td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>radius</em></td><td>)</td>
          <td><code> [static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Creates a random polyhedron from the static methods. </p>

</div>
</div>
<a class="anchor" id="a2bfd0bcfc190c78a502e5649a3220d7a"></a><!-- doxytag: member="mrpt::opengl::CPolyhedron::CreateRegularAntiprism" ref="a2bfd0bcfc190c78a502e5649a3220d7a" args="(uint32_t numBaseEdges, double baseRadius, double height)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static <a class="el" href="structmrpt_1_1opengl_1_1_c_polyhedron_ptr.html">CPolyhedronPtr</a> mrpt::opengl::CPolyhedron::CreateRegularAntiprism </td>
          <td>(</td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>numBaseEdges</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>baseRadius</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>height</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [inline, static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Creates an antiprism whose base is a regular polygon. </p>
<p>The upper base is rotated <img class="formulaInl" alt="$\frac\pi N$" src="form_107.png"/> with respect to the lower one, where N is the number of vertices in the base, and thus the lateral triangles are isosceles. </p>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="classmrpt_1_1opengl_1_1_c_polyhedron.html#a991ea17a7be98363b11b0bfe8c483e3c" title="Creates a custom antiprism, using two custom bases.">CreateCustomAntiprism</a>,<a class="el" href="classmrpt_1_1opengl_1_1_c_polyhedron.html#a35f122e254f0a18cbb68835b7559300c" title="Creates a regular antiprism whose lateral polygons are equilateral triangles, and so each face of its...">CreateArchimedeanRegularAntiprism</a> </dd></dl>

<p>Definition at line <a class="el" href="_c_polyhedron_8h_source.html#l00486">486</a> of file <a class="el" href="_c_polyhedron_8h_source.html">CPolyhedron.h</a>.</p>

</div>
</div>
<a class="anchor" id="a4c94a84f7d439be5c6352886641c38fa"></a><!-- doxytag: member="mrpt::opengl::CPolyhedron::CreateRegularBifrustum" ref="a4c94a84f7d439be5c6352886641c38fa" args="(uint32_t numBaseEdges, double baseRadius, double height1, double ratio1, double height2, double ratio2)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static <a class="el" href="structmrpt_1_1opengl_1_1_c_polyhedron_ptr.html">CPolyhedronPtr</a> mrpt::opengl::CPolyhedron::CreateRegularBifrustum </td>
          <td>(</td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>numBaseEdges</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>baseRadius</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>height1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>ratio1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>height2</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>ratio2</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [inline, static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Creates a bifrustum (double truncated pyramid) whose base is a regular polygon lying in the XY plane. </p>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="classmrpt_1_1opengl_1_1_c_polyhedron.html#a314673d6f1b215410fe41d84d1a6ef30" title="Creates a bifrustum, or double truncated pyramid, given a base which will lie on the XY plane...">CreateBifrustum</a> </dd></dl>

<p>Definition at line <a class="el" href="_c_polyhedron_8h_source.html#l00542">542</a> of file <a class="el" href="_c_polyhedron_8h_source.html">CPolyhedron.h</a>.</p>

</div>
</div>
<a class="anchor" id="a3a236dd64b7cadcd47018d4b03ac5921"></a><!-- doxytag: member="mrpt::opengl::CPolyhedron::CreateRegularDoublePyramid" ref="a3a236dd64b7cadcd47018d4b03ac5921" args="(uint32_t numBaseEdges, double baseRadius, double height1, double height2)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static <a class="el" href="structmrpt_1_1opengl_1_1_c_polyhedron_ptr.html">CPolyhedronPtr</a> mrpt::opengl::CPolyhedron::CreateRegularDoublePyramid </td>
          <td>(</td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>numBaseEdges</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>baseRadius</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>height1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>height2</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [inline, static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Creates a regular double pyramid whose base is a regular polygon. </p>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="classmrpt_1_1opengl_1_1_c_polyhedron.html#a8e7c7e8a26f924110e7bf7e1122f7f92" title="Creates a double pyramid, using a set of 2D vertices which will lie on the XY plane.">CreateDoublePyramid</a> </dd></dl>

<p>Definition at line <a class="el" href="_c_polyhedron_8h_source.html#l00507">507</a> of file <a class="el" href="_c_polyhedron_8h_source.html">CPolyhedron.h</a>.</p>

</div>
</div>
<a class="anchor" id="a8b3ec5141ab6768824ca1f72ff9f5a85"></a><!-- doxytag: member="mrpt::opengl::CPolyhedron::CreateRegularFrustum" ref="a8b3ec5141ab6768824ca1f72ff9f5a85" args="(uint32_t numBaseEdges, double baseRadius, double height, double ratio)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static <a class="el" href="structmrpt_1_1opengl_1_1_c_polyhedron_ptr.html">CPolyhedronPtr</a> mrpt::opengl::CPolyhedron::CreateRegularFrustum </td>
          <td>(</td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>numBaseEdges</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>baseRadius</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>height</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>ratio</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [inline, static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>This is a synonym for CreateRegularTruncatedPyramid. </p>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="classmrpt_1_1opengl_1_1_c_polyhedron.html#a98c7109a4a39267e9d34682a12da692e" title="Creates a regular truncated pyramid whose base is a regular polygon.">CreateRegularTruncatedPyramid</a> </dd></dl>

<p>Definition at line <a class="el" href="_c_polyhedron_8h_source.html#l00535">535</a> of file <a class="el" href="_c_polyhedron_8h_source.html">CPolyhedron.h</a>.</p>

</div>
</div>
<a class="anchor" id="a4da598ce54c1c2f1218e1a068ef7c7b2"></a><!-- doxytag: member="mrpt::opengl::CPolyhedron::CreateRegularPrism" ref="a4da598ce54c1c2f1218e1a068ef7c7b2" args="(uint32_t numBaseEdges, double baseRadius, double height)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static <a class="el" href="structmrpt_1_1opengl_1_1_c_polyhedron_ptr.html">CPolyhedronPtr</a> mrpt::opengl::CPolyhedron::CreateRegularPrism </td>
          <td>(</td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>numBaseEdges</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>baseRadius</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>height</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [inline, static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Creates a regular prism whose base is a regular polygon and whose edges are either parallel or perpendicular to the XY plane. </p>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="classmrpt_1_1opengl_1_1_c_polyhedron.html#ada04c86cfccdc9e1f7d15eb9c909fc95" title="Creates a cubic prism, given the coordinates of two opposite vertices.">CreateCubicPrism</a>,<a class="el" href="classmrpt_1_1opengl_1_1_c_polyhedron.html#aefdf1fa647b348eb8a3976a895608272" title="Creates a custom prism with vertical edges, given any base which will lie on the XY plane...">CreateCustomPrism</a>,<a class="el" href="classmrpt_1_1opengl_1_1_c_polyhedron.html#a35f122e254f0a18cbb68835b7559300c" title="Creates a regular antiprism whose lateral polygons are equilateral triangles, and so each face of its...">CreateArchimedeanRegularAntiprism</a> </dd></dl>

<p>Definition at line <a class="el" href="_c_polyhedron_8h_source.html#l00493">493</a> of file <a class="el" href="_c_polyhedron_8h_source.html">CPolyhedron.h</a>.</p>

</div>
</div>
<a class="anchor" id="ab6c98de9ae4ea645eaf1c81c3702cde8"></a><!-- doxytag: member="mrpt::opengl::CPolyhedron::CreateRegularPyramid" ref="ab6c98de9ae4ea645eaf1c81c3702cde8" args="(uint32_t numBaseEdges, double baseRadius, double height)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static <a class="el" href="structmrpt_1_1opengl_1_1_c_polyhedron_ptr.html">CPolyhedronPtr</a> mrpt::opengl::CPolyhedron::CreateRegularPyramid </td>
          <td>(</td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>numBaseEdges</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>baseRadius</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>height</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [inline, static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Creates a regular pyramid whose base is a regular polygon. </p>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="classmrpt_1_1opengl_1_1_c_polyhedron.html#a7c2e13d36e7f4270c34152771b68333e" title="Creates a custom pyramid, using a set of 2D vertices which will lie on the XY plane.">CreatePyramid</a> </dd></dl>

<p>Definition at line <a class="el" href="_c_polyhedron_8h_source.html#l00500">500</a> of file <a class="el" href="_c_polyhedron_8h_source.html">CPolyhedron.h</a>.</p>

</div>
</div>
<a class="anchor" id="a98c7109a4a39267e9d34682a12da692e"></a><!-- doxytag: member="mrpt::opengl::CPolyhedron::CreateRegularTruncatedPyramid" ref="a98c7109a4a39267e9d34682a12da692e" args="(uint32_t numBaseEdges, double baseRadius, double height, double ratio)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static <a class="el" href="structmrpt_1_1opengl_1_1_c_polyhedron_ptr.html">CPolyhedronPtr</a> mrpt::opengl::CPolyhedron::CreateRegularTruncatedPyramid </td>
          <td>(</td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>numBaseEdges</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>baseRadius</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>height</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>ratio</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [inline, static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Creates a regular truncated pyramid whose base is a regular polygon. </p>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="classmrpt_1_1opengl_1_1_c_polyhedron.html#ac3a9f78124b19722529a50bacb3c45d7" title="Creates a truncated pyramid, using a set of vertices which will lie on the XY plane.">CreateTruncatedPyramid</a> </dd></dl>

<p>Definition at line <a class="el" href="_c_polyhedron_8h_source.html#l00528">528</a> of file <a class="el" href="_c_polyhedron_8h_source.html">CPolyhedron.h</a>.</p>

</div>
</div>
<a class="anchor" id="a33e96c2f17fc475d6148a7ee0f3dc595"></a><!-- doxytag: member="mrpt::opengl::CPolyhedron::CreateRhombicDodecahedron" ref="a33e96c2f17fc475d6148a7ee0f3dc595" args="(double radius)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static <a class="el" href="structmrpt_1_1opengl_1_1_c_polyhedron_ptr.html">CPolyhedronPtr</a> mrpt::opengl::CPolyhedron::CreateRhombicDodecahedron </td>
          <td>(</td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>radius</em></td><td>)</td>
          <td><code> [inline, static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Creates a rhombic dodecahedron, dual to the cuboctahedron. </p>
<p>This body consists of 12 rhombi (see <a href="http://en.wikipedia.org/wiki/Rhombic_dodecahedron">http://en.wikipedia.org/wiki/Rhombic_dodecahedron</a>). </p>
<div class="image">
<img src="Rhombicdodecahedron.gif" alt="Rhombicdodecahedron.gif"/>
</div>
 <dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="classmrpt_1_1opengl_1_1_c_polyhedron.html#a278592678d7db21878da2dd82b800e6f" title="Creates a cuboctahedron, consisting of six square faces and eight triangular ones (see http://en...">CreateCuboctahedron</a> </dd></dl>

<p>Definition at line <a class="el" href="_c_polyhedron_8h_source.html#l00348">348</a> of file <a class="el" href="_c_polyhedron_8h_source.html">CPolyhedron.h</a>.</p>

</div>
</div>
<a class="anchor" id="aa4e3394c57d85925dcf3dde8fed07509"></a><!-- doxytag: member="mrpt::opengl::CPolyhedron::CreateRhombicosidodecahedron" ref="aa4e3394c57d85925dcf3dde8fed07509" args="(double radius)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static <a class="el" href="structmrpt_1_1opengl_1_1_c_polyhedron_ptr.html">CPolyhedronPtr</a> mrpt::opengl::CPolyhedron::CreateRhombicosidodecahedron </td>
          <td>(</td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>radius</em></td><td>)</td>
          <td><code> [inline, static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Creates a rhombicosidodecahedron, consisting of 30 squares, 12 pentagons and 20 triangles (see <a href="http://en.wikipedia.org/wiki/Rhombicosidodecahedron">http://en.wikipedia.org/wiki/Rhombicosidodecahedron</a>). </p>
<p>This object can be obtained as the cantellation of either a dodecahedron or an icosahedron. The dual of the rhombicosidodecahedron is the deltoidal hexecontahedron. </p>
<div class="image">
<img src="Rhombicosidodecahedron.gif" alt="Rhombicosidodecahedron.gif"/>
</div>
 <dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="classmrpt_1_1opengl_1_1_c_polyhedron.html#a3a5d9f432b82a7111ef157bcaf4c6d1e" title="Creates a regular dodecahedron (see http://en.wikipedia.org/wiki/Dodecahedron).">CreateDodecahedron</a>,<a class="el" href="classmrpt_1_1opengl_1_1_c_polyhedron.html#ac85b11b7fc9a7ff2d204e9f95059a2f9" title="Creates a regular icosahedron (see http://en.wikipedia.org/wiki/Icosahedron).">CreateIcosahedron</a>,<a class="el" href="classmrpt_1_1opengl_1_1_c_polyhedron.html#aa3c7301231c8f025c3f755b4292f18ea" title="Creates an icosidodecahedron, with 12 pentagons and 20 triangles (see http://en.wikipedia.org/wiki/Icosidodecahedron).">CreateIcosidodecahedron</a>,<a class="el" href="classmrpt_1_1opengl_1_1_c_polyhedron.html#ad48fc0fee55125494e037f623699e2a5" title="Creates a deltoidal hexecontahedron, dual to the rhombicosidodecahedron.">CreateDeltoidalHexecontahedron</a> </dd></dl>

<p>Definition at line <a class="el" href="_c_polyhedron_8h_source.html#l00312">312</a> of file <a class="el" href="_c_polyhedron_8h_source.html">CPolyhedron.h</a>.</p>

</div>
</div>
<a class="anchor" id="a3974c89c4b1ee7b4d705b615dc96c972"></a><!-- doxytag: member="mrpt::opengl::CPolyhedron::CreateRhombicTriacontahedron" ref="a3974c89c4b1ee7b4d705b615dc96c972" args="(double radius)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static <a class="el" href="structmrpt_1_1opengl_1_1_c_polyhedron_ptr.html">CPolyhedronPtr</a> mrpt::opengl::CPolyhedron::CreateRhombicTriacontahedron </td>
          <td>(</td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>radius</em></td><td>)</td>
          <td><code> [inline, static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Creates a rhombic triacontahedron, dual to the icosidodecahedron. </p>
<p>This body consists of 30 rhombi (see <a href="http://en.wikipedia.org/wiki/Rhombic_triacontahedron">http://en.wikipedia.org/wiki/Rhombic_triacontahedron</a>). </p>
<div class="image">
<img src="Rhombictriacontahedron.gif" alt="Rhombictriacontahedron.gif"/>
</div>
 <dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="classmrpt_1_1opengl_1_1_c_polyhedron.html#aa3c7301231c8f025c3f755b4292f18ea" title="Creates an icosidodecahedron, with 12 pentagons and 20 triangles (see http://en.wikipedia.org/wiki/Icosidodecahedron).">CreateIcosidodecahedron</a> </dd></dl>

<p>Definition at line <a class="el" href="_c_polyhedron_8h_source.html#l00384">384</a> of file <a class="el" href="_c_polyhedron_8h_source.html">CPolyhedron.h</a>.</p>

</div>
</div>
<a class="anchor" id="abbcc7e07b79275c2cf6e644fb2f2edc4"></a><!-- doxytag: member="mrpt::opengl::CPolyhedron::CreateRhombicuboctahedron" ref="abbcc7e07b79275c2cf6e644fb2f2edc4" args="(double radius, bool type=true)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static <a class="el" href="structmrpt_1_1opengl_1_1_c_polyhedron_ptr.html">CPolyhedronPtr</a> mrpt::opengl::CPolyhedron::CreateRhombicuboctahedron </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">bool&#160;</td>
          <td class="paramname"><em>type</em> = <code>true</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [inline, static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Creates a rhombicuboctahedron, with 18 squares and 8 triangles (see <a href="http://en.wikipedia.org/wiki/Rhombicuboctahedron">http://en.wikipedia.org/wiki/Rhombicuboctahedron</a>), calculated as an elongated square bicupola. </p>
<p>It can also be calculated as a cantellated hexahedron or octahedron, and its dual is the deltoidal icositetrahedron. If the second argument is set to false, the lower cupola is rotated, so that the objet created is an elongated square gyrobicupola (see <a href="http://en.wikipedia.org/wiki/Elongated_square_gyrobicupola">http://en.wikipedia.org/wiki/Elongated_square_gyrobicupola</a>). This is not an archimedean solid, but a Johnson one, since it hasn't got vertex transitivity. </p>
<div class="image">
<img src="Rhombicuboctahedron.gif" alt="Rhombicuboctahedron.gif"/>
</div>
 <dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="classmrpt_1_1opengl_1_1_c_polyhedron.html#a0deea6879ac7e236a9bc8d776c0ae192" title="Creates a series of concatenated solids (most of which are prismatoids) whose base is a regular polyg...">CreateJohnsonSolidWithConstantBase</a>,<a class="el" href="classmrpt_1_1opengl_1_1_c_polyhedron.html#a825d924818c1d20c1f96c76f1a510603" title="Creates a regular cube, also called hexahedron (see http://en.wikipedia.org/wiki/Hexahedron).">CreateHexahedron</a>,<a class="el" href="classmrpt_1_1opengl_1_1_c_polyhedron.html#aafb26eb43f14cdb5652e0d6b61235369" title="Creates a regular octahedron (see http://en.wikipedia.org/wiki/Octahedron).">CreateOctahedron</a>,<a class="el" href="classmrpt_1_1opengl_1_1_c_polyhedron.html#ab1bc7afd0fa41a820938d9dbb86f36a5" title="Cantellates a polyhedron to a given factor.">cantellate</a>,<a class="el" href="classmrpt_1_1opengl_1_1_c_polyhedron.html#a278592678d7db21878da2dd82b800e6f" title="Creates a cuboctahedron, consisting of six square faces and eight triangular ones (see http://en...">CreateCuboctahedron</a>,<a class="el" href="classmrpt_1_1opengl_1_1_c_polyhedron.html#a9a5c5cfc7394914396f7b431dbc4520f" title="Creates a deltoidal icositetrahedron, dual to the rhombicuboctahedron.">CreateDeltoidalIcositetrahedron</a> </dd></dl>

<p>Definition at line <a class="el" href="_c_polyhedron_8h_source.html#l00278">278</a> of file <a class="el" href="_c_polyhedron_8h_source.html">CPolyhedron.h</a>.</p>

<p>References <a class="el" href="bits_8h_source.html#l00161">mrpt::utils::square()</a>, and <a class="el" href="mrpt__macros_8h_source.html#l00383">M_PI</a>.</p>

</div>
</div>
<a class="anchor" id="a68bb037f21253016dda8c3107424059f"></a><!-- doxytag: member="mrpt::opengl::CPolyhedron::CreateTetrahedron" ref="a68bb037f21253016dda8c3107424059f" args="(double radius)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static <a class="el" href="structmrpt_1_1opengl_1_1_c_polyhedron_ptr.html">CPolyhedronPtr</a> mrpt::opengl::CPolyhedron::CreateTetrahedron </td>
          <td>(</td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>radius</em></td><td>)</td>
          <td><code> [inline, static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Creates a regular tetrahedron (see <a href="http://en.wikipedia.org/wiki/Tetrahedron">http://en.wikipedia.org/wiki/Tetrahedron</a>). </p>
<p>The tetrahedron is created as a triangular pyramid whose edges and vertices are transitive. The tetrahedron is the dual to itself. </p>
<div class="image">
<img src="Tetrahedron.gif" alt="Tetrahedron.gif"/>
</div>
 <dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="classmrpt_1_1opengl_1_1_c_polyhedron.html#a7c2e13d36e7f4270c34152771b68333e" title="Creates a custom pyramid, using a set of 2D vertices which will lie on the XY plane.">CreatePyramid</a>,<a class="el" href="classmrpt_1_1opengl_1_1_c_polyhedron.html#a0deea6879ac7e236a9bc8d776c0ae192" title="Creates a series of concatenated solids (most of which are prismatoids) whose base is a regular polyg...">CreateJohnsonSolidWithConstantBase</a>,<a class="el" href="classmrpt_1_1opengl_1_1_c_polyhedron.html#ab95a801e6908db87573b0dd2bd5efcc6" title="Creates a truncated tetrahedron, consisting of four triangular faces and for hexagonal ones (see http...">CreateTruncatedTetrahedron</a> </dd></dl>

<p>Definition at line <a class="el" href="_c_polyhedron_8h_source.html#l00189">189</a> of file <a class="el" href="_c_polyhedron_8h_source.html">CPolyhedron.h</a>.</p>

</div>
</div>
<a class="anchor" id="a6334bb21643afb281db195ecbe953e75"></a><!-- doxytag: member="mrpt::opengl::CPolyhedron::CreateTetrakisHexahedron" ref="a6334bb21643afb281db195ecbe953e75" args="(double radius)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static <a class="el" href="structmrpt_1_1opengl_1_1_c_polyhedron_ptr.html">CPolyhedronPtr</a> mrpt::opengl::CPolyhedron::CreateTetrakisHexahedron </td>
          <td>(</td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>radius</em></td><td>)</td>
          <td><code> [inline, static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Creates a tetrakis hexahedron, dual to the truncated octahedron. </p>
<p>This body consists of 24 isosceles triangles (see <a href="http://en.wikipedia.org/wiki/Tetrakis_hexahedron">http://en.wikipedia.org/wiki/Tetrakis_hexahedron</a>). </p>
<div class="image">
<img src="Tetrakishexahedron.gif" alt="Tetrakishexahedron.gif"/>
</div>
 <dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="classmrpt_1_1opengl_1_1_c_polyhedron.html#a4b6ab0d31bd0e04dcb9d1e0e04364bd3" title="Creates a truncated octahedron, with eight hexagons and eight squares (see http://en.wikipedia.org/wiki/Truncated_octahedron).">CreateTruncatedOctahedron</a> </dd></dl>

<p>Definition at line <a class="el" href="_c_polyhedron_8h_source.html#l00366">366</a> of file <a class="el" href="_c_polyhedron_8h_source.html">CPolyhedron.h</a>.</p>

</div>
</div>
<a class="anchor" id="a8c72fe48dc8a72f511d923cb3c4bbfa7"></a><!-- doxytag: member="mrpt::opengl::CPolyhedron::CreateTrapezohedron" ref="a8c72fe48dc8a72f511d923cb3c4bbfa7" args="(uint32_t numBaseEdges, double baseRadius, double basesDistance)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static <a class="el" href="structmrpt_1_1opengl_1_1_c_polyhedron_ptr.html">CPolyhedronPtr</a> mrpt::opengl::CPolyhedron::CreateTrapezohedron </td>
          <td>(</td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>numBaseEdges</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>baseRadius</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>basesDistance</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Creates a trapezohedron, consisting of 2*N kites, where N is the number of edges in the base. </p>
<p>The base radius controls the polyhedron height, whilst the distance between bases affects the height. When the number of edges equals 3, the polyhedron is actually a parallelepiped, and it can even be a cube. </p>

</div>
</div>
<a class="anchor" id="af31285b29e8cc531d9e02ca8aabb3fb3"></a><!-- doxytag: member="mrpt::opengl::CPolyhedron::CreateTriakisIcosahedron" ref="af31285b29e8cc531d9e02ca8aabb3fb3" args="(double radius)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static <a class="el" href="structmrpt_1_1opengl_1_1_c_polyhedron_ptr.html">CPolyhedronPtr</a> mrpt::opengl::CPolyhedron::CreateTriakisIcosahedron </td>
          <td>(</td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>radius</em></td><td>)</td>
          <td><code> [inline, static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Creates a triakis icosahedron, dual to the truncated dodecahedron. </p>
<p>This body consists of 60 isosceles triangles <a href="http://en.wikipedia.org/wiki/Triakis_icosahedron">http://en.wikipedia.org/wiki/Triakis_icosahedron</a>). </p>
<div class="image">
<img src="Triakisicosahedron.gif" alt="Triakisicosahedron.gif"/>
</div>
 <dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="classmrpt_1_1opengl_1_1_c_polyhedron.html#ace6a781e07834b848a4a013d1f401897" title="Creates a truncated dodecahedron, consisting of 12 dodecagons and 20 triangles (see http://en...">CreateTruncatedDodecahedron</a> </dd></dl>

<p>Definition at line <a class="el" href="_c_polyhedron_8h_source.html#l00393">393</a> of file <a class="el" href="_c_polyhedron_8h_source.html">CPolyhedron.h</a>.</p>

</div>
</div>
<a class="anchor" id="ac71f68f920b4aaed689e3266ebcff63b"></a><!-- doxytag: member="mrpt::opengl::CPolyhedron::CreateTriakisOctahedron" ref="ac71f68f920b4aaed689e3266ebcff63b" args="(double radius)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static <a class="el" href="structmrpt_1_1opengl_1_1_c_polyhedron_ptr.html">CPolyhedronPtr</a> mrpt::opengl::CPolyhedron::CreateTriakisOctahedron </td>
          <td>(</td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>radius</em></td><td>)</td>
          <td><code> [inline, static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Creates a triakis octahedron, dual to the truncated hexahedron. </p>
<p>This body consists of 24 isosceles triangles (see <a href="http://en.wikipedia.org/wiki/Triakis_octahedron">http://en.wikipedia.org/wiki/Triakis_octahedron</a>). </p>
<div class="image">
<img src="Triakisoctahedron.gif" alt="Triakisoctahedron.gif"/>
</div>
 <dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="classmrpt_1_1opengl_1_1_c_polyhedron.html#a0f60dde324e4df0ed62f915f34df91ef" title="Creates a truncated hexahedron, with six octogonal faces and eight triangular ones (see http://en...">CreateTruncatedHexahedron</a> </dd></dl>

<p>Definition at line <a class="el" href="_c_polyhedron_8h_source.html#l00357">357</a> of file <a class="el" href="_c_polyhedron_8h_source.html">CPolyhedron.h</a>.</p>

</div>
</div>
<a class="anchor" id="a001614f2b8f8c62404b42b8cbe94ed96"></a><!-- doxytag: member="mrpt::opengl::CPolyhedron::CreateTriakisTetrahedron" ref="a001614f2b8f8c62404b42b8cbe94ed96" args="(double radius)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static <a class="el" href="structmrpt_1_1opengl_1_1_c_polyhedron_ptr.html">CPolyhedronPtr</a> mrpt::opengl::CPolyhedron::CreateTriakisTetrahedron </td>
          <td>(</td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>radius</em></td><td>)</td>
          <td><code> [inline, static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Creates a triakis tetrahedron, dual to the truncated tetrahedron. </p>
<p>This body consists of 12 isosceles triangles (see <a href="http://en.wikipedia.org/wiki/Triakis_tetrahedron">http://en.wikipedia.org/wiki/Triakis_tetrahedron</a>). </p>
<div class="image">
<img src="Triakistetrahedron.gif" alt="Triakistetrahedron.gif"/>
</div>
 <dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="classmrpt_1_1opengl_1_1_c_polyhedron.html#ab95a801e6908db87573b0dd2bd5efcc6" title="Creates a truncated tetrahedron, consisting of four triangular faces and for hexagonal ones (see http...">CreateTruncatedTetrahedron</a> </dd></dl>

<p>Definition at line <a class="el" href="_c_polyhedron_8h_source.html#l00339">339</a> of file <a class="el" href="_c_polyhedron_8h_source.html">CPolyhedron.h</a>.</p>

</div>
</div>
<a class="anchor" id="ace6a781e07834b848a4a013d1f401897"></a><!-- doxytag: member="mrpt::opengl::CPolyhedron::CreateTruncatedDodecahedron" ref="ace6a781e07834b848a4a013d1f401897" args="(double radius)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static <a class="el" href="structmrpt_1_1opengl_1_1_c_polyhedron_ptr.html">CPolyhedronPtr</a> mrpt::opengl::CPolyhedron::CreateTruncatedDodecahedron </td>
          <td>(</td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>radius</em></td><td>)</td>
          <td><code> [inline, static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Creates a truncated dodecahedron, consisting of 12 dodecagons and 20 triangles (see <a href="http://en.wikipedia.org/wiki/Truncated_dodecahedron">http://en.wikipedia.org/wiki/Truncated_dodecahedron</a>). </p>
<p>The truncated dodecahedron is the dual to the triakis icosahedron. </p>
<div class="image">
<img src="Truncateddodecahedron.gif" alt="Truncateddodecahedron.gif"/>
</div>
 <dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="classmrpt_1_1opengl_1_1_c_polyhedron.html#a3a5d9f432b82a7111ef157bcaf4c6d1e" title="Creates a regular dodecahedron (see http://en.wikipedia.org/wiki/Dodecahedron).">CreateDodecahedron</a>,<a class="el" href="classmrpt_1_1opengl_1_1_c_polyhedron.html#af31285b29e8cc531d9e02ca8aabb3fb3" title="Creates a triakis icosahedron, dual to the truncated dodecahedron.">CreateTriakisIcosahedron</a> </dd></dl>

<p>Definition at line <a class="el" href="_c_polyhedron_8h_source.html#l00296">296</a> of file <a class="el" href="_c_polyhedron_8h_source.html">CPolyhedron.h</a>.</p>

</div>
</div>
<a class="anchor" id="a0f60dde324e4df0ed62f915f34df91ef"></a><!-- doxytag: member="mrpt::opengl::CPolyhedron::CreateTruncatedHexahedron" ref="a0f60dde324e4df0ed62f915f34df91ef" args="(double radius)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static <a class="el" href="structmrpt_1_1opengl_1_1_c_polyhedron_ptr.html">CPolyhedronPtr</a> mrpt::opengl::CPolyhedron::CreateTruncatedHexahedron </td>
          <td>(</td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>radius</em></td><td>)</td>
          <td><code> [inline, static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Creates a truncated hexahedron, with six octogonal faces and eight triangular ones (see <a href="http://en.wikipedia.org/wiki/Truncated_hexahedron">http://en.wikipedia.org/wiki/Truncated_hexahedron</a>). </p>
<p>The truncated octahedron is dual to the triakis octahedron. </p>
<div class="image">
<img src="Truncatedhexahedron.gif" alt="Truncatedhexahedron.gif"/>
</div>
 <dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="classmrpt_1_1opengl_1_1_c_polyhedron.html#a825d924818c1d20c1f96c76f1a510603" title="Creates a regular cube, also called hexahedron (see http://en.wikipedia.org/wiki/Hexahedron).">CreateHexahedron</a>,<a class="el" href="classmrpt_1_1opengl_1_1_c_polyhedron.html#ac71f68f920b4aaed689e3266ebcff63b" title="Creates a triakis octahedron, dual to the truncated hexahedron.">CreateTriakisOctahedron</a> </dd></dl>

<p>Definition at line <a class="el" href="_c_polyhedron_8h_source.html#l00261">261</a> of file <a class="el" href="_c_polyhedron_8h_source.html">CPolyhedron.h</a>.</p>

</div>
</div>
<a class="anchor" id="ace880e6a89b94859b655cb499e5a280b"></a><!-- doxytag: member="mrpt::opengl::CPolyhedron::CreateTruncatedIcosahedron" ref="ace880e6a89b94859b655cb499e5a280b" args="(double radius)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static <a class="el" href="structmrpt_1_1opengl_1_1_c_polyhedron_ptr.html">CPolyhedronPtr</a> mrpt::opengl::CPolyhedron::CreateTruncatedIcosahedron </td>
          <td>(</td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>radius</em></td><td>)</td>
          <td><code> [inline, static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Creates a truncated icosahedron, consisting of 20 hexagons and 12 pentagons. </p>
<p>This object resembles a typical soccer ball (see <a href="http://en.wikipedia.org/wiki/Truncated_icosahedron">http://en.wikipedia.org/wiki/Truncated_icosahedron</a>). The pentakis dodecahedron is the dual to the truncated icosahedron. </p>
<div class="image">
<img src="Truncatedicosahedron.gif" alt="Truncatedicosahedron.gif"/>
</div>
 <dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="classmrpt_1_1opengl_1_1_c_polyhedron.html#ac85b11b7fc9a7ff2d204e9f95059a2f9" title="Creates a regular icosahedron (see http://en.wikipedia.org/wiki/Icosahedron).">CreateIcosahedron</a>,<a class="el" href="classmrpt_1_1opengl_1_1_c_polyhedron.html#afcdf908116321bb438c21ed1e05e2569" title="Creates a pentakis dodecahedron, dual to the truncated icosahedron.">CreatePentakisDodecahedron</a> </dd></dl>

<p>Definition at line <a class="el" href="_c_polyhedron_8h_source.html#l00304">304</a> of file <a class="el" href="_c_polyhedron_8h_source.html">CPolyhedron.h</a>.</p>

</div>
</div>
<a class="anchor" id="a4b6ab0d31bd0e04dcb9d1e0e04364bd3"></a><!-- doxytag: member="mrpt::opengl::CPolyhedron::CreateTruncatedOctahedron" ref="a4b6ab0d31bd0e04dcb9d1e0e04364bd3" args="(double radius)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static <a class="el" href="structmrpt_1_1opengl_1_1_c_polyhedron_ptr.html">CPolyhedronPtr</a> mrpt::opengl::CPolyhedron::CreateTruncatedOctahedron </td>
          <td>(</td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>radius</em></td><td>)</td>
          <td><code> [inline, static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Creates a truncated octahedron, with eight hexagons and eight squares (see <a href="http://en.wikipedia.org/wiki/Truncated_octahedron">http://en.wikipedia.org/wiki/Truncated_octahedron</a>). </p>
<p>It's the dual to the tetrakis hexahedron. </p>
<div class="image">
<img src="Truncatedoctahedron.gif" alt="Truncatedoctahedron.gif"/>
</div>
 <dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="classmrpt_1_1opengl_1_1_c_polyhedron.html#aafb26eb43f14cdb5652e0d6b61235369" title="Creates a regular octahedron (see http://en.wikipedia.org/wiki/Octahedron).">CreateOctahedron</a>,<a class="el" href="classmrpt_1_1opengl_1_1_c_polyhedron.html#a6334bb21643afb281db195ecbe953e75" title="Creates a tetrakis hexahedron, dual to the truncated octahedron.">CreateTetrakisHexahedron</a> </dd></dl>

<p>Definition at line <a class="el" href="_c_polyhedron_8h_source.html#l00269">269</a> of file <a class="el" href="_c_polyhedron_8h_source.html">CPolyhedron.h</a>.</p>

</div>
</div>
<a class="anchor" id="ac3a9f78124b19722529a50bacb3c45d7"></a><!-- doxytag: member="mrpt::opengl::CPolyhedron::CreateTruncatedPyramid" ref="ac3a9f78124b19722529a50bacb3c45d7" args="(const vector&lt; TPoint2D &gt; &amp;baseVertices, double height, double ratio)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static <a class="el" href="structmrpt_1_1opengl_1_1_c_polyhedron_ptr.html">CPolyhedronPtr</a> mrpt::opengl::CPolyhedron::CreateTruncatedPyramid </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classstd_1_1vector.html">vector</a>&lt; <a class="el" href="structmrpt_1_1math_1_1_t_point2_d.html">TPoint2D</a> &gt; &amp;&#160;</td>
          <td class="paramname"><em>baseVertices</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>height</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>ratio</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Creates a truncated pyramid, using a set of vertices which will lie on the XY plane. </p>
<p>Do not try to use with a ratio equal to zero; use CreatePyramid instead. When using a ratio of 1, it will create a Prism. </p>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="classmrpt_1_1opengl_1_1_c_polyhedron.html#a7c2e13d36e7f4270c34152771b68333e" title="Creates a custom pyramid, using a set of 2D vertices which will lie on the XY plane.">CreatePyramid</a>,<a class="el" href="classmrpt_1_1opengl_1_1_c_polyhedron.html#a314673d6f1b215410fe41d84d1a6ef30" title="Creates a bifrustum, or double truncated pyramid, given a base which will lie on the XY plane...">CreateBifrustum</a> </dd></dl>

</div>
</div>
<a class="anchor" id="ab95a801e6908db87573b0dd2bd5efcc6"></a><!-- doxytag: member="mrpt::opengl::CPolyhedron::CreateTruncatedTetrahedron" ref="ab95a801e6908db87573b0dd2bd5efcc6" args="(double radius)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static <a class="el" href="structmrpt_1_1opengl_1_1_c_polyhedron_ptr.html">CPolyhedronPtr</a> mrpt::opengl::CPolyhedron::CreateTruncatedTetrahedron </td>
          <td>(</td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>radius</em></td><td>)</td>
          <td><code> [inline, static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Creates a truncated tetrahedron, consisting of four triangular faces and for hexagonal ones (see <a href="http://en.wikipedia.org/wiki/Truncated_tetrahedron">http://en.wikipedia.org/wiki/Truncated_tetrahedron</a>). </p>
<p>Its dual is the triakis tetrahedron. </p>
<div class="image">
<img src="Truncatedtetrahedron.gif" alt="Truncatedtetrahedron.gif"/>
</div>
 <dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="classmrpt_1_1opengl_1_1_c_polyhedron.html#a68bb037f21253016dda8c3107424059f" title="Creates a regular tetrahedron (see http://en.wikipedia.org/wiki/Tetrahedron).">CreateTetrahedron</a>,<a class="el" href="classmrpt_1_1opengl_1_1_c_polyhedron.html#a001614f2b8f8c62404b42b8cbe94ed96" title="Creates a triakis tetrahedron, dual to the truncated tetrahedron.">CreateTriakisTetrahedron</a> </dd></dl>

<p>Definition at line <a class="el" href="_c_polyhedron_8h_source.html#l00244">244</a> of file <a class="el" href="_c_polyhedron_8h_source.html">CPolyhedron.h</a>.</p>

</div>
</div>
<a class="anchor" id="a511f6a7e6cc8e6744bc0373174c7427d"></a><!-- doxytag: member="mrpt::opengl::CPolyhedron::duplicate" ref="a511f6a7e6cc8e6744bc0373174c7427d" 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::opengl::CPolyhedron::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::opengl::CPolyhedron::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="a36a8cf909deed5c0e22baa74f1f1a71c"></a><!-- doxytag: member="mrpt::opengl::CPolyhedron::edgesInVertex" ref="a36a8cf909deed5c0e22baa74f1f1a71c" args="(size_t vertex) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">size_t mrpt::opengl::CPolyhedron::edgesInVertex </td>
          <td>(</td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>vertex</em></td><td>)</td>
          <td> const<code> [private]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Returns how many edges converge in a given vertex. </p>

</div>
</div>
<a class="anchor" id="ac0579ae5563d5f2c13e2e03c79f71257"></a><!-- doxytag: member="mrpt::opengl::CPolyhedron::enableShowName" ref="ac0579ae5563d5f2c13e2e03c79f71257" args="(bool showName=true)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void mrpt::opengl::CRenderizable::enableShowName </td>
          <td>(</td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>showName</em> = <code>true</code></td><td>)</td>
          <td><code> [inline, inherited]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Enables or disables showing the name of the object as a label when rendering. </p>

<p>Definition at line <a class="el" href="_c_renderizable_8h_source.html#l00095">95</a> of file <a class="el" href="_c_renderizable_8h_source.html">CRenderizable.h</a>.</p>

</div>
</div>
<a class="anchor" id="ae718170a4135422376984de0e2d5a72f"></a><!-- doxytag: member="mrpt::opengl::CPolyhedron::facesInVertex" ref="ae718170a4135422376984de0e2d5a72f" args="(size_t vertex) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">size_t mrpt::opengl::CPolyhedron::facesInVertex </td>
          <td>(</td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>vertex</em></td><td>)</td>
          <td> const<code> [private]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Returns how many faces converge in a given vertex. </p>

</div>
</div>
<a class="anchor" id="a0274d46ab97451224abcf75681c01668"></a><!-- doxytag: member="mrpt::opengl::CPolyhedron::generateBase" ref="a0274d46ab97451224abcf75681c01668" args="(uint32_t numBaseEdges, double baseRadius)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static <a class="el" href="classstd_1_1vector.html">vector</a>&lt;<a class="el" href="structmrpt_1_1math_1_1_t_point2_d.html">TPoint2D</a>&gt; mrpt::opengl::CPolyhedron::generateBase </td>
          <td>(</td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>numBaseEdges</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>baseRadius</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [static, private]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Generates a list of 2D vertices constituting a regular polygon. </p>

</div>
</div>
<a class="anchor" id="a3b9cbe4c25cc75e7575ad26b4e0ece1c"></a><!-- doxytag: member="mrpt::opengl::CPolyhedron::generateBase" ref="a3b9cbe4c25cc75e7575ad26b4e0ece1c" args="(uint32_t numBaseEdges, double baseRadius, double height, vector&lt; TPoint3D &gt; &amp;vec)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static void mrpt::opengl::CPolyhedron::generateBase </td>
          <td>(</td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>numBaseEdges</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>baseRadius</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>height</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classstd_1_1vector.html">vector</a>&lt; <a class="el" href="structmrpt_1_1math_1_1_t_point3_d.html">TPoint3D</a> &gt; &amp;&#160;</td>
          <td class="paramname"><em>vec</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [static, private]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Generates a list of 3D vertices constituting a regular polygon, appending it to an existing vector. </p>

</div>
</div>
<a class="anchor" id="ab38b44a24980ba776c718ca74a6dd9a3"></a><!-- doxytag: member="mrpt::opengl::CPolyhedron::generateShiftedBase" ref="ab38b44a24980ba776c718ca74a6dd9a3" args="(uint32_t numBaseEdges, double baseRadius)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static <a class="el" href="classstd_1_1vector.html">vector</a>&lt;<a class="el" href="structmrpt_1_1math_1_1_t_point2_d.html">TPoint2D</a>&gt; mrpt::opengl::CPolyhedron::generateShiftedBase </td>
          <td>(</td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>numBaseEdges</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>baseRadius</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [static, private]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Generates a list of 2D vertices constituting a regular polygon, with an angle shift which makes it suitable for antiprisms. </p>

</div>
</div>
<a class="anchor" id="a6f5fc3de5c16a956a712fe868363790f"></a><!-- doxytag: member="mrpt::opengl::CPolyhedron::generateShiftedBase" ref="a6f5fc3de5c16a956a712fe868363790f" args="(uint32_t numBaseEdges, double baseRadius, double height, double shift, vector&lt; TPoint3D &gt; &amp;vec)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static void mrpt::opengl::CPolyhedron::generateShiftedBase </td>
          <td>(</td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>numBaseEdges</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>baseRadius</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>height</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>shift</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classstd_1_1vector.html">vector</a>&lt; <a class="el" href="structmrpt_1_1math_1_1_t_point3_d.html">TPoint3D</a> &gt; &amp;&#160;</td>
          <td class="paramname"><em>vec</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [static, private]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Generates a list of 3D vertices constituting a regular polygon conveniently shifted, appending it to an existing vector. </p>

</div>
</div>
<a class="anchor" id="ae38c108f998238abfd18ad91ab53f231"></a><!-- doxytag: member="mrpt::opengl::CPolyhedron::getCenter" ref="ae38c108f998238abfd18ad91ab53f231" args="(TPoint3D &amp;center) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void mrpt::opengl::CPolyhedron::getCenter </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structmrpt_1_1math_1_1_t_point3_d.html">TPoint3D</a> &amp;&#160;</td>
          <td class="paramname"><em>center</em></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Gets the center of the polyhedron. </p>

</div>
</div>
<a class="anchor" id="af49a6cb168418408372434e269d89b52"></a><!-- doxytag: member="mrpt::opengl::CPolyhedron::getColor" ref="af49a6cb168418408372434e269d89b52" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="structmrpt_1_1utils_1_1_t_colorf.html">mrpt::utils::TColorf</a> mrpt::opengl::CRenderizable::getColor </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const<code> [inline, inherited]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Returns the object color property as a TColorf. </p>

<p>Definition at line <a class="el" href="_c_renderizable_8h_source.html#l00150">150</a> of file <a class="el" href="_c_renderizable_8h_source.html">CRenderizable.h</a>.</p>

</div>
</div>
<a class="anchor" id="ac4d2d5a7aea53506bc4748d0324abf7d"></a><!-- doxytag: member="mrpt::opengl::CPolyhedron::getColor_u8" ref="ac4d2d5a7aea53506bc4748d0324abf7d" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const <a class="el" href="structmrpt_1_1utils_1_1_t_color.html">mrpt::utils::TColor</a>&amp; mrpt::opengl::CRenderizable::getColor_u8 </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const<code> [inline, inherited]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Returns the object color property as a TColor. </p>

<p>Definition at line <a class="el" href="_c_renderizable_8h_source.html#l00159">159</a> of file <a class="el" href="_c_renderizable_8h_source.html">CRenderizable.h</a>.</p>

</div>
</div>
<a class="anchor" id="a9abefacfc7c1d50d95d923f02b3eda5d"></a><!-- doxytag: member="mrpt::opengl::CPolyhedron::getColorA" ref="a9abefacfc7c1d50d95d923f02b3eda5d" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">double mrpt::opengl::CRenderizable::getColorA </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const<code> [inline, inherited]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Color components in the range [0,1]. </p>

<p>Definition at line <a class="el" href="_c_renderizable_8h_source.html#l00126">126</a> of file <a class="el" href="_c_renderizable_8h_source.html">CRenderizable.h</a>.</p>

</div>
</div>
<a class="anchor" id="a241fe097fab37493815a9f96e7d36508"></a><!-- doxytag: member="mrpt::opengl::CPolyhedron::getColorA_u8" ref="a241fe097fab37493815a9f96e7d36508" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">uint8_t mrpt::opengl::CRenderizable::getColorA_u8 </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const<code> [inline, inherited]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Color components in the range [0,255]. </p>

<p>Definition at line <a class="el" href="_c_renderizable_8h_source.html#l00131">131</a> of file <a class="el" href="_c_renderizable_8h_source.html">CRenderizable.h</a>.</p>

</div>
</div>
<a class="anchor" id="ab89afd8f753f9ec8b514c213cae93a56"></a><!-- doxytag: member="mrpt::opengl::CPolyhedron::getColorB" ref="ab89afd8f753f9ec8b514c213cae93a56" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">double mrpt::opengl::CRenderizable::getColorB </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const<code> [inline, inherited]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Color components in the range [0,1]. </p>

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

</div>
</div>
<a class="anchor" id="af536b5eb76557c43fdda68ea428d79fe"></a><!-- doxytag: member="mrpt::opengl::CPolyhedron::getColorB_u8" ref="af536b5eb76557c43fdda68ea428d79fe" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">uint8_t mrpt::opengl::CRenderizable::getColorB_u8 </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const<code> [inline, inherited]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Color components in the range [0,255]. </p>

<p>Definition at line <a class="el" href="_c_renderizable_8h_source.html#l00130">130</a> of file <a class="el" href="_c_renderizable_8h_source.html">CRenderizable.h</a>.</p>

</div>
</div>
<a class="anchor" id="a110b12b0f417543e5ca4c1058f70ecc6"></a><!-- doxytag: member="mrpt::opengl::CPolyhedron::getColorG" ref="a110b12b0f417543e5ca4c1058f70ecc6" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">double mrpt::opengl::CRenderizable::getColorG </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const<code> [inline, inherited]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Color components in the range [0,1]. </p>

<p>Definition at line <a class="el" href="_c_renderizable_8h_source.html#l00124">124</a> of file <a class="el" href="_c_renderizable_8h_source.html">CRenderizable.h</a>.</p>

</div>
</div>
<a class="anchor" id="a1111b134b4b50b7f2c244880256c9455"></a><!-- doxytag: member="mrpt::opengl::CPolyhedron::getColorG_u8" ref="a1111b134b4b50b7f2c244880256c9455" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">uint8_t mrpt::opengl::CRenderizable::getColorG_u8 </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const<code> [inline, inherited]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Color components in the range [0,255]. </p>

<p>Definition at line <a class="el" href="_c_renderizable_8h_source.html#l00129">129</a> of file <a class="el" href="_c_renderizable_8h_source.html">CRenderizable.h</a>.</p>

</div>
</div>
<a class="anchor" id="a6b0f2c12af070fe2277518295c70d1d8"></a><!-- doxytag: member="mrpt::opengl::CPolyhedron::getColorR" ref="a6b0f2c12af070fe2277518295c70d1d8" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">double mrpt::opengl::CRenderizable::getColorR </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const<code> [inline, inherited]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Color components in the range [0,1]. </p>

<p>Definition at line <a class="el" href="_c_renderizable_8h_source.html#l00123">123</a> of file <a class="el" href="_c_renderizable_8h_source.html">CRenderizable.h</a>.</p>

</div>
</div>
<a class="anchor" id="a805cf035db65a17c3e0f07e50d37e570"></a><!-- doxytag: member="mrpt::opengl::CPolyhedron::getColorR_u8" ref="a805cf035db65a17c3e0f07e50d37e570" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">uint8_t mrpt::opengl::CRenderizable::getColorR_u8 </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const<code> [inline, inherited]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Color components in the range [0,255]. </p>

<p>Definition at line <a class="el" href="_c_renderizable_8h_source.html#l00128">128</a> of file <a class="el" href="_c_renderizable_8h_source.html">CRenderizable.h</a>.</p>

</div>
</div>
<a class="anchor" id="a64b6187c6dd8cf86ba243c6bbd54b871"></a><!-- doxytag: member="mrpt::opengl::CPolyhedron::getDual" ref="a64b6187c6dd8cf86ba243c6bbd54b871" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="structmrpt_1_1opengl_1_1_c_polyhedron_ptr.html">CPolyhedronPtr</a> mrpt::opengl::CPolyhedron::getDual </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Given a polyhedron, creates its dual. </p>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="classmrpt_1_1opengl_1_1_c_polyhedron.html#a16a60771db55ba737bded03b74f2c859" title="Truncates a polyhedron to a given factor.">truncate</a>,<a class="el" href="classmrpt_1_1opengl_1_1_c_polyhedron.html#ab1bc7afd0fa41a820938d9dbb86f36a5" title="Cantellates a polyhedron to a given factor.">cantellate</a>,<a class="el" href="classmrpt_1_1opengl_1_1_c_polyhedron.html#ad91235c1f40af5974e588eeb1164dc91" title="Augments a polyhedron to a given height.">augment</a> </dd></dl>
<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>Can't get the dual to this polyhedron. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="aa24635a5dae23cd253a1a23d3db3ece8"></a><!-- doxytag: member="mrpt::opengl::CPolyhedron::getEdges" ref="aa24635a5dae23cd253a1a23d3db3ece8" args="(vector&lt; TPolyhedronEdge &gt; &amp;edges) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void mrpt::opengl::CPolyhedron::getEdges </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classstd_1_1vector.html">vector</a>&lt; <a class="el" href="structmrpt_1_1opengl_1_1_c_polyhedron_1_1_t_polyhedron_edge.html">TPolyhedronEdge</a> &gt; &amp;&#160;</td>
          <td class="paramname"><em>edges</em></td><td>)</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Gets a list with the polyhedron's edges. </p>

<p>Definition at line <a class="el" href="_c_polyhedron_8h_source.html#l00621">621</a> of file <a class="el" href="_c_polyhedron_8h_source.html">CPolyhedron.h</a>.</p>

</div>
</div>
<a class="anchor" id="a328d8c3dfc64586db0b3e34058dd5666"></a><!-- doxytag: member="mrpt::opengl::CPolyhedron::getEdgesLength" ref="a328d8c3dfc64586db0b3e34058dd5666" args="(vector&lt; double &gt; &amp;lengths) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void mrpt::opengl::CPolyhedron::getEdgesLength </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classstd_1_1vector.html">vector</a>&lt; double &gt; &amp;&#160;</td>
          <td class="paramname"><em>lengths</em></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Gets a vector with each edge's length. </p>

</div>
</div>
<a class="anchor" id="a4ae4991d357bd7dd5684a3fc70bef099"></a><!-- doxytag: member="mrpt::opengl::CPolyhedron::getFaces" ref="a4ae4991d357bd7dd5684a3fc70bef099" args="(vector&lt; TPolyhedronFace &gt; &amp;faces) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void mrpt::opengl::CPolyhedron::getFaces </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classstd_1_1vector.html">vector</a>&lt; <a class="el" href="structmrpt_1_1opengl_1_1_c_polyhedron_1_1_t_polyhedron_face.html">TPolyhedronFace</a> &gt; &amp;&#160;</td>
          <td class="paramname"><em>faces</em></td><td>)</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Gets a list with the polyhedron's faces. </p>

<p>Definition at line <a class="el" href="_c_polyhedron_8h_source.html#l00627">627</a> of file <a class="el" href="_c_polyhedron_8h_source.html">CPolyhedron.h</a>.</p>

</div>
</div>
<a class="anchor" id="add9ff71fee68b5ac77a607a3a4c7a2db"></a><!-- doxytag: member="mrpt::opengl::CPolyhedron::getFacesArea" ref="add9ff71fee68b5ac77a607a3a4c7a2db" args="(vector&lt; double &gt; &amp;areas) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void mrpt::opengl::CPolyhedron::getFacesArea </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classstd_1_1vector.html">vector</a>&lt; double &gt; &amp;&#160;</td>
          <td class="paramname"><em>areas</em></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Gets a vector with each face's area. </p>
<p>Won't work properly if the polygons are not convex. </p>

</div>
</div>
<a class="anchor" id="a65b8343edcb2ac21e062aaeb61a3fbf4"></a><!-- doxytag: member="mrpt::opengl::CPolyhedron::getIntersection" ref="a65b8343edcb2ac21e062aaeb61a3fbf4" args="(const CPolyhedronPtr &amp;p1, const CPolyhedronPtr &amp;p2, T &amp;container)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class T &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">static size_t mrpt::opengl::CPolyhedron::getIntersection </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="structmrpt_1_1opengl_1_1_c_polyhedron_ptr.html">CPolyhedronPtr</a> &amp;&#160;</td>
          <td class="paramname"><em>p1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="structmrpt_1_1opengl_1_1_c_polyhedron_ptr.html">CPolyhedronPtr</a> &amp;&#160;</td>
          <td class="paramname"><em>p2</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">T &amp;&#160;</td>
          <td class="paramname"><em>container</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [inline, static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Gets the intersection of two polyhedra, either as a set or as a matrix of intersections. </p>
<p>Each intersection is represented by a TObject3D. </p>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="structmrpt_1_1math_1_1_t_object3_d.html" title="Standard object for storing any 3D lightweight object.">mrpt::math::TObject3D</a> </dd></dl>

<p>Definition at line <a class="el" href="_c_polyhedron_8h_source.html#l00700">700</a> of file <a class="el" href="_c_polyhedron_8h_source.html">CPolyhedron.h</a>.</p>

<p>References <a class="el" href="group__geometry__grp.html#ga096194319b696aecf5ab9337a2f60c44">mrpt::math::intersect()</a>.</p>

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

<p>Gets the wireframe lines width. </p>

<p>Definition at line <a class="el" href="_c_polyhedron_8h_source.html#l00676">676</a> of file <a class="el" href="_c_polyhedron_8h_source.html">CPolyhedron.h</a>.</p>

</div>
</div>
<a class="anchor" id="a6a1f9dd6551d1437ba63c712dce80110"></a><!-- doxytag: member="mrpt::opengl::CPolyhedron::getName" ref="a6a1f9dd6551d1437ba63c712dce80110" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const <a class="el" href="classstd_1_1string.html">std::string</a>&amp; mrpt::opengl::CRenderizable::getName </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const<code> [inline, inherited]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Returns the name of the object. </p>

<p>Definition at line <a class="el" href="_c_renderizable_8h_source.html#l00090">90</a> of file <a class="el" href="_c_renderizable_8h_source.html">CRenderizable.h</a>.</p>

</div>
</div>
<a class="anchor" id="ae62ae33d72da9156fbf849fec3c1c43d"></a><!-- doxytag: member="mrpt::opengl::CPolyhedron::getNewTextureNumber" ref="ae62ae33d72da9156fbf849fec3c1c43d" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static unsigned int mrpt::opengl::CRenderizable::getNewTextureNumber </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td><code> [static, protected, inherited]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Returns the lowest next free texture name (avoid using OpenGL's own function since we may call them from different threads and seem it's not cool). </p>

</div>
</div>
<a class="anchor" id="a999e5681b055539a1968b4290386ebef"></a><!-- doxytag: member="mrpt::opengl::CPolyhedron::getNumberOfEdges" ref="a999e5681b055539a1968b4290386ebef" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">uint32_t mrpt::opengl::CPolyhedron::getNumberOfEdges </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Gets the amount of edges. </p>

<p>Definition at line <a class="el" href="_c_polyhedron_8h_source.html#l00639">639</a> of file <a class="el" href="_c_polyhedron_8h_source.html">CPolyhedron.h</a>.</p>

</div>
</div>
<a class="anchor" id="a7d1c9f80de29569046632518198e4101"></a><!-- doxytag: member="mrpt::opengl::CPolyhedron::getNumberOfFaces" ref="a7d1c9f80de29569046632518198e4101" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">uint32_t mrpt::opengl::CPolyhedron::getNumberOfFaces </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Gets the amount of faces. </p>

<p>Definition at line <a class="el" href="_c_polyhedron_8h_source.html#l00645">645</a> of file <a class="el" href="_c_polyhedron_8h_source.html">CPolyhedron.h</a>.</p>

</div>
</div>
<a class="anchor" id="a2a8ff0cd149d5ca892cb7ca4f0c5300e"></a><!-- doxytag: member="mrpt::opengl::CPolyhedron::getNumberOfVertices" ref="a2a8ff0cd149d5ca892cb7ca4f0c5300e" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">uint32_t mrpt::opengl::CPolyhedron::getNumberOfVertices </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Gets the amount of vertices. </p>

<p>Definition at line <a class="el" href="_c_polyhedron_8h_source.html#l00633">633</a> of file <a class="el" href="_c_polyhedron_8h_source.html">CPolyhedron.h</a>.</p>

</div>
</div>
<a class="anchor" id="a04c608f5f32948e2d3fa578f8fc9866a"></a><!-- doxytag: member="mrpt::opengl::CPolyhedron::getPose" ref="a04c608f5f32948e2d3fa578f8fc9866a" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="structmrpt_1_1math_1_1_t_pose3_d.html">mrpt::math::TPose3D</a> mrpt::opengl::CRenderizable::getPose </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const<code> [inherited]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Returns the 3D pose of the object as TPose3D. </p>

</div>
</div>
<a class="anchor" id="a00a7da15bc55e5bda90e56b268547b17"></a><!-- doxytag: member="mrpt::opengl::CPolyhedron::getPosePitch" ref="a00a7da15bc55e5bda90e56b268547b17" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">double mrpt::opengl::CRenderizable::getPosePitch </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const<code> [inline, inherited]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Rotation relative to parent coordinate origin, in **DEGREES**. </p>

<p>Definition at line <a class="el" href="_c_renderizable_8h_source.html#l00117">117</a> of file <a class="el" href="_c_renderizable_8h_source.html">CRenderizable.h</a>.</p>

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

</div>
</div>
<a class="anchor" id="a0f53bc42eee756e472ee722ca8ef4ccd"></a><!-- doxytag: member="mrpt::opengl::CPolyhedron::getPosePitchRad" ref="a0f53bc42eee756e472ee722ca8ef4ccd" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">double mrpt::opengl::CRenderizable::getPosePitchRad </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const<code> [inline, inherited]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Rotation relative to parent coordinate origin, in radians. </p>

<p>Definition at line <a class="el" href="_c_renderizable_8h_source.html#l00120">120</a> of file <a class="el" href="_c_renderizable_8h_source.html">CRenderizable.h</a>.</p>

</div>
</div>
<a class="anchor" id="ae508ae04f460443c484935fcdfc8ee3a"></a><!-- doxytag: member="mrpt::opengl::CPolyhedron::getPoseRef" ref="ae508ae04f460443c484935fcdfc8ee3a" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const <a class="el" href="classmrpt_1_1poses_1_1_c_pose3_d.html">mrpt::poses::CPose3D</a>&amp; mrpt::opengl::CRenderizable::getPoseRef </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 const ref to the 3D pose of the object as CPose3D (which explicitly contains the 3x3 rotation matrix) </p>

<p>Definition at line <a class="el" href="_c_renderizable_8h_source.html#l00105">105</a> of file <a class="el" href="_c_renderizable_8h_source.html">CRenderizable.h</a>.</p>

</div>
</div>
<a class="anchor" id="a5e33a3f3f26c51891d4c5c55030a695d"></a><!-- doxytag: member="mrpt::opengl::CPolyhedron::getPoseRoll" ref="a5e33a3f3f26c51891d4c5c55030a695d" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">double mrpt::opengl::CRenderizable::getPoseRoll </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const<code> [inline, inherited]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Rotation relative to parent coordinate origin, in **DEGREES**. </p>

<p>Definition at line <a class="el" href="_c_renderizable_8h_source.html#l00118">118</a> of file <a class="el" href="_c_renderizable_8h_source.html">CRenderizable.h</a>.</p>

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

</div>
</div>
<a class="anchor" id="aaea6e3654c0304b32cc8892aecf6cae2"></a><!-- doxytag: member="mrpt::opengl::CPolyhedron::getPoseRollRad" ref="aaea6e3654c0304b32cc8892aecf6cae2" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">double mrpt::opengl::CRenderizable::getPoseRollRad </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const<code> [inline, inherited]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Rotation relative to parent coordinate origin, in radians. </p>

<p>Definition at line <a class="el" href="_c_renderizable_8h_source.html#l00121">121</a> of file <a class="el" href="_c_renderizable_8h_source.html">CRenderizable.h</a>.</p>

</div>
</div>
<a class="anchor" id="a0755e54ced9652afa3d8d608c5ab07e5"></a><!-- doxytag: member="mrpt::opengl::CPolyhedron::getPoseX" ref="a0755e54ced9652afa3d8d608c5ab07e5" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">double mrpt::opengl::CRenderizable::getPoseX </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const<code> [inline, inherited]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Translation relative to parent coordinate origin. </p>

<p>Definition at line <a class="el" href="_c_renderizable_8h_source.html#l00113">113</a> of file <a class="el" href="_c_renderizable_8h_source.html">CRenderizable.h</a>.</p>

</div>
</div>
<a class="anchor" id="a51605f842fe3c65ef29c8b6f9c70bbea"></a><!-- doxytag: member="mrpt::opengl::CPolyhedron::getPoseY" ref="a51605f842fe3c65ef29c8b6f9c70bbea" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">double mrpt::opengl::CRenderizable::getPoseY </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const<code> [inline, inherited]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Translation relative to parent coordinate origin. </p>

<p>Definition at line <a class="el" href="_c_renderizable_8h_source.html#l00114">114</a> of file <a class="el" href="_c_renderizable_8h_source.html">CRenderizable.h</a>.</p>

</div>
</div>
<a class="anchor" id="a259175514327566d480b5d476538332f"></a><!-- doxytag: member="mrpt::opengl::CPolyhedron::getPoseYaw" ref="a259175514327566d480b5d476538332f" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">double mrpt::opengl::CRenderizable::getPoseYaw </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const<code> [inline, inherited]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Rotation relative to parent coordinate origin, in **DEGREES**. </p>

<p>Definition at line <a class="el" href="_c_renderizable_8h_source.html#l00116">116</a> of file <a class="el" href="_c_renderizable_8h_source.html">CRenderizable.h</a>.</p>

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

</div>
</div>
<a class="anchor" id="a786c10928768ac5ba28db725a3d3139e"></a><!-- doxytag: member="mrpt::opengl::CPolyhedron::getPoseYawRad" ref="a786c10928768ac5ba28db725a3d3139e" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">double mrpt::opengl::CRenderizable::getPoseYawRad </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const<code> [inline, inherited]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Rotation relative to parent coordinate origin, in radians. </p>

<p>Definition at line <a class="el" href="_c_renderizable_8h_source.html#l00119">119</a> of file <a class="el" href="_c_renderizable_8h_source.html">CRenderizable.h</a>.</p>

</div>
</div>
<a class="anchor" id="a1c8ec31d9b8d2614ae993d361c1075be"></a><!-- doxytag: member="mrpt::opengl::CPolyhedron::getPoseZ" ref="a1c8ec31d9b8d2614ae993d361c1075be" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">double mrpt::opengl::CRenderizable::getPoseZ </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const<code> [inline, inherited]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Translation relative to parent coordinate origin. </p>

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

</div>
</div>
<a class="anchor" id="a8b01a138d86143d32900122ba22d8329"></a><!-- doxytag: member="mrpt::opengl::CPolyhedron::GetRuntimeClass" ref="a8b01a138d86143d32900122ba22d8329" 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::opengl::CPolyhedron::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_1opengl_1_1_c_renderizable_display_list.html#a7f746ed59874b62d3222e0991faf6532">mrpt::opengl::CRenderizableDisplayList</a>.</p>

</div>
</div>
<a class="anchor" id="a53b902abadee37cbd869f052e7f68af8"></a><!-- doxytag: member="mrpt::opengl::CPolyhedron::getScaleX" ref="a53b902abadee37cbd869f052e7f68af8" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">float mrpt::opengl::CRenderizable::getScaleX </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const<code> [inline, inherited]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Get the current scaling factor in one axis. </p>

<p>Definition at line <a class="el" href="_c_renderizable_8h_source.html#l00145">145</a> of file <a class="el" href="_c_renderizable_8h_source.html">CRenderizable.h</a>.</p>

</div>
</div>
<a class="anchor" id="a381a0e7c4c8e1bd728c0e22d2aa5d34f"></a><!-- doxytag: member="mrpt::opengl::CPolyhedron::getScaleY" ref="a381a0e7c4c8e1bd728c0e22d2aa5d34f" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">float mrpt::opengl::CRenderizable::getScaleY </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const<code> [inline, inherited]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Get the current scaling factor in one axis. </p>

<p>Definition at line <a class="el" href="_c_renderizable_8h_source.html#l00146">146</a> of file <a class="el" href="_c_renderizable_8h_source.html">CRenderizable.h</a>.</p>

</div>
</div>
<a class="anchor" id="ae0c3a93eaa4d2d6e2136beb149013db6"></a><!-- doxytag: member="mrpt::opengl::CPolyhedron::getScaleZ" ref="ae0c3a93eaa4d2d6e2136beb149013db6" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">float mrpt::opengl::CRenderizable::getScaleZ </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const<code> [inline, inherited]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Get the current scaling factor in one axis. </p>

<p>Definition at line <a class="el" href="_c_renderizable_8h_source.html#l00147">147</a> of file <a class="el" href="_c_renderizable_8h_source.html">CRenderizable.h</a>.</p>

</div>
</div>
<a class="anchor" id="a3013f49ee9bf1fb56c12788592e606e6"></a><!-- doxytag: member="mrpt::opengl::CPolyhedron::getSetOfPolygons" ref="a3013f49ee9bf1fb56c12788592e606e6" args="(std::vector&lt; math::TPolygon3D &gt; &amp;vec) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void mrpt::opengl::CPolyhedron::getSetOfPolygons </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classstd_1_1vector.html">std::vector</a>&lt; <a class="el" href="classmrpt_1_1math_1_1_t_polygon3_d.html">math::TPolygon3D</a> &gt; &amp;&#160;</td>
          <td class="paramname"><em>vec</em></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Gets the polyhedron as a set of polygons. </p>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="classmrpt_1_1math_1_1_t_polygon3_d.html" title="3D polygon, inheriting from std::vector&lt;TPoint3D&gt;">mrpt::math::TPolygon3D</a> </dd></dl>

</div>
</div>
<a class="anchor" id="a2afc994c187e3d0b8616a5013a5da68b"></a><!-- doxytag: member="mrpt::opengl::CPolyhedron::getSetOfPolygonsAbsolute" ref="a2afc994c187e3d0b8616a5013a5da68b" args="(std::vector&lt; math::TPolygon3D &gt; &amp;vec) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void mrpt::opengl::CPolyhedron::getSetOfPolygonsAbsolute </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classstd_1_1vector.html">std::vector</a>&lt; <a class="el" href="classmrpt_1_1math_1_1_t_polygon3_d.html">math::TPolygon3D</a> &gt; &amp;&#160;</td>
          <td class="paramname"><em>vec</em></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Gets the polyhedron as a set of polygons, with the pose transformation already applied. </p>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="classmrpt_1_1math_1_1_t_polygon3_d.html" title="3D polygon, inheriting from std::vector&lt;TPoint3D&gt;">mrpt::math::TPolygon3D</a>,<a class="el" href="classmrpt_1_1poses_1_1_c_pose3_d.html" title="A class used to store a 3D pose (a 3D translation + a rotation in 3D).">mrpt::poses::CPose3D</a> </dd></dl>

</div>
</div>
<a class="anchor" id="aaf225d9ad42f03a066191e87d8901cc8"></a><!-- doxytag: member="mrpt::opengl::CPolyhedron::getVertices" ref="aaf225d9ad42f03a066191e87d8901cc8" args="(vector&lt; TPoint3D &gt; &amp;vertices) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void mrpt::opengl::CPolyhedron::getVertices </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classstd_1_1vector.html">vector</a>&lt; <a class="el" href="structmrpt_1_1math_1_1_t_point3_d.html">TPoint3D</a> &gt; &amp;&#160;</td>
          <td class="paramname"><em>vertices</em></td><td>)</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Gets a list with the polyhedron's vertices. </p>

<p>Definition at line <a class="el" href="_c_polyhedron_8h_source.html#l00615">615</a> of file <a class="el" href="_c_polyhedron_8h_source.html">CPolyhedron.h</a>.</p>

</div>
</div>
<a class="anchor" id="a663b1d678857b8e5d94fa208dea01f22"></a><!-- doxytag: member="mrpt::opengl::CPolyhedron::getVolume" ref="a663b1d678857b8e5d94fa208dea01f22" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">double mrpt::opengl::CPolyhedron::getVolume </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Gets the polyhedron volume. </p>
<p>Won't work properly if the polyhedron is not convex. </p>

</div>
</div>
<a class="anchor" id="adef57a458f2ff948bd07cb569171d57d"></a><!-- doxytag: member="mrpt::opengl::CPolyhedron::isClosed" ref="adef57a458f2ff948bd07cb569171d57d" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool mrpt::opengl::CPolyhedron::isClosed </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Returns true if the polygon is a completely closed object. </p>

<p>Definition at line <a class="el" href="_c_polyhedron_8h_source.html#l00709">709</a> of file <a class="el" href="_c_polyhedron_8h_source.html">CPolyhedron.h</a>.</p>

</div>
</div>
<a class="anchor" id="a66baeb37cd774b76207e4d8e96871f61"></a><!-- doxytag: member="mrpt::opengl::CPolyhedron::isShowNameEnabled" ref="a66baeb37cd774b76207e4d8e96871f61" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool mrpt::opengl::CRenderizable::isShowNameEnabled </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const<code> [inline, inherited]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="classmrpt_1_1opengl_1_1_c_renderizable.html#ac0579ae5563d5f2c13e2e03c79f71257" title="Enables or disables showing the name of the object as a label when rendering.">enableShowName</a> </dd></dl>

<p>Definition at line <a class="el" href="_c_renderizable_8h_source.html#l00096">96</a> of file <a class="el" href="_c_renderizable_8h_source.html">CRenderizable.h</a>.</p>

</div>
</div>
<a class="anchor" id="a5b648ce8cde3ac142d8d062edbc81fee"></a><!-- doxytag: member="mrpt::opengl::CPolyhedron::isVisible" ref="a5b648ce8cde3ac142d8d062edbc81fee" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool mrpt::opengl::CRenderizable::isVisible </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const<code> [inline, inherited]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Is the object visible? </p>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="classmrpt_1_1opengl_1_1_c_renderizable.html#a26a0f88efc4fa587ce6bae52577a7354" title="Set object visibility (default=true)">setVisibility</a> </dd></dl>

<p>Definition at line <a class="el" href="_c_renderizable_8h_source.html#l00092">92</a> of file <a class="el" href="_c_renderizable_8h_source.html">CRenderizable.h</a>.</p>

</div>
</div>
<a class="anchor" id="a8603b65246b3cba5d1bdfe769c1d55c7"></a><!-- doxytag: member="mrpt::opengl::CPolyhedron::isWireframe" ref="a8603b65246b3cba5d1bdfe769c1d55c7" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool mrpt::opengl::CPolyhedron::isWireframe </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Returns whether the polyhedron will be rendered as a wireframe object. </p>

<p>Definition at line <a class="el" href="_c_polyhedron_8h_source.html#l00663">663</a> of file <a class="el" href="_c_polyhedron_8h_source.html">CPolyhedron.h</a>.</p>

</div>
</div>
<a class="anchor" id="acfc0bbfa1db859dc4360b2773e1e5964"></a><!-- doxytag: member="mrpt::opengl::CPolyhedron::makeConvexPolygons" ref="acfc0bbfa1db859dc4360b2773e1e5964" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void mrpt::opengl::CPolyhedron::makeConvexPolygons </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Recomputes polygons, if necessary, so that each one is convex. </p>

</div>
</div>
<a class="anchor" id="a77f8b97d7f4937b3f0777b76bc0ddf7a"></a><!-- doxytag: member="mrpt::opengl::CPolyhedron::notifyChange" ref="a77f8b97d7f4937b3f0777b76bc0ddf7a" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">EIGEN_STRONG_INLINE void mrpt::opengl::CRenderizableDisplayList::notifyChange </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const<code> [inline, protected, inherited]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Must be called to notify that the object has changed (so, the display list must be updated) </p>

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

<p>Referenced by <a class="el" href="_c3_d_s_scene_8h_source.html#l00078">mrpt::opengl::C3DSScene::enableExtraAmbientLight()</a>, <a class="el" href="_c_angular_observation_mesh_8h_source.html#l00275">mrpt::opengl::CAngularObservationMesh::setWireframe()</a>, <a class="el" href="_c_angular_observation_mesh_8h_source.html#l00288">mrpt::opengl::CAngularObservationMesh::enableTransparency()</a>, <a class="el" href="_c_arrow_8h_source.html#l00068">mrpt::opengl::CArrow::setArrowEnds()</a>, <a class="el" href="_c_arrow_8h_source.html#l00074">mrpt::opengl::CArrow::setHeadRatio()</a>, <a class="el" href="_c_arrow_8h_source.html#l00075">mrpt::opengl::CArrow::setSmallRadius()</a>, <a class="el" href="_c_arrow_8h_source.html#l00076">mrpt::opengl::CArrow::setLargeRadius()</a>, <a class="el" href="_c_arrow_8h_source.html#l00077">mrpt::opengl::CArrow::setArrowYawPitchRoll()</a>, <a class="el" href="_c_axis_8h_source.html#l00064">mrpt::opengl::CAxis::setAxisLimits()</a>, <a class="el" href="_c_axis_8h_source.html#l00071">mrpt::opengl::CAxis::setFrequency()</a>, <a class="el" href="_c_axis_8h_source.html#l00073">mrpt::opengl::CAxis::setLineWidth()</a>, <a class="el" href="_c_axis_8h_source.html#l00076">mrpt::opengl::CAxis::enableTickMarks()</a>, <a class="el" href="_c_box_8h_source.html#l00078">mrpt::opengl::CBox::setLineWidth()</a>, <a class="el" href="_c_box_8h_source.html#l00081">mrpt::opengl::CBox::setWireframe()</a>, <a class="el" href="_c_cylinder_8h_source.html#l00087">mrpt::opengl::CCylinder::setHasBases()</a>, <a class="el" href="_c_cylinder_8h_source.html#l00110">mrpt::opengl::CCylinder::setRadius()</a>, <a class="el" href="_c_cylinder_8h_source.html#l00118">mrpt::opengl::CCylinder::setRadii()</a>, <a class="el" href="_c_cylinder_8h_source.html#l00126">mrpt::opengl::CCylinder::setHeight()</a>, <a class="el" href="_c_cylinder_8h_source.html#l00151">mrpt::opengl::CCylinder::setSlicesCount()</a>, <a class="el" href="_c_cylinder_8h_source.html#l00158">mrpt::opengl::CCylinder::setStacksCount()</a>, <a class="el" href="_c_disk_8h_source.html#l00064">mrpt::opengl::CDisk::setDiskRadius()</a>, <a class="el" href="_c_disk_8h_source.html#l00069">mrpt::opengl::CDisk::setSlicesCount()</a>, <a class="el" href="_c_disk_8h_source.html#l00070">mrpt::opengl::CDisk::setLoopsCount()</a>, <a class="el" href="_c_ellipsoid_8h_source.html#l00096">mrpt::opengl::CEllipsoid::enableDrawSolid3D()</a>, <a class="el" href="_c_ellipsoid_8h_source.html#l00097">mrpt::opengl::CEllipsoid::setQuantiles()</a>, <a class="el" href="_c_ellipsoid_8h_source.html#l00100">mrpt::opengl::CEllipsoid::set2DsegmentsCount()</a>, <a class="el" href="_c_ellipsoid_8h_source.html#l00101">mrpt::opengl::CEllipsoid::set3DsegmentsCount()</a>, <a class="el" href="_c_generalized_cylinder_8h_source.html#l00192">mrpt::opengl::CGeneralizedCylinder::setAxis()</a>, <a class="el" href="_c_generalized_cylinder_8h_source.html#l00207">mrpt::opengl::CGeneralizedCylinder::setGeneratrix()</a>, <a class="el" href="_c_generalized_cylinder_8h_source.html#l00221">mrpt::opengl::CGeneralizedCylinder::setClosed()</a>, <a class="el" href="_c_generalized_cylinder_8h_source.html#l00280">mrpt::opengl::CGeneralizedCylinder::setAllSectionsVisible()</a>, <a class="el" href="_c_generalized_cylinder_8h_source.html#l00287">mrpt::opengl::CGeneralizedCylinder::setAllSectionsInvisible()</a>, <a class="el" href="_c_generalized_cylinder_8h_source.html#l00297">mrpt::opengl::CGeneralizedCylinder::setVisibleSections()</a>, <a class="el" href="_c_generalized_cylinder_8h_source.html#l00309">mrpt::opengl::CGeneralizedCylinder::addVisibleSectionAtStart()</a>, <a class="el" href="_c_generalized_cylinder_8h_source.html#l00319">mrpt::opengl::CGeneralizedCylinder::addVisibleSectionAtEnd()</a>, <a class="el" href="_c_grid_plane_x_y_8h_source.html#l00066">mrpt::opengl::CGridPlaneXY::setPlaneLimits()</a>, <a class="el" href="_c_grid_plane_x_y_8h_source.html#l00079">mrpt::opengl::CGridPlaneXY::setPlaneZcoord()</a>, <a class="el" href="_c_grid_plane_x_y_8h_source.html#l00082">mrpt::opengl::CGridPlaneXY::setGridFrequency()</a>, <a class="el" href="_c_grid_plane_x_z_8h_source.html#l00066">mrpt::opengl::CGridPlaneXZ::setPlaneLimits()</a>, <a class="el" href="_c_grid_plane_x_z_8h_source.html#l00079">mrpt::opengl::CGridPlaneXZ::setPlaneYcoord()</a>, <a class="el" href="_c_grid_plane_x_z_8h_source.html#l00082">mrpt::opengl::CGridPlaneXZ::setGridFrequency()</a>, <a class="el" href="_c_mesh_8h_source.html#l00089">mrpt::opengl::CMesh::setGridLimits()</a>, <a class="el" href="_c_mesh_8h_source.html#l00102">mrpt::opengl::CMesh::enableTransparency()</a>, <a class="el" href="_c_mesh_8h_source.html#l00103">mrpt::opengl::CMesh::enableWireFrame()</a>, <a class="el" href="_c_mesh_8h_source.html#l00104">mrpt::opengl::CMesh::enableColorFromZ()</a>, <a class="el" href="_c_mesh_8h_source.html#l00134">mrpt::opengl::CMesh::setXMin()</a>, <a class="el" href="_c_mesh_8h_source.html#l00138">mrpt::opengl::CMesh::setXMax()</a>, <a class="el" href="_c_mesh_8h_source.html#l00142">mrpt::opengl::CMesh::setYMin()</a>, <a class="el" href="_c_mesh_8h_source.html#l00146">mrpt::opengl::CMesh::setYMax()</a>, <a class="el" href="_c_mesh_8h_source.html#l00158">mrpt::opengl::CMesh::setXBounds()</a>, <a class="el" href="_c_mesh_8h_source.html#l00163">mrpt::opengl::CMesh::setYBounds()</a>, <a class="el" href="_c_open_g_l_standard_object_8h_source.html#l00089">mrpt::opengl::COpenGLStandardObject::enable()</a>, <a class="el" href="_c_open_g_l_standard_object_8h_source.html#l00096">mrpt::opengl::COpenGLStandardObject::disable()</a>, <a class="el" href="_c_open_g_l_standard_object_8h_source.html#l00115">mrpt::opengl::COpenGLStandardObject::setFlags()</a>, <a class="el" href="_c_open_g_l_standard_object_8h_source.html#l00122">mrpt::opengl::COpenGLStandardObject::setNormal()</a>, <a class="el" href="_c_planar_laser_scan_8h_source.html#l00091">mrpt::opengl::CPlanarLaserScan::enablePoints()</a>, <a class="el" href="_c_planar_laser_scan_8h_source.html#l00094">mrpt::opengl::CPlanarLaserScan::enableLine()</a>, <a class="el" href="_c_planar_laser_scan_8h_source.html#l00097">mrpt::opengl::CPlanarLaserScan::enableSurface()</a>, <a class="el" href="_c_planar_laser_scan_8h_source.html#l00126">mrpt::opengl::CPlanarLaserScan::setScan()</a>, <a class="el" href="_c_polyhedron_8h_source.html#l00669">setWireframe()</a>, <a class="el" href="_c_polyhedron_8h_source.html#l00682">setLineWidth()</a>, <a class="el" href="_c_set_of_lines_8h_source.html#l00069">mrpt::opengl::CSetOfLines::clear()</a>, <a class="el" href="_c_set_of_lines_8h_source.html#l00076">mrpt::opengl::CSetOfLines::setLineWidth()</a>, <a class="el" href="_c_set_of_lines_8h_source.html#l00089">mrpt::opengl::CSetOfLines::appendLine()</a>, <a class="el" href="_c_set_of_lines_8h_source.html#l00104">mrpt::opengl::CSetOfLines::appendLines()</a>, <a class="el" href="_c_set_of_lines_8h_source.html#l00121">mrpt::opengl::CSetOfLines::resize()</a>, <a class="el" href="_c_set_of_lines_8h_source.html#l00129">mrpt::opengl::CSetOfLines::reserve()</a>, <a class="el" href="_c_set_of_lines_8h_source.html#l00155">mrpt::opengl::CSetOfLines::setLineByIndex()</a>, <a class="el" href="_c_set_of_lines_8h_source.html#l00201">mrpt::opengl::CSetOfLines::begin()</a>, <a class="el" href="_c_set_of_lines_8h_source.html#l00209">mrpt::opengl::CSetOfLines::end()</a>, <a class="el" href="_c_set_of_textured_triangles_8h_source.html#l00100">mrpt::opengl::CSetOfTexturedTriangles::clearTriangles()</a>, <a class="el" href="_c_set_of_textured_triangles_8h_source.html#l00103">mrpt::opengl::CSetOfTexturedTriangles::getTriangle()</a>, <a class="el" href="_c_set_of_textured_triangles_8h_source.html#l00104">mrpt::opengl::CSetOfTexturedTriangles::insertTriangle()</a>, <a class="el" href="_c_set_of_triangles_8h_source.html#l00100">mrpt::opengl::CSetOfTriangles::clearTriangles()</a>, <a class="el" href="_c_set_of_triangles_8h_source.html#l00112">mrpt::opengl::CSetOfTriangles::insertTriangle()</a>, <a class="el" href="_c_set_of_triangles_8h_source.html#l00117">mrpt::opengl::CSetOfTriangles::insertTriangles()</a>, <a class="el" href="_c_set_of_triangles_8h_source.html#l00134">mrpt::opengl::CSetOfTriangles::reserve()</a>, <a class="el" href="_c_set_of_triangles_8h_source.html#l00140">mrpt::opengl::CSetOfTriangles::enableTransparency()</a>, <a class="el" href="_c_simple_line_8h_source.html#l00055">mrpt::opengl::CSimpleLine::setLineWidth()</a>, <a class="el" href="_c_simple_line_8h_source.html#l00058">mrpt::opengl::CSimpleLine::setLineCoords()</a>, <a class="el" href="_c_sphere_8h_source.html#l00063">mrpt::opengl::CSphere::setRadius()</a>, <a class="el" href="_c_sphere_8h_source.html#l00066">mrpt::opengl::CSphere::setNumberDivsLongitude()</a>, <a class="el" href="_c_sphere_8h_source.html#l00067">mrpt::opengl::CSphere::setNumberDivsLatitude()</a>, <a class="el" href="_c_sphere_8h_source.html#l00068">mrpt::opengl::CSphere::enableRadiusIndependentOfEyeDistance()</a>, <a class="el" href="_c_text3_d_8h_source.html#l00074">mrpt::opengl::CText3D::setString()</a>, <a class="el" href="_c_text3_d_8h_source.html#l00082">mrpt::opengl::CText3D::setFont()</a>, <a class="el" href="_c_text3_d_8h_source.html#l00090">mrpt::opengl::CText3D::setTextStyle()</a>, <a class="el" href="_c_text3_d_8h_source.html#l00097">mrpt::opengl::CText3D::setTextSpacing()</a>, <a class="el" href="_c_text3_d_8h_source.html#l00103">mrpt::opengl::CText3D::setTextKerning()</a>, <a class="el" href="_c_textured_plane_8h_source.html#l00065">mrpt::opengl::CTexturedPlane::setTextureCornerCoords()</a>, and <a class="el" href="_c_textured_plane_8h_source.html#l00075">mrpt::opengl::CTexturedPlane::setPlaneCorners()</a>.</p>

</div>
</div>
<a class="anchor" id="a73ba83035a64939cdc3aa1c0dfed23ec"></a><!-- doxytag: member="mrpt::opengl::CPolyhedron::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="af46e56b5e7da5e276b8a0999b5e74354"></a><!-- doxytag: member="mrpt::opengl::CPolyhedron::readFromStreamRender" ref="af46e56b5e7da5e276b8a0999b5e74354" args="(mrpt::utils::CStream &amp;in)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void mrpt::opengl::CRenderizableDisplayList::readFromStreamRender </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><td>)</td>
          <td><code> [inline, protected, inherited]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Reimplemented from <a class="el" href="classmrpt_1_1opengl_1_1_c_renderizable.html#aa7af150bcbffbc865a570cf38206a561">mrpt::opengl::CRenderizable</a>.</p>

<p>Definition at line <a class="el" href="_c_renderizable_display_list_8h_source.html#l00077">77</a> of file <a class="el" href="_c_renderizable_display_list_8h_source.html">CRenderizableDisplayList.h</a>.</p>

<p>References <a class="el" href="classmrpt_1_1opengl_1_1_c_renderizable.html#aa7af150bcbffbc865a570cf38206a561">mrpt::opengl::CRenderizable::readFromStreamRender()</a>.</p>

</div>
</div>
<a class="anchor" id="a3ddf530db5c15d37d20d61013969f5c7"></a><!-- doxytag: member="mrpt::opengl::CPolyhedron::releaseTextureName" ref="a3ddf530db5c15d37d20d61013969f5c7" args="(unsigned int i)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static void mrpt::opengl::CRenderizable::releaseTextureName </td>
          <td>(</td>
          <td class="paramtype">unsigned int&#160;</td>
          <td class="paramname"><em>i</em></td><td>)</td>
          <td><code> [static, protected, inherited]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<a class="anchor" id="a1249d9a7fb8c2e56b81c2331abc3b182"></a><!-- doxytag: member="mrpt::opengl::CPolyhedron::render" ref="a1249d9a7fb8c2e56b81c2331abc3b182" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void mrpt::opengl::CRenderizableDisplayList::render </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const<code> [virtual, inherited]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Render the object, regenerating the display list if needed, otherwise just calling it. </p>

<p>Implements <a class="el" href="classmrpt_1_1opengl_1_1_c_renderizable.html#a8f8c65324887dd3cd2c999f110fd213a">mrpt::opengl::CRenderizable</a>.</p>

</div>
</div>
<a class="anchor" id="a605969f1f1c4edb83f68eb4779999911"></a><!-- doxytag: member="mrpt::opengl::CPolyhedron::render_dl" ref="a605969f1f1c4edb83f68eb4779999911" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void mrpt::opengl::CPolyhedron::render_dl </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const<code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Render. </p>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="classmrpt_1_1opengl_1_1_c_renderizable.html" title="The base class of 3D objects that can be directly rendered through OpenGL.">CRenderizable</a> </dd></dl>

<p>Implements <a class="el" href="classmrpt_1_1opengl_1_1_c_renderizable_display_list.html#a818dfbbda2001e9653ec681832d5388e">mrpt::opengl::CRenderizableDisplayList</a>.</p>

</div>
</div>
<a class="anchor" id="aaee57246c99beacdf04e8d63f71ecf49"></a><!-- doxytag: member="mrpt::opengl::CPolyhedron::renderTextBitmap" ref="aaee57246c99beacdf04e8d63f71ecf49" args="(const char *str, void *fontStyle)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static void mrpt::opengl::CRenderizable::renderTextBitmap </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>str</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">void *&#160;</td>
          <td class="paramname"><em>fontStyle</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [static, inherited]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>This method is safe for calling from within ::render() methods. </p>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="classmrpt_1_1opengl_1_1_c_renderizable.html#aaee57246c99beacdf04e8d63f71ecf49" title="This method is safe for calling from within ::render() methods.">renderTextBitmap</a>, <a class="el" href="namespacemrpt_1_1opengl_1_1gl__utils.html" title="A set of auxiliary functions that can be called to render OpenGL primitives from MRPT or user code...">mrpt::opengl::gl_utils</a> </dd></dl>

</div>
</div>
<a class="anchor" id="a5053cf08cbe1eb72668e62388f6040fb"></a><!-- doxytag: member="mrpt::opengl::CPolyhedron::renderTextBitmap" ref="a5053cf08cbe1eb72668e62388f6040fb" args="(int screen_x, int screen_y, const std::string &amp;str, float color_r=1, float color_g=1, float color_b=1, mrpt::opengl::TOpenGLFont font=mrpt::opengl::MRPT_GLUT_BITMAP_TIMES_ROMAN_24)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static void mrpt::opengl::CRenderizable::renderTextBitmap </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>screen_x</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>screen_y</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classstd_1_1string.html">std::string</a> &amp;&#160;</td>
          <td class="paramname"><em>str</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">float&#160;</td>
          <td class="paramname"><em>color_r</em> = <code>1</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">float&#160;</td>
          <td class="paramname"><em>color_g</em> = <code>1</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">float&#160;</td>
          <td class="paramname"><em>color_b</em> = <code>1</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__mrpt__opengl__grp.html#ga4e54252970d0b0a6dd251335064a2346">mrpt::opengl::TOpenGLFont</a>&#160;</td>
          <td class="paramname"><em>font</em> = <code>mrpt::opengl::MRPT_GLUT_BITMAP_TIMES_ROMAN_24</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [static, inherited]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Render a text message in the current rendering context, creating a glViewport in the way (do not call within ::render() methods) </p>
<ul>
<li>Coordinates (x,y) are 2D pixels, starting at bottom-left of the viewport. Negative numbers will wrap to the opposite side of the viewport (e.g. x=-10 means 10px fromt the right).</li>
<li>The text color is defined by (color_r,color_g,color_b), each float numbers in the range [0,1]. <dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="classmrpt_1_1opengl_1_1_c_renderizable.html#aaee57246c99beacdf04e8d63f71ecf49" title="This method is safe for calling from within ::render() methods.">renderTextBitmap</a>, <a class="el" href="classmrpt_1_1opengl_1_1_c_renderizable.html#a85c31135fcbff49642e67660dcf95588" title="Return the exact width in pixels for a given string, as will be rendered by renderTextBitmap().">textBitmapWidth</a>, <a class="el" href="namespacemrpt_1_1opengl_1_1gl__utils.html" title="A set of auxiliary functions that can be called to render OpenGL primitives from MRPT or user code...">mrpt::opengl::gl_utils</a> </dd></dl>
</li>
</ul>

</div>
</div>
<a class="anchor" id="ad342aeae9480ca46e55fffe72abcfee9"></a><!-- doxytag: member="mrpt::opengl::CPolyhedron::rotate" ref="ad342aeae9480ca46e55fffe72abcfee9" args="(double angle) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="structmrpt_1_1opengl_1_1_c_polyhedron_ptr.html">CPolyhedronPtr</a> mrpt::opengl::CPolyhedron::rotate </td>
          <td>(</td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>angle</em></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Rotates a polyhedron around the Z axis a given amount of radians. </p>
<p>In some cases, this operation may be necessary to view the symmetry between related objects. </p>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="classmrpt_1_1opengl_1_1_c_polyhedron.html#a75f1459bf23eeddb1881d12333329615" title="Scales a polyhedron to a given factor.">scale</a> </dd></dl>

</div>
</div>
<a class="anchor" id="a75f1459bf23eeddb1881d12333329615"></a><!-- doxytag: member="mrpt::opengl::CPolyhedron::scale" ref="a75f1459bf23eeddb1881d12333329615" args="(double factor) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="structmrpt_1_1opengl_1_1_c_polyhedron_ptr.html">CPolyhedronPtr</a> mrpt::opengl::CPolyhedron::scale </td>
          <td>(</td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>factor</em></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Scales a polyhedron to a given factor. </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>factor is not a strictly positive number. </td></tr>
  </table>
  </dd>
</dl>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="classmrpt_1_1opengl_1_1_c_polyhedron.html#ad342aeae9480ca46e55fffe72abcfee9" title="Rotates a polyhedron around the Z axis a given amount of radians.">rotate</a> </dd></dl>

</div>
</div>
<a class="anchor" id="a4586196e85a91b39b2ef4ba07105839f"></a><!-- doxytag: member="mrpt::opengl::CPolyhedron::setColor" ref="a4586196e85a91b39b2ef4ba07105839f" args="(const mrpt::utils::TColorf &amp;c)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classmrpt_1_1opengl_1_1_c_renderizable.html">CRenderizable</a>&amp; mrpt::opengl::CRenderizable::setColor </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="structmrpt_1_1utils_1_1_t_colorf.html">mrpt::utils::TColorf</a> &amp;&#160;</td>
          <td class="paramname"><em>c</em></td><td>)</td>
          <td><code> [inline, inherited]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">c</td><td>Changes the default object color </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>a ref to this </dd></dl>

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

<p>References <a class="el" href="_t_color_8h_source.html#l00066">mrpt::utils::TColorf::R</a>, <a class="el" href="_t_color_8h_source.html#l00066">mrpt::utils::TColorf::G</a>, <a class="el" href="_t_color_8h_source.html#l00066">mrpt::utils::TColorf::B</a>, and <a class="el" href="_t_color_8h_source.html#l00066">mrpt::utils::TColorf::A</a>.</p>

</div>
</div>
<a class="anchor" id="a227cd19e15ce20a48e503efd280a2f78"></a><!-- doxytag: member="mrpt::opengl::CPolyhedron::setColor" ref="a227cd19e15ce20a48e503efd280a2f78" args="(double R, double G, double B, double A=1)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classmrpt_1_1opengl_1_1_c_renderizable.html">CRenderizable</a>&amp; mrpt::opengl::CRenderizable::setColor </td>
          <td>(</td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>R</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>G</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>B</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>A</em> = <code>1</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [inline, inherited]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Set the color components of this object (R,G,B,Alpha, in the range 0-1) </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>a ref to this </dd></dl>

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

</div>
</div>
<a class="anchor" id="a3f3f905f1ac3cc0e4df7fe72700fc050"></a><!-- doxytag: member="mrpt::opengl::CPolyhedron::setColor_u8" ref="a3f3f905f1ac3cc0e4df7fe72700fc050" args="(const mrpt::utils::TColor &amp;c)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="classmrpt_1_1opengl_1_1_c_renderizable.html">CRenderizable</a>&amp; mrpt::opengl::CRenderizableDisplayList::setColor_u8 </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="structmrpt_1_1utils_1_1_t_color.html">mrpt::utils::TColor</a> &amp;&#160;</td>
          <td class="paramname"><em>c</em></td><td>)</td>
          <td><code> [inline, virtual, inherited]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Changes the default object color. </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>a ref to this </dd></dl>

<p>Reimplemented from <a class="el" href="classmrpt_1_1opengl_1_1_c_renderizable.html#a6036b02181fce4b99ca279b700a23861">mrpt::opengl::CRenderizable</a>.</p>

<p>Reimplemented in <a class="el" href="classmrpt_1_1opengl_1_1_c_set_of_triangles.html#a3427fee35f5dc76dd2f3889845eddd4e">mrpt::opengl::CSetOfTriangles</a>.</p>

<p>Definition at line <a class="el" href="_c_renderizable_display_list_8h_source.html#l00106">106</a> of file <a class="el" href="_c_renderizable_display_list_8h_source.html">CRenderizableDisplayList.h</a>.</p>

<p>References <a class="el" href="classmrpt_1_1opengl_1_1_c_renderizable.html#a6036b02181fce4b99ca279b700a23861">mrpt::opengl::CRenderizable::setColor_u8()</a>.</p>

</div>
</div>
<a class="anchor" id="a9a91576a6cabb53b87ee5bbf352ef388"></a><!-- doxytag: member="mrpt::opengl::CPolyhedron::setColor_u8" ref="a9a91576a6cabb53b87ee5bbf352ef388" args="(uint8_t R, uint8_t G, uint8_t B, uint8_t A=255)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classmrpt_1_1opengl_1_1_c_renderizable.html">CRenderizable</a>&amp; mrpt::opengl::CRenderizable::setColor_u8 </td>
          <td>(</td>
          <td class="paramtype">uint8_t&#160;</td>
          <td class="paramname"><em>R</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint8_t&#160;</td>
          <td class="paramname"><em>G</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint8_t&#160;</td>
          <td class="paramname"><em>B</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint8_t&#160;</td>
          <td class="paramname"><em>A</em> = <code>255</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [inline, inherited]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Set the color components of this object (R,G,B,Alpha, in the range 0-1) </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>a ref to this </dd></dl>

<p>Definition at line <a class="el" href="_c_renderizable_8h_source.html#l00164">164</a> of file <a class="el" href="_c_renderizable_8h_source.html">CRenderizable.h</a>.</p>

<p>References <a class="el" href="_c_renderizable_8h_source.html#l00164">mrpt::opengl::CRenderizable::setColor_u8()</a>.</p>

<p>Referenced by <a class="el" href="_c_renderizable_8h_source.html#l00164">mrpt::opengl::CRenderizable::setColor_u8()</a>.</p>

</div>
</div>
<a class="anchor" id="ac7db4eaa48259e7d859291fabddf6e22"></a><!-- doxytag: member="mrpt::opengl::CPolyhedron::setColorA" ref="ac7db4eaa48259e7d859291fabddf6e22" args="(const double a)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classmrpt_1_1opengl_1_1_c_renderizable.html">CRenderizable</a>&amp; mrpt::opengl::CRenderizable::setColorA </td>
          <td>(</td>
          <td class="paramtype">const double&#160;</td>
          <td class="paramname"><em>a</em></td><td>)</td>
          <td><code> [inline, inherited]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Color components in the range [0,1]. </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>a ref to this </dd></dl>

<p>Definition at line <a class="el" href="_c_renderizable_8h_source.html#l00136">136</a> of file <a class="el" href="_c_renderizable_8h_source.html">CRenderizable.h</a>.</p>

</div>
</div>
<a class="anchor" id="ae0fe1daca727da3508f674992cc33827"></a><!-- doxytag: member="mrpt::opengl::CPolyhedron::setColorA_u8" ref="ae0fe1daca727da3508f674992cc33827" args="(const uint8_t a)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="classmrpt_1_1opengl_1_1_c_renderizable.html">CRenderizable</a>&amp; mrpt::opengl::CRenderizableDisplayList::setColorA_u8 </td>
          <td>(</td>
          <td class="paramtype">const uint8_t&#160;</td>
          <td class="paramname"><em>a</em></td><td>)</td>
          <td><code> [inline, virtual, inherited]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Color components in the range [0,255]. </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>a ref to this </dd></dl>

<p>Reimplemented from <a class="el" href="classmrpt_1_1opengl_1_1_c_renderizable.html#a5a035f3fc59300547e27fe1a27bccf0d">mrpt::opengl::CRenderizable</a>.</p>

<p>Reimplemented in <a class="el" href="classmrpt_1_1opengl_1_1_c_set_of_triangles.html#ab1d48175850ef7e95d2654ef46667056">mrpt::opengl::CSetOfTriangles</a>.</p>

<p>Definition at line <a class="el" href="_c_renderizable_display_list_8h_source.html#l00105">105</a> of file <a class="el" href="_c_renderizable_display_list_8h_source.html">CRenderizableDisplayList.h</a>.</p>

</div>
</div>
<a class="anchor" id="abcd5c2ca91d0a18f7188a90f60309b5b"></a><!-- doxytag: member="mrpt::opengl::CPolyhedron::setColorB" ref="abcd5c2ca91d0a18f7188a90f60309b5b" args="(const double b)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classmrpt_1_1opengl_1_1_c_renderizable.html">CRenderizable</a>&amp; mrpt::opengl::CRenderizable::setColorB </td>
          <td>(</td>
          <td class="paramtype">const double&#160;</td>
          <td class="paramname"><em>b</em></td><td>)</td>
          <td><code> [inline, inherited]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Color components in the range [0,1]. </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>a ref to this </dd></dl>

<p>Definition at line <a class="el" href="_c_renderizable_8h_source.html#l00135">135</a> of file <a class="el" href="_c_renderizable_8h_source.html">CRenderizable.h</a>.</p>

</div>
</div>
<a class="anchor" id="a6b5c21bb51fd83f87b9c0b26aeccd396"></a><!-- doxytag: member="mrpt::opengl::CPolyhedron::setColorB_u8" ref="a6b5c21bb51fd83f87b9c0b26aeccd396" args="(const uint8_t b)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="classmrpt_1_1opengl_1_1_c_renderizable.html">CRenderizable</a>&amp; mrpt::opengl::CRenderizableDisplayList::setColorB_u8 </td>
          <td>(</td>
          <td class="paramtype">const uint8_t&#160;</td>
          <td class="paramname"><em>b</em></td><td>)</td>
          <td><code> [inline, virtual, inherited]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Color components in the range [0,255]. </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>a ref to this </dd></dl>

<p>Reimplemented from <a class="el" href="classmrpt_1_1opengl_1_1_c_renderizable.html#aaaac77a1d54b35c6654ac490bf8a5792">mrpt::opengl::CRenderizable</a>.</p>

<p>Reimplemented in <a class="el" href="classmrpt_1_1opengl_1_1_c_set_of_triangles.html#a1c71ec182bd177c7b796b967aeb02e27">mrpt::opengl::CSetOfTriangles</a>.</p>

<p>Definition at line <a class="el" href="_c_renderizable_display_list_8h_source.html#l00104">104</a> of file <a class="el" href="_c_renderizable_display_list_8h_source.html">CRenderizableDisplayList.h</a>.</p>

</div>
</div>
<a class="anchor" id="a3df6303cd71abdefb2889ec9a310fbea"></a><!-- doxytag: member="mrpt::opengl::CPolyhedron::setColorG" ref="a3df6303cd71abdefb2889ec9a310fbea" args="(const double g)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classmrpt_1_1opengl_1_1_c_renderizable.html">CRenderizable</a>&amp; mrpt::opengl::CRenderizable::setColorG </td>
          <td>(</td>
          <td class="paramtype">const double&#160;</td>
          <td class="paramname"><em>g</em></td><td>)</td>
          <td><code> [inline, inherited]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Color components in the range [0,1]. </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>a ref to this </dd></dl>

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

</div>
</div>
<a class="anchor" id="ac92b3c352df68d167130b09da64141dd"></a><!-- doxytag: member="mrpt::opengl::CPolyhedron::setColorG_u8" ref="ac92b3c352df68d167130b09da64141dd" args="(const uint8_t g)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="classmrpt_1_1opengl_1_1_c_renderizable.html">CRenderizable</a>&amp; mrpt::opengl::CRenderizableDisplayList::setColorG_u8 </td>
          <td>(</td>
          <td class="paramtype">const uint8_t&#160;</td>
          <td class="paramname"><em>g</em></td><td>)</td>
          <td><code> [inline, virtual, inherited]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Color components in the range [0,255]. </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>a ref to this </dd></dl>

<p>Reimplemented from <a class="el" href="classmrpt_1_1opengl_1_1_c_renderizable.html#a1c8867be88ef590c44861c240c07ea5e">mrpt::opengl::CRenderizable</a>.</p>

<p>Reimplemented in <a class="el" href="classmrpt_1_1opengl_1_1_c_set_of_triangles.html#ad64f299fbdd533bb7d781201f8be3074">mrpt::opengl::CSetOfTriangles</a>.</p>

<p>Definition at line <a class="el" href="_c_renderizable_display_list_8h_source.html#l00103">103</a> of file <a class="el" href="_c_renderizable_display_list_8h_source.html">CRenderizableDisplayList.h</a>.</p>

</div>
</div>
<a class="anchor" id="ac2d4d9059afa28d17072bd5d76e60cb2"></a><!-- doxytag: member="mrpt::opengl::CPolyhedron::setColorR" ref="ac2d4d9059afa28d17072bd5d76e60cb2" args="(const double r)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classmrpt_1_1opengl_1_1_c_renderizable.html">CRenderizable</a>&amp; mrpt::opengl::CRenderizable::setColorR </td>
          <td>(</td>
          <td class="paramtype">const double&#160;</td>
          <td class="paramname"><em>r</em></td><td>)</td>
          <td><code> [inline, inherited]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Color components in the range [0,1]. </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>a ref to this </dd></dl>

<p>Definition at line <a class="el" href="_c_renderizable_8h_source.html#l00133">133</a> of file <a class="el" href="_c_renderizable_8h_source.html">CRenderizable.h</a>.</p>

</div>
</div>
<a class="anchor" id="a304be3e5e73240ab0ee8cc77bb877eaf"></a><!-- doxytag: member="mrpt::opengl::CPolyhedron::setColorR_u8" ref="a304be3e5e73240ab0ee8cc77bb877eaf" args="(const uint8_t r)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="classmrpt_1_1opengl_1_1_c_renderizable.html">CRenderizable</a>&amp; mrpt::opengl::CRenderizableDisplayList::setColorR_u8 </td>
          <td>(</td>
          <td class="paramtype">const uint8_t&#160;</td>
          <td class="paramname"><em>r</em></td><td>)</td>
          <td><code> [inline, virtual, inherited]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Color components in the range [0,255]. </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>a ref to this </dd></dl>

<p>Reimplemented from <a class="el" href="classmrpt_1_1opengl_1_1_c_renderizable.html#a22a7f5a0a4e00f7a6b4d31c0dc61f2ca">mrpt::opengl::CRenderizable</a>.</p>

<p>Reimplemented in <a class="el" href="classmrpt_1_1opengl_1_1_c_set_of_triangles.html#a42b2fd3eab31f3049234a778ec15ed62">mrpt::opengl::CSetOfTriangles</a>.</p>

<p>Definition at line <a class="el" href="_c_renderizable_display_list_8h_source.html#l00102">102</a> of file <a class="el" href="_c_renderizable_display_list_8h_source.html">CRenderizableDisplayList.h</a>.</p>

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

<p>Sets the width used to render lines, when wireframe rendering is activated. </p>

<p>Definition at line <a class="el" href="_c_polyhedron_8h_source.html#l00682">682</a> of file <a class="el" href="_c_polyhedron_8h_source.html">CPolyhedron.h</a>.</p>

<p>References <a class="el" href="_c_renderizable_display_list_8h_source.html#l00068">mrpt::opengl::CRenderizableDisplayList::notifyChange()</a>.</p>

</div>
</div>
<a class="anchor" id="a9d715bc6ec58cdd70a29aef45b2e1338"></a><!-- doxytag: member="mrpt::opengl::CPolyhedron::setLocation" ref="a9d715bc6ec58cdd70a29aef45b2e1338" args="(double x, double y, double z)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classmrpt_1_1opengl_1_1_c_renderizable.html">CRenderizable</a>&amp; mrpt::opengl::CRenderizable::setLocation </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>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>z</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [inline, inherited]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Changes the location of the object, keeping untouched the orientation. </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>a ref to this </dd></dl>

<p>Definition at line <a class="el" href="_c_renderizable_8h_source.html#l00108">108</a> of file <a class="el" href="_c_renderizable_8h_source.html">CRenderizable.h</a>.</p>

</div>
</div>
<a class="anchor" id="a44cf2579e949206f535b25228526a8a6"></a><!-- doxytag: member="mrpt::opengl::CPolyhedron::setLocation" ref="a44cf2579e949206f535b25228526a8a6" args="(const mrpt::math::TPoint3D &amp;p)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classmrpt_1_1opengl_1_1_c_renderizable.html">CRenderizable</a>&amp; mrpt::opengl::CRenderizable::setLocation </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="structmrpt_1_1math_1_1_t_point3_d.html">mrpt::math::TPoint3D</a> &amp;&#160;</td>
          <td class="paramname"><em>p</em></td><td>)</td>
          <td><code> [inline, inherited]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Changes the location of the object, keeping untouched the orientation. </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>a ref to this </dd></dl>

<p>Definition at line <a class="el" href="_c_renderizable_8h_source.html#l00111">111</a> of file <a class="el" href="_c_renderizable_8h_source.html">CRenderizable.h</a>.</p>

<p>References <a class="el" href="lightweight__geom__data_8h_source.html#l00293">mrpt::math::TPoint3D::x</a>, <a class="el" href="lightweight__geom__data_8h_source.html#l00294">mrpt::math::TPoint3D::y</a>, and <a class="el" href="lightweight__geom__data_8h_source.html#l00295">mrpt::math::TPoint3D::z</a>.</p>

</div>
</div>
<a class="anchor" id="aef8ee6b259e755d686f38178982bf138"></a><!-- doxytag: member="mrpt::opengl::CPolyhedron::setName" ref="aef8ee6b259e755d686f38178982bf138" args="(const std::string &amp;n)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void mrpt::opengl::CRenderizable::setName </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classstd_1_1string.html">std::string</a> &amp;&#160;</td>
          <td class="paramname"><em>n</em></td><td>)</td>
          <td><code> [inline, inherited]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Changes the name of the object. </p>

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

</div>
</div>
<a class="anchor" id="a070aa6e95467787c4d5f7942c4e2a589"></a><!-- doxytag: member="mrpt::opengl::CPolyhedron::setNormal" ref="a070aa6e95467787c4d5f7942c4e2a589" args="(TPolyhedronFace &amp;f, bool doCheck=true)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool mrpt::opengl::CPolyhedron::setNormal </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structmrpt_1_1opengl_1_1_c_polyhedron_1_1_t_polyhedron_face.html">TPolyhedronFace</a> &amp;&#160;</td>
          <td class="paramname"><em>f</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>doCheck</em> = <code>true</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [private]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Calculates the normal vector to a face. </p>

</div>
</div>
<a class="anchor" id="a80b9c6dd3e4ff168e76400200447a0e9"></a><!-- doxytag: member="mrpt::opengl::CPolyhedron::setPose" ref="a80b9c6dd3e4ff168e76400200447a0e9" args="(const mrpt::poses::CPose3D &amp;o)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classmrpt_1_1opengl_1_1_c_renderizable.html">CRenderizable</a>&amp; mrpt::opengl::CRenderizable::setPose </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classmrpt_1_1poses_1_1_c_pose3_d.html">mrpt::poses::CPose3D</a> &amp;&#160;</td>
          <td class="paramname"><em>o</em></td><td>)</td>
          <td><code> [inherited]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Set the 3D pose from a <a class="el" href="classmrpt_1_1poses_1_1_c_pose3_d.html" title="A class used to store a 3D pose (a 3D translation + a rotation in 3D).">mrpt::poses::CPose3D</a> object (return a ref to this) </p>

</div>
</div>
<a class="anchor" id="a2d84d7f238a41f4291b7fa18d01557e2"></a><!-- doxytag: member="mrpt::opengl::CPolyhedron::setPose" ref="a2d84d7f238a41f4291b7fa18d01557e2" args="(const mrpt::math::TPose3D &amp;o)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classmrpt_1_1opengl_1_1_c_renderizable.html">CRenderizable</a>&amp; mrpt::opengl::CRenderizable::setPose </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="structmrpt_1_1math_1_1_t_pose3_d.html">mrpt::math::TPose3D</a> &amp;&#160;</td>
          <td class="paramname"><em>o</em></td><td>)</td>
          <td><code> [inherited]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Set the 3D pose from a <a class="el" href="structmrpt_1_1math_1_1_t_pose3_d.html" title="Lightweight 3D pose (three spatial coordinates, plus three angular coordinates).">mrpt::math::TPose3D</a> object (return a ref to this) </p>

</div>
</div>
<a class="anchor" id="a6d9167d3f96c0d84f6d98c9998589817"></a><!-- doxytag: member="mrpt::opengl::CPolyhedron::setPose" ref="a6d9167d3f96c0d84f6d98c9998589817" args="(const mrpt::poses::CPoint3D &amp;o)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classmrpt_1_1opengl_1_1_c_renderizable.html">CRenderizable</a>&amp; mrpt::opengl::CRenderizable::setPose </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classmrpt_1_1poses_1_1_c_point3_d.html">mrpt::poses::CPoint3D</a> &amp;&#160;</td>
          <td class="paramname"><em>o</em></td><td>)</td>
          <td><code> [inherited]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Set the 3D pose from a <a class="el" href="classmrpt_1_1poses_1_1_c_pose3_d.html" title="A class used to store a 3D pose (a 3D translation + a rotation in 3D).">mrpt::poses::CPose3D</a> object (return a ref to this) </p>

</div>
</div>
<a class="anchor" id="adf6f5087340db018a141452819987792"></a><!-- doxytag: member="mrpt::opengl::CPolyhedron::setPose" ref="adf6f5087340db018a141452819987792" args="(const mrpt::poses::CPoint2D &amp;o)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classmrpt_1_1opengl_1_1_c_renderizable.html">CRenderizable</a>&amp; mrpt::opengl::CRenderizable::setPose </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classmrpt_1_1poses_1_1_c_point2_d.html">mrpt::poses::CPoint2D</a> &amp;&#160;</td>
          <td class="paramname"><em>o</em></td><td>)</td>
          <td><code> [inherited]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Set the 3D pose from a <a class="el" href="classmrpt_1_1poses_1_1_c_pose3_d.html" title="A class used to store a 3D pose (a 3D translation + a rotation in 3D).">mrpt::poses::CPose3D</a> object (return a ref to this) </p>

</div>
</div>
<a class="anchor" id="afd1dd27b9f326d4f73135c461eafa717"></a><!-- doxytag: member="mrpt::opengl::CPolyhedron::setScale" ref="afd1dd27b9f326d4f73135c461eafa717" args="(float s)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classmrpt_1_1opengl_1_1_c_renderizable.html">CRenderizable</a>&amp; mrpt::opengl::CRenderizable::setScale </td>
          <td>(</td>
          <td class="paramtype">float&#160;</td>
          <td class="paramname"><em>s</em></td><td>)</td>
          <td><code> [inline, inherited]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Scale to apply to the object, in all three axes (default=1) </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>a ref to this </dd></dl>

<p>Definition at line <a class="el" href="_c_renderizable_8h_source.html#l00143">143</a> of file <a class="el" href="_c_renderizable_8h_source.html">CRenderizable.h</a>.</p>

</div>
</div>
<a class="anchor" id="adb65e73fe36db2b9d5161a2262422735"></a><!-- doxytag: member="mrpt::opengl::CPolyhedron::setScale" ref="adb65e73fe36db2b9d5161a2262422735" args="(float sx, float sy, float sz)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classmrpt_1_1opengl_1_1_c_renderizable.html">CRenderizable</a>&amp; mrpt::opengl::CRenderizable::setScale </td>
          <td>(</td>
          <td class="paramtype">float&#160;</td>
          <td class="paramname"><em>sx</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">float&#160;</td>
          <td class="paramname"><em>sy</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">float&#160;</td>
          <td class="paramname"><em>sz</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [inline, inherited]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Scale to apply to the object in each axis (default=1) </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>a ref to this </dd></dl>

<p>Definition at line <a class="el" href="_c_renderizable_8h_source.html#l00144">144</a> of file <a class="el" href="_c_renderizable_8h_source.html">CRenderizable.h</a>.</p>

</div>
</div>
<a class="anchor" id="a26a0f88efc4fa587ce6bae52577a7354"></a><!-- doxytag: member="mrpt::opengl::CPolyhedron::setVisibility" ref="a26a0f88efc4fa587ce6bae52577a7354" args="(bool visible=true)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void mrpt::opengl::CRenderizable::setVisibility </td>
          <td>(</td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>visible</em> = <code>true</code></td><td>)</td>
          <td><code> [inline, inherited]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Set object visibility (default=true) </p>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="classmrpt_1_1opengl_1_1_c_renderizable.html#a5b648ce8cde3ac142d8d062edbc81fee" title="Is the object visible?">isVisible</a> </dd></dl>

<p>Definition at line <a class="el" href="_c_renderizable_8h_source.html#l00093">93</a> of file <a class="el" href="_c_renderizable_8h_source.html">CRenderizable.h</a>.</p>

</div>
</div>
<a class="anchor" id="adb5ef20a953c5437470617eafe3aa728"></a><!-- doxytag: member="mrpt::opengl::CPolyhedron::setWireframe" ref="adb5ef20a953c5437470617eafe3aa728" args="(bool enabled=true)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void mrpt::opengl::CPolyhedron::setWireframe </td>
          <td>(</td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>enabled</em> = <code>true</code></td><td>)</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Sets whether the polyhedron will be rendered as a wireframe object. </p>

<p>Definition at line <a class="el" href="_c_polyhedron_8h_source.html#l00669">669</a> of file <a class="el" href="_c_polyhedron_8h_source.html">CPolyhedron.h</a>.</p>

<p>References <a class="el" href="_c_renderizable_display_list_8h_source.html#l00068">mrpt::opengl::CRenderizableDisplayList::notifyChange()</a>.</p>

</div>
</div>
<a class="anchor" id="a828f34d2f5a3eba229a302559afe739e"></a><!-- doxytag: member="mrpt::opengl::CPolyhedron::should_skip_display_list_cache" ref="a828f34d2f5a3eba229a302559afe739e" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual bool mrpt::opengl::CRenderizableDisplayList::should_skip_display_list_cache </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const<code> [inline, protected, virtual, inherited]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Optional: If the object has some state in which creating a display list is NOT preferred over direct rendering, implement this method and return "true" in those cases. </p>

<p>Reimplemented in <a class="el" href="classmrpt_1_1opengl_1_1_c_sphere.html#a0818e8f91915837ba2fe391a7c4a9ce2">mrpt::opengl::CSphere</a>.</p>

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

</div>
</div>
<a class="anchor" id="a85c31135fcbff49642e67660dcf95588"></a><!-- doxytag: member="mrpt::opengl::CPolyhedron::textBitmapWidth" ref="a85c31135fcbff49642e67660dcf95588" args="(const std::string &amp;str, mrpt::opengl::TOpenGLFont font=mrpt::opengl::MRPT_GLUT_BITMAP_TIMES_ROMAN_24)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static int mrpt::opengl::CRenderizable::textBitmapWidth </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classstd_1_1string.html">std::string</a> &amp;&#160;</td>
          <td class="paramname"><em>str</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__mrpt__opengl__grp.html#ga4e54252970d0b0a6dd251335064a2346">mrpt::opengl::TOpenGLFont</a>&#160;</td>
          <td class="paramname"><em>font</em> = <code>mrpt::opengl::MRPT_GLUT_BITMAP_TIMES_ROMAN_24</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [static, inherited]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Return the exact width in pixels for a given string, as will be rendered by <a class="el" href="classmrpt_1_1opengl_1_1_c_renderizable.html#aaee57246c99beacdf04e8d63f71ecf49" title="This method is safe for calling from within ::render() methods.">renderTextBitmap()</a>. </p>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="classmrpt_1_1opengl_1_1_c_renderizable.html#aaee57246c99beacdf04e8d63f71ecf49" title="This method is safe for calling from within ::render() methods.">renderTextBitmap</a>, <a class="el" href="namespacemrpt_1_1opengl_1_1gl__utils.html" title="A set of auxiliary functions that can be called to render OpenGL primitives from MRPT or user code...">mrpt::opengl::gl_utils</a> </dd></dl>

</div>
</div>
<a class="anchor" id="a9bec66dd2f720825e9ae5c153ca2a414"></a><!-- doxytag: member="mrpt::opengl::CPolyhedron::traceRay" ref="a9bec66dd2f720825e9ae5c153ca2a414" args="(const mrpt::poses::CPose3D &amp;o, double &amp;dist) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual bool mrpt::opengl::CPolyhedron::traceRay </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classmrpt_1_1poses_1_1_c_pose3_d.html">mrpt::poses::CPose3D</a> &amp;&#160;</td>
          <td class="paramname"><em>o</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double &amp;&#160;</td>
          <td class="paramname"><em>dist</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td> const<code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Ray trace. </p>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="classmrpt_1_1opengl_1_1_c_renderizable.html" title="The base class of 3D objects that can be directly rendered through OpenGL.">CRenderizable</a> </dd></dl>

<p>Reimplemented from <a class="el" href="classmrpt_1_1opengl_1_1_c_renderizable.html#af6e108d906a08ebd81da0f16d6ec7241">mrpt::opengl::CRenderizable</a>.</p>

</div>
</div>
<a class="anchor" id="a16a60771db55ba737bded03b74f2c859"></a><!-- doxytag: member="mrpt::opengl::CPolyhedron::truncate" ref="a16a60771db55ba737bded03b74f2c859" args="(double factor) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="structmrpt_1_1opengl_1_1_c_polyhedron_ptr.html">CPolyhedronPtr</a> mrpt::opengl::CPolyhedron::truncate </td>
          <td>(</td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>factor</em></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Truncates a polyhedron to a given factor. </p>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="classmrpt_1_1opengl_1_1_c_polyhedron.html#a64b6187c6dd8cf86ba243c6bbd54b871" title="Given a polyhedron, creates its dual.">getDual</a>,<a class="el" href="classmrpt_1_1opengl_1_1_c_polyhedron.html#ab1bc7afd0fa41a820938d9dbb86f36a5" title="Cantellates a polyhedron to a given factor.">cantellate</a>,<a class="el" href="classmrpt_1_1opengl_1_1_c_polyhedron.html#ad91235c1f40af5974e588eeb1164dc91" title="Augments a polyhedron to a given height.">augment</a> </dd></dl>
<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>Polyhedron truncation results in skew polygons and thus it's impossible to perform. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="ab267bbabdce4531792c18223329f955c"></a><!-- doxytag: member="mrpt::opengl::CPolyhedron::updatePolygons" ref="ab267bbabdce4531792c18223329f955c" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void mrpt::opengl::CPolyhedron::updatePolygons </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Updates the mutable list of polygons used in rendering and ray tracing. </p>

</div>
</div>
<a class="anchor" id="a0b6b801e67bca3d8e0d355e7035f8013"></a><!-- doxytag: member="mrpt::opengl::CPolyhedron::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>
<a class="anchor" id="aa6f285c38ff4332074f167dd921c7ee5"></a><!-- doxytag: member="mrpt::opengl::CPolyhedron::writeToStreamRender" ref="aa6f285c38ff4332074f167dd921c7ee5" args="(utils::CStream &amp;out) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void mrpt::opengl::CRenderizable::writeToStreamRender </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classmrpt_1_1utils_1_1_c_stream.html">utils::CStream</a> &amp;&#160;</td>
          <td class="paramname"><em>out</em></td><td>)</td>
          <td> const<code> [protected, inherited]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

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

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

</div>
</div>
<a class="anchor" id="a9c9d1e367181d87af8c01ae5d17ccbd8"></a><!-- doxytag: member="mrpt::opengl::CPolyhedron::mrpt::opengl::CSetOfObjects" ref="a9c9d1e367181d87af8c01ae5d17ccbd8" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">friend class <a class="el" href="classmrpt_1_1opengl_1_1_c_set_of_objects.html">mrpt::opengl::CSetOfObjects</a><code> [friend, inherited]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

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

</div>
</div>
<a class="anchor" id="a6fec28a53e20dfc1c4d046c26f9f7b48"></a><!-- doxytag: member="mrpt::opengl::CPolyhedron::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 from <a class="el" href="classmrpt_1_1opengl_1_1_c_renderizable.html#a6fec28a53e20dfc1c4d046c26f9f7b48">mrpt::opengl::CRenderizable</a>.</p>

<p>Reimplemented in <a class="el" href="classmrpt_1_1opengl_1_1_c_textured_object.html#a6fec28a53e20dfc1c4d046c26f9f7b48">mrpt::opengl::CTexturedObject</a>.</p>

<p>Definition at line <a class="el" href="_c_renderizable_display_list_8h_source.html#l00057">57</a> of file <a class="el" href="_c_renderizable_display_list_8h_source.html">CRenderizableDisplayList.h</a>.</p>

</div>
</div>
<hr/><h2>Member Data Documentation</h2>
<a class="anchor" id="a351790f546e1a87519db08fbf50617a8"></a><!-- doxytag: member="mrpt::opengl::CPolyhedron::_init_CPolyhedron" ref="a351790f546e1a87519db08fbf50617a8" 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_1opengl_1_1_c_polyhedron.html#a351790f546e1a87519db08fbf50617a8">mrpt::opengl::CPolyhedron::_init_CPolyhedron</a><code> [static, protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

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

</div>
</div>
<a class="anchor" id="acb51e4dd811d62c2696aee449d0a4715"></a><!-- doxytag: member="mrpt::opengl::CPolyhedron::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="afadef27eb8d99edd96847ba354400e78"></a><!-- doxytag: member="mrpt::opengl::CPolyhedron::classCPolyhedron" ref="afadef27eb8d99edd96847ba354400e78" 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_1opengl_1_1_c_polyhedron.html#afadef27eb8d99edd96847ba354400e78">mrpt::opengl::CPolyhedron::classCPolyhedron</a><code> [static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

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

</div>
</div>
<a class="anchor" id="afd3a6be390cd8cbe70e48a17ffa4e32f"></a><!-- doxytag: member="mrpt::opengl::CPolyhedron::classCRenderizable" ref="afd3a6be390cd8cbe70e48a17ffa4e32f" 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_1opengl_1_1_c_renderizable.html#afd3a6be390cd8cbe70e48a17ffa4e32f">mrpt::opengl::CRenderizable::classCRenderizable</a><code> [static, inherited]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

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

</div>
</div>
<a class="anchor" id="a0f48ca8f4454cb98bfbf8ab9fd7087e7"></a><!-- doxytag: member="mrpt::opengl::CPolyhedron::classCRenderizableDisplayList" ref="a0f48ca8f4454cb98bfbf8ab9fd7087e7" 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_1opengl_1_1_c_renderizable_display_list.html#a0f48ca8f4454cb98bfbf8ab9fd7087e7">mrpt::opengl::CRenderizableDisplayList::classCRenderizableDisplayList</a><code> [static, inherited]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="_c_renderizable_display_list_8h_source.html#l00057">57</a> of file <a class="el" href="_c_renderizable_display_list_8h_source.html">CRenderizableDisplayList.h</a>.</p>

</div>
</div>
<a class="anchor" id="a28ec2a03d277a8469b8ecfc81892afdf"></a><!-- doxytag: member="mrpt::opengl::CPolyhedron::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="a77185b48de6e53ea7cd15397fe2c3e2f"></a><!-- doxytag: member="mrpt::opengl::CPolyhedron::classinfo" ref="a77185b48de6e53ea7cd15397fe2c3e2f" 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_1opengl_1_1_c_polyhedron.html#a77185b48de6e53ea7cd15397fe2c3e2f">mrpt::opengl::CPolyhedron::classinfo</a><code> [static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

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

</div>
</div>
<a class="anchor" id="af98af9094c896da6b94a06b4793c788b"></a><!-- doxytag: member="mrpt::opengl::CPolyhedron::m_color" ref="af98af9094c896da6b94a06b4793c788b" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="structmrpt_1_1utils_1_1_t_color.html">mrpt::utils::TColor</a> <a class="el" href="classmrpt_1_1opengl_1_1_c_renderizable.html#af98af9094c896da6b94a06b4793c788b">mrpt::opengl::CRenderizable::m_color</a><code> [protected, inherited]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Color components in the range [0,255]. </p>

<p>Definition at line <a class="el" href="_c_renderizable_8h_source.html#l00080">80</a> of file <a class="el" href="_c_renderizable_8h_source.html">CRenderizable.h</a>.</p>

</div>
</div>
<a class="anchor" id="ac60facc9c53d7319b87e82c8e6730c27"></a><!-- doxytag: member="mrpt::opengl::CPolyhedron::m_name" ref="ac60facc9c53d7319b87e82c8e6730c27" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classstd_1_1string.html">std::string</a> <a class="el" href="classmrpt_1_1opengl_1_1_c_renderizable.html#ac60facc9c53d7319b87e82c8e6730c27">mrpt::opengl::CRenderizable::m_name</a><code> [protected, inherited]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

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

</div>
</div>
<a class="anchor" id="a5b6a2612a9a58ce6a38ae8e583269ac4"></a><!-- doxytag: member="mrpt::opengl::CPolyhedron::m_pose" ref="a5b6a2612a9a58ce6a38ae8e583269ac4" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classmrpt_1_1poses_1_1_c_pose3_d.html">mrpt::poses::CPose3D</a> <a class="el" href="classmrpt_1_1opengl_1_1_c_renderizable.html#a5b6a2612a9a58ce6a38ae8e583269ac4">mrpt::opengl::CRenderizable::m_pose</a><code> [protected, inherited]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>6D pose wrt the parent coordinate reference. This class automatically holds the cached 3x3 rotation matrix for quick load into opengl stack. </p>

<p>Definition at line <a class="el" href="_c_renderizable_8h_source.html#l00081">81</a> of file <a class="el" href="_c_renderizable_8h_source.html">CRenderizable.h</a>.</p>

</div>
</div>
<a class="anchor" id="ac735e33e72ea186804581915b5776247"></a><!-- doxytag: member="mrpt::opengl::CPolyhedron::m_scale_x" ref="ac735e33e72ea186804581915b5776247" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">float <a class="el" href="classmrpt_1_1opengl_1_1_c_renderizable.html#ac735e33e72ea186804581915b5776247">mrpt::opengl::CRenderizable::m_scale_x</a><code> [protected, inherited]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="_c_renderizable_8h_source.html#l00082">82</a> of file <a class="el" href="_c_renderizable_8h_source.html">CRenderizable.h</a>.</p>

</div>
</div>
<a class="anchor" id="a27e3f7407ac98e6e4f1d04094a033eee"></a><!-- doxytag: member="mrpt::opengl::CPolyhedron::m_scale_y" ref="a27e3f7407ac98e6e4f1d04094a033eee" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">float <a class="el" href="classmrpt_1_1opengl_1_1_c_renderizable.html#a27e3f7407ac98e6e4f1d04094a033eee">mrpt::opengl::CRenderizable::m_scale_y</a><code> [protected, inherited]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="_c_renderizable_8h_source.html#l00082">82</a> of file <a class="el" href="_c_renderizable_8h_source.html">CRenderizable.h</a>.</p>

</div>
</div>
<a class="anchor" id="a1994bcb30363d854a83fa2e85480ed0d"></a><!-- doxytag: member="mrpt::opengl::CPolyhedron::m_scale_z" ref="a1994bcb30363d854a83fa2e85480ed0d" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">float <a class="el" href="classmrpt_1_1opengl_1_1_c_renderizable.html#a1994bcb30363d854a83fa2e85480ed0d">mrpt::opengl::CRenderizable::m_scale_z</a><code> [protected, inherited]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Scale components to apply to the object (default=1) </p>

<p>Definition at line <a class="el" href="_c_renderizable_8h_source.html#l00082">82</a> of file <a class="el" href="_c_renderizable_8h_source.html">CRenderizable.h</a>.</p>

</div>
</div>
<a class="anchor" id="a437eafa450aaa90601803507599260d7"></a><!-- doxytag: member="mrpt::opengl::CPolyhedron::m_show_name" ref="a437eafa450aaa90601803507599260d7" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool <a class="el" href="classmrpt_1_1opengl_1_1_c_renderizable.html#a437eafa450aaa90601803507599260d7">mrpt::opengl::CRenderizable::m_show_name</a><code> [protected, inherited]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="_c_renderizable_8h_source.html#l00079">79</a> of file <a class="el" href="_c_renderizable_8h_source.html">CRenderizable.h</a>.</p>

</div>
</div>
<a class="anchor" id="a710f324d115817edceed185fc584f1e2"></a><!-- doxytag: member="mrpt::opengl::CPolyhedron::m_visible" ref="a710f324d115817edceed185fc584f1e2" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool <a class="el" href="classmrpt_1_1opengl_1_1_c_renderizable.html#a710f324d115817edceed185fc584f1e2">mrpt::opengl::CRenderizable::m_visible</a><code> [protected, inherited]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Is the object visible? (default=true) </p>

<p>Definition at line <a class="el" href="_c_renderizable_8h_source.html#l00083">83</a> of file <a class="el" href="_c_renderizable_8h_source.html">CRenderizable.h</a>.</p>

</div>
</div>
<a class="anchor" id="a51713062c91d55827b6a1796a621c49f"></a><!-- doxytag: member="mrpt::opengl::CPolyhedron::mEdges" ref="a51713062c91d55827b6a1796a621c49f" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classstd_1_1vector.html">vector</a>&lt;<a class="el" href="structmrpt_1_1opengl_1_1_c_polyhedron_1_1_t_polyhedron_edge.html">TPolyhedronEdge</a>&gt; <a class="el" href="classmrpt_1_1opengl_1_1_c_polyhedron.html#a51713062c91d55827b6a1796a621c49f">mrpt::opengl::CPolyhedron::mEdges</a><code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>List of polyhedron's edges. </p>

<p>Definition at line <a class="el" href="_c_polyhedron_8h_source.html#l00130">130</a> of file <a class="el" href="_c_polyhedron_8h_source.html">CPolyhedron.h</a>.</p>

</div>
</div>
<a class="anchor" id="a557a516979ea8d492a644f9f158fda4c"></a><!-- doxytag: member="mrpt::opengl::CPolyhedron::mFaces" ref="a557a516979ea8d492a644f9f158fda4c" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classstd_1_1vector.html">vector</a>&lt;<a class="el" href="structmrpt_1_1opengl_1_1_c_polyhedron_1_1_t_polyhedron_face.html">TPolyhedronFace</a>&gt; <a class="el" href="classmrpt_1_1opengl_1_1_c_polyhedron.html#a557a516979ea8d492a644f9f158fda4c">mrpt::opengl::CPolyhedron::mFaces</a><code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>List of polyhedron's faces. </p>

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

</div>
</div>
<a class="anchor" id="abe3854c8f608e850644950f811f930b1"></a><!-- doxytag: member="mrpt::opengl::CPolyhedron::mLineWidth" ref="abe3854c8f608e850644950f811f930b1" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">double <a class="el" href="classmrpt_1_1opengl_1_1_c_polyhedron.html#abe3854c8f608e850644950f811f930b1">mrpt::opengl::CPolyhedron::mLineWidth</a><code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>When displaying as wireframe object, this variable stores the width of the edges. </p>

<p>Definition at line <a class="el" href="_c_polyhedron_8h_source.html#l00142">142</a> of file <a class="el" href="_c_polyhedron_8h_source.html">CPolyhedron.h</a>.</p>

</div>
</div>
<a class="anchor" id="a00892c8ef6b43290f642c148cba358e4"></a><!-- doxytag: member="mrpt::opengl::CPolyhedron::mVertices" ref="a00892c8ef6b43290f642c148cba358e4" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classstd_1_1vector.html">vector</a>&lt;<a class="el" href="structmrpt_1_1math_1_1_t_point3_d.html">TPoint3D</a>&gt; <a class="el" href="classmrpt_1_1opengl_1_1_c_polyhedron.html#a00892c8ef6b43290f642c148cba358e4">mrpt::opengl::CPolyhedron::mVertices</a><code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>List of vertices presents in the polyhedron. </p>

<p>Definition at line <a class="el" href="_c_polyhedron_8h_source.html#l00126">126</a> of file <a class="el" href="_c_polyhedron_8h_source.html">CPolyhedron.h</a>.</p>

</div>
</div>
<a class="anchor" id="af620619a1a33070480eb22b8a918bf54"></a><!-- doxytag: member="mrpt::opengl::CPolyhedron::mWireframe" ref="af620619a1a33070480eb22b8a918bf54" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool <a class="el" href="classmrpt_1_1opengl_1_1_c_polyhedron.html#af620619a1a33070480eb22b8a918bf54">mrpt::opengl::CPolyhedron::mWireframe</a><code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>This flag determines whether the polyhedron will be displayed as a solid object or as a set of edges. </p>

<p>Definition at line <a class="el" href="_c_polyhedron_8h_source.html#l00138">138</a> of file <a class="el" href="_c_polyhedron_8h_source.html">CPolyhedron.h</a>.</p>

</div>
</div>
<a class="anchor" id="a05dd62bae9188974721d7261cd489b11"></a><!-- doxytag: member="mrpt::opengl::CPolyhedron::polygonsUpToDate" ref="a05dd62bae9188974721d7261cd489b11" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool <a class="el" href="classmrpt_1_1opengl_1_1_c_polyhedron.html#a05dd62bae9188974721d7261cd489b11">mrpt::opengl::CPolyhedron::polygonsUpToDate</a><code> [mutable, protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Whether the set of actual polygons is up to date or not. </p>

<p>Definition at line <a class="el" href="_c_polyhedron_8h_source.html#l00150">150</a> of file <a class="el" href="_c_polyhedron_8h_source.html">CPolyhedron.h</a>.</p>

</div>
</div>
<a class="anchor" id="ac6b6cb2f69324c452055a32b9cfcdb9e"></a><!-- doxytag: member="mrpt::opengl::CPolyhedron::tempPolygons" ref="ac6b6cb2f69324c452055a32b9cfcdb9e" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classstd_1_1vector.html">std::vector</a>&lt;<a class="el" href="classmrpt_1_1math_1_1_t_polygon_with_plane.html">TPolygonWithPlane</a>&gt; <a class="el" href="classmrpt_1_1opengl_1_1_c_polyhedron.html#ac6b6cb2f69324c452055a32b9cfcdb9e">mrpt::opengl::CPolyhedron::tempPolygons</a><code> [mutable, protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Mutable list of actual polygons, maintained for speed. </p>

<p>Definition at line <a class="el" href="_c_polyhedron_8h_source.html#l00146">146</a> of file <a class="el" href="_c_polyhedron_8h_source.html">CPolyhedron.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>