Sophie

Sophie

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

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::COpenGLViewport 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_open_g_l_viewport.html">COpenGLViewport</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-attribs">Static Public Attributes</a> &#124;
<a href="#pro-methods">Protected Member Functions</a> &#124;
<a href="#pro-attribs">Protected Attributes</a> &#124;
<a href="#friends">Friends</a>  </div>
  <div class="headertitle">
<div class="title">mrpt::opengl::COpenGLViewport 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::COpenGLViewport" --><!-- doxytag: inherits="mrpt::utils::CSerializable,mrpt::utils::CObservable" --><hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
<div class="textblock"><p>A viewport within a <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...">COpenGLScene</a>, containing a set of OpenGL objects to render. </p>
<p>This class has protected constuctor, thus it cannot be created by users. Use <a class="el" href="classmrpt_1_1opengl_1_1_c_open_g_l_scene.html#a8a4f13ec31c66d239f5d9e80382b23fd" title="Creates a new viewport, adding it to the scene and returning a pointer to the new object...">COpenGLScene::createViewport</a> instead. A viewport has these "operation modes":</p>
<ul>
<li>Normal (default): It renders the contained objects.</li>
<li>Cloned: It clones the objects from another viewport. See <em><a class="el" href="classmrpt_1_1opengl_1_1_c_open_g_l_viewport.html#ad8d6f6063748c17f8b82ee69996e54db" title="Set this viewport as a clone of some other viewport, given its name - as a side effect, current list of internal OpenGL objects is cleared.">setCloneView()</a></em> </li>
<li>Image mode: It renders an image (e.g. from a video stream) efficiently using a textued quad. See <em><a class="el" href="classmrpt_1_1opengl_1_1_c_open_g_l_viewport.html#ae5269f1a8f22f82937faf4fb8c544274" title="Set this viewport into &quot;image view&quot;-mode, where an image is efficiently drawn (fitting the viewport a...">setImageView()</a></em>.</li>
</ul>
<p>In any case, the viewport can be resized to only fit a part of the entire parent viewport. There will be always at least one viewport in a <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...">COpenGLScene</a> named "main".</p>
<p>This class can be observed (see <a class="el" href="classmrpt_1_1utils_1_1_c_observer.html" title="Inherit from this class to get notified about events from any CObservable object after subscribing to...">mrpt::utils::CObserver</a>) for the following events (see <a class="el" href="classmrpt_1_1utils_1_1mrpt_event.html" title="The basic event type for the observer-observable pattern in MRPT.">mrpt::utils::mrptEvent</a>):</p>
<ul>
<li><a class="el" href="classmrpt_1_1opengl_1_1mrpt_event_g_l_pre_render.html" title="An event sent by an mrpt::opengl::COpenGLViewport just after clearing the viewport and setting the GL...">mrpt::opengl::mrptEventGLPreRender</a></li>
<li><a class="el" href="classmrpt_1_1opengl_1_1mrpt_event_g_l_post_render.html" title="An event sent by an mrpt::opengl::COpenGLViewport after calling the scene OpenGL drawing primitives a...">mrpt::opengl::mrptEventGLPostRender</a></li>
</ul>
<p>Refer to <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...">mrpt::opengl::COpenGLScene</a> for further details. </p>
</div>
<p><code>#include &lt;<a class="el" href="_c_open_g_l_viewport_8h_source.html">mrpt/opengl/COpenGLViewport.h</a>&gt;</code></p>
<div class="dynheader">
Inheritance diagram for mrpt::opengl::COpenGLViewport:</div>
<div class="dyncontent">
<div class="center"><img src="classmrpt_1_1opengl_1_1_c_open_g_l_viewport__inherit__graph.png" border="0" usemap="#mrpt_1_1opengl_1_1_c_open_g_l_viewport_inherit__map" alt="Inheritance graph"/></div>
<map name="mrpt_1_1opengl_1_1_c_open_g_l_viewport_inherit__map" id="mrpt_1_1opengl_1_1_c_open_g_l_viewport_inherit__map">
<area shape="rect" id="node2" href="classmrpt_1_1utils_1_1_c_serializable.html" title="The virtual base class which provides a unified interface for all persistent objects in MRPT..." alt="" coords="4,80,168,107"/><area shape="rect" id="node4" href="classmrpt_1_1utils_1_1_c_object.html" title="The virtual base class of all MRPT classes with a unified RTTI system." alt="" coords="19,5,153,32"/><area shape="rect" id="node6" href="classmrpt_1_1utils_1_1_c_observable.html" title="Inherit from this class for those objects capable of being observed by a CObserver class..." alt="" coords="194,80,357,107"/></map>
<center><span class="legend">[<a href="graph_legend.html">legend</a>]</span></center></div>

<p><a href="classmrpt_1_1opengl_1_1_c_open_g_l_viewport-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_open_g_l_viewport_1_1_t_last_projective_matrix_info.html">TLastProjectiveMatrixInfo</a></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">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1opengl_1_1_c_open_g_l_viewport.html#a75aed26f9ca9dd95fa3ab858356feb62">~COpenGLViewport</a> ()</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Destructor: clears all objects.  <a href="#a75aed26f9ca9dd95fa3ab858356feb62"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmrpt_1_1utils_1_1_c_object_ptr.html">mrpt::utils::CObjectPtr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1utils_1_1_c_object.html#a534695890364f4b916bba07dad311bcf">duplicateGetSmartPtr</a> () const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns a copy of the object, indepently of its class, as a smart pointer (the newly created object will exist as long as any copy of this smart pointer).  <a href="#a534695890364f4b916bba07dad311bcf"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmrpt_1_1utils_1_1_c_object.html">CObject</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1utils_1_1_c_object.html#a9ef7857a0b36059c078e195a0a65ac00">clone</a> () const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Cloning interface for smart pointers.  <a href="#a9ef7857a0b36059c078e195a0a65ac00"></a><br/></td></tr>
<tr><td colspan="2"><div class="groupHeader">Set the viewport "modes"</div></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_open_g_l_viewport.html#ad8d6f6063748c17f8b82ee69996e54db">setCloneView</a> (const <a class="el" href="classstd_1_1string.html">std::string</a> &amp;clonedViewport)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Set this viewport as a clone of some other viewport, given its name - as a side effect, current list of internal OpenGL objects is cleared.  <a href="#ad8d6f6063748c17f8b82ee69996e54db"></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_open_g_l_viewport.html#ae5269f1a8f22f82937faf4fb8c544274">setImageView</a> (const <a class="el" href="classmrpt_1_1utils_1_1_c_image.html">mrpt::utils::CImage</a> &amp;img)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Set this viewport into "image view"-mode, where an image is efficiently drawn (fitting the viewport area) using an OpenGL textured quad.  <a href="#ae5269f1a8f22f82937faf4fb8c544274"></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_open_g_l_viewport.html#a4ad88a49e3c29ae7dfcc4c8bc0025efd">setImageView_fast</a> (<a class="el" href="classmrpt_1_1utils_1_1_c_image.html">mrpt::utils::CImage</a> &amp;img)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Just like <em>setImageView</em> but moves the internal image memory instead of making a copy, so it's faster but empties the input image.  <a href="#a4ad88a49e3c29ae7dfcc4c8bc0025efd"></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_open_g_l_viewport.html#a2021b321ae6952bfcd56f47ddd238ad5">resetCloneView</a> ()</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Reset the viewport to normal mode: rendering its own objects.  <a href="#a2021b321ae6952bfcd56f47ddd238ad5"></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_open_g_l_viewport.html#acecb6dbb82e7ed3da38188693b8f9c84">setCloneCamera</a> (bool enable)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">If set to true, and <a class="el" href="classmrpt_1_1opengl_1_1_c_open_g_l_viewport.html#ad8d6f6063748c17f8b82ee69996e54db" title="Set this viewport as a clone of some other viewport, given its name - as a side effect, current list of internal OpenGL objects is cleared.">setCloneView()</a> has been called, this viewport will be rendered using the camera of the cloned viewport.  <a href="#acecb6dbb82e7ed3da38188693b8f9c84"></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_open_g_l_viewport.html#affdfa3bcbca7af5f19a8ebb1d93f95b2">setNormalMode</a> ()</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Resets the viewport to a normal 3D viewport.  <a href="#affdfa3bcbca7af5f19a8ebb1d93f95b2"></a><br/></td></tr>
<tr><td colspan="2"><div class="groupHeader">Change or read viewport properties (except "viewport modes")</div></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_open_g_l_viewport.html#a220cf0c281ce13a6a8fb4069aeb5b876">getName</a> ()</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the name of the viewport.  <a href="#a220cf0c281ce13a6a8fb4069aeb5b876"></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_open_g_l_viewport.html#aa505e9d5ec6bcafbf338ec27810ccfa2">setViewportPosition</a> (const double x, const double y, const double width, const double height)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Change the viewport position and dimension on the rendering window.  <a href="#aa505e9d5ec6bcafbf338ec27810ccfa2"></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_open_g_l_viewport.html#ad7f5073bf1cb2727da0fe167a0a32491">getViewportPosition</a> (double &amp;x, double &amp;y, double &amp;width, double &amp;height)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the current viewport position and dimension on the rendering window.  <a href="#ad7f5073bf1cb2727da0fe167a0a32491"></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_open_g_l_viewport.html#aa9e328e1afe4e3523649c01c656bcfb9">setViewportClipDistances</a> (const double clip_min, const double clip_max)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the min/max clip depth distances of the rendering frustum (default: 0.1 - 10000)  <a href="#aa9e328e1afe4e3523649c01c656bcfb9"></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_open_g_l_viewport.html#a6e0c7e7357dab2905789d4c368cac3dd">getViewportClipDistances</a> (double &amp;clip_min, double &amp;clip_max) const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the current min/max clip depth distances of the rendering frustum (default: 0.1 - 10000)  <a href="#a6e0c7e7357dab2905789d4c368cac3dd"></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_open_g_l_viewport.html#aeeb8f8db767be78fb2379264cbd69914">setBorderSize</a> (unsigned int lineWidth)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the border size ("frame") of the viewport (default=0).  <a href="#aeeb8f8db767be78fb2379264cbd69914"></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_open_g_l_viewport.html#a330fbba78ff3c11477b8ce60223d76ba">isTransparent</a> ()</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Return whether the viewport will be rendered transparent over previous viewports.  <a href="#a330fbba78ff3c11477b8ce60223d76ba"></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_open_g_l_viewport.html#a6473e9e64f16ca87a26922459edd5f6b">setTransparent</a> (bool trans)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the transparency, that is, whether the viewport will be rendered transparent over previous viewports (default=false).  <a href="#a6473e9e64f16ca87a26922459edd5f6b"></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_open_g_l_viewport.html#aef4bc5835204734cfb74ad943610814d">setCustomBackgroundColor</a> (const <a class="el" href="structmrpt_1_1utils_1_1_t_colorf.html">TColorf</a> &amp;color)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Set a background color different from that of the parent GUI window.  <a href="#aef4bc5835204734cfb74ad943610814d"></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_open_g_l_viewport.html#aee6cd66d9374dc739c4d1b29dc0a6829">hasCustomBackgroundColor</a> () const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="structmrpt_1_1utils_1_1_t_colorf.html">TColorf</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1opengl_1_1_c_open_g_l_viewport.html#a428206f076d6a6933f8e2a907a487691">getCustomBackgroundColor</a> () const </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_open_g_l_viewport.html#ab7083a12323bf5f938c0f6b0a4f036e4">get3DRayForPixelCoord</a> (const double x_coord, const double y_coord, <a class="el" href="structmrpt_1_1math_1_1_t_line3_d.html">mrpt::math::TLine3D</a> &amp;out_ray, <a class="el" href="classmrpt_1_1poses_1_1_c_pose3_d.html">mrpt::poses::CPose3D</a> *out_cameraPose=NULL) const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Compute the 3D ray corresponding to a given pixel; this can be used to allow the user to pick and select 3D objects by clicking onto the 2D image.  <a href="#ab7083a12323bf5f938c0f6b0a4f036e4"></a><br/></td></tr>
<tr><td colspan="2"><h2><a name="pub-static-attribs"></a>
Static Public Attributes</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static const <br class="typebreak"/>
<a class="el" href="structmrpt_1_1utils_1_1_t_runtime_class_id.html">mrpt::utils::TRuntimeClassId</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1utils_1_1_c_object.html#acb51e4dd811d62c2696aee449d0a4715">classCObject</a></td></tr>
<tr><td colspan="2"><h2><a name="pro-methods"></a>
Protected Member Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1opengl_1_1_c_open_g_l_viewport.html#a53eb4acd3a5ddcbae6fa3d1d25fde2db">COpenGLViewport</a> (<a class="el" href="classmrpt_1_1opengl_1_1_c_open_g_l_scene.html">COpenGLScene</a> *parent=NULL, const <a class="el" href="classstd_1_1string.html">std::string</a> &amp;name=<a class="el" href="classstd_1_1string.html">std::string</a>(&quot;&quot;))</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructor, invoked from <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...">COpenGLScene</a> only.  <a href="#a53eb4acd3a5ddcbae6fa3d1d25fde2db"></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_open_g_l_viewport.html#a855e00f54c990f5fc5f52af1970341ef">initializeAllTextures</a> ()</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Initializes all textures in the scene (See <a class="el" href="classmrpt_1_1opengl_1_1_c_textured_object.html#a09f8fbb3a7a6edad2ccd601956a42f02" title="VERY IMPORTANT: If you use a multi-thread application, you MUST call this from the same thread that w...">opengl::CTexturedPlane::loadTextureInOpenGL</a>)  <a href="#a855e00f54c990f5fc5f52af1970341ef"></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_open_g_l_viewport.html#a06de147dafabeebb800f082db92a3af1">dumpListOfObjects</a> (<a class="el" href="classmrpt_1_1utils_1_1_c_string_list.html">utils::CStringList</a> &amp;lst)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Retrieves a list of all objects in text form.  <a href="#a06de147dafabeebb800f082db92a3af1"></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_open_g_l_viewport.html#ac921022460fcdebb07869d169e06bc58">render</a> (const int render_width, const int render_height) const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Render the objects in this viewport (called from <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...">COpenGLScene</a> only)  <a href="#ac921022460fcdebb07869d169e06bc58"></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_open_g_l_viewport.html#a177b5cff284431ab1a82be82fa332afb">internal_setImageView_fast</a> (const <a class="el" href="classmrpt_1_1utils_1_1_c_image.html">mrpt::utils::CImage</a> &amp;img, bool is_fast)</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 class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1utils_1_1_c_observable.html#a0c384e00c06199bc2ff37ff5ecb520c9">publishEvent</a> (const <a class="el" href="classmrpt_1_1utils_1_1mrpt_event.html">mrptEvent</a> &amp;e) const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Called when you want this object to emit an event to all the observers currently subscribed to this object.  <a href="#a0c384e00c06199bc2ff37ff5ecb520c9"></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_1utils_1_1_c_observable.html#a1c1e8c7d0d184ccdaa7d5a0ee5184e1e">hasSubscribers</a> () const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Can be called by a derived class before preparing an event for publishing with <em>publishEvent</em> to determine if there is no one subscribed, so it can save the wasted time preparing an event that will be not read.  <a href="#a1c1e8c7d0d184ccdaa7d5a0ee5184e1e"></a><br/></td></tr>
<tr><td colspan="2"><h2><a name="pro-attribs"></a>
Protected Attributes</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmrpt_1_1opengl_1_1_c_camera.html">opengl::CCamera</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1opengl_1_1_c_open_g_l_viewport.html#aba9f98dbdb5b590b549b0d9125cf2e9d">m_camera</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">The camera associated to the viewport.  <a href="#aba9f98dbdb5b590b549b0d9125cf2e9d"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="structmrpt_1_1utils_1_1safe__ptr.html">utils::safe_ptr</a>&lt; <a class="el" href="classmrpt_1_1opengl_1_1_c_open_g_l_scene.html">COpenGLScene</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1opengl_1_1_c_open_g_l_viewport.html#a91e204f5d7dcc375c060ba4e9ac47e6f">m_parent</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">The scene that contains this viewport.  <a href="#a91e204f5d7dcc375c060ba4e9ac47e6f"></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_open_g_l_viewport.html#ad49c3218eb577667fa1668d206c294ab">m_isCloned</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Set by setCloneView.  <a href="#ad49c3218eb577667fa1668d206c294ab"></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_open_g_l_viewport.html#a6cf3666e05514f37b020f0a1c86182e5">m_isClonedCamera</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Set by setCloneCamera.  <a href="#a6cf3666e05514f37b020f0a1c86182e5"></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_open_g_l_viewport.html#a13e49b10c885c924681e75fbd760d872">m_clonedViewport</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Only if m_isCloned=true.  <a href="#a13e49b10c885c924681e75fbd760d872"></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_open_g_l_viewport.html#addc0e74b06c726f41111ed29b24f73fa">m_name</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">The viewport's name.  <a href="#addc0e74b06c726f41111ed29b24f73fa"></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_open_g_l_viewport.html#a87696a7fe72faa6d72c91bd0fcc87424">m_isTransparent</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Whether to clear color buffer.  <a href="#a87696a7fe72faa6d72c91bd0fcc87424"></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_open_g_l_viewport.html#a73ba4d5e25ada3393e9353c70b89bd4b">m_borderWidth</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Default=0, the border around the viewport.  <a href="#a73ba4d5e25ada3393e9353c70b89bd4b"></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_open_g_l_viewport.html#a05390b2221ab1d8a8101d36c15f4aff9">m_view_x</a></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_open_g_l_viewport.html#a94b263014752cc73a5abccf9e1efae6c">m_view_y</a></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_open_g_l_viewport.html#a0c686ae2c6ae1f157f3d784f204a6896">m_view_width</a></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_open_g_l_viewport.html#aa8caea01cc0c4f8ccee82cd3be5cecaa">m_view_height</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">The viewport position [0,1].  <a href="#aa8caea01cc0c4f8ccee82cd3be5cecaa"></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_open_g_l_viewport.html#adc378a92a75237daf112001086254a99">m_clip_min</a></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_open_g_l_viewport.html#a8ed8b7c30170835f02a040f1d79b191c">m_clip_max</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">The min/max clip depth distances (default: 0.1 - 10000)  <a href="#a8ed8b7c30170835f02a040f1d79b191c"></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_open_g_l_viewport.html#a6ef4427191f5906f8ac8220655d9e366">m_custom_backgb_color</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="structmrpt_1_1utils_1_1_t_colorf.html">TColorf</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1opengl_1_1_c_open_g_l_viewport.html#af17d3e4d7868cc613d87fac2a0b9849b">m_background_color</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">used only if m_custom_backgb_color  <a href="#af17d3e4d7868cc613d87fac2a0b9849b"></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_open_g_l_viewport.html#a9e99d45ce632f06a20cd60b3c20af4f8">m_isImageView</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Set by setImageView.  <a href="#a9e99d45ce632f06a20cd60b3c20af4f8"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="structmrpt_1_1utils_1_1_c_image_ptr.html">mrpt::utils::CImagePtr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1opengl_1_1_c_open_g_l_viewport.html#ac1e33c780adb424840e27dc1391a43e4">m_imageview_img</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">The image to display, after calling <em><a class="el" href="classmrpt_1_1opengl_1_1_c_open_g_l_viewport.html#ae5269f1a8f22f82937faf4fb8c544274" title="Set this viewport into &quot;image view&quot;-mode, where an image is efficiently drawn (fitting the viewport a...">setImageView()</a></em>  <a href="#ac1e33c780adb424840e27dc1391a43e4"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="structmrpt_1_1opengl_1_1_c_open_g_l_viewport_1_1_t_last_projective_matrix_info.html">TLastProjectiveMatrixInfo</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1opengl_1_1_c_open_g_l_viewport.html#adb2e3b9a3ae4e7edeb7b8db05eec903b">m_lastProjMat</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Info updated with each "render()" and used in "get3DRayForPixelCoord".  <a href="#adb2e3b9a3ae4e7edeb7b8db05eec903b"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacemrpt_1_1opengl.html#a2a98ed1cbee2bf526d35d6d3cc8ae9f6">opengl::CListOpenGLObjects</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1opengl_1_1_c_open_g_l_viewport.html#a1579ad9a562668cefc713a00d029b410">m_objects</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">The list of objects that comprise the 3D scene.  <a href="#a1579ad9a562668cefc713a00d029b410"></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_open_g_l_viewport.html#a40f91403e749cdbaee589054869c67a1">COpenGLScene</a></td></tr>
<tr><td colspan="2"><h2><a name="member-group"></a>
RTTI stuff</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static const <br class="typebreak"/>
<a class="el" href="structmrpt_1_1utils_1_1_t_runtime_class_id.html">mrpt::utils::TRuntimeClassId</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1utils_1_1_c_serializable.html#a28ec2a03d277a8469b8ecfc81892afdf">classCSerializable</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1utils_1_1_c_serializable.html#a6fec28a53e20dfc1c4d046c26f9f7b48">mrpt::utils::CStream</a></td></tr>
<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_open_g_l_viewport_ptr.html">COpenGLViewportPtr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1opengl_1_1_c_open_g_l_viewport.html#a9f0838ce9ac6d98c1cd12e8f0bdadc64">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_open_g_l_viewport.html#a61558a60eb7b6810ffa648d5e74553dc">_init_COpenGLViewport</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_open_g_l_viewport.html#a657ee06379caf02e280d954eaf3fbe1d">classCOpenGLViewport</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_open_g_l_viewport.html#a494e05fbf900b3d2b7ec013d8f1e239b">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_open_g_l_viewport.html#afea56373cab1e2e1e421292247659848">_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_open_g_l_viewport.html#aae5fc2f322f657072d556df13718b278">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="#aae5fc2f322f657072d556df13718b278"></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_open_g_l_viewport.html#af57c300ecbd7c559a9d93fd0614d8f37">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="#af57c300ecbd7c559a9d93fd0614d8f37"></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_open_g_l_viewport.html#a7bc9123ce1151460ec927afe5cce7fcc">CreateObject</a> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static <a class="el" href="structmrpt_1_1opengl_1_1_c_open_g_l_viewport_ptr.html">COpenGLViewportPtr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1opengl_1_1_c_open_g_l_viewport.html#aa56ba6a72e10d3f4e95726d8c995281c">Create</a> ()</td></tr>
<tr><td colspan="2"><h2><a name="member-group"></a>
Contained objects set/get/search</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">typedef <br class="typebreak"/>
<a class="el" href="eigen__plugins_8h.html#a8dbda719917732693c56cee228465ed9">CListOpenGLObjects::const_iterator</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1opengl_1_1_c_open_g_l_viewport.html#af2dc8f8851c33bb1ebe42e32b671c7d1">const_iterator</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">typedef <br class="typebreak"/>
<a class="el" href="eigen__plugins_8h.html#a39c5d6430ea9395ae7ae729dd0c3f18c">CListOpenGLObjects::iterator</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1opengl_1_1_c_open_g_l_viewport.html#a25a54cc9b9a95cfee030c848cbc8b21d">iterator</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmrpt_1_1opengl_1_1_c_open_g_l_viewport.html#af2dc8f8851c33bb1ebe42e32b671c7d1">const_iterator</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1opengl_1_1_c_open_g_l_viewport.html#a0193d336143739362f2dc2b01d7cf123">begin</a> () const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmrpt_1_1opengl_1_1_c_open_g_l_viewport.html#af2dc8f8851c33bb1ebe42e32b671c7d1">const_iterator</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1opengl_1_1_c_open_g_l_viewport.html#acd190e1e6640e53e7972871d1769e108">end</a> () const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmrpt_1_1opengl_1_1_c_open_g_l_viewport.html#a25a54cc9b9a95cfee030c848cbc8b21d">iterator</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1opengl_1_1_c_open_g_l_viewport.html#ae41924855de855b45d6d53da3b89cd9d">begin</a> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmrpt_1_1opengl_1_1_c_open_g_l_viewport.html#a25a54cc9b9a95cfee030c848cbc8b21d">iterator</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1opengl_1_1_c_open_g_l_viewport.html#a32ba4e2889430cb519629f24e577d404">end</a> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1opengl_1_1_c_open_g_l_viewport.html#af0bf336f972e43cc4b58ccf96de38b9f">clear</a> ()</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Delete all internal obejcts.  <a href="#af0bf336f972e43cc4b58ccf96de38b9f"></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_open_g_l_viewport.html#a94ada7a0c4d61f78b9bc866c48f0c775">insert</a> (const <a class="el" href="structmrpt_1_1opengl_1_1_c_renderizable_ptr.html">CRenderizablePtr</a> &amp;newObject)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Insert a new object into the list.  <a href="#a94ada7a0c4d61f78b9bc866c48f0c775"></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_open_g_l_viewport.html#a8e6d64517f571aab3188907c55712fbd">getCurrentCameraPose</a> (<a class="el" href="classmrpt_1_1poses_1_1_c_pose3_d.html">mrpt::poses::CPose3D</a> &amp;out_cameraPose) const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Compute the current 3D camera pose.  <a href="#a8e6d64517f571aab3188907c55712fbd"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="structmrpt_1_1opengl_1_1_c_renderizable_ptr.html">CRenderizablePtr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1opengl_1_1_c_open_g_l_viewport.html#ad8df7dc9d983e41e527e44fbea603193">getByName</a> (const <a class="el" href="classstd_1_1string.html">std::string</a> &amp;str)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the first object with a given name, or NULL if not found.  <a href="#ad8df7dc9d983e41e527e44fbea603193"></a><br/></td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">T::SmartPtr&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classmrpt_1_1opengl_1_1_c_open_g_l_viewport.html#ad0057a06f6c7c56a495b7b65b5ba194e">getByClass</a> (const size_t &amp;ith=0) const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the i'th object of a given class (or of a descendant class), or NULL (an empty smart pointer) if not found.  <a href="#ad0057a06f6c7c56a495b7b65b5ba194e"></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_open_g_l_viewport.html#afcac4c0c51633c365da7f695e6aaa2ef">removeObject</a> (const <a class="el" href="structmrpt_1_1opengl_1_1_c_renderizable_ptr.html">CRenderizablePtr</a> &amp;obj)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Removes the given object from the scene (it also deletes the object to free its memory).  <a href="#afcac4c0c51633c365da7f695e6aaa2ef"></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_open_g_l_viewport.html#a4f25a0682e31437e68681b66eb8fbd41">size</a> () const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Number of objects contained.  <a href="#a4f25a0682e31437e68681b66eb8fbd41"></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_open_g_l_viewport.html#a0c396effc67a95c457c639cafeeddceb">empty</a> () const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmrpt_1_1opengl_1_1_c_camera.html">opengl::CCamera</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1opengl_1_1_c_open_g_l_viewport.html#af611f16ecfe432c6d5f47e7109c4c32f">getCamera</a> ()</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Get a reference to the camera associated with this viewport.  <a href="#af611f16ecfe432c6d5f47e7109c4c32f"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classmrpt_1_1opengl_1_1_c_camera.html">opengl::CCamera</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1opengl_1_1_c_open_g_l_viewport.html#a04dea86da31a3acac09bce695e3b03b6">getCamera</a> () const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Get a reference to the camera associated with this viewport.  <a href="#a04dea86da31a3acac09bce695e3b03b6"></a><br/></td></tr>
</table>
<hr/><h2>Member Typedef Documentation</h2>
<a class="anchor" id="af2dc8f8851c33bb1ebe42e32b671c7d1"></a><!-- doxytag: member="mrpt::opengl::COpenGLViewport::const_iterator" ref="af2dc8f8851c33bb1ebe42e32b671c7d1" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef <a class="el" href="eigen__plugins_8h.html#a8dbda719917732693c56cee228465ed9">CListOpenGLObjects::const_iterator</a> <a class="el" href="classmrpt_1_1opengl_1_1_c_open_g_l_viewport.html#af2dc8f8851c33bb1ebe42e32b671c7d1">mrpt::opengl::COpenGLViewport::const_iterator</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">

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

</div>
</div>
<a class="anchor" id="a25a54cc9b9a95cfee030c848cbc8b21d"></a><!-- doxytag: member="mrpt::opengl::COpenGLViewport::iterator" ref="a25a54cc9b9a95cfee030c848cbc8b21d" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef <a class="el" href="eigen__plugins_8h.html#a39c5d6430ea9395ae7ae729dd0c3f18c">CListOpenGLObjects::iterator</a> <a class="el" href="classmrpt_1_1opengl_1_1_c_open_g_l_viewport.html#a25a54cc9b9a95cfee030c848cbc8b21d">mrpt::opengl::COpenGLViewport::iterator</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="_c_open_g_l_viewport_8h_source.html#l00204">204</a> of file <a class="el" href="_c_open_g_l_viewport_8h_source.html">COpenGLViewport.h</a>.</p>

</div>
</div>
<a class="anchor" id="a9f0838ce9ac6d98c1cd12e8f0bdadc64"></a><!-- doxytag: member="mrpt::opengl::COpenGLViewport::SmartPtr" ref="a9f0838ce9ac6d98c1cd12e8f0bdadc64" 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_open_g_l_viewport_ptr.html">COpenGLViewportPtr</a> <a class="el" href="classmrpt_1_1opengl_1_1_c_open_g_l_viewport.html#a9f0838ce9ac6d98c1cd12e8f0bdadc64">mrpt::opengl::COpenGLViewport::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_open_g_l_viewport_8h_source.html#l00074">74</a> of file <a class="el" href="_c_open_g_l_viewport_8h_source.html">COpenGLViewport.h</a>.</p>

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

<p>Destructor: clears all objects. </p>

</div>
</div>
<a class="anchor" id="a53eb4acd3a5ddcbae6fa3d1d25fde2db"></a><!-- doxytag: member="mrpt::opengl::COpenGLViewport::COpenGLViewport" ref="a53eb4acd3a5ddcbae6fa3d1d25fde2db" args="(COpenGLScene *parent=NULL, const std::string &amp;name=std::string(&quot;&quot;))" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">mrpt::opengl::COpenGLViewport::COpenGLViewport </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classmrpt_1_1opengl_1_1_c_open_g_l_scene.html">COpenGLScene</a> *&#160;</td>
          <td class="paramname"><em>parent</em> = <code>NULL</code>, </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>name</em> = <code><a class="el" href="classstd_1_1string.html">std::string</a>(&quot;&quot;)</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Constructor, invoked from <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...">COpenGLScene</a> only. </p>

</div>
</div>
<hr/><h2>Member Function Documentation</h2>
<a class="anchor" id="afea56373cab1e2e1e421292247659848"></a><!-- doxytag: member="mrpt::opengl::COpenGLViewport::_GetBaseClass" ref="afea56373cab1e2e1e421292247659848" 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::COpenGLViewport::_GetBaseClass </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td><code> [static, protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

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

</div>
</div>
<a class="anchor" id="a0193d336143739362f2dc2b01d7cf123"></a><!-- doxytag: member="mrpt::opengl::COpenGLViewport::begin" ref="a0193d336143739362f2dc2b01d7cf123" 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_open_g_l_viewport.html#af2dc8f8851c33bb1ebe42e32b671c7d1">const_iterator</a> mrpt::opengl::COpenGLViewport::begin </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

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

</div>
</div>
<a class="anchor" id="ae41924855de855b45d6d53da3b89cd9d"></a><!-- doxytag: member="mrpt::opengl::COpenGLViewport::begin" ref="ae41924855de855b45d6d53da3b89cd9d" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classmrpt_1_1opengl_1_1_c_open_g_l_viewport.html#a25a54cc9b9a95cfee030c848cbc8b21d">iterator</a> mrpt::opengl::COpenGLViewport::begin </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

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

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

<p>Delete all internal obejcts. </p>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="classmrpt_1_1opengl_1_1_c_open_g_l_viewport.html#a94ada7a0c4d61f78b9bc866c48f0c775" title="Insert a new object into the list.">insert</a> </dd></dl>

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

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

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

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

</div>
</div>
<a class="anchor" id="aa56ba6a72e10d3f4e95726d8c995281c"></a><!-- doxytag: member="mrpt::opengl::COpenGLViewport::Create" ref="aa56ba6a72e10d3f4e95726d8c995281c" 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_open_g_l_viewport_ptr.html">COpenGLViewportPtr</a> mrpt::opengl::COpenGLViewport::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="a7bc9123ce1151460ec927afe5cce7fcc"></a><!-- doxytag: member="mrpt::opengl::COpenGLViewport::CreateObject" ref="a7bc9123ce1151460ec927afe5cce7fcc" 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::COpenGLViewport::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="a06de147dafabeebb800f082db92a3af1"></a><!-- doxytag: member="mrpt::opengl::COpenGLViewport::dumpListOfObjects" ref="a06de147dafabeebb800f082db92a3af1" args="(utils::CStringList &amp;lst)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void mrpt::opengl::COpenGLViewport::dumpListOfObjects </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classmrpt_1_1utils_1_1_c_string_list.html">utils::CStringList</a> &amp;&#160;</td>
          <td class="paramname"><em>lst</em></td><td>)</td>
          <td><code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Retrieves a list of all objects in text form. </p>

</div>
</div>
<a class="anchor" id="af57c300ecbd7c559a9d93fd0614d8f37"></a><!-- doxytag: member="mrpt::opengl::COpenGLViewport::duplicate" ref="af57c300ecbd7c559a9d93fd0614d8f37" 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::COpenGLViewport::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::COpenGLViewport::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="a0c396effc67a95c457c639cafeeddceb"></a><!-- doxytag: member="mrpt::opengl::COpenGLViewport::empty" ref="a0c396effc67a95c457c639cafeeddceb" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool mrpt::opengl::COpenGLViewport::empty </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="_c_open_g_l_viewport_8h_source.html#l00267">267</a> of file <a class="el" href="_c_open_g_l_viewport_8h_source.html">COpenGLViewport.h</a>.</p>

</div>
</div>
<a class="anchor" id="acd190e1e6640e53e7972871d1769e108"></a><!-- doxytag: member="mrpt::opengl::COpenGLViewport::end" ref="acd190e1e6640e53e7972871d1769e108" 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_open_g_l_viewport.html#af2dc8f8851c33bb1ebe42e32b671c7d1">const_iterator</a> mrpt::opengl::COpenGLViewport::end </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="_c_open_g_l_viewport_8h_source.html#l00207">207</a> of file <a class="el" href="_c_open_g_l_viewport_8h_source.html">COpenGLViewport.h</a>.</p>

</div>
</div>
<a class="anchor" id="a32ba4e2889430cb519629f24e577d404"></a><!-- doxytag: member="mrpt::opengl::COpenGLViewport::end" ref="a32ba4e2889430cb519629f24e577d404" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classmrpt_1_1opengl_1_1_c_open_g_l_viewport.html#a25a54cc9b9a95cfee030c848cbc8b21d">iterator</a> mrpt::opengl::COpenGLViewport::end </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="_c_open_g_l_viewport_8h_source.html#l00209">209</a> of file <a class="el" href="_c_open_g_l_viewport_8h_source.html">COpenGLViewport.h</a>.</p>

</div>
</div>
<a class="anchor" id="ab7083a12323bf5f938c0f6b0a4f036e4"></a><!-- doxytag: member="mrpt::opengl::COpenGLViewport::get3DRayForPixelCoord" ref="ab7083a12323bf5f938c0f6b0a4f036e4" args="(const double x_coord, const double y_coord, mrpt::math::TLine3D &amp;out_ray, mrpt::poses::CPose3D *out_cameraPose=NULL) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void mrpt::opengl::COpenGLViewport::get3DRayForPixelCoord </td>
          <td>(</td>
          <td class="paramtype">const double&#160;</td>
          <td class="paramname"><em>x_coord</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const double&#160;</td>
          <td class="paramname"><em>y_coord</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structmrpt_1_1math_1_1_t_line3_d.html">mrpt::math::TLine3D</a> &amp;&#160;</td>
          <td class="paramname"><em>out_ray</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classmrpt_1_1poses_1_1_c_pose3_d.html">mrpt::poses::CPose3D</a> *&#160;</td>
          <td class="paramname"><em>out_cameraPose</em> = <code>NULL</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Compute the 3D ray corresponding to a given pixel; this can be used to allow the user to pick and select 3D objects by clicking onto the 2D image. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">x_coord</td><td>Horizontal coordinate with the usual meaning (0:left of the viewport, W-1: right border). </td></tr>
    <tr><td class="paramname">y_coord</td><td>Horizontal coordinate with the usual meaning (0:top of the viewport, H-1: right border). </td></tr>
    <tr><td class="paramname">out_cameraPose</td><td>If not NULL, will have the camera 3D pose as 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>. See also </td></tr>
  </table>
  </dd>
</dl>
<dl class="note"><dt><b>Note:</b></dt><dd>(x,y) refer to VIEWPORT coordinates. Take into account this when viewports do not extend to the whole window size. </dd>
<dd>
x and y are double instead of integers to allow sub-pixel precision. </dd></dl>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="classmrpt_1_1opengl_1_1_c_open_g_l_viewport.html#a8e6d64517f571aab3188907c55712fbd" title="Compute the current 3D camera pose.">getCurrentCameraPose</a> </dd></dl>

</div>
</div>
<a class="anchor" id="ad0057a06f6c7c56a495b7b65b5ba194e"></a><!-- doxytag: member="mrpt::opengl::COpenGLViewport::getByClass" ref="ad0057a06f6c7c56a495b7b65b5ba194e" args="(const size_t &amp;ith=0) const " -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename T &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">T::SmartPtr mrpt::opengl::COpenGLViewport::getByClass </td>
          <td>(</td>
          <td class="paramtype">const size_t &amp;&#160;</td>
          <td class="paramname"><em>ith</em> = <code>0</code></td><td>)</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Returns the i'th object of a given class (or of a descendant class), or NULL (an empty smart pointer) if not found. </p>
<p>Example: </p>
<div class="fragment"><pre class="fragment">                                        CSpherePtr obs = view.getByClass&lt;<a class="code" href="namespacemrpt_1_1opengl.html#ac1470f3d1bec36a5f287ae5526fd175c">CSphere</a>&gt;();
</pre></div><p> By default (ith=0), the first observation is returned. </p>

<p>Definition at line <a class="el" href="_c_open_g_l_viewport_8h_source.html#l00237">237</a> of file <a class="el" href="_c_open_g_l_viewport_8h_source.html">COpenGLViewport.h</a>.</p>

<p>References <a class="el" href="mrpt__macros_8h_source.html#l00370">MRPT_START</a>, <a class="el" href="_c_object_8h_source.html#l00107">CLASS_ID_NAMESPACE</a>, and <a class="el" href="mrpt__macros_8h_source.html#l00374">MRPT_END</a>.</p>

</div>
</div>
<a class="anchor" id="ad8df7dc9d983e41e527e44fbea603193"></a><!-- doxytag: member="mrpt::opengl::COpenGLViewport::getByName" ref="ad8df7dc9d983e41e527e44fbea603193" args="(const std::string &amp;str)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="structmrpt_1_1opengl_1_1_c_renderizable_ptr.html">CRenderizablePtr</a> mrpt::opengl::COpenGLViewport::getByName </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><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Returns the first object with a given name, or NULL if not found. </p>

</div>
</div>
<a class="anchor" id="af611f16ecfe432c6d5f47e7109c4c32f"></a><!-- doxytag: member="mrpt::opengl::COpenGLViewport::getCamera" ref="af611f16ecfe432c6d5f47e7109c4c32f" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classmrpt_1_1opengl_1_1_c_camera.html">opengl::CCamera</a>&amp; mrpt::opengl::COpenGLViewport::getCamera </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Get a reference to the camera associated with this viewport. </p>

<p>Definition at line <a class="el" href="_c_open_g_l_viewport_8h_source.html#l00270">270</a> of file <a class="el" href="_c_open_g_l_viewport_8h_source.html">COpenGLViewport.h</a>.</p>

</div>
</div>
<a class="anchor" id="a04dea86da31a3acac09bce695e3b03b6"></a><!-- doxytag: member="mrpt::opengl::COpenGLViewport::getCamera" ref="a04dea86da31a3acac09bce695e3b03b6" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const <a class="el" href="classmrpt_1_1opengl_1_1_c_camera.html">opengl::CCamera</a>&amp; mrpt::opengl::COpenGLViewport::getCamera </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Get a reference to the camera associated with this viewport. </p>

<p>Definition at line <a class="el" href="_c_open_g_l_viewport_8h_source.html#l00272">272</a> of file <a class="el" href="_c_open_g_l_viewport_8h_source.html">COpenGLViewport.h</a>.</p>

</div>
</div>
<a class="anchor" id="a8e6d64517f571aab3188907c55712fbd"></a><!-- doxytag: member="mrpt::opengl::COpenGLViewport::getCurrentCameraPose" ref="a8e6d64517f571aab3188907c55712fbd" args="(mrpt::poses::CPose3D &amp;out_cameraPose) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void mrpt::opengl::COpenGLViewport::getCurrentCameraPose </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classmrpt_1_1poses_1_1_c_pose3_d.html">mrpt::poses::CPose3D</a> &amp;&#160;</td>
          <td class="paramname"><em>out_cameraPose</em></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Compute the current 3D camera pose. </p>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="classmrpt_1_1opengl_1_1_c_open_g_l_viewport.html#ab7083a12323bf5f938c0f6b0a4f036e4" title="Compute the 3D ray corresponding to a given pixel; this can be used to allow the user to pick and sel...">get3DRayForPixelCoord</a> </dd></dl>

</div>
</div>
<a class="anchor" id="a428206f076d6a6933f8e2a907a487691"></a><!-- doxytag: member="mrpt::opengl::COpenGLViewport::getCustomBackgroundColor" ref="a428206f076d6a6933f8e2a907a487691" 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">TColorf</a> mrpt::opengl::COpenGLViewport::getCustomBackgroundColor </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

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

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

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

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

</div>
</div>
<a class="anchor" id="aae5fc2f322f657072d556df13718b278"></a><!-- doxytag: member="mrpt::opengl::COpenGLViewport::GetRuntimeClass" ref="aae5fc2f322f657072d556df13718b278" 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::COpenGLViewport::GetRuntimeClass </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const<code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

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

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

</div>
</div>
<a class="anchor" id="a6e0c7e7357dab2905789d4c368cac3dd"></a><!-- doxytag: member="mrpt::opengl::COpenGLViewport::getViewportClipDistances" ref="a6e0c7e7357dab2905789d4c368cac3dd" args="(double &amp;clip_min, double &amp;clip_max) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void mrpt::opengl::COpenGLViewport::getViewportClipDistances </td>
          <td>(</td>
          <td class="paramtype">double &amp;&#160;</td>
          <td class="paramname"><em>clip_min</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double &amp;&#160;</td>
          <td class="paramname"><em>clip_max</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Get the current min/max clip depth distances of the rendering frustum (default: 0.1 - 10000) </p>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="classmrpt_1_1opengl_1_1_c_open_g_l_viewport.html#aa9e328e1afe4e3523649c01c656bcfb9" title="Set the min/max clip depth distances of the rendering frustum (default: 0.1 - 10000)">setViewportClipDistances</a> </dd></dl>

</div>
</div>
<a class="anchor" id="ad7f5073bf1cb2727da0fe167a0a32491"></a><!-- doxytag: member="mrpt::opengl::COpenGLViewport::getViewportPosition" ref="ad7f5073bf1cb2727da0fe167a0a32491" args="(double &amp;x, double &amp;y, double &amp;width, double &amp;height)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void mrpt::opengl::COpenGLViewport::getViewportPosition </td>
          <td>(</td>
          <td class="paramtype">double &amp;&#160;</td>
          <td class="paramname"><em>x</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double &amp;&#160;</td>
          <td class="paramname"><em>y</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double &amp;&#160;</td>
          <td class="paramname"><em>width</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double &amp;&#160;</td>
          <td class="paramname"><em>height</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Get the current viewport position and dimension on the rendering window. </p>
<p>X &amp; Y coordinates here can have two interpretations:</p>
<ul>
<li>If in the range [0,1], they are factors with respect to the actual window sizes (i.e. width=1 means the entire width of the rendering window).</li>
<li>If &gt;1, they are interpreted as pixels. <dl class="note"><dt><b>Note:</b></dt><dd>(x,y) specify the lower left corner of the viewport rectangle. </dd></dl>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="classmrpt_1_1opengl_1_1_c_open_g_l_viewport.html#aa505e9d5ec6bcafbf338ec27810ccfa2" title="Change the viewport position and dimension on the rendering window.">setViewportPosition</a> </dd></dl>
</li>
</ul>

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

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

</div>
</div>
<a class="anchor" id="a1c1e8c7d0d184ccdaa7d5a0ee5184e1e"></a><!-- doxytag: member="mrpt::opengl::COpenGLViewport::hasSubscribers" ref="a1c1e8c7d0d184ccdaa7d5a0ee5184e1e" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool mrpt::utils::CObservable::hasSubscribers </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const<code> [inline, protected, inherited]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Can be called by a derived class before preparing an event for publishing with <em>publishEvent</em> to determine if there is no one subscribed, so it can save the wasted time preparing an event that will be not read. </p>

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

</div>
</div>
<a class="anchor" id="a855e00f54c990f5fc5f52af1970341ef"></a><!-- doxytag: member="mrpt::opengl::COpenGLViewport::initializeAllTextures" ref="a855e00f54c990f5fc5f52af1970341ef" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void mrpt::opengl::COpenGLViewport::initializeAllTextures </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td><code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Initializes all textures in the scene (See <a class="el" href="classmrpt_1_1opengl_1_1_c_textured_object.html#a09f8fbb3a7a6edad2ccd601956a42f02" title="VERY IMPORTANT: If you use a multi-thread application, you MUST call this from the same thread that w...">opengl::CTexturedPlane::loadTextureInOpenGL</a>) </p>

</div>
</div>
<a class="anchor" id="a94ada7a0c4d61f78b9bc866c48f0c775"></a><!-- doxytag: member="mrpt::opengl::COpenGLViewport::insert" ref="a94ada7a0c4d61f78b9bc866c48f0c775" args="(const CRenderizablePtr &amp;newObject)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void mrpt::opengl::COpenGLViewport::insert </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="structmrpt_1_1opengl_1_1_c_renderizable_ptr.html">CRenderizablePtr</a> &amp;&#160;</td>
          <td class="paramname"><em>newObject</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Insert a new object into the list. </p>
<p>The object MUST NOT be deleted, it will be deleted automatically by this object when not required anymore. </p>

</div>
</div>
<a class="anchor" id="a177b5cff284431ab1a82be82fa332afb"></a><!-- doxytag: member="mrpt::opengl::COpenGLViewport::internal_setImageView_fast" ref="a177b5cff284431ab1a82be82fa332afb" args="(const mrpt::utils::CImage &amp;img, bool is_fast)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void mrpt::opengl::COpenGLViewport::internal_setImageView_fast </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classmrpt_1_1utils_1_1_c_image.html">mrpt::utils::CImage</a> &amp;&#160;</td>
          <td class="paramname"><em>img</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>is_fast</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

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

<p>Return whether the viewport will be rendered transparent over previous viewports. </p>

<p>Definition at line <a class="el" href="_c_open_g_l_viewport_8h_source.html#l00172">172</a> of file <a class="el" href="_c_open_g_l_viewport_8h_source.html">COpenGLViewport.h</a>.</p>

</div>
</div>
<a class="anchor" id="a0c384e00c06199bc2ff37ff5ecb520c9"></a><!-- doxytag: member="mrpt::opengl::COpenGLViewport::publishEvent" ref="a0c384e00c06199bc2ff37ff5ecb520c9" args="(const mrptEvent &amp;e) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void mrpt::utils::CObservable::publishEvent </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classmrpt_1_1utils_1_1mrpt_event.html">mrptEvent</a> &amp;&#160;</td>
          <td class="paramname"><em>e</em></td><td>)</td>
          <td> const<code> [protected, inherited]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Called when you want this object to emit an event to all the observers currently subscribed to this object. </p>

</div>
</div>
<a class="anchor" id="a73ba83035a64939cdc3aa1c0dfed23ec"></a><!-- doxytag: member="mrpt::opengl::COpenGLViewport::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="afcac4c0c51633c365da7f695e6aaa2ef"></a><!-- doxytag: member="mrpt::opengl::COpenGLViewport::removeObject" ref="afcac4c0c51633c365da7f695e6aaa2ef" args="(const CRenderizablePtr &amp;obj)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void mrpt::opengl::COpenGLViewport::removeObject </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="structmrpt_1_1opengl_1_1_c_renderizable_ptr.html">CRenderizablePtr</a> &amp;&#160;</td>
          <td class="paramname"><em>obj</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Removes the given object from the scene (it also deletes the object to free its memory). </p>

</div>
</div>
<a class="anchor" id="ac921022460fcdebb07869d169e06bc58"></a><!-- doxytag: member="mrpt::opengl::COpenGLViewport::render" ref="ac921022460fcdebb07869d169e06bc58" args="(const int render_width, const int render_height) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void mrpt::opengl::COpenGLViewport::render </td>
          <td>(</td>
          <td class="paramtype">const int&#160;</td>
          <td class="paramname"><em>render_width</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const int&#160;</td>
          <td class="paramname"><em>render_height</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td> const<code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Render the objects in this viewport (called from <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...">COpenGLScene</a> only) </p>

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

<p>Reset the viewport to normal mode: rendering its own objects. </p>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="classmrpt_1_1opengl_1_1_c_open_g_l_viewport.html#ad8d6f6063748c17f8b82ee69996e54db" title="Set this viewport as a clone of some other viewport, given its name - as a side effect, current list of internal OpenGL objects is cleared.">setCloneView</a>, <a class="el" href="classmrpt_1_1opengl_1_1_c_open_g_l_viewport.html#affdfa3bcbca7af5f19a8ebb1d93f95b2" title="Resets the viewport to a normal 3D viewport.">setNormalMode</a> </dd></dl>

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

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

<p>Set the border size ("frame") of the viewport (default=0). </p>

<p>Definition at line <a class="el" href="_c_open_g_l_viewport_8h_source.html#l00168">168</a> of file <a class="el" href="_c_open_g_l_viewport_8h_source.html">COpenGLViewport.h</a>.</p>

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

<p>If set to true, and <a class="el" href="classmrpt_1_1opengl_1_1_c_open_g_l_viewport.html#ad8d6f6063748c17f8b82ee69996e54db" title="Set this viewport as a clone of some other viewport, given its name - as a side effect, current list of internal OpenGL objects is cleared.">setCloneView()</a> has been called, this viewport will be rendered using the camera of the cloned viewport. </p>

<p>Definition at line <a class="el" href="_c_open_g_l_viewport_8h_source.html#l00107">107</a> of file <a class="el" href="_c_open_g_l_viewport_8h_source.html">COpenGLViewport.h</a>.</p>

</div>
</div>
<a class="anchor" id="ad8d6f6063748c17f8b82ee69996e54db"></a><!-- doxytag: member="mrpt::opengl::COpenGLViewport::setCloneView" ref="ad8d6f6063748c17f8b82ee69996e54db" args="(const std::string &amp;clonedViewport)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void mrpt::opengl::COpenGLViewport::setCloneView </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>clonedViewport</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Set this viewport as a clone of some other viewport, given its name - as a side effect, current list of internal OpenGL objects is cleared. </p>
<p>By default, only the objects are cloned, not the camera. See </p>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="classmrpt_1_1opengl_1_1_c_open_g_l_viewport.html#a2021b321ae6952bfcd56f47ddd238ad5" title="Reset the viewport to normal mode: rendering its own objects.">resetCloneView</a> </dd></dl>

</div>
</div>
<a class="anchor" id="aef4bc5835204734cfb74ad943610814d"></a><!-- doxytag: member="mrpt::opengl::COpenGLViewport::setCustomBackgroundColor" ref="aef4bc5835204734cfb74ad943610814d" args="(const TColorf &amp;color)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void mrpt::opengl::COpenGLViewport::setCustomBackgroundColor </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="structmrpt_1_1utils_1_1_t_colorf.html">TColorf</a> &amp;&#160;</td>
          <td class="paramname"><em>color</em></td><td>)</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Set a background color different from that of the parent GUI window. </p>

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

</div>
</div>
<a class="anchor" id="ae5269f1a8f22f82937faf4fb8c544274"></a><!-- doxytag: member="mrpt::opengl::COpenGLViewport::setImageView" ref="ae5269f1a8f22f82937faf4fb8c544274" args="(const mrpt::utils::CImage &amp;img)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void mrpt::opengl::COpenGLViewport::setImageView </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classmrpt_1_1utils_1_1_c_image.html">mrpt::utils::CImage</a> &amp;&#160;</td>
          <td class="paramname"><em>img</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Set this viewport into "image view"-mode, where an image is efficiently drawn (fitting the viewport area) using an OpenGL textured quad. </p>
<p>Call this method with the new image to update the displayed image (but recall to first lock the parent openglscene's critical section, then do the update, then release the lock, and then issue a window repaint). Internally, the texture is drawn using a <a class="el" href="classmrpt_1_1opengl_1_1_c_textured_plane.html" title="A 2D plane in the XY plane with a texture image.">mrpt::opengl::CTexturedPlane</a> The viewport can be reverted to behave like a normal viewport by calling <a class="el" href="classmrpt_1_1opengl_1_1_c_open_g_l_viewport.html#affdfa3bcbca7af5f19a8ebb1d93f95b2" title="Resets the viewport to a normal 3D viewport.">setNormalMode()</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_viewport.html#a4ad88a49e3c29ae7dfcc4c8bc0025efd" title="Just like setImageView but moves the internal image memory instead of making a copy, so it&#39;s faster but empties the input image.">setImageView_fast</a> </dd></dl>

</div>
</div>
<a class="anchor" id="a4ad88a49e3c29ae7dfcc4c8bc0025efd"></a><!-- doxytag: member="mrpt::opengl::COpenGLViewport::setImageView_fast" ref="a4ad88a49e3c29ae7dfcc4c8bc0025efd" args="(mrpt::utils::CImage &amp;img)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void mrpt::opengl::COpenGLViewport::setImageView_fast </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classmrpt_1_1utils_1_1_c_image.html">mrpt::utils::CImage</a> &amp;&#160;</td>
          <td class="paramname"><em>img</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Just like <em>setImageView</em> but moves the internal image memory instead of making a copy, so it's faster but empties the input image. </p>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="classmrpt_1_1opengl_1_1_c_open_g_l_viewport.html#ae5269f1a8f22f82937faf4fb8c544274" title="Set this viewport into &quot;image view&quot;-mode, where an image is efficiently drawn (fitting the viewport a...">setImageView</a> </dd></dl>

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

<p>Resets the viewport to a normal 3D viewport. </p>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="classmrpt_1_1opengl_1_1_c_open_g_l_viewport.html#ad8d6f6063748c17f8b82ee69996e54db" title="Set this viewport as a clone of some other viewport, given its name - as a side effect, current list of internal OpenGL objects is cleared.">setCloneView</a>, <a class="el" href="classmrpt_1_1opengl_1_1_c_open_g_l_viewport.html#ae5269f1a8f22f82937faf4fb8c544274" title="Set this viewport into &quot;image view&quot;-mode, where an image is efficiently drawn (fitting the viewport a...">setImageView</a> </dd></dl>

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

<p>Set the transparency, that is, whether the viewport will be rendered transparent over previous viewports (default=false). </p>

<p>Definition at line <a class="el" href="_c_open_g_l_viewport_8h_source.html#l00176">176</a> of file <a class="el" href="_c_open_g_l_viewport_8h_source.html">COpenGLViewport.h</a>.</p>

</div>
</div>
<a class="anchor" id="aa9e328e1afe4e3523649c01c656bcfb9"></a><!-- doxytag: member="mrpt::opengl::COpenGLViewport::setViewportClipDistances" ref="aa9e328e1afe4e3523649c01c656bcfb9" args="(const double clip_min, const double clip_max)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void mrpt::opengl::COpenGLViewport::setViewportClipDistances </td>
          <td>(</td>
          <td class="paramtype">const double&#160;</td>
          <td class="paramname"><em>clip_min</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const double&#160;</td>
          <td class="paramname"><em>clip_max</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Set the min/max clip depth distances of the rendering frustum (default: 0.1 - 10000) </p>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="classmrpt_1_1opengl_1_1_c_open_g_l_viewport.html#a6e0c7e7357dab2905789d4c368cac3dd" title="Get the current min/max clip depth distances of the rendering frustum (default: 0.1 - 10000)">getViewportClipDistances</a> </dd></dl>

</div>
</div>
<a class="anchor" id="aa505e9d5ec6bcafbf338ec27810ccfa2"></a><!-- doxytag: member="mrpt::opengl::COpenGLViewport::setViewportPosition" ref="aa505e9d5ec6bcafbf338ec27810ccfa2" args="(const double x, const double y, const double width, const double height)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void mrpt::opengl::COpenGLViewport::setViewportPosition </td>
          <td>(</td>
          <td class="paramtype">const double&#160;</td>
          <td class="paramname"><em>x</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const double&#160;</td>
          <td class="paramname"><em>y</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const double&#160;</td>
          <td class="paramname"><em>width</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const double&#160;</td>
          <td class="paramname"><em>height</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Change the viewport position and dimension on the rendering window. </p>
<p>X &amp; Y coordinates here can have two interpretations:</p>
<ul>
<li>If in the range [0,1], they are factors with respect to the actual window sizes (i.e. width=1 means the entire width of the rendering window).</li>
<li>If &gt;1, they are interpreted as pixels.</li>
</ul>
<p>width &amp; height can be interpreted as:</p>
<ul>
<li>If &gt;1, they are the size of the viewport in that dimension, in pixels.</li>
<li>If in [0,1], they are the size of the viewport in that dimension, in a factor of the width/height.</li>
<li>If in [-1,0[, the size is computed such as the right/top border ends up in the given coordinate, interpreted as a factor (e.g. -1: up to the end of the viewport, -0.5: up to the middle of it).</li>
<li>If &lt;-1 the size is computed such as the right/top border ends up in the given absolute coordinate (e.g. -200: up to the row/column 200px).</li>
</ul>
<dl class="note"><dt><b>Note:</b></dt><dd>(x,y) specify the lower left corner of the viewport rectangle. </dd></dl>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="classmrpt_1_1opengl_1_1_c_open_g_l_viewport.html#ad7f5073bf1cb2727da0fe167a0a32491" title="Get the current viewport position and dimension on the rendering window.">getViewportPosition</a> </dd></dl>

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

<p>Number of objects contained. </p>

<p>Definition at line <a class="el" href="_c_open_g_l_viewport_8h_source.html#l00265">265</a> of file <a class="el" href="_c_open_g_l_viewport_8h_source.html">COpenGLViewport.h</a>.</p>

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

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

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

</div>
</div>
<hr/><h2>Friends And Related Function Documentation</h2>
<a class="anchor" id="a40f91403e749cdbaee589054869c67a1"></a><!-- doxytag: member="mrpt::opengl::COpenGLViewport::COpenGLScene" ref="a40f91403e749cdbaee589054869c67a1" 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_scene.html">COpenGLScene</a><code> [friend]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

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

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

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

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

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

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

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

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

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

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

</div>
</div>
<a class="anchor" id="af17d3e4d7868cc613d87fac2a0b9849b"></a><!-- doxytag: member="mrpt::opengl::COpenGLViewport::m_background_color" ref="af17d3e4d7868cc613d87fac2a0b9849b" args="" -->
<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">TColorf</a> <a class="el" href="classmrpt_1_1opengl_1_1_c_open_g_l_viewport.html#af17d3e4d7868cc613d87fac2a0b9849b">mrpt::opengl::COpenGLViewport::m_background_color</a><code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>used only if m_custom_backgb_color </p>

<p>Definition at line <a class="el" href="_c_open_g_l_viewport_8h_source.html#l00309">309</a> of file <a class="el" href="_c_open_g_l_viewport_8h_source.html">COpenGLViewport.h</a>.</p>

</div>
</div>
<a class="anchor" id="a73ba4d5e25ada3393e9353c70b89bd4b"></a><!-- doxytag: member="mrpt::opengl::COpenGLViewport::m_borderWidth" ref="a73ba4d5e25ada3393e9353c70b89bd4b" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">uint32_t <a class="el" href="classmrpt_1_1opengl_1_1_c_open_g_l_viewport.html#a73ba4d5e25ada3393e9353c70b89bd4b">mrpt::opengl::COpenGLViewport::m_borderWidth</a><code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Default=0, the border around the viewport. </p>

<p>Definition at line <a class="el" href="_c_open_g_l_viewport_8h_source.html#l00305">305</a> of file <a class="el" href="_c_open_g_l_viewport_8h_source.html">COpenGLViewport.h</a>.</p>

</div>
</div>
<a class="anchor" id="aba9f98dbdb5b590b549b0d9125cf2e9d"></a><!-- doxytag: member="mrpt::opengl::COpenGLViewport::m_camera" ref="aba9f98dbdb5b590b549b0d9125cf2e9d" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classmrpt_1_1opengl_1_1_c_camera.html">opengl::CCamera</a> <a class="el" href="classmrpt_1_1opengl_1_1_c_open_g_l_viewport.html#aba9f98dbdb5b590b549b0d9125cf2e9d">mrpt::opengl::COpenGLViewport::m_camera</a><code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>The camera associated to the viewport. </p>

<p>Definition at line <a class="el" href="_c_open_g_l_viewport_8h_source.html#l00298">298</a> of file <a class="el" href="_c_open_g_l_viewport_8h_source.html">COpenGLViewport.h</a>.</p>

</div>
</div>
<a class="anchor" id="a8ed8b7c30170835f02a040f1d79b191c"></a><!-- doxytag: member="mrpt::opengl::COpenGLViewport::m_clip_max" ref="a8ed8b7c30170835f02a040f1d79b191c" 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_open_g_l_viewport.html#a8ed8b7c30170835f02a040f1d79b191c">mrpt::opengl::COpenGLViewport::m_clip_max</a><code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>The min/max clip depth distances (default: 0.1 - 10000) </p>

<p>Definition at line <a class="el" href="_c_open_g_l_viewport_8h_source.html#l00307">307</a> of file <a class="el" href="_c_open_g_l_viewport_8h_source.html">COpenGLViewport.h</a>.</p>

</div>
</div>
<a class="anchor" id="adc378a92a75237daf112001086254a99"></a><!-- doxytag: member="mrpt::opengl::COpenGLViewport::m_clip_min" ref="adc378a92a75237daf112001086254a99" 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_open_g_l_viewport.html#adc378a92a75237daf112001086254a99">mrpt::opengl::COpenGLViewport::m_clip_min</a><code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="_c_open_g_l_viewport_8h_source.html#l00307">307</a> of file <a class="el" href="_c_open_g_l_viewport_8h_source.html">COpenGLViewport.h</a>.</p>

</div>
</div>
<a class="anchor" id="a13e49b10c885c924681e75fbd760d872"></a><!-- doxytag: member="mrpt::opengl::COpenGLViewport::m_clonedViewport" ref="a13e49b10c885c924681e75fbd760d872" 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_open_g_l_viewport.html#a13e49b10c885c924681e75fbd760d872">mrpt::opengl::COpenGLViewport::m_clonedViewport</a><code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Only if m_isCloned=true. </p>

<p>Definition at line <a class="el" href="_c_open_g_l_viewport_8h_source.html#l00302">302</a> of file <a class="el" href="_c_open_g_l_viewport_8h_source.html">COpenGLViewport.h</a>.</p>

</div>
</div>
<a class="anchor" id="a6ef4427191f5906f8ac8220655d9e366"></a><!-- doxytag: member="mrpt::opengl::COpenGLViewport::m_custom_backgb_color" ref="a6ef4427191f5906f8ac8220655d9e366" 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_open_g_l_viewport.html#a6ef4427191f5906f8ac8220655d9e366">mrpt::opengl::COpenGLViewport::m_custom_backgb_color</a><code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="_c_open_g_l_viewport_8h_source.html#l00308">308</a> of file <a class="el" href="_c_open_g_l_viewport_8h_source.html">COpenGLViewport.h</a>.</p>

</div>
</div>
<a class="anchor" id="ac1e33c780adb424840e27dc1391a43e4"></a><!-- doxytag: member="mrpt::opengl::COpenGLViewport::m_imageview_img" ref="ac1e33c780adb424840e27dc1391a43e4" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="structmrpt_1_1utils_1_1_c_image_ptr.html">mrpt::utils::CImagePtr</a> <a class="el" href="classmrpt_1_1opengl_1_1_c_open_g_l_viewport.html#ac1e33c780adb424840e27dc1391a43e4">mrpt::opengl::COpenGLViewport::m_imageview_img</a><code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>The image to display, after calling <em><a class="el" href="classmrpt_1_1opengl_1_1_c_open_g_l_viewport.html#ae5269f1a8f22f82937faf4fb8c544274" title="Set this viewport into &quot;image view&quot;-mode, where an image is efficiently drawn (fitting the viewport a...">setImageView()</a></em> </p>

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

</div>
</div>
<a class="anchor" id="ad49c3218eb577667fa1668d206c294ab"></a><!-- doxytag: member="mrpt::opengl::COpenGLViewport::m_isCloned" ref="ad49c3218eb577667fa1668d206c294ab" 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_open_g_l_viewport.html#ad49c3218eb577667fa1668d206c294ab">mrpt::opengl::COpenGLViewport::m_isCloned</a><code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Set by setCloneView. </p>

<p>Definition at line <a class="el" href="_c_open_g_l_viewport_8h_source.html#l00300">300</a> of file <a class="el" href="_c_open_g_l_viewport_8h_source.html">COpenGLViewport.h</a>.</p>

</div>
</div>
<a class="anchor" id="a6cf3666e05514f37b020f0a1c86182e5"></a><!-- doxytag: member="mrpt::opengl::COpenGLViewport::m_isClonedCamera" ref="a6cf3666e05514f37b020f0a1c86182e5" 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_open_g_l_viewport.html#a6cf3666e05514f37b020f0a1c86182e5">mrpt::opengl::COpenGLViewport::m_isClonedCamera</a><code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Set by setCloneCamera. </p>

<p>Definition at line <a class="el" href="_c_open_g_l_viewport_8h_source.html#l00301">301</a> of file <a class="el" href="_c_open_g_l_viewport_8h_source.html">COpenGLViewport.h</a>.</p>

</div>
</div>
<a class="anchor" id="a9e99d45ce632f06a20cd60b3c20af4f8"></a><!-- doxytag: member="mrpt::opengl::COpenGLViewport::m_isImageView" ref="a9e99d45ce632f06a20cd60b3c20af4f8" 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_open_g_l_viewport.html#a9e99d45ce632f06a20cd60b3c20af4f8">mrpt::opengl::COpenGLViewport::m_isImageView</a><code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Set by setImageView. </p>

<p>Definition at line <a class="el" href="_c_open_g_l_viewport_8h_source.html#l00310">310</a> of file <a class="el" href="_c_open_g_l_viewport_8h_source.html">COpenGLViewport.h</a>.</p>

</div>
</div>
<a class="anchor" id="a87696a7fe72faa6d72c91bd0fcc87424"></a><!-- doxytag: member="mrpt::opengl::COpenGLViewport::m_isTransparent" ref="a87696a7fe72faa6d72c91bd0fcc87424" 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_open_g_l_viewport.html#a87696a7fe72faa6d72c91bd0fcc87424">mrpt::opengl::COpenGLViewport::m_isTransparent</a><code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Whether to clear color buffer. </p>

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

</div>
</div>
<a class="anchor" id="adb2e3b9a3ae4e7edeb7b8db05eec903b"></a><!-- doxytag: member="mrpt::opengl::COpenGLViewport::m_lastProjMat" ref="adb2e3b9a3ae4e7edeb7b8db05eec903b" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="structmrpt_1_1opengl_1_1_c_open_g_l_viewport_1_1_t_last_projective_matrix_info.html">TLastProjectiveMatrixInfo</a> <a class="el" href="classmrpt_1_1opengl_1_1_c_open_g_l_viewport.html#adb2e3b9a3ae4e7edeb7b8db05eec903b">mrpt::opengl::COpenGLViewport::m_lastProjMat</a><code> [mutable, protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Info updated with each "render()" and used in "get3DRayForPixelCoord". </p>

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

</div>
</div>
<a class="anchor" id="addc0e74b06c726f41111ed29b24f73fa"></a><!-- doxytag: member="mrpt::opengl::COpenGLViewport::m_name" ref="addc0e74b06c726f41111ed29b24f73fa" 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_open_g_l_viewport.html#addc0e74b06c726f41111ed29b24f73fa">mrpt::opengl::COpenGLViewport::m_name</a><code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>The viewport's name. </p>

<p>Definition at line <a class="el" href="_c_open_g_l_viewport_8h_source.html#l00303">303</a> of file <a class="el" href="_c_open_g_l_viewport_8h_source.html">COpenGLViewport.h</a>.</p>

</div>
</div>
<a class="anchor" id="a1579ad9a562668cefc713a00d029b410"></a><!-- doxytag: member="mrpt::opengl::COpenGLViewport::m_objects" ref="a1579ad9a562668cefc713a00d029b410" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="namespacemrpt_1_1opengl.html#a2a98ed1cbee2bf526d35d6d3cc8ae9f6">opengl::CListOpenGLObjects</a> <a class="el" href="classmrpt_1_1opengl_1_1_c_open_g_l_viewport.html#a1579ad9a562668cefc713a00d029b410">mrpt::opengl::COpenGLViewport::m_objects</a><code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>The list of objects that comprise the 3D scene. </p>
<p>Objects are automatically deleted when calling "clear" or in the destructor. </p>

<p>Definition at line <a class="el" href="_c_open_g_l_viewport_8h_source.html#l00332">332</a> of file <a class="el" href="_c_open_g_l_viewport_8h_source.html">COpenGLViewport.h</a>.</p>

</div>
</div>
<a class="anchor" id="a91e204f5d7dcc375c060ba4e9ac47e6f"></a><!-- doxytag: member="mrpt::opengl::COpenGLViewport::m_parent" ref="a91e204f5d7dcc375c060ba4e9ac47e6f" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="structmrpt_1_1utils_1_1safe__ptr.html">utils::safe_ptr</a>&lt;<a class="el" href="classmrpt_1_1opengl_1_1_c_open_g_l_scene.html">COpenGLScene</a>&gt; <a class="el" href="classmrpt_1_1opengl_1_1_c_open_g_l_viewport.html#a91e204f5d7dcc375c060ba4e9ac47e6f">mrpt::opengl::COpenGLViewport::m_parent</a><code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>The scene that contains this viewport. </p>

<p>Definition at line <a class="el" href="_c_open_g_l_viewport_8h_source.html#l00299">299</a> of file <a class="el" href="_c_open_g_l_viewport_8h_source.html">COpenGLViewport.h</a>.</p>

</div>
</div>
<a class="anchor" id="aa8caea01cc0c4f8ccee82cd3be5cecaa"></a><!-- doxytag: member="mrpt::opengl::COpenGLViewport::m_view_height" ref="aa8caea01cc0c4f8ccee82cd3be5cecaa" 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_open_g_l_viewport.html#aa8caea01cc0c4f8ccee82cd3be5cecaa">mrpt::opengl::COpenGLViewport::m_view_height</a><code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>The viewport position [0,1]. </p>

<p>Definition at line <a class="el" href="_c_open_g_l_viewport_8h_source.html#l00306">306</a> of file <a class="el" href="_c_open_g_l_viewport_8h_source.html">COpenGLViewport.h</a>.</p>

</div>
</div>
<a class="anchor" id="a0c686ae2c6ae1f157f3d784f204a6896"></a><!-- doxytag: member="mrpt::opengl::COpenGLViewport::m_view_width" ref="a0c686ae2c6ae1f157f3d784f204a6896" 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_open_g_l_viewport.html#a0c686ae2c6ae1f157f3d784f204a6896">mrpt::opengl::COpenGLViewport::m_view_width</a><code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="_c_open_g_l_viewport_8h_source.html#l00306">306</a> of file <a class="el" href="_c_open_g_l_viewport_8h_source.html">COpenGLViewport.h</a>.</p>

</div>
</div>
<a class="anchor" id="a05390b2221ab1d8a8101d36c15f4aff9"></a><!-- doxytag: member="mrpt::opengl::COpenGLViewport::m_view_x" ref="a05390b2221ab1d8a8101d36c15f4aff9" 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_open_g_l_viewport.html#a05390b2221ab1d8a8101d36c15f4aff9">mrpt::opengl::COpenGLViewport::m_view_x</a><code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="_c_open_g_l_viewport_8h_source.html#l00306">306</a> of file <a class="el" href="_c_open_g_l_viewport_8h_source.html">COpenGLViewport.h</a>.</p>

</div>
</div>
<a class="anchor" id="a94b263014752cc73a5abccf9e1efae6c"></a><!-- doxytag: member="mrpt::opengl::COpenGLViewport::m_view_y" ref="a94b263014752cc73a5abccf9e1efae6c" 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_open_g_l_viewport.html#a94b263014752cc73a5abccf9e1efae6c">mrpt::opengl::COpenGLViewport::m_view_y</a><code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="_c_open_g_l_viewport_8h_source.html#l00306">306</a> of file <a class="el" href="_c_open_g_l_viewport_8h_source.html">COpenGLViewport.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>